diff --git a/dist/keen-ui.css b/dist/keen-ui.css
index 23acbfcd..85878df4 100644
--- a/dist/keen-ui.css
+++ b/dist/keen-ui.css
@@ -1,5 +1,5 @@
/*!
- * Keen UI v0.8.8 (https://github.com/JosephusPaye/keen-ui)
+ * Keen UI v0.8.9 (https://github.com/JosephusPaye/keen-ui)
* (c) 2016 Josephus Paye II
* Released under the MIT License.
*/
@@ -8,6 +8,7 @@
font-size: 15px;
line-height: 1.4em;
overflow: hidden;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
width: 100%;
@@ -20,8 +21,9 @@
text-decoration: underline;
}
.ui-alert .ui-alert-close-button {
- -ms-flex-negative: 0;
- flex-shrink: 0;
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
width: 32px;
height: 32px;
margin-right: -8px;
@@ -42,12 +44,15 @@ body[modality="keyboard"] .ui-alert .ui-alert-close-button:focus {
width: 100%;
min-height: 52px;
padding: 12px 16px;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-direction: row;
- flex-direction: row;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
}
.ui-alert-body.error {
background-color: rgba(244,67,54,0.12);
@@ -86,13 +91,15 @@ body[modality="keyboard"] .ui-alert .ui-alert-close-button:focus {
color: #ff9800;
}
.ui-alert-icon {
- -ms-flex-negative: 0;
- flex-shrink: 0;
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
margin-right: 12px;
}
.ui-alert-text {
- -ms-flex-positive: 1;
- flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
color: rgba(0,0,0,0.75);
}
.ui-alert-toggle-transition {
@@ -144,12 +151,15 @@ body[modality="keyboard"] .ui-alert .ui-alert-close-button:focus {
position: relative;
overflow: hidden;
-webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000);
+ display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
- -ms-flex-align: center;
- align-items: center;
- -ms-flex-pack: center;
- justify-content: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
width: 40px;
height: 40px;
border-radius: 50%;
@@ -356,30 +366,31 @@ body[modality="keyboard"] .ui-icon-button-clear.color-black:focus {
max-width: 272px;
max-height: 100vh;
overflow-y: auto;
+ overflow-x: hidden;
}
.ui-menu.has-secondary-text {
min-width: 208px;
max-width: 304px;
}
-.ui-menu-item {
+.ui-menu-option {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
cursor: default;
}
-.ui-menu-item-text {
+.ui-menu-option-text {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
-.ui-menu-item {
+.ui-menu-option {
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
position: relative;
display: block;
height: 40px;
}
-.ui-menu-item.divider {
+.ui-menu-option.divider {
display: block;
width: 100%;
margin: 6px 0;
@@ -387,12 +398,7 @@ body[modality="keyboard"] .ui-icon-button-clear.color-black:focus {
height: 1px;
background-color: rgba(0,0,0,0.08);
}
-.ui-menu-item:not(.divider) {
- display: -ms-flexbox;
- display: flex;
- -ms-flex-align: center;
- align-items: center;
- padding: 8px 16px;
+.ui-menu-option:not(.divider) {
width: 100%;
text-decoration: none;
color: rgba(0,0,0,0.87);
@@ -400,34 +406,45 @@ body[modality="keyboard"] .ui-icon-button-clear.color-black:focus {
font-weight: normal;
outline: none;
}
-.ui-menu-item:not(.divider):hover:not(.disabled) {
+.ui-menu-option:not(.divider):hover:not(.disabled) {
background-color: rgba(0,0,0,0.06);
}
-body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
+body[modality="keyboard"] .ui-menu-option:not(.divider):focus {
background-color: rgba(0,0,0,0.1);
}
-.ui-menu-item:not(.divider).disabled {
+.ui-menu-option:not(.divider).disabled {
opacity: 0.5;
color: rgba(0,0,0,0.54);
}
-.ui-menu-item:not(.divider).disabled .ui-menu-item-secondary-text {
+.ui-menu-option:not(.divider).disabled .ui-menu-option-secondary-text {
color: rgba(0,0,0,0.54);
}
-.ui-menu-item:not(.divider):not(.disabled) {
+.ui-menu-option:not(.divider):not(.disabled) {
cursor: pointer;
}
-.ui-menu-item-icon {
- margin-right: 12px;
+.ui-menu-option-content.ui-menu-default {
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ padding: 8px 16px;
+}
+.ui-menu-option-icon {
+ margin-right: 16px;
font-size: 18px;
color: rgba(0,0,0,0.54);
}
-.ui-menu-item-text {
- -ms-flex-positive: 1;
- flex-grow: 1;
+.ui-menu-option-text {
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
}
-.ui-menu-item-secondary-text {
- -ms-flex-negative: 0;
- flex-shrink: 0;
+.ui-menu-option-secondary-text {
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
margin-left: 4px;
font-size: 13px;
color: rgba(0,0,0,0.38);
@@ -456,14 +473,18 @@ body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
background-color: currentColor;
background-clip: padding-box;
opacity: 0.2;
- -ms-transform: scale(0);
- transform: scale(0);
+ -webkit-transform: scale(0);
+ -ms-transform: scale(0);
+ transform: scale(0);
+ transition: opacity 0.4s ease-out, -webkit-transform 0.4s ease-out;
transition: transform 0.4s ease-out, opacity 0.4s ease-out;
+ transition: transform 0.4s ease-out, opacity 0.4s ease-out, -webkit-transform 0.4s ease-out;
}
.ui-ripple-ink .ripple.held {
opacity: 0.4;
- -ms-transform: scale(1);
- transform: scale(1);
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
}
.ui-ripple-ink .ripple.done {
opacity: 0 !important;
@@ -478,8 +499,9 @@ body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
position: relative;
}
.ui-progress-circular .ui-progress-circular-determinate {
- -ms-transform: rotate(270deg);
- transform: rotate(270deg);
+ -webkit-transform: rotate(270deg);
+ -ms-transform: rotate(270deg);
+ transform: rotate(270deg);
}
.ui-progress-circular .ui-progress-circular-determinate .ui-progress-circular-determinate-path {
stroke-dashoffset: 0;
@@ -499,9 +521,11 @@ body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
stroke: #fff;
}
.ui-progress-circular .ui-progress-circular-indeterminate {
- animation: ui-progress-circular-rotate 1.4s linear infinite;
- -ms-transform-origin: center center;
- transform-origin: center center;
+ -webkit-animation: ui-progress-circular-rotate 1.4s linear infinite;
+ animation: ui-progress-circular-rotate 1.4s linear infinite;
+ -webkit-transform-origin: center center;
+ -ms-transform-origin: center center;
+ transform-origin: center center;
width: 100%;
height: 100%;
margin: auto;
@@ -515,10 +539,12 @@ body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
stroke-dasharray: 1, 200;
stroke-dashoffset: 0;
stroke-linecap: round;
- animation: ui-progress-circular-dash 1.4s ease-in-out infinite;
+ -webkit-animation: ui-progress-circular-dash 1.4s ease-in-out infinite;
+ animation: ui-progress-circular-dash 1.4s ease-in-out infinite;
}
.ui-progress-circular .ui-progress-circular-indeterminate-path.multi-color {
- animation: ui-progress-circular-dash 1.4s ease-in-out infinite, ui-progress-circular-color 6s ease-in-out infinite;
+ -webkit-animation: ui-progress-circular-dash 1.4s ease-in-out infinite, ui-progress-circular-color 6s ease-in-out infinite;
+ animation: ui-progress-circular-dash 1.4s ease-in-out infinite, ui-progress-circular-color 6s ease-in-out infinite;
}
.ui-progress-circular .ui-progress-circular-indeterminate-path.primary {
stroke: #2196f3;
@@ -534,21 +560,46 @@ body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
}
.ui-progress-circular-toggle-transition {
opacity: 1;
- -ms-transform: scale(1);
- transform: scale(1);
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
transition-duration: 0.3s;
transition-timing-function: ease;
+ transition-property: opacity, -webkit-transform;
transition-property: transform, opacity;
+ transition-property: transform, opacity, -webkit-transform;
}
.ui-progress-circular-toggle-enter,
.ui-progress-circular-toggle-leave {
opacity: 0;
- -ms-transform: scale(0);
- transform: scale(0);
+ -webkit-transform: scale(0);
+ -ms-transform: scale(0);
+ transform: scale(0);
+}
+@-webkit-keyframes ui-progress-circular-rotate {
+ 100% {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
}
@keyframes ui-progress-circular-rotate {
100% {
- transform: rotate(360deg);
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg);
+ }
+}
+@-webkit-keyframes ui-progress-circular-dash {
+ 0% {
+ stroke-dasharray: 1, 200;
+ stroke-dashoffset: 0;
+ }
+ 50% {
+ stroke-dasharray: 89, 200;
+ stroke-dashoffset: -35px;
+ }
+ 100% {
+ stroke-dasharray: 89, 200;
+ stroke-dashoffset: -124px;
}
}
@keyframes ui-progress-circular-dash {
@@ -565,6 +616,20 @@ body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
stroke-dashoffset: -124px;
}
}
+@-webkit-keyframes ui-progress-circular-color {
+ 100%, 0% {
+ stroke: #f44336;
+ }
+ 40% {
+ stroke: #2196f3;
+ }
+ 66% {
+ stroke: #4caf50;
+ }
+ 80%, 90% {
+ stroke: #ff9800;
+ }
+}
@keyframes ui-progress-circular-color {
100%, 0% {
stroke: #f44336;
@@ -607,10 +672,12 @@ body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
z-index: 70;
}
.tooltip-element.ui-tooltip-theme .tooltip-content {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
position: relative;
border-radius: 2px;
padding: 0 8px;
@@ -660,12 +727,14 @@ body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
}
.ui-autocomplete {
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
position: relative;
margin-bottom: 12px;
- -ms-flex-align: start;
- align-items: flex-start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
}
.ui-autocomplete:hover:not(.disabled) .ui-autocomplete-label-text {
color: rgba(0,0,0,0.65);
@@ -688,8 +757,9 @@ body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
top: 22px;
}
.ui-autocomplete.icon-right .ui-autocomplete-icon-wrapper {
- -ms-flex-order: 1;
- order: 1;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
margin-left: 8px;
margin-right: 0;
}
@@ -719,8 +789,9 @@ body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
}
.ui-autocomplete-icon-wrapper {
height: 24px;
- -ms-flex-negative: 0;
- flex-shrink: 0;
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
margin-right: 12px;
padding-top: 4px;
}
@@ -728,8 +799,9 @@ body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
color: rgba(0,0,0,0.54);
}
.ui-autocomplete-content {
- -ms-flex-positive: 1;
- flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
}
.ui-autocomplete-label-text {
font-size: 14px;
@@ -828,10 +900,12 @@ body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
background-color: rgba(0,0,0,0.1);
}
.ui-autocomplete-image {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
}
.ui-autocomplete-image .image {
width: 32px;
@@ -879,12 +953,15 @@ body[modality="keyboard"] .ui-menu-item:not(.divider):focus {
outline: none;
border: none;
position: relative;
+ display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
- -ms-flex-align: center;
- align-items: center;
- -ms-flex-pack: center;
- justify-content: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: default;
@@ -913,8 +990,9 @@ body[modality="keyboard"] .ui-button:focus {
position: absolute;
top: 50%;
left: 50%;
- -ms-transform: translate(-50%, -50%);
- transform: translate(-50%, -50%);
+ -webkit-transform: translate(-50%, -50%);
+ -ms-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
}
.ui-button-raised {
box-shadow: 0 0 2px rgba(0,0,0,0.12), 0 2px 2px rgba(0,0,0,0.2);
@@ -1067,18 +1145,22 @@ body[modality="keyboard"] .ui-button-flat.color-default:focus {
margin-left: -4px;
}
.ui-button-icon.position-right {
- -ms-flex-order: 1;
- order: 1;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
margin-left: 4px;
margin-right: -4px;
}
.ui-button-content {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
- -ms-flex-pack: center;
- justify-content: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
}
.ui-button-content.invisible {
visibility: hidden;
@@ -1089,18 +1171,22 @@ body[modality="keyboard"] .ui-button-flat.color-default:focus {
margin-left: 1px;
}
.ui-button-group {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-wrap: wrap;
- flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
}
.ui-checkbox {
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-weight: normal;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
margin: 0;
margin-bottom: 12px;
cursor: default;
@@ -1130,8 +1216,9 @@ body[modality="keyboard"] .ui-button-flat.color-default:focus {
.ui-checkbox.label-left .ui-checkbox-label-text {
margin-left: 0;
margin-right: auto;
- -ms-flex-order: -1;
- order: -1;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
}
.ui-checkbox.disabled .ui-checkbox-label-text {
color: rgba(0,0,0,0.38);
@@ -1178,8 +1265,9 @@ body[modality="keyboard"] .ui-button-flat.color-default:focus {
content: "";
width: 6px;
height: 13px;
- -ms-transform: rotate(45deg);
- transform: rotate(45deg);
+ -webkit-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
opacity: 0;
transition: opacity 0.3s ease;
transition-delay: 0.1s;
@@ -1191,8 +1279,9 @@ body[modality="keyboard"] .ui-button-flat.color-default:focus {
}
body[modality="keyboard"] .ui-checkbox-input:focus + .ui-checkbox-checkmark .ui-checkbox-focus-ring {
opacity: 1;
- -ms-transform: scale(1);
- transform: scale(1);
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
}
.ui-checkbox-focus-ring {
position: absolute;
@@ -1202,11 +1291,14 @@ body[modality="keyboard"] .ui-checkbox-input:focus + .ui-checkbox-checkmark .ui-
margin-left: -14px;
margin-top: -14px;
border-radius: 50%;
+ transition-property: opacity, -webkit-transform;
transition-property: opacity, transform;
+ transition-property: opacity, transform, -webkit-transform;
transition-duration: 0.2s;
transition-timing-function: ease;
- -ms-transform: scale(0);
- transform: scale(0);
+ -webkit-transform: scale(0);
+ -ms-transform: scale(0);
+ transform: scale(0);
opacity: 0;
}
.ui-collapsible-header-content {
@@ -1227,13 +1319,15 @@ body[modality="keyboard"] .ui-checkbox-input:focus + .ui-checkbox-checkmark .ui-
line-height: 1;
text-align: left;
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
height: 0;
min-height: 48px;
padding: 8px 16px;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: pointer;
@@ -1330,20 +1424,25 @@ body.ui-modal-open {
overflow-y: auto;
}
.ui-modal-header {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
padding: 24px 24px 8px;
}
.ui-modal-header .ui-modal-header-text {
- -ms-flex-positive: 1;
- flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
font-size: 22px;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
margin: 0;
font-weight: normal;
}
@@ -1373,15 +1472,18 @@ body[modality="keyboard"] .ui-modal-header .ui-modal-close-button:focus .ui-icon
}
.ui-modal-footer,
.ui-modal-footer [slot] {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-pack: end;
- justify-content: flex-end;
+ -webkit-justify-content: flex-end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
}
.ui-modal-footer .ui-modal-footer-left,
.ui-modal-footer [slot].ui-modal-footer-left {
- -ms-flex-pack: start;
- justify-content: flex-start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
}
.ui-modal-footer .ui-button {
margin-left: 8px;
@@ -1399,20 +1501,24 @@ body[modality="keyboard"] .ui-modal-header .ui-modal-close-button:focus .ui-icon
}
.ui-modal-scale-enter .ui-modal-container,
.ui-modal-scale-leave .ui-modal-container {
- -ms-transform: scale(1.1);
- transform: scale(1.1);
+ -webkit-transform: scale(1.1);
+ -ms-transform: scale(1.1);
+ transform: scale(1.1);
}
.ui-fab {
position: relative;
outline: none;
border: none;
z-index: 30;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
- -ms-flex-pack: center;
- justify-content: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
border-radius: 50%;
box-shadow: 0 2px 5px 0 rgba(0,0,0,0.2), 0 2px 10px 0 rgba(0,0,0,0.16);
transition: box-shadow 0.3s ease;
@@ -1488,7 +1594,8 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
left: 0;
width: 100%;
background-color: #159756;
- animation: ui-preloader-background linear 3s infinite;
+ -webkit-animation: ui-preloader-background linear 3s infinite;
+ animation: ui-preloader-background linear 3s infinite;
transition-property: opacity, padding-top;
transition-duration: 0.3s;
transition-timing-function: ease;
@@ -1506,7 +1613,8 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
width: 0;
height: 3px;
background: #afa;
- animation: ui-preloader-front linear 3s infinite;
+ -webkit-animation: ui-preloader-front linear 3s infinite;
+ animation: ui-preloader-front linear 3s infinite;
content: '';
}
.ui-preloader-progressbar::before {
@@ -1515,6 +1623,20 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
.ui-preloader-progressbar::after {
left: 50%;
}
+@-webkit-keyframes ui-preloader-background {
+ 0%, 24.9% {
+ background-color: #159756;
+ }
+ 25%, 49.9% {
+ background-color: #da4733;
+ }
+ 50%, 74.9% {
+ background-color: #3b78e7;
+ }
+ 75%, 100% {
+ background-color: #fdba2c;
+ }
+}
@keyframes ui-preloader-background {
0%, 24.9% {
background-color: #159756;
@@ -1529,6 +1651,40 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
background-color: #fdba2c;
}
}
+@-webkit-keyframes ui-preloader-front {
+ 0% {
+ width: 0;
+ background-color: #da4733;
+ }
+ 24.9% {
+ width: 50%;
+ background-color: #da4733;
+ }
+ 25% {
+ width: 0;
+ background-color: #3b78e7;
+ }
+ 49.9% {
+ width: 50%;
+ background-color: #3b78e7;
+ }
+ 50% {
+ width: 0;
+ background-color: #fdba2c;
+ }
+ 74.9% {
+ width: 50%;
+ background-color: #fdba2c;
+ }
+ 75% {
+ width: 0%;
+ background-color: #159756;
+ }
+ 100% {
+ width: 50%;
+ background-color: #159756;
+ }
+}
@keyframes ui-preloader-front {
0% {
width: 0;
@@ -1616,7 +1772,8 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
bottom: 0;
top: 0;
left: 0;
- animation: ui-progress-linear-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
+ -webkit-animation: ui-progress-linear-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
+ animation: ui-progress-linear-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
}
.ui-progress-linear-indeterminate:after {
background-color: inherit;
@@ -1626,14 +1783,30 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
bottom: 0;
top: 0;
left: 0;
- animation: ui-progress-linear-indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
- animation-delay: 1.15s;
+ -webkit-animation: ui-progress-linear-indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
+ animation: ui-progress-linear-indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
+ -webkit-animation-delay: 1.15s;
+ animation-delay: 1.15s;
}
.ui-progress-linear-toggle-leave,
.ui-progress-linear-toggle-enter {
opacity: 0;
height: 0;
}
+@-webkit-keyframes ui-progress-linear-indeterminate {
+ 0% {
+ left: -35%;
+ right: 100%;
+ }
+ 60% {
+ left: 100%;
+ right: -90%;
+ }
+ 100% {
+ left: 100%;
+ right: -90%;
+ }
+}
@keyframes ui-progress-linear-indeterminate {
0% {
left: -35%;
@@ -1648,6 +1821,20 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
right: -90%;
}
}
+@-webkit-keyframes ui-progress-linear-indeterminate-short {
+ 0% {
+ left: -200%;
+ right: 100%;
+ }
+ 60% {
+ left: 107%;
+ right: -8%;
+ }
+ 100% {
+ left: 107%;
+ right: -8%;
+ }
+}
@keyframes ui-progress-linear-indeterminate-short {
0% {
left: -200%;
@@ -1664,10 +1851,12 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
}
.ui-radio {
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
height: 20px;
font-size: 15px;
margin: 0;
@@ -1676,8 +1865,9 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
border: 2px solid rgba(0,0,0,0.54);
}
.ui-radio.label-left .ui-radio-label-text {
- -ms-flex-order: -1;
- order: -1;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
margin-right: auto;
margin-left: 0;
}
@@ -1711,8 +1901,9 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
}
.ui-radio-input:checked ~ .ui-radio-inner-dot {
background-color: #2196f3;
- -ms-transform: scale(0.5);
- transform: scale(0.5);
+ -webkit-transform: scale(0.5);
+ -ms-transform: scale(0.5);
+ transform: scale(0.5);
opacity: 1;
z-index: 0;
}
@@ -1737,9 +1928,12 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
background-color: rgba(0,0,0,0.38);
opacity: 0;
z-index: -1;
- -ms-transform: scale(1.2);
- transform: scale(1.2);
+ -webkit-transform: scale(1.2);
+ -ms-transform: scale(1.2);
+ transform: scale(1.2);
+ transition-property: opacity, background-color, -webkit-transform;
transition-property: transform, opacity, background-color;
+ transition-property: transform, opacity, background-color, -webkit-transform;
transition-duration: 0.3s;
}
.ui-radio-label-text {
@@ -1765,8 +1959,9 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
.ui-radio-group.vertical .ui-radio-group-options-wrapper {
height: auto;
margin-top: 8px;
- -ms-flex-direction: column;
- flex-direction: column;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
}
.ui-radio-group.vertical .ui-radio-group-options-wrapper .ui-radio {
width: 100%;
@@ -1788,11 +1983,13 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
transition: color 0.1s ease;
}
.ui-radio-group-options-wrapper {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
height: 32px;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
}
.ui-radio-group-feedback {
height: 20px;
@@ -1808,8 +2005,9 @@ body[modality="keyboard"] .ui-fab.color-accent:focus {
.ui-rating {
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
outline: none;
- -ms-flex-direction: column;
- flex-direction: column;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
}
.ui-rating:hover:not(.disabled) .ui-rating-label {
color: rgba(0,0,0,0.65);
@@ -1851,6 +2049,7 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
transition: color 0.1s ease;
}
.ui-rating-icons-wrapper {
+ display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
}
@@ -1883,10 +2082,12 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
color: rgba(0,0,0,0.38);
}
.ui-rating-preview {
+ display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
- -ms-flex-preferred-size: 0;
- flex-basis: 0;
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
width: auto;
}
.ui-rating-preview .ui-rating-icon-icon.selected {
@@ -1894,12 +2095,14 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
}
.ui-select {
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
position: relative;
margin-bottom: 12px;
- -ms-flex-align: start;
- align-items: flex-start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
outline: none;
}
.ui-select:hover:not(.disabled) .ui-select-label-text {
@@ -1926,8 +2129,9 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
top: 20px;
}
.ui-select.icon-right .ui-select-icon-wrapper {
- -ms-flex-order: 1;
- order: 1;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
margin-left: 8px;
margin-right: 0;
}
@@ -1956,8 +2160,9 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
}
.ui-select-icon-wrapper {
height: 24px;
- -ms-flex-negative: 0;
- flex-shrink: 0;
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
margin-right: 12px;
padding-top: 4px;
}
@@ -1965,8 +2170,9 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
color: rgba(0,0,0,0.54);
}
.ui-select-content {
- -ms-flex-positive: 1;
- flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
}
.ui-select-label {
outline: none;
@@ -1988,10 +2194,12 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
outline: none;
border: none;
padding: 0;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
width: 100%;
height: 0;
min-height: 32px;
@@ -2006,8 +2214,9 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
}
.ui-select-value {
- -ms-flex-positive: 1;
- flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
line-height: 1.4;
}
.ui-select-value.placeholder {
@@ -2105,10 +2314,12 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
text-overflow: ellipsis;
}
.ui-select-option {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
cursor: pointer;
overflow: hidden;
@@ -2128,8 +2339,10 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
color: #fff;
}
.ui-select-option-content {
- -ms-flex-positive: 1;
- flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
max-height: 42px;
@@ -2142,15 +2355,18 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
margin-right: 8px;
}
.ui-select-image {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
}
.ui-select-item-text {
width: 0;
- -ms-flex-positive: 1;
- flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
}
.ui-select-item-image {
width: 32px;
@@ -2161,6 +2377,7 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
border-radius: 50%;
}
.ui-slider {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
position: relative;
@@ -2168,21 +2385,24 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
width: 100%;
}
.ui-slider:hover:not(.disabled) .ui-slider-thumb {
- -ms-transform: scale(1.1);
- transform: scale(1.1);
+ -webkit-transform: scale(1.1);
+ -ms-transform: scale(1.1);
+ transform: scale(1.1);
}
.ui-slider:hover:not(.disabled) .ui-slider-label {
color: rgba(0,0,0,0.65);
}
.ui-slider:focus:not(.disabled) .ui-slider-thumb,
.ui-slider.dragging:not(.disabled) .ui-slider-thumb {
- -ms-transform: scale(1.1);
- transform: scale(1.1);
+ -webkit-transform: scale(1.1);
+ -ms-transform: scale(1.1);
+ transform: scale(1.1);
}
.ui-slider:focus:not(.disabled) .ui-slider-focus-ring,
.ui-slider.dragging:not(.disabled) .ui-slider-focus-ring {
- -ms-transform: scale(1);
- transform: scale(1);
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
}
.ui-slider.active:not(.disabled) .ui-slider-label,
.ui-slider.active:not(.disabled) .ui-slider-icon {
@@ -2205,18 +2425,21 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
cursor: pointer;
}
.ui-slider-wrapper {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
position: relative;
width: 100%;
height: 38px;
}
.ui-slider-icon-wrapper {
height: 24px;
- -ms-flex-negative: 0;
- flex-shrink: 0;
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
margin-right: 12px;
padding-top: 7px;
}
@@ -2224,13 +2447,16 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
color: rgba(0,0,0,0.54);
}
.ui-slider-content {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-direction: column;
- flex-direction: column;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
position: relative;
- -ms-flex-positive: 1;
- flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
}
.ui-slider-label {
font-size: 14px;
@@ -2257,12 +2483,15 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
background-color: #2196f3;
}
.ui-slider-thumb-container {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
- -ms-flex-pack: center;
- justify-content: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
position: absolute;
top: 0;
left: 0;
@@ -2271,19 +2500,25 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
height: 38px;
}
.ui-slider-thumb {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
- -ms-flex-pack: center;
- justify-content: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
width: 16px;
height: 16px;
border-radius: 50%;
background-color: #2196f3;
+ transition: -webkit-transform 0.2s linear;
transition: transform 0.2s linear;
- -ms-transform: scale(1);
- transform: scale(1);
+ transition: transform 0.2s linear, -webkit-transform 0.2s linear;
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
}
.ui-slider-focus-ring {
position: absolute;
@@ -2293,16 +2528,21 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
height: 38px;
border-radius: 50%;
background-color: rgba(33,150,243,0.38);
+ transition: -webkit-transform 0.2s ease;
transition: transform 0.2s ease;
- -ms-transform: scale(0);
- transform: scale(0);
+ transition: transform 0.2s ease, -webkit-transform 0.2s ease;
+ -webkit-transform: scale(0);
+ -ms-transform: scale(0);
+ transform: scale(0);
}
.ui-snackbar {
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+ display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
min-width: 288px;
max-width: 568px;
min-height: 48px;
@@ -2331,7 +2571,9 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
background-color: rgba(255,255,255,0.05);
}
.ui-snackbar-toggle-transition {
+ transition: -webkit-transform 0.3s ease;
transition: transform 0.3s ease;
+ transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.ui-snackbar-toggle-transition .ui-snackbar-text,
.ui-snackbar-toggle-transition .ui-snackbar-action {
@@ -2340,8 +2582,9 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
}
.ui-snackbar-toggle-enter,
.ui-snackbar-toggle-leave {
- -ms-transform: translateY(84px);
- transform: translateY(84px);
+ -webkit-transform: translateY(84px);
+ -ms-transform: translateY(84px);
+ transform: translateY(84px);
}
.ui-snackbar-toggle-enter .ui-snackbar-text,
.ui-snackbar-toggle-leave .ui-snackbar-text,
@@ -2362,10 +2605,12 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
.ui-snackbar-container.position-center {
left: 8px;
right: 8px;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-pack: center;
- justify-content: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
}
.ui-snackbar-container .ui-snackbar {
margin: 4px 4px 12px 4px;
@@ -2374,10 +2619,12 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
position: relative;
height: 32px;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
}
.ui-switch.checked .ui-switch-track {
background-color: rgba(33,150,243,0.5);
@@ -2393,8 +2640,9 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
.ui-switch.label-left .ui-switch-label-text {
margin-left: 0;
margin-right: auto;
- -ms-flex-order: -1;
- order: -1;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
}
.ui-switch.disabled .ui-switch-label-text {
color: rgba(0,0,0,0.38);
@@ -2443,8 +2691,9 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
width: 42px;
height: 42px;
background-color: rgba(0,0,0,0.1);
- -ms-transform: scale(0);
- transform: scale(0);
+ -webkit-transform: scale(0);
+ -ms-transform: scale(0);
+ transform: scale(0);
opacity: 0;
transition: all 0.2s ease;
}
@@ -2453,8 +2702,9 @@ body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled {
opacity: 0;
}
body[modality="keyboard"] .ui-switch-input:focus ~ .ui-switch-focus-ring {
- -ms-transform: scale(1);
- transform: scale(1);
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
opacity: 1;
}
.ui-switch-label-text {
@@ -2469,8 +2719,9 @@ body[modality="keyboard"] .ui-switch-input:focus ~ .ui-switch-focus-ring {
margin-bottom: 24px;
}
.ui-tabs.fullwidth .ui-tab-header-item {
- -ms-flex-positive: 1;
- flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
}
.ui-tabs.raised {
border: none;
@@ -2510,6 +2761,7 @@ body[modality="keyboard"] .ui-tabs-header.background-color-clear .ui-tab-header-
}
.ui-tabs-header-items {
position: relative;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
list-style: none;
@@ -2578,23 +2830,28 @@ body[modality="keyboard"] .ui-tabs-header.background-color-clear .ui-tab-header-
.ui-tab-header-item {
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
position: relative;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
height: 48px;
padding: 0 12px;
text-transform: uppercase;
- -ms-flex-align: center;
- align-items: center;
- -ms-flex-pack: center;
- justify-content: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
cursor: pointer;
min-width: 80px;
}
.ui-tab-header-item.type-icon-and-text {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-direction: column;
- flex-direction: column;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
height: 72px;
}
.ui-tab-header-item.type-icon-and-text .ui-tab-header-item-icon {
@@ -2614,10 +2871,12 @@ body[modality="keyboard"] .ui-tabs-header.background-color-clear .ui-tab-header-
}
.ui-textbox {
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: start;
- align-items: flex-start;
+ -webkit-align-items: flex-start;
+ -ms-flex-align: start;
+ align-items: flex-start;
margin-bottom: 12px;
}
.ui-textbox:hover:not(.disabled):not(.invalid) .ui-textbox-label-text {
@@ -2643,8 +2902,9 @@ body[modality="keyboard"] .ui-tabs-header.background-color-clear .ui-tab-header-
padding-top: 20px;
}
.ui-textbox.icon-right .ui-textbox-icon-wrapper {
- -ms-flex-order: 1;
- order: 1;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
margin-left: 8px;
margin-right: 0;
}
@@ -2682,8 +2942,9 @@ body[modality="keyboard"] .ui-tabs-header.background-color-clear .ui-tab-header-
}
.ui-textbox-icon-wrapper {
height: 24px;
- -ms-flex-negative: 0;
- flex-shrink: 0;
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
margin-right: 12px;
padding-top: 4px;
}
@@ -2691,8 +2952,9 @@ body[modality="keyboard"] .ui-tabs-header.background-color-clear .ui-tab-header-
color: rgba(0,0,0,0.54);
}
.ui-textbox-content {
- -ms-flex-positive: 1;
- flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
}
.ui-textbox-label-text {
font-size: 14px;
@@ -2763,11 +3025,13 @@ body[modality="keyboard"] .ui-tabs-header.background-color-clear .ui-tab-header-
}
.ui-toolbar {
font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
height: 56px;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
font-size: 18px;
position: relative;
}
@@ -2815,12 +3079,15 @@ body[modality="keyboard"] .ui-tabs-header.background-color-clear .ui-tab-header-
background-color: #2196f3;
}
.ui-toolbar-left {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-align: center;
- align-items: center;
- -ms-flex-negative: 0;
- flex-shrink: 0;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
}
.ui-toolbar-nav-icon {
margin-right: 8px;
@@ -2832,14 +3099,17 @@ body[modality="keyboard"] .ui-tabs-header.background-color-clear .ui-tab-header-
min-width: 160px;
}
.ui-toolbar-brand-text {
- -ms-flex-positive: 1;
- flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
}
.ui-toolbar-center {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -ms-flex-positive: 1;
- flex-grow: 1;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
}
.ui-toolbar-divider {
border-left-width: 1px;
@@ -2848,11 +3118,13 @@ body[modality="keyboard"] .ui-tabs-header.background-color-clear .ui-tab-header-
margin-right: 24px;
}
.ui-toolbar-right {
- -ms-flex-negative: 0;
- flex-shrink: 0;
+ -webkit-flex-shrink: 0;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
margin-left: auto;
}
.ui-toolbar-right [slot="actions"] {
+ display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
diff --git a/dist/keen-ui.js b/dist/keen-ui.js
index a0171003..f2a79c38 100644
--- a/dist/keen-ui.js
+++ b/dist/keen-ui.js
@@ -1,5 +1,5 @@
/*!
- * Keen UI v0.8.8 (https://github.com/JosephusPaye/keen-ui)
+ * Keen UI v0.8.9 (https://github.com/JosephusPaye/keen-ui)
* (c) 2016 Josephus Paye II
* Released under the MIT License.
*/
@@ -67,27 +67,27 @@ return /******/ (function(modules) { // webpackBootstrap
var _UiAlert2 = _interopRequireDefault(_UiAlert);
- var _UiAutocomplete = __webpack_require__(67);
+ var _UiAutocomplete = __webpack_require__(81);
var _UiAutocomplete2 = _interopRequireDefault(_UiAutocomplete);
- var _UiButton = __webpack_require__(95);
+ var _UiButton = __webpack_require__(109);
var _UiButton2 = _interopRequireDefault(_UiButton);
- var _UiCheckbox = __webpack_require__(99);
+ var _UiCheckbox = __webpack_require__(113);
var _UiCheckbox2 = _interopRequireDefault(_UiCheckbox);
- var _UiCollapsible = __webpack_require__(103);
+ var _UiCollapsible = __webpack_require__(117);
var _UiCollapsible2 = _interopRequireDefault(_UiCollapsible);
- var _UiConfirm = __webpack_require__(107);
+ var _UiConfirm = __webpack_require__(121);
var _UiConfirm2 = _interopRequireDefault(_UiConfirm);
- var _UiFab = __webpack_require__(115);
+ var _UiFab = __webpack_require__(129);
var _UiFab2 = _interopRequireDefault(_UiFab);
@@ -103,47 +103,47 @@ return /******/ (function(modules) { // webpackBootstrap
var _UiMenu2 = _interopRequireDefault(_UiMenu);
- var _UiMenuItem = __webpack_require__(16);
+ var _UiMenuOption = __webpack_require__(16);
- var _UiMenuItem2 = _interopRequireDefault(_UiMenuItem);
+ var _UiMenuOption2 = _interopRequireDefault(_UiMenuOption);
- var _UiModal = __webpack_require__(110);
+ var _UiModal = __webpack_require__(124);
var _UiModal2 = _interopRequireDefault(_UiModal);
- var _UiPopover = __webpack_require__(48);
+ var _UiPopover = __webpack_require__(63);
var _UiPopover2 = _interopRequireDefault(_UiPopover);
- var _UiPreloader = __webpack_require__(119);
+ var _UiPreloader = __webpack_require__(133);
var _UiPreloader2 = _interopRequireDefault(_UiPreloader);
- var _UiProgressCircular = __webpack_require__(52);
+ var _UiProgressCircular = __webpack_require__(67);
var _UiProgressCircular2 = _interopRequireDefault(_UiProgressCircular);
- var _UiProgressLinear = __webpack_require__(123);
+ var _UiProgressLinear = __webpack_require__(137);
var _UiProgressLinear2 = _interopRequireDefault(_UiProgressLinear);
- var _UiRadio = __webpack_require__(127);
+ var _UiRadio = __webpack_require__(141);
var _UiRadio2 = _interopRequireDefault(_UiRadio);
- var _UiRadioGroup = __webpack_require__(131);
+ var _UiRadioGroup = __webpack_require__(145);
var _UiRadioGroup2 = _interopRequireDefault(_UiRadioGroup);
- var _UiRating = __webpack_require__(135);
+ var _UiRating = __webpack_require__(149);
var _UiRating2 = _interopRequireDefault(_UiRating);
- var _UiRatingIcon = __webpack_require__(138);
+ var _UiRatingIcon = __webpack_require__(152);
var _UiRatingIcon2 = _interopRequireDefault(_UiRatingIcon);
- var _UiRatingPreview = __webpack_require__(143);
+ var _UiRatingPreview = __webpack_require__(157);
var _UiRatingPreview2 = _interopRequireDefault(_UiRatingPreview);
@@ -151,43 +151,43 @@ return /******/ (function(modules) { // webpackBootstrap
var _UiRippleInk2 = _interopRequireDefault(_UiRippleInk);
- var _UiSelect = __webpack_require__(147);
+ var _UiSelect = __webpack_require__(161);
var _UiSelect2 = _interopRequireDefault(_UiSelect);
- var _UiSlider = __webpack_require__(158);
+ var _UiSlider = __webpack_require__(172);
var _UiSlider2 = _interopRequireDefault(_UiSlider);
- var _UiSnackbar = __webpack_require__(170);
+ var _UiSnackbar = __webpack_require__(184);
var _UiSnackbar2 = _interopRequireDefault(_UiSnackbar);
- var _UiSnackbarContainer = __webpack_require__(174);
+ var _UiSnackbarContainer = __webpack_require__(188);
var _UiSnackbarContainer2 = _interopRequireDefault(_UiSnackbarContainer);
- var _UiSwitch = __webpack_require__(178);
+ var _UiSwitch = __webpack_require__(192);
var _UiSwitch2 = _interopRequireDefault(_UiSwitch);
- var _UiTab = __webpack_require__(182);
+ var _UiTab = __webpack_require__(196);
var _UiTab2 = _interopRequireDefault(_UiTab);
- var _UiTabs = __webpack_require__(186);
+ var _UiTabs = __webpack_require__(200);
var _UiTabs2 = _interopRequireDefault(_UiTabs);
- var _UiTextbox = __webpack_require__(194);
+ var _UiTextbox = __webpack_require__(208);
var _UiTextbox2 = _interopRequireDefault(_UiTextbox);
- var _UiToolbar = __webpack_require__(198);
+ var _UiToolbar = __webpack_require__(212);
var _UiToolbar2 = _interopRequireDefault(_UiToolbar);
- var _UiTooltip = __webpack_require__(59);
+ var _UiTooltip = __webpack_require__(74);
var _UiTooltip2 = _interopRequireDefault(_UiTooltip);
@@ -204,7 +204,7 @@ return /******/ (function(modules) { // webpackBootstrap
UiIcon: _UiIcon2.default,
UiIconButton: _UiIconButton2.default,
UiMenu: _UiMenu2.default,
- UiMenuItem: _UiMenuItem2.default,
+ UiMenuOption: _UiMenuOption2.default,
UiModal: _UiModal2.default,
UiPopover: _UiPopover2.default,
UiPreloader: _UiPreloader2.default,
@@ -238,7 +238,7 @@ return /******/ (function(modules) { // webpackBootstrap
Vue.component('ui-icon', _UiIcon2.default);
Vue.component('ui-icon-button', _UiIconButton2.default);
Vue.component('ui-menu', _UiMenu2.default);
- Vue.component('ui-menu-item', _UiMenuItem2.default);
+ Vue.component('ui-menu-option', _UiMenuOption2.default);
Vue.component('ui-modal', _UiModal2.default);
Vue.component('ui-popover', _UiPopover2.default);
Vue.component('ui-preloader', _UiPreloader2.default);
@@ -361,8 +361,8 @@ return /******/ (function(modules) { // webpackBootstrap
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiAlert.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(66)
+ console.warn("[vue-loader] src\\UiAlert.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(80)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -370,9 +370,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-741cfdbf/UiAlert.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiAlert.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -469,7 +469,7 @@ return /******/ (function(modules) { // webpackBootstrap
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiIcon.vue: named exports in *.vue files are ignored.")}
+ console.warn("[vue-loader] src\\UiIcon.vue: named exports in *.vue files are ignored.")}
__vue_template__ = __webpack_require__(9)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
@@ -478,9 +478,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-7fab9566/UiIcon.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiIcon.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -534,8 +534,8 @@ return /******/ (function(modules) { // webpackBootstrap
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiIconButton.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(65)
+ console.warn("[vue-loader] src\\UiIconButton.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(79)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -543,9 +543,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-43724590/UiIconButton.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiIconButton.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -577,23 +577,23 @@ return /******/ (function(modules) { // webpackBootstrap
var _UiMenu2 = _interopRequireDefault(_UiMenu);
- var _UiPopover = __webpack_require__(48);
+ var _UiPopover = __webpack_require__(63);
var _UiPopover2 = _interopRequireDefault(_UiPopover);
- var _UiProgressCircular = __webpack_require__(52);
+ var _UiProgressCircular = __webpack_require__(67);
var _UiProgressCircular2 = _interopRequireDefault(_UiProgressCircular);
- var _disabled = __webpack_require__(56);
+ var _disabled = __webpack_require__(71);
var _disabled2 = _interopRequireDefault(_disabled);
- var _HasDropdown = __webpack_require__(57);
+ var _HasDropdown = __webpack_require__(72);
var _HasDropdown2 = _interopRequireDefault(_HasDropdown);
- var _ShowsTooltip = __webpack_require__(58);
+ var _ShowsTooltip = __webpack_require__(73);
var _ShowsTooltip2 = _interopRequireDefault(_ShowsTooltip);
@@ -613,6 +613,10 @@ return /******/ (function(modules) { // webpackBootstrap
return 'ui-icon-button-' + type;
}
},
+ buttonType: {
+ type: String,
+ default: 'button'
+ },
color: {
type: String,
default: 'default', coerce: function coerce(color) {
@@ -631,10 +635,6 @@ return /******/ (function(modules) { // webpackBootstrap
disabled: {
type: Boolean,
default: false
- },
- buttonType: {
- type: String,
- default: 'button'
}
},
@@ -681,8 +681,8 @@ return /******/ (function(modules) { // webpackBootstrap
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiMenu.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(47)
+ console.warn("[vue-loader] src\\UiMenu.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(62)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -690,9 +690,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-f0aae968/UiMenu.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiMenu.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -716,11 +716,11 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _UiMenuItem = __webpack_require__(16);
+ var _UiMenuOption = __webpack_require__(16);
- var _UiMenuItem2 = _interopRequireDefault(_UiMenuItem);
+ var _UiMenuOption2 = _interopRequireDefault(_UiMenuOption);
- var _ShowsDropdown = __webpack_require__(43);
+ var _ShowsDropdown = __webpack_require__(58);
var _ShowsDropdown2 = _interopRequireDefault(_ShowsDropdown);
@@ -748,6 +748,14 @@ return /******/ (function(modules) { // webpackBootstrap
hideRippleInk: {
type: Boolean,
default: false
+ },
+ closeOnSelect: {
+ type: Boolean,
+ default: true
+ },
+ partial: {
+ type: String,
+ default: 'ui-menu-default'
}
},
@@ -778,25 +786,27 @@ return /******/ (function(modules) { // webpackBootstrap
if (!(option.disabled || option.type === 'divider')) {
this.$dispatch('option-selected', option);
- this.closeDropdown();
+ if (this.closeOnSelect) {
+ this.closeDropdown();
+ }
}
},
restrictFocus: function restrictFocus(e) {
if (!this.$els.dropdown.contains(e.target)) {
e.stopPropagation();
- this.$els.dropdown.querySelector('.ui-menu-item').focus();
+ this.$els.dropdown.querySelector('.ui-menu-option').focus();
}
},
redirectFocus: function redirectFocus(e) {
e.stopPropagation();
- this.$els.dropdown.querySelector('.ui-menu-item').focus();
+ this.$els.dropdown.querySelector('.ui-menu-option').focus();
}
},
components: {
- UiMenuItem: _UiMenuItem2.default
+ UiMenuOption: _UiMenuOption2.default
},
mixins: [_ShowsDropdown2.default]
@@ -812,8 +822,8 @@ return /******/ (function(modules) { // webpackBootstrap
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiMenuItem.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(42)
+ console.warn("[vue-loader] src\\UiMenuOption.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(57)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -821,9 +831,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-846da202/UiMenuItem.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiMenuOption.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -858,7 +868,7 @@ return /******/ (function(modules) { // webpackBootstrap
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
- name: 'ui-menu-item',
+ name: 'ui-menu-option',
props: {
type: String,
@@ -873,10 +883,15 @@ return /******/ (function(modules) { // webpackBootstrap
type: Boolean,
default: false
},
+ partial: {
+ type: String,
+ default: 'ui-menu-default'
+ },
disabled: {
type: Boolean,
default: false
- }
+ },
+ option: Object
},
computed: {
@@ -889,6 +904,10 @@ return /******/ (function(modules) { // webpackBootstrap
UiIcon: _UiIcon2.default
},
+ partials: {
+ 'ui-menu-default': '\n \n\n
\n\n \n '
+ },
+
mixins: [_ShowsRippleInk2.default]
};
@@ -931,8 +950,8 @@ return /******/ (function(modules) { // webpackBootstrap
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiRippleInk.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(41)
+ console.warn("[vue-loader] src\\UiRippleInk.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(56)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -940,9 +959,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-dc11350e/UiRippleInk.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiRippleInk.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -966,17 +985,17 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _dominus = __webpack_require__(23);
+ var _classlist = __webpack_require__(23);
- var _dominus2 = _interopRequireDefault(_dominus);
+ var _classlist2 = _interopRequireDefault(_classlist);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var startRipple = function startRipple(eventType, event) {
var holder = event.currentTarget;
- if (!(0, _dominus2.default)(holder).hasClass('ui-ripple-ink')) {
- holder = (0, _dominus2.default)(holder).findOne('.ui-ripple-ink');
+ if (!_classlist2.default.has(holder, 'ui-ripple-ink')) {
+ holder = holder.querySelector('.ui-ripple-ink');
if (!holder) {
return;
@@ -1022,7 +1041,7 @@ return /******/ (function(modules) { // webpackBootstrap
holder.appendChild(ripple);
setTimeout(function () {
- (0, _dominus2.default)(ripple).addClass('held');
+ _classlist2.default.add(ripple, 'held');
}, 0);
var releaseEvent = eventType === 'mousedown' ? 'mouseup' : 'touchend';
@@ -1030,13 +1049,14 @@ return /******/ (function(modules) { // webpackBootstrap
var release = function release() {
document.removeEventListener(releaseEvent, release);
- (0, _dominus2.default)(ripple).addClass('done');
+ _classlist2.default.add(ripple, 'done');
setTimeout(function () {
holder.removeChild(ripple);
if (!holder.children.length) {
- (0, _dominus2.default)(holder).removeClass('active').attr('data-ui-event', null);
+ _classlist2.default.remove(holder, 'active');
+ holder.removeAttribute('data-ui-event');
}
}, 450);
};
@@ -1101,1227 +1121,748 @@ return /******/ (function(modules) { // webpackBootstrap
'use strict';
- module.exports = __webpack_require__(24);
-
-
-/***/ },
-/* 24 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
- var $ = __webpack_require__(25);
- var flatten = __webpack_require__(39);
- var dom = __webpack_require__(26);
- var custom = __webpack_require__(38);
- var classes = __webpack_require__(40);
- var Dominus = __webpack_require__(31);
+ var _typeof2 = __webpack_require__(24);
- function equals (selector) {
- return function equals (elem) {
- return dom.matches(elem, selector);
- };
- }
+ var _typeof3 = _interopRequireDefault(_typeof2);
- function straight (prop, one) {
- return function domMapping (selector) {
- var result = this.map(function (elem) {
- return dom[prop](elem, selector);
- });
- var results = flatten(result);
- return one ? results[0] : results;
- };
- }
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- Dominus.prototype.prev = straight('prev');
- Dominus.prototype.next = straight('next');
- Dominus.prototype.parent = straight('parent');
- Dominus.prototype.parents = straight('parents');
- Dominus.prototype.children = straight('children');
- Dominus.prototype.find = straight('qsa');
- Dominus.prototype.findOne = straight('qs', true);
+ var trim = /^\s+|\s+$/g;
+ var whitespace = /\s+/g;
- Dominus.prototype.where = function (selector) {
- return this.filter(equals(selector));
- };
+ function interpret(input) {
+ return typeof input === 'string' ? input.replace(trim, '').split(whitespace) : input;
+ }
- Dominus.prototype.is = function (selector) {
- return this.some(equals(selector));
- };
+ function classes(el) {
+ if (isElement(el)) {
+ return el.className.replace(trim, '').split(whitespace);
+ }
- Dominus.prototype.i = function (index) {
- return this[index] ? new Dominus(this[index]) : new Dominus();
- };
+ return [];
+ }
- function compareFactory (fn) {
- return function compare () {
- $.apply(null, arguments).forEach(fn, this);
- return this;
- };
+ function set(el, input) {
+ if (isElement(el)) {
+ el.className = interpret(input).join(' ');
+ }
}
- Dominus.prototype.and = compareFactory(function addOne (elem) {
- if (this.indexOf(elem) === -1) {
- this.push(elem);
- }
- return this;
- });
+ function add(el, input) {
+ var current = remove(el, input);
+ var values = interpret(input);
- Dominus.prototype.but = compareFactory(function addOne (elem) {
- var index = this.indexOf(elem);
- if (index !== -1) {
- this.splice(index, 1);
- }
- return this;
- });
+ current.push.apply(current, values);
+ set(el, current);
- Dominus.prototype.css = function (name, value) {
- var props;
- var many = name && typeof name === 'object';
- var getter = !many && !value;
- if (getter) {
- return this.length ? dom.getCss(this[0], name) : null;
- }
- if (many) {
- props = name;
- } else {
- props = {};
- props[name] = value;
- }
- this.forEach(dom.setCss(props));
- return this;
- };
+ return current;
+ }
- function eventer (method) {
- return function (types, filter, fn) {
- var typelist = types.split(' ');
- if (typeof fn !== 'function') {
- fn = filter;
- filter = null;
- }
- this.forEach(function (elem) {
- typelist.forEach(function (type) {
- var handler = custom.handlers[type];
- if (handler) {
- dom[method](elem, handler.event, filter, handler.wrap(fn));
- } else {
- dom[method](elem, type, filter, fn);
+ function remove(el, input) {
+ var current = classes(el);
+ var values = interpret(input);
+
+ values.forEach(function (value) {
+ var i = current.indexOf(value);
+ if (i !== -1) {
+ current.splice(i, 1);
}
- });
});
- return this;
- };
- }
- Dominus.prototype.once = eventer('once');
- Dominus.prototype.on = eventer('on');
- Dominus.prototype.off = eventer('off');
- Dominus.prototype.emit = eventer('emit');
-
- [
- ['addClass', classes.add],
- ['removeClass', classes.remove],
- ['setClass', classes.set],
- ['removeClass', classes.remove],
- ['remove', dom.remove]
- ].forEach(mapMethods);
-
- function mapMethods (data) {
- Dominus.prototype[data[0]] = function (value) {
- this.forEach(function (elem) {
- data[1](elem, value);
- });
- return this;
- };
- }
+ set(el, current);
- [
- 'append',
- 'appendTo',
- 'prepend',
- 'prependTo',
- 'before',
- 'beforeOf',
- 'after',
- 'afterOf'
- ].forEach(mapManipulation);
-
- function mapManipulation (method) {
- Dominus.prototype[method] = function (value) {
- dom[method](this, value);
- return this;
- };
+ return current;
}
- Dominus.prototype.hasClass = function (value) {
- return this.some(function (elem) {
- return classes.contains(elem, value);
- });
- };
-
- Dominus.prototype.attr = function (name, value) {
- var hash = name && typeof name === 'object';
- var set = hash ? setMany : setSingle;
- var setter = hash || arguments.length > 1;
- if (setter) {
- this.forEach(set);
- return this;
- } else {
- return this.length ? dom.getAttr(this[0], name) : null;
- }
- function setMany (elem) {
- dom.manyAttr(elem, name);
- }
- function setSingle (elem) {
- dom.attr(elem, name, value);
- }
- };
+ function contains(el, input) {
+ var current = classes(el);
+ var values = interpret(input);
- function keyValue (key, value) {
- var getter = arguments.length < 2;
- if (getter) {
- return this.length ? dom[key](this[0]) : '';
- }
- this.forEach(function (elem) {
- dom[key](elem, value);
- });
- return this;
+ return values.every(function (value) {
+ return current.indexOf(value) !== -1;
+ });
}
- function keyValueProperty (prop) {
- Dominus.prototype[prop] = function accessor (value) {
- var getter = arguments.length < 1;
- if (getter) {
- return keyValue.call(this, prop);
- }
- return keyValue.call(this, prop, value);
- };
- }
+ function isElement(o) {
+ var elementObjects = (typeof HTMLElement === 'undefined' ? 'undefined' : (0, _typeof3.default)(HTMLElement)) === 'object';
- ['html', 'text', 'value'].forEach(keyValueProperty);
+ return elementObjects ? o instanceof HTMLElement : isElementObject(o);
+ }
- Dominus.prototype.clone = function () {
- return this.map(function (elem) {
- return dom.clone(elem);
- });
- };
+ function isElementObject(o) {
+ return o && (typeof o === 'undefined' ? 'undefined' : (0, _typeof3.default)(o)) === 'object' && typeof o.nodeName === 'string' && o.nodeType === 1;
+ }
- Dominus.prototype.focus = function () {
- if (this.length) {
- this[0].focus();
- }
- return this;
+ exports.default = {
+ add: add,
+ remove: remove,
+ contains: contains,
+ has: contains,
+ set: set,
+ get: classes
};
-
- module.exports = __webpack_require__(25);
-
/***/ },
-/* 25 */
+/* 24 */
/***/ function(module, exports, __webpack_require__) {
- 'use strict';
-
- var dom = __webpack_require__(26);
- var cast = __webpack_require__(34);
- var custom = __webpack_require__(38);
- var Dominus = __webpack_require__(31);
- var tag = /^\s*<([a-z]+(?:-[a-z]+)?)\s*\/?>\s*$/i;
-
- function api (selector, context) {
- var notText = typeof selector !== 'string';
- if (notText && arguments.length < 2) {
- return cast(selector);
- }
- if (notText) {
- return new Dominus();
- }
- var matches = selector.match(tag);
- if (matches) {
- return dom.make(matches[1]);
- }
- return api.find(selector, context);
- }
+ "use strict";
- api.find = function (selector, context) {
- return dom.qsa(context, selector);
- };
+ var _Symbol = __webpack_require__(25)["default"];
- api.findOne = function (selector, context) {
- return dom.qs(context, selector);
+ exports["default"] = function (obj) {
+ return obj && obj.constructor === _Symbol ? "symbol" : typeof obj;
};
- api.custom = custom.register;
-
- module.exports = api;
+ exports.__esModule = true;
+
+/***/ },
+/* 25 */
+/***/ function(module, exports, __webpack_require__) {
+ module.exports = { "default": __webpack_require__(26), __esModule: true };
/***/ },
/* 26 */
/***/ function(module, exports, __webpack_require__) {
- /* WEBPACK VAR INJECTION */(function(global) {'use strict';
-
- var sektor = __webpack_require__(27);
- var crossvent = __webpack_require__(28);
- var Dominus = __webpack_require__(31);
- var cast = __webpack_require__(34);
- var apply = __webpack_require__(36);
- var text = __webpack_require__(37);
- var test = __webpack_require__(35);
- var api = module.exports = {};
- var delegates = {};
-
- function castContext (context) {
- if (typeof context === 'string') {
- return api.qs(null, context);
- }
- if (test.isElement(context)) {
- return context;
- }
- if (context instanceof Dominus) {
- return context[0];
- }
- return null;
- }
-
- api.qsa = function (el, selector) {
- var results = new Dominus();
- return sektor(selector, castContext(el), results);
+ __webpack_require__(27);
+ __webpack_require__(55);
+ module.exports = __webpack_require__(34).Symbol;
+
+/***/ },
+/* 27 */
+/***/ function(module, exports, __webpack_require__) {
+
+ 'use strict';
+ // ECMAScript 6 symbols shim
+ var $ = __webpack_require__(28)
+ , global = __webpack_require__(29)
+ , has = __webpack_require__(30)
+ , DESCRIPTORS = __webpack_require__(31)
+ , $export = __webpack_require__(33)
+ , redefine = __webpack_require__(37)
+ , $fails = __webpack_require__(32)
+ , shared = __webpack_require__(40)
+ , setToStringTag = __webpack_require__(41)
+ , uid = __webpack_require__(43)
+ , wks = __webpack_require__(42)
+ , keyOf = __webpack_require__(44)
+ , $names = __webpack_require__(49)
+ , enumKeys = __webpack_require__(50)
+ , isArray = __webpack_require__(51)
+ , anObject = __webpack_require__(52)
+ , toIObject = __webpack_require__(45)
+ , createDesc = __webpack_require__(39)
+ , getDesc = $.getDesc
+ , setDesc = $.setDesc
+ , _create = $.create
+ , getNames = $names.get
+ , $Symbol = global.Symbol
+ , $JSON = global.JSON
+ , _stringify = $JSON && $JSON.stringify
+ , setter = false
+ , HIDDEN = wks('_hidden')
+ , isEnum = $.isEnum
+ , SymbolRegistry = shared('symbol-registry')
+ , AllSymbols = shared('symbols')
+ , useNative = typeof $Symbol == 'function'
+ , ObjectProto = Object.prototype;
+
+ // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
+ var setSymbolDesc = DESCRIPTORS && $fails(function(){
+ return _create(setDesc({}, 'a', {
+ get: function(){ return setDesc(this, 'a', {value: 7}).a; }
+ })).a != 7;
+ }) ? function(it, key, D){
+ var protoDesc = getDesc(ObjectProto, key);
+ if(protoDesc)delete ObjectProto[key];
+ setDesc(it, key, D);
+ if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc);
+ } : setDesc;
+
+ var wrap = function(tag){
+ var sym = AllSymbols[tag] = _create($Symbol.prototype);
+ sym._k = tag;
+ DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, {
+ configurable: true,
+ set: function(value){
+ if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
+ setSymbolDesc(this, tag, createDesc(1, value));
+ }
+ });
+ return sym;
};
- api.qs = function (el, selector) {
- return api.qsa(el, selector)[0];
+ var isSymbol = function(it){
+ return typeof it == 'symbol';
};
- api.matches = function (el, selector) {
- return test.isElement(el) && sektor.matchesSelector(el, selector);
+ var $defineProperty = function defineProperty(it, key, D){
+ if(D && has(AllSymbols, key)){
+ if(!D.enumerable){
+ if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {}));
+ it[HIDDEN][key] = true;
+ } else {
+ if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
+ D = _create(D, {enumerable: createDesc(0, false)});
+ } return setSymbolDesc(it, key, D);
+ } return setDesc(it, key, D);
+ };
+ var $defineProperties = function defineProperties(it, P){
+ anObject(it);
+ var keys = enumKeys(P = toIObject(P))
+ , i = 0
+ , l = keys.length
+ , key;
+ while(l > i)$defineProperty(it, key = keys[i++], P[key]);
+ return it;
+ };
+ var $create = function create(it, P){
+ return P === undefined ? _create(it) : $defineProperties(_create(it), P);
+ };
+ var $propertyIsEnumerable = function propertyIsEnumerable(key){
+ var E = isEnum.call(this, key);
+ return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key]
+ ? E : true;
+ };
+ var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){
+ var D = getDesc(it = toIObject(it), key);
+ if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;
+ return D;
+ };
+ var $getOwnPropertyNames = function getOwnPropertyNames(it){
+ var names = getNames(toIObject(it))
+ , result = []
+ , i = 0
+ , key;
+ while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key);
+ return result;
};
-
- function relatedFactory (prop) {
- return function related (el, selector) {
- var relative = el[prop];
- if (relative) {
- if (!selector || api.matches(relative, selector)) {
- return cast(relative);
- }
- }
- return new Dominus();
+ var $getOwnPropertySymbols = function getOwnPropertySymbols(it){
+ var names = getNames(toIObject(it))
+ , result = []
+ , i = 0
+ , key;
+ while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);
+ return result;
+ };
+ var $stringify = function stringify(it){
+ if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined
+ var args = [it]
+ , i = 1
+ , $$ = arguments
+ , replacer, $replacer;
+ while($$.length > i)args.push($$[i++]);
+ replacer = args[1];
+ if(typeof replacer == 'function')$replacer = replacer;
+ if($replacer || !isArray(replacer))replacer = function(key, value){
+ if($replacer)value = $replacer.call(this, key, value);
+ if(!isSymbol(value))return value;
};
- }
-
- api.prev = relatedFactory('previousElementSibling');
- api.next = relatedFactory('nextElementSibling');
- api.parent = relatedFactory('parentElement');
+ args[1] = replacer;
+ return _stringify.apply($JSON, args);
+ };
+ var buggyJSON = $fails(function(){
+ var S = $Symbol();
+ // MS Edge converts symbol values to JSON as {}
+ // WebKit converts symbol values to JSON as null
+ // V8 throws on boxed symbols
+ return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';
+ });
- function matches (el, value) {
- if (!value) {
- return true;
- }
- if (value instanceof Dominus) {
- return value.indexOf(el) !== -1;
- }
- if (test.isElement(value)) {
- return el === value;
- }
- return api.matches(el, value);
- }
+ // 19.4.1.1 Symbol([description])
+ if(!useNative){
+ $Symbol = function Symbol(){
+ if(isSymbol(this))throw TypeError('Symbol is not a constructor');
+ return wrap(uid(arguments.length > 0 ? arguments[0] : undefined));
+ };
+ redefine($Symbol.prototype, 'toString', function toString(){
+ return this._k;
+ });
- api.parents = function (el, value) {
- var elements = [];
- var current = el;
- while (current.parentElement) {
- if (matches(current.parentElement, value)) {
- elements.push(current.parentElement);
- }
- current = current.parentElement;
- }
- return apply(elements);
- };
+ isSymbol = function(it){
+ return it instanceof $Symbol;
+ };
- api.children = function (el, value) {
- var elements = [];
- var children = el.children;
- var child;
- var i;
- for (i = 0; children && i < children.length; i++) {
- child = children[i];
- if (matches(child, value)) {
- elements.push(child);
- }
- }
- return apply(elements);
- };
+ $.create = $create;
+ $.isEnum = $propertyIsEnumerable;
+ $.getDesc = $getOwnPropertyDescriptor;
+ $.setDesc = $defineProperty;
+ $.setDescs = $defineProperties;
+ $.getNames = $names.get = $getOwnPropertyNames;
+ $.getSymbols = $getOwnPropertySymbols;
- // this method caches delegates so that .off() works seamlessly
- function delegate (root, filter, fn) {
- if (delegates[fn._dd]) {
- return delegates[fn._dd];
- }
- fn._dd = Date.now();
- delegates[fn._dd] = delegator;
- function delegator (e) {
- var el = e.target;
- while (el && el !== root) {
- if (api.matches(el, filter)) {
- fn.apply(this, arguments); return;
- }
- el = el.parentElement;
- }
+ if(DESCRIPTORS && !__webpack_require__(54)){
+ redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
}
- return delegator;
}
- function evented (method, el, type, filter, fn) {
- if (filter === null) {
- crossvent[method](el, type, fn);
- } else {
- crossvent[method](el, type, delegate(el, filter, fn));
- }
- }
+ var symbolStatics = {
+ // 19.4.2.1 Symbol.for(key)
+ 'for': function(key){
+ return has(SymbolRegistry, key += '')
+ ? SymbolRegistry[key]
+ : SymbolRegistry[key] = $Symbol(key);
+ },
+ // 19.4.2.5 Symbol.keyFor(sym)
+ keyFor: function keyFor(key){
+ return keyOf(SymbolRegistry, key);
+ },
+ useSetter: function(){ setter = true; },
+ useSimple: function(){ setter = false; }
+ };
+ // 19.4.2.2 Symbol.hasInstance
+ // 19.4.2.3 Symbol.isConcatSpreadable
+ // 19.4.2.4 Symbol.iterator
+ // 19.4.2.6 Symbol.match
+ // 19.4.2.8 Symbol.replace
+ // 19.4.2.9 Symbol.search
+ // 19.4.2.10 Symbol.species
+ // 19.4.2.11 Symbol.split
+ // 19.4.2.12 Symbol.toPrimitive
+ // 19.4.2.13 Symbol.toStringTag
+ // 19.4.2.14 Symbol.unscopables
+ $.each.call((
+ 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +
+ 'species,split,toPrimitive,toStringTag,unscopables'
+ ).split(','), function(it){
+ var sym = wks(it);
+ symbolStatics[it] = useNative ? sym : wrap(sym);
+ });
- function once (el, type, filter, fn) {
- var things = [el, type, filter, disposable];
- api.on.apply(api, things);
- function disposable () {
- api.off.apply(api, things);
- return fn.apply(this, arguments);
- }
- }
+ setter = true;
+
+ $export($export.G + $export.W, {Symbol: $Symbol});
+
+ $export($export.S, 'Symbol', symbolStatics);
+
+ $export($export.S + $export.F * !useNative, 'Object', {
+ // 19.1.2.2 Object.create(O [, Properties])
+ create: $create,
+ // 19.1.2.4 Object.defineProperty(O, P, Attributes)
+ defineProperty: $defineProperty,
+ // 19.1.2.3 Object.defineProperties(O, Properties)
+ defineProperties: $defineProperties,
+ // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
+ getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
+ // 19.1.2.7 Object.getOwnPropertyNames(O)
+ getOwnPropertyNames: $getOwnPropertyNames,
+ // 19.1.2.8 Object.getOwnPropertySymbols(O)
+ getOwnPropertySymbols: $getOwnPropertySymbols
+ });
- api.once = once;
- api.on = evented.bind(null, 'add');
- api.off = evented.bind(null, 'remove');
- api.emit = evented.bind(null, 'fabricate');
+ // 24.3.2 JSON.stringify(value [, replacer [, space]])
+ $JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify});
- api.html = function (elem, html) {
- var getter = arguments.length < 2;
- if (getter) {
- return elem.innerHTML;
- } else {
- elem.innerHTML = html;
- }
+ // 19.4.3.5 Symbol.prototype[@@toStringTag]
+ setToStringTag($Symbol, 'Symbol');
+ // 20.2.1.9 Math[@@toStringTag]
+ setToStringTag(Math, 'Math', true);
+ // 24.3.3 JSON[@@toStringTag]
+ setToStringTag(global.JSON, 'JSON', true);
+
+/***/ },
+/* 28 */
+/***/ function(module, exports) {
+
+ var $Object = Object;
+ module.exports = {
+ create: $Object.create,
+ getProto: $Object.getPrototypeOf,
+ isEnum: {}.propertyIsEnumerable,
+ getDesc: $Object.getOwnPropertyDescriptor,
+ setDesc: $Object.defineProperty,
+ setDescs: $Object.defineProperties,
+ getKeys: $Object.keys,
+ getNames: $Object.getOwnPropertyNames,
+ getSymbols: $Object.getOwnPropertySymbols,
+ each: [].forEach
};
-
- api.text = function (elem, text) {
- var checkable = test.isCheckable(elem);
- var getter = arguments.length < 2;
- if (getter) {
- return checkable ? elem.value : elem.innerText || elem.textContent;
- } else if (checkable) {
- elem.value = text;
- } else {
- elem.innerText = elem.textContent = text;
- }
+
+/***/ },
+/* 29 */
+/***/ function(module, exports) {
+
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
+ var global = module.exports = typeof window != 'undefined' && window.Math == Math
+ ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
+ if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
+
+/***/ },
+/* 30 */
+/***/ function(module, exports) {
+
+ var hasOwnProperty = {}.hasOwnProperty;
+ module.exports = function(it, key){
+ return hasOwnProperty.call(it, key);
};
-
- api.value = function (el, value) {
- var checkable = test.isCheckable(el);
- var getter = arguments.length < 2;
- if (getter) {
- return checkable ? el.checked : el.value;
- } else if (checkable) {
- el.checked = value;
- } else {
- el.value = value;
+
+/***/ },
+/* 31 */
+/***/ function(module, exports, __webpack_require__) {
+
+ // Thank's IE8 for his funny defineProperty
+ module.exports = !__webpack_require__(32)(function(){
+ return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
+ });
+
+/***/ },
+/* 32 */
+/***/ function(module, exports) {
+
+ module.exports = function(exec){
+ try {
+ return !!exec();
+ } catch(e){
+ return true;
}
};
-
- api.attr = function (el, name, value) {
- if (!test.isElement(el)) {
- return;
- }
- if (value === null || value === void 0) {
- el.removeAttribute(name); return;
- }
- var camel = text.hyphenToCamel(name);
- if (camel in el) {
- el[camel] = value;
- } else {
- el.setAttribute(name, value);
+
+/***/ },
+/* 33 */
+/***/ function(module, exports, __webpack_require__) {
+
+ var global = __webpack_require__(29)
+ , core = __webpack_require__(34)
+ , ctx = __webpack_require__(35)
+ , PROTOTYPE = 'prototype';
+
+ var $export = function(type, name, source){
+ var IS_FORCED = type & $export.F
+ , IS_GLOBAL = type & $export.G
+ , IS_STATIC = type & $export.S
+ , IS_PROTO = type & $export.P
+ , IS_BIND = type & $export.B
+ , IS_WRAP = type & $export.W
+ , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
+ , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]
+ , key, own, out;
+ if(IS_GLOBAL)source = name;
+ for(key in source){
+ // contains in native
+ own = !IS_FORCED && target && key in target;
+ if(own && key in exports)continue;
+ // export native or passed
+ out = own ? target[key] : source[key];
+ // prevent global pollution for namespaces
+ exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
+ // bind timers to global for call from export context
+ : IS_BIND && own ? ctx(out, global)
+ // wrap global constructors for prevent change them in library
+ : IS_WRAP && target[key] == out ? (function(C){
+ var F = function(param){
+ return this instanceof C ? new C(param) : C(param);
+ };
+ F[PROTOTYPE] = C[PROTOTYPE];
+ return F;
+ // make static versions for prototype methods
+ })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
+ if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;
}
};
-
- api.getAttr = function (el, name) {
- var camel = text.hyphenToCamel(name);
- if (camel in el) {
- return el[camel];
- } else if (el.getAttribute) {
- return el.getAttribute(name);
+ // type bitmap
+ $export.F = 1; // forced
+ $export.G = 2; // global
+ $export.S = 4; // static
+ $export.P = 8; // proto
+ $export.B = 16; // bind
+ $export.W = 32; // wrap
+ module.exports = $export;
+
+/***/ },
+/* 34 */
+/***/ function(module, exports) {
+
+ var core = module.exports = {version: '1.2.6'};
+ if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
+
+/***/ },
+/* 35 */
+/***/ function(module, exports, __webpack_require__) {
+
+ // optional / simple context binding
+ var aFunction = __webpack_require__(36);
+ module.exports = function(fn, that, length){
+ aFunction(fn);
+ if(that === undefined)return fn;
+ switch(length){
+ case 1: return function(a){
+ return fn.call(that, a);
+ };
+ case 2: return function(a, b){
+ return fn.call(that, a, b);
+ };
+ case 3: return function(a, b, c){
+ return fn.call(that, a, b, c);
+ };
}
- return null;
+ return function(/* ...args */){
+ return fn.apply(that, arguments);
+ };
};
-
- api.manyAttr = function (elem, attrs) {
- Object.keys(attrs).forEach(function (attr) {
- api.attr(elem, attr, attrs[attr]);
- });
+
+/***/ },
+/* 36 */
+/***/ function(module, exports) {
+
+ module.exports = function(it){
+ if(typeof it != 'function')throw TypeError(it + ' is not a function!');
+ return it;
};
-
- api.make = function (type) {
- return new Dominus(document.createElement(type));
+
+/***/ },
+/* 37 */
+/***/ function(module, exports, __webpack_require__) {
+
+ module.exports = __webpack_require__(38);
+
+/***/ },
+/* 38 */
+/***/ function(module, exports, __webpack_require__) {
+
+ var $ = __webpack_require__(28)
+ , createDesc = __webpack_require__(39);
+ module.exports = __webpack_require__(31) ? function(object, key, value){
+ return $.setDesc(object, key, createDesc(1, value));
+ } : function(object, key, value){
+ object[key] = value;
+ return object;
};
-
- api.clone = function (el) {
- if (el.cloneNode) {
- return el.cloneNode(true);
- }
- return el;
+
+/***/ },
+/* 39 */
+/***/ function(module, exports) {
+
+ module.exports = function(bitmap, value){
+ return {
+ enumerable : !(bitmap & 1),
+ configurable: !(bitmap & 2),
+ writable : !(bitmap & 4),
+ value : value
+ };
};
-
- api.remove = function (el) {
- if (el.parentElement) {
- el.parentElement.removeChild(el);
- }
- };
-
- api.append = function (el, target) {
- if (manipulationGuard(el, target, api.append)) {
- return;
- }
- if (el.appendChild) {
- el.appendChild(target);
- }
- };
-
- api.prepend = function (el, target) {
- if (manipulationGuard(el, target, api.prepend)) {
- return;
- }
- if (el.insertBefore) {
- el.insertBefore(target, el.firstChild);
- }
+
+/***/ },
+/* 40 */
+/***/ function(module, exports, __webpack_require__) {
+
+ var global = __webpack_require__(29)
+ , SHARED = '__core-js_shared__'
+ , store = global[SHARED] || (global[SHARED] = {});
+ module.exports = function(key){
+ return store[key] || (store[key] = {});
};
+
+/***/ },
+/* 41 */
+/***/ function(module, exports, __webpack_require__) {
+
+ var def = __webpack_require__(28).setDesc
+ , has = __webpack_require__(30)
+ , TAG = __webpack_require__(42)('toStringTag');
- api.before = function (el, target) {
- if (manipulationGuard(el, target, api.before)) {
- return;
- }
- if (el.parentElement) {
- el.parentElement.insertBefore(target, el);
- }
+ module.exports = function(it, tag, stat){
+ if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});
};
-
- api.after = function (el, target) {
- if (manipulationGuard(el, target, api.after)) {
- return;
- }
- if (el.parentElement) {
- el.parentElement.insertBefore(target, el.nextSibling);
- }
+
+/***/ },
+/* 42 */
+/***/ function(module, exports, __webpack_require__) {
+
+ var store = __webpack_require__(40)('wks')
+ , uid = __webpack_require__(43)
+ , Symbol = __webpack_require__(29).Symbol;
+ module.exports = function(name){
+ return store[name] || (store[name] =
+ Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name));
};
-
- function manipulationGuard (el, target, fn) {
- var right = target instanceof Dominus;
- var left = el instanceof Dominus;
- if (left) {
- el.forEach(manipulateMany);
- } else if (right) {
- manipulate(el, true);
- }
- return !el || !target || left || right;
-
- function manipulate (el, precondition) {
- if (right) {
- target.forEach(function (target, j) {
- fn(el, cloneUnless(target, precondition && j === 0));
- });
- } else {
- fn(el, cloneUnless(target, precondition));
- }
- }
-
- function manipulateMany (el, i) {
- manipulate(el, i === 0);
- }
- }
-
- function cloneUnless (target, condition) {
- return condition ? target : api.clone(target);
- }
-
- ['appendTo', 'prependTo', 'beforeOf', 'afterOf'].forEach(flip);
-
- function flip (key) {
- var original = key.split(/[A-Z]/)[0];
- api[key] = function (el, target) {
- api[original](target, el);
- };
- }
-
- var numericCssProperties = {
- 'column-count': true,
- 'fill-opacity': true,
- 'flex-grow': true,
- 'flex-shrink': true,
- 'font-weight': true,
- 'line-height': true,
- 'opacity': true,
- 'order': true,
- 'orphans': true,
- 'widows': true,
- 'z-index': true,
- 'zoom': true
- };
- var numeric = /^\d+$/;
- var canFloat = 'float' in document.body.style;
-
- api.getCss = function (el, prop) {
- if (!test.isElement(el)) {
- return null;
- }
- var hprop = text.hyphenate(prop);
- var fprop = !canFloat && hprop === 'float' ? 'cssFloat' : hprop;
- var result = global.getComputedStyle(el)[hprop];
- if (prop === 'opacity' && result === '') {
- return 1;
- }
- if (result.substr(-2) === 'px' || numeric.test(result)) {
- return parseFloat(result, 10);
- }
- return result;
+
+/***/ },
+/* 43 */
+/***/ function(module, exports) {
+
+ var id = 0
+ , px = Math.random();
+ module.exports = function(key){
+ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
};
-
- api.setCss = function (props) {
- var mapped = Object.keys(props).filter(bad).map(expand);
- function bad (prop) {
- var value = props[prop];
- return value !== null && value === value;
- }
- function expand (prop) {
- var hprop = text.hyphenate(prop);
- var value = props[prop];
- if (typeof value === 'number' && !numericCssProperties[hprop]) {
- value += 'px';
- }
- return {
- name: hprop, value: value
- };
- }
- return function (el) {
- if (!test.isElement(el)) {
- return;
- }
- mapped.forEach(function (prop) {
- el.style[prop.name] = prop.value;
- });
- };
+
+/***/ },
+/* 44 */
+/***/ function(module, exports, __webpack_require__) {
+
+ var $ = __webpack_require__(28)
+ , toIObject = __webpack_require__(45);
+ module.exports = function(object, el){
+ var O = toIObject(object)
+ , keys = $.getKeys(O)
+ , length = keys.length
+ , index = 0
+ , key;
+ while(length > index)if(O[key = keys[index++]] === el)return key;
};
-
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
-/* 27 */
-/***/ function(module, exports) {
+/* 45 */
+/***/ function(module, exports, __webpack_require__) {
- /* WEBPACK VAR INJECTION */(function(global) {'use strict';
-
- var expando = 'sektor-' + Date.now();
- var rsiblings = /[+~]/;
- var document = global.document;
- var del = document.documentElement || {};
- var match = (
- del.matches ||
- del.webkitMatchesSelector ||
- del.mozMatchesSelector ||
- del.oMatchesSelector ||
- del.msMatchesSelector ||
- never
- );
-
- module.exports = sektor;
-
- sektor.matches = matches;
- sektor.matchesSelector = matchesSelector;
-
- function qsa (selector, context) {
- var existed, id, prefix, prefixed, adapter, hack = context !== document;
- if (hack) { // id hack for context-rooted queries
- existed = context.getAttribute('id');
- id = existed || expando;
- prefix = '#' + id + ' ';
- prefixed = prefix + selector.replace(/,/g, ',' + prefix);
- adapter = rsiblings.test(selector) && context.parentNode;
- if (!existed) { context.setAttribute('id', id); }
- }
- try {
- return (adapter || context).querySelectorAll(prefixed || selector);
- } catch (e) {
- return [];
- } finally {
- if (existed === null) { context.removeAttribute('id'); }
- }
- }
-
- function sektor (selector, ctx, collection, seed) {
- var element;
- var context = ctx || document;
- var results = collection || [];
- var i = 0;
- if (typeof selector !== 'string') {
- return results;
- }
- if (context.nodeType !== 1 && context.nodeType !== 9) {
- return []; // bail if context is not an element or document
- }
- if (seed) {
- while ((element = seed[i++])) {
- if (matchesSelector(element, selector)) {
- results.push(element);
- }
- }
- } else {
- results.push.apply(results, qsa(selector, context));
- }
- return results;
- }
-
- function matches (selector, elements) {
- return sektor(selector, null, null, elements);
- }
-
- function matchesSelector (element, selector) {
- return match.call(element, selector);
- }
-
- function never () { return false; }
-
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
+ // to indexed object, toObject with fallback for non-array-like ES3 strings
+ var IObject = __webpack_require__(46)
+ , defined = __webpack_require__(48);
+ module.exports = function(it){
+ return IObject(defined(it));
+ };
/***/ },
-/* 28 */
+/* 46 */
/***/ function(module, exports, __webpack_require__) {
- /* WEBPACK VAR INJECTION */(function(global) {'use strict';
-
- var customEvent = __webpack_require__(29);
- var eventmap = __webpack_require__(30);
- var doc = global.document;
- var addEvent = addEventEasy;
- var removeEvent = removeEventEasy;
- var hardCache = [];
-
- if (!global.addEventListener) {
- addEvent = addEventHard;
- removeEvent = removeEventHard;
- }
-
- module.exports = {
- add: addEvent,
- remove: removeEvent,
- fabricate: fabricateEvent
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
+ var cof = __webpack_require__(47);
+ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
+ return cof(it) == 'String' ? it.split('') : Object(it);
};
-
- function addEventEasy (el, type, fn, capturing) {
- return el.addEventListener(type, fn, capturing);
- }
-
- function addEventHard (el, type, fn) {
- return el.attachEvent('on' + type, wrap(el, type, fn));
- }
-
- function removeEventEasy (el, type, fn, capturing) {
- return el.removeEventListener(type, fn, capturing);
- }
-
- function removeEventHard (el, type, fn) {
- var listener = unwrap(el, type, fn);
- if (listener) {
- return el.detachEvent('on' + type, listener);
- }
- }
-
- function fabricateEvent (el, type, model) {
- var e = eventmap.indexOf(type) === -1 ? makeCustomEvent() : makeClassicEvent();
- if (el.dispatchEvent) {
- el.dispatchEvent(e);
- } else {
- el.fireEvent('on' + type, e);
- }
- function makeClassicEvent () {
- var e;
- if (doc.createEvent) {
- e = doc.createEvent('Event');
- e.initEvent(type, true, true);
- } else if (doc.createEventObject) {
- e = doc.createEventObject();
- }
- return e;
- }
- function makeCustomEvent () {
- return new customEvent(type, { detail: model });
- }
- }
-
- function wrapperFactory (el, type, fn) {
- return function wrapper (originalEvent) {
- var e = originalEvent || global.event;
- e.target = e.target || e.srcElement;
- e.preventDefault = e.preventDefault || function preventDefault () { e.returnValue = false; };
- e.stopPropagation = e.stopPropagation || function stopPropagation () { e.cancelBubble = true; };
- e.which = e.which || e.keyCode;
- fn.call(el, e);
- };
- }
-
- function wrap (el, type, fn) {
- var wrapper = unwrap(el, type, fn) || wrapperFactory(el, type, fn);
- hardCache.push({
- wrapper: wrapper,
- element: el,
- type: type,
- fn: fn
- });
- return wrapper;
- }
-
- function unwrap (el, type, fn) {
- var i = find(el, type, fn);
- if (i) {
- var wrapper = hardCache[i].wrapper;
- hardCache.splice(i, 1); // free up a tad of memory
- return wrapper;
- }
- }
-
- function find (el, type, fn) {
- var i, item;
- for (i = 0; i < hardCache.length; i++) {
- item = hardCache[i];
- if (item.element === el && item.type === type && item.fn === fn) {
- return i;
- }
- }
- }
-
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
-/* 29 */
+/* 47 */
/***/ function(module, exports) {
- /* WEBPACK VAR INJECTION */(function(global) {
- var NativeCustomEvent = global.CustomEvent;
-
- function useNative () {
- try {
- var p = new NativeCustomEvent('cat', { detail: { foo: 'bar' } });
- return 'cat' === p.type && 'bar' === p.detail.foo;
- } catch (e) {
- }
- return false;
- }
-
- /**
- * Cross-browser `CustomEvent` constructor.
- *
- * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent.CustomEvent
- *
- * @public
- */
+ var toString = {}.toString;
- module.exports = useNative() ? NativeCustomEvent :
-
- // IE >= 9
- 'function' === typeof document.createEvent ? function CustomEvent (type, params) {
- var e = document.createEvent('CustomEvent');
- if (params) {
- e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);
- } else {
- e.initCustomEvent(type, false, false, void 0);
- }
- return e;
- } :
-
- // IE <= 8
- function CustomEvent (type, params) {
- var e = document.createEventObject();
- e.type = type;
- if (params) {
- e.bubbles = Boolean(params.bubbles);
- e.cancelable = Boolean(params.cancelable);
- e.detail = params.detail;
- } else {
- e.bubbles = false;
- e.cancelable = false;
- e.detail = void 0;
- }
- return e;
- }
-
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
+ module.exports = function(it){
+ return toString.call(it).slice(8, -1);
+ };
/***/ },
-/* 30 */
+/* 48 */
/***/ function(module, exports) {
- /* WEBPACK VAR INJECTION */(function(global) {'use strict';
+ // 7.2.1 RequireObjectCoercible(argument)
+ module.exports = function(it){
+ if(it == undefined)throw TypeError("Can't call method on " + it);
+ return it;
+ };
+
+/***/ },
+/* 49 */
+/***/ function(module, exports, __webpack_require__) {
+
+ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
+ var toIObject = __webpack_require__(45)
+ , getNames = __webpack_require__(28).getNames
+ , toString = {}.toString;
- var eventmap = [];
- var eventname = '';
- var ron = /^on/;
+ var windowNames = typeof window == 'object' && Object.getOwnPropertyNames
+ ? Object.getOwnPropertyNames(window) : [];
- for (eventname in global) {
- if (ron.test(eventname)) {
- eventmap.push(eventname.slice(2));
+ var getWindowNames = function(it){
+ try {
+ return getNames(it);
+ } catch(e){
+ return windowNames.slice();
}
- }
-
- module.exports = eventmap;
+ };
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
+ module.exports.get = function getOwnPropertyNames(it){
+ if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);
+ return getNames(toIObject(it));
+ };
/***/ },
-/* 31 */
+/* 50 */
/***/ function(module, exports, __webpack_require__) {
- 'use strict';
-
- var poser = __webpack_require__(32);
- var Dominus = poser.Array();
-
- module.exports = Dominus;
+ // all enumerable object keys, includes symbols
+ var $ = __webpack_require__(28);
+ module.exports = function(it){
+ var keys = $.getKeys(it)
+ , getSymbols = $.getSymbols;
+ if(getSymbols){
+ var symbols = getSymbols(it)
+ , isEnum = $.isEnum
+ , i = 0
+ , key;
+ while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key);
+ }
+ return keys;
+ };
+
+/***/ },
+/* 51 */
+/***/ function(module, exports, __webpack_require__) {
+ // 7.2.2 IsArray(argument)
+ var cof = __webpack_require__(47);
+ module.exports = Array.isArray || function(arg){
+ return cof(arg) == 'Array';
+ };
/***/ },
-/* 32 */
+/* 52 */
/***/ function(module, exports, __webpack_require__) {
- var poser = __webpack_require__(33);
-
- module.exports = poser;
-
- ['Array', 'Function', 'Object', 'Date', 'String'].forEach(pose);
-
- function pose (type) {
- poser[type] = function poseComputedType () { return poser(type); };
- }
+ var isObject = __webpack_require__(53);
+ module.exports = function(it){
+ if(!isObject(it))throw TypeError(it + ' is not an object!');
+ return it;
+ };
+
+/***/ },
+/* 53 */
+/***/ function(module, exports) {
+ module.exports = function(it){
+ return typeof it === 'object' ? it !== null : typeof it === 'function';
+ };
/***/ },
-/* 33 */
+/* 54 */
/***/ function(module, exports) {
- /* WEBPACK VAR INJECTION */(function(global) {'use strict';
-
- var d = global.document;
-
- function poser (type) {
- var iframe = d.createElement('iframe');
-
- iframe.style.display = 'none';
- d.body.appendChild(iframe);
-
- return map(type, iframe.contentWindow);
- }
-
- function map (type, source) { // forward polyfills to the stolen reference!
- var original = window[type].prototype;
- var value = source[type];
- var prop;
-
- for (prop in original) {
- value.prototype[prop] = original[prop];
- }
-
- return value;
- }
-
- module.exports = poser;
-
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
+ module.exports = true;
/***/ },
-/* 34 */
-/***/ function(module, exports, __webpack_require__) {
+/* 55 */
+/***/ function(module, exports) {
+
- /* WEBPACK VAR INJECTION */(function(global) {'use strict';
-
- var test = __webpack_require__(35);
- var apply = __webpack_require__(36);
- var Dominus = __webpack_require__(31);
-
- function cast (a) {
- if (a === global) {
- return new Dominus(a);
- }
- if (a instanceof Dominus) {
- return a;
- }
- if (!a) {
- return new Dominus();
- }
- if (test.isElement(a)) {
- return new Dominus(a);
- }
- if (!test.isArray(a)) {
- return new Dominus();
- }
- return apply(a).filter(function (i) {
- return test.isElement(i);
- });
- }
-
- module.exports = cast;
-
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
-/* 35 */
+/* 56 */
/***/ function(module, exports) {
- 'use strict';
-
- var elementObjects = typeof HTMLElement === 'object';
-
- function isElement (o) {
- return elementObjects ? o instanceof HTMLElement : isElementObject(o);
- }
-
- function isElementObject (o) {
- return o &&
- typeof o === 'object' &&
- typeof o.nodeName === 'string' &&
- o.nodeType === 1;
- }
-
- function isArray (a) {
- return Object.prototype.toString.call(a) === '[object Array]';
- }
-
- function isCheckable (elem) {
- return 'checked' in elem && elem.type === 'radio' || elem.type === 'checkbox';
- }
-
- module.exports = {
- isElement: isElement,
- isArray: isArray,
- isCheckable: isCheckable
- };
+ module.exports = "\n\n";
+
+/***/ },
+/* 57 */
+/***/ function(module, exports) {
+ module.exports = "\n\n";
/***/ },
-/* 36 */
+/* 58 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
- var Dominus = __webpack_require__(31);
- var proto = Dominus.prototype;
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
- function Applied (args) {
- return Dominus.apply(this, args);
- }
+ var _tetherDrop = __webpack_require__(59);
- Applied.prototype = proto;
+ var _tetherDrop2 = _interopRequireDefault(_tetherDrop);
- function apply (a) {
- return new Applied(a);
- }
+ var _classlist = __webpack_require__(23);
- ['map', 'filter', 'concat', 'slice'].forEach(ensure);
+ var _classlist2 = _interopRequireDefault(_classlist);
- function ensure (key) {
- var original = proto[key];
- proto[key] = function applied () {
- return apply(original.apply(this, arguments));
- };
- }
-
- module.exports = apply;
-
-
-/***/ },
-/* 37 */
-/***/ function(module, exports) {
-
- 'use strict';
-
- function hyphenToCamel (hyphens) {
- var part = /-([a-z])/g;
- return hyphens.replace(part, function (g, m) {
- return m.toUpperCase();
- });
- }
-
- function hyphenate (text) {
- var camel = /([a-z])([A-Z])/g;
- return text.replace(camel, '$1-$2').toLowerCase();
- }
-
- module.exports = {
- hyphenToCamel: hyphenToCamel,
- hyphenate: hyphenate
- };
-
-
-/***/ },
-/* 38 */
-/***/ function(module, exports) {
-
- 'use strict';
-
- var handlers = {};
-
- function register (name, type, filter) {
- handlers[name] = {
- event: type,
- filter: filter,
- wrap: wrap
- };
-
- function wrap (fn) {
- return wrapper(name, fn);
- }
- }
-
- function wrapper (name, fn) {
- if (!fn) {
- return fn;
- }
- var key = '__dce_' + name;
- if (fn[key]) {
- return fn[key];
- }
- fn[key] = function customEvent (e) {
- var match = handlers[name].filter(e);
- if (match) {
- return fn.apply(this, arguments);
- }
- };
- return fn[key];
- }
-
- register('left-click', 'click', function (e) {
- return e.which === 1 && !e.metaKey && !e.ctrlKey;
- });
-
- module.exports = {
- register: register,
- wrapper: wrapper,
- handlers: handlers
- };
-
-
-/***/ },
-/* 39 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- var Dominus = __webpack_require__(31);
-
- function flatten (a, cache) {
- return a.reduce(function (current, item) {
- if (Dominus.isArray(item)) {
- return flatten(item, current);
- } else if (current.indexOf(item) === -1) {
- return current.concat(item);
- }
- return current;
- }, cache || new Dominus());
- }
-
- module.exports = flatten;
-
-
-/***/ },
-/* 40 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- var trim = /^\s+|\s+$/g;
- var whitespace = /\s+/g;
- var test = __webpack_require__(35);
-
- function interpret (input) {
- return typeof input === 'string' ? input.replace(trim, '').split(whitespace) : input;
- }
-
- function classes (el) {
- if (test.isElement(el)) {
- return el.className.replace(trim, '').split(whitespace);
- }
- return [];
- }
-
- function set (el, input) {
- if (test.isElement(el)) {
- el.className = interpret(input).join(' ');
- }
- }
-
- function add (el, input) {
- var current = remove(el, input);
- var values = interpret(input);
- current.push.apply(current, values);
- set(el, current);
- return current;
- }
-
- function remove (el, input) {
- var current = classes(el);
- var values = interpret(input);
- values.forEach(function (value) {
- var i = current.indexOf(value);
- if (i !== -1) {
- current.splice(i, 1);
- }
- });
- set(el, current);
- return current;
- }
-
- function contains (el, input) {
- var current = classes(el);
- var values = interpret(input);
-
- return values.every(function (value) {
- return current.indexOf(value) !== -1;
- });
- }
-
- module.exports = {
- add: add,
- remove: remove,
- contains: contains,
- set: set,
- get: classes
- };
-
-
-/***/ },
-/* 41 */
-/***/ function(module, exports) {
-
- module.exports = "\n\n";
-
-/***/ },
-/* 42 */
-/***/ function(module, exports) {
-
- module.exports = "\n\n";
-
-/***/ },
-/* 43 */
-/***/ function(module, exports, __webpack_require__) {
-
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _dominus = __webpack_require__(23);
-
- var _dominus2 = _interopRequireDefault(_dominus);
-
- var _tetherDrop = __webpack_require__(44);
-
- var _tetherDrop2 = _interopRequireDefault(_tetherDrop);
-
- var _ReceivesTargetedEvent = __webpack_require__(46);
+ var _ReceivesTargetedEvent = __webpack_require__(61);
var _ReceivesTargetedEvent2 = _interopRequireDefault(_ReceivesTargetedEvent);
@@ -2396,7 +1937,6 @@ return /******/ (function(modules) { // webpackBootstrap
content: this.$els.dropdown,
position: this.dropdownPosition,
constrainToWindow: true,
- constrainToScrollParent: true,
openOn: this.openOn
});
@@ -2407,8 +1947,8 @@ return /******/ (function(modules) { // webpackBootstrap
this.drop.close();
}
- this.drop.on('open', this.dropdownOpened);
this.drop.on('open', this.positionDrop);
+ this.drop.on('open', this.dropdownOpened);
this.drop.on('close', this.dropdownClosed);
},
openDropdown: function openDropdown() {
@@ -2419,14 +1959,19 @@ return /******/ (function(modules) { // webpackBootstrap
positionDrop: function positionDrop() {
var drop = this.drop;
var windowWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
- var dropWidth = drop.drop.getBoundingClientRect().width,
- left = drop.target.getBoundingClientRect().left,
- right = windowWidth - left,
- direction = dropWidth > right ? 'right' : 'left';
- drop.tether.attachment.left = direction;
- drop.tether.targetAttachment.left = direction;
- drop.position();
+ var dropWidth = drop.drop.getBoundingClientRect().width;
+ var left = drop.target.getBoundingClientRect().left;
+ var availableSpace = windowWidth - left;
+
+ if (dropWidth > availableSpace) {
+ var direction = dropWidth > availableSpace ? 'right' : 'left';
+
+ drop.tether.attachment.left = direction;
+ drop.tether.targetAttachment.left = direction;
+
+ drop.position();
+ }
},
closeDropdown: function closeDropdown() {
if (this.drop) {
@@ -2439,7 +1984,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
},
dropdownOpened: function dropdownOpened() {
- (0, _dominus2.default)(this.trigger).addClass('dropdown-open');
+ _classlist2.default.add(this.trigger, 'dropdown-open');
this.lastFocussedElement = document.activeElement;
this.$els.dropdown.focus();
@@ -2447,7 +1992,7 @@ return /******/ (function(modules) { // webpackBootstrap
this.$dispatch('dropdown-opened');
},
dropdownClosed: function dropdownClosed() {
- (0, _dominus2.default)(this.trigger).removeClass('dropdown-open');
+ _classlist2.default.remove(this.trigger, 'dropdown-open');
if (this.lastFocussedElement) {
this.lastFocussedElement.focus();
@@ -2461,14 +2006,14 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 44 */
+/* 59 */
/***/ function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! tether-drop 1.4.1 */
(function(root, factory) {
if (true) {
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(45)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(60)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
} else if (typeof exports === 'object') {
module.exports = factory(require('tether'));
} else {
@@ -3027,10 +2572,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 45 */
+/* 60 */
/***/ function(module, exports, __webpack_require__) {
- var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! tether 1.3.1 */
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! tether 1.2.0 */
(function(root, factory) {
if (true) {
@@ -3053,29 +2598,25 @@ return /******/ (function(modules) { // webpackBootstrap
TetherBase = { modules: [] };
}
- var zeroElement = null;
-
- function getScrollParents(el) {
+ function getScrollParent(el) {
// In firefox if the el is inside an iframe with display: none; window.getComputedStyle() will return null;
// https://bugzilla.mozilla.org/show_bug.cgi?id=548397
var computedStyle = getComputedStyle(el) || {};
var position = computedStyle.position;
- var parents = [];
if (position === 'fixed') {
- return [el];
+ return el;
}
var parent = el;
- while ((parent = parent.parentNode) && parent && parent.nodeType === 1) {
+ while (parent = parent.parentNode) {
var style = undefined;
try {
style = getComputedStyle(parent);
} catch (err) {}
if (typeof style === 'undefined' || style === null) {
- parents.push(parent);
- return parents;
+ return parent;
}
var _style = style;
@@ -3085,13 +2626,12 @@ return /******/ (function(modules) { // webpackBootstrap
if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {
if (position !== 'absolute' || ['relative', 'absolute', 'fixed'].indexOf(style.position) >= 0) {
- parents.push(parent);
+ return parent;
}
}
}
- parents.push(document.body);
- return parents;
+ return document.body;
}
var uniqueId = (function () {
@@ -3102,14 +2642,14 @@ return /******/ (function(modules) { // webpackBootstrap
})();
var zeroPosCache = {};
- var getOrigin = function getOrigin() {
+ var getOrigin = function getOrigin(doc) {
// getBoundingClientRect is unfortunately too accurate. It introduces a pixel or two of
// jitter as the user scrolls that messes with our ability to detect if two positions
// are equivilant or not. We place an element at the top left of the page that will
// get the same jitter, so we can cancel the two out.
- var node = zeroElement;
- if (!node) {
- node = document.createElement('div');
+ var node = doc._tetherZeroElement;
+ if (typeof node === 'undefined') {
+ node = doc.createElement('div');
node.setAttribute('data-tether-id', uniqueId());
extend(node.style, {
top: 0,
@@ -3117,9 +2657,9 @@ return /******/ (function(modules) { // webpackBootstrap
position: 'absolute'
});
- document.body.appendChild(node);
+ doc.body.appendChild(node);
- zeroElement = node;
+ doc._tetherZeroElement = node;
}
var id = node.getAttribute('data-tether-id');
@@ -3141,13 +2681,6 @@ return /******/ (function(modules) { // webpackBootstrap
return zeroPosCache[id];
};
- function removeUtilElements() {
- if (zeroElement) {
- document.body.removeChild(zeroElement);
- }
- zeroElement = null;
- };
-
function getBounds(el) {
var doc = undefined;
if (el === document) {
@@ -3167,7 +2700,7 @@ return /******/ (function(modules) { // webpackBootstrap
box[k] = rect[k];
}
- var origin = getOrigin();
+ var origin = getOrigin(doc);
box.top -= origin.top;
box.left -= origin.left;
@@ -3403,7 +2936,7 @@ return /******/ (function(modules) { // webpackBootstrap
})();
TetherBase.Utils = {
- getScrollParents: getScrollParents,
+ getScrollParent: getScrollParent,
getBounds: getBounds,
getOffsetParent: getOffsetParent,
extend: extend,
@@ -3415,8 +2948,7 @@ return /******/ (function(modules) { // webpackBootstrap
flush: flush,
uniqueId: uniqueId,
Evented: Evented,
- getScrollBarSize: getScrollBarSize,
- removeUtilElements: removeUtilElements
+ getScrollBarSize: getScrollBarSize
};
/* globals TetherBase, performance */
@@ -3426,18 +2958,14 @@ return /******/ (function(modules) { // webpackBootstrap
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
- var _get = function get(_x6, _x7, _x8) { var _again = true; _function: while (_again) { var object = _x6, property = _x7, receiver = _x8; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x6 = parent; _x7 = property; _x8 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
- function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
-
if (typeof TetherBase === 'undefined') {
throw new Error('You must include the utils.js file before tether.js');
}
var _TetherBase$Utils = TetherBase.Utils;
- var getScrollParents = _TetherBase$Utils.getScrollParents;
+ var getScrollParent = _TetherBase$Utils.getScrollParent;
var getBounds = _TetherBase$Utils.getBounds;
var getOffsetParent = _TetherBase$Utils.getOffsetParent;
var extend = _TetherBase$Utils.extend;
@@ -3447,7 +2975,6 @@ return /******/ (function(modules) { // webpackBootstrap
var defer = _TetherBase$Utils.defer;
var flush = _TetherBase$Utils.flush;
var getScrollBarSize = _TetherBase$Utils.getScrollBarSize;
- var removeUtilElements = _TetherBase$Utils.removeUtilElements;
function within(a, b) {
var diff = arguments.length <= 2 || arguments[2] === undefined ? 1 : arguments[2];
@@ -3506,7 +3033,7 @@ return /******/ (function(modules) { // webpackBootstrap
return;
}
- if (pendingTimeout != null) {
+ if (typeof pendingTimeout !== 'undefined') {
clearTimeout(pendingTimeout);
pendingTimeout = null;
}
@@ -3516,7 +3043,7 @@ return /******/ (function(modules) { // webpackBootstrap
lastDuration = now() - lastCall;
};
- if (typeof window !== 'undefined' && typeof window.addEventListener !== 'undefined') {
+ if (typeof window !== 'undefined') {
['resize', 'scroll', 'touchmove'].forEach(function (event) {
window.addEventListener(event, tick);
});
@@ -3622,15 +3149,12 @@ return /******/ (function(modules) { // webpackBootstrap
};
var parseAttachment = parseOffset;
- var TetherClass = (function (_Evented) {
- _inherits(TetherClass, _Evented);
-
+ var TetherClass = (function () {
function TetherClass(options) {
var _this = this;
_classCallCheck(this, TetherClass);
- _get(Object.getPrototypeOf(TetherClass.prototype), 'constructor', this).call(this);
this.position = this.position.bind(this);
tethers.push(this);
@@ -3721,14 +3245,14 @@ return /******/ (function(modules) { // webpackBootstrap
this.offset = parseOffset(this.options.offset);
this.targetOffset = parseOffset(this.options.targetOffset);
- if (typeof this.scrollParents !== 'undefined') {
+ if (typeof this.scrollParent !== 'undefined') {
this.disable();
}
if (this.targetModifier === 'scroll-handle') {
- this.scrollParents = [this.target];
+ this.scrollParent = this.target;
} else {
- this.scrollParents = getScrollParents(this.target);
+ this.scrollParent = getScrollParent(this.target);
}
if (!(this.options.enabled === false)) {
@@ -3849,8 +3373,6 @@ return /******/ (function(modules) { // webpackBootstrap
}, {
key: 'enable',
value: function enable() {
- var _this3 = this;
-
var pos = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
if (!(this.options.addTargetClasses === false)) {
@@ -3859,11 +3381,9 @@ return /******/ (function(modules) { // webpackBootstrap
addClass(this.element, this.getClass('enabled'));
this.enabled = true;
- this.scrollParents.forEach(function (parent) {
- if (parent !== document) {
- parent.addEventListener('scroll', _this3.position);
- }
- });
+ if (this.scrollParent !== document) {
+ this.scrollParent.addEventListener('scroll', this.position);
+ }
if (pos) {
this.position();
@@ -3872,40 +3392,32 @@ return /******/ (function(modules) { // webpackBootstrap
}, {
key: 'disable',
value: function disable() {
- var _this4 = this;
-
removeClass(this.target, this.getClass('enabled'));
removeClass(this.element, this.getClass('enabled'));
this.enabled = false;
- if (typeof this.scrollParents !== 'undefined') {
- this.scrollParents.forEach(function (parent) {
- parent.removeEventListener('scroll', _this4.position);
- });
+ if (typeof this.scrollParent !== 'undefined') {
+ this.scrollParent.removeEventListener('scroll', this.position);
}
}
}, {
key: 'destroy',
value: function destroy() {
- var _this5 = this;
+ var _this3 = this;
this.disable();
tethers.forEach(function (tether, i) {
- if (tether === _this5) {
+ if (tether === _this3) {
tethers.splice(i, 1);
+ return;
}
});
-
- // Remove any elements we were using for convenience from the DOM
- if (tethers.length === 0) {
- removeUtilElements();
- }
}
}, {
key: 'updateAttachClasses',
value: function updateAttachClasses(elementAttach, targetAttach) {
- var _this6 = this;
+ var _this4 = this;
elementAttach = elementAttach || this.attachment;
targetAttach = targetAttach || this.targetAttachment;
@@ -3938,27 +3450,27 @@ return /******/ (function(modules) { // webpackBootstrap
var all = [];
sides.forEach(function (side) {
- all.push(_this6.getClass('element-attached') + '-' + side);
- all.push(_this6.getClass('target-attached') + '-' + side);
+ all.push(_this4.getClass('element-attached') + '-' + side);
+ all.push(_this4.getClass('target-attached') + '-' + side);
});
defer(function () {
- if (!(typeof _this6._addAttachClasses !== 'undefined')) {
+ if (!(typeof _this4._addAttachClasses !== 'undefined')) {
return;
}
- updateClasses(_this6.element, _this6._addAttachClasses, all);
- if (!(_this6.options.addTargetClasses === false)) {
- updateClasses(_this6.target, _this6._addAttachClasses, all);
+ updateClasses(_this4.element, _this4._addAttachClasses, all);
+ if (!(_this4.options.addTargetClasses === false)) {
+ updateClasses(_this4.target, _this4._addAttachClasses, all);
}
- delete _this6._addAttachClasses;
+ delete _this4._addAttachClasses;
});
}
}, {
key: 'position',
value: function position() {
- var _this7 = this;
+ var _this5 = this;
var flushChanges = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
@@ -3977,7 +3489,7 @@ return /******/ (function(modules) { // webpackBootstrap
this.updateAttachClasses(this.attachment, targetAttachment);
var elementPos = this.cache('element-bounds', function () {
- return getBounds(_this7.element);
+ return getBounds(_this5.element);
});
var width = elementPos.width;
@@ -3995,7 +3507,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
var targetPos = this.cache('target-bounds', function () {
- return _this7.getTargetBounds();
+ return _this5.getTargetBounds();
});
var targetSize = targetPos;
@@ -4079,10 +3591,10 @@ return /******/ (function(modules) { // webpackBootstrap
if (typeof this.options.optimizations !== 'undefined' && this.options.optimizations.moveElement !== false && !(typeof this.targetModifier !== 'undefined')) {
(function () {
- var offsetParent = _this7.cache('target-offsetparent', function () {
- return getOffsetParent(_this7.target);
+ var offsetParent = _this5.cache('target-offsetparent', function () {
+ return getOffsetParent(_this5.target);
});
- var offsetPosition = _this7.cache('target-offsetparent-bounds', function () {
+ var offsetPosition = _this5.cache('target-offsetparent-bounds', function () {
return getBounds(offsetParent);
});
var offsetParentStyle = getComputedStyle(offsetParent);
@@ -4135,7 +3647,7 @@ return /******/ (function(modules) { // webpackBootstrap
}, {
key: 'move',
value: function move(pos) {
- var _this8 = this;
+ var _this6 = this;
if (!(typeof this.element.parentNode !== 'undefined')) {
return;
@@ -4166,8 +3678,8 @@ return /******/ (function(modules) { // webpackBootstrap
var css = { top: '', left: '', right: '', bottom: '' };
var transcribe = function transcribe(_same, _pos) {
- var hasOptimizations = typeof _this8.options.optimizations !== 'undefined';
- var gpu = hasOptimizations ? _this8.options.optimizations.gpu : null;
+ var hasOptimizations = typeof _this6.options.optimizations !== 'undefined';
+ var gpu = hasOptimizations ? _this6.options.optimizations.gpu : null;
if (gpu !== false) {
var yPos = undefined,
xPos = undefined;
@@ -4219,14 +3731,14 @@ return /******/ (function(modules) { // webpackBootstrap
} else if (typeof same.offset !== 'undefined' && same.offset.top && same.offset.left) {
(function () {
css.position = 'absolute';
- var offsetParent = _this8.cache('target-offsetparent', function () {
- return getOffsetParent(_this8.target);
+ var offsetParent = _this6.cache('target-offsetparent', function () {
+ return getOffsetParent(_this6.target);
});
- if (getOffsetParent(_this8.element) !== offsetParent) {
+ if (getOffsetParent(_this6.element) !== offsetParent) {
defer(function () {
- _this8.element.parentNode.removeChild(_this8.element);
- offsetParent.appendChild(_this8.element);
+ _this6.element.parentNode.removeChild(_this6.element);
+ offsetParent.appendChild(_this6.element);
});
}
@@ -4241,7 +3753,7 @@ return /******/ (function(modules) { // webpackBootstrap
if (!moved) {
var offsetParentIsBody = true;
var currentNode = this.element.parentNode;
- while (currentNode && currentNode.nodeType === 1 && currentNode.tagName !== 'BODY') {
+ while (currentNode && currentNode.tagName !== 'BODY') {
if (getComputedStyle(currentNode).position !== 'static') {
offsetParentIsBody = false;
break;
@@ -4263,6 +3775,11 @@ return /******/ (function(modules) { // webpackBootstrap
var val = css[key];
var elVal = this.element.style[key];
+ if (elVal !== '' && val !== '' && ['top', 'left', 'bottom', 'right'].indexOf(key) >= 0) {
+ elVal = parseFloat(elVal);
+ val = parseFloat(val);
+ }
+
if (elVal !== val) {
write = true;
writeCSS[key] = val;
@@ -4271,14 +3788,14 @@ return /******/ (function(modules) { // webpackBootstrap
if (write) {
defer(function () {
- extend(_this8.element.style, writeCSS);
+ extend(_this6.element.style, writeCSS);
});
}
}
}]);
return TetherClass;
- })(Evented);
+ })();
TetherClass.modules = [];
@@ -4301,7 +3818,7 @@ return /******/ (function(modules) { // webpackBootstrap
function getBoundingRect(tether, to) {
if (to === 'scrollParent') {
- to = tether.scrollParents[0];
+ to = tether.scrollParent;
} else if (to === 'window') {
to = [pageXOffset, pageYOffset, innerWidth + pageXOffset, innerHeight + pageYOffset];
}
@@ -4429,32 +3946,34 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (changeAttachY === 'together') {
- if (tAttachment.top === 'top') {
- if (eAttachment.top === 'bottom' && top < bounds[1]) {
+ if (top < bounds[1] && tAttachment.top === 'top') {
+ if (eAttachment.top === 'bottom') {
top += targetHeight;
tAttachment.top = 'bottom';
top += height;
eAttachment.top = 'top';
- } else if (eAttachment.top === 'top' && top + height > bounds[3] && top - (height - targetHeight) >= bounds[1]) {
- top -= height - targetHeight;
+ } else if (eAttachment.top === 'top') {
+ top += targetHeight;
tAttachment.top = 'bottom';
+ top -= height;
eAttachment.top = 'bottom';
}
}
- if (tAttachment.top === 'bottom') {
- if (eAttachment.top === 'top' && top + height > bounds[3]) {
+ if (top + height > bounds[3] && tAttachment.top === 'bottom') {
+ if (eAttachment.top === 'top') {
top -= targetHeight;
tAttachment.top = 'top';
top -= height;
eAttachment.top = 'bottom';
- } else if (eAttachment.top === 'bottom' && top < bounds[1] && top + (height * 2 - targetHeight) <= bounds[3]) {
- top += height - targetHeight;
+ } else if (eAttachment.top === 'bottom') {
+ top -= targetHeight;
tAttachment.top = 'top';
+ top += height;
eAttachment.top = 'top';
}
}
@@ -4646,10 +4165,6 @@ return /******/ (function(modules) { // webpackBootstrap
if (tAttachment.top !== targetAttachment.top || tAttachment.left !== targetAttachment.left || eAttachment.top !== _this.attachment.top || eAttachment.left !== _this.attachment.left) {
_this.updateAttachClasses(eAttachment, tAttachment);
- _this.trigger('update', {
- attachment: eAttachment,
- targetAttachment: tAttachment
- });
}
});
@@ -4789,7 +4304,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 46 */
+/* 61 */
/***/ function(module, exports) {
"use strict";
@@ -4814,23 +4329,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 47 */
+/* 62 */
/***/ function(module, exports) {
- module.exports = "\n\n";
+ module.exports = "\n\n";
/***/ },
-/* 48 */
+/* 63 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(49)
- __vue_script__ = __webpack_require__(50)
+ __webpack_require__(64)
+ __vue_script__ = __webpack_require__(65)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiPopover.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(51)
+ console.warn("[vue-loader] src\\UiPopover.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(66)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -4838,9 +4353,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-65b33fc8/UiPopover.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiPopover.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -4849,13 +4364,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 49 */
+/* 64 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 50 */
+/* 65 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -4864,7 +4379,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _ShowsDropdown = __webpack_require__(43);
+ var _ShowsDropdown = __webpack_require__(58);
var _ShowsDropdown2 = _interopRequireDefault(_ShowsDropdown);
@@ -4909,23 +4424,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 51 */
+/* 66 */
/***/ function(module, exports) {
module.exports = "\n\n \n
\n";
/***/ },
-/* 52 */
+/* 67 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(53)
- __vue_script__ = __webpack_require__(54)
+ __webpack_require__(68)
+ __vue_script__ = __webpack_require__(69)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiProgressCircular.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(55)
+ console.warn("[vue-loader] src\\UiProgressCircular.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(70)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -4933,9 +4448,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-9427004e/UiProgressCircular.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiProgressCircular.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -4944,13 +4459,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 53 */
+/* 68 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 54 */
+/* 69 */
/***/ function(module, exports) {
'use strict';
@@ -5035,13 +4550,13 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 55 */
+/* 70 */
/***/ function(module, exports) {
module.exports = "\n\n \n\n \n
\n";
/***/ },
-/* 56 */
+/* 71 */
/***/ function(module, exports) {
"use strict";
@@ -5055,7 +4570,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 57 */
+/* 72 */
/***/ function(module, exports) {
'use strict';
@@ -5099,7 +4614,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 58 */
+/* 73 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -5108,7 +4623,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _UiTooltip = __webpack_require__(59);
+ var _UiTooltip = __webpack_require__(74);
var _UiTooltip2 = _interopRequireDefault(_UiTooltip);
@@ -5117,6 +4632,7 @@ return /******/ (function(modules) { // webpackBootstrap
exports.default = {
props: {
tooltip: String,
+ openTooltipOn: String,
tooltipPosition: String
},
@@ -5126,17 +4642,17 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 59 */
+/* 74 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(60)
- __vue_script__ = __webpack_require__(61)
+ __webpack_require__(75)
+ __vue_script__ = __webpack_require__(76)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiTooltip.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(64)
+ console.warn("[vue-loader] src\\UiTooltip.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(78)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -5144,9 +4660,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-eb6e5bb4/UiTooltip.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiTooltip.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -5155,13 +4671,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 60 */
+/* 75 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 61 */
+/* 76 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -5170,7 +4686,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _tetherTooltip = __webpack_require__(62);
+ var _tetherTooltip = __webpack_require__(77);
var _tetherTooltip2 = _interopRequireDefault(_tetherTooltip);
@@ -5237,14 +4753,14 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 62 */
+/* 77 */
/***/ function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! tether-tooltip 1.1.0 */
(function(root, factory) {
if (true) {
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(44),__webpack_require__(63)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(59),__webpack_require__(60)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
} else if (typeof exports === 'object') {
module.exports = factory(require('tether-drop'), require('tether'));
} else {
@@ -5284,1894 +4800,132 @@ return /******/ (function(modules) { // webpackBootstrap
if (!this.options.target) {
throw new Error('Tooltip Error: You must provide a target for Tooltip to attach to');
- }
-
- var position = this.options.target.getAttribute('data-tooltip-position');
- if (position) {
- if (typeof this.options.position === 'undefined') {
- this.options.position = position;
- }
- }
-
- var content = this.options.target.getAttribute('data-tooltip');
-
- if (content) {
- if (typeof this.options.content === 'undefined') {
- var contentEl = document.createElement('div');
- contentEl.innerHTML = content;
-
- // Add ARIA attributes (see #50)
- contentEl.setAttribute('role', 'tooltip');
- contentEl.id = 'drop-tooltip-' + tooltipCount;
- this.options.target.setAttribute('aria-describedby', contentEl.id);
- tooltipCount += 1;
-
- this.options.content = contentEl;
- }
- }
-
- if (!this.options.content) {
- throw new Error('Tooltip Error: You must provide content for Tooltip to display');
- }
-
- this.options = extend({}, defaults, this.options);
-
- this.drop = new _Drop(this.options);
- }
-
- _createClass(Tooltip, [{
- key: 'close',
- value: function close() {
- this.drop.close();
- }
- }, {
- key: 'open',
- value: function open() {
- this.drop.open();
- }
- }, {
- key: 'toggle',
- value: function toggle() {
- this.drop.toggle();
- }
- }, {
- key: 'remove',
- value: function remove() {
- this.drop.remove();
- }
- }, {
- key: 'destroy',
- value: function destroy() {
- this.drop.destroy();
- }
- }, {
- key: 'position',
- value: function position() {
- this.drop.position();
- }
- }]);
-
- return Tooltip;
- })();
-
- var initialized = [];
-
- Tooltip.init = function () {
- var tooltipElements = document.querySelectorAll('[data-tooltip]');
- var len = tooltipElements.length;
- for (var i = 0; i < len; ++i) {
- var el = tooltipElements[i];
- if (initialized.indexOf(el) === -1) {
- new Tooltip({
- target: el
- });
- initialized.push(el);
- }
- }
- };
-
- document.addEventListener('DOMContentLoaded', function () {
- if (Tooltip.autoinit !== false) {
- Tooltip.init();
- }
- });
- return Tooltip;
-
- }));
-
-
-/***/ },
-/* 63 */
-/***/ function(module, exports, __webpack_require__) {
-
- var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! tether 1.3.1 */
-
- (function(root, factory) {
- if (true) {
- !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
- } else if (typeof exports === 'object') {
- module.exports = factory(require, exports, module);
- } else {
- root.Tether = factory();
- }
- }(this, function(require, exports, module) {
-
- 'use strict';
-
- var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
-
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
-
- var TetherBase = undefined;
- if (typeof TetherBase === 'undefined') {
- TetherBase = { modules: [] };
- }
-
- var zeroElement = null;
-
- function getScrollParents(el) {
- // In firefox if the el is inside an iframe with display: none; window.getComputedStyle() will return null;
- // https://bugzilla.mozilla.org/show_bug.cgi?id=548397
- var computedStyle = getComputedStyle(el) || {};
- var position = computedStyle.position;
- var parents = [];
-
- if (position === 'fixed') {
- return [el];
- }
-
- var parent = el;
- while ((parent = parent.parentNode) && parent && parent.nodeType === 1) {
- var style = undefined;
- try {
- style = getComputedStyle(parent);
- } catch (err) {}
-
- if (typeof style === 'undefined' || style === null) {
- parents.push(parent);
- return parents;
- }
-
- var _style = style;
- var overflow = _style.overflow;
- var overflowX = _style.overflowX;
- var overflowY = _style.overflowY;
-
- if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {
- if (position !== 'absolute' || ['relative', 'absolute', 'fixed'].indexOf(style.position) >= 0) {
- parents.push(parent);
- }
- }
- }
-
- parents.push(document.body);
- return parents;
- }
-
- var uniqueId = (function () {
- var id = 0;
- return function () {
- return ++id;
- };
- })();
-
- var zeroPosCache = {};
- var getOrigin = function getOrigin() {
- // getBoundingClientRect is unfortunately too accurate. It introduces a pixel or two of
- // jitter as the user scrolls that messes with our ability to detect if two positions
- // are equivilant or not. We place an element at the top left of the page that will
- // get the same jitter, so we can cancel the two out.
- var node = zeroElement;
- if (!node) {
- node = document.createElement('div');
- node.setAttribute('data-tether-id', uniqueId());
- extend(node.style, {
- top: 0,
- left: 0,
- position: 'absolute'
- });
-
- document.body.appendChild(node);
-
- zeroElement = node;
- }
-
- var id = node.getAttribute('data-tether-id');
- if (typeof zeroPosCache[id] === 'undefined') {
- zeroPosCache[id] = {};
-
- var rect = node.getBoundingClientRect();
- for (var k in rect) {
- // Can't use extend, as on IE9, elements don't resolve to be hasOwnProperty
- zeroPosCache[id][k] = rect[k];
- }
-
- // Clear the cache when this position call is done
- defer(function () {
- delete zeroPosCache[id];
- });
- }
-
- return zeroPosCache[id];
- };
-
- function removeUtilElements() {
- if (zeroElement) {
- document.body.removeChild(zeroElement);
- }
- zeroElement = null;
- };
-
- function getBounds(el) {
- var doc = undefined;
- if (el === document) {
- doc = document;
- el = document.documentElement;
- } else {
- doc = el.ownerDocument;
- }
-
- var docEl = doc.documentElement;
-
- var box = {};
- // The original object returned by getBoundingClientRect is immutable, so we clone it
- // We can't use extend because the properties are not considered part of the object by hasOwnProperty in IE9
- var rect = el.getBoundingClientRect();
- for (var k in rect) {
- box[k] = rect[k];
- }
-
- var origin = getOrigin();
-
- box.top -= origin.top;
- box.left -= origin.left;
-
- if (typeof box.width === 'undefined') {
- box.width = document.body.scrollWidth - box.left - box.right;
- }
- if (typeof box.height === 'undefined') {
- box.height = document.body.scrollHeight - box.top - box.bottom;
- }
-
- box.top = box.top - docEl.clientTop;
- box.left = box.left - docEl.clientLeft;
- box.right = doc.body.clientWidth - box.width - box.left;
- box.bottom = doc.body.clientHeight - box.height - box.top;
-
- return box;
- }
-
- function getOffsetParent(el) {
- return el.offsetParent || document.documentElement;
- }
-
- function getScrollBarSize() {
- var inner = document.createElement('div');
- inner.style.width = '100%';
- inner.style.height = '200px';
-
- var outer = document.createElement('div');
- extend(outer.style, {
- position: 'absolute',
- top: 0,
- left: 0,
- pointerEvents: 'none',
- visibility: 'hidden',
- width: '200px',
- height: '150px',
- overflow: 'hidden'
- });
-
- outer.appendChild(inner);
-
- document.body.appendChild(outer);
-
- var widthContained = inner.offsetWidth;
- outer.style.overflow = 'scroll';
- var widthScroll = inner.offsetWidth;
-
- if (widthContained === widthScroll) {
- widthScroll = outer.clientWidth;
- }
-
- document.body.removeChild(outer);
-
- var width = widthContained - widthScroll;
-
- return { width: width, height: width };
- }
-
- function extend() {
- var out = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
-
- var args = [];
-
- Array.prototype.push.apply(args, arguments);
-
- args.slice(1).forEach(function (obj) {
- if (obj) {
- for (var key in obj) {
- if (({}).hasOwnProperty.call(obj, key)) {
- out[key] = obj[key];
- }
- }
- }
- });
-
- return out;
- }
-
- function removeClass(el, name) {
- if (typeof el.classList !== 'undefined') {
- name.split(' ').forEach(function (cls) {
- if (cls.trim()) {
- el.classList.remove(cls);
- }
- });
- } else {
- var regex = new RegExp('(^| )' + name.split(' ').join('|') + '( |$)', 'gi');
- var className = getClassName(el).replace(regex, ' ');
- setClassName(el, className);
- }
- }
-
- function addClass(el, name) {
- if (typeof el.classList !== 'undefined') {
- name.split(' ').forEach(function (cls) {
- if (cls.trim()) {
- el.classList.add(cls);
- }
- });
- } else {
- removeClass(el, name);
- var cls = getClassName(el) + (' ' + name);
- setClassName(el, cls);
- }
- }
-
- function hasClass(el, name) {
- if (typeof el.classList !== 'undefined') {
- return el.classList.contains(name);
- }
- var className = getClassName(el);
- return new RegExp('(^| )' + name + '( |$)', 'gi').test(className);
- }
-
- function getClassName(el) {
- if (el.className instanceof SVGAnimatedString) {
- return el.className.baseVal;
- }
- return el.className;
- }
-
- function setClassName(el, className) {
- el.setAttribute('class', className);
- }
-
- function updateClasses(el, add, all) {
- // Of the set of 'all' classes, we need the 'add' classes, and only the
- // 'add' classes to be set.
- all.forEach(function (cls) {
- if (add.indexOf(cls) === -1 && hasClass(el, cls)) {
- removeClass(el, cls);
- }
- });
-
- add.forEach(function (cls) {
- if (!hasClass(el, cls)) {
- addClass(el, cls);
- }
- });
- }
-
- var deferred = [];
-
- var defer = function defer(fn) {
- deferred.push(fn);
- };
-
- var flush = function flush() {
- var fn = undefined;
- while (fn = deferred.pop()) {
- fn();
- }
- };
-
- var Evented = (function () {
- function Evented() {
- _classCallCheck(this, Evented);
- }
-
- _createClass(Evented, [{
- key: 'on',
- value: function on(event, handler, ctx) {
- var once = arguments.length <= 3 || arguments[3] === undefined ? false : arguments[3];
-
- if (typeof this.bindings === 'undefined') {
- this.bindings = {};
- }
- if (typeof this.bindings[event] === 'undefined') {
- this.bindings[event] = [];
- }
- this.bindings[event].push({ handler: handler, ctx: ctx, once: once });
- }
- }, {
- key: 'once',
- value: function once(event, handler, ctx) {
- this.on(event, handler, ctx, true);
- }
- }, {
- key: 'off',
- value: function off(event, handler) {
- if (typeof this.bindings !== 'undefined' && typeof this.bindings[event] !== 'undefined') {
- return;
- }
-
- if (typeof handler === 'undefined') {
- delete this.bindings[event];
- } else {
- var i = 0;
- while (i < this.bindings[event].length) {
- if (this.bindings[event][i].handler === handler) {
- this.bindings[event].splice(i, 1);
- } else {
- ++i;
- }
- }
- }
- }
- }, {
- key: 'trigger',
- value: function trigger(event) {
- if (typeof this.bindings !== 'undefined' && this.bindings[event]) {
- var i = 0;
-
- for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
- args[_key - 1] = arguments[_key];
- }
-
- while (i < this.bindings[event].length) {
- var _bindings$event$i = this.bindings[event][i];
- var handler = _bindings$event$i.handler;
- var ctx = _bindings$event$i.ctx;
- var once = _bindings$event$i.once;
-
- var context = ctx;
- if (typeof context === 'undefined') {
- context = this;
- }
-
- handler.apply(context, args);
-
- if (once) {
- this.bindings[event].splice(i, 1);
- } else {
- ++i;
- }
- }
- }
- }
- }]);
-
- return Evented;
- })();
-
- TetherBase.Utils = {
- getScrollParents: getScrollParents,
- getBounds: getBounds,
- getOffsetParent: getOffsetParent,
- extend: extend,
- addClass: addClass,
- removeClass: removeClass,
- hasClass: hasClass,
- updateClasses: updateClasses,
- defer: defer,
- flush: flush,
- uniqueId: uniqueId,
- Evented: Evented,
- getScrollBarSize: getScrollBarSize,
- removeUtilElements: removeUtilElements
- };
- /* globals TetherBase, performance */
-
- 'use strict';
-
- var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();
-
- var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
-
- var _get = function get(_x6, _x7, _x8) { var _again = true; _function: while (_again) { var object = _x6, property = _x7, receiver = _x8; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x6 = parent; _x7 = property; _x8 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
-
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
-
- function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
-
- if (typeof TetherBase === 'undefined') {
- throw new Error('You must include the utils.js file before tether.js');
- }
-
- var _TetherBase$Utils = TetherBase.Utils;
- var getScrollParents = _TetherBase$Utils.getScrollParents;
- var getBounds = _TetherBase$Utils.getBounds;
- var getOffsetParent = _TetherBase$Utils.getOffsetParent;
- var extend = _TetherBase$Utils.extend;
- var addClass = _TetherBase$Utils.addClass;
- var removeClass = _TetherBase$Utils.removeClass;
- var updateClasses = _TetherBase$Utils.updateClasses;
- var defer = _TetherBase$Utils.defer;
- var flush = _TetherBase$Utils.flush;
- var getScrollBarSize = _TetherBase$Utils.getScrollBarSize;
- var removeUtilElements = _TetherBase$Utils.removeUtilElements;
-
- function within(a, b) {
- var diff = arguments.length <= 2 || arguments[2] === undefined ? 1 : arguments[2];
-
- return a + diff >= b && b >= a - diff;
- }
-
- var transformKey = (function () {
- if (typeof document === 'undefined') {
- return '';
- }
- var el = document.createElement('div');
-
- var transforms = ['transform', 'webkitTransform', 'OTransform', 'MozTransform', 'msTransform'];
- for (var i = 0; i < transforms.length; ++i) {
- var key = transforms[i];
- if (el.style[key] !== undefined) {
- return key;
- }
- }
- })();
-
- var tethers = [];
-
- var position = function position() {
- tethers.forEach(function (tether) {
- tether.position(false);
- });
- flush();
- };
-
- function now() {
- if (typeof performance !== 'undefined' && typeof performance.now !== 'undefined') {
- return performance.now();
- }
- return +new Date();
- }
-
- (function () {
- var lastCall = null;
- var lastDuration = null;
- var pendingTimeout = null;
-
- var tick = function tick() {
- if (typeof lastDuration !== 'undefined' && lastDuration > 16) {
- // We voluntarily throttle ourselves if we can't manage 60fps
- lastDuration = Math.min(lastDuration - 16, 250);
-
- // Just in case this is the last event, remember to position just once more
- pendingTimeout = setTimeout(tick, 250);
- return;
- }
-
- if (typeof lastCall !== 'undefined' && now() - lastCall < 10) {
- // Some browsers call events a little too frequently, refuse to run more than is reasonable
- return;
- }
-
- if (pendingTimeout != null) {
- clearTimeout(pendingTimeout);
- pendingTimeout = null;
- }
-
- lastCall = now();
- position();
- lastDuration = now() - lastCall;
- };
-
- if (typeof window !== 'undefined' && typeof window.addEventListener !== 'undefined') {
- ['resize', 'scroll', 'touchmove'].forEach(function (event) {
- window.addEventListener(event, tick);
- });
- }
- })();
-
- var MIRROR_LR = {
- center: 'center',
- left: 'right',
- right: 'left'
- };
-
- var MIRROR_TB = {
- middle: 'middle',
- top: 'bottom',
- bottom: 'top'
- };
-
- var OFFSET_MAP = {
- top: 0,
- left: 0,
- middle: '50%',
- center: '50%',
- bottom: '100%',
- right: '100%'
- };
-
- var autoToFixedAttachment = function autoToFixedAttachment(attachment, relativeToAttachment) {
- var left = attachment.left;
- var top = attachment.top;
-
- if (left === 'auto') {
- left = MIRROR_LR[relativeToAttachment.left];
- }
-
- if (top === 'auto') {
- top = MIRROR_TB[relativeToAttachment.top];
- }
-
- return { left: left, top: top };
- };
-
- var attachmentToOffset = function attachmentToOffset(attachment) {
- var left = attachment.left;
- var top = attachment.top;
-
- if (typeof OFFSET_MAP[attachment.left] !== 'undefined') {
- left = OFFSET_MAP[attachment.left];
- }
-
- if (typeof OFFSET_MAP[attachment.top] !== 'undefined') {
- top = OFFSET_MAP[attachment.top];
- }
-
- return { left: left, top: top };
- };
-
- function addOffset() {
- var out = { top: 0, left: 0 };
-
- for (var _len = arguments.length, offsets = Array(_len), _key = 0; _key < _len; _key++) {
- offsets[_key] = arguments[_key];
- }
-
- offsets.forEach(function (_ref) {
- var top = _ref.top;
- var left = _ref.left;
-
- if (typeof top === 'string') {
- top = parseFloat(top, 10);
- }
- if (typeof left === 'string') {
- left = parseFloat(left, 10);
- }
-
- out.top += top;
- out.left += left;
- });
-
- return out;
- }
-
- function offsetToPx(offset, size) {
- if (typeof offset.left === 'string' && offset.left.indexOf('%') !== -1) {
- offset.left = parseFloat(offset.left, 10) / 100 * size.width;
- }
- if (typeof offset.top === 'string' && offset.top.indexOf('%') !== -1) {
- offset.top = parseFloat(offset.top, 10) / 100 * size.height;
- }
-
- return offset;
- }
-
- var parseOffset = function parseOffset(value) {
- var _value$split = value.split(' ');
-
- var _value$split2 = _slicedToArray(_value$split, 2);
-
- var top = _value$split2[0];
- var left = _value$split2[1];
-
- return { top: top, left: left };
- };
- var parseAttachment = parseOffset;
-
- var TetherClass = (function (_Evented) {
- _inherits(TetherClass, _Evented);
-
- function TetherClass(options) {
- var _this = this;
-
- _classCallCheck(this, TetherClass);
-
- _get(Object.getPrototypeOf(TetherClass.prototype), 'constructor', this).call(this);
- this.position = this.position.bind(this);
-
- tethers.push(this);
-
- this.history = [];
-
- this.setOptions(options, false);
-
- TetherBase.modules.forEach(function (module) {
- if (typeof module.initialize !== 'undefined') {
- module.initialize.call(_this);
- }
- });
-
- this.position();
- }
-
- _createClass(TetherClass, [{
- key: 'getClass',
- value: function getClass() {
- var key = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];
- var classes = this.options.classes;
-
- if (typeof classes !== 'undefined' && classes[key]) {
- return this.options.classes[key];
- } else if (this.options.classPrefix) {
- return this.options.classPrefix + '-' + key;
- } else {
- return key;
- }
- }
- }, {
- key: 'setOptions',
- value: function setOptions(options) {
- var _this2 = this;
-
- var pos = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1];
-
- var defaults = {
- offset: '0 0',
- targetOffset: '0 0',
- targetAttachment: 'auto auto',
- classPrefix: 'tether'
- };
-
- this.options = extend(defaults, options);
-
- var _options = this.options;
- var element = _options.element;
- var target = _options.target;
- var targetModifier = _options.targetModifier;
-
- this.element = element;
- this.target = target;
- this.targetModifier = targetModifier;
-
- if (this.target === 'viewport') {
- this.target = document.body;
- this.targetModifier = 'visible';
- } else if (this.target === 'scroll-handle') {
- this.target = document.body;
- this.targetModifier = 'scroll-handle';
- }
-
- ['element', 'target'].forEach(function (key) {
- if (typeof _this2[key] === 'undefined') {
- throw new Error('Tether Error: Both element and target must be defined');
- }
-
- if (typeof _this2[key].jquery !== 'undefined') {
- _this2[key] = _this2[key][0];
- } else if (typeof _this2[key] === 'string') {
- _this2[key] = document.querySelector(_this2[key]);
- }
- });
-
- addClass(this.element, this.getClass('element'));
- if (!(this.options.addTargetClasses === false)) {
- addClass(this.target, this.getClass('target'));
- }
-
- if (!this.options.attachment) {
- throw new Error('Tether Error: You must provide an attachment');
- }
-
- this.targetAttachment = parseAttachment(this.options.targetAttachment);
- this.attachment = parseAttachment(this.options.attachment);
- this.offset = parseOffset(this.options.offset);
- this.targetOffset = parseOffset(this.options.targetOffset);
-
- if (typeof this.scrollParents !== 'undefined') {
- this.disable();
- }
-
- if (this.targetModifier === 'scroll-handle') {
- this.scrollParents = [this.target];
- } else {
- this.scrollParents = getScrollParents(this.target);
- }
-
- if (!(this.options.enabled === false)) {
- this.enable(pos);
- }
- }
- }, {
- key: 'getTargetBounds',
- value: function getTargetBounds() {
- if (typeof this.targetModifier !== 'undefined') {
- if (this.targetModifier === 'visible') {
- if (this.target === document.body) {
- return { top: pageYOffset, left: pageXOffset, height: innerHeight, width: innerWidth };
- } else {
- var bounds = getBounds(this.target);
-
- var out = {
- height: bounds.height,
- width: bounds.width,
- top: bounds.top,
- left: bounds.left
- };
-
- out.height = Math.min(out.height, bounds.height - (pageYOffset - bounds.top));
- out.height = Math.min(out.height, bounds.height - (bounds.top + bounds.height - (pageYOffset + innerHeight)));
- out.height = Math.min(innerHeight, out.height);
- out.height -= 2;
-
- out.width = Math.min(out.width, bounds.width - (pageXOffset - bounds.left));
- out.width = Math.min(out.width, bounds.width - (bounds.left + bounds.width - (pageXOffset + innerWidth)));
- out.width = Math.min(innerWidth, out.width);
- out.width -= 2;
-
- if (out.top < pageYOffset) {
- out.top = pageYOffset;
- }
- if (out.left < pageXOffset) {
- out.left = pageXOffset;
- }
-
- return out;
- }
- } else if (this.targetModifier === 'scroll-handle') {
- var bounds = undefined;
- var target = this.target;
- if (target === document.body) {
- target = document.documentElement;
-
- bounds = {
- left: pageXOffset,
- top: pageYOffset,
- height: innerHeight,
- width: innerWidth
- };
- } else {
- bounds = getBounds(target);
- }
-
- var style = getComputedStyle(target);
-
- var hasBottomScroll = target.scrollWidth > target.clientWidth || [style.overflow, style.overflowX].indexOf('scroll') >= 0 || this.target !== document.body;
-
- var scrollBottom = 0;
- if (hasBottomScroll) {
- scrollBottom = 15;
- }
-
- var height = bounds.height - parseFloat(style.borderTopWidth) - parseFloat(style.borderBottomWidth) - scrollBottom;
-
- var out = {
- width: 15,
- height: height * 0.975 * (height / target.scrollHeight),
- left: bounds.left + bounds.width - parseFloat(style.borderLeftWidth) - 15
- };
-
- var fitAdj = 0;
- if (height < 408 && this.target === document.body) {
- fitAdj = -0.00011 * Math.pow(height, 2) - 0.00727 * height + 22.58;
- }
-
- if (this.target !== document.body) {
- out.height = Math.max(out.height, 24);
- }
-
- var scrollPercentage = this.target.scrollTop / (target.scrollHeight - height);
- out.top = scrollPercentage * (height - out.height - fitAdj) + bounds.top + parseFloat(style.borderTopWidth);
-
- if (this.target === document.body) {
- out.height = Math.max(out.height, 24);
- }
-
- return out;
- }
- } else {
- return getBounds(this.target);
- }
- }
- }, {
- key: 'clearCache',
- value: function clearCache() {
- this._cache = {};
- }
- }, {
- key: 'cache',
- value: function cache(k, getter) {
- // More than one module will often need the same DOM info, so
- // we keep a cache which is cleared on each position call
- if (typeof this._cache === 'undefined') {
- this._cache = {};
- }
-
- if (typeof this._cache[k] === 'undefined') {
- this._cache[k] = getter.call(this);
- }
-
- return this._cache[k];
- }
- }, {
- key: 'enable',
- value: function enable() {
- var _this3 = this;
-
- var pos = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
-
- if (!(this.options.addTargetClasses === false)) {
- addClass(this.target, this.getClass('enabled'));
- }
- addClass(this.element, this.getClass('enabled'));
- this.enabled = true;
-
- this.scrollParents.forEach(function (parent) {
- if (parent !== document) {
- parent.addEventListener('scroll', _this3.position);
- }
- });
-
- if (pos) {
- this.position();
- }
- }
- }, {
- key: 'disable',
- value: function disable() {
- var _this4 = this;
-
- removeClass(this.target, this.getClass('enabled'));
- removeClass(this.element, this.getClass('enabled'));
- this.enabled = false;
-
- if (typeof this.scrollParents !== 'undefined') {
- this.scrollParents.forEach(function (parent) {
- parent.removeEventListener('scroll', _this4.position);
- });
- }
- }
- }, {
- key: 'destroy',
- value: function destroy() {
- var _this5 = this;
-
- this.disable();
-
- tethers.forEach(function (tether, i) {
- if (tether === _this5) {
- tethers.splice(i, 1);
- }
- });
-
- // Remove any elements we were using for convenience from the DOM
- if (tethers.length === 0) {
- removeUtilElements();
- }
- }
- }, {
- key: 'updateAttachClasses',
- value: function updateAttachClasses(elementAttach, targetAttach) {
- var _this6 = this;
-
- elementAttach = elementAttach || this.attachment;
- targetAttach = targetAttach || this.targetAttachment;
- var sides = ['left', 'top', 'bottom', 'right', 'middle', 'center'];
-
- if (typeof this._addAttachClasses !== 'undefined' && this._addAttachClasses.length) {
- // updateAttachClasses can be called more than once in a position call, so
- // we need to clean up after ourselves such that when the last defer gets
- // ran it doesn't add any extra classes from previous calls.
- this._addAttachClasses.splice(0, this._addAttachClasses.length);
- }
-
- if (typeof this._addAttachClasses === 'undefined') {
- this._addAttachClasses = [];
- }
- var add = this._addAttachClasses;
-
- if (elementAttach.top) {
- add.push(this.getClass('element-attached') + '-' + elementAttach.top);
- }
- if (elementAttach.left) {
- add.push(this.getClass('element-attached') + '-' + elementAttach.left);
- }
- if (targetAttach.top) {
- add.push(this.getClass('target-attached') + '-' + targetAttach.top);
- }
- if (targetAttach.left) {
- add.push(this.getClass('target-attached') + '-' + targetAttach.left);
- }
-
- var all = [];
- sides.forEach(function (side) {
- all.push(_this6.getClass('element-attached') + '-' + side);
- all.push(_this6.getClass('target-attached') + '-' + side);
- });
-
- defer(function () {
- if (!(typeof _this6._addAttachClasses !== 'undefined')) {
- return;
- }
-
- updateClasses(_this6.element, _this6._addAttachClasses, all);
- if (!(_this6.options.addTargetClasses === false)) {
- updateClasses(_this6.target, _this6._addAttachClasses, all);
- }
-
- delete _this6._addAttachClasses;
- });
- }
- }, {
- key: 'position',
- value: function position() {
- var _this7 = this;
-
- var flushChanges = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
-
- // flushChanges commits the changes immediately, leave true unless you are positioning multiple
- // tethers (in which case call Tether.Utils.flush yourself when you're done)
-
- if (!this.enabled) {
- return;
- }
-
- this.clearCache();
-
- // Turn 'auto' attachments into the appropriate corner or edge
- var targetAttachment = autoToFixedAttachment(this.targetAttachment, this.attachment);
-
- this.updateAttachClasses(this.attachment, targetAttachment);
-
- var elementPos = this.cache('element-bounds', function () {
- return getBounds(_this7.element);
- });
-
- var width = elementPos.width;
- var height = elementPos.height;
-
- if (width === 0 && height === 0 && typeof this.lastSize !== 'undefined') {
- var _lastSize = this.lastSize;
-
- // We cache the height and width to make it possible to position elements that are
- // getting hidden.
- width = _lastSize.width;
- height = _lastSize.height;
- } else {
- this.lastSize = { width: width, height: height };
- }
-
- var targetPos = this.cache('target-bounds', function () {
- return _this7.getTargetBounds();
- });
- var targetSize = targetPos;
-
- // Get an actual px offset from the attachment
- var offset = offsetToPx(attachmentToOffset(this.attachment), { width: width, height: height });
- var targetOffset = offsetToPx(attachmentToOffset(targetAttachment), targetSize);
-
- var manualOffset = offsetToPx(this.offset, { width: width, height: height });
- var manualTargetOffset = offsetToPx(this.targetOffset, targetSize);
-
- // Add the manually provided offset
- offset = addOffset(offset, manualOffset);
- targetOffset = addOffset(targetOffset, manualTargetOffset);
-
- // It's now our goal to make (element position + offset) == (target position + target offset)
- var left = targetPos.left + targetOffset.left - offset.left;
- var top = targetPos.top + targetOffset.top - offset.top;
-
- for (var i = 0; i < TetherBase.modules.length; ++i) {
- var _module2 = TetherBase.modules[i];
- var ret = _module2.position.call(this, {
- left: left,
- top: top,
- targetAttachment: targetAttachment,
- targetPos: targetPos,
- elementPos: elementPos,
- offset: offset,
- targetOffset: targetOffset,
- manualOffset: manualOffset,
- manualTargetOffset: manualTargetOffset,
- scrollbarSize: scrollbarSize,
- attachment: this.attachment
- });
-
- if (ret === false) {
- return false;
- } else if (typeof ret === 'undefined' || typeof ret !== 'object') {
- continue;
- } else {
- top = ret.top;
- left = ret.left;
- }
- }
-
- // We describe the position three different ways to give the optimizer
- // a chance to decide the best possible way to position the element
- // with the fewest repaints.
- var next = {
- // It's position relative to the page (absolute positioning when
- // the element is a child of the body)
- page: {
- top: top,
- left: left
- },
-
- // It's position relative to the viewport (fixed positioning)
- viewport: {
- top: top - pageYOffset,
- bottom: pageYOffset - top - height + innerHeight,
- left: left - pageXOffset,
- right: pageXOffset - left - width + innerWidth
- }
- };
-
- var scrollbarSize = undefined;
- if (document.body.scrollWidth > window.innerWidth) {
- scrollbarSize = this.cache('scrollbar-size', getScrollBarSize);
- next.viewport.bottom -= scrollbarSize.height;
- }
-
- if (document.body.scrollHeight > window.innerHeight) {
- scrollbarSize = this.cache('scrollbar-size', getScrollBarSize);
- next.viewport.right -= scrollbarSize.width;
- }
-
- if (['', 'static'].indexOf(document.body.style.position) === -1 || ['', 'static'].indexOf(document.body.parentElement.style.position) === -1) {
- // Absolute positioning in the body will be relative to the page, not the 'initial containing block'
- next.page.bottom = document.body.scrollHeight - top - height;
- next.page.right = document.body.scrollWidth - left - width;
- }
-
- if (typeof this.options.optimizations !== 'undefined' && this.options.optimizations.moveElement !== false && !(typeof this.targetModifier !== 'undefined')) {
- (function () {
- var offsetParent = _this7.cache('target-offsetparent', function () {
- return getOffsetParent(_this7.target);
- });
- var offsetPosition = _this7.cache('target-offsetparent-bounds', function () {
- return getBounds(offsetParent);
- });
- var offsetParentStyle = getComputedStyle(offsetParent);
- var offsetParentSize = offsetPosition;
-
- var offsetBorder = {};
- ['Top', 'Left', 'Bottom', 'Right'].forEach(function (side) {
- offsetBorder[side.toLowerCase()] = parseFloat(offsetParentStyle['border' + side + 'Width']);
- });
-
- offsetPosition.right = document.body.scrollWidth - offsetPosition.left - offsetParentSize.width + offsetBorder.right;
- offsetPosition.bottom = document.body.scrollHeight - offsetPosition.top - offsetParentSize.height + offsetBorder.bottom;
-
- if (next.page.top >= offsetPosition.top + offsetBorder.top && next.page.bottom >= offsetPosition.bottom) {
- if (next.page.left >= offsetPosition.left + offsetBorder.left && next.page.right >= offsetPosition.right) {
- // We're within the visible part of the target's scroll parent
- var scrollTop = offsetParent.scrollTop;
- var scrollLeft = offsetParent.scrollLeft;
-
- // It's position relative to the target's offset parent (absolute positioning when
- // the element is moved to be a child of the target's offset parent).
- next.offset = {
- top: next.page.top - offsetPosition.top + scrollTop - offsetBorder.top,
- left: next.page.left - offsetPosition.left + scrollLeft - offsetBorder.left
- };
- }
- }
- })();
- }
-
- // We could also travel up the DOM and try each containing context, rather than only
- // looking at the body, but we're gonna get diminishing returns.
-
- this.move(next);
-
- this.history.unshift(next);
-
- if (this.history.length > 3) {
- this.history.pop();
- }
-
- if (flushChanges) {
- flush();
- }
-
- return true;
- }
-
- // THE ISSUE
- }, {
- key: 'move',
- value: function move(pos) {
- var _this8 = this;
-
- if (!(typeof this.element.parentNode !== 'undefined')) {
- return;
- }
-
- var same = {};
-
- for (var type in pos) {
- same[type] = {};
-
- for (var key in pos[type]) {
- var found = false;
-
- for (var i = 0; i < this.history.length; ++i) {
- var point = this.history[i];
- if (typeof point[type] !== 'undefined' && !within(point[type][key], pos[type][key])) {
- found = true;
- break;
- }
- }
-
- if (!found) {
- same[type][key] = true;
- }
- }
- }
-
- var css = { top: '', left: '', right: '', bottom: '' };
-
- var transcribe = function transcribe(_same, _pos) {
- var hasOptimizations = typeof _this8.options.optimizations !== 'undefined';
- var gpu = hasOptimizations ? _this8.options.optimizations.gpu : null;
- if (gpu !== false) {
- var yPos = undefined,
- xPos = undefined;
- if (_same.top) {
- css.top = 0;
- yPos = _pos.top;
- } else {
- css.bottom = 0;
- yPos = -_pos.bottom;
- }
-
- if (_same.left) {
- css.left = 0;
- xPos = _pos.left;
- } else {
- css.right = 0;
- xPos = -_pos.right;
- }
-
- css[transformKey] = 'translateX(' + Math.round(xPos) + 'px) translateY(' + Math.round(yPos) + 'px)';
-
- if (transformKey !== 'msTransform') {
- // The Z transform will keep this in the GPU (faster, and prevents artifacts),
- // but IE9 doesn't support 3d transforms and will choke.
- css[transformKey] += " translateZ(0)";
- }
- } else {
- if (_same.top) {
- css.top = _pos.top + 'px';
- } else {
- css.bottom = _pos.bottom + 'px';
- }
-
- if (_same.left) {
- css.left = _pos.left + 'px';
- } else {
- css.right = _pos.right + 'px';
- }
- }
- };
-
- var moved = false;
- if ((same.page.top || same.page.bottom) && (same.page.left || same.page.right)) {
- css.position = 'absolute';
- transcribe(same.page, pos.page);
- } else if ((same.viewport.top || same.viewport.bottom) && (same.viewport.left || same.viewport.right)) {
- css.position = 'fixed';
- transcribe(same.viewport, pos.viewport);
- } else if (typeof same.offset !== 'undefined' && same.offset.top && same.offset.left) {
- (function () {
- css.position = 'absolute';
- var offsetParent = _this8.cache('target-offsetparent', function () {
- return getOffsetParent(_this8.target);
- });
-
- if (getOffsetParent(_this8.element) !== offsetParent) {
- defer(function () {
- _this8.element.parentNode.removeChild(_this8.element);
- offsetParent.appendChild(_this8.element);
- });
- }
-
- transcribe(same.offset, pos.offset);
- moved = true;
- })();
- } else {
- css.position = 'absolute';
- transcribe({ top: true, left: true }, pos.page);
- }
-
- if (!moved) {
- var offsetParentIsBody = true;
- var currentNode = this.element.parentNode;
- while (currentNode && currentNode.nodeType === 1 && currentNode.tagName !== 'BODY') {
- if (getComputedStyle(currentNode).position !== 'static') {
- offsetParentIsBody = false;
- break;
- }
-
- currentNode = currentNode.parentNode;
- }
-
- if (!offsetParentIsBody) {
- this.element.parentNode.removeChild(this.element);
- document.body.appendChild(this.element);
- }
- }
-
- // Any css change will trigger a repaint, so let's avoid one if nothing changed
- var writeCSS = {};
- var write = false;
- for (var key in css) {
- var val = css[key];
- var elVal = this.element.style[key];
-
- if (elVal !== val) {
- write = true;
- writeCSS[key] = val;
- }
- }
-
- if (write) {
- defer(function () {
- extend(_this8.element.style, writeCSS);
- });
- }
- }
- }]);
-
- return TetherClass;
- })(Evented);
-
- TetherClass.modules = [];
-
- TetherBase.position = position;
-
- var Tether = extend(TetherClass, TetherBase);
- /* globals TetherBase */
-
- 'use strict';
-
- var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();
-
- var _TetherBase$Utils = TetherBase.Utils;
- var getBounds = _TetherBase$Utils.getBounds;
- var extend = _TetherBase$Utils.extend;
- var updateClasses = _TetherBase$Utils.updateClasses;
- var defer = _TetherBase$Utils.defer;
-
- var BOUNDS_FORMAT = ['left', 'top', 'right', 'bottom'];
-
- function getBoundingRect(tether, to) {
- if (to === 'scrollParent') {
- to = tether.scrollParents[0];
- } else if (to === 'window') {
- to = [pageXOffset, pageYOffset, innerWidth + pageXOffset, innerHeight + pageYOffset];
- }
-
- if (to === document) {
- to = to.documentElement;
- }
-
- if (typeof to.nodeType !== 'undefined') {
- (function () {
- var size = getBounds(to);
- var pos = size;
- var style = getComputedStyle(to);
-
- to = [pos.left, pos.top, size.width + pos.left, size.height + pos.top];
-
- BOUNDS_FORMAT.forEach(function (side, i) {
- side = side[0].toUpperCase() + side.substr(1);
- if (side === 'Top' || side === 'Left') {
- to[i] += parseFloat(style['border' + side + 'Width']);
- } else {
- to[i] -= parseFloat(style['border' + side + 'Width']);
- }
- });
- })();
- }
-
- return to;
- }
-
- TetherBase.modules.push({
- position: function position(_ref) {
- var _this = this;
-
- var top = _ref.top;
- var left = _ref.left;
- var targetAttachment = _ref.targetAttachment;
-
- if (!this.options.constraints) {
- return true;
- }
-
- var _cache = this.cache('element-bounds', function () {
- return getBounds(_this.element);
- });
-
- var height = _cache.height;
- var width = _cache.width;
-
- if (width === 0 && height === 0 && typeof this.lastSize !== 'undefined') {
- var _lastSize = this.lastSize;
-
- // Handle the item getting hidden as a result of our positioning without glitching
- // the classes in and out
- width = _lastSize.width;
- height = _lastSize.height;
- }
-
- var targetSize = this.cache('target-bounds', function () {
- return _this.getTargetBounds();
- });
-
- var targetHeight = targetSize.height;
- var targetWidth = targetSize.width;
-
- var allClasses = [this.getClass('pinned'), this.getClass('out-of-bounds')];
-
- this.options.constraints.forEach(function (constraint) {
- var outOfBoundsClass = constraint.outOfBoundsClass;
- var pinnedClass = constraint.pinnedClass;
-
- if (outOfBoundsClass) {
- allClasses.push(outOfBoundsClass);
- }
- if (pinnedClass) {
- allClasses.push(pinnedClass);
- }
- });
-
- allClasses.forEach(function (cls) {
- ['left', 'top', 'right', 'bottom'].forEach(function (side) {
- allClasses.push(cls + '-' + side);
- });
- });
-
- var addClasses = [];
-
- var tAttachment = extend({}, targetAttachment);
- var eAttachment = extend({}, this.attachment);
-
- this.options.constraints.forEach(function (constraint) {
- var to = constraint.to;
- var attachment = constraint.attachment;
- var pin = constraint.pin;
-
- if (typeof attachment === 'undefined') {
- attachment = '';
- }
-
- var changeAttachX = undefined,
- changeAttachY = undefined;
- if (attachment.indexOf(' ') >= 0) {
- var _attachment$split = attachment.split(' ');
-
- var _attachment$split2 = _slicedToArray(_attachment$split, 2);
-
- changeAttachY = _attachment$split2[0];
- changeAttachX = _attachment$split2[1];
- } else {
- changeAttachX = changeAttachY = attachment;
- }
-
- var bounds = getBoundingRect(_this, to);
-
- if (changeAttachY === 'target' || changeAttachY === 'both') {
- if (top < bounds[1] && tAttachment.top === 'top') {
- top += targetHeight;
- tAttachment.top = 'bottom';
- }
-
- if (top + height > bounds[3] && tAttachment.top === 'bottom') {
- top -= targetHeight;
- tAttachment.top = 'top';
- }
- }
-
- if (changeAttachY === 'together') {
- if (tAttachment.top === 'top') {
- if (eAttachment.top === 'bottom' && top < bounds[1]) {
- top += targetHeight;
- tAttachment.top = 'bottom';
-
- top += height;
- eAttachment.top = 'top';
- } else if (eAttachment.top === 'top' && top + height > bounds[3] && top - (height - targetHeight) >= bounds[1]) {
- top -= height - targetHeight;
- tAttachment.top = 'bottom';
-
- eAttachment.top = 'bottom';
- }
- }
-
- if (tAttachment.top === 'bottom') {
- if (eAttachment.top === 'top' && top + height > bounds[3]) {
- top -= targetHeight;
- tAttachment.top = 'top';
-
- top -= height;
- eAttachment.top = 'bottom';
- } else if (eAttachment.top === 'bottom' && top < bounds[1] && top + (height * 2 - targetHeight) <= bounds[3]) {
- top += height - targetHeight;
- tAttachment.top = 'top';
-
- eAttachment.top = 'top';
- }
- }
-
- if (tAttachment.top === 'middle') {
- if (top + height > bounds[3] && eAttachment.top === 'top') {
- top -= height;
- eAttachment.top = 'bottom';
- } else if (top < bounds[1] && eAttachment.top === 'bottom') {
- top += height;
- eAttachment.top = 'top';
- }
- }
- }
-
- if (changeAttachX === 'target' || changeAttachX === 'both') {
- if (left < bounds[0] && tAttachment.left === 'left') {
- left += targetWidth;
- tAttachment.left = 'right';
- }
-
- if (left + width > bounds[2] && tAttachment.left === 'right') {
- left -= targetWidth;
- tAttachment.left = 'left';
- }
- }
-
- if (changeAttachX === 'together') {
- if (left < bounds[0] && tAttachment.left === 'left') {
- if (eAttachment.left === 'right') {
- left += targetWidth;
- tAttachment.left = 'right';
-
- left += width;
- eAttachment.left = 'left';
- } else if (eAttachment.left === 'left') {
- left += targetWidth;
- tAttachment.left = 'right';
-
- left -= width;
- eAttachment.left = 'right';
- }
- } else if (left + width > bounds[2] && tAttachment.left === 'right') {
- if (eAttachment.left === 'left') {
- left -= targetWidth;
- tAttachment.left = 'left';
-
- left -= width;
- eAttachment.left = 'right';
- } else if (eAttachment.left === 'right') {
- left -= targetWidth;
- tAttachment.left = 'left';
-
- left += width;
- eAttachment.left = 'left';
- }
- } else if (tAttachment.left === 'center') {
- if (left + width > bounds[2] && eAttachment.left === 'left') {
- left -= width;
- eAttachment.left = 'right';
- } else if (left < bounds[0] && eAttachment.left === 'right') {
- left += width;
- eAttachment.left = 'left';
- }
- }
- }
-
- if (changeAttachY === 'element' || changeAttachY === 'both') {
- if (top < bounds[1] && eAttachment.top === 'bottom') {
- top += height;
- eAttachment.top = 'top';
- }
-
- if (top + height > bounds[3] && eAttachment.top === 'top') {
- top -= height;
- eAttachment.top = 'bottom';
- }
- }
-
- if (changeAttachX === 'element' || changeAttachX === 'both') {
- if (left < bounds[0]) {
- if (eAttachment.left === 'right') {
- left += width;
- eAttachment.left = 'left';
- } else if (eAttachment.left === 'center') {
- left += width / 2;
- eAttachment.left = 'left';
- }
- }
-
- if (left + width > bounds[2]) {
- if (eAttachment.left === 'left') {
- left -= width;
- eAttachment.left = 'right';
- } else if (eAttachment.left === 'center') {
- left -= width / 2;
- eAttachment.left = 'right';
- }
- }
- }
-
- if (typeof pin === 'string') {
- pin = pin.split(',').map(function (p) {
- return p.trim();
- });
- } else if (pin === true) {
- pin = ['top', 'left', 'right', 'bottom'];
- }
-
- pin = pin || [];
-
- var pinned = [];
- var oob = [];
-
- if (top < bounds[1]) {
- if (pin.indexOf('top') >= 0) {
- top = bounds[1];
- pinned.push('top');
- } else {
- oob.push('top');
- }
- }
-
- if (top + height > bounds[3]) {
- if (pin.indexOf('bottom') >= 0) {
- top = bounds[3] - height;
- pinned.push('bottom');
- } else {
- oob.push('bottom');
- }
- }
-
- if (left < bounds[0]) {
- if (pin.indexOf('left') >= 0) {
- left = bounds[0];
- pinned.push('left');
- } else {
- oob.push('left');
- }
- }
-
- if (left + width > bounds[2]) {
- if (pin.indexOf('right') >= 0) {
- left = bounds[2] - width;
- pinned.push('right');
- } else {
- oob.push('right');
- }
- }
-
- if (pinned.length) {
- (function () {
- var pinnedClass = undefined;
- if (typeof _this.options.pinnedClass !== 'undefined') {
- pinnedClass = _this.options.pinnedClass;
- } else {
- pinnedClass = _this.getClass('pinned');
- }
-
- addClasses.push(pinnedClass);
- pinned.forEach(function (side) {
- addClasses.push(pinnedClass + '-' + side);
- });
- })();
- }
-
- if (oob.length) {
- (function () {
- var oobClass = undefined;
- if (typeof _this.options.outOfBoundsClass !== 'undefined') {
- oobClass = _this.options.outOfBoundsClass;
- } else {
- oobClass = _this.getClass('out-of-bounds');
- }
-
- addClasses.push(oobClass);
- oob.forEach(function (side) {
- addClasses.push(oobClass + '-' + side);
- });
- })();
- }
-
- if (pinned.indexOf('left') >= 0 || pinned.indexOf('right') >= 0) {
- eAttachment.left = tAttachment.left = false;
- }
- if (pinned.indexOf('top') >= 0 || pinned.indexOf('bottom') >= 0) {
- eAttachment.top = tAttachment.top = false;
- }
-
- if (tAttachment.top !== targetAttachment.top || tAttachment.left !== targetAttachment.left || eAttachment.top !== _this.attachment.top || eAttachment.left !== _this.attachment.left) {
- _this.updateAttachClasses(eAttachment, tAttachment);
- _this.trigger('update', {
- attachment: eAttachment,
- targetAttachment: tAttachment
- });
- }
- });
-
- defer(function () {
- if (!(_this.options.addTargetClasses === false)) {
- updateClasses(_this.target, addClasses, allClasses);
- }
- updateClasses(_this.element, addClasses, allClasses);
- });
-
- return { top: top, left: left };
- }
- });
- /* globals TetherBase */
-
- 'use strict';
-
- var _TetherBase$Utils = TetherBase.Utils;
- var getBounds = _TetherBase$Utils.getBounds;
- var updateClasses = _TetherBase$Utils.updateClasses;
- var defer = _TetherBase$Utils.defer;
-
- TetherBase.modules.push({
- position: function position(_ref) {
- var _this = this;
-
- var top = _ref.top;
- var left = _ref.left;
-
- var _cache = this.cache('element-bounds', function () {
- return getBounds(_this.element);
- });
-
- var height = _cache.height;
- var width = _cache.width;
-
- var targetPos = this.getTargetBounds();
-
- var bottom = top + height;
- var right = left + width;
-
- var abutted = [];
- if (top <= targetPos.bottom && bottom >= targetPos.top) {
- ['left', 'right'].forEach(function (side) {
- var targetPosSide = targetPos[side];
- if (targetPosSide === left || targetPosSide === right) {
- abutted.push(side);
- }
- });
- }
-
- if (left <= targetPos.right && right >= targetPos.left) {
- ['top', 'bottom'].forEach(function (side) {
- var targetPosSide = targetPos[side];
- if (targetPosSide === top || targetPosSide === bottom) {
- abutted.push(side);
- }
- });
- }
-
- var allClasses = [];
- var addClasses = [];
-
- var sides = ['left', 'top', 'right', 'bottom'];
- allClasses.push(this.getClass('abutted'));
- sides.forEach(function (side) {
- allClasses.push(_this.getClass('abutted') + '-' + side);
- });
-
- if (abutted.length) {
- addClasses.push(this.getClass('abutted'));
- }
-
- abutted.forEach(function (side) {
- addClasses.push(_this.getClass('abutted') + '-' + side);
- });
+ }
- defer(function () {
- if (!(_this.options.addTargetClasses === false)) {
- updateClasses(_this.target, addClasses, allClasses);
+ var position = this.options.target.getAttribute('data-tooltip-position');
+ if (position) {
+ if (typeof this.options.position === 'undefined') {
+ this.options.position = position;
}
- updateClasses(_this.element, addClasses, allClasses);
- });
-
- return true;
- }
- });
- /* globals TetherBase */
+ }
- 'use strict';
+ var content = this.options.target.getAttribute('data-tooltip');
- var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();
+ if (content) {
+ if (typeof this.options.content === 'undefined') {
+ var contentEl = document.createElement('div');
+ contentEl.innerHTML = content;
- TetherBase.modules.push({
- position: function position(_ref) {
- var top = _ref.top;
- var left = _ref.left;
+ // Add ARIA attributes (see #50)
+ contentEl.setAttribute('role', 'tooltip');
+ contentEl.id = 'drop-tooltip-' + tooltipCount;
+ this.options.target.setAttribute('aria-describedby', contentEl.id);
+ tooltipCount += 1;
- if (!this.options.shift) {
- return;
+ this.options.content = contentEl;
+ }
}
- var shift = this.options.shift;
- if (typeof this.options.shift === 'function') {
- shift = this.options.shift.call(this, { top: top, left: left });
+ if (!this.options.content) {
+ throw new Error('Tooltip Error: You must provide content for Tooltip to display');
}
- var shiftTop = undefined,
- shiftLeft = undefined;
- if (typeof shift === 'string') {
- shift = shift.split(' ');
- shift[1] = shift[1] || shift[0];
+ this.options = extend({}, defaults, this.options);
- var _shift = shift;
+ this.drop = new _Drop(this.options);
+ }
- var _shift2 = _slicedToArray(_shift, 2);
+ _createClass(Tooltip, [{
+ key: 'close',
+ value: function close() {
+ this.drop.close();
+ }
+ }, {
+ key: 'open',
+ value: function open() {
+ this.drop.open();
+ }
+ }, {
+ key: 'toggle',
+ value: function toggle() {
+ this.drop.toggle();
+ }
+ }, {
+ key: 'remove',
+ value: function remove() {
+ this.drop.remove();
+ }
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.drop.destroy();
+ }
+ }, {
+ key: 'position',
+ value: function position() {
+ this.drop.position();
+ }
+ }]);
- shiftTop = _shift2[0];
- shiftLeft = _shift2[1];
+ return Tooltip;
+ })();
- shiftTop = parseFloat(shiftTop, 10);
- shiftLeft = parseFloat(shiftLeft, 10);
- } else {
- shiftTop = shift.top;
- shiftLeft = shift.left;
- }
+ var initialized = [];
- top += shiftTop;
- left += shiftLeft;
+ Tooltip.init = function () {
+ var tooltipElements = document.querySelectorAll('[data-tooltip]');
+ var len = tooltipElements.length;
+ for (var i = 0; i < len; ++i) {
+ var el = tooltipElements[i];
+ if (initialized.indexOf(el) === -1) {
+ new Tooltip({
+ target: el
+ });
+ initialized.push(el);
+ }
+ }
+ };
- return { top: top, left: left };
+ document.addEventListener('DOMContentLoaded', function () {
+ if (Tooltip.autoinit !== false) {
+ Tooltip.init();
}
});
- return Tether;
+ return Tooltip;
}));
/***/ },
-/* 64 */
+/* 78 */
/***/ function(module, exports) {
module.exports = "\n\n";
/***/ },
-/* 65 */
+/* 79 */
/***/ function(module, exports) {
- module.exports = "\n\n";
+ module.exports = "\n\n";
/***/ },
-/* 66 */
+/* 80 */
/***/ function(module, exports) {
module.exports = "\n\n
\n
\n\n
\n \n \n \n
\n\n
\n
\n
\n";
/***/ },
-/* 67 */
+/* 81 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(68)
- __vue_script__ = __webpack_require__(69)
+ __webpack_require__(82)
+ __vue_script__ = __webpack_require__(83)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiAutocomplete.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(94)
+ console.warn("[vue-loader] src\\UiAutocomplete.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(108)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -7179,9 +4933,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-2e4d5756/UiAutocomplete.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiAutocomplete.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -7190,13 +4944,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 68 */
+/* 82 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 69 */
+/* 83 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -7205,7 +4959,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _fuzzysearch = __webpack_require__(70);
+ var _fuzzysearch = __webpack_require__(84);
var _fuzzysearch2 = _interopRequireDefault(_fuzzysearch);
@@ -7213,19 +4967,19 @@ return /******/ (function(modules) { // webpackBootstrap
var _UiIcon2 = _interopRequireDefault(_UiIcon);
- var _UiAutocompleteSuggestion = __webpack_require__(71);
+ var _UiAutocompleteSuggestion = __webpack_require__(85);
var _UiAutocompleteSuggestion2 = _interopRequireDefault(_UiAutocompleteSuggestion);
- var _autofocus = __webpack_require__(76);
+ var _autofocus = __webpack_require__(90);
var _autofocus2 = _interopRequireDefault(_autofocus);
- var _HasTextInput = __webpack_require__(77);
+ var _HasTextInput = __webpack_require__(91);
var _HasTextInput2 = _interopRequireDefault(_HasTextInput);
- var _ValidatesInput = __webpack_require__(78);
+ var _ValidatesInput = __webpack_require__(92);
var _ValidatesInput2 = _interopRequireDefault(_ValidatesInput);
@@ -7272,6 +5026,16 @@ return /******/ (function(modules) { // webpackBootstrap
cycleHighlight: {
type: Boolean,
default: true
+ },
+ keys: {
+ type: Object,
+ default: function _default() {
+ return {
+ text: 'text',
+ value: 'value',
+ image: 'image'
+ };
+ }
}
},
@@ -7330,8 +5094,12 @@ return /******/ (function(modules) { // webpackBootstrap
return this.filter(item, this.value);
}
- var text = item.text || item;
- var query = typeof this.value === 'string' ? this.value.toLowerCase() : this.value;
+ var text = item[this.keys.text] || item;
+ var query = this.value;
+
+ if (typeof query === 'string') {
+ query = query.toLowerCase();
+ }
return (0, _fuzzysearch2.default)(query, text.toLowerCase());
},
@@ -7339,9 +5107,9 @@ return /******/ (function(modules) { // webpackBootstrap
var _this = this;
if (this.append) {
- this.value += this.appendDelimiter + (item.text || item);
+ this.value += this.appendDelimiter + (item[this.keys.value] || item);
} else {
- this.value = item.text || item;
+ this.value = item[this.keys.value] || item;
}
this.$dispatch('selected', item);
@@ -7431,7 +5199,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 70 */
+/* 84 */
/***/ function(module, exports) {
'use strict';
@@ -7461,17 +5229,17 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 71 */
+/* 85 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(72)
- __vue_script__ = __webpack_require__(73)
+ __webpack_require__(86)
+ __vue_script__ = __webpack_require__(87)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiAutocompleteSuggestion.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(75)
+ console.warn("[vue-loader] src\\UiAutocompleteSuggestion.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(89)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -7479,9 +5247,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-3eebff8e/UiAutocompleteSuggestion.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiAutocompleteSuggestion.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -7490,13 +5258,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 72 */
+/* 86 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 73 */
+/* 87 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -7505,7 +5273,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _uuid = __webpack_require__(74);
+ var _uuid = __webpack_require__(88);
var _uuid2 = _interopRequireDefault(_uuid);
@@ -7531,18 +5299,28 @@ return /******/ (function(modules) { // webpackBootstrap
highlighted: {
type: Boolean,
default: false
+ },
+ keys: {
+ type: Object,
+ default: function _default() {
+ return {
+ text: 'text',
+ value: 'value',
+ image: 'image'
+ };
+ }
}
},
partials: {
- 'ui-autocomplete-simple': '',
+ 'ui-autocomplete-simple': '\n \n ',
- 'ui-autocomplete-image': '\n '
+ 'ui-autocomplete-image': '\n \n \n '
}
};
/***/ },
-/* 74 */
+/* 88 */
/***/ function(module, exports) {
'use strict';
@@ -7586,13 +5364,13 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 75 */
+/* 89 */
/***/ function(module, exports) {
- module.exports = "\n\n \n\n";
+ module.exports = "\n\n \n\n";
/***/ },
-/* 76 */
+/* 90 */
/***/ function(module, exports) {
"use strict";
@@ -7606,7 +5384,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 77 */
+/* 91 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -7615,11 +5393,11 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _disabled = __webpack_require__(56);
+ var _disabled = __webpack_require__(71);
var _disabled2 = _interopRequireDefault(_disabled);
- var _ReceivesTargetedEvent = __webpack_require__(46);
+ var _ReceivesTargetedEvent = __webpack_require__(61);
var _ReceivesTargetedEvent2 = _interopRequireDefault(_ReceivesTargetedEvent);
@@ -7689,7 +5467,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 78 */
+/* 92 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -7698,7 +5476,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _validatorjs = __webpack_require__(79);
+ var _validatorjs = __webpack_require__(93);
var _validatorjs2 = _interopRequireDefault(_validatorjs);
@@ -7720,7 +5498,7 @@ return /******/ (function(modules) { // webpackBootstrap
type: Boolean,
default: false
},
- validationRules: String,
+ validationRules: [String, Array],
validationMessages: Object
},
@@ -7772,14 +5550,14 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 79 */
+/* 93 */
/***/ function(module, exports, __webpack_require__) {
- var Rules = __webpack_require__(80);
- var Lang = __webpack_require__(81);
- var Errors = __webpack_require__(92);
- var Attributes = __webpack_require__(83);
- var AsyncResolvers = __webpack_require__(93);
+ var Rules = __webpack_require__(94);
+ var Lang = __webpack_require__(95);
+ var Errors = __webpack_require__(106);
+ var Attributes = __webpack_require__(97);
+ var AsyncResolvers = __webpack_require__(107);
var Validator = function(input, rules, customMessages) {
var lang = Validator.getDefaultLang();
@@ -8214,7 +5992,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 80 */
+/* 94 */
/***/ function(module, exports) {
var rules = {
@@ -8636,12 +6414,12 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 81 */
+/* 95 */
/***/ function(module, exports, __webpack_require__) {
- var Messages = __webpack_require__(82);
+ var Messages = __webpack_require__(96);
- __webpack_require__(84);
+ __webpack_require__(98);
var container = {
@@ -8683,7 +6461,7 @@ return /******/ (function(modules) { // webpackBootstrap
*/
_load: function(lang) {
if (!this.messages[lang]) {
- var rawMessages = __webpack_require__(85)("./" + lang);
+ var rawMessages = __webpack_require__(99)("./" + lang);
this._set(lang, rawMessages);
}
},
@@ -8716,10 +6494,10 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 82 */
+/* 96 */
/***/ function(module, exports, __webpack_require__) {
- var Attributes = __webpack_require__(83);
+ var Attributes = __webpack_require__(97);
var Messages = function(lang, messages) {
this.lang = lang;
@@ -8874,7 +6652,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 83 */
+/* 97 */
/***/ function(module, exports) {
var replacements = {
@@ -8921,7 +6699,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 84 */
+/* 98 */
/***/ function(module, exports) {
module.exports = {
@@ -8962,24 +6740,24 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 85 */
+/* 99 */
/***/ function(module, exports, __webpack_require__) {
var map = {
- "./en": 84,
- "./en.js": 84,
- "./es": 86,
- "./es.js": 86,
- "./fr": 87,
- "./fr.js": 87,
- "./it": 88,
- "./it.js": 88,
- "./ja": 89,
- "./ja.js": 89,
- "./pl": 90,
- "./pl.js": 90,
- "./ru": 91,
- "./ru.js": 91
+ "./en": 98,
+ "./en.js": 98,
+ "./es": 100,
+ "./es.js": 100,
+ "./fr": 101,
+ "./fr.js": 101,
+ "./it": 102,
+ "./it.js": 102,
+ "./ja": 103,
+ "./ja.js": 103,
+ "./pl": 104,
+ "./pl.js": 104,
+ "./ru": 105,
+ "./ru.js": 105
};
function webpackContext(req) {
return __webpack_require__(webpackContextResolve(req));
@@ -8992,11 +6770,11 @@ return /******/ (function(modules) { // webpackBootstrap
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
- webpackContext.id = 85;
+ webpackContext.id = 99;
/***/ },
-/* 86 */
+/* 100 */
/***/ function(module, exports) {
module.exports = {
@@ -9035,7 +6813,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 87 */
+/* 101 */
/***/ function(module, exports) {
module.exports = {
@@ -9075,7 +6853,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 88 */
+/* 102 */
/***/ function(module, exports) {
module.exports = {
@@ -9116,7 +6894,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 89 */
+/* 103 */
/***/ function(module, exports) {
module.exports = {
@@ -9156,7 +6934,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 90 */
+/* 104 */
/***/ function(module, exports) {
module.exports = {
@@ -9197,7 +6975,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 91 */
+/* 105 */
/***/ function(module, exports) {
module.exports = {
@@ -9237,7 +7015,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 92 */
+/* 106 */
/***/ function(module, exports) {
var Errors = function() {
@@ -9320,7 +7098,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 93 */
+/* 107 */
/***/ function(module, exports) {
function AsyncResolvers(onFailedOne, onResolvedAll) {
@@ -9407,23 +7185,23 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 94 */
+/* 108 */
/***/ function(module, exports) {
- module.exports = "\n\n
\n \n
\n\n
\n
\n\n
\n
\n
\n";
+ module.exports = "\n\n
\n \n
\n\n
\n
\n\n
\n
\n
\n";
/***/ },
-/* 95 */
+/* 109 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(96)
- __vue_script__ = __webpack_require__(97)
+ __webpack_require__(110)
+ __vue_script__ = __webpack_require__(111)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiButton.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(98)
+ console.warn("[vue-loader] src\\UiButton.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(112)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -9431,9 +7209,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-95e1cb42/UiButton.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiButton.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -9442,13 +7220,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 96 */
+/* 110 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 97 */
+/* 111 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -9465,19 +7243,19 @@ return /******/ (function(modules) { // webpackBootstrap
var _UiMenu2 = _interopRequireDefault(_UiMenu);
- var _UiPopover = __webpack_require__(48);
+ var _UiPopover = __webpack_require__(63);
var _UiPopover2 = _interopRequireDefault(_UiPopover);
- var _UiProgressCircular = __webpack_require__(52);
+ var _UiProgressCircular = __webpack_require__(67);
var _UiProgressCircular2 = _interopRequireDefault(_UiProgressCircular);
- var _disabled = __webpack_require__(56);
+ var _disabled = __webpack_require__(71);
var _disabled2 = _interopRequireDefault(_disabled);
- var _HasDropdown = __webpack_require__(57);
+ var _HasDropdown = __webpack_require__(72);
var _HasDropdown2 = _interopRequireDefault(_HasDropdown);
@@ -9497,6 +7275,9 @@ return /******/ (function(modules) { // webpackBootstrap
return 'ui-button-' + type;
}
},
+ buttonType: {
+ type: String,
+ default: 'submit' },
color: {
type: String,
default: 'default', coerce: function coerce(color) {
@@ -9524,10 +7305,6 @@ return /******/ (function(modules) { // webpackBootstrap
disabled: {
type: Boolean,
default: false
- },
- buttonType: {
- type: String,
- default: 'submit'
}
},
@@ -9572,23 +7349,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 98 */
+/* 112 */
/***/ function(module, exports) {
module.exports = "\n\n";
/***/ },
-/* 99 */
+/* 113 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(100)
- __vue_script__ = __webpack_require__(101)
+ __webpack_require__(114)
+ __vue_script__ = __webpack_require__(115)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiCheckbox.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(102)
+ console.warn("[vue-loader] src\\UiCheckbox.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(116)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -9596,9 +7373,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-51854d30/UiCheckbox.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiCheckbox.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -9607,13 +7384,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 100 */
+/* 114 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 101 */
+/* 115 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -9622,11 +7399,11 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _disabled = __webpack_require__(56);
+ var _disabled = __webpack_require__(71);
var _disabled2 = _interopRequireDefault(_disabled);
- var _ReceivesTargetedEvent = __webpack_require__(46);
+ var _ReceivesTargetedEvent = __webpack_require__(61);
var _ReceivesTargetedEvent2 = _interopRequireDefault(_ReceivesTargetedEvent);
@@ -9637,11 +7414,12 @@ return /******/ (function(modules) { // webpackBootstrap
props: {
name: String,
- value: {
- type: Boolean,
+ model: {
+ type: [Array, String, Boolean],
required: true,
twoWay: true
},
+ value: String,
label: String,
hideLabel: {
type: Boolean,
@@ -9663,8 +7441,20 @@ return /******/ (function(modules) { // webpackBootstrap
initialValue: false
};
},
+
+
+ computed: {
+ isChecked: function isChecked() {
+ if (this.value) {
+ return this.model.indexOf(this.value) > -1;
+ }
+
+ return this.model;
+ }
+ },
+
created: function created() {
- this.initialValue = this.value;
+ this.initialValue = this.model;
},
@@ -9674,7 +7464,7 @@ return /******/ (function(modules) { // webpackBootstrap
return;
}
- this.value = this.initialValue;
+ this.model = this.initialValue;
}
},
@@ -9695,23 +7485,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 102 */
+/* 116 */
/***/ function(module, exports) {
- module.exports = "\n\n";
+ module.exports = "\n\n";
/***/ },
-/* 103 */
+/* 117 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(104)
- __vue_script__ = __webpack_require__(105)
+ __webpack_require__(118)
+ __vue_script__ = __webpack_require__(119)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiCollapsible.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(106)
+ console.warn("[vue-loader] src\\UiCollapsible.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(120)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -9719,9 +7509,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-1206192d/UiCollapsible.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiCollapsible.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -9730,13 +7520,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 104 */
+/* 118 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 105 */
+/* 119 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -9749,11 +7539,11 @@ return /******/ (function(modules) { // webpackBootstrap
var _UiIcon2 = _interopRequireDefault(_UiIcon);
- var _uuid = __webpack_require__(74);
+ var _uuid = __webpack_require__(88);
var _uuid2 = _interopRequireDefault(_uuid);
- var _disabled = __webpack_require__(56);
+ var _disabled = __webpack_require__(71);
var _disabled2 = _interopRequireDefault(_disabled);
@@ -9761,7 +7551,7 @@ return /******/ (function(modules) { // webpackBootstrap
var _ShowsRippleInk2 = _interopRequireDefault(_ShowsRippleInk);
- var _ReceivesTargetedEvent = __webpack_require__(46);
+ var _ReceivesTargetedEvent = __webpack_require__(61);
var _ReceivesTargetedEvent2 = _interopRequireDefault(_ReceivesTargetedEvent);
@@ -9843,7 +7633,7 @@ return /******/ (function(modules) { // webpackBootstrap
var body = this.$els.body;
body.style.display = 'block';
- this.height = body.offsetHeight;
+ this.height = body.scrollHeight;
if (!this.open) {
body.style.display = 'none';
@@ -9875,23 +7665,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 106 */
+/* 120 */
/***/ function(module, exports) {
module.exports = "\n\n";
/***/ },
-/* 107 */
+/* 121 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(108)
- __vue_script__ = __webpack_require__(109)
+ __webpack_require__(122)
+ __vue_script__ = __webpack_require__(123)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiConfirm.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(114)
+ console.warn("[vue-loader] src\\UiConfirm.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(128)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -9899,9 +7689,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-6cda4263/UiConfirm.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiConfirm.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -9910,13 +7700,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 108 */
+/* 122 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 109 */
+/* 123 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -9925,15 +7715,15 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _dominus = __webpack_require__(23);
+ var _classlist = __webpack_require__(23);
- var _dominus2 = _interopRequireDefault(_dominus);
+ var _classlist2 = _interopRequireDefault(_classlist);
- var _UiModal = __webpack_require__(110);
+ var _UiModal = __webpack_require__(124);
var _UiModal2 = _interopRequireDefault(_UiModal);
- var _UiButton = __webpack_require__(95);
+ var _UiButton = __webpack_require__(109);
var _UiButton2 = _interopRequireDefault(_UiButton);
@@ -9995,23 +7785,36 @@ return /******/ (function(modules) { // webpackBootstrap
this.$dispatch('denied');
},
opened: function opened() {
- if (this.autofocus === 'confirm-button') {
- (0, _dominus2.default)(this.$els.confirmButton).addClass('autofocus').once('blur', this.removeAutoFocus);
+ var button = void 0;
- this.$els.confirmButton.focus();
+ if (this.autofocus === 'confirm-button') {
+ button = this.$els.confirmButton;
} else if (this.autofocus === 'deny-button') {
- (0, _dominus2.default)(this.$els.denyButton).addClass('autofocus').once('blur', this.removeAutoFocus);
+ button = this.$els.denyButton;
+ }
- this.$els.denyButton.focus();
+ if (button) {
+ _classlist2.default.add(button, 'autofocus');
+ button.addEventListener('blur', this.removeAutoFocus);
+
+ button.focus();
}
return true;
},
removeAutoFocus: function removeAutoFocus() {
+ var button = void 0;
+
if (this.autofocus === 'confirm-button') {
- (0, _dominus2.default)(this.$els.confirmButton).removeClass('autofocus');
+ button = this.$els.confirmButton;
} else if (this.autofocus === 'deny-button') {
- (0, _dominus2.default)(this.$els.denyButton).removeClass('autofocus');
+ button = this.$els.denyButton;
+ }
+
+ if (button) {
+ button.removeEventListener('blur', this.removeAutoFocus);
+
+ _classlist2.default.remove(button, 'autofocus');
}
}
},
@@ -10023,17 +7826,17 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 110 */
+/* 124 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(111)
- __vue_script__ = __webpack_require__(112)
+ __webpack_require__(125)
+ __vue_script__ = __webpack_require__(126)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiModal.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(113)
+ console.warn("[vue-loader] src\\UiModal.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(127)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -10041,9 +7844,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-4c9c5e90/UiModal.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiModal.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -10052,13 +7855,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 111 */
+/* 125 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 112 */
+/* 126 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -10067,15 +7870,15 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _dominus = __webpack_require__(23);
+ var _classlist = __webpack_require__(23);
- var _dominus2 = _interopRequireDefault(_dominus);
+ var _classlist2 = _interopRequireDefault(_classlist);
var _UiIconButton = __webpack_require__(10);
var _UiIconButton2 = _interopRequireDefault(_UiIconButton);
- var _UiButton = __webpack_require__(95);
+ var _UiButton = __webpack_require__(109);
var _UiButton2 = _interopRequireDefault(_UiButton);
@@ -10176,7 +7979,7 @@ return /******/ (function(modules) { // webpackBootstrap
this.lastFocussedElement = document.activeElement;
this.$els.modalContainer.focus();
- (0, _dominus2.default)('body').addClass('ui-modal-open');
+ _classlist2.default.add(document.body, 'ui-modal-open');
document.addEventListener('focus', this.restrictFocus, true);
@@ -10198,13 +8001,20 @@ return /******/ (function(modules) { // webpackBootstrap
}
},
tearDown: function tearDown() {
- (0, _dominus2.default)('body').removeClass('ui-modal-open');
+ _classlist2.default.remove(document.body, 'ui-modal-open');
document.removeEventListener('focus', this.restrictFocus, true);
if (this.lastFocussedElement) {
this.lastFocussedElement.focus();
}
+ },
+ transitionEnd: function transitionEnd() {
+ if (this.show) {
+ this.$dispatch('revealed');
+ } else {
+ this.$dispatch('hidden');
+ }
}
},
@@ -10215,29 +8025,29 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 113 */
+/* 127 */
/***/ function(module, exports) {
- module.exports = "\n\n";
+ module.exports = "\n\n";
/***/ },
-/* 114 */
+/* 128 */
/***/ function(module, exports) {
module.exports = "\n\n
\n \n \n
\n\n \n \n\n \n
\n \n
\n";
/***/ },
-/* 115 */
+/* 129 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(116)
- __vue_script__ = __webpack_require__(117)
+ __webpack_require__(130)
+ __vue_script__ = __webpack_require__(131)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiFab.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(118)
+ console.warn("[vue-loader] src\\UiFab.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(132)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -10245,9 +8055,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-45e4aeac/UiFab.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiFab.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -10256,13 +8066,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 116 */
+/* 130 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 117 */
+/* 131 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -10275,11 +8085,11 @@ return /******/ (function(modules) { // webpackBootstrap
var _UiIcon2 = _interopRequireDefault(_UiIcon);
- var _disabled = __webpack_require__(56);
+ var _disabled = __webpack_require__(71);
var _disabled2 = _interopRequireDefault(_disabled);
- var _ShowsTooltip = __webpack_require__(58);
+ var _ShowsTooltip = __webpack_require__(73);
var _ShowsTooltip2 = _interopRequireDefault(_ShowsTooltip);
@@ -10329,23 +8139,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 118 */
+/* 132 */
/***/ function(module, exports) {
- module.exports = "\n\n";
+ module.exports = "\n\n";
/***/ },
-/* 119 */
+/* 133 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(120)
- __vue_script__ = __webpack_require__(121)
+ __webpack_require__(134)
+ __vue_script__ = __webpack_require__(135)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiPreloader.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(122)
+ console.warn("[vue-loader] src\\UiPreloader.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(136)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -10353,9 +8163,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-65ce9659/UiPreloader.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiPreloader.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -10364,13 +8174,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 120 */
+/* 134 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 121 */
+/* 135 */
/***/ function(module, exports) {
'use strict';
@@ -10390,23 +8200,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 122 */
+/* 136 */
/***/ function(module, exports) {
module.exports = "\n\n";
/***/ },
-/* 123 */
+/* 137 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(124)
- __vue_script__ = __webpack_require__(125)
+ __webpack_require__(138)
+ __vue_script__ = __webpack_require__(139)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiProgressLinear.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(126)
+ console.warn("[vue-loader] src\\UiProgressLinear.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(140)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -10414,9 +8224,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-0a991442/UiProgressLinear.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiProgressLinear.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -10425,13 +8235,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 124 */
+/* 138 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 125 */
+/* 139 */
/***/ function(module, exports) {
'use strict';
@@ -10479,23 +8289,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 126 */
+/* 140 */
/***/ function(module, exports) {
module.exports = "\n\n";
/***/ },
-/* 127 */
+/* 141 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(128)
- __vue_script__ = __webpack_require__(129)
+ __webpack_require__(142)
+ __vue_script__ = __webpack_require__(143)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiRadio.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(130)
+ console.warn("[vue-loader] src\\UiRadio.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(144)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -10503,9 +8313,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-dd19be44/UiRadio.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiRadio.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -10514,13 +8324,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 128 */
+/* 142 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 129 */
+/* 143 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -10529,7 +8339,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _disabled = __webpack_require__(56);
+ var _disabled = __webpack_require__(71);
var _disabled2 = _interopRequireDefault(_disabled);
@@ -10592,23 +8402,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 130 */
+/* 144 */
/***/ function(module, exports) {
module.exports = "\n\n";
/***/ },
-/* 131 */
+/* 145 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(132)
- __vue_script__ = __webpack_require__(133)
+ __webpack_require__(146)
+ __vue_script__ = __webpack_require__(147)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiRadioGroup.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(134)
+ console.warn("[vue-loader] src\\UiRadioGroup.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(148)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -10616,9 +8426,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-33a7fef1/UiRadioGroup.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiRadioGroup.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -10627,13 +8437,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 132 */
+/* 146 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 133 */
+/* 147 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -10642,15 +8452,15 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _disabled = __webpack_require__(56);
+ var _disabled = __webpack_require__(71);
var _disabled2 = _interopRequireDefault(_disabled);
- var _UiRadio = __webpack_require__(127);
+ var _UiRadio = __webpack_require__(141);
var _UiRadio2 = _interopRequireDefault(_UiRadio);
- var _ReceivesTargetedEvent = __webpack_require__(46);
+ var _ReceivesTargetedEvent = __webpack_require__(61);
var _ReceivesTargetedEvent2 = _interopRequireDefault(_ReceivesTargetedEvent);
@@ -10737,23 +8547,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 134 */
+/* 148 */
/***/ function(module, exports) {
module.exports = "\n\n";
/***/ },
-/* 135 */
+/* 149 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(136)
- __vue_script__ = __webpack_require__(137)
+ __webpack_require__(150)
+ __vue_script__ = __webpack_require__(151)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiRating.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(142)
+ console.warn("[vue-loader] src\\UiRating.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(156)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -10761,9 +8571,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-1c51774a/UiRating.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiRating.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -10772,13 +8582,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 136 */
+/* 150 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 137 */
+/* 151 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -10787,11 +8597,11 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _UiRatingIcon = __webpack_require__(138);
+ var _UiRatingIcon = __webpack_require__(152);
var _UiRatingIcon2 = _interopRequireDefault(_UiRatingIcon);
- var _ReceivesTargetedEvent = __webpack_require__(46);
+ var _ReceivesTargetedEvent = __webpack_require__(61);
var _ReceivesTargetedEvent2 = _interopRequireDefault(_ReceivesTargetedEvent);
@@ -10943,17 +8753,17 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 138 */
+/* 152 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(139)
- __vue_script__ = __webpack_require__(140)
+ __webpack_require__(153)
+ __vue_script__ = __webpack_require__(154)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiRatingIcon.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(141)
+ console.warn("[vue-loader] src\\UiRatingIcon.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(155)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -10961,9 +8771,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-1ad28a63/UiRatingIcon.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiRatingIcon.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -10972,13 +8782,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 139 */
+/* 153 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 140 */
+/* 154 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -11026,29 +8836,29 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 141 */
+/* 155 */
/***/ function(module, exports) {
module.exports = "\n\n \n
\n";
/***/ },
-/* 142 */
+/* 156 */
/***/ function(module, exports) {
module.exports = "\n\n";
/***/ },
-/* 143 */
+/* 157 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(144)
- __vue_script__ = __webpack_require__(145)
+ __webpack_require__(158)
+ __vue_script__ = __webpack_require__(159)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiRatingPreview.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(146)
+ console.warn("[vue-loader] src\\UiRatingPreview.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(160)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -11056,9 +8866,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-45d4094e/UiRatingPreview.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiRatingPreview.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -11067,13 +8877,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 144 */
+/* 158 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 145 */
+/* 159 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -11082,7 +8892,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _UiRatingIcon = __webpack_require__(138);
+ var _UiRatingIcon = __webpack_require__(152);
var _UiRatingIcon2 = _interopRequireDefault(_UiRatingIcon);
@@ -11113,23 +8923,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 146 */
+/* 160 */
/***/ function(module, exports) {
module.exports = "\n\n \n
\n";
/***/ },
-/* 147 */
+/* 161 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(148)
- __vue_script__ = __webpack_require__(149)
+ __webpack_require__(162)
+ __vue_script__ = __webpack_require__(163)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiSelect.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(157)
+ console.warn("[vue-loader] src\\UiSelect.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(171)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -11137,9 +8947,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-3cfc3329/UiSelect.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiSelect.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -11148,13 +8958,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 148 */
+/* 162 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 149 */
+/* 163 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -11163,33 +8973,33 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _mergeOptions = __webpack_require__(150);
+ var _mergeOptions = __webpack_require__(164);
var _mergeOptions2 = _interopRequireDefault(_mergeOptions);
- var _fuzzysearch = __webpack_require__(70);
+ var _fuzzysearch = __webpack_require__(84);
var _fuzzysearch2 = _interopRequireDefault(_fuzzysearch);
- var _elementScroll = __webpack_require__(152);
+ var _elementScroll = __webpack_require__(166);
var _UiIcon = __webpack_require__(6);
var _UiIcon2 = _interopRequireDefault(_UiIcon);
- var _UiSelectOption = __webpack_require__(153);
+ var _UiSelectOption = __webpack_require__(167);
var _UiSelectOption2 = _interopRequireDefault(_UiSelectOption);
- var _UiProgressCircular = __webpack_require__(52);
+ var _UiProgressCircular = __webpack_require__(67);
var _UiProgressCircular2 = _interopRequireDefault(_UiProgressCircular);
- var _HasTextInput = __webpack_require__(77);
+ var _HasTextInput = __webpack_require__(91);
var _HasTextInput2 = _interopRequireDefault(_HasTextInput);
- var _ValidatesInput = __webpack_require__(78);
+ var _ValidatesInput = __webpack_require__(92);
var _ValidatesInput2 = _interopRequireDefault(_ValidatesInput);
@@ -11200,12 +9010,12 @@ return /******/ (function(modules) { // webpackBootstrap
props: {
value: {
- type: [Object, Array],
+ type: [Object, Array, String, Number],
default: null,
twoWay: true
},
default: {
- type: [Object, Array],
+ type: [Object, Array, String, Number],
default: null
},
options: {
@@ -11229,18 +9039,29 @@ return /******/ (function(modules) { // webpackBootstrap
type: String,
default: ', '
},
- disableFiltering: {
+ optionsDynamic: {
type: Boolean,
default: false
},
- loading: {
+ optionsLoaded: {
type: Boolean,
- default: false
+ default: true
},
- noResults: {
+ loading: {
type: Boolean,
default: false
- }
+ },
+ keys: {
+ type: Object,
+ default: function _default() {
+ return {
+ text: 'text',
+ value: 'value',
+ image: 'image'
+ };
+ }
+ },
+ filter: Function
},
data: function data() {
@@ -11256,21 +9077,24 @@ return /******/ (function(modules) { // webpackBootstrap
computed: {
filteredOptions: function filteredOptions() {
- if (this.disableFiltering) {
+ if (this.optionsDynamic) {
return this.options;
}
return this.options.filter(this.search);
},
displayText: function displayText() {
+ var _this = this;
+
if (this.multiple && this.value.length) {
var labels = this.value.map(function (value) {
- return value.text;
+ return value[_this.keys.text] || value;
});
+
return labels.join(this.multipleDelimiter);
}
- return this.value ? this.value.text : '';
+ return this.value ? this.value[this.keys.text] || this.value : '';
},
hasDisplayText: function hasDisplayText() {
return this.displayText && Boolean(this.displayText.length);
@@ -11279,11 +9103,15 @@ return /******/ (function(modules) { // webpackBootstrap
return Boolean(this.icon);
},
nothingFound: function nothingFound() {
- if (this.disableFiltering) {
- return this.noResults;
+ if (this.optionsDynamic && !this.optionsLoaded) {
+ return false;
+ }
+
+ if (this.query.length && !this.loading) {
+ return !Boolean(this.filteredOptions.length);
}
- return Boolean(this.options.length && !this.filteredOptions.length);
+ return false;
}
},
@@ -11330,6 +9158,15 @@ return /******/ (function(modules) { // webpackBootstrap
events: {
+ 'ui-select::set-selected': function uiSelectSetSelected(value, id) {
+ if (!this.eventTargetsComponent(id)) {
+ return;
+ }
+
+ this.default = value;
+ this.initValue();
+ },
+
'ui-input::reset': function uiInputReset(id) {
if (!this.eventTargetsComponent(id)) {
return;
@@ -11350,25 +9187,37 @@ return /******/ (function(modules) { // webpackBootstrap
this.value = this.multiple ? [] : null;
if (this.default) {
- this.setDefaultValue(this.default);
+ var defaults = Array.isArray(this.default) ? this.default : [this.default];
+
+ if (defaults.length) {
+ this.setDefaultValue(defaults);
+ }
}
},
search: function search(option) {
- var text = option.text.toLowerCase();
+ if (this.filter) {
+ return this.filter(option, this.query);
+ }
+
var query = this.query.toLowerCase();
+ var text = option[this.keys.text] || option;
+
+ if (typeof text === 'string') {
+ text = text.toLowerCase();
+ }
return (0, _fuzzysearch2.default)(query, text);
},
clearQuery: function clearQuery() {
- var _this = this;
+ var _this2 = this;
this.ignoreQueryChange = true;
this.$nextTick(function () {
- _this.query = '';
+ _this2.query = '';
- _this.$nextTick(function () {
- _this.ignoreQueryChange = false;
+ _this2.$nextTick(function () {
+ _this2.ignoreQueryChange = false;
});
});
},
@@ -11378,10 +9227,9 @@ return /******/ (function(modules) { // webpackBootstrap
if (this.multiple) {
if (this.isSelected(option)) {
this.deselect(option);
- return;
+ } else {
+ this.value.push(option);
}
-
- this.value.push(option);
} else {
this.value = option;
this.selectedIndex = index;
@@ -11414,14 +9262,17 @@ return /******/ (function(modules) { // webpackBootstrap
}
},
highlight: function highlight(index, preventScroll) {
- if (this.highlightedIndex === index) {
+ if (this.highlightedIndex === index || this.$refs.options.length === 0) {
return;
}
- if (index < 0) {
- index = this.$refs.options.length - 1;
- } else if (index >= this.$refs.options.length) {
- index = 0;
+ var firstIndex = 0;
+ var lastIndex = this.$refs.options.length - 1;
+
+ if (index < firstIndex) {
+ index = lastIndex;
+ } else if (index > lastIndex) {
+ index = firstIndex;
}
this.highlightedIndex = index;
@@ -11455,16 +9306,16 @@ return /******/ (function(modules) { // webpackBootstrap
this.showDropdown = true;
},
opened: function opened() {
- var _this2 = this;
+ var _this3 = this;
this.$nextTick(function () {
- if (_this2.showSearch) {
- _this2.$els.searchInput.focus();
+ if (_this3.showSearch) {
+ _this3.$els.searchInput.focus();
} else {
- _this2.$els.dropdown.focus();
+ _this3.$els.dropdown.focus();
}
- _this2.scrollOptionIntoView(_this2.$els.optionsList.querySelector('.selected'));
+ _this3.scrollOptionIntoView(_this3.$els.optionsList.querySelector('.selected'));
});
},
close: function close(deactivate) {
@@ -11488,34 +9339,26 @@ return /******/ (function(modules) { // webpackBootstrap
closed: function closed() {
this.validate();
- if (!this.multiple) {
- this.highlightedIndex = this.selectedIndex;
- } else {
+ if (this.multiple) {
this.highlightedIndex = -1;
+ } else {
+ this.highlightedIndex = this.selectedIndex;
}
},
setDefaultValue: function setDefaultValue(defaults) {
- if (this.multiple) {
- if (!defaults.length) {
- return;
- }
+ var optionValue = void 0;
+ var defaultOptionValue = void 0;
- for (var i = 0; i < this.options.length; i++) {
- for (var j = 0; j < defaults.length; j++) {
- if (this.options[i] === defaults[j]) {
- this.select(this.options[i], i, false);
- break;
- }
- }
- }
+ for (var i = 0; i < defaults.length; i++) {
+ defaultOptionValue = defaults[i][this.keys.value] || defaults[i];
- return;
- }
+ for (var j = 0; j < this.options.length; j++) {
+ optionValue = this.options[j][this.keys.value] || this.options[j];
- for (var _i = 0; _i < this.options.length; _i++) {
- if (this.options[_i] === defaults) {
- this.select(this.options[_i], _i, false);
- break;
+ if (optionValue === defaultOptionValue) {
+ this.select(this.options[j], j, false);
+ break;
+ }
}
}
},
@@ -11534,11 +9377,11 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 150 */
+/* 164 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
- var isOptionObject = __webpack_require__(151);
+ var isOptionObject = __webpack_require__(165);
var hasOwnProperty = Object.prototype.hasOwnProperty;
var propIsEnumerable = Object.propertyIsEnumerable;
var globalThis = this;
@@ -11693,7 +9536,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 151 */
+/* 165 */
/***/ function(module, exports) {
'use strict';
@@ -11706,7 +9549,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 152 */
+/* 166 */
/***/ function(module, exports) {
"use strict";
@@ -11759,17 +9602,17 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 153 */
+/* 167 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(154)
- __vue_script__ = __webpack_require__(155)
+ __webpack_require__(168)
+ __vue_script__ = __webpack_require__(169)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiSelectOption.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(156)
+ console.warn("[vue-loader] src\\UiSelectOption.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(170)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -11777,9 +9620,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-19cce47e/UiSelectOption.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiSelectOption.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -11788,13 +9631,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 154 */
+/* 168 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 155 */
+/* 169 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -11831,6 +9674,16 @@ return /******/ (function(modules) { // webpackBootstrap
selected: {
type: Boolean,
default: false
+ },
+ keys: {
+ type: Object,
+ default: function _default() {
+ return {
+ text: 'text',
+ value: 'value',
+ image: 'image'
+ };
+ }
}
},
@@ -11845,36 +9698,36 @@ return /******/ (function(modules) { // webpackBootstrap
},
partials: {
- 'ui-select-simple': '',
+ 'ui-select-simple': '\n \n ',
- 'ui-select-image': '\n '
+ 'ui-select-image': '\n \n\n \n '
}
};
/***/ },
-/* 156 */
+/* 170 */
/***/ function(module, exports) {
module.exports = "\n\n \n\n \n\n";
/***/ },
-/* 157 */
+/* 171 */
/***/ function(module, exports) {
- module.exports = "\n\n
\n \n
\n\n
\n
\n
\n\n
\n\n
\n
\n \n\n \n
\n\n
\n \n\n - No results found
\n
\n
\n
\n\n
\n
\n
\n";
+ module.exports = "\n\n
\n \n
\n\n
\n
\n
\n\n
\n\n
\n
\n \n\n \n
\n\n
\n \n\n - No results found
\n
\n
\n
\n\n
\n
\n
\n";
/***/ },
-/* 158 */
+/* 172 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(159)
- __vue_script__ = __webpack_require__(160)
+ __webpack_require__(173)
+ __vue_script__ = __webpack_require__(174)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiSlider.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(169)
+ console.warn("[vue-loader] src\\UiSlider.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(183)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -11882,9 +9735,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-3cc206e4/UiSlider.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiSlider.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -11893,13 +9746,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 159 */
+/* 173 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 160 */
+/* 174 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -11908,7 +9761,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _draggabilly = __webpack_require__(161);
+ var _draggabilly = __webpack_require__(175);
var _draggabilly2 = _interopRequireDefault(_draggabilly);
@@ -11916,7 +9769,7 @@ return /******/ (function(modules) { // webpackBootstrap
var _UiIcon2 = _interopRequireDefault(_UiIcon);
- var _ReceivesTargetedEvent = __webpack_require__(46);
+ var _ReceivesTargetedEvent = __webpack_require__(61);
var _ReceivesTargetedEvent2 = _interopRequireDefault(_ReceivesTargetedEvent);
@@ -12099,7 +9952,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 161 */
+/* 175 */
/***/ function(module, exports, __webpack_require__) {
/*** IMPORTS FROM imports-loader ***/
@@ -12131,10 +9984,10 @@ return /******/ (function(modules) { // webpackBootstrap
// CommonJS
module.exports = factory(
window,
- __webpack_require__(162),
- __webpack_require__(163),
- __webpack_require__(164),
- __webpack_require__(165)
+ __webpack_require__(176),
+ __webpack_require__(177),
+ __webpack_require__(178),
+ __webpack_require__(179)
);
} else {
// browser global
@@ -12624,7 +10477,7 @@ return /******/ (function(modules) { // webpackBootstrap
}.call(window));
/***/ },
-/* 162 */
+/* 176 */
/***/ function(module, exports, __webpack_require__) {
/*** IMPORTS FROM imports-loader ***/
@@ -12720,7 +10573,7 @@ return /******/ (function(modules) { // webpackBootstrap
}.call(window));
/***/ },
-/* 163 */
+/* 177 */
/***/ function(module, exports, __webpack_require__) {
/*** IMPORTS FROM imports-loader ***/
@@ -12786,7 +10639,7 @@ return /******/ (function(modules) { // webpackBootstrap
}.call(window));
/***/ },
-/* 164 */
+/* 178 */
/***/ function(module, exports, __webpack_require__) {
/*** IMPORTS FROM imports-loader ***/
@@ -13036,7 +10889,7 @@ return /******/ (function(modules) { // webpackBootstrap
define( [ 'get-style-property/get-style-property' ], defineGetSize );
} else if ( true ) {
// CommonJS for Component
- module.exports = defineGetSize( __webpack_require__(163) );
+ module.exports = defineGetSize( __webpack_require__(177) );
} else {
// browser global
window.getSize = defineGetSize( window.getStyleProperty );
@@ -13047,7 +10900,7 @@ return /******/ (function(modules) { // webpackBootstrap
}.call(window));
/***/ },
-/* 165 */
+/* 179 */
/***/ function(module, exports, __webpack_require__) {
/*** IMPORTS FROM imports-loader ***/
@@ -13079,8 +10932,8 @@ return /******/ (function(modules) { // webpackBootstrap
// CommonJS
module.exports = factory(
window,
- __webpack_require__(166),
- __webpack_require__(167)
+ __webpack_require__(180),
+ __webpack_require__(181)
);
} else {
// browser global
@@ -13424,14 +11277,10 @@ return /******/ (function(modules) { // webpackBootstrap
}.call(window));
/***/ },
-/* 166 */
+/* 180 */
/***/ function(module, exports, __webpack_require__) {
- /*** IMPORTS FROM imports-loader ***/
- var define = false;
- (function() {
-
- /*!
+ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
* eventie v1.0.6
* event binding helper
* eventie.bind( elem, 'click', myFn )
@@ -13501,10 +11350,10 @@ return /******/ (function(modules) { // webpackBootstrap
// ----- module definition ----- //
- if ( typeof define === 'function' && define.amd ) {
+ if ( true ) {
// AMD
- define( eventie );
- } else if ( true ) {
+ !(__WEBPACK_AMD_DEFINE_FACTORY__ = (eventie), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+ } else if ( typeof exports === 'object' ) {
// CommonJS
module.exports = eventie;
} else {
@@ -13513,11 +11362,10 @@ return /******/ (function(modules) { // webpackBootstrap
}
})( window );
-
- }.call(window));
+
/***/ },
-/* 167 */
+/* 181 */
/***/ function(module, exports, __webpack_require__) {
/*** IMPORTS FROM imports-loader ***/
@@ -13549,8 +11397,8 @@ return /******/ (function(modules) { // webpackBootstrap
// CommonJS
module.exports = factory(
window,
- __webpack_require__(168),
- __webpack_require__(166)
+ __webpack_require__(182),
+ __webpack_require__(180)
);
} else {
// browser global
@@ -13844,7 +11692,7 @@ return /******/ (function(modules) { // webpackBootstrap
}.call(window));
/***/ },
-/* 168 */
+/* 182 */
/***/ function(module, exports) {
/*** IMPORTS FROM imports-loader ***/
@@ -14327,23 +12175,23 @@ return /******/ (function(modules) { // webpackBootstrap
}.call(window));
/***/ },
-/* 169 */
+/* 183 */
/***/ function(module, exports) {
module.exports = "\n\n";
/***/ },
-/* 170 */
+/* 184 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(171)
- __vue_script__ = __webpack_require__(172)
+ __webpack_require__(185)
+ __vue_script__ = __webpack_require__(186)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiSnackbar.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(173)
+ console.warn("[vue-loader] src\\UiSnackbar.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(187)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -14351,9 +12199,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-609da972/UiSnackbar.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiSnackbar.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -14362,13 +12210,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 171 */
+/* 185 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 172 */
+/* 186 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -14377,7 +12225,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _UiButton = __webpack_require__(95);
+ var _UiButton = __webpack_require__(109);
var _UiButton2 = _interopRequireDefault(_UiButton);
@@ -14467,23 +12315,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 173 */
+/* 187 */
/***/ function(module, exports) {
module.exports = "\n\n
\n \n \n \n
\n\n
\n \n
\n
\n";
/***/ },
-/* 174 */
+/* 188 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(175)
- __vue_script__ = __webpack_require__(176)
+ __webpack_require__(189)
+ __vue_script__ = __webpack_require__(190)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiSnackbarContainer.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(177)
+ console.warn("[vue-loader] src\\UiSnackbarContainer.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(191)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -14491,9 +12339,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-144324df/UiSnackbarContainer.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiSnackbarContainer.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -14502,13 +12350,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 175 */
+/* 189 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 176 */
+/* 190 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -14517,11 +12365,11 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _uuid = __webpack_require__(74);
+ var _uuid = __webpack_require__(88);
var _uuid2 = _interopRequireDefault(_uuid);
- var _UiSnackbar = __webpack_require__(170);
+ var _UiSnackbar = __webpack_require__(184);
var _UiSnackbar2 = _interopRequireDefault(_UiSnackbar);
@@ -14609,23 +12457,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 177 */
+/* 191 */
/***/ function(module, exports) {
module.exports = "\n\n";
/***/ },
-/* 178 */
+/* 192 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(179)
- __vue_script__ = __webpack_require__(180)
+ __webpack_require__(193)
+ __vue_script__ = __webpack_require__(194)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiSwitch.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(181)
+ console.warn("[vue-loader] src\\UiSwitch.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(195)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -14633,9 +12481,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-ea064d3e/UiSwitch.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiSwitch.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -14644,13 +12492,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 179 */
+/* 193 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 180 */
+/* 194 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -14659,11 +12507,11 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _disabled = __webpack_require__(56);
+ var _disabled = __webpack_require__(71);
var _disabled2 = _interopRequireDefault(_disabled);
- var _ReceivesTargetedEvent = __webpack_require__(46);
+ var _ReceivesTargetedEvent = __webpack_require__(61);
var _ReceivesTargetedEvent2 = _interopRequireDefault(_ReceivesTargetedEvent);
@@ -14722,23 +12570,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 181 */
+/* 195 */
/***/ function(module, exports) {
module.exports = "\n\n";
/***/ },
-/* 182 */
+/* 196 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(183)
- __vue_script__ = __webpack_require__(184)
+ __webpack_require__(197)
+ __vue_script__ = __webpack_require__(198)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiTab.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(185)
+ console.warn("[vue-loader] src\\UiTab.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(199)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -14746,9 +12594,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-7cb63390/UiTab.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiTab.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -14757,13 +12605,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 183 */
+/* 197 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 184 */
+/* 198 */
/***/ function(module, exports) {
'use strict';
@@ -14802,23 +12650,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 185 */
+/* 199 */
/***/ function(module, exports) {
module.exports = "\n\n \n
\n";
/***/ },
-/* 186 */
+/* 200 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(187)
- __vue_script__ = __webpack_require__(188)
+ __webpack_require__(201)
+ __vue_script__ = __webpack_require__(202)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiTabs.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(193)
+ console.warn("[vue-loader] src\\UiTabs.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(207)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -14826,9 +12674,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-76a381eb/UiTabs.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiTabs.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -14837,13 +12685,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 187 */
+/* 201 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 188 */
+/* 202 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -14852,18 +12700,22 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _uuid = __webpack_require__(74);
+ var _uuid = __webpack_require__(88);
var _uuid2 = _interopRequireDefault(_uuid);
- var _UiTabHeaderItem = __webpack_require__(189);
+ var _UiTabHeaderItem = __webpack_require__(203);
var _UiTabHeaderItem2 = _interopRequireDefault(_UiTabHeaderItem);
- var _disabled = __webpack_require__(56);
+ var _disabled = __webpack_require__(71);
var _disabled2 = _interopRequireDefault(_disabled);
+ var _ReceivesTargetedEvent = __webpack_require__(61);
+
+ var _ReceivesTargetedEvent2 = _interopRequireDefault(_ReceivesTargetedEvent);
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
@@ -14968,6 +12820,20 @@ return /******/ (function(modules) { // webpackBootstrap
},
+ events: {
+ 'ui-tabs::select': function uiTabsSelect(tabId, id) {
+ if (!this.eventTargetsComponent(id)) {
+ return;
+ }
+
+ var tab = this.findTabById(tabId);
+
+ if (tab) {
+ this.select(tab.$el, tab);
+ }
+ }
+ },
+
methods: {
select: function select(e, tab) {
var newTabElement = e.currentTarget ? e.currentTarget : e;
@@ -15022,6 +12888,20 @@ return /******/ (function(modules) { // webpackBootstrap
tab = tab || this.$refs.tabElements[currentTabIndex];
+ return tab;
+ },
+ findTabById: function findTabById(id) {
+ var tab = null;
+
+ var numOfTabs = this.$refs.tabElements.length;
+
+ for (var i = 0; i <= numOfTabs; i++) {
+ if (id === this.$refs.tabElements[i].id) {
+ tab = this.$refs.tabElements[i];
+ break;
+ }
+ }
+
return tab;
}
},
@@ -15032,21 +12912,23 @@ return /******/ (function(modules) { // webpackBootstrap
directives: {
disabled: _disabled2.default
- }
+ },
+
+ mixins: [_ReceivesTargetedEvent2.default]
};
/***/ },
-/* 189 */
+/* 203 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(190)
- __vue_script__ = __webpack_require__(191)
+ __webpack_require__(204)
+ __vue_script__ = __webpack_require__(205)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiTabHeaderItem.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(192)
+ console.warn("[vue-loader] src\\UiTabHeaderItem.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(206)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -15054,9 +12936,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-a88464d0/UiTabHeaderItem.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiTabHeaderItem.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -15065,13 +12947,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 190 */
+/* 204 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 191 */
+/* 205 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -15084,7 +12966,7 @@ return /******/ (function(modules) { // webpackBootstrap
var _UiIcon2 = _interopRequireDefault(_UiIcon);
- var _disabled = __webpack_require__(56);
+ var _disabled = __webpack_require__(71);
var _disabled2 = _interopRequireDefault(_disabled);
@@ -15126,29 +13008,29 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 192 */
+/* 206 */
/***/ function(module, exports) {
module.exports = "\n\n";
/***/ },
-/* 193 */
+/* 207 */
/***/ function(module, exports) {
module.exports = "\n\n";
/***/ },
-/* 194 */
+/* 208 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(195)
- __vue_script__ = __webpack_require__(196)
+ __webpack_require__(209)
+ __vue_script__ = __webpack_require__(210)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiTextbox.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(197)
+ console.warn("[vue-loader] src\\UiTextbox.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(211)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -15156,9 +13038,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-714d4bbe/UiTextbox.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiTextbox.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -15167,13 +13049,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 195 */
+/* 209 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 196 */
+/* 210 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -15186,15 +13068,15 @@ return /******/ (function(modules) { // webpackBootstrap
var _UiIcon2 = _interopRequireDefault(_UiIcon);
- var _autofocus = __webpack_require__(76);
+ var _autofocus = __webpack_require__(90);
var _autofocus2 = _interopRequireDefault(_autofocus);
- var _HasTextInput = __webpack_require__(77);
+ var _HasTextInput = __webpack_require__(91);
var _HasTextInput2 = _interopRequireDefault(_HasTextInput);
- var _ValidatesInput = __webpack_require__(78);
+ var _ValidatesInput = __webpack_require__(92);
var _ValidatesInput2 = _interopRequireDefault(_ValidatesInput);
@@ -15225,10 +13107,7 @@ return /******/ (function(modules) { // webpackBootstrap
type: Boolean,
default: false
},
- autocomplete: {
- type: String,
- default: 'on'
- },
+ autocomplete: String,
autofocus: {
type: Boolean,
default: false
@@ -15375,23 +13254,23 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 197 */
+/* 211 */
/***/ function(module, exports) {
- module.exports = "\n\n
\n \n
\n\n
\n
\n\n
\n
\n
\n";
+ module.exports = "\n\n
\n \n
\n\n
\n
\n\n
\n
\n
\n";
/***/ },
-/* 198 */
+/* 212 */
/***/ function(module, exports, __webpack_require__) {
var __vue_script__, __vue_template__
- __webpack_require__(199)
- __vue_script__ = __webpack_require__(200)
+ __webpack_require__(213)
+ __vue_script__ = __webpack_require__(214)
if (__vue_script__ &&
__vue_script__.__esModule &&
Object.keys(__vue_script__).length > 1) {
- console.warn("[vue-loader] src/UiToolbar.vue: named exports in *.vue files are ignored.")}
- __vue_template__ = __webpack_require__(201)
+ console.warn("[vue-loader] src\\UiToolbar.vue: named exports in *.vue files are ignored.")}
+ __vue_template__ = __webpack_require__(215)
module.exports = __vue_script__ || {}
if (module.exports.__esModule) module.exports = module.exports.default
if (__vue_template__) {
@@ -15399,9 +13278,9 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (false) {(function () { module.hot.accept()
var hotAPI = require("vue-hot-reload-api")
- hotAPI.install(require("vue"), false)
+ hotAPI.install(require("vue"), true)
if (!hotAPI.compatible) return
- var id = "_v-76e3dcc4/UiToolbar.vue"
+ var id = "C:\\code\\packages\\keen-ui\\src\\UiToolbar.vue"
if (!module.hot.data) {
hotAPI.createRecord(id, module.exports)
} else {
@@ -15410,13 +13289,13 @@ return /******/ (function(modules) { // webpackBootstrap
})()}
/***/ },
-/* 199 */
+/* 213 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
-/* 200 */
+/* 214 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@@ -15425,7 +13304,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: true
});
- var _UiProgressLinear = __webpack_require__(123);
+ var _UiProgressLinear = __webpack_require__(137);
var _UiProgressLinear2 = _interopRequireDefault(_UiProgressLinear);
@@ -15533,7 +13412,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 201 */
+/* 215 */
/***/ function(module, exports) {
module.exports = "\n\n";
diff --git a/dist/keen-ui.js.map b/dist/keen-ui.js.map
index 3c700a27..3698d075 100644
--- a/dist/keen-ui.js.map
+++ b/dist/keen-ui.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 6c741bbffa4103ee0fed","webpack:///./src/index.js","webpack:///./src/helpers/modality.js","webpack:///./src/UiAlert.vue","webpack:///./src/UiAlert.vue?9267","webpack:///UiAlert.vue","webpack:///./src/UiIcon.vue","webpack:///./src/UiIcon.vue?2684","webpack:///UiIcon.vue","webpack:///./src/UiIcon.vue?f2b6","webpack:///./src/UiIconButton.vue","webpack:///./src/UiIconButton.vue?08b4","webpack:///UiIconButton.vue","webpack:///./src/UiMenu.vue","webpack:///./src/UiMenu.vue?fd68","webpack:///UiMenu.vue","webpack:///./src/UiMenuItem.vue","webpack:///./src/UiMenuItem.vue?9195","webpack:///UiMenuItem.vue","webpack:///./src/mixins/ShowsRippleInk.js","webpack:///./src/UiRippleInk.vue","webpack:///./src/UiRippleInk.vue?033a","webpack:///UiRippleInk.vue","webpack:///./~/dominus/src/dominus.js","webpack:///./~/dominus/src/Dominus.prototype.js","webpack:///./~/dominus/src/public.js","webpack:///./~/dominus/src/dom.js","webpack:///./~/dominus/~/sektor/src/sektor.js","webpack:///./~/dominus/~/crossvent/src/crossvent.js","webpack:///./~/dominus/~/crossvent/~/custom-event/index.js","webpack:///./~/dominus/~/crossvent/src/eventmap.js","webpack:///./~/dominus/src/Dominus.ctor.js","webpack:///./~/dominus/~/poser/index.js","webpack:///./~/dominus/~/poser/src/browser.js","webpack:///./~/dominus/src/cast.js","webpack:///./~/dominus/src/test.js","webpack:///./~/dominus/src/apply.js","webpack:///./~/dominus/src/text.js","webpack:///./~/dominus/src/custom.js","webpack:///./~/dominus/src/flatten.js","webpack:///./~/dominus/src/classes.js","webpack:///./src/UiRippleInk.vue?b7d1","webpack:///./src/UiMenuItem.vue?c891","webpack:///./src/mixins/ShowsDropdown.js","webpack:///./~/tether-drop/dist/js/drop.js","webpack:///./~/tether-drop/~/tether/dist/js/tether.js","webpack:///./src/mixins/ReceivesTargetedEvent.js","webpack:///./src/UiMenu.vue?c595","webpack:///./src/UiPopover.vue","webpack:///./src/UiPopover.vue?8a67","webpack:///UiPopover.vue","webpack:///./src/UiPopover.vue?eba5","webpack:///./src/UiProgressCircular.vue","webpack:///./src/UiProgressCircular.vue?dfeb","webpack:///UiProgressCircular.vue","webpack:///./src/UiProgressCircular.vue?5f46","webpack:///./src/directives/disabled.js","webpack:///./src/mixins/HasDropdown.js","webpack:///./src/mixins/ShowsTooltip.js","webpack:///./src/UiTooltip.vue","webpack:///./src/UiTooltip.vue?35ee","webpack:///UiTooltip.vue","webpack:///./~/tether-tooltip/dist/js/tooltip.js","webpack:///./~/tether-tooltip/~/tether/dist/js/tether.js","webpack:///./src/UiTooltip.vue?8591","webpack:///./src/UiIconButton.vue?b8b4","webpack:///./src/UiAlert.vue?7d61","webpack:///./src/UiAutocomplete.vue","webpack:///./src/UiAutocomplete.vue?22d3","webpack:///UiAutocomplete.vue","webpack:///./~/fuzzysearch/index.js","webpack:///./src/UiAutocompleteSuggestion.vue","webpack:///./src/UiAutocompleteSuggestion.vue?8c33","webpack:///UiAutocompleteSuggestion.vue","webpack:///./src/helpers/uuid.js","webpack:///./src/UiAutocompleteSuggestion.vue?2df9","webpack:///./src/directives/autofocus.js","webpack:///./src/mixins/HasTextInput.js","webpack:///./src/mixins/ValidatesInput.js","webpack:///./~/validatorjs/src/validator.js","webpack:///./~/validatorjs/src/rules.js","webpack:///./~/validatorjs/src/lang.js","webpack:///./~/validatorjs/src/messages.js","webpack:///./~/validatorjs/src/attributes.js","webpack:///./~/validatorjs/src/lang/en.js","webpack:///./~/validatorjs/src/lang ^\\.\\/.*$","webpack:///./~/validatorjs/src/lang/es.js","webpack:///./~/validatorjs/src/lang/fr.js","webpack:///./~/validatorjs/src/lang/it.js","webpack:///./~/validatorjs/src/lang/ja.js","webpack:///./~/validatorjs/src/lang/pl.js","webpack:///./~/validatorjs/src/lang/ru.js","webpack:///./~/validatorjs/src/errors.js","webpack:///./~/validatorjs/src/async.js","webpack:///./src/UiAutocomplete.vue?2480","webpack:///./src/UiButton.vue","webpack:///./src/UiButton.vue?eda2","webpack:///UiButton.vue","webpack:///./src/UiButton.vue?b092","webpack:///./src/UiCheckbox.vue","webpack:///./src/UiCheckbox.vue?9628","webpack:///UiCheckbox.vue","webpack:///./src/UiCheckbox.vue?a8d4","webpack:///./src/UiCollapsible.vue","webpack:///./src/UiCollapsible.vue?90eb","webpack:///UiCollapsible.vue","webpack:///./src/UiCollapsible.vue?f7ea","webpack:///./src/UiConfirm.vue","webpack:///./src/UiConfirm.vue?10fc","webpack:///UiConfirm.vue","webpack:///./src/UiModal.vue","webpack:///./src/UiModal.vue?56e0","webpack:///UiModal.vue","webpack:///./src/UiModal.vue?3ef5","webpack:///./src/UiConfirm.vue?d3f9","webpack:///./src/UiFab.vue","webpack:///./src/UiFab.vue?0e85","webpack:///UiFab.vue","webpack:///./src/UiFab.vue?c96f","webpack:///./src/UiPreloader.vue","webpack:///./src/UiPreloader.vue?ee45","webpack:///UiPreloader.vue","webpack:///./src/UiPreloader.vue?a4a8","webpack:///./src/UiProgressLinear.vue","webpack:///./src/UiProgressLinear.vue?7e80","webpack:///UiProgressLinear.vue","webpack:///./src/UiProgressLinear.vue?1634","webpack:///./src/UiRadio.vue","webpack:///./src/UiRadio.vue?f19c","webpack:///UiRadio.vue","webpack:///./src/UiRadio.vue?08f6","webpack:///./src/UiRadioGroup.vue","webpack:///./src/UiRadioGroup.vue?c3f2","webpack:///UiRadioGroup.vue","webpack:///./src/UiRadioGroup.vue?ac02","webpack:///./src/UiRating.vue","webpack:///./src/UiRating.vue?a4bb","webpack:///UiRating.vue","webpack:///./src/UiRatingIcon.vue","webpack:///./src/UiRatingIcon.vue?169f","webpack:///UiRatingIcon.vue","webpack:///./src/UiRatingIcon.vue?9644","webpack:///./src/UiRating.vue?fce7","webpack:///./src/UiRatingPreview.vue","webpack:///./src/UiRatingPreview.vue?9211","webpack:///UiRatingPreview.vue","webpack:///./src/UiRatingPreview.vue?416f","webpack:///./src/UiSelect.vue","webpack:///./src/UiSelect.vue?3b1c","webpack:///UiSelect.vue","webpack:///./~/merge-options/index.js","webpack:///./~/merge-options/~/is-plain-obj/index.js","webpack:///./src/helpers/element-scroll.js","webpack:///./src/UiSelectOption.vue","webpack:///./src/UiSelectOption.vue?e5c9","webpack:///UiSelectOption.vue","webpack:///./src/UiSelectOption.vue?415b","webpack:///./src/UiSelect.vue?e3cf","webpack:///./src/UiSlider.vue","webpack:///./src/UiSlider.vue?73c3","webpack:///UiSlider.vue","webpack:///./~/draggabilly/draggabilly.js","webpack:///./~/draggabilly/~/desandro-classie/classie.js","webpack:///./~/draggabilly/~/desandro-get-style-property/get-style-property.js","webpack:///./~/draggabilly/~/get-size/get-size.js","webpack:///./~/draggabilly/~/unidragger/unidragger.js","webpack:///./~/draggabilly/~/unidragger/~/eventie/eventie.js","webpack:///./~/draggabilly/~/unidragger/~/unipointer/unipointer.js","webpack:///./~/draggabilly/~/unidragger/~/unipointer/~/wolfy87-eventemitter/EventEmitter.js","webpack:///./src/UiSlider.vue?aa83","webpack:///./src/UiSnackbar.vue","webpack:///./src/UiSnackbar.vue?6508","webpack:///UiSnackbar.vue","webpack:///./src/UiSnackbar.vue?7ca0","webpack:///./src/UiSnackbarContainer.vue","webpack:///./src/UiSnackbarContainer.vue?c07f","webpack:///UiSnackbarContainer.vue","webpack:///./src/UiSnackbarContainer.vue?2f9c","webpack:///./src/UiSwitch.vue","webpack:///./src/UiSwitch.vue?79cc","webpack:///UiSwitch.vue","webpack:///./src/UiSwitch.vue?32f0","webpack:///./src/UiTab.vue","webpack:///./src/UiTab.vue?5b7f","webpack:///UiTab.vue","webpack:///./src/UiTab.vue?38fe","webpack:///./src/UiTabs.vue","webpack:///./src/UiTabs.vue?17b8","webpack:///UiTabs.vue","webpack:///./src/UiTabHeaderItem.vue","webpack:///./src/UiTabHeaderItem.vue?dcae","webpack:///UiTabHeaderItem.vue","webpack:///./src/UiTabHeaderItem.vue?778f","webpack:///./src/UiTabs.vue?a84c","webpack:///./src/UiTextbox.vue","webpack:///./src/UiTextbox.vue?4993","webpack:///UiTextbox.vue","webpack:///./src/UiTextbox.vue?e877","webpack:///./src/UiToolbar.vue","webpack:///./src/UiToolbar.vue?92cf","webpack:///UiToolbar.vue","webpack:///./src/UiToolbar.vue?040a"],"names":[],"mappings":"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oCAEA;;qCACA;AACA;AAEA;;0CAGA;;uBACA;mBACA;SAEA;;0BACA;mBACA;YACA;kCACA;kCACA;AAEA;;yCACA;SAEA;;qCACA;4BACA;YACA;oBACA,kDAEA;AAEA;;yBAEA;;0BACA;2BACA;0CACA;yCAGA;;wBACA;wBAEA;;4BACA;iDACA;QAEA;;gEAEA;;sCACA;oDAEA;;iDAGA;;gCACA;gCAEA;;0CACA;4FACA;AACA;YACA;AAEA;;6CACA;;;AAEA,mDAEA;yBACA;6BACA;AACA;;;AAEA,qDACA;2BACA;2DACA;kDACA;AACA;AACA;AAEA;;;WAGA;;;;mBAGA;uBAIA;AALA;AADA;;;qCAQA;kBACA;AAGA;AALA;;6BAMA;cACA;AAEA;6CACA;2BACA;2DACA;4DACA;AACA;AAEA;;;;2CAEA;+BACA;6DACA;4DACA;AACA;AAEA;AAPA;AA3BA,G;;;;;;AC7GA;;AAEA;;;;;;;ACFA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7MA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;;;;;;ACjCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;;;;;;;AC1VA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,oBAAmB,gCAAgC;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH,4BAA2B,+BAA+B;AAC1D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAmB,cAAc;;;;;;;;ACtEjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,mCAAkC,gBAAgB;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA,wEAAuE,uBAAuB;AAC9F,2EAA0E,uBAAuB;AACjG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA,cAAa,sBAAsB;AACnC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnGA;;AAEA;AACA;AACA,2CAA0C,UAAU,aAAa,EAAE;AACnE;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACZA;;AAEA;AACA;;AAEA;;;;;;;ACLA;;AAEA;;AAEA;;AAEA;AACA,+CAA8C,oBAAoB;AAClE;;;;;;;ACRA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,8BAA6B;AAC7B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACzBA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;;AC3BA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACxBA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;ACjBA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;;;;;;ACzCA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,IAAG;AACH;;AAEA;;;;;;;ACfA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3DA,4D;;;;;;ACAA,yIAAwI,8CAA8C,2f;;;;;;;;;;;;ACAtL;;;;AACA;;;;AAEA;;;;;;mBAEe;AACX,YAAO;AACH,aAAI,MADD;AAEH,kBAAS,OAFN;AAGH,uBAAc;AACV,mBAAM,OA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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,+BAA8B;AAC9B;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sBAAqB,0BAA0B;;AAE/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iCAAgC,mDAAmD;AACnF;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAa;AACb;AACA;AACA,cAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA;AACA,YAAW;AACX;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA;AACA,YAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA4C;AAC5C;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,0BAAyB,wBAAwB;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,cAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,cAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA,wBAAuB,8BAA8B;AACrD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;;AAEL;AACA,IAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA,EAAC;;;;;;;AC/iBD;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA,EAAC;;AAED;;AAEA,kCAAiC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEljB,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA,iBAAgB;AAChB;;AAEA;;AAEA;AACA,kEAAiE;AACjE;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,WAAU;AACV;;AAEA;AACA,qEAAoE;;AAEpE;;AAEA;;AAEA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,yCAAyC;AAC1E;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA,2FAA0F,aAAa;AACvG;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,oCAAmC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAEtpB,kCAAiC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEljB,yCAAwC,mBAAmB,4BAA4B,kDAAkD,gBAAgB,kDAAkD,8DAA8D,0BAA0B,4CAA4C,uBAAuB,kBAAkB,EAAE,OAAO,cAAc,gBAAgB,gBAAgB,eAAe,2BAA2B,oBAAoB,EAAE,EAAE,4BAA4B,mBAAmB,EAAE,OAAO,uBAAuB,4BAA4B,kBAAkB,EAAE,8BAA8B,EAAE,EAAE;;AAElpB,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAiB,uBAAuB;AACxC;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,WAAU;AACV;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,WAAU;AACV;;AAEA;AACA,cAAa;;AAEb,qEAAoE,aAAa;AACjF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,WAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB,YAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,QAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP,0BAAyB;AACzB;;AAEA;AACA;AACA,QAAO;AACP;;AAEA;AACA,qEAAoE,+BAA+B;AACnG;;AAEA,mDAAkD,+BAA+B;AACjF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAqB,+BAA+B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,YAAW;;AAEX;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,0BAAyB,yBAAyB;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA,qBAAoB,wBAAwB;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA,EAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA;;AAEA,oCAAmC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAEtpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,QAAO;AACP,MAAK;;AAEL;;AAEA,gCAA+B;AAC/B,gCAA+B;;AAE/B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;A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A;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA4B;;AAE5B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,EAAC;;AAED;;AAEA;AACA;AACA;AACA,kBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;;AAEA,EAAC;;;;;;;ACzID;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA,EAAC;;AAED;;AAEA,kCAAiC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEljB,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA,iBAAgB;AAChB;;AAEA;;AAEA;AACA,kEAAiE;AACjE;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,WAAU;AACV;;AAEA;AACA,qEAAoE;;AAEpE;;AAEA;;AAEA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,yCAAyC;AAC1E;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA,2FAA0F,aAAa;AACvG;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,oCAAmC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAEtpB,kCAAiC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEljB,yCAAwC,mBAAmB,4BAA4B,kDAAkD,gBAAgB,kDAAkD,8DAA8D,0BAA0B,4CAA4C,uBAAuB,kBAAkB,EAAE,OAAO,cAAc,gBAAgB,gBAAgB,eAAe,2BAA2B,oBAAoB,EAAE,EAAE,4BAA4B,mBAAmB,EAAE,OAAO,uBAAuB,4BAA4B,kBAAkB,EAAE,8BAA8B,EAAE,EAAE;;AAElpB,kDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAiB,uBAAuB;AACxC;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,WAAU;AACV;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,WAAU;AACV;;AAEA;AACA,cAAa;;AAEb,qEAAoE,aAAa;AACjF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,WAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB,YAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,QAAO;;AAEP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP,0BAAyB;AACzB;;AAEA;AACA;AACA,QAAO;AACP;;AAEA;AACA,qEAAoE,+BAA+B;AACnG;;AAEA,mDAAkD,+BAA+B;AACjF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAqB,+BAA+B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,YAAW;;AAEX;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,0BAAyB,yBAAyB;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,YAAW;;AAEX;AACA;AACA;AACA;AACA,cAAa;AACb;;AAEA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA,qBAAoB,wBAAwB;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,IAAG;;AAEH;AACA,EAAC;;AAED;;AAEA;;AAEA;AACA;;AAEA;;AAEA,oCAAmC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAEtpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP,MAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,QAAO;AACP,MAAK;;AAEL;;AAEA,gCAA+B;AAC/B,gCAA+B;;AAE/B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL,aAAY;AACZ;AACA,EAAC;AACD;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA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A;;AAEA;AACA;AACA,8CAA6C;;AAE7C,sEAAqE,SAAS;AAC9E;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,6CAA4C,cAAc,wBAAwB;AAClF;AACA,eAAc,OAAO;AACrB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qDAAoD,SAAS;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB;AACA;AACA,kBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,MAAM;AACpB,eAAc;AACd;AACA;AACA;AACA,wCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc;AACd;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,KAAK;AACnB,eAAc,MAAM;AACpB,eAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;;AAGH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,QAAQ;AACtB,eAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB,eAAc;AACd;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,QAAQ;AACrB,eAAc;AACd;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc;AACd;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,cAAc;AAC5B,eAAc;AACd;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,SAAS;AACtB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,SAAS;AACtB,eAAc;AACd;AACA;AACA;AACA;AACA,2CAA0C;AAC1C;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY,OAAO;AACnB,aAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB,aAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY,cAAc;AAC1B,aAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY,OAAO;AACnB,aAAY,SAAS;AACrB,aAAY,OAAO;AACnB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAY,OAAO;AACnB,aAAY,SAAS;AACrB,aAAY,OAAO;AACnB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACnbA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA,gCAA+B,yBAAyB,gCAAgC,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,iCAAiC,GAAG;AACpK;AACA,IAAG;;AAEH;AACA;;AAEA,uBAAsB;;AAEtB;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yBAAwB;;AAExB,kBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA,uBAAsB;;AAEtB,oBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA,wBAAuB,IAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,eAAc,MAAM;AACpB,eAAc,MAAM;AACpB,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,MAAM;AACnB,cAAa,MAAM;AACnB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA,0CAAyC;AACzC;AACA,eAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,kBAAkB;AAChC,eAAc,iBAAiB;AAC/B,eAAc;AACd;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,UAAU;AACvB,eAAc;AACd;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,aAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,eAAc,OAAO;AACrB,cAAa;AACb,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc;AACd;AACA;AACA,kDAAiD,SAAS;AAC1D;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB,eAAc;AACd;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB,eAAc;AACd;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,SAAS;AACvB,eAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;;;;;;;AC/ZA;;AAEA;;AAEA;;AAEA,eAAc;;AAEd;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,eAAc;AACd;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB,cAAa,OAAO;AACpB,cAAa,cAAc;AAC3B,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc;AACd;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;;;;;ACzEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAa,OAAO;AACpB,eAAc;AACd;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,OAAO;AACpB;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,cAAa,QAAQ;AACrB,eAAc;AACd;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,KAAK;AACnB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL,6DAA4D;AAC5D;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,KAAK;AACnB,eAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA,4BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,KAAK;AACnB,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;;;;;;ACvJA;;AAEA;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,KAAK;AACnB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,KAAK;AACnB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,uDAAuD;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;;;;;;ACjCA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,OAAO;AACrB,eAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,OAAO;AACrB,eAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAa,KAAK;AAClB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc,QAAQ;AACtB,eAAc;AACd;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA,eAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;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AACA;AAEA;6DACA;kDACA;AACA;AAEA;;4BACA;qDACA;4DACA;yBACA;AAEA;;qCAEA;;iCACA;qEACA;AACA;AAEA;iCACA;2BACA;AAEA;+BACA;2BAEA;;oCACA;sBACA;AACA;AAEA;mCACA;oCACA;sBACA;oBACA;sBACA;AACA;AAEA;+BACA;gCACA;AACA;AAEA;;iCACA;AAEA;;AACA;;wCACA;wCACA;6CACA;wBACA;0CACA;AAEA;;mFACA;AACA;AAEA;2CACA;iCAEA;;8BACA;8BACA;AAEA;;6BACA;+BACA;oBACA;iCACA;AACA;AAEA;gEACA;qFACA;4BACA;AACA;AAEA;mCACA;kBAEA;;iCACA;8CACA;oBACA;0CACA;AACA;AAEA;6DACA;gCACA;uCACA;AACA;AAEA;;+DACA;+DACA;8DACA;6DACA;AACA;AACA;AACA;AAEA;;AACA;AAEA;;8DACA;oDACA;uDACA;AACA;AACA;AACA;AAEA;uEACA;iFACA;AAGA;AA7LA;;;AA+LA;AACA;AAGA;AALA;;aASA;AAnWA,G;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA,mBAAkB;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,GAAE;;AAEF;AACA;;AAEA;AACA,mBAAkB;AAClB,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAiB,kBAAkB;AACnC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH,GAAE;;AAEF;AACA;;AAEA;AACA,mBAA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A;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,qBAAqB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4BAA2B;AAC3B;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,sBAAqB;AACrB,qBAAoB;;AAEpB,kCAAiC;;AAEjC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,MAAM;AACjB,YAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,EAAC;;AAED,EAAC,e;;;;;;ACvgBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA,EAAC;;AAED,EAAC,e;;;;;;AC1FD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,wCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA,EAAC;;AAED,EAAC,e;;;;;;AC5DD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,SAAS;AACpD;AACA;AACA;AACA;AACA;;;;AAIA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,4CAA2C,SAAS;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA,EAAC;;AAED,EAAC,e;;;;;;AC/PD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,SAAS;AACpD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sCAAqC,SAAS;AAC9C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,EAAC;;AAED,EAAC,e;;;;;;ACnXD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA;;AAEA,EAAC;;AAED,EAAC,e;;;;;;ACvFD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;AAED;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAsC,SAAS;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,SAAS;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA0C,SAAS;AACnD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAW,MAAM;AACjB,YAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,EAAC;;AAED,EAAC,e;;;;;;ACjUD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAe,WAAW;AAC1B,gBAAe,SAAS;AACxB,iBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAe,OAAO;AACtB,iBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,cAAc;AAC7B,iBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAe,SAAS;AACxB,iBAAgB,WAAW;AAC3B;AACA;AACA;AACA;;AAEA,oBAAmB,sBAAsB;AACzC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAe,cAAc;AAC7B,iBAAgB,OAAO;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,cAAc;AAC7B,gBAAe,SAAS;AACxB,iBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAe,cAAc;AAC7B,gBAAe,SAAS;AACxB,iBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAe,OAAO;AACtB,iBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAe,SAAS;AACxB,iBAAgB,OAAO;AACvB;AACA;AACA,wBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAe,cAAc;AAC7B,gBAAe,SAAS;AACxB,iBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,qBAAqB;AACpC,gBAAe,WAAW;AAC1B,iBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,qBAAqB;AACpC,gBAAe,WAAW;AAC1B,iBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,QAAQ;AACvB,gBAAe,qBAAqB;AACpC,gBAAe,WAAW;AAC1B,iBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,cAAc;AAC7B,iBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,cAAc;AAC7B,gBAAe,MAAM;AACrB,iBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAe,cAAc;AAC7B,gBAAe,KAAK;AACpB,iBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAe,EAAE;AACjB,iBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAgB,UAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,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","file":"keen-ui.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Keen\"] = factory();\n\telse\n\t\troot[\"Keen\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 6c741bbffa4103ee0fed\n **/","import './helpers/modality';\n\nimport UiAlert from './UiAlert.vue';\nimport UiAutocomplete from './UiAutocomplete.vue';\nimport UiButton from './UiButton.vue';\nimport UiCheckbox from './UiCheckbox.vue';\nimport UiCollapsible from './UiCollapsible.vue';\nimport UiConfirm from './UiConfirm.vue';\nimport UiFab from './UiFab.vue';\nimport UiIcon from './UiIcon.vue';\nimport UiIconButton from './UiIconButton.vue';\nimport UiMenu from './UiMenu.vue';\nimport UiMenuItem from './UiMenuItem.vue';\nimport UiModal from './UiModal.vue';\nimport UiPopover from './UiPopover.vue';\nimport UiPreloader from './UiPreloader.vue';\nimport UiProgressCircular from './UiProgressCircular.vue';\nimport UiProgressLinear from './UiProgressLinear.vue';\nimport UiRadio from './UiRadio.vue';\nimport UiRadioGroup from './UiRadioGroup.vue';\nimport UiRating from './UiRating.vue';\nimport UiRatingIcon from './UiRatingIcon.vue';\nimport UiRatingPreview from './UiRatingPreview.vue';\nimport UiRippleInk from './UiRippleInk.vue';\nimport UiSelect from './UiSelect.vue';\nimport UiSlider from './UiSlider.vue';\nimport UiSnackbar from './UiSnackbar.vue';\nimport UiSnackbarContainer from './UiSnackbarContainer.vue';\nimport UiSwitch from './UiSwitch.vue';\nimport UiTab from './UiTab.vue';\nimport UiTabs from './UiTabs.vue';\nimport UiTextbox from './UiTextbox.vue';\nimport UiToolbar from './UiToolbar.vue';\nimport UiTooltip from './UiTooltip.vue';\n\nconst Keen = {\n UiAlert,\n UiAutocomplete,\n UiButton,\n UiCheckbox,\n UiCollapsible,\n UiConfirm,\n UiFab,\n UiIcon,\n UiIconButton,\n UiMenu,\n UiMenuItem,\n UiModal,\n UiPopover,\n UiPreloader,\n UiProgressCircular,\n UiProgressLinear,\n UiRadio,\n UiRadioGroup,\n UiRating,\n UiRatingIcon,\n UiRatingPreview,\n UiRippleInk,\n UiSelect,\n UiSlider,\n UiSnackbar,\n UiSnackbarContainer,\n UiSwitch,\n UiTab,\n UiTabs,\n UiTextbox,\n UiToolbar,\n UiTooltip,\n\n install(Vue) {\n Vue.component('ui-alert', UiAlert);\n Vue.component('ui-autocomplete', UiAutocomplete);\n Vue.component('ui-button', UiButton);\n Vue.component('ui-checkbox', UiCheckbox);\n Vue.component('ui-collapsible', UiCollapsible);\n Vue.component('ui-confirm', UiConfirm);\n Vue.component('ui-fab', UiFab);\n Vue.component('ui-icon', UiIcon);\n Vue.component('ui-icon-button', UiIconButton);\n Vue.component('ui-menu', UiMenu);\n Vue.component('ui-menu-item', UiMenuItem);\n Vue.component('ui-modal', UiModal);\n Vue.component('ui-popover', UiPopover);\n Vue.component('ui-preloader', UiPreloader);\n Vue.component('ui-progress-circular', UiProgressCircular);\n Vue.component('ui-progress-linear', UiProgressLinear);\n Vue.component('ui-radio', UiRadio);\n Vue.component('ui-radio-group', UiRadioGroup);\n Vue.component('ui-rating', UiRating);\n Vue.component('ui-rating-icon', UiRatingIcon);\n Vue.component('ui-rating-preview', UiRatingPreview);\n Vue.component('ui-ripple-ink', UiRippleInk);\n Vue.component('ui-select', UiSelect);\n Vue.component('ui-slider', UiSlider);\n Vue.component('ui-snackbar', UiSnackbar);\n Vue.component('ui-snackbar-container', UiSnackbarContainer);\n Vue.component('ui-switch', UiSwitch);\n Vue.component('ui-tab', UiTab);\n Vue.component('ui-tabs', UiTabs);\n Vue.component('ui-textbox', UiTextbox);\n Vue.component('ui-toolbar', UiToolbar);\n Vue.component('ui-tooltip', UiTooltip);\n }\n};\n\nmodule.exports = Keen;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/index.js\n **/","/**\n * Adapted from https://github.com/alice/modality\n * Version: 1.0.2\n */\ndocument.addEventListener('DOMContentLoaded', function() {\n var hadKeyboardEvent = false;\n var keyboardModalityWhitelist = [\n 'input:not([type])',\n 'input[type=text]',\n 'input[type=number]',\n 'input[type=date]',\n 'input[type=time]',\n 'input[type=datetime]',\n 'textarea',\n '[role=textbox]',\n '[supports-modality=keyboard]'\n ].join(',');\n\n var isHandlingKeyboardThrottle;\n\n var matcher = (function() {\n var el = document.body;\n\n if (el.matchesSelector) {\n return el.matchesSelector;\n }\n\n if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector;\n }\n\n if (el.mozMatchesSelector) {\n return el.mozMatchesSelector;\n }\n\n if (el.msMatchesSelector) {\n return el.msMatchesSelector;\n }\n\n console.error('Couldn\\'t find any matchesSelector method on document.body.');\n }());\n\n var disableFocusRingByDefault = function() {\n var css = 'body:not([modality=keyboard]) :focus { outline: none; }';\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n\n style.type = 'text/css';\n style.id = 'disable-focus-ring';\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n\n head.insertBefore(style, head.firstChild);\n };\n\n var focusTriggersKeyboardModality = function(el) {\n var triggers = false;\n\n if (matcher) {\n triggers = matcher.call(el, keyboardModalityWhitelist) &&\n matcher.call(el, ':not([readonly])');\n }\n\n return triggers;\n };\n\n disableFocusRingByDefault();\n\n document.body.addEventListener('keydown', function() {\n hadKeyboardEvent = true;\n\n if (isHandlingKeyboardThrottle) {\n clearTimeout(isHandlingKeyboardThrottle);\n }\n\n isHandlingKeyboardThrottle = setTimeout(function() {\n hadKeyboardEvent = false;\n }, 100);\n }, true);\n\n document.body.addEventListener('focus', function(e) {\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n document.body.setAttribute('modality', 'keyboard');\n }\n }, true);\n\n document.body.addEventListener('blur', function() {\n document.body.removeAttribute('modality');\n }, true);\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/helpers/modality.js\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiAlert.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiAlert.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiAlert.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiAlert.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-741cfdbf/UiAlert.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiAlert.vue\n ** module id = 2\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiAlert.vue\n ** module id = 3\n ** module chunks = 0\n **/","\n \n
\n
\n\n
\n \n \n \n
\n\n
\n
\n
\n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiAlert.vue?3c8913fa\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiIcon.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiIcon.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiIcon.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiIcon.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-7fab9566/UiIcon.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiIcon.vue\n ** module id = 6\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiIcon.vue\n ** module id = 7\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiIcon.vue?c44f845a\n **/","module.exports = \"\\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiIcon.vue\n ** module id = 9\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiIconButton.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiIconButton.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiIconButton.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiIconButton.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-43724590/UiIconButton.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiIconButton.vue\n ** module id = 10\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiIconButton.vue\n ** module id = 11\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiIconButton.vue?0458bc4b\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiMenu.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiMenu.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiMenu.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiMenu.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-f0aae968/UiMenu.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiMenu.vue\n ** module id = 13\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiMenu.vue\n ** module id = 14\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiMenu.vue?da13d6e2\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiMenuItem.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiMenuItem.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiMenuItem.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiMenuItem.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-846da202/UiMenuItem.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiMenuItem.vue\n ** module id = 16\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiMenuItem.vue\n ** module id = 17\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiMenuItem.vue?612db381\n **/","import UiRippleInk from '../UiRippleInk.vue';\n\nexport default {\n props: {\n hideRippleInk: {\n type: Boolean,\n default: false\n }\n },\n\n components: {\n UiRippleInk\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/mixins/ShowsRippleInk.js\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiRippleInk.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiRippleInk.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiRippleInk.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiRippleInk.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-dc11350e/UiRippleInk.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiRippleInk.vue\n ** module id = 20\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiRippleInk.vue\n ** module id = 21\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiRippleInk.vue?a6c2c9e0\n **/","'use strict';\n\nmodule.exports = require('./Dominus.prototype');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/src/dominus.js\n ** module id = 23\n ** module chunks = 0\n **/","'use strict';\n\nvar $ = require('./public');\nvar flatten = require('./flatten');\nvar dom = require('./dom');\nvar custom = require('./custom');\nvar classes = require('./classes');\nvar Dominus = require('./Dominus.ctor');\n\nfunction equals (selector) {\n return function equals (elem) {\n return dom.matches(elem, selector);\n };\n}\n\nfunction straight (prop, one) {\n return function domMapping (selector) {\n var result = this.map(function (elem) {\n return dom[prop](elem, selector);\n });\n var results = flatten(result);\n return one ? results[0] : results;\n };\n}\n\nDominus.prototype.prev = straight('prev');\nDominus.prototype.next = straight('next');\nDominus.prototype.parent = straight('parent');\nDominus.prototype.parents = straight('parents');\nDominus.prototype.children = straight('children');\nDominus.prototype.find = straight('qsa');\nDominus.prototype.findOne = straight('qs', true);\n\nDominus.prototype.where = function (selector) {\n return this.filter(equals(selector));\n};\n\nDominus.prototype.is = function (selector) {\n return this.some(equals(selector));\n};\n\nDominus.prototype.i = function (index) {\n return this[index] ? new Dominus(this[index]) : new Dominus();\n};\n\nfunction compareFactory (fn) {\n return function compare () {\n $.apply(null, arguments).forEach(fn, this);\n return this;\n };\n}\n\nDominus.prototype.and = compareFactory(function addOne (elem) {\n if (this.indexOf(elem) === -1) {\n this.push(elem);\n }\n return this;\n});\n\nDominus.prototype.but = compareFactory(function addOne (elem) {\n var index = this.indexOf(elem);\n if (index !== -1) {\n this.splice(index, 1);\n }\n return this;\n});\n\nDominus.prototype.css = function (name, value) {\n var props;\n var many = name && typeof name === 'object';\n var getter = !many && !value;\n if (getter) {\n return this.length ? dom.getCss(this[0], name) : null;\n }\n if (many) {\n props = name;\n } else {\n props = {};\n props[name] = value;\n }\n this.forEach(dom.setCss(props));\n return this;\n};\n\nfunction eventer (method) {\n return function (types, filter, fn) {\n var typelist = types.split(' ');\n if (typeof fn !== 'function') {\n fn = filter;\n filter = null;\n }\n this.forEach(function (elem) {\n typelist.forEach(function (type) {\n var handler = custom.handlers[type];\n if (handler) {\n dom[method](elem, handler.event, filter, handler.wrap(fn));\n } else {\n dom[method](elem, type, filter, fn);\n }\n });\n });\n return this;\n };\n}\n\nDominus.prototype.once = eventer('once');\nDominus.prototype.on = eventer('on');\nDominus.prototype.off = eventer('off');\nDominus.prototype.emit = eventer('emit');\n\n[\n ['addClass', classes.add],\n ['removeClass', classes.remove],\n ['setClass', classes.set],\n ['removeClass', classes.remove],\n ['remove', dom.remove]\n].forEach(mapMethods);\n\nfunction mapMethods (data) {\n Dominus.prototype[data[0]] = function (value) {\n this.forEach(function (elem) {\n data[1](elem, value);\n });\n return this;\n };\n}\n\n[\n 'append',\n 'appendTo',\n 'prepend',\n 'prependTo',\n 'before',\n 'beforeOf',\n 'after',\n 'afterOf'\n].forEach(mapManipulation);\n\nfunction mapManipulation (method) {\n Dominus.prototype[method] = function (value) {\n dom[method](this, value);\n return this;\n };\n}\n\nDominus.prototype.hasClass = function (value) {\n return this.some(function (elem) {\n return classes.contains(elem, value);\n });\n};\n\nDominus.prototype.attr = function (name, value) {\n var hash = name && typeof name === 'object';\n var set = hash ? setMany : setSingle;\n var setter = hash || arguments.length > 1;\n if (setter) {\n this.forEach(set);\n return this;\n } else {\n return this.length ? dom.getAttr(this[0], name) : null;\n }\n function setMany (elem) {\n dom.manyAttr(elem, name);\n }\n function setSingle (elem) {\n dom.attr(elem, name, value);\n }\n};\n\nfunction keyValue (key, value) {\n var getter = arguments.length < 2;\n if (getter) {\n return this.length ? dom[key](this[0]) : '';\n }\n this.forEach(function (elem) {\n dom[key](elem, value);\n });\n return this;\n}\n\nfunction keyValueProperty (prop) {\n Dominus.prototype[prop] = function accessor (value) {\n var getter = arguments.length < 1;\n if (getter) {\n return keyValue.call(this, prop);\n }\n return keyValue.call(this, prop, value);\n };\n}\n\n['html', 'text', 'value'].forEach(keyValueProperty);\n\nDominus.prototype.clone = function () {\n return this.map(function (elem) {\n return dom.clone(elem);\n });\n};\n\nDominus.prototype.focus = function () {\n if (this.length) {\n this[0].focus();\n }\n return this;\n};\n\nmodule.exports = require('./public');\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/src/Dominus.prototype.js\n ** module id = 24\n ** module chunks = 0\n **/","'use strict';\n\nvar dom = require('./dom');\nvar cast = require('./cast');\nvar custom = require('./custom');\nvar Dominus = require('./Dominus.ctor');\nvar tag = /^\\s*<([a-z]+(?:-[a-z]+)?)\\s*\\/?>\\s*$/i;\n\nfunction api (selector, context) {\n var notText = typeof selector !== 'string';\n if (notText && arguments.length < 2) {\n return cast(selector);\n }\n if (notText) {\n return new Dominus();\n }\n var matches = selector.match(tag);\n if (matches) {\n return dom.make(matches[1]);\n }\n return api.find(selector, context);\n}\n\napi.find = function (selector, context) {\n return dom.qsa(context, selector);\n};\n\napi.findOne = function (selector, context) {\n return dom.qs(context, selector);\n};\n\napi.custom = custom.register;\n\nmodule.exports = api;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/src/public.js\n ** module id = 25\n ** module chunks = 0\n **/","'use strict';\n\nvar sektor = require('sektor');\nvar crossvent = require('crossvent');\nvar Dominus = require('./Dominus.ctor');\nvar cast = require('./cast');\nvar apply = require('./apply');\nvar text = require('./text');\nvar test = require('./test');\nvar api = module.exports = {};\nvar delegates = {};\n\nfunction castContext (context) {\n if (typeof context === 'string') {\n return api.qs(null, context);\n }\n if (test.isElement(context)) {\n return context;\n }\n if (context instanceof Dominus) {\n return context[0];\n }\n return null;\n}\n\napi.qsa = function (el, selector) {\n var results = new Dominus();\n return sektor(selector, castContext(el), results);\n};\n\napi.qs = function (el, selector) {\n return api.qsa(el, selector)[0];\n};\n\napi.matches = function (el, selector) {\n return test.isElement(el) && sektor.matchesSelector(el, selector);\n};\n\nfunction relatedFactory (prop) {\n return function related (el, selector) {\n var relative = el[prop];\n if (relative) {\n if (!selector || api.matches(relative, selector)) {\n return cast(relative);\n }\n }\n return new Dominus();\n };\n}\n\napi.prev = relatedFactory('previousElementSibling');\napi.next = relatedFactory('nextElementSibling');\napi.parent = relatedFactory('parentElement');\n\nfunction matches (el, value) {\n if (!value) {\n return true;\n }\n if (value instanceof Dominus) {\n return value.indexOf(el) !== -1;\n }\n if (test.isElement(value)) {\n return el === value;\n }\n return api.matches(el, value);\n}\n\napi.parents = function (el, value) {\n var elements = [];\n var current = el;\n while (current.parentElement) {\n if (matches(current.parentElement, value)) {\n elements.push(current.parentElement);\n }\n current = current.parentElement;\n }\n return apply(elements);\n};\n\napi.children = function (el, value) {\n var elements = [];\n var children = el.children;\n var child;\n var i;\n for (i = 0; children && i < children.length; i++) {\n child = children[i];\n if (matches(child, value)) {\n elements.push(child);\n }\n }\n return apply(elements);\n};\n\n// this method caches delegates so that .off() works seamlessly\nfunction delegate (root, filter, fn) {\n if (delegates[fn._dd]) {\n return delegates[fn._dd];\n }\n fn._dd = Date.now();\n delegates[fn._dd] = delegator;\n function delegator (e) {\n var el = e.target;\n while (el && el !== root) {\n if (api.matches(el, filter)) {\n fn.apply(this, arguments); return;\n }\n el = el.parentElement;\n }\n }\n return delegator;\n}\n\nfunction evented (method, el, type, filter, fn) {\n if (filter === null) {\n crossvent[method](el, type, fn);\n } else {\n crossvent[method](el, type, delegate(el, filter, fn));\n }\n}\n\nfunction once (el, type, filter, fn) {\n var things = [el, type, filter, disposable];\n api.on.apply(api, things);\n function disposable () {\n api.off.apply(api, things);\n return fn.apply(this, arguments);\n }\n}\n\napi.once = once;\napi.on = evented.bind(null, 'add');\napi.off = evented.bind(null, 'remove');\napi.emit = evented.bind(null, 'fabricate');\n\napi.html = function (elem, html) {\n var getter = arguments.length < 2;\n if (getter) {\n return elem.innerHTML;\n } else {\n elem.innerHTML = html;\n }\n};\n\napi.text = function (elem, text) {\n var checkable = test.isCheckable(elem);\n var getter = arguments.length < 2;\n if (getter) {\n return checkable ? elem.value : elem.innerText || elem.textContent;\n } else if (checkable) {\n elem.value = text;\n } else {\n elem.innerText = elem.textContent = text;\n }\n};\n\napi.value = function (el, value) {\n var checkable = test.isCheckable(el);\n var getter = arguments.length < 2;\n if (getter) {\n return checkable ? el.checked : el.value;\n } else if (checkable) {\n el.checked = value;\n } else {\n el.value = value;\n }\n};\n\napi.attr = function (el, name, value) {\n if (!test.isElement(el)) {\n return;\n }\n if (value === null || value === void 0) {\n el.removeAttribute(name); return;\n }\n var camel = text.hyphenToCamel(name);\n if (camel in el) {\n el[camel] = value;\n } else {\n el.setAttribute(name, value);\n }\n};\n\napi.getAttr = function (el, name) {\n var camel = text.hyphenToCamel(name);\n if (camel in el) {\n return el[camel];\n } else if (el.getAttribute) {\n return el.getAttribute(name);\n }\n return null;\n};\n\napi.manyAttr = function (elem, attrs) {\n Object.keys(attrs).forEach(function (attr) {\n api.attr(elem, attr, attrs[attr]);\n });\n};\n\napi.make = function (type) {\n return new Dominus(document.createElement(type));\n};\n\napi.clone = function (el) {\n if (el.cloneNode) {\n return el.cloneNode(true);\n }\n return el;\n};\n\napi.remove = function (el) {\n if (el.parentElement) {\n el.parentElement.removeChild(el);\n }\n};\n\napi.append = function (el, target) {\n if (manipulationGuard(el, target, api.append)) {\n return;\n }\n if (el.appendChild) {\n el.appendChild(target);\n }\n};\n\napi.prepend = function (el, target) {\n if (manipulationGuard(el, target, api.prepend)) {\n return;\n }\n if (el.insertBefore) {\n el.insertBefore(target, el.firstChild);\n }\n};\n\napi.before = function (el, target) {\n if (manipulationGuard(el, target, api.before)) {\n return;\n }\n if (el.parentElement) {\n el.parentElement.insertBefore(target, el);\n }\n};\n\napi.after = function (el, target) {\n if (manipulationGuard(el, target, api.after)) {\n return;\n }\n if (el.parentElement) {\n el.parentElement.insertBefore(target, el.nextSibling);\n }\n};\n\nfunction manipulationGuard (el, target, fn) {\n var right = target instanceof Dominus;\n var left = el instanceof Dominus;\n if (left) {\n el.forEach(manipulateMany);\n } else if (right) {\n manipulate(el, true);\n }\n return !el || !target || left || right;\n\n function manipulate (el, precondition) {\n if (right) {\n target.forEach(function (target, j) {\n fn(el, cloneUnless(target, precondition && j === 0));\n });\n } else {\n fn(el, cloneUnless(target, precondition));\n }\n }\n\n function manipulateMany (el, i) {\n manipulate(el, i === 0);\n }\n}\n\nfunction cloneUnless (target, condition) {\n return condition ? target : api.clone(target);\n}\n\n['appendTo', 'prependTo', 'beforeOf', 'afterOf'].forEach(flip);\n\nfunction flip (key) {\n var original = key.split(/[A-Z]/)[0];\n api[key] = function (el, target) {\n api[original](target, el);\n };\n}\n\nvar numericCssProperties = {\n 'column-count': true,\n 'fill-opacity': true,\n 'flex-grow': true,\n 'flex-shrink': true,\n 'font-weight': true,\n 'line-height': true,\n 'opacity': true,\n 'order': true,\n 'orphans': true,\n 'widows': true,\n 'z-index': true,\n 'zoom': true\n};\nvar numeric = /^\\d+$/;\nvar canFloat = 'float' in document.body.style;\n\napi.getCss = function (el, prop) {\n if (!test.isElement(el)) {\n return null;\n }\n var hprop = text.hyphenate(prop);\n var fprop = !canFloat && hprop === 'float' ? 'cssFloat' : hprop;\n var result = global.getComputedStyle(el)[hprop];\n if (prop === 'opacity' && result === '') {\n return 1;\n }\n if (result.substr(-2) === 'px' || numeric.test(result)) {\n return parseFloat(result, 10);\n }\n return result;\n};\n\napi.setCss = function (props) {\n var mapped = Object.keys(props).filter(bad).map(expand);\n function bad (prop) {\n var value = props[prop];\n return value !== null && value === value;\n }\n function expand (prop) {\n var hprop = text.hyphenate(prop);\n var value = props[prop];\n if (typeof value === 'number' && !numericCssProperties[hprop]) {\n value += 'px';\n }\n return {\n name: hprop, value: value\n };\n }\n return function (el) {\n if (!test.isElement(el)) {\n return;\n }\n mapped.forEach(function (prop) {\n el.style[prop.name] = prop.value;\n });\n };\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/src/dom.js\n ** module id = 26\n ** module chunks = 0\n **/","'use strict';\n\nvar expando = 'sektor-' + Date.now();\nvar rsiblings = /[+~]/;\nvar document = global.document;\nvar del = document.documentElement || {};\nvar match = (\n del.matches ||\n del.webkitMatchesSelector ||\n del.mozMatchesSelector ||\n del.oMatchesSelector ||\n del.msMatchesSelector ||\n never\n);\n\nmodule.exports = sektor;\n\nsektor.matches = matches;\nsektor.matchesSelector = matchesSelector;\n\nfunction qsa (selector, context) {\n var existed, id, prefix, prefixed, adapter, hack = context !== document;\n if (hack) { // id hack for context-rooted queries\n existed = context.getAttribute('id');\n id = existed || expando;\n prefix = '#' + id + ' ';\n prefixed = prefix + selector.replace(/,/g, ',' + prefix);\n adapter = rsiblings.test(selector) && context.parentNode;\n if (!existed) { context.setAttribute('id', id); }\n }\n try {\n return (adapter || context).querySelectorAll(prefixed || selector);\n } catch (e) {\n return [];\n } finally {\n if (existed === null) { context.removeAttribute('id'); }\n }\n}\n\nfunction sektor (selector, ctx, collection, seed) {\n var element;\n var context = ctx || document;\n var results = collection || [];\n var i = 0;\n if (typeof selector !== 'string') {\n return results;\n }\n if (context.nodeType !== 1 && context.nodeType !== 9) {\n return []; // bail if context is not an element or document\n }\n if (seed) {\n while ((element = seed[i++])) {\n if (matchesSelector(element, selector)) {\n results.push(element);\n }\n }\n } else {\n results.push.apply(results, qsa(selector, context));\n }\n return results;\n}\n\nfunction matches (selector, elements) {\n return sektor(selector, null, null, elements);\n}\n\nfunction matchesSelector (element, selector) {\n return match.call(element, selector);\n}\n\nfunction never () { return false; }\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/~/sektor/src/sektor.js\n ** module id = 27\n ** module chunks = 0\n **/","'use strict';\n\nvar customEvent = require('custom-event');\nvar eventmap = require('./eventmap');\nvar doc = global.document;\nvar addEvent = addEventEasy;\nvar removeEvent = removeEventEasy;\nvar hardCache = [];\n\nif (!global.addEventListener) {\n addEvent = addEventHard;\n removeEvent = removeEventHard;\n}\n\nmodule.exports = {\n add: addEvent,\n remove: removeEvent,\n fabricate: fabricateEvent\n};\n\nfunction addEventEasy (el, type, fn, capturing) {\n return el.addEventListener(type, fn, capturing);\n}\n\nfunction addEventHard (el, type, fn) {\n return el.attachEvent('on' + type, wrap(el, type, fn));\n}\n\nfunction removeEventEasy (el, type, fn, capturing) {\n return el.removeEventListener(type, fn, capturing);\n}\n\nfunction removeEventHard (el, type, fn) {\n var listener = unwrap(el, type, fn);\n if (listener) {\n return el.detachEvent('on' + type, listener);\n }\n}\n\nfunction fabricateEvent (el, type, model) {\n var e = eventmap.indexOf(type) === -1 ? makeCustomEvent() : makeClassicEvent();\n if (el.dispatchEvent) {\n el.dispatchEvent(e);\n } else {\n el.fireEvent('on' + type, e);\n }\n function makeClassicEvent () {\n var e;\n if (doc.createEvent) {\n e = doc.createEvent('Event');\n e.initEvent(type, true, true);\n } else if (doc.createEventObject) {\n e = doc.createEventObject();\n }\n return e;\n }\n function makeCustomEvent () {\n return new customEvent(type, { detail: model });\n }\n}\n\nfunction wrapperFactory (el, type, fn) {\n return function wrapper (originalEvent) {\n var e = originalEvent || global.event;\n e.target = e.target || e.srcElement;\n e.preventDefault = e.preventDefault || function preventDefault () { e.returnValue = false; };\n e.stopPropagation = e.stopPropagation || function stopPropagation () { e.cancelBubble = true; };\n e.which = e.which || e.keyCode;\n fn.call(el, e);\n };\n}\n\nfunction wrap (el, type, fn) {\n var wrapper = unwrap(el, type, fn) || wrapperFactory(el, type, fn);\n hardCache.push({\n wrapper: wrapper,\n element: el,\n type: type,\n fn: fn\n });\n return wrapper;\n}\n\nfunction unwrap (el, type, fn) {\n var i = find(el, type, fn);\n if (i) {\n var wrapper = hardCache[i].wrapper;\n hardCache.splice(i, 1); // free up a tad of memory\n return wrapper;\n }\n}\n\nfunction find (el, type, fn) {\n var i, item;\n for (i = 0; i < hardCache.length; i++) {\n item = hardCache[i];\n if (item.element === el && item.type === type && item.fn === fn) {\n return i;\n }\n }\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/~/crossvent/src/crossvent.js\n ** module id = 28\n ** module chunks = 0\n **/","\nvar NativeCustomEvent = global.CustomEvent;\n\nfunction useNative () {\n try {\n var p = new NativeCustomEvent('cat', { detail: { foo: 'bar' } });\n return 'cat' === p.type && 'bar' === p.detail.foo;\n } catch (e) {\n }\n return false;\n}\n\n/**\n * Cross-browser `CustomEvent` constructor.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent.CustomEvent\n *\n * @public\n */\n\nmodule.exports = useNative() ? NativeCustomEvent :\n\n// IE >= 9\n'function' === typeof document.createEvent ? function CustomEvent (type, params) {\n var e = document.createEvent('CustomEvent');\n if (params) {\n e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);\n } else {\n e.initCustomEvent(type, false, false, void 0);\n }\n return e;\n} :\n\n// IE <= 8\nfunction CustomEvent (type, params) {\n var e = document.createEventObject();\n e.type = type;\n if (params) {\n e.bubbles = Boolean(params.bubbles);\n e.cancelable = Boolean(params.cancelable);\n e.detail = params.detail;\n } else {\n e.bubbles = false;\n e.cancelable = false;\n e.detail = void 0;\n }\n return e;\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/~/crossvent/~/custom-event/index.js\n ** module id = 29\n ** module chunks = 0\n **/","'use strict';\n\nvar eventmap = [];\nvar eventname = '';\nvar ron = /^on/;\n\nfor (eventname in global) {\n if (ron.test(eventname)) {\n eventmap.push(eventname.slice(2));\n }\n}\n\nmodule.exports = eventmap;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/~/crossvent/src/eventmap.js\n ** module id = 30\n ** module chunks = 0\n **/","'use strict';\n\nvar poser = require('poser');\nvar Dominus = poser.Array();\n\nmodule.exports = Dominus;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/src/Dominus.ctor.js\n ** module id = 31\n ** module chunks = 0\n **/","var poser = require('./src/node');\n\nmodule.exports = poser;\n\n['Array', 'Function', 'Object', 'Date', 'String'].forEach(pose);\n\nfunction pose (type) {\n poser[type] = function poseComputedType () { return poser(type); };\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/~/poser/index.js\n ** module id = 32\n ** module chunks = 0\n **/","'use strict';\n\nvar d = global.document;\n\nfunction poser (type) {\n var iframe = d.createElement('iframe');\n\n iframe.style.display = 'none';\n d.body.appendChild(iframe);\n\n return map(type, iframe.contentWindow);\n}\n\nfunction map (type, source) { // forward polyfills to the stolen reference!\n var original = window[type].prototype;\n var value = source[type];\n var prop;\n\n for (prop in original) {\n value.prototype[prop] = original[prop];\n }\n\n return value;\n}\n\nmodule.exports = poser;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/~/poser/src/browser.js\n ** module id = 33\n ** module chunks = 0\n **/","'use strict';\n\nvar test = require('./test');\nvar apply = require('./apply');\nvar Dominus = require('./Dominus.ctor');\n\nfunction cast (a) {\n if (a === global) {\n return new Dominus(a);\n }\n if (a instanceof Dominus) {\n return a;\n }\n if (!a) {\n return new Dominus();\n }\n if (test.isElement(a)) {\n return new Dominus(a);\n }\n if (!test.isArray(a)) {\n return new Dominus();\n }\n return apply(a).filter(function (i) {\n return test.isElement(i);\n });\n}\n\nmodule.exports = cast;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/src/cast.js\n ** module id = 34\n ** module chunks = 0\n **/","'use strict';\n\nvar elementObjects = typeof HTMLElement === 'object';\n\nfunction isElement (o) {\n return elementObjects ? o instanceof HTMLElement : isElementObject(o);\n}\n\nfunction isElementObject (o) {\n return o &&\n typeof o === 'object' &&\n typeof o.nodeName === 'string' &&\n o.nodeType === 1;\n}\n\nfunction isArray (a) {\n return Object.prototype.toString.call(a) === '[object Array]';\n}\n\nfunction isCheckable (elem) {\n return 'checked' in elem && elem.type === 'radio' || elem.type === 'checkbox';\n}\n\nmodule.exports = {\n isElement: isElement,\n isArray: isArray,\n isCheckable: isCheckable\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/src/test.js\n ** module id = 35\n ** module chunks = 0\n **/","'use strict';\n\nvar Dominus = require('./Dominus.ctor');\nvar proto = Dominus.prototype;\n\nfunction Applied (args) {\n return Dominus.apply(this, args);\n}\n\nApplied.prototype = proto;\n\nfunction apply (a) {\n return new Applied(a);\n}\n\n['map', 'filter', 'concat', 'slice'].forEach(ensure);\n\nfunction ensure (key) {\n var original = proto[key];\n proto[key] = function applied () {\n return apply(original.apply(this, arguments));\n };\n}\n\nmodule.exports = apply;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/src/apply.js\n ** module id = 36\n ** module chunks = 0\n **/","'use strict';\n\nfunction hyphenToCamel (hyphens) {\n var part = /-([a-z])/g;\n return hyphens.replace(part, function (g, m) {\n return m.toUpperCase();\n });\n}\n\nfunction hyphenate (text) {\n var camel = /([a-z])([A-Z])/g;\n return text.replace(camel, '$1-$2').toLowerCase();\n}\n\nmodule.exports = {\n hyphenToCamel: hyphenToCamel,\n hyphenate: hyphenate\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/src/text.js\n ** module id = 37\n ** module chunks = 0\n **/","'use strict';\n\nvar handlers = {};\n\nfunction register (name, type, filter) {\n handlers[name] = {\n event: type,\n filter: filter,\n wrap: wrap\n };\n\n function wrap (fn) {\n return wrapper(name, fn);\n }\n}\n\nfunction wrapper (name, fn) {\n if (!fn) {\n return fn;\n }\n var key = '__dce_' + name;\n if (fn[key]) {\n return fn[key];\n }\n fn[key] = function customEvent (e) {\n var match = handlers[name].filter(e);\n if (match) {\n return fn.apply(this, arguments);\n }\n };\n return fn[key];\n}\n\nregister('left-click', 'click', function (e) {\n return e.which === 1 && !e.metaKey && !e.ctrlKey;\n});\n\nmodule.exports = {\n register: register,\n wrapper: wrapper,\n handlers: handlers\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/src/custom.js\n ** module id = 38\n ** module chunks = 0\n **/","'use strict';\n\nvar Dominus = require('./Dominus.ctor');\n\nfunction flatten (a, cache) {\n return a.reduce(function (current, item) {\n if (Dominus.isArray(item)) {\n return flatten(item, current);\n } else if (current.indexOf(item) === -1) {\n return current.concat(item);\n }\n return current;\n }, cache || new Dominus());\n}\n\nmodule.exports = flatten;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/src/flatten.js\n ** module id = 39\n ** module chunks = 0\n **/","'use strict';\n\nvar trim = /^\\s+|\\s+$/g;\nvar whitespace = /\\s+/g;\nvar test = require('./test');\n\nfunction interpret (input) {\n return typeof input === 'string' ? input.replace(trim, '').split(whitespace) : input;\n}\n\nfunction classes (el) {\n if (test.isElement(el)) {\n return el.className.replace(trim, '').split(whitespace);\n }\n return [];\n}\n\nfunction set (el, input) {\n if (test.isElement(el)) {\n el.className = interpret(input).join(' ');\n }\n}\n\nfunction add (el, input) {\n var current = remove(el, input);\n var values = interpret(input);\n current.push.apply(current, values);\n set(el, current);\n return current;\n}\n\nfunction remove (el, input) {\n var current = classes(el);\n var values = interpret(input);\n values.forEach(function (value) {\n var i = current.indexOf(value);\n if (i !== -1) {\n current.splice(i, 1);\n }\n });\n set(el, current);\n return current;\n}\n\nfunction contains (el, input) {\n var current = classes(el);\n var values = interpret(input);\n\n return values.every(function (value) {\n return current.indexOf(value) !== -1;\n });\n}\n\nmodule.exports = {\n add: add,\n remove: remove,\n contains: contains,\n set: set,\n get: classes\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/dominus/src/classes.js\n ** module id = 40\n ** module chunks = 0\n **/","module.exports = \"\\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiRippleInk.vue\n ** module id = 41\n ** module chunks = 0\n **/","module.exports = \"\\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiMenuItem.vue\n ** module id = 42\n ** module chunks = 0\n **/","import $ from 'dominus';\nimport Drop from 'tether-drop';\n\nimport ReceivesTargetedEvent from './ReceivesTargetedEvent';\n\nexport default {\n props: {\n id: String,\n trigger: Element,\n containFocus: {\n type: Boolean,\n default: true\n },\n dropdownPosition: {\n type: String,\n default: 'bottom left'\n },\n openOn: {\n type: String,\n default: 'click' // 'click', 'hover', 'focus', 'always'\n }\n },\n\n data() {\n return {\n drop: null,\n lastFocussedElement: null\n };\n },\n\n ready() {\n if (this.trigger) {\n this.initializeDropdown();\n }\n },\n\n beforeDestroy() {\n if (this.drop) {\n this.drop.remove();\n this.drop.destroy();\n }\n },\n\n events: {\n 'ui-dropdown::open': function(id) {\n // Abort if event isn't meant for this component\n if (!this.eventTargetsComponent(id)) {\n return;\n }\n\n this.openDropdown();\n },\n\n 'ui-dropdown::close': function(id) {\n // Abort if event isn't meant for this component\n if (!this.eventTargetsComponent(id)) {\n return;\n }\n\n this.closeDropdown();\n },\n\n 'ui-dropdown::toggle': function(id) {\n // Abort if event isn't meant for this component\n if (!this.eventTargetsComponent(id)) {\n return;\n }\n\n this.toggleDropdown();\n }\n },\n\n methods: {\n initializeDropdown() {\n this.drop = new Drop({\n target: this.trigger,\n content: this.$els.dropdown,\n position: this.dropdownPosition,\n constrainToWindow: true,\n constrainToScrollParent: true,\n openOn: this.openOn\n });\n\n // TO FIX: Hacky workaround for Tether not positioning\n // correctly for positions other than 'bottom left'\n if (this.dropdownPosition !== 'bottom left') {\n this.drop.open();\n this.drop.close();\n this.drop.open();\n this.drop.close();\n }\n\n this.drop.on('open', this.dropdownOpened)\n this.drop.on('open', this.positionDrop)\n this.drop.on('close', this.dropdownClosed);\n },\n\n openDropdown() {\n if (this.drop) {\n this.drop.open();\n }\n },\n\n /**\n * Ensures drop is horizontally within viewport (vertical is already solved by drop.js).\n */\n positionDrop() {\n const drop = this.drop\n const windowWidth = window.innerWidth\n || document.documentElement.clientWidth\n || document.body.clientWidth\n let dropWidth = drop.drop.getBoundingClientRect().width,\n left = drop.target.getBoundingClientRect().left,\n right = windowWidth - left,\n direction = dropWidth > right ? 'right' : 'left';\n\n drop.tether.attachment.left = direction;\n drop.tether.targetAttachment.left = direction;\n drop.position();\n },\n\n closeDropdown() {\n if (this.drop) {\n this.drop.close();\n }\n },\n\n toggleDropdown(e) {\n if (this.drop) {\n this.drop.toggle(e);\n }\n },\n\n dropdownOpened() {\n $(this.trigger).addClass('dropdown-open');\n\n this.lastFocussedElement = document.activeElement;\n this.$els.dropdown.focus();\n\n this.$dispatch('dropdown-opened');\n },\n\n dropdownClosed() {\n $(this.trigger).removeClass('dropdown-open');\n\n if (this.lastFocussedElement) {\n this.lastFocussedElement.focus();\n }\n\n this.$dispatch('dropdown-closed');\n }\n },\n\n mixins: [\n ReceivesTargetedEvent\n ]\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/mixins/ShowsDropdown.js\n **/","/*! tether-drop 1.4.1 */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([\"tether\"], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('tether'));\n } else {\n root.Drop = factory(root.Tether);\n }\n}(this, function(Tether) {\n\n/* global Tether */\n'use strict';\n\nvar _bind = Function.prototype.bind;\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _get = function get(_x2, _x3, _x4) { var _again = true; _function: while (_again) { var object = _x2, property = _x3, receiver = _x4; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x2 = parent; _x3 = property; _x4 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _Tether$Utils = Tether.Utils;\nvar extend = _Tether$Utils.extend;\nvar addClass = _Tether$Utils.addClass;\nvar removeClass = _Tether$Utils.removeClass;\nvar hasClass = _Tether$Utils.hasClass;\nvar Evented = _Tether$Utils.Evented;\n\nfunction sortAttach(str) {\n var _str$split = str.split(' ');\n\n var _str$split2 = _slicedToArray(_str$split, 2);\n\n var first = _str$split2[0];\n var second = _str$split2[1];\n\n if (['left', 'right'].indexOf(first) >= 0) {\n var _ref = [second, first];\n first = _ref[0];\n second = _ref[1];\n }\n return [first, second].join(' ');\n}\n\nfunction removeFromArray(arr, item) {\n var index = undefined;\n var results = [];\n while ((index = arr.indexOf(item)) !== -1) {\n results.push(arr.splice(index, 1));\n }\n return results;\n}\n\nvar clickEvents = ['click'];\nif ('ontouchstart' in document.documentElement) {\n clickEvents.push('touchstart');\n}\n\nvar transitionEndEvents = {\n 'WebkitTransition': 'webkitTransitionEnd',\n 'MozTransition': 'transitionend',\n 'OTransition': 'otransitionend',\n 'transition': 'transitionend'\n};\n\nvar transitionEndEvent = '';\nfor (var _name in transitionEndEvents) {\n if (({}).hasOwnProperty.call(transitionEndEvents, _name)) {\n var tempEl = document.createElement('p');\n if (typeof tempEl.style[_name] !== 'undefined') {\n transitionEndEvent = transitionEndEvents[_name];\n }\n }\n}\n\nvar MIRROR_ATTACH = {\n left: 'right',\n right: 'left',\n top: 'bottom',\n bottom: 'top',\n middle: 'middle',\n center: 'center'\n};\n\nvar allDrops = {};\n\n// Drop can be included in external libraries. Calling createContext gives you a fresh\n// copy of drop which won't interact with other copies on the page (beyond calling the document events).\n\nfunction createContext() {\n var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n var drop = function drop() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new (_bind.apply(DropInstance, [null].concat(args)))();\n };\n\n extend(drop, {\n createContext: createContext,\n drops: [],\n defaults: {}\n });\n\n var defaultOptions = {\n classPrefix: 'drop',\n defaults: {\n position: 'bottom left',\n openOn: 'click',\n beforeClose: null,\n constrainToScrollParent: true,\n constrainToWindow: true,\n classes: '',\n remove: false,\n openDelay: 0,\n closeDelay: 50,\n // inherited from openDelay and closeDelay if not explicitly defined\n focusDelay: null,\n blurDelay: null,\n hoverOpenDelay: null,\n hoverCloseDelay: null,\n tetherOptions: {}\n }\n };\n\n extend(drop, defaultOptions, options);\n extend(drop.defaults, defaultOptions.defaults, options.defaults);\n\n if (typeof allDrops[drop.classPrefix] === 'undefined') {\n allDrops[drop.classPrefix] = [];\n }\n\n drop.updateBodyClasses = function () {\n // There is only one body, so despite the context concept, we still iterate through all\n // drops which share our classPrefix.\n\n var anyOpen = false;\n var drops = allDrops[drop.classPrefix];\n var len = drops.length;\n for (var i = 0; i < len; ++i) {\n if (drops[i].isOpened()) {\n anyOpen = true;\n break;\n }\n }\n\n if (anyOpen) {\n addClass(document.body, drop.classPrefix + '-open');\n } else {\n removeClass(document.body, drop.classPrefix + '-open');\n }\n };\n\n var DropInstance = (function (_Evented) {\n _inherits(DropInstance, _Evented);\n\n function DropInstance(opts) {\n _classCallCheck(this, DropInstance);\n\n _get(Object.getPrototypeOf(DropInstance.prototype), 'constructor', this).call(this);\n this.options = extend({}, drop.defaults, opts);\n this.target = this.options.target;\n\n if (typeof this.target === 'undefined') {\n throw new Error('Drop Error: You must provide a target.');\n }\n\n var dataPrefix = 'data-' + drop.classPrefix;\n\n var contentAttr = this.target.getAttribute(dataPrefix);\n if (contentAttr && this.options.content == null) {\n this.options.content = contentAttr;\n }\n\n var attrsOverride = ['position', 'openOn'];\n for (var i = 0; i < attrsOverride.length; ++i) {\n\n var override = this.target.getAttribute(dataPrefix + '-' + attrsOverride[i]);\n if (override && this.options[attrsOverride[i]] == null) {\n this.options[attrsOverride[i]] = override;\n }\n }\n\n if (this.options.classes && this.options.addTargetClasses !== false) {\n addClass(this.target, this.options.classes);\n }\n\n drop.drops.push(this);\n allDrops[drop.classPrefix].push(this);\n\n this._boundEvents = [];\n this.bindMethods();\n this.setupElements();\n this.setupEvents();\n this.setupTether();\n }\n\n _createClass(DropInstance, [{\n key: '_on',\n value: function _on(element, event, handler) {\n this._boundEvents.push({ element: element, event: event, handler: handler });\n element.addEventListener(event, handler);\n }\n }, {\n key: 'bindMethods',\n value: function bindMethods() {\n this.transitionEndHandler = this._transitionEndHandler.bind(this);\n }\n }, {\n key: 'setupElements',\n value: function setupElements() {\n var _this = this;\n\n this.drop = document.createElement('div');\n addClass(this.drop, drop.classPrefix);\n\n if (this.options.classes) {\n addClass(this.drop, this.options.classes);\n }\n\n this.content = document.createElement('div');\n addClass(this.content, drop.classPrefix + '-content');\n\n if (typeof this.options.content === 'function') {\n var generateAndSetContent = function generateAndSetContent() {\n // content function might return a string or an element\n var contentElementOrHTML = _this.options.content.call(_this, _this);\n\n if (typeof contentElementOrHTML === 'string') {\n _this.content.innerHTML = contentElementOrHTML;\n } else if (typeof contentElementOrHTML === 'object') {\n _this.content.innerHTML = '';\n _this.content.appendChild(contentElementOrHTML);\n } else {\n throw new Error('Drop Error: Content function should return a string or HTMLElement.');\n }\n };\n\n generateAndSetContent();\n this.on('open', generateAndSetContent.bind(this));\n } else if (typeof this.options.content === 'object') {\n this.content.appendChild(this.options.content);\n } else {\n this.content.innerHTML = this.options.content;\n }\n\n this.drop.appendChild(this.content);\n }\n }, {\n key: 'setupTether',\n value: function setupTether() {\n // Tether expects two attachment points, one in the target element, one in the\n // drop. We use a single one, and use the order as well, to allow us to put\n // the drop on either side of any of the four corners. This magic converts between\n // the two:\n var dropAttach = this.options.position.split(' ');\n dropAttach[0] = MIRROR_ATTACH[dropAttach[0]];\n dropAttach = dropAttach.join(' ');\n\n var constraints = [];\n if (this.options.constrainToScrollParent) {\n constraints.push({\n to: 'scrollParent',\n pin: 'top, bottom',\n attachment: 'together none'\n });\n } else {\n // To get 'out of bounds' classes\n constraints.push({\n to: 'scrollParent'\n });\n }\n\n if (this.options.constrainToWindow !== false) {\n constraints.push({\n to: 'window',\n attachment: 'together'\n });\n } else {\n // To get 'out of bounds' classes\n constraints.push({\n to: 'window'\n });\n }\n\n var opts = {\n element: this.drop,\n target: this.target,\n attachment: sortAttach(dropAttach),\n targetAttachment: sortAttach(this.options.position),\n classPrefix: drop.classPrefix,\n offset: '0 0',\n targetOffset: '0 0',\n enabled: false,\n constraints: constraints,\n addTargetClasses: this.options.addTargetClasses\n };\n\n if (this.options.tetherOptions !== false) {\n this.tether = new Tether(extend({}, opts, this.options.tetherOptions));\n }\n }\n }, {\n key: 'setupEvents',\n value: function setupEvents() {\n var _this2 = this;\n\n if (!this.options.openOn) {\n return;\n }\n\n if (this.options.openOn === 'always') {\n setTimeout(this.open.bind(this));\n return;\n }\n\n var events = this.options.openOn.split(' ');\n\n if (events.indexOf('click') >= 0) {\n var openHandler = function openHandler(event) {\n _this2.toggle(event);\n event.preventDefault();\n };\n\n var closeHandler = function closeHandler(event) {\n if (!_this2.isOpened()) {\n return;\n }\n\n // Clicking inside dropdown\n if (event.target === _this2.drop || _this2.drop.contains(event.target)) {\n return;\n }\n\n // Clicking target\n if (event.target === _this2.target || _this2.target.contains(event.target)) {\n return;\n }\n\n _this2.close(event);\n };\n\n for (var i = 0; i < clickEvents.length; ++i) {\n var clickEvent = clickEvents[i];\n this._on(this.target, clickEvent, openHandler);\n this._on(document, clickEvent, closeHandler);\n }\n }\n\n var inTimeout = null;\n var outTimeout = null;\n\n var inHandler = function inHandler(event) {\n if (outTimeout !== null) {\n clearTimeout(outTimeout);\n } else {\n inTimeout = setTimeout(function () {\n _this2.open(event);\n inTimeout = null;\n }, (event.type === 'focus' ? _this2.options.focusDelay : _this2.options.hoverOpenDelay) || _this2.options.openDelay);\n }\n };\n\n var outHandler = function outHandler(event) {\n if (inTimeout !== null) {\n clearTimeout(inTimeout);\n } else {\n outTimeout = setTimeout(function () {\n _this2.close(event);\n outTimeout = null;\n }, (event.type === 'blur' ? _this2.options.blurDelay : _this2.options.hoverCloseDelay) || _this2.options.closeDelay);\n }\n };\n\n if (events.indexOf('hover') >= 0) {\n this._on(this.target, 'mouseover', inHandler);\n this._on(this.drop, 'mouseover', inHandler);\n this._on(this.target, 'mouseout', outHandler);\n this._on(this.drop, 'mouseout', outHandler);\n }\n\n if (events.indexOf('focus') >= 0) {\n this._on(this.target, 'focus', inHandler);\n this._on(this.drop, 'focus', inHandler);\n this._on(this.target, 'blur', outHandler);\n this._on(this.drop, 'blur', outHandler);\n }\n }\n }, {\n key: 'isOpened',\n value: function isOpened() {\n if (this.drop) {\n return hasClass(this.drop, drop.classPrefix + '-open');\n }\n }\n }, {\n key: 'toggle',\n value: function toggle(event) {\n if (this.isOpened()) {\n this.close(event);\n } else {\n this.open(event);\n }\n }\n }, {\n key: 'open',\n value: function open(event) {\n var _this3 = this;\n\n /* eslint no-unused-vars: 0 */\n if (this.isOpened()) {\n return;\n }\n\n if (!this.drop.parentNode) {\n document.body.appendChild(this.drop);\n }\n\n if (typeof this.tether !== 'undefined') {\n this.tether.enable();\n }\n\n addClass(this.drop, drop.classPrefix + '-open');\n addClass(this.drop, drop.classPrefix + '-open-transitionend');\n\n setTimeout(function () {\n if (_this3.drop) {\n addClass(_this3.drop, drop.classPrefix + '-after-open');\n }\n });\n\n if (typeof this.tether !== 'undefined') {\n this.tether.position();\n }\n\n this.trigger('open');\n\n drop.updateBodyClasses();\n }\n }, {\n key: '_transitionEndHandler',\n value: function _transitionEndHandler(e) {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n if (!hasClass(this.drop, drop.classPrefix + '-open')) {\n removeClass(this.drop, drop.classPrefix + '-open-transitionend');\n }\n this.drop.removeEventListener(transitionEndEvent, this.transitionEndHandler);\n }\n }, {\n key: 'beforeCloseHandler',\n value: function beforeCloseHandler(event) {\n var shouldClose = true;\n\n if (!this.isClosing && typeof this.options.beforeClose === 'function') {\n this.isClosing = true;\n shouldClose = this.options.beforeClose(event, this) !== false;\n }\n\n this.isClosing = false;\n\n return shouldClose;\n }\n }, {\n key: 'close',\n value: function close(event) {\n if (!this.isOpened()) {\n return;\n }\n\n if (!this.beforeCloseHandler(event)) {\n return;\n }\n\n removeClass(this.drop, drop.classPrefix + '-open');\n removeClass(this.drop, drop.classPrefix + '-after-open');\n\n this.drop.addEventListener(transitionEndEvent, this.transitionEndHandler);\n\n this.trigger('close');\n\n if (typeof this.tether !== 'undefined') {\n this.tether.disable();\n }\n\n drop.updateBodyClasses();\n\n if (this.options.remove) {\n this.remove(event);\n }\n }\n }, {\n key: 'remove',\n value: function remove(event) {\n this.close(event);\n if (this.drop.parentNode) {\n this.drop.parentNode.removeChild(this.drop);\n }\n }\n }, {\n key: 'position',\n value: function position() {\n if (this.isOpened() && typeof this.tether !== 'undefined') {\n this.tether.position();\n }\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.remove();\n\n if (typeof this.tether !== 'undefined') {\n this.tether.destroy();\n }\n\n for (var i = 0; i < this._boundEvents.length; ++i) {\n var _boundEvents$i = this._boundEvents[i];\n var element = _boundEvents$i.element;\n var _event = _boundEvents$i.event;\n var handler = _boundEvents$i.handler;\n\n element.removeEventListener(_event, handler);\n }\n\n this._boundEvents = [];\n\n this.tether = null;\n this.drop = null;\n this.content = null;\n this.target = null;\n\n removeFromArray(allDrops[drop.classPrefix], this);\n removeFromArray(drop.drops, this);\n }\n }]);\n\n return DropInstance;\n })(Evented);\n\n return drop;\n}\n\nvar Drop = createContext();\n\ndocument.addEventListener('DOMContentLoaded', function () {\n Drop.updateBodyClasses();\n});\nreturn Drop;\n\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/tether-drop/dist/js/drop.js\n ** module id = 44\n ** module chunks = 0\n **/","/*! tether 1.3.1 */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require, exports, module);\n } else {\n root.Tether = factory();\n }\n}(this, function(require, exports, module) {\n\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar TetherBase = undefined;\nif (typeof TetherBase === 'undefined') {\n TetherBase = { modules: [] };\n}\n\nvar zeroElement = null;\n\nfunction getScrollParents(el) {\n // In firefox if the el is inside an iframe with display: none; window.getComputedStyle() will return null;\n // https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n var computedStyle = getComputedStyle(el) || {};\n var position = computedStyle.position;\n var parents = [];\n\n if (position === 'fixed') {\n return [el];\n }\n\n var parent = el;\n while ((parent = parent.parentNode) && parent && parent.nodeType === 1) {\n var style = undefined;\n try {\n style = getComputedStyle(parent);\n } catch (err) {}\n\n if (typeof style === 'undefined' || style === null) {\n parents.push(parent);\n return parents;\n }\n\n var _style = style;\n var overflow = _style.overflow;\n var overflowX = _style.overflowX;\n var overflowY = _style.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n if (position !== 'absolute' || ['relative', 'absolute', 'fixed'].indexOf(style.position) >= 0) {\n parents.push(parent);\n }\n }\n }\n\n parents.push(document.body);\n return parents;\n}\n\nvar uniqueId = (function () {\n var id = 0;\n return function () {\n return ++id;\n };\n})();\n\nvar zeroPosCache = {};\nvar getOrigin = function getOrigin() {\n // getBoundingClientRect is unfortunately too accurate. It introduces a pixel or two of\n // jitter as the user scrolls that messes with our ability to detect if two positions\n // are equivilant or not. We place an element at the top left of the page that will\n // get the same jitter, so we can cancel the two out.\n var node = zeroElement;\n if (!node) {\n node = document.createElement('div');\n node.setAttribute('data-tether-id', uniqueId());\n extend(node.style, {\n top: 0,\n left: 0,\n position: 'absolute'\n });\n\n document.body.appendChild(node);\n\n zeroElement = node;\n }\n\n var id = node.getAttribute('data-tether-id');\n if (typeof zeroPosCache[id] === 'undefined') {\n zeroPosCache[id] = {};\n\n var rect = node.getBoundingClientRect();\n for (var k in rect) {\n // Can't use extend, as on IE9, elements don't resolve to be hasOwnProperty\n zeroPosCache[id][k] = rect[k];\n }\n\n // Clear the cache when this position call is done\n defer(function () {\n delete zeroPosCache[id];\n });\n }\n\n return zeroPosCache[id];\n};\n\nfunction removeUtilElements() {\n if (zeroElement) {\n document.body.removeChild(zeroElement);\n }\n zeroElement = null;\n};\n\nfunction getBounds(el) {\n var doc = undefined;\n if (el === document) {\n doc = document;\n el = document.documentElement;\n } else {\n doc = el.ownerDocument;\n }\n\n var docEl = doc.documentElement;\n\n var box = {};\n // The original object returned by getBoundingClientRect is immutable, so we clone it\n // We can't use extend because the properties are not considered part of the object by hasOwnProperty in IE9\n var rect = el.getBoundingClientRect();\n for (var k in rect) {\n box[k] = rect[k];\n }\n\n var origin = getOrigin();\n\n box.top -= origin.top;\n box.left -= origin.left;\n\n if (typeof box.width === 'undefined') {\n box.width = document.body.scrollWidth - box.left - box.right;\n }\n if (typeof box.height === 'undefined') {\n box.height = document.body.scrollHeight - box.top - box.bottom;\n }\n\n box.top = box.top - docEl.clientTop;\n box.left = box.left - docEl.clientLeft;\n box.right = doc.body.clientWidth - box.width - box.left;\n box.bottom = doc.body.clientHeight - box.height - box.top;\n\n return box;\n}\n\nfunction getOffsetParent(el) {\n return el.offsetParent || document.documentElement;\n}\n\nfunction getScrollBarSize() {\n var inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n\n var outer = document.createElement('div');\n extend(outer.style, {\n position: 'absolute',\n top: 0,\n left: 0,\n pointerEvents: 'none',\n visibility: 'hidden',\n width: '200px',\n height: '150px',\n overflow: 'hidden'\n });\n\n outer.appendChild(inner);\n\n document.body.appendChild(outer);\n\n var widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var widthScroll = inner.offsetWidth;\n\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n\n document.body.removeChild(outer);\n\n var width = widthContained - widthScroll;\n\n return { width: width, height: width };\n}\n\nfunction extend() {\n var out = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n var args = [];\n\n Array.prototype.push.apply(args, arguments);\n\n args.slice(1).forEach(function (obj) {\n if (obj) {\n for (var key in obj) {\n if (({}).hasOwnProperty.call(obj, key)) {\n out[key] = obj[key];\n }\n }\n }\n });\n\n return out;\n}\n\nfunction removeClass(el, name) {\n if (typeof el.classList !== 'undefined') {\n name.split(' ').forEach(function (cls) {\n if (cls.trim()) {\n el.classList.remove(cls);\n }\n });\n } else {\n var regex = new RegExp('(^| )' + name.split(' ').join('|') + '( |$)', 'gi');\n var className = getClassName(el).replace(regex, ' ');\n setClassName(el, className);\n }\n}\n\nfunction addClass(el, name) {\n if (typeof el.classList !== 'undefined') {\n name.split(' ').forEach(function (cls) {\n if (cls.trim()) {\n el.classList.add(cls);\n }\n });\n } else {\n removeClass(el, name);\n var cls = getClassName(el) + (' ' + name);\n setClassName(el, cls);\n }\n}\n\nfunction hasClass(el, name) {\n if (typeof el.classList !== 'undefined') {\n return el.classList.contains(name);\n }\n var className = getClassName(el);\n return new RegExp('(^| )' + name + '( |$)', 'gi').test(className);\n}\n\nfunction getClassName(el) {\n if (el.className instanceof SVGAnimatedString) {\n return el.className.baseVal;\n }\n return el.className;\n}\n\nfunction setClassName(el, className) {\n el.setAttribute('class', className);\n}\n\nfunction updateClasses(el, add, all) {\n // Of the set of 'all' classes, we need the 'add' classes, and only the\n // 'add' classes to be set.\n all.forEach(function (cls) {\n if (add.indexOf(cls) === -1 && hasClass(el, cls)) {\n removeClass(el, cls);\n }\n });\n\n add.forEach(function (cls) {\n if (!hasClass(el, cls)) {\n addClass(el, cls);\n }\n });\n}\n\nvar deferred = [];\n\nvar defer = function defer(fn) {\n deferred.push(fn);\n};\n\nvar flush = function flush() {\n var fn = undefined;\n while (fn = deferred.pop()) {\n fn();\n }\n};\n\nvar Evented = (function () {\n function Evented() {\n _classCallCheck(this, Evented);\n }\n\n _createClass(Evented, [{\n key: 'on',\n value: function on(event, handler, ctx) {\n var once = arguments.length <= 3 || arguments[3] === undefined ? false : arguments[3];\n\n if (typeof this.bindings === 'undefined') {\n this.bindings = {};\n }\n if (typeof this.bindings[event] === 'undefined') {\n this.bindings[event] = [];\n }\n this.bindings[event].push({ handler: handler, ctx: ctx, once: once });\n }\n }, {\n key: 'once',\n value: function once(event, handler, ctx) {\n this.on(event, handler, ctx, true);\n }\n }, {\n key: 'off',\n value: function off(event, handler) {\n if (typeof this.bindings !== 'undefined' && typeof this.bindings[event] !== 'undefined') {\n return;\n }\n\n if (typeof handler === 'undefined') {\n delete this.bindings[event];\n } else {\n var i = 0;\n while (i < this.bindings[event].length) {\n if (this.bindings[event][i].handler === handler) {\n this.bindings[event].splice(i, 1);\n } else {\n ++i;\n }\n }\n }\n }\n }, {\n key: 'trigger',\n value: function trigger(event) {\n if (typeof this.bindings !== 'undefined' && this.bindings[event]) {\n var i = 0;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n while (i < this.bindings[event].length) {\n var _bindings$event$i = this.bindings[event][i];\n var handler = _bindings$event$i.handler;\n var ctx = _bindings$event$i.ctx;\n var once = _bindings$event$i.once;\n\n var context = ctx;\n if (typeof context === 'undefined') {\n context = this;\n }\n\n handler.apply(context, args);\n\n if (once) {\n this.bindings[event].splice(i, 1);\n } else {\n ++i;\n }\n }\n }\n }\n }]);\n\n return Evented;\n})();\n\nTetherBase.Utils = {\n getScrollParents: getScrollParents,\n getBounds: getBounds,\n getOffsetParent: getOffsetParent,\n extend: extend,\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n updateClasses: updateClasses,\n defer: defer,\n flush: flush,\n uniqueId: uniqueId,\n Evented: Evented,\n getScrollBarSize: getScrollBarSize,\n removeUtilElements: removeUtilElements\n};\n/* globals TetherBase, performance */\n\n'use strict';\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _get = function get(_x6, _x7, _x8) { var _again = true; _function: while (_again) { var object = _x6, property = _x7, receiver = _x8; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x6 = parent; _x7 = property; _x8 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nif (typeof TetherBase === 'undefined') {\n throw new Error('You must include the utils.js file before tether.js');\n}\n\nvar _TetherBase$Utils = TetherBase.Utils;\nvar getScrollParents = _TetherBase$Utils.getScrollParents;\nvar getBounds = _TetherBase$Utils.getBounds;\nvar getOffsetParent = _TetherBase$Utils.getOffsetParent;\nvar extend = _TetherBase$Utils.extend;\nvar addClass = _TetherBase$Utils.addClass;\nvar removeClass = _TetherBase$Utils.removeClass;\nvar updateClasses = _TetherBase$Utils.updateClasses;\nvar defer = _TetherBase$Utils.defer;\nvar flush = _TetherBase$Utils.flush;\nvar getScrollBarSize = _TetherBase$Utils.getScrollBarSize;\nvar removeUtilElements = _TetherBase$Utils.removeUtilElements;\n\nfunction within(a, b) {\n var diff = arguments.length <= 2 || arguments[2] === undefined ? 1 : arguments[2];\n\n return a + diff >= b && b >= a - diff;\n}\n\nvar transformKey = (function () {\n if (typeof document === 'undefined') {\n return '';\n }\n var el = document.createElement('div');\n\n var transforms = ['transform', 'webkitTransform', 'OTransform', 'MozTransform', 'msTransform'];\n for (var i = 0; i < transforms.length; ++i) {\n var key = transforms[i];\n if (el.style[key] !== undefined) {\n return key;\n }\n }\n})();\n\nvar tethers = [];\n\nvar position = function position() {\n tethers.forEach(function (tether) {\n tether.position(false);\n });\n flush();\n};\n\nfunction now() {\n if (typeof performance !== 'undefined' && typeof performance.now !== 'undefined') {\n return performance.now();\n }\n return +new Date();\n}\n\n(function () {\n var lastCall = null;\n var lastDuration = null;\n var pendingTimeout = null;\n\n var tick = function tick() {\n if (typeof lastDuration !== 'undefined' && lastDuration > 16) {\n // We voluntarily throttle ourselves if we can't manage 60fps\n lastDuration = Math.min(lastDuration - 16, 250);\n\n // Just in case this is the last event, remember to position just once more\n pendingTimeout = setTimeout(tick, 250);\n return;\n }\n\n if (typeof lastCall !== 'undefined' && now() - lastCall < 10) {\n // Some browsers call events a little too frequently, refuse to run more than is reasonable\n return;\n }\n\n if (pendingTimeout != null) {\n clearTimeout(pendingTimeout);\n pendingTimeout = null;\n }\n\n lastCall = now();\n position();\n lastDuration = now() - lastCall;\n };\n\n if (typeof window !== 'undefined' && typeof window.addEventListener !== 'undefined') {\n ['resize', 'scroll', 'touchmove'].forEach(function (event) {\n window.addEventListener(event, tick);\n });\n }\n})();\n\nvar MIRROR_LR = {\n center: 'center',\n left: 'right',\n right: 'left'\n};\n\nvar MIRROR_TB = {\n middle: 'middle',\n top: 'bottom',\n bottom: 'top'\n};\n\nvar OFFSET_MAP = {\n top: 0,\n left: 0,\n middle: '50%',\n center: '50%',\n bottom: '100%',\n right: '100%'\n};\n\nvar autoToFixedAttachment = function autoToFixedAttachment(attachment, relativeToAttachment) {\n var left = attachment.left;\n var top = attachment.top;\n\n if (left === 'auto') {\n left = MIRROR_LR[relativeToAttachment.left];\n }\n\n if (top === 'auto') {\n top = MIRROR_TB[relativeToAttachment.top];\n }\n\n return { left: left, top: top };\n};\n\nvar attachmentToOffset = function attachmentToOffset(attachment) {\n var left = attachment.left;\n var top = attachment.top;\n\n if (typeof OFFSET_MAP[attachment.left] !== 'undefined') {\n left = OFFSET_MAP[attachment.left];\n }\n\n if (typeof OFFSET_MAP[attachment.top] !== 'undefined') {\n top = OFFSET_MAP[attachment.top];\n }\n\n return { left: left, top: top };\n};\n\nfunction addOffset() {\n var out = { top: 0, left: 0 };\n\n for (var _len = arguments.length, offsets = Array(_len), _key = 0; _key < _len; _key++) {\n offsets[_key] = arguments[_key];\n }\n\n offsets.forEach(function (_ref) {\n var top = _ref.top;\n var left = _ref.left;\n\n if (typeof top === 'string') {\n top = parseFloat(top, 10);\n }\n if (typeof left === 'string') {\n left = parseFloat(left, 10);\n }\n\n out.top += top;\n out.left += left;\n });\n\n return out;\n}\n\nfunction offsetToPx(offset, size) {\n if (typeof offset.left === 'string' && offset.left.indexOf('%') !== -1) {\n offset.left = parseFloat(offset.left, 10) / 100 * size.width;\n }\n if (typeof offset.top === 'string' && offset.top.indexOf('%') !== -1) {\n offset.top = parseFloat(offset.top, 10) / 100 * size.height;\n }\n\n return offset;\n}\n\nvar parseOffset = function parseOffset(value) {\n var _value$split = value.split(' ');\n\n var _value$split2 = _slicedToArray(_value$split, 2);\n\n var top = _value$split2[0];\n var left = _value$split2[1];\n\n return { top: top, left: left };\n};\nvar parseAttachment = parseOffset;\n\nvar TetherClass = (function (_Evented) {\n _inherits(TetherClass, _Evented);\n\n function TetherClass(options) {\n var _this = this;\n\n _classCallCheck(this, TetherClass);\n\n _get(Object.getPrototypeOf(TetherClass.prototype), 'constructor', this).call(this);\n this.position = this.position.bind(this);\n\n tethers.push(this);\n\n this.history = [];\n\n this.setOptions(options, false);\n\n TetherBase.modules.forEach(function (module) {\n if (typeof module.initialize !== 'undefined') {\n module.initialize.call(_this);\n }\n });\n\n this.position();\n }\n\n _createClass(TetherClass, [{\n key: 'getClass',\n value: function getClass() {\n var key = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n var classes = this.options.classes;\n\n if (typeof classes !== 'undefined' && classes[key]) {\n return this.options.classes[key];\n } else if (this.options.classPrefix) {\n return this.options.classPrefix + '-' + key;\n } else {\n return key;\n }\n }\n }, {\n key: 'setOptions',\n value: function setOptions(options) {\n var _this2 = this;\n\n var pos = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1];\n\n var defaults = {\n offset: '0 0',\n targetOffset: '0 0',\n targetAttachment: 'auto auto',\n classPrefix: 'tether'\n };\n\n this.options = extend(defaults, options);\n\n var _options = this.options;\n var element = _options.element;\n var target = _options.target;\n var targetModifier = _options.targetModifier;\n\n this.element = element;\n this.target = target;\n this.targetModifier = targetModifier;\n\n if (this.target === 'viewport') {\n this.target = document.body;\n this.targetModifier = 'visible';\n } else if (this.target === 'scroll-handle') {\n this.target = document.body;\n this.targetModifier = 'scroll-handle';\n }\n\n ['element', 'target'].forEach(function (key) {\n if (typeof _this2[key] === 'undefined') {\n throw new Error('Tether Error: Both element and target must be defined');\n }\n\n if (typeof _this2[key].jquery !== 'undefined') {\n _this2[key] = _this2[key][0];\n } else if (typeof _this2[key] === 'string') {\n _this2[key] = document.querySelector(_this2[key]);\n }\n });\n\n addClass(this.element, this.getClass('element'));\n if (!(this.options.addTargetClasses === false)) {\n addClass(this.target, this.getClass('target'));\n }\n\n if (!this.options.attachment) {\n throw new Error('Tether Error: You must provide an attachment');\n }\n\n this.targetAttachment = parseAttachment(this.options.targetAttachment);\n this.attachment = parseAttachment(this.options.attachment);\n this.offset = parseOffset(this.options.offset);\n this.targetOffset = parseOffset(this.options.targetOffset);\n\n if (typeof this.scrollParents !== 'undefined') {\n this.disable();\n }\n\n if (this.targetModifier === 'scroll-handle') {\n this.scrollParents = [this.target];\n } else {\n this.scrollParents = getScrollParents(this.target);\n }\n\n if (!(this.options.enabled === false)) {\n this.enable(pos);\n }\n }\n }, {\n key: 'getTargetBounds',\n value: function getTargetBounds() {\n if (typeof this.targetModifier !== 'undefined') {\n if (this.targetModifier === 'visible') {\n if (this.target === document.body) {\n return { top: pageYOffset, left: pageXOffset, height: innerHeight, width: innerWidth };\n } else {\n var bounds = getBounds(this.target);\n\n var out = {\n height: bounds.height,\n width: bounds.width,\n top: bounds.top,\n left: bounds.left\n };\n\n out.height = Math.min(out.height, bounds.height - (pageYOffset - bounds.top));\n out.height = Math.min(out.height, bounds.height - (bounds.top + bounds.height - (pageYOffset + innerHeight)));\n out.height = Math.min(innerHeight, out.height);\n out.height -= 2;\n\n out.width = Math.min(out.width, bounds.width - (pageXOffset - bounds.left));\n out.width = Math.min(out.width, bounds.width - (bounds.left + bounds.width - (pageXOffset + innerWidth)));\n out.width = Math.min(innerWidth, out.width);\n out.width -= 2;\n\n if (out.top < pageYOffset) {\n out.top = pageYOffset;\n }\n if (out.left < pageXOffset) {\n out.left = pageXOffset;\n }\n\n return out;\n }\n } else if (this.targetModifier === 'scroll-handle') {\n var bounds = undefined;\n var target = this.target;\n if (target === document.body) {\n target = document.documentElement;\n\n bounds = {\n left: pageXOffset,\n top: pageYOffset,\n height: innerHeight,\n width: innerWidth\n };\n } else {\n bounds = getBounds(target);\n }\n\n var style = getComputedStyle(target);\n\n var hasBottomScroll = target.scrollWidth > target.clientWidth || [style.overflow, style.overflowX].indexOf('scroll') >= 0 || this.target !== document.body;\n\n var scrollBottom = 0;\n if (hasBottomScroll) {\n scrollBottom = 15;\n }\n\n var height = bounds.height - parseFloat(style.borderTopWidth) - parseFloat(style.borderBottomWidth) - scrollBottom;\n\n var out = {\n width: 15,\n height: height * 0.975 * (height / target.scrollHeight),\n left: bounds.left + bounds.width - parseFloat(style.borderLeftWidth) - 15\n };\n\n var fitAdj = 0;\n if (height < 408 && this.target === document.body) {\n fitAdj = -0.00011 * Math.pow(height, 2) - 0.00727 * height + 22.58;\n }\n\n if (this.target !== document.body) {\n out.height = Math.max(out.height, 24);\n }\n\n var scrollPercentage = this.target.scrollTop / (target.scrollHeight - height);\n out.top = scrollPercentage * (height - out.height - fitAdj) + bounds.top + parseFloat(style.borderTopWidth);\n\n if (this.target === document.body) {\n out.height = Math.max(out.height, 24);\n }\n\n return out;\n }\n } else {\n return getBounds(this.target);\n }\n }\n }, {\n key: 'clearCache',\n value: function clearCache() {\n this._cache = {};\n }\n }, {\n key: 'cache',\n value: function cache(k, getter) {\n // More than one module will often need the same DOM info, so\n // we keep a cache which is cleared on each position call\n if (typeof this._cache === 'undefined') {\n this._cache = {};\n }\n\n if (typeof this._cache[k] === 'undefined') {\n this._cache[k] = getter.call(this);\n }\n\n return this._cache[k];\n }\n }, {\n key: 'enable',\n value: function enable() {\n var _this3 = this;\n\n var pos = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n if (!(this.options.addTargetClasses === false)) {\n addClass(this.target, this.getClass('enabled'));\n }\n addClass(this.element, this.getClass('enabled'));\n this.enabled = true;\n\n this.scrollParents.forEach(function (parent) {\n if (parent !== document) {\n parent.addEventListener('scroll', _this3.position);\n }\n });\n\n if (pos) {\n this.position();\n }\n }\n }, {\n key: 'disable',\n value: function disable() {\n var _this4 = this;\n\n removeClass(this.target, this.getClass('enabled'));\n removeClass(this.element, this.getClass('enabled'));\n this.enabled = false;\n\n if (typeof this.scrollParents !== 'undefined') {\n this.scrollParents.forEach(function (parent) {\n parent.removeEventListener('scroll', _this4.position);\n });\n }\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n var _this5 = this;\n\n this.disable();\n\n tethers.forEach(function (tether, i) {\n if (tether === _this5) {\n tethers.splice(i, 1);\n }\n });\n\n // Remove any elements we were using for convenience from the DOM\n if (tethers.length === 0) {\n removeUtilElements();\n }\n }\n }, {\n key: 'updateAttachClasses',\n value: function updateAttachClasses(elementAttach, targetAttach) {\n var _this6 = this;\n\n elementAttach = elementAttach || this.attachment;\n targetAttach = targetAttach || this.targetAttachment;\n var sides = ['left', 'top', 'bottom', 'right', 'middle', 'center'];\n\n if (typeof this._addAttachClasses !== 'undefined' && this._addAttachClasses.length) {\n // updateAttachClasses can be called more than once in a position call, so\n // we need to clean up after ourselves such that when the last defer gets\n // ran it doesn't add any extra classes from previous calls.\n this._addAttachClasses.splice(0, this._addAttachClasses.length);\n }\n\n if (typeof this._addAttachClasses === 'undefined') {\n this._addAttachClasses = [];\n }\n var add = this._addAttachClasses;\n\n if (elementAttach.top) {\n add.push(this.getClass('element-attached') + '-' + elementAttach.top);\n }\n if (elementAttach.left) {\n add.push(this.getClass('element-attached') + '-' + elementAttach.left);\n }\n if (targetAttach.top) {\n add.push(this.getClass('target-attached') + '-' + targetAttach.top);\n }\n if (targetAttach.left) {\n add.push(this.getClass('target-attached') + '-' + targetAttach.left);\n }\n\n var all = [];\n sides.forEach(function (side) {\n all.push(_this6.getClass('element-attached') + '-' + side);\n all.push(_this6.getClass('target-attached') + '-' + side);\n });\n\n defer(function () {\n if (!(typeof _this6._addAttachClasses !== 'undefined')) {\n return;\n }\n\n updateClasses(_this6.element, _this6._addAttachClasses, all);\n if (!(_this6.options.addTargetClasses === false)) {\n updateClasses(_this6.target, _this6._addAttachClasses, all);\n }\n\n delete _this6._addAttachClasses;\n });\n }\n }, {\n key: 'position',\n value: function position() {\n var _this7 = this;\n\n var flushChanges = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n // flushChanges commits the changes immediately, leave true unless you are positioning multiple\n // tethers (in which case call Tether.Utils.flush yourself when you're done)\n\n if (!this.enabled) {\n return;\n }\n\n this.clearCache();\n\n // Turn 'auto' attachments into the appropriate corner or edge\n var targetAttachment = autoToFixedAttachment(this.targetAttachment, this.attachment);\n\n this.updateAttachClasses(this.attachment, targetAttachment);\n\n var elementPos = this.cache('element-bounds', function () {\n return getBounds(_this7.element);\n });\n\n var width = elementPos.width;\n var height = elementPos.height;\n\n if (width === 0 && height === 0 && typeof this.lastSize !== 'undefined') {\n var _lastSize = this.lastSize;\n\n // We cache the height and width to make it possible to position elements that are\n // getting hidden.\n width = _lastSize.width;\n height = _lastSize.height;\n } else {\n this.lastSize = { width: width, height: height };\n }\n\n var targetPos = this.cache('target-bounds', function () {\n return _this7.getTargetBounds();\n });\n var targetSize = targetPos;\n\n // Get an actual px offset from the attachment\n var offset = offsetToPx(attachmentToOffset(this.attachment), { width: width, height: height });\n var targetOffset = offsetToPx(attachmentToOffset(targetAttachment), targetSize);\n\n var manualOffset = offsetToPx(this.offset, { width: width, height: height });\n var manualTargetOffset = offsetToPx(this.targetOffset, targetSize);\n\n // Add the manually provided offset\n offset = addOffset(offset, manualOffset);\n targetOffset = addOffset(targetOffset, manualTargetOffset);\n\n // It's now our goal to make (element position + offset) == (target position + target offset)\n var left = targetPos.left + targetOffset.left - offset.left;\n var top = targetPos.top + targetOffset.top - offset.top;\n\n for (var i = 0; i < TetherBase.modules.length; ++i) {\n var _module2 = TetherBase.modules[i];\n var ret = _module2.position.call(this, {\n left: left,\n top: top,\n targetAttachment: targetAttachment,\n targetPos: targetPos,\n elementPos: elementPos,\n offset: offset,\n targetOffset: targetOffset,\n manualOffset: manualOffset,\n manualTargetOffset: manualTargetOffset,\n scrollbarSize: scrollbarSize,\n attachment: this.attachment\n });\n\n if (ret === false) {\n return false;\n } else if (typeof ret === 'undefined' || typeof ret !== 'object') {\n continue;\n } else {\n top = ret.top;\n left = ret.left;\n }\n }\n\n // We describe the position three different ways to give the optimizer\n // a chance to decide the best possible way to position the element\n // with the fewest repaints.\n var next = {\n // It's position relative to the page (absolute positioning when\n // the element is a child of the body)\n page: {\n top: top,\n left: left\n },\n\n // It's position relative to the viewport (fixed positioning)\n viewport: {\n top: top - pageYOffset,\n bottom: pageYOffset - top - height + innerHeight,\n left: left - pageXOffset,\n right: pageXOffset - left - width + innerWidth\n }\n };\n\n var scrollbarSize = undefined;\n if (document.body.scrollWidth > window.innerWidth) {\n scrollbarSize = this.cache('scrollbar-size', getScrollBarSize);\n next.viewport.bottom -= scrollbarSize.height;\n }\n\n if (document.body.scrollHeight > window.innerHeight) {\n scrollbarSize = this.cache('scrollbar-size', getScrollBarSize);\n next.viewport.right -= scrollbarSize.width;\n }\n\n if (['', 'static'].indexOf(document.body.style.position) === -1 || ['', 'static'].indexOf(document.body.parentElement.style.position) === -1) {\n // Absolute positioning in the body will be relative to the page, not the 'initial containing block'\n next.page.bottom = document.body.scrollHeight - top - height;\n next.page.right = document.body.scrollWidth - left - width;\n }\n\n if (typeof this.options.optimizations !== 'undefined' && this.options.optimizations.moveElement !== false && !(typeof this.targetModifier !== 'undefined')) {\n (function () {\n var offsetParent = _this7.cache('target-offsetparent', function () {\n return getOffsetParent(_this7.target);\n });\n var offsetPosition = _this7.cache('target-offsetparent-bounds', function () {\n return getBounds(offsetParent);\n });\n var offsetParentStyle = getComputedStyle(offsetParent);\n var offsetParentSize = offsetPosition;\n\n var offsetBorder = {};\n ['Top', 'Left', 'Bottom', 'Right'].forEach(function (side) {\n offsetBorder[side.toLowerCase()] = parseFloat(offsetParentStyle['border' + side + 'Width']);\n });\n\n offsetPosition.right = document.body.scrollWidth - offsetPosition.left - offsetParentSize.width + offsetBorder.right;\n offsetPosition.bottom = document.body.scrollHeight - offsetPosition.top - offsetParentSize.height + offsetBorder.bottom;\n\n if (next.page.top >= offsetPosition.top + offsetBorder.top && next.page.bottom >= offsetPosition.bottom) {\n if (next.page.left >= offsetPosition.left + offsetBorder.left && next.page.right >= offsetPosition.right) {\n // We're within the visible part of the target's scroll parent\n var scrollTop = offsetParent.scrollTop;\n var scrollLeft = offsetParent.scrollLeft;\n\n // It's position relative to the target's offset parent (absolute positioning when\n // the element is moved to be a child of the target's offset parent).\n next.offset = {\n top: next.page.top - offsetPosition.top + scrollTop - offsetBorder.top,\n left: next.page.left - offsetPosition.left + scrollLeft - offsetBorder.left\n };\n }\n }\n })();\n }\n\n // We could also travel up the DOM and try each containing context, rather than only\n // looking at the body, but we're gonna get diminishing returns.\n\n this.move(next);\n\n this.history.unshift(next);\n\n if (this.history.length > 3) {\n this.history.pop();\n }\n\n if (flushChanges) {\n flush();\n }\n\n return true;\n }\n\n // THE ISSUE\n }, {\n key: 'move',\n value: function move(pos) {\n var _this8 = this;\n\n if (!(typeof this.element.parentNode !== 'undefined')) {\n return;\n }\n\n var same = {};\n\n for (var type in pos) {\n same[type] = {};\n\n for (var key in pos[type]) {\n var found = false;\n\n for (var i = 0; i < this.history.length; ++i) {\n var point = this.history[i];\n if (typeof point[type] !== 'undefined' && !within(point[type][key], pos[type][key])) {\n found = true;\n break;\n }\n }\n\n if (!found) {\n same[type][key] = true;\n }\n }\n }\n\n var css = { top: '', left: '', right: '', bottom: '' };\n\n var transcribe = function transcribe(_same, _pos) {\n var hasOptimizations = typeof _this8.options.optimizations !== 'undefined';\n var gpu = hasOptimizations ? _this8.options.optimizations.gpu : null;\n if (gpu !== false) {\n var yPos = undefined,\n xPos = undefined;\n if (_same.top) {\n css.top = 0;\n yPos = _pos.top;\n } else {\n css.bottom = 0;\n yPos = -_pos.bottom;\n }\n\n if (_same.left) {\n css.left = 0;\n xPos = _pos.left;\n } else {\n css.right = 0;\n xPos = -_pos.right;\n }\n\n css[transformKey] = 'translateX(' + Math.round(xPos) + 'px) translateY(' + Math.round(yPos) + 'px)';\n\n if (transformKey !== 'msTransform') {\n // The Z transform will keep this in the GPU (faster, and prevents artifacts),\n // but IE9 doesn't support 3d transforms and will choke.\n css[transformKey] += \" translateZ(0)\";\n }\n } else {\n if (_same.top) {\n css.top = _pos.top + 'px';\n } else {\n css.bottom = _pos.bottom + 'px';\n }\n\n if (_same.left) {\n css.left = _pos.left + 'px';\n } else {\n css.right = _pos.right + 'px';\n }\n }\n };\n\n var moved = false;\n if ((same.page.top || same.page.bottom) && (same.page.left || same.page.right)) {\n css.position = 'absolute';\n transcribe(same.page, pos.page);\n } else if ((same.viewport.top || same.viewport.bottom) && (same.viewport.left || same.viewport.right)) {\n css.position = 'fixed';\n transcribe(same.viewport, pos.viewport);\n } else if (typeof same.offset !== 'undefined' && same.offset.top && same.offset.left) {\n (function () {\n css.position = 'absolute';\n var offsetParent = _this8.cache('target-offsetparent', function () {\n return getOffsetParent(_this8.target);\n });\n\n if (getOffsetParent(_this8.element) !== offsetParent) {\n defer(function () {\n _this8.element.parentNode.removeChild(_this8.element);\n offsetParent.appendChild(_this8.element);\n });\n }\n\n transcribe(same.offset, pos.offset);\n moved = true;\n })();\n } else {\n css.position = 'absolute';\n transcribe({ top: true, left: true }, pos.page);\n }\n\n if (!moved) {\n var offsetParentIsBody = true;\n var currentNode = this.element.parentNode;\n while (currentNode && currentNode.nodeType === 1 && currentNode.tagName !== 'BODY') {\n if (getComputedStyle(currentNode).position !== 'static') {\n offsetParentIsBody = false;\n break;\n }\n\n currentNode = currentNode.parentNode;\n }\n\n if (!offsetParentIsBody) {\n this.element.parentNode.removeChild(this.element);\n document.body.appendChild(this.element);\n }\n }\n\n // Any css change will trigger a repaint, so let's avoid one if nothing changed\n var writeCSS = {};\n var write = false;\n for (var key in css) {\n var val = css[key];\n var elVal = this.element.style[key];\n\n if (elVal !== val) {\n write = true;\n writeCSS[key] = val;\n }\n }\n\n if (write) {\n defer(function () {\n extend(_this8.element.style, writeCSS);\n });\n }\n }\n }]);\n\n return TetherClass;\n})(Evented);\n\nTetherClass.modules = [];\n\nTetherBase.position = position;\n\nvar Tether = extend(TetherClass, TetherBase);\n/* globals TetherBase */\n\n'use strict';\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();\n\nvar _TetherBase$Utils = TetherBase.Utils;\nvar getBounds = _TetherBase$Utils.getBounds;\nvar extend = _TetherBase$Utils.extend;\nvar updateClasses = _TetherBase$Utils.updateClasses;\nvar defer = _TetherBase$Utils.defer;\n\nvar BOUNDS_FORMAT = ['left', 'top', 'right', 'bottom'];\n\nfunction getBoundingRect(tether, to) {\n if (to === 'scrollParent') {\n to = tether.scrollParents[0];\n } else if (to === 'window') {\n to = [pageXOffset, pageYOffset, innerWidth + pageXOffset, innerHeight + pageYOffset];\n }\n\n if (to === document) {\n to = to.documentElement;\n }\n\n if (typeof to.nodeType !== 'undefined') {\n (function () {\n var size = getBounds(to);\n var pos = size;\n var style = getComputedStyle(to);\n\n to = [pos.left, pos.top, size.width + pos.left, size.height + pos.top];\n\n BOUNDS_FORMAT.forEach(function (side, i) {\n side = side[0].toUpperCase() + side.substr(1);\n if (side === 'Top' || side === 'Left') {\n to[i] += parseFloat(style['border' + side + 'Width']);\n } else {\n to[i] -= parseFloat(style['border' + side + 'Width']);\n }\n });\n })();\n }\n\n return to;\n}\n\nTetherBase.modules.push({\n position: function position(_ref) {\n var _this = this;\n\n var top = _ref.top;\n var left = _ref.left;\n var targetAttachment = _ref.targetAttachment;\n\n if (!this.options.constraints) {\n return true;\n }\n\n var _cache = this.cache('element-bounds', function () {\n return getBounds(_this.element);\n });\n\n var height = _cache.height;\n var width = _cache.width;\n\n if (width === 0 && height === 0 && typeof this.lastSize !== 'undefined') {\n var _lastSize = this.lastSize;\n\n // Handle the item getting hidden as a result of our positioning without glitching\n // the classes in and out\n width = _lastSize.width;\n height = _lastSize.height;\n }\n\n var targetSize = this.cache('target-bounds', function () {\n return _this.getTargetBounds();\n });\n\n var targetHeight = targetSize.height;\n var targetWidth = targetSize.width;\n\n var allClasses = [this.getClass('pinned'), this.getClass('out-of-bounds')];\n\n this.options.constraints.forEach(function (constraint) {\n var outOfBoundsClass = constraint.outOfBoundsClass;\n var pinnedClass = constraint.pinnedClass;\n\n if (outOfBoundsClass) {\n allClasses.push(outOfBoundsClass);\n }\n if (pinnedClass) {\n allClasses.push(pinnedClass);\n }\n });\n\n allClasses.forEach(function (cls) {\n ['left', 'top', 'right', 'bottom'].forEach(function (side) {\n allClasses.push(cls + '-' + side);\n });\n });\n\n var addClasses = [];\n\n var tAttachment = extend({}, targetAttachment);\n var eAttachment = extend({}, this.attachment);\n\n this.options.constraints.forEach(function (constraint) {\n var to = constraint.to;\n var attachment = constraint.attachment;\n var pin = constraint.pin;\n\n if (typeof attachment === 'undefined') {\n attachment = '';\n }\n\n var changeAttachX = undefined,\n changeAttachY = undefined;\n if (attachment.indexOf(' ') >= 0) {\n var _attachment$split = attachment.split(' ');\n\n var _attachment$split2 = _slicedToArray(_attachment$split, 2);\n\n changeAttachY = _attachment$split2[0];\n changeAttachX = _attachment$split2[1];\n } else {\n changeAttachX = changeAttachY = attachment;\n }\n\n var bounds = getBoundingRect(_this, to);\n\n if (changeAttachY === 'target' || changeAttachY === 'both') {\n if (top < bounds[1] && tAttachment.top === 'top') {\n top += targetHeight;\n tAttachment.top = 'bottom';\n }\n\n if (top + height > bounds[3] && tAttachment.top === 'bottom') {\n top -= targetHeight;\n tAttachment.top = 'top';\n }\n }\n\n if (changeAttachY === 'together') {\n if (tAttachment.top === 'top') {\n if (eAttachment.top === 'bottom' && top < bounds[1]) {\n top += targetHeight;\n tAttachment.top = 'bottom';\n\n top += height;\n eAttachment.top = 'top';\n } else if (eAttachment.top === 'top' && top + height > bounds[3] && top - (height - targetHeight) >= bounds[1]) {\n top -= height - targetHeight;\n tAttachment.top = 'bottom';\n\n eAttachment.top = 'bottom';\n }\n }\n\n if (tAttachment.top === 'bottom') {\n if (eAttachment.top === 'top' && top + height > bounds[3]) {\n top -= targetHeight;\n tAttachment.top = 'top';\n\n top -= height;\n eAttachment.top = 'bottom';\n } else if (eAttachment.top === 'bottom' && top < bounds[1] && top + (height * 2 - targetHeight) <= bounds[3]) {\n top += height - targetHeight;\n tAttachment.top = 'top';\n\n eAttachment.top = 'top';\n }\n }\n\n if (tAttachment.top === 'middle') {\n if (top + height > bounds[3] && eAttachment.top === 'top') {\n top -= height;\n eAttachment.top = 'bottom';\n } else if (top < bounds[1] && eAttachment.top === 'bottom') {\n top += height;\n eAttachment.top = 'top';\n }\n }\n }\n\n if (changeAttachX === 'target' || changeAttachX === 'both') {\n if (left < bounds[0] && tAttachment.left === 'left') {\n left += targetWidth;\n tAttachment.left = 'right';\n }\n\n if (left + width > bounds[2] && tAttachment.left === 'right') {\n left -= targetWidth;\n tAttachment.left = 'left';\n }\n }\n\n if (changeAttachX === 'together') {\n if (left < bounds[0] && tAttachment.left === 'left') {\n if (eAttachment.left === 'right') {\n left += targetWidth;\n tAttachment.left = 'right';\n\n left += width;\n eAttachment.left = 'left';\n } else if (eAttachment.left === 'left') {\n left += targetWidth;\n tAttachment.left = 'right';\n\n left -= width;\n eAttachment.left = 'right';\n }\n } else if (left + width > bounds[2] && tAttachment.left === 'right') {\n if (eAttachment.left === 'left') {\n left -= targetWidth;\n tAttachment.left = 'left';\n\n left -= width;\n eAttachment.left = 'right';\n } else if (eAttachment.left === 'right') {\n left -= targetWidth;\n tAttachment.left = 'left';\n\n left += width;\n eAttachment.left = 'left';\n }\n } else if (tAttachment.left === 'center') {\n if (left + width > bounds[2] && eAttachment.left === 'left') {\n left -= width;\n eAttachment.left = 'right';\n } else if (left < bounds[0] && eAttachment.left === 'right') {\n left += width;\n eAttachment.left = 'left';\n }\n }\n }\n\n if (changeAttachY === 'element' || changeAttachY === 'both') {\n if (top < bounds[1] && eAttachment.top === 'bottom') {\n top += height;\n eAttachment.top = 'top';\n }\n\n if (top + height > bounds[3] && eAttachment.top === 'top') {\n top -= height;\n eAttachment.top = 'bottom';\n }\n }\n\n if (changeAttachX === 'element' || changeAttachX === 'both') {\n if (left < bounds[0]) {\n if (eAttachment.left === 'right') {\n left += width;\n eAttachment.left = 'left';\n } else if (eAttachment.left === 'center') {\n left += width / 2;\n eAttachment.left = 'left';\n }\n }\n\n if (left + width > bounds[2]) {\n if (eAttachment.left === 'left') {\n left -= width;\n eAttachment.left = 'right';\n } else if (eAttachment.left === 'center') {\n left -= width / 2;\n eAttachment.left = 'right';\n }\n }\n }\n\n if (typeof pin === 'string') {\n pin = pin.split(',').map(function (p) {\n return p.trim();\n });\n } else if (pin === true) {\n pin = ['top', 'left', 'right', 'bottom'];\n }\n\n pin = pin || [];\n\n var pinned = [];\n var oob = [];\n\n if (top < bounds[1]) {\n if (pin.indexOf('top') >= 0) {\n top = bounds[1];\n pinned.push('top');\n } else {\n oob.push('top');\n }\n }\n\n if (top + height > bounds[3]) {\n if (pin.indexOf('bottom') >= 0) {\n top = bounds[3] - height;\n pinned.push('bottom');\n } else {\n oob.push('bottom');\n }\n }\n\n if (left < bounds[0]) {\n if (pin.indexOf('left') >= 0) {\n left = bounds[0];\n pinned.push('left');\n } else {\n oob.push('left');\n }\n }\n\n if (left + width > bounds[2]) {\n if (pin.indexOf('right') >= 0) {\n left = bounds[2] - width;\n pinned.push('right');\n } else {\n oob.push('right');\n }\n }\n\n if (pinned.length) {\n (function () {\n var pinnedClass = undefined;\n if (typeof _this.options.pinnedClass !== 'undefined') {\n pinnedClass = _this.options.pinnedClass;\n } else {\n pinnedClass = _this.getClass('pinned');\n }\n\n addClasses.push(pinnedClass);\n pinned.forEach(function (side) {\n addClasses.push(pinnedClass + '-' + side);\n });\n })();\n }\n\n if (oob.length) {\n (function () {\n var oobClass = undefined;\n if (typeof _this.options.outOfBoundsClass !== 'undefined') {\n oobClass = _this.options.outOfBoundsClass;\n } else {\n oobClass = _this.getClass('out-of-bounds');\n }\n\n addClasses.push(oobClass);\n oob.forEach(function (side) {\n addClasses.push(oobClass + '-' + side);\n });\n })();\n }\n\n if (pinned.indexOf('left') >= 0 || pinned.indexOf('right') >= 0) {\n eAttachment.left = tAttachment.left = false;\n }\n if (pinned.indexOf('top') >= 0 || pinned.indexOf('bottom') >= 0) {\n eAttachment.top = tAttachment.top = false;\n }\n\n if (tAttachment.top !== targetAttachment.top || tAttachment.left !== targetAttachment.left || eAttachment.top !== _this.attachment.top || eAttachment.left !== _this.attachment.left) {\n _this.updateAttachClasses(eAttachment, tAttachment);\n _this.trigger('update', {\n attachment: eAttachment,\n targetAttachment: tAttachment\n });\n }\n });\n\n defer(function () {\n if (!(_this.options.addTargetClasses === false)) {\n updateClasses(_this.target, addClasses, allClasses);\n }\n updateClasses(_this.element, addClasses, allClasses);\n });\n\n return { top: top, left: left };\n }\n});\n/* globals TetherBase */\n\n'use strict';\n\nvar _TetherBase$Utils = TetherBase.Utils;\nvar getBounds = _TetherBase$Utils.getBounds;\nvar updateClasses = _TetherBase$Utils.updateClasses;\nvar defer = _TetherBase$Utils.defer;\n\nTetherBase.modules.push({\n position: function position(_ref) {\n var _this = this;\n\n var top = _ref.top;\n var left = _ref.left;\n\n var _cache = this.cache('element-bounds', function () {\n return getBounds(_this.element);\n });\n\n var height = _cache.height;\n var width = _cache.width;\n\n var targetPos = this.getTargetBounds();\n\n var bottom = top + height;\n var right = left + width;\n\n var abutted = [];\n if (top <= targetPos.bottom && bottom >= targetPos.top) {\n ['left', 'right'].forEach(function (side) {\n var targetPosSide = targetPos[side];\n if (targetPosSide === left || targetPosSide === right) {\n abutted.push(side);\n }\n });\n }\n\n if (left <= targetPos.right && right >= targetPos.left) {\n ['top', 'bottom'].forEach(function (side) {\n var targetPosSide = targetPos[side];\n if (targetPosSide === top || targetPosSide === bottom) {\n abutted.push(side);\n }\n });\n }\n\n var allClasses = [];\n var addClasses = [];\n\n var sides = ['left', 'top', 'right', 'bottom'];\n allClasses.push(this.getClass('abutted'));\n sides.forEach(function (side) {\n allClasses.push(_this.getClass('abutted') + '-' + side);\n });\n\n if (abutted.length) {\n addClasses.push(this.getClass('abutted'));\n }\n\n abutted.forEach(function (side) {\n addClasses.push(_this.getClass('abutted') + '-' + side);\n });\n\n defer(function () {\n if (!(_this.options.addTargetClasses === false)) {\n updateClasses(_this.target, addClasses, allClasses);\n }\n updateClasses(_this.element, addClasses, allClasses);\n });\n\n return true;\n }\n});\n/* globals TetherBase */\n\n'use strict';\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();\n\nTetherBase.modules.push({\n position: function position(_ref) {\n var top = _ref.top;\n var left = _ref.left;\n\n if (!this.options.shift) {\n return;\n }\n\n var shift = this.options.shift;\n if (typeof this.options.shift === 'function') {\n shift = this.options.shift.call(this, { top: top, left: left });\n }\n\n var shiftTop = undefined,\n shiftLeft = undefined;\n if (typeof shift === 'string') {\n shift = shift.split(' ');\n shift[1] = shift[1] || shift[0];\n\n var _shift = shift;\n\n var _shift2 = _slicedToArray(_shift, 2);\n\n shiftTop = _shift2[0];\n shiftLeft = _shift2[1];\n\n shiftTop = parseFloat(shiftTop, 10);\n shiftLeft = parseFloat(shiftLeft, 10);\n } else {\n shiftTop = shift.top;\n shiftLeft = shift.left;\n }\n\n top += shiftTop;\n left += shiftLeft;\n\n return { top: top, left: left };\n }\n});\nreturn Tether;\n\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/tether-drop/~/tether/dist/js/tether.js\n ** module id = 45\n ** module chunks = 0\n **/","export default {\n props: {\n id: String\n },\n\n methods: {\n eventTargetsComponent(eventTarget) {\n if (eventTarget === undefined || this.id === eventTarget) {\n return true;\n }\n\n return false;\n }\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/mixins/ReceivesTargetedEvent.js\n **/","module.exports = \"\\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiMenu.vue\n ** module id = 47\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiPopover.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiPopover.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiPopover.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiPopover.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-65b33fc8/UiPopover.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiPopover.vue\n ** module id = 48\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiPopover.vue\n ** module id = 49\n ** module chunks = 0\n **/","\n \n \n
\n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiPopover.vue?b5dd032e\n **/","module.exports = \"\\n\\n \\n
\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiPopover.vue\n ** module id = 51\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiProgressCircular.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiProgressCircular.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiProgressCircular.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiProgressCircular.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-9427004e/UiProgressCircular.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiProgressCircular.vue\n ** module id = 52\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiProgressCircular.vue\n ** module id = 53\n ** module chunks = 0\n **/","\n \n \n\n \n
\n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiProgressCircular.vue?0bcaa782\n **/","module.exports = \"\\n\\n \\n\\n \\n
\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiProgressCircular.vue\n ** module id = 55\n ** module chunks = 0\n **/","export default function(value) {\n this.el.disabled = Boolean(value);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/directives/disabled.js\n **/","export default {\n props: {\n openDropdownOn: String,\n dropdownPosition: String,\n hasPopover: {\n type: Boolean,\n default: false\n },\n hasDropdownMenu: {\n type: Boolean,\n default: false\n },\n menuOptions: {\n type: Array,\n default() {\n return [];\n }\n },\n showMenuIcons: {\n type: Boolean,\n default: false\n },\n showMenuSecondaryText: {\n type: Boolean,\n default: false\n }\n },\n\n methods: {\n menuOptionSelect(option) {\n this.$dispatch('menu-option-selected', option);\n }\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/mixins/HasDropdown.js\n **/","import UiTooltip from '../UiTooltip.vue';\n\nexport default {\n props: {\n tooltip: String,\n tooltipPosition: String\n },\n\n components: {\n UiTooltip\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/mixins/ShowsTooltip.js\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiTooltip.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiTooltip.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiTooltip.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiTooltip.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-eb6e5bb4/UiTooltip.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiTooltip.vue\n ** module id = 59\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiTooltip.vue\n ** module id = 60\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiTooltip.vue?8c74e75e\n **/","/*! tether-tooltip 1.1.0 */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([\"tether-drop\",\"tether\"], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('tether-drop'), require('tether'));\n } else {\n root.Tooltip = factory(root.Drop, root.Tether);\n }\n}(this, function(Drop, Tether) {\n\n/* global Tether Drop */\n\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar extend = Tether.Utils.extend;\n\nvar _Drop = Drop.createContext({\n classPrefix: 'tooltip'\n});\n\nvar defaults = {\n position: 'top center',\n openOn: 'hover',\n classes: 'tooltip-theme-arrows',\n constrainToWindow: true,\n constrainToScrollParent: false\n};\n\nvar tooltipCount = 0;\n\nvar Tooltip = (function () {\n function Tooltip(options) {\n _classCallCheck(this, Tooltip);\n\n this.options = options;\n\n if (!this.options.target) {\n throw new Error('Tooltip Error: You must provide a target for Tooltip to attach to');\n }\n\n var position = this.options.target.getAttribute('data-tooltip-position');\n if (position) {\n if (typeof this.options.position === 'undefined') {\n this.options.position = position;\n }\n }\n\n var content = this.options.target.getAttribute('data-tooltip');\n\n if (content) {\n if (typeof this.options.content === 'undefined') {\n var contentEl = document.createElement('div');\n contentEl.innerHTML = content;\n\n // Add ARIA attributes (see #50)\n contentEl.setAttribute('role', 'tooltip');\n contentEl.id = 'drop-tooltip-' + tooltipCount;\n this.options.target.setAttribute('aria-describedby', contentEl.id);\n tooltipCount += 1;\n\n this.options.content = contentEl;\n }\n }\n\n if (!this.options.content) {\n throw new Error('Tooltip Error: You must provide content for Tooltip to display');\n }\n\n this.options = extend({}, defaults, this.options);\n\n this.drop = new _Drop(this.options);\n }\n\n _createClass(Tooltip, [{\n key: 'close',\n value: function close() {\n this.drop.close();\n }\n }, {\n key: 'open',\n value: function open() {\n this.drop.open();\n }\n }, {\n key: 'toggle',\n value: function toggle() {\n this.drop.toggle();\n }\n }, {\n key: 'remove',\n value: function remove() {\n this.drop.remove();\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.drop.destroy();\n }\n }, {\n key: 'position',\n value: function position() {\n this.drop.position();\n }\n }]);\n\n return Tooltip;\n})();\n\nvar initialized = [];\n\nTooltip.init = function () {\n var tooltipElements = document.querySelectorAll('[data-tooltip]');\n var len = tooltipElements.length;\n for (var i = 0; i < len; ++i) {\n var el = tooltipElements[i];\n if (initialized.indexOf(el) === -1) {\n new Tooltip({\n target: el\n });\n initialized.push(el);\n }\n }\n};\n\ndocument.addEventListener('DOMContentLoaded', function () {\n if (Tooltip.autoinit !== false) {\n Tooltip.init();\n }\n});\nreturn Tooltip;\n\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/tether-tooltip/dist/js/tooltip.js\n ** module id = 62\n ** module chunks = 0\n **/","/*! tether 1.3.1 */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require, exports, module);\n } else {\n root.Tether = factory();\n }\n}(this, function(require, exports, module) {\n\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar TetherBase = undefined;\nif (typeof TetherBase === 'undefined') {\n TetherBase = { modules: [] };\n}\n\nvar zeroElement = null;\n\nfunction getScrollParents(el) {\n // In firefox if the el is inside an iframe with display: none; window.getComputedStyle() will return null;\n // https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n var computedStyle = getComputedStyle(el) || {};\n var position = computedStyle.position;\n var parents = [];\n\n if (position === 'fixed') {\n return [el];\n }\n\n var parent = el;\n while ((parent = parent.parentNode) && parent && parent.nodeType === 1) {\n var style = undefined;\n try {\n style = getComputedStyle(parent);\n } catch (err) {}\n\n if (typeof style === 'undefined' || style === null) {\n parents.push(parent);\n return parents;\n }\n\n var _style = style;\n var overflow = _style.overflow;\n var overflowX = _style.overflowX;\n var overflowY = _style.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n if (position !== 'absolute' || ['relative', 'absolute', 'fixed'].indexOf(style.position) >= 0) {\n parents.push(parent);\n }\n }\n }\n\n parents.push(document.body);\n return parents;\n}\n\nvar uniqueId = (function () {\n var id = 0;\n return function () {\n return ++id;\n };\n})();\n\nvar zeroPosCache = {};\nvar getOrigin = function getOrigin() {\n // getBoundingClientRect is unfortunately too accurate. It introduces a pixel or two of\n // jitter as the user scrolls that messes with our ability to detect if two positions\n // are equivilant or not. We place an element at the top left of the page that will\n // get the same jitter, so we can cancel the two out.\n var node = zeroElement;\n if (!node) {\n node = document.createElement('div');\n node.setAttribute('data-tether-id', uniqueId());\n extend(node.style, {\n top: 0,\n left: 0,\n position: 'absolute'\n });\n\n document.body.appendChild(node);\n\n zeroElement = node;\n }\n\n var id = node.getAttribute('data-tether-id');\n if (typeof zeroPosCache[id] === 'undefined') {\n zeroPosCache[id] = {};\n\n var rect = node.getBoundingClientRect();\n for (var k in rect) {\n // Can't use extend, as on IE9, elements don't resolve to be hasOwnProperty\n zeroPosCache[id][k] = rect[k];\n }\n\n // Clear the cache when this position call is done\n defer(function () {\n delete zeroPosCache[id];\n });\n }\n\n return zeroPosCache[id];\n};\n\nfunction removeUtilElements() {\n if (zeroElement) {\n document.body.removeChild(zeroElement);\n }\n zeroElement = null;\n};\n\nfunction getBounds(el) {\n var doc = undefined;\n if (el === document) {\n doc = document;\n el = document.documentElement;\n } else {\n doc = el.ownerDocument;\n }\n\n var docEl = doc.documentElement;\n\n var box = {};\n // The original object returned by getBoundingClientRect is immutable, so we clone it\n // We can't use extend because the properties are not considered part of the object by hasOwnProperty in IE9\n var rect = el.getBoundingClientRect();\n for (var k in rect) {\n box[k] = rect[k];\n }\n\n var origin = getOrigin();\n\n box.top -= origin.top;\n box.left -= origin.left;\n\n if (typeof box.width === 'undefined') {\n box.width = document.body.scrollWidth - box.left - box.right;\n }\n if (typeof box.height === 'undefined') {\n box.height = document.body.scrollHeight - box.top - box.bottom;\n }\n\n box.top = box.top - docEl.clientTop;\n box.left = box.left - docEl.clientLeft;\n box.right = doc.body.clientWidth - box.width - box.left;\n box.bottom = doc.body.clientHeight - box.height - box.top;\n\n return box;\n}\n\nfunction getOffsetParent(el) {\n return el.offsetParent || document.documentElement;\n}\n\nfunction getScrollBarSize() {\n var inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n\n var outer = document.createElement('div');\n extend(outer.style, {\n position: 'absolute',\n top: 0,\n left: 0,\n pointerEvents: 'none',\n visibility: 'hidden',\n width: '200px',\n height: '150px',\n overflow: 'hidden'\n });\n\n outer.appendChild(inner);\n\n document.body.appendChild(outer);\n\n var widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var widthScroll = inner.offsetWidth;\n\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n\n document.body.removeChild(outer);\n\n var width = widthContained - widthScroll;\n\n return { width: width, height: width };\n}\n\nfunction extend() {\n var out = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n var args = [];\n\n Array.prototype.push.apply(args, arguments);\n\n args.slice(1).forEach(function (obj) {\n if (obj) {\n for (var key in obj) {\n if (({}).hasOwnProperty.call(obj, key)) {\n out[key] = obj[key];\n }\n }\n }\n });\n\n return out;\n}\n\nfunction removeClass(el, name) {\n if (typeof el.classList !== 'undefined') {\n name.split(' ').forEach(function (cls) {\n if (cls.trim()) {\n el.classList.remove(cls);\n }\n });\n } else {\n var regex = new RegExp('(^| )' + name.split(' ').join('|') + '( |$)', 'gi');\n var className = getClassName(el).replace(regex, ' ');\n setClassName(el, className);\n }\n}\n\nfunction addClass(el, name) {\n if (typeof el.classList !== 'undefined') {\n name.split(' ').forEach(function (cls) {\n if (cls.trim()) {\n el.classList.add(cls);\n }\n });\n } else {\n removeClass(el, name);\n var cls = getClassName(el) + (' ' + name);\n setClassName(el, cls);\n }\n}\n\nfunction hasClass(el, name) {\n if (typeof el.classList !== 'undefined') {\n return el.classList.contains(name);\n }\n var className = getClassName(el);\n return new RegExp('(^| )' + name + '( |$)', 'gi').test(className);\n}\n\nfunction getClassName(el) {\n if (el.className instanceof SVGAnimatedString) {\n return el.className.baseVal;\n }\n return el.className;\n}\n\nfunction setClassName(el, className) {\n el.setAttribute('class', className);\n}\n\nfunction updateClasses(el, add, all) {\n // Of the set of 'all' classes, we need the 'add' classes, and only the\n // 'add' classes to be set.\n all.forEach(function (cls) {\n if (add.indexOf(cls) === -1 && hasClass(el, cls)) {\n removeClass(el, cls);\n }\n });\n\n add.forEach(function (cls) {\n if (!hasClass(el, cls)) {\n addClass(el, cls);\n }\n });\n}\n\nvar deferred = [];\n\nvar defer = function defer(fn) {\n deferred.push(fn);\n};\n\nvar flush = function flush() {\n var fn = undefined;\n while (fn = deferred.pop()) {\n fn();\n }\n};\n\nvar Evented = (function () {\n function Evented() {\n _classCallCheck(this, Evented);\n }\n\n _createClass(Evented, [{\n key: 'on',\n value: function on(event, handler, ctx) {\n var once = arguments.length <= 3 || arguments[3] === undefined ? false : arguments[3];\n\n if (typeof this.bindings === 'undefined') {\n this.bindings = {};\n }\n if (typeof this.bindings[event] === 'undefined') {\n this.bindings[event] = [];\n }\n this.bindings[event].push({ handler: handler, ctx: ctx, once: once });\n }\n }, {\n key: 'once',\n value: function once(event, handler, ctx) {\n this.on(event, handler, ctx, true);\n }\n }, {\n key: 'off',\n value: function off(event, handler) {\n if (typeof this.bindings !== 'undefined' && typeof this.bindings[event] !== 'undefined') {\n return;\n }\n\n if (typeof handler === 'undefined') {\n delete this.bindings[event];\n } else {\n var i = 0;\n while (i < this.bindings[event].length) {\n if (this.bindings[event][i].handler === handler) {\n this.bindings[event].splice(i, 1);\n } else {\n ++i;\n }\n }\n }\n }\n }, {\n key: 'trigger',\n value: function trigger(event) {\n if (typeof this.bindings !== 'undefined' && this.bindings[event]) {\n var i = 0;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n while (i < this.bindings[event].length) {\n var _bindings$event$i = this.bindings[event][i];\n var handler = _bindings$event$i.handler;\n var ctx = _bindings$event$i.ctx;\n var once = _bindings$event$i.once;\n\n var context = ctx;\n if (typeof context === 'undefined') {\n context = this;\n }\n\n handler.apply(context, args);\n\n if (once) {\n this.bindings[event].splice(i, 1);\n } else {\n ++i;\n }\n }\n }\n }\n }]);\n\n return Evented;\n})();\n\nTetherBase.Utils = {\n getScrollParents: getScrollParents,\n getBounds: getBounds,\n getOffsetParent: getOffsetParent,\n extend: extend,\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n updateClasses: updateClasses,\n defer: defer,\n flush: flush,\n uniqueId: uniqueId,\n Evented: Evented,\n getScrollBarSize: getScrollBarSize,\n removeUtilElements: removeUtilElements\n};\n/* globals TetherBase, performance */\n\n'use strict';\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nvar _get = function get(_x6, _x7, _x8) { var _again = true; _function: while (_again) { var object = _x6, property = _x7, receiver = _x8; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x6 = parent; _x7 = property; _x8 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nif (typeof TetherBase === 'undefined') {\n throw new Error('You must include the utils.js file before tether.js');\n}\n\nvar _TetherBase$Utils = TetherBase.Utils;\nvar getScrollParents = _TetherBase$Utils.getScrollParents;\nvar getBounds = _TetherBase$Utils.getBounds;\nvar getOffsetParent = _TetherBase$Utils.getOffsetParent;\nvar extend = _TetherBase$Utils.extend;\nvar addClass = _TetherBase$Utils.addClass;\nvar removeClass = _TetherBase$Utils.removeClass;\nvar updateClasses = _TetherBase$Utils.updateClasses;\nvar defer = _TetherBase$Utils.defer;\nvar flush = _TetherBase$Utils.flush;\nvar getScrollBarSize = _TetherBase$Utils.getScrollBarSize;\nvar removeUtilElements = _TetherBase$Utils.removeUtilElements;\n\nfunction within(a, b) {\n var diff = arguments.length <= 2 || arguments[2] === undefined ? 1 : arguments[2];\n\n return a + diff >= b && b >= a - diff;\n}\n\nvar transformKey = (function () {\n if (typeof document === 'undefined') {\n return '';\n }\n var el = document.createElement('div');\n\n var transforms = ['transform', 'webkitTransform', 'OTransform', 'MozTransform', 'msTransform'];\n for (var i = 0; i < transforms.length; ++i) {\n var key = transforms[i];\n if (el.style[key] !== undefined) {\n return key;\n }\n }\n})();\n\nvar tethers = [];\n\nvar position = function position() {\n tethers.forEach(function (tether) {\n tether.position(false);\n });\n flush();\n};\n\nfunction now() {\n if (typeof performance !== 'undefined' && typeof performance.now !== 'undefined') {\n return performance.now();\n }\n return +new Date();\n}\n\n(function () {\n var lastCall = null;\n var lastDuration = null;\n var pendingTimeout = null;\n\n var tick = function tick() {\n if (typeof lastDuration !== 'undefined' && lastDuration > 16) {\n // We voluntarily throttle ourselves if we can't manage 60fps\n lastDuration = Math.min(lastDuration - 16, 250);\n\n // Just in case this is the last event, remember to position just once more\n pendingTimeout = setTimeout(tick, 250);\n return;\n }\n\n if (typeof lastCall !== 'undefined' && now() - lastCall < 10) {\n // Some browsers call events a little too frequently, refuse to run more than is reasonable\n return;\n }\n\n if (pendingTimeout != null) {\n clearTimeout(pendingTimeout);\n pendingTimeout = null;\n }\n\n lastCall = now();\n position();\n lastDuration = now() - lastCall;\n };\n\n if (typeof window !== 'undefined' && typeof window.addEventListener !== 'undefined') {\n ['resize', 'scroll', 'touchmove'].forEach(function (event) {\n window.addEventListener(event, tick);\n });\n }\n})();\n\nvar MIRROR_LR = {\n center: 'center',\n left: 'right',\n right: 'left'\n};\n\nvar MIRROR_TB = {\n middle: 'middle',\n top: 'bottom',\n bottom: 'top'\n};\n\nvar OFFSET_MAP = {\n top: 0,\n left: 0,\n middle: '50%',\n center: '50%',\n bottom: '100%',\n right: '100%'\n};\n\nvar autoToFixedAttachment = function autoToFixedAttachment(attachment, relativeToAttachment) {\n var left = attachment.left;\n var top = attachment.top;\n\n if (left === 'auto') {\n left = MIRROR_LR[relativeToAttachment.left];\n }\n\n if (top === 'auto') {\n top = MIRROR_TB[relativeToAttachment.top];\n }\n\n return { left: left, top: top };\n};\n\nvar attachmentToOffset = function attachmentToOffset(attachment) {\n var left = attachment.left;\n var top = attachment.top;\n\n if (typeof OFFSET_MAP[attachment.left] !== 'undefined') {\n left = OFFSET_MAP[attachment.left];\n }\n\n if (typeof OFFSET_MAP[attachment.top] !== 'undefined') {\n top = OFFSET_MAP[attachment.top];\n }\n\n return { left: left, top: top };\n};\n\nfunction addOffset() {\n var out = { top: 0, left: 0 };\n\n for (var _len = arguments.length, offsets = Array(_len), _key = 0; _key < _len; _key++) {\n offsets[_key] = arguments[_key];\n }\n\n offsets.forEach(function (_ref) {\n var top = _ref.top;\n var left = _ref.left;\n\n if (typeof top === 'string') {\n top = parseFloat(top, 10);\n }\n if (typeof left === 'string') {\n left = parseFloat(left, 10);\n }\n\n out.top += top;\n out.left += left;\n });\n\n return out;\n}\n\nfunction offsetToPx(offset, size) {\n if (typeof offset.left === 'string' && offset.left.indexOf('%') !== -1) {\n offset.left = parseFloat(offset.left, 10) / 100 * size.width;\n }\n if (typeof offset.top === 'string' && offset.top.indexOf('%') !== -1) {\n offset.top = parseFloat(offset.top, 10) / 100 * size.height;\n }\n\n return offset;\n}\n\nvar parseOffset = function parseOffset(value) {\n var _value$split = value.split(' ');\n\n var _value$split2 = _slicedToArray(_value$split, 2);\n\n var top = _value$split2[0];\n var left = _value$split2[1];\n\n return { top: top, left: left };\n};\nvar parseAttachment = parseOffset;\n\nvar TetherClass = (function (_Evented) {\n _inherits(TetherClass, _Evented);\n\n function TetherClass(options) {\n var _this = this;\n\n _classCallCheck(this, TetherClass);\n\n _get(Object.getPrototypeOf(TetherClass.prototype), 'constructor', this).call(this);\n this.position = this.position.bind(this);\n\n tethers.push(this);\n\n this.history = [];\n\n this.setOptions(options, false);\n\n TetherBase.modules.forEach(function (module) {\n if (typeof module.initialize !== 'undefined') {\n module.initialize.call(_this);\n }\n });\n\n this.position();\n }\n\n _createClass(TetherClass, [{\n key: 'getClass',\n value: function getClass() {\n var key = arguments.length <= 0 || arguments[0] === undefined ? '' : arguments[0];\n var classes = this.options.classes;\n\n if (typeof classes !== 'undefined' && classes[key]) {\n return this.options.classes[key];\n } else if (this.options.classPrefix) {\n return this.options.classPrefix + '-' + key;\n } else {\n return key;\n }\n }\n }, {\n key: 'setOptions',\n value: function setOptions(options) {\n var _this2 = this;\n\n var pos = arguments.length <= 1 || arguments[1] === undefined ? true : arguments[1];\n\n var defaults = {\n offset: '0 0',\n targetOffset: '0 0',\n targetAttachment: 'auto auto',\n classPrefix: 'tether'\n };\n\n this.options = extend(defaults, options);\n\n var _options = this.options;\n var element = _options.element;\n var target = _options.target;\n var targetModifier = _options.targetModifier;\n\n this.element = element;\n this.target = target;\n this.targetModifier = targetModifier;\n\n if (this.target === 'viewport') {\n this.target = document.body;\n this.targetModifier = 'visible';\n } else if (this.target === 'scroll-handle') {\n this.target = document.body;\n this.targetModifier = 'scroll-handle';\n }\n\n ['element', 'target'].forEach(function (key) {\n if (typeof _this2[key] === 'undefined') {\n throw new Error('Tether Error: Both element and target must be defined');\n }\n\n if (typeof _this2[key].jquery !== 'undefined') {\n _this2[key] = _this2[key][0];\n } else if (typeof _this2[key] === 'string') {\n _this2[key] = document.querySelector(_this2[key]);\n }\n });\n\n addClass(this.element, this.getClass('element'));\n if (!(this.options.addTargetClasses === false)) {\n addClass(this.target, this.getClass('target'));\n }\n\n if (!this.options.attachment) {\n throw new Error('Tether Error: You must provide an attachment');\n }\n\n this.targetAttachment = parseAttachment(this.options.targetAttachment);\n this.attachment = parseAttachment(this.options.attachment);\n this.offset = parseOffset(this.options.offset);\n this.targetOffset = parseOffset(this.options.targetOffset);\n\n if (typeof this.scrollParents !== 'undefined') {\n this.disable();\n }\n\n if (this.targetModifier === 'scroll-handle') {\n this.scrollParents = [this.target];\n } else {\n this.scrollParents = getScrollParents(this.target);\n }\n\n if (!(this.options.enabled === false)) {\n this.enable(pos);\n }\n }\n }, {\n key: 'getTargetBounds',\n value: function getTargetBounds() {\n if (typeof this.targetModifier !== 'undefined') {\n if (this.targetModifier === 'visible') {\n if (this.target === document.body) {\n return { top: pageYOffset, left: pageXOffset, height: innerHeight, width: innerWidth };\n } else {\n var bounds = getBounds(this.target);\n\n var out = {\n height: bounds.height,\n width: bounds.width,\n top: bounds.top,\n left: bounds.left\n };\n\n out.height = Math.min(out.height, bounds.height - (pageYOffset - bounds.top));\n out.height = Math.min(out.height, bounds.height - (bounds.top + bounds.height - (pageYOffset + innerHeight)));\n out.height = Math.min(innerHeight, out.height);\n out.height -= 2;\n\n out.width = Math.min(out.width, bounds.width - (pageXOffset - bounds.left));\n out.width = Math.min(out.width, bounds.width - (bounds.left + bounds.width - (pageXOffset + innerWidth)));\n out.width = Math.min(innerWidth, out.width);\n out.width -= 2;\n\n if (out.top < pageYOffset) {\n out.top = pageYOffset;\n }\n if (out.left < pageXOffset) {\n out.left = pageXOffset;\n }\n\n return out;\n }\n } else if (this.targetModifier === 'scroll-handle') {\n var bounds = undefined;\n var target = this.target;\n if (target === document.body) {\n target = document.documentElement;\n\n bounds = {\n left: pageXOffset,\n top: pageYOffset,\n height: innerHeight,\n width: innerWidth\n };\n } else {\n bounds = getBounds(target);\n }\n\n var style = getComputedStyle(target);\n\n var hasBottomScroll = target.scrollWidth > target.clientWidth || [style.overflow, style.overflowX].indexOf('scroll') >= 0 || this.target !== document.body;\n\n var scrollBottom = 0;\n if (hasBottomScroll) {\n scrollBottom = 15;\n }\n\n var height = bounds.height - parseFloat(style.borderTopWidth) - parseFloat(style.borderBottomWidth) - scrollBottom;\n\n var out = {\n width: 15,\n height: height * 0.975 * (height / target.scrollHeight),\n left: bounds.left + bounds.width - parseFloat(style.borderLeftWidth) - 15\n };\n\n var fitAdj = 0;\n if (height < 408 && this.target === document.body) {\n fitAdj = -0.00011 * Math.pow(height, 2) - 0.00727 * height + 22.58;\n }\n\n if (this.target !== document.body) {\n out.height = Math.max(out.height, 24);\n }\n\n var scrollPercentage = this.target.scrollTop / (target.scrollHeight - height);\n out.top = scrollPercentage * (height - out.height - fitAdj) + bounds.top + parseFloat(style.borderTopWidth);\n\n if (this.target === document.body) {\n out.height = Math.max(out.height, 24);\n }\n\n return out;\n }\n } else {\n return getBounds(this.target);\n }\n }\n }, {\n key: 'clearCache',\n value: function clearCache() {\n this._cache = {};\n }\n }, {\n key: 'cache',\n value: function cache(k, getter) {\n // More than one module will often need the same DOM info, so\n // we keep a cache which is cleared on each position call\n if (typeof this._cache === 'undefined') {\n this._cache = {};\n }\n\n if (typeof this._cache[k] === 'undefined') {\n this._cache[k] = getter.call(this);\n }\n\n return this._cache[k];\n }\n }, {\n key: 'enable',\n value: function enable() {\n var _this3 = this;\n\n var pos = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n if (!(this.options.addTargetClasses === false)) {\n addClass(this.target, this.getClass('enabled'));\n }\n addClass(this.element, this.getClass('enabled'));\n this.enabled = true;\n\n this.scrollParents.forEach(function (parent) {\n if (parent !== document) {\n parent.addEventListener('scroll', _this3.position);\n }\n });\n\n if (pos) {\n this.position();\n }\n }\n }, {\n key: 'disable',\n value: function disable() {\n var _this4 = this;\n\n removeClass(this.target, this.getClass('enabled'));\n removeClass(this.element, this.getClass('enabled'));\n this.enabled = false;\n\n if (typeof this.scrollParents !== 'undefined') {\n this.scrollParents.forEach(function (parent) {\n parent.removeEventListener('scroll', _this4.position);\n });\n }\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n var _this5 = this;\n\n this.disable();\n\n tethers.forEach(function (tether, i) {\n if (tether === _this5) {\n tethers.splice(i, 1);\n }\n });\n\n // Remove any elements we were using for convenience from the DOM\n if (tethers.length === 0) {\n removeUtilElements();\n }\n }\n }, {\n key: 'updateAttachClasses',\n value: function updateAttachClasses(elementAttach, targetAttach) {\n var _this6 = this;\n\n elementAttach = elementAttach || this.attachment;\n targetAttach = targetAttach || this.targetAttachment;\n var sides = ['left', 'top', 'bottom', 'right', 'middle', 'center'];\n\n if (typeof this._addAttachClasses !== 'undefined' && this._addAttachClasses.length) {\n // updateAttachClasses can be called more than once in a position call, so\n // we need to clean up after ourselves such that when the last defer gets\n // ran it doesn't add any extra classes from previous calls.\n this._addAttachClasses.splice(0, this._addAttachClasses.length);\n }\n\n if (typeof this._addAttachClasses === 'undefined') {\n this._addAttachClasses = [];\n }\n var add = this._addAttachClasses;\n\n if (elementAttach.top) {\n add.push(this.getClass('element-attached') + '-' + elementAttach.top);\n }\n if (elementAttach.left) {\n add.push(this.getClass('element-attached') + '-' + elementAttach.left);\n }\n if (targetAttach.top) {\n add.push(this.getClass('target-attached') + '-' + targetAttach.top);\n }\n if (targetAttach.left) {\n add.push(this.getClass('target-attached') + '-' + targetAttach.left);\n }\n\n var all = [];\n sides.forEach(function (side) {\n all.push(_this6.getClass('element-attached') + '-' + side);\n all.push(_this6.getClass('target-attached') + '-' + side);\n });\n\n defer(function () {\n if (!(typeof _this6._addAttachClasses !== 'undefined')) {\n return;\n }\n\n updateClasses(_this6.element, _this6._addAttachClasses, all);\n if (!(_this6.options.addTargetClasses === false)) {\n updateClasses(_this6.target, _this6._addAttachClasses, all);\n }\n\n delete _this6._addAttachClasses;\n });\n }\n }, {\n key: 'position',\n value: function position() {\n var _this7 = this;\n\n var flushChanges = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];\n\n // flushChanges commits the changes immediately, leave true unless you are positioning multiple\n // tethers (in which case call Tether.Utils.flush yourself when you're done)\n\n if (!this.enabled) {\n return;\n }\n\n this.clearCache();\n\n // Turn 'auto' attachments into the appropriate corner or edge\n var targetAttachment = autoToFixedAttachment(this.targetAttachment, this.attachment);\n\n this.updateAttachClasses(this.attachment, targetAttachment);\n\n var elementPos = this.cache('element-bounds', function () {\n return getBounds(_this7.element);\n });\n\n var width = elementPos.width;\n var height = elementPos.height;\n\n if (width === 0 && height === 0 && typeof this.lastSize !== 'undefined') {\n var _lastSize = this.lastSize;\n\n // We cache the height and width to make it possible to position elements that are\n // getting hidden.\n width = _lastSize.width;\n height = _lastSize.height;\n } else {\n this.lastSize = { width: width, height: height };\n }\n\n var targetPos = this.cache('target-bounds', function () {\n return _this7.getTargetBounds();\n });\n var targetSize = targetPos;\n\n // Get an actual px offset from the attachment\n var offset = offsetToPx(attachmentToOffset(this.attachment), { width: width, height: height });\n var targetOffset = offsetToPx(attachmentToOffset(targetAttachment), targetSize);\n\n var manualOffset = offsetToPx(this.offset, { width: width, height: height });\n var manualTargetOffset = offsetToPx(this.targetOffset, targetSize);\n\n // Add the manually provided offset\n offset = addOffset(offset, manualOffset);\n targetOffset = addOffset(targetOffset, manualTargetOffset);\n\n // It's now our goal to make (element position + offset) == (target position + target offset)\n var left = targetPos.left + targetOffset.left - offset.left;\n var top = targetPos.top + targetOffset.top - offset.top;\n\n for (var i = 0; i < TetherBase.modules.length; ++i) {\n var _module2 = TetherBase.modules[i];\n var ret = _module2.position.call(this, {\n left: left,\n top: top,\n targetAttachment: targetAttachment,\n targetPos: targetPos,\n elementPos: elementPos,\n offset: offset,\n targetOffset: targetOffset,\n manualOffset: manualOffset,\n manualTargetOffset: manualTargetOffset,\n scrollbarSize: scrollbarSize,\n attachment: this.attachment\n });\n\n if (ret === false) {\n return false;\n } else if (typeof ret === 'undefined' || typeof ret !== 'object') {\n continue;\n } else {\n top = ret.top;\n left = ret.left;\n }\n }\n\n // We describe the position three different ways to give the optimizer\n // a chance to decide the best possible way to position the element\n // with the fewest repaints.\n var next = {\n // It's position relative to the page (absolute positioning when\n // the element is a child of the body)\n page: {\n top: top,\n left: left\n },\n\n // It's position relative to the viewport (fixed positioning)\n viewport: {\n top: top - pageYOffset,\n bottom: pageYOffset - top - height + innerHeight,\n left: left - pageXOffset,\n right: pageXOffset - left - width + innerWidth\n }\n };\n\n var scrollbarSize = undefined;\n if (document.body.scrollWidth > window.innerWidth) {\n scrollbarSize = this.cache('scrollbar-size', getScrollBarSize);\n next.viewport.bottom -= scrollbarSize.height;\n }\n\n if (document.body.scrollHeight > window.innerHeight) {\n scrollbarSize = this.cache('scrollbar-size', getScrollBarSize);\n next.viewport.right -= scrollbarSize.width;\n }\n\n if (['', 'static'].indexOf(document.body.style.position) === -1 || ['', 'static'].indexOf(document.body.parentElement.style.position) === -1) {\n // Absolute positioning in the body will be relative to the page, not the 'initial containing block'\n next.page.bottom = document.body.scrollHeight - top - height;\n next.page.right = document.body.scrollWidth - left - width;\n }\n\n if (typeof this.options.optimizations !== 'undefined' && this.options.optimizations.moveElement !== false && !(typeof this.targetModifier !== 'undefined')) {\n (function () {\n var offsetParent = _this7.cache('target-offsetparent', function () {\n return getOffsetParent(_this7.target);\n });\n var offsetPosition = _this7.cache('target-offsetparent-bounds', function () {\n return getBounds(offsetParent);\n });\n var offsetParentStyle = getComputedStyle(offsetParent);\n var offsetParentSize = offsetPosition;\n\n var offsetBorder = {};\n ['Top', 'Left', 'Bottom', 'Right'].forEach(function (side) {\n offsetBorder[side.toLowerCase()] = parseFloat(offsetParentStyle['border' + side + 'Width']);\n });\n\n offsetPosition.right = document.body.scrollWidth - offsetPosition.left - offsetParentSize.width + offsetBorder.right;\n offsetPosition.bottom = document.body.scrollHeight - offsetPosition.top - offsetParentSize.height + offsetBorder.bottom;\n\n if (next.page.top >= offsetPosition.top + offsetBorder.top && next.page.bottom >= offsetPosition.bottom) {\n if (next.page.left >= offsetPosition.left + offsetBorder.left && next.page.right >= offsetPosition.right) {\n // We're within the visible part of the target's scroll parent\n var scrollTop = offsetParent.scrollTop;\n var scrollLeft = offsetParent.scrollLeft;\n\n // It's position relative to the target's offset parent (absolute positioning when\n // the element is moved to be a child of the target's offset parent).\n next.offset = {\n top: next.page.top - offsetPosition.top + scrollTop - offsetBorder.top,\n left: next.page.left - offsetPosition.left + scrollLeft - offsetBorder.left\n };\n }\n }\n })();\n }\n\n // We could also travel up the DOM and try each containing context, rather than only\n // looking at the body, but we're gonna get diminishing returns.\n\n this.move(next);\n\n this.history.unshift(next);\n\n if (this.history.length > 3) {\n this.history.pop();\n }\n\n if (flushChanges) {\n flush();\n }\n\n return true;\n }\n\n // THE ISSUE\n }, {\n key: 'move',\n value: function move(pos) {\n var _this8 = this;\n\n if (!(typeof this.element.parentNode !== 'undefined')) {\n return;\n }\n\n var same = {};\n\n for (var type in pos) {\n same[type] = {};\n\n for (var key in pos[type]) {\n var found = false;\n\n for (var i = 0; i < this.history.length; ++i) {\n var point = this.history[i];\n if (typeof point[type] !== 'undefined' && !within(point[type][key], pos[type][key])) {\n found = true;\n break;\n }\n }\n\n if (!found) {\n same[type][key] = true;\n }\n }\n }\n\n var css = { top: '', left: '', right: '', bottom: '' };\n\n var transcribe = function transcribe(_same, _pos) {\n var hasOptimizations = typeof _this8.options.optimizations !== 'undefined';\n var gpu = hasOptimizations ? _this8.options.optimizations.gpu : null;\n if (gpu !== false) {\n var yPos = undefined,\n xPos = undefined;\n if (_same.top) {\n css.top = 0;\n yPos = _pos.top;\n } else {\n css.bottom = 0;\n yPos = -_pos.bottom;\n }\n\n if (_same.left) {\n css.left = 0;\n xPos = _pos.left;\n } else {\n css.right = 0;\n xPos = -_pos.right;\n }\n\n css[transformKey] = 'translateX(' + Math.round(xPos) + 'px) translateY(' + Math.round(yPos) + 'px)';\n\n if (transformKey !== 'msTransform') {\n // The Z transform will keep this in the GPU (faster, and prevents artifacts),\n // but IE9 doesn't support 3d transforms and will choke.\n css[transformKey] += \" translateZ(0)\";\n }\n } else {\n if (_same.top) {\n css.top = _pos.top + 'px';\n } else {\n css.bottom = _pos.bottom + 'px';\n }\n\n if (_same.left) {\n css.left = _pos.left + 'px';\n } else {\n css.right = _pos.right + 'px';\n }\n }\n };\n\n var moved = false;\n if ((same.page.top || same.page.bottom) && (same.page.left || same.page.right)) {\n css.position = 'absolute';\n transcribe(same.page, pos.page);\n } else if ((same.viewport.top || same.viewport.bottom) && (same.viewport.left || same.viewport.right)) {\n css.position = 'fixed';\n transcribe(same.viewport, pos.viewport);\n } else if (typeof same.offset !== 'undefined' && same.offset.top && same.offset.left) {\n (function () {\n css.position = 'absolute';\n var offsetParent = _this8.cache('target-offsetparent', function () {\n return getOffsetParent(_this8.target);\n });\n\n if (getOffsetParent(_this8.element) !== offsetParent) {\n defer(function () {\n _this8.element.parentNode.removeChild(_this8.element);\n offsetParent.appendChild(_this8.element);\n });\n }\n\n transcribe(same.offset, pos.offset);\n moved = true;\n })();\n } else {\n css.position = 'absolute';\n transcribe({ top: true, left: true }, pos.page);\n }\n\n if (!moved) {\n var offsetParentIsBody = true;\n var currentNode = this.element.parentNode;\n while (currentNode && currentNode.nodeType === 1 && currentNode.tagName !== 'BODY') {\n if (getComputedStyle(currentNode).position !== 'static') {\n offsetParentIsBody = false;\n break;\n }\n\n currentNode = currentNode.parentNode;\n }\n\n if (!offsetParentIsBody) {\n this.element.parentNode.removeChild(this.element);\n document.body.appendChild(this.element);\n }\n }\n\n // Any css change will trigger a repaint, so let's avoid one if nothing changed\n var writeCSS = {};\n var write = false;\n for (var key in css) {\n var val = css[key];\n var elVal = this.element.style[key];\n\n if (elVal !== val) {\n write = true;\n writeCSS[key] = val;\n }\n }\n\n if (write) {\n defer(function () {\n extend(_this8.element.style, writeCSS);\n });\n }\n }\n }]);\n\n return TetherClass;\n})(Evented);\n\nTetherClass.modules = [];\n\nTetherBase.position = position;\n\nvar Tether = extend(TetherClass, TetherBase);\n/* globals TetherBase */\n\n'use strict';\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();\n\nvar _TetherBase$Utils = TetherBase.Utils;\nvar getBounds = _TetherBase$Utils.getBounds;\nvar extend = _TetherBase$Utils.extend;\nvar updateClasses = _TetherBase$Utils.updateClasses;\nvar defer = _TetherBase$Utils.defer;\n\nvar BOUNDS_FORMAT = ['left', 'top', 'right', 'bottom'];\n\nfunction getBoundingRect(tether, to) {\n if (to === 'scrollParent') {\n to = tether.scrollParents[0];\n } else if (to === 'window') {\n to = [pageXOffset, pageYOffset, innerWidth + pageXOffset, innerHeight + pageYOffset];\n }\n\n if (to === document) {\n to = to.documentElement;\n }\n\n if (typeof to.nodeType !== 'undefined') {\n (function () {\n var size = getBounds(to);\n var pos = size;\n var style = getComputedStyle(to);\n\n to = [pos.left, pos.top, size.width + pos.left, size.height + pos.top];\n\n BOUNDS_FORMAT.forEach(function (side, i) {\n side = side[0].toUpperCase() + side.substr(1);\n if (side === 'Top' || side === 'Left') {\n to[i] += parseFloat(style['border' + side + 'Width']);\n } else {\n to[i] -= parseFloat(style['border' + side + 'Width']);\n }\n });\n })();\n }\n\n return to;\n}\n\nTetherBase.modules.push({\n position: function position(_ref) {\n var _this = this;\n\n var top = _ref.top;\n var left = _ref.left;\n var targetAttachment = _ref.targetAttachment;\n\n if (!this.options.constraints) {\n return true;\n }\n\n var _cache = this.cache('element-bounds', function () {\n return getBounds(_this.element);\n });\n\n var height = _cache.height;\n var width = _cache.width;\n\n if (width === 0 && height === 0 && typeof this.lastSize !== 'undefined') {\n var _lastSize = this.lastSize;\n\n // Handle the item getting hidden as a result of our positioning without glitching\n // the classes in and out\n width = _lastSize.width;\n height = _lastSize.height;\n }\n\n var targetSize = this.cache('target-bounds', function () {\n return _this.getTargetBounds();\n });\n\n var targetHeight = targetSize.height;\n var targetWidth = targetSize.width;\n\n var allClasses = [this.getClass('pinned'), this.getClass('out-of-bounds')];\n\n this.options.constraints.forEach(function (constraint) {\n var outOfBoundsClass = constraint.outOfBoundsClass;\n var pinnedClass = constraint.pinnedClass;\n\n if (outOfBoundsClass) {\n allClasses.push(outOfBoundsClass);\n }\n if (pinnedClass) {\n allClasses.push(pinnedClass);\n }\n });\n\n allClasses.forEach(function (cls) {\n ['left', 'top', 'right', 'bottom'].forEach(function (side) {\n allClasses.push(cls + '-' + side);\n });\n });\n\n var addClasses = [];\n\n var tAttachment = extend({}, targetAttachment);\n var eAttachment = extend({}, this.attachment);\n\n this.options.constraints.forEach(function (constraint) {\n var to = constraint.to;\n var attachment = constraint.attachment;\n var pin = constraint.pin;\n\n if (typeof attachment === 'undefined') {\n attachment = '';\n }\n\n var changeAttachX = undefined,\n changeAttachY = undefined;\n if (attachment.indexOf(' ') >= 0) {\n var _attachment$split = attachment.split(' ');\n\n var _attachment$split2 = _slicedToArray(_attachment$split, 2);\n\n changeAttachY = _attachment$split2[0];\n changeAttachX = _attachment$split2[1];\n } else {\n changeAttachX = changeAttachY = attachment;\n }\n\n var bounds = getBoundingRect(_this, to);\n\n if (changeAttachY === 'target' || changeAttachY === 'both') {\n if (top < bounds[1] && tAttachment.top === 'top') {\n top += targetHeight;\n tAttachment.top = 'bottom';\n }\n\n if (top + height > bounds[3] && tAttachment.top === 'bottom') {\n top -= targetHeight;\n tAttachment.top = 'top';\n }\n }\n\n if (changeAttachY === 'together') {\n if (tAttachment.top === 'top') {\n if (eAttachment.top === 'bottom' && top < bounds[1]) {\n top += targetHeight;\n tAttachment.top = 'bottom';\n\n top += height;\n eAttachment.top = 'top';\n } else if (eAttachment.top === 'top' && top + height > bounds[3] && top - (height - targetHeight) >= bounds[1]) {\n top -= height - targetHeight;\n tAttachment.top = 'bottom';\n\n eAttachment.top = 'bottom';\n }\n }\n\n if (tAttachment.top === 'bottom') {\n if (eAttachment.top === 'top' && top + height > bounds[3]) {\n top -= targetHeight;\n tAttachment.top = 'top';\n\n top -= height;\n eAttachment.top = 'bottom';\n } else if (eAttachment.top === 'bottom' && top < bounds[1] && top + (height * 2 - targetHeight) <= bounds[3]) {\n top += height - targetHeight;\n tAttachment.top = 'top';\n\n eAttachment.top = 'top';\n }\n }\n\n if (tAttachment.top === 'middle') {\n if (top + height > bounds[3] && eAttachment.top === 'top') {\n top -= height;\n eAttachment.top = 'bottom';\n } else if (top < bounds[1] && eAttachment.top === 'bottom') {\n top += height;\n eAttachment.top = 'top';\n }\n }\n }\n\n if (changeAttachX === 'target' || changeAttachX === 'both') {\n if (left < bounds[0] && tAttachment.left === 'left') {\n left += targetWidth;\n tAttachment.left = 'right';\n }\n\n if (left + width > bounds[2] && tAttachment.left === 'right') {\n left -= targetWidth;\n tAttachment.left = 'left';\n }\n }\n\n if (changeAttachX === 'together') {\n if (left < bounds[0] && tAttachment.left === 'left') {\n if (eAttachment.left === 'right') {\n left += targetWidth;\n tAttachment.left = 'right';\n\n left += width;\n eAttachment.left = 'left';\n } else if (eAttachment.left === 'left') {\n left += targetWidth;\n tAttachment.left = 'right';\n\n left -= width;\n eAttachment.left = 'right';\n }\n } else if (left + width > bounds[2] && tAttachment.left === 'right') {\n if (eAttachment.left === 'left') {\n left -= targetWidth;\n tAttachment.left = 'left';\n\n left -= width;\n eAttachment.left = 'right';\n } else if (eAttachment.left === 'right') {\n left -= targetWidth;\n tAttachment.left = 'left';\n\n left += width;\n eAttachment.left = 'left';\n }\n } else if (tAttachment.left === 'center') {\n if (left + width > bounds[2] && eAttachment.left === 'left') {\n left -= width;\n eAttachment.left = 'right';\n } else if (left < bounds[0] && eAttachment.left === 'right') {\n left += width;\n eAttachment.left = 'left';\n }\n }\n }\n\n if (changeAttachY === 'element' || changeAttachY === 'both') {\n if (top < bounds[1] && eAttachment.top === 'bottom') {\n top += height;\n eAttachment.top = 'top';\n }\n\n if (top + height > bounds[3] && eAttachment.top === 'top') {\n top -= height;\n eAttachment.top = 'bottom';\n }\n }\n\n if (changeAttachX === 'element' || changeAttachX === 'both') {\n if (left < bounds[0]) {\n if (eAttachment.left === 'right') {\n left += width;\n eAttachment.left = 'left';\n } else if (eAttachment.left === 'center') {\n left += width / 2;\n eAttachment.left = 'left';\n }\n }\n\n if (left + width > bounds[2]) {\n if (eAttachment.left === 'left') {\n left -= width;\n eAttachment.left = 'right';\n } else if (eAttachment.left === 'center') {\n left -= width / 2;\n eAttachment.left = 'right';\n }\n }\n }\n\n if (typeof pin === 'string') {\n pin = pin.split(',').map(function (p) {\n return p.trim();\n });\n } else if (pin === true) {\n pin = ['top', 'left', 'right', 'bottom'];\n }\n\n pin = pin || [];\n\n var pinned = [];\n var oob = [];\n\n if (top < bounds[1]) {\n if (pin.indexOf('top') >= 0) {\n top = bounds[1];\n pinned.push('top');\n } else {\n oob.push('top');\n }\n }\n\n if (top + height > bounds[3]) {\n if (pin.indexOf('bottom') >= 0) {\n top = bounds[3] - height;\n pinned.push('bottom');\n } else {\n oob.push('bottom');\n }\n }\n\n if (left < bounds[0]) {\n if (pin.indexOf('left') >= 0) {\n left = bounds[0];\n pinned.push('left');\n } else {\n oob.push('left');\n }\n }\n\n if (left + width > bounds[2]) {\n if (pin.indexOf('right') >= 0) {\n left = bounds[2] - width;\n pinned.push('right');\n } else {\n oob.push('right');\n }\n }\n\n if (pinned.length) {\n (function () {\n var pinnedClass = undefined;\n if (typeof _this.options.pinnedClass !== 'undefined') {\n pinnedClass = _this.options.pinnedClass;\n } else {\n pinnedClass = _this.getClass('pinned');\n }\n\n addClasses.push(pinnedClass);\n pinned.forEach(function (side) {\n addClasses.push(pinnedClass + '-' + side);\n });\n })();\n }\n\n if (oob.length) {\n (function () {\n var oobClass = undefined;\n if (typeof _this.options.outOfBoundsClass !== 'undefined') {\n oobClass = _this.options.outOfBoundsClass;\n } else {\n oobClass = _this.getClass('out-of-bounds');\n }\n\n addClasses.push(oobClass);\n oob.forEach(function (side) {\n addClasses.push(oobClass + '-' + side);\n });\n })();\n }\n\n if (pinned.indexOf('left') >= 0 || pinned.indexOf('right') >= 0) {\n eAttachment.left = tAttachment.left = false;\n }\n if (pinned.indexOf('top') >= 0 || pinned.indexOf('bottom') >= 0) {\n eAttachment.top = tAttachment.top = false;\n }\n\n if (tAttachment.top !== targetAttachment.top || tAttachment.left !== targetAttachment.left || eAttachment.top !== _this.attachment.top || eAttachment.left !== _this.attachment.left) {\n _this.updateAttachClasses(eAttachment, tAttachment);\n _this.trigger('update', {\n attachment: eAttachment,\n targetAttachment: tAttachment\n });\n }\n });\n\n defer(function () {\n if (!(_this.options.addTargetClasses === false)) {\n updateClasses(_this.target, addClasses, allClasses);\n }\n updateClasses(_this.element, addClasses, allClasses);\n });\n\n return { top: top, left: left };\n }\n});\n/* globals TetherBase */\n\n'use strict';\n\nvar _TetherBase$Utils = TetherBase.Utils;\nvar getBounds = _TetherBase$Utils.getBounds;\nvar updateClasses = _TetherBase$Utils.updateClasses;\nvar defer = _TetherBase$Utils.defer;\n\nTetherBase.modules.push({\n position: function position(_ref) {\n var _this = this;\n\n var top = _ref.top;\n var left = _ref.left;\n\n var _cache = this.cache('element-bounds', function () {\n return getBounds(_this.element);\n });\n\n var height = _cache.height;\n var width = _cache.width;\n\n var targetPos = this.getTargetBounds();\n\n var bottom = top + height;\n var right = left + width;\n\n var abutted = [];\n if (top <= targetPos.bottom && bottom >= targetPos.top) {\n ['left', 'right'].forEach(function (side) {\n var targetPosSide = targetPos[side];\n if (targetPosSide === left || targetPosSide === right) {\n abutted.push(side);\n }\n });\n }\n\n if (left <= targetPos.right && right >= targetPos.left) {\n ['top', 'bottom'].forEach(function (side) {\n var targetPosSide = targetPos[side];\n if (targetPosSide === top || targetPosSide === bottom) {\n abutted.push(side);\n }\n });\n }\n\n var allClasses = [];\n var addClasses = [];\n\n var sides = ['left', 'top', 'right', 'bottom'];\n allClasses.push(this.getClass('abutted'));\n sides.forEach(function (side) {\n allClasses.push(_this.getClass('abutted') + '-' + side);\n });\n\n if (abutted.length) {\n addClasses.push(this.getClass('abutted'));\n }\n\n abutted.forEach(function (side) {\n addClasses.push(_this.getClass('abutted') + '-' + side);\n });\n\n defer(function () {\n if (!(_this.options.addTargetClasses === false)) {\n updateClasses(_this.target, addClasses, allClasses);\n }\n updateClasses(_this.element, addClasses, allClasses);\n });\n\n return true;\n }\n});\n/* globals TetherBase */\n\n'use strict';\n\nvar _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();\n\nTetherBase.modules.push({\n position: function position(_ref) {\n var top = _ref.top;\n var left = _ref.left;\n\n if (!this.options.shift) {\n return;\n }\n\n var shift = this.options.shift;\n if (typeof this.options.shift === 'function') {\n shift = this.options.shift.call(this, { top: top, left: left });\n }\n\n var shiftTop = undefined,\n shiftLeft = undefined;\n if (typeof shift === 'string') {\n shift = shift.split(' ');\n shift[1] = shift[1] || shift[0];\n\n var _shift = shift;\n\n var _shift2 = _slicedToArray(_shift, 2);\n\n shiftTop = _shift2[0];\n shiftLeft = _shift2[1];\n\n shiftTop = parseFloat(shiftTop, 10);\n shiftLeft = parseFloat(shiftLeft, 10);\n } else {\n shiftTop = shift.top;\n shiftLeft = shift.left;\n }\n\n top += shiftTop;\n left += shiftLeft;\n\n return { top: top, left: left };\n }\n});\nreturn Tether;\n\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/tether-tooltip/~/tether/dist/js/tether.js\n ** module id = 63\n ** module chunks = 0\n **/","module.exports = \"\\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiTooltip.vue\n ** module id = 64\n ** module chunks = 0\n **/","module.exports = \"\\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiIconButton.vue\n ** module id = 65\n ** module chunks = 0\n **/","module.exports = \"\\n\\n
\\n
\\n\\n
\\n \\n \\n \\n
\\n\\n
\\n
\\n
\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiAlert.vue\n ** module id = 66\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiAutocomplete.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiAutocomplete.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiAutocomplete.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiAutocomplete.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-2e4d5756/UiAutocomplete.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiAutocomplete.vue\n ** module id = 67\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiAutocomplete.vue\n ** module id = 68\n ** module chunks = 0\n **/","\n \n
\n \n
\n\n
\n
\n\n
\n
\n
\n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiAutocomplete.vue?12507ec0\n **/","'use strict';\n\nfunction fuzzysearch (needle, haystack) {\n var tlen = haystack.length;\n var qlen = needle.length;\n if (qlen > tlen) {\n return false;\n }\n if (qlen === tlen) {\n return needle === haystack;\n }\n outer: for (var i = 0, j = 0; i < qlen; i++) {\n var nch = needle.charCodeAt(i);\n while (j < tlen) {\n if (haystack.charCodeAt(j++) === nch) {\n continue outer;\n }\n }\n return false;\n }\n return true;\n}\n\nmodule.exports = fuzzysearch;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/fuzzysearch/index.js\n ** module id = 70\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiAutocompleteSuggestion.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiAutocompleteSuggestion.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiAutocompleteSuggestion.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiAutocompleteSuggestion.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-3eebff8e/UiAutocompleteSuggestion.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiAutocompleteSuggestion.vue\n ** module id = 71\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiAutocompleteSuggestion.vue\n ** module id = 72\n ** module chunks = 0\n **/","\n \n \n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiAutocompleteSuggestion.vue?7ff2517d\n **/","/**\n * Fast UUID generator, RFC4122 version 4 compliant.\n * @author Jeff Ward (jcward.com).\n * @license MIT license\n * @link http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136\n **/\n\nvar lut = [];\n\nfor (var i = 0; i < 256; i++) {\n lut[i] = (i < 16 ? '0' : '') + (i).toString(16);\n}\n\nvar generate = function() {\n var d0 = Math.random() * 0xffffffff | 0;\n var d1 = Math.random() * 0xffffffff | 0;\n var d2 = Math.random() * 0xffffffff | 0;\n var d3 = Math.random() * 0xffffffff | 0;\n\n return lut[d0 & 0xff] + lut[d0 >> 8 & 0xff] + lut[d0 >> 16 & 0xff] + lut[d0 >> 24 & 0xff] + '-' +\n lut[d1 & 0xff] + lut[d1 >> 8 & 0xff] + '-' + lut[d1 >> 16 & 0x0f | 0x40] + lut[d1 >> 24 & 0xff] + '-' +\n lut[d2 & 0x3f | 0x80] + lut[d2 >> 8 & 0xff] + '-' + lut[d2 >> 16 & 0xff] + lut[d2 >> 24 & 0xff] +\n lut[d3 & 0xff] + lut[d3 >> 8 & 0xff] + lut[d3 >> 16 & 0xff] + lut[d3 >> 24 & 0xff];\n};\n\nvar short = function(prefix) {\n prefix = prefix || '';\n\n var uuid = generate();\n\n return prefix + uuid.split('-')[0];\n};\n\nexport default {\n generate,\n short\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/helpers/uuid.js\n **/","module.exports = \"\\n\\n \\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiAutocompleteSuggestion.vue\n ** module id = 75\n ** module chunks = 0\n **/","export default function(value) {\n this.el.autofocus = Boolean(value);\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/directives/autofocus.js\n **/","import disabled from '../directives/disabled';\n\nimport ReceivesTargetedEvent from './ReceivesTargetedEvent';\n\nexport default {\n props: {\n id: String,\n name: {\n type: String,\n required: true\n },\n placeholder: String,\n value: {\n type: [String, Number],\n default: '',\n twoWay: true\n },\n icon: String,\n iconRight: {\n type: Boolean,\n default: false\n },\n label: String,\n hideLabel: {\n type: Boolean,\n default: false\n },\n helpText: String,\n disabled: {\n type: Boolean,\n default: false\n },\n debounce: {\n type: Number,\n default: null\n }\n },\n\n data() {\n return {\n active: false,\n initialValue: ''\n };\n },\n\n computed: {\n showFeedback() {\n var canBeValidated = Boolean(this.validationRules);\n var hasHelpText = Boolean(this.helpText);\n\n return canBeValidated || hasHelpText;\n }\n },\n\n created() {\n // Cache value for later reset\n this.initialValue = this.value;\n },\n\n directives: {\n disabled\n },\n\n mixins: [\n ReceivesTargetedEvent\n ]\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/mixins/HasTextInput.js\n **/","import Validator from 'validatorjs';\n\nexport default {\n props: {\n valid: {\n type: Boolean,\n default: true,\n twoWay: true\n },\n dirty: {\n type: Boolean,\n default: false,\n twoWay: true\n },\n hideValidationErrors: {\n type: Boolean,\n default: false\n },\n validationRules: String,\n validationMessages: Object\n },\n\n data() {\n return {\n validationError: ''\n };\n },\n\n events: {\n 'ui-input::set-validity': function(valid, error, id) {\n // Abort if event isn't meant for this component\n if (!this.eventTargetsComponent(id)) {\n return;\n }\n\n this.setValidity(valid, error);\n }\n },\n\n methods: {\n validate() {\n if (!this.validationRules || !this.dirty) {\n return;\n }\n\n let data = {\n value: this.value\n };\n\n let rules = {\n value: this.validationRules\n };\n\n let validation = new Validator(data, rules, this.validationMessages);\n\n validation.setAttributeNames({ value: this.name.replace(/_/g, ' ') });\n\n this.setValidity(validation.passes(), validation.errors.first('value'));\n },\n\n setValidity(valid, error) {\n this.valid = valid;\n\n if (!valid && error && error.length) {\n this.validationError = error;\n }\n }\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/mixins/ValidatesInput.js\n **/","var Rules = require('./rules');\nvar Lang = require('./lang');\nvar Errors = require('./errors');\nvar Attributes = require('./attributes');\nvar AsyncResolvers = require('./async');\n\nvar Validator = function(input, rules, customMessages) {\n var lang = Validator.getDefaultLang();\n this.input = input;\n this.messages = Lang._make(lang);\n this.messages._setCustom(customMessages);\n this.setAttributeFormatter(Validator.prototype.attributeFormatter);\n\n this.errors = new Errors();\n this.errorCount = 0;\n\n this.hasAsync = false;\n this.rules = this._parseRules(rules);\n};\n\nValidator.prototype = {\n\n constructor: Validator,\n\n /**\n * Default language\n *\n * @type {string}\n */\n lang: 'en',\n\n /**\n * Numeric based rules\n *\n * @type {array}\n */\n numericRules: ['integer', 'numeric'],\n\n /**\n * Attribute formatter.\n *\n * @type {function}\n */\n attributeFormatter: Attributes.formatter,\n\n /**\n * Run validator\n *\n * @return {boolean} Whether it passes; true = passes, false = fails\n */\n check: function() {\n var self = this;\n\n for (var attribute in this.rules) {\n var attributeRules = this.rules[attribute];\n var inputValue = this.input[attribute]; // if it doesnt exist in input, it will be undefined\n\n for (var i = 0, len = attributeRules.length, rule, ruleOptions, rulePassed; i < len; i++) {\n ruleOptions = attributeRules[i];\n rule = this.getRule(ruleOptions.name);\n\n if (!this._isValidatable(rule, inputValue)) {\n continue;\n }\n\n rulePassed = rule.validate(inputValue, ruleOptions.value, attribute);\n if (!rulePassed) {\n this._addFailure(rule);\n }\n\n if (this._shouldStopValidating(attribute, rulePassed)) {\n break;\n }\n }\n }\n\n return this.errorCount === 0;\n },\n\n /**\n * Run async validator\n *\n * @param {function} passes\n * @param {function} fails\n * @return {void}\n */\n checkAsync: function(passes, fails) {\n var _this = this;\n passes = passes || function() {};\n fails = fails || function() {};\n\n var failsOne = function(rule, message) {\n _this._addFailure(rule, message);\n };\n\n var resolvedAll = function(allPassed) {\n if (allPassed) {\n passes();\n } else {\n fails();\n }\n };\n\n var validateRule = function(inputValue, ruleOptions, attribute, rule) {\n return function() {\n var resolverIndex = asyncResolvers.add(rule);\n rule.validate(inputValue, ruleOptions.value, attribute, function() {\n asyncResolvers.resolve(resolverIndex);\n });\n };\n };\n\n var asyncResolvers = new AsyncResolvers(failsOne, resolvedAll);\n\n for (var attribute in this.rules) {\n var attributeRules = this.rules[attribute];\n var inputValue = this.input[attribute]; // if it doesnt exist in input, it will be undefined\n\n for (var i = 0, len = attributeRules.length, rule, ruleOptions; i < len; i++) {\n ruleOptions = attributeRules[i];\n\n rule = this.getRule(ruleOptions.name);\n\n if (!this._isValidatable(rule, inputValue)) {\n continue;\n }\n\n validateRule(inputValue, ruleOptions, attribute, rule)();\n }\n }\n\n asyncResolvers.enableFiring();\n asyncResolvers.fire();\n },\n\n /**\n * Add failure and error message for given rule\n *\n * @param {Rule} rule\n */\n _addFailure: function(rule) {\n var msg = this.messages.render(rule);\n this.errors.add(rule.attribute, msg);\n this.errorCount++;\n },\n\n /**\n * Parse rules, normalizing format into: { attribute: [{ name: 'age', value: 3 }] }\n *\n * @param {object} rules\n * @return {object}\n */\n _parseRules: function(rules) {\n var parsedRules = {};\n for (var attribute in rules) {\n var rulesArray = rules[attribute];\n var attributeRules = [];\n\n if (typeof rulesArray === 'string') {\n rulesArray = rulesArray.split('|');\n }\n\n for (var i = 0, len = rulesArray.length, rule; i < len; i++) {\n rule = this._extractRuleAndRuleValue(rulesArray[i]);\n if (Rules.isAsync(rule.name)) {\n this.hasAsync = true;\n }\n attributeRules.push(rule);\n }\n\n parsedRules[attribute] = attributeRules;\n }\n return parsedRules;\n },\n\n /**\n * Extract a rule and a value from a ruleString (i.e. min:3), rule = min, value = 3\n *\n * @param {string} ruleString min:3\n * @return {object} object containing the name of the rule and value\n */\n _extractRuleAndRuleValue: function(ruleString) {\n var rule = {},\n ruleArray;\n\n rule.name = ruleString;\n\n if (ruleString.indexOf(':') >= 0) {\n ruleArray = ruleString.split(':');\n rule.name = ruleArray[0];\n rule.value = ruleArray.slice(1).join(\":\");\n }\n\n return rule;\n },\n\n /**\n * Determine if attribute has any of the given rules\n *\n * @param {string} attribute\n * @param {array} findRules\n * @return {boolean}\n */\n _hasRule: function(attribute, findRules) {\n var rules = this.rules[attribute] || [];\n for (var i = 0, len = rules.length; i < len; i++) {\n if (findRules.indexOf(rules[i].name) > -1) {\n return true;\n }\n }\n return false;\n },\n\n /**\n * Determine if attribute has any numeric-based rules.\n *\n * @param {string} attribute\n * @return {Boolean}\n */\n _hasNumericRule: function(attribute) {\n return this._hasRule(attribute, this.numericRules);\n },\n\n /**\n * Determine if rule is validatable\n *\n * @param {Rule} rule\n * @param {mixed} value\n * @return {boolean}\n */\n _isValidatable: function(rule, value) {\n if (Rules.isImplicit(rule.name)) {\n return true;\n }\n\n return this.getRule('required').validate(value);\n },\n\n\n /**\n * Determine if we should stop validating.\n *\n * @param {string} attribute\n * @param {boolean} rulePassed\n * @return {boolean}\n */\n _shouldStopValidating: function(attribute, rulePassed) {\n\n var stopOnAttributes = this.stopOnAttributes;\n if (stopOnAttributes === false || rulePassed === true) {\n return false;\n }\n\n if (stopOnAttributes instanceof Array) {\n return stopOnAttributes.indexOf(attribute) > -1;\n }\n\n return true;\n },\n\n /**\n * Set custom attribute names.\n *\n * @param {object} attributes\n * @return {void}\n */\n setAttributeNames: function(attributes) {\n this.messages._setAttributeNames(attributes);\n },\n\n /**\n * Set the attribute formatter.\n *\n * @param {fuction} func\n * @return {void}\n */\n setAttributeFormatter: function(func) {\n this.messages._setAttributeFormatter(func);\n },\n\n /**\n * Get validation rule\n *\n * @param {string} name\n * @return {Rule}\n */\n getRule: function(name) {\n return Rules.make(name, this);\n },\n\n /**\n * Stop on first error.\n *\n * @param {boolean|array} An array of attributes or boolean true/false for all attributes.\n * @return {void}\n */\n stopOnError: function(attributes) {\n this.stopOnAttributes = attributes;\n },\n\n /**\n * Determine if validation passes\n *\n * @param {function} passes\n * @return {boolean|undefined}\n */\n passes: function(passes) {\n var async = this._checkAsync('passes', passes);\n if (async) {\n return this.checkAsync(passes);\n }\n return this.check();\n },\n\n /**\n * Determine if validation fails\n *\n * @param {function} fails\n * @return {boolean|undefined}\n */\n fails: function(fails) {\n var async = this._checkAsync('fails', fails);\n if (async) {\n return this.checkAsync(function() {}, fails);\n }\n return !this.check();\n },\n\n /**\n * Check if validation should be called asynchronously\n *\n * @param {string} funcName Name of the caller\n * @param {function} callback\n * @return {boolean}\n */\n _checkAsync: function(funcName, callback) {\n var hasCallback = typeof callback === 'function';\n if (this.hasAsync && !hasCallback) {\n throw funcName + ' expects a callback when async rules are being tested.';\n }\n\n return this.hasAsync || hasCallback;\n }\n\n};\n\n/**\n * Set messages for language\n *\n * @param {string} lang\n * @param {object} messages\n * @return {this}\n */\nValidator.setMessages = function(lang, messages) {\n Lang._set(lang, messages);\n return this;\n};\n\n/**\n * Get messages for given language\n *\n * @param {string} lang\n * @return {Messages}\n */\nValidator.getMessages = function(lang) {\n return Lang._get(lang);\n};\n\n/**\n * Set default language to use\n *\n * @param {string} lang\n * @return {void}\n */\nValidator.useLang = function(lang) {\n this.prototype.lang = lang;\n};\n\n/**\n * Get default language\n *\n * @return {string}\n */\nValidator.getDefaultLang = function() {\n return this.prototype.lang;\n};\n\n/**\n * Set the attribute formatter.\n *\n * @param {fuction} func\n * @return {void}\n */\nValidator.setAttributeFormatter = function(func) {\n this.prototype.attributeFormatter = func;\n};\n\n/**\n * Stop on first error.\n *\n * @param {boolean|array} An array of attributes or boolean true/false for all attributes.\n * @return {void}\n */\nValidator.stopOnError = function(attributes) {\n this.prototype.stopOnAttributes = attributes;\n};\n\n/**\n * Register custom validation rule\n *\n * @param {string} name\n * @param {function} fn\n * @param {string} message\n * @return {void}\n */\nValidator.register = function(name, fn, message) {\n var lang = Validator.getDefaultLang();\n Rules.register(name, fn);\n Lang._setRuleMessage(lang, name, message);\n};\n\n/**\n * Register asynchronous validation rule\n *\n * @param {string} name\n * @param {function} fn\n * @param {string} message\n * @return {void}\n */\nValidator.registerAsync = function(name, fn, message) {\n var lang = Validator.getDefaultLang();\n Rules.registerAsync(name, fn);\n Lang._setRuleMessage(lang, name, message);\n};\n\nmodule.exports = Validator;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/validator.js\n ** module id = 79\n ** module chunks = 0\n **/","var rules = {\n\n required: function(val) {\n var str;\n\n if (val === undefined || val === null) {\n return false;\n }\n\n str = String(val).replace(/\\s/g, \"\");\n return str.length > 0 ? true : false;\n },\n\n required_if: function(val, req, attribute) {\n req = this.getParameters();\n if (this.validator.input[req[0]] === req[1]) {\n return this.validator.getRule('required').validate(val);\n }\n\n return true;\n },\n\n // compares the size of strings\n // with numbers, compares the value\n size: function(val, req, attribute) {\n if (val) {\n req = parseFloat(req);\n\n var size = this.getSize();\n\n return size === req;\n }\n\n return true;\n },\n\n string: function(val, req, attribute) {\n return typeof val === 'string';\n },\n\n /**\n * Compares the size of strings or the value of numbers if there is a truthy value\n */\n min: function(val, req, attribute) {\n var size = this.getSize();\n return size >= req;\n },\n\n /**\n * Compares the size of strings or the value of numbers if there is a truthy value\n */\n max: function(val, req, attribute) {\n var size = this.getSize();\n return size <= req;\n },\n\n between: function(val, req, attribute) {\n req = this.getParameters();\n var size = this.getSize();\n var min = parseFloat(req[0], 10);\n var max = parseFloat(req[1], 10);\n return size >= min && size <= max;\n },\n\n email: function(val) {\n var re = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(val);\n },\n\n numeric: function(val) {\n var num;\n\n num = Number(val); // tries to convert value to a number. useful if value is coming from form element\n\n if (typeof num === 'number' && !isNaN(num) && typeof val !== 'boolean') {\n return true;\n } else {\n return false;\n }\n },\n\n array: function(val) {\n return val instanceof Array;\n },\n\n url: function(url) {\n return (/^https?:\\/\\/\\S+/).test(url);\n },\n\n alpha: function(val) {\n return (/^[a-zA-Z]+$/).test(val);\n },\n\n alpha_dash: function(val) {\n return (/^[a-zA-Z0-9_\\-]+$/).test(val);\n },\n\n alpha_num: function(val) {\n return (/^[a-zA-Z0-9]+$/).test(val);\n },\n\n same: function(val, req) {\n var val1 = this.validator.input[req];\n var val2 = val;\n\n if (val1 === val2) {\n return true;\n }\n\n return false;\n },\n\n different: function(val, req) {\n var val1 = this.validator.input[req];\n var val2 = val;\n\n if (val1 !== val2) {\n return true;\n }\n\n return false;\n },\n\n \"in\": function(val, req) {\n var list, i;\n\n if (val) {\n list = req.split(',');\n }\n\n if (val && !(val instanceof Array)) {\n val = String(val); // if it is a number\n\n for (i = 0; i < list.length; i++) {\n if (val === list[i]) {\n return true;\n }\n }\n\n return false;\n }\n\n if (val && val instanceof Array) {\n for (i = 0; i < val.length; i++) {\n if (list.indexOf(val[i]) < 0) {\n return false;\n }\n }\n }\n\n return true;\n },\n\n not_in: function(val, req) {\n var list = req.split(',');\n var len = list.length;\n var returnVal = true;\n\n val = String(val); // convert val to a string if it is a number\n\n for (var i = 0; i < len; i++) {\n if (val === list[i]) {\n returnVal = false;\n break;\n }\n }\n\n return returnVal;\n },\n\n accepted: function(val) {\n if (val === 'on' || val === 'yes' || val === 1 || val === '1' || val === true) {\n return true;\n }\n\n return false;\n },\n\n confirmed: function(val, req, key) {\n var confirmedKey = key + '_confirmation';\n\n if (this.validator.input[confirmedKey] === val) {\n return true;\n }\n\n return false;\n },\n\n integer: function(val) {\n return String(parseInt(val, 10)) === String(val);\n },\n\n digits: function(val, req) {\n var numericRule = this.validator.getRule('numeric');\n if (numericRule.validate(val) && String(val).length === parseInt(req)) {\n return true;\n }\n\n return false;\n },\n\n regex: function(val, req) {\n var mod = /[g|i|m]{1,3}$/;\n var flag = req.match(mod);\n flag = flag ? flag[0] : \"i\";\n req = req.replace(mod, \"\").slice(1, -1);\n req = new RegExp(req, flag);\n return !!val.match(req);\n }\n\n};\n\nfunction Rule(name, fn, async) {\n this.name = name;\n this.fn = fn;\n this.passes = null;\n this.customMessage = undefined;\n this.async = async;\n}\n\nRule.prototype = {\n\n /**\n * Validate rule\n *\n * @param {mixed} inputValue\n * @param {mixed} ruleValue\n * @param {string} attribute\n * @param {function} callback\n * @return {boolean|undefined}\n */\n validate: function(inputValue, ruleValue, attribute, callback) {\n var _this = this;\n this._setValidatingData(attribute, inputValue, ruleValue);\n if (typeof callback === 'function') {\n this.callback = callback;\n var handleResponse = function(passes, message) {\n _this.response(passes, message);\n };\n\n if (this.async) {\n return this.fn.apply(this, [inputValue, ruleValue, attribute, handleResponse]);\n } else {\n return handleResponse(this.fn.apply(this, [inputValue, ruleValue, attribute]));\n }\n }\n return this.fn.apply(this, [inputValue, ruleValue, attribute]);\n },\n\n /**\n * Set validating data\n *\n * @param {string} attribute\n * @param {mixed} inputValue\n * @param {mixed} ruleValue\n * @return {void}\n */\n _setValidatingData: function(attribute, inputValue, ruleValue) {\n this.attribute = attribute;\n this.inputValue = inputValue;\n this.ruleValue = ruleValue;\n },\n\n /**\n * Get parameters\n *\n * @return {array}\n */\n getParameters: function() {\n return this.ruleValue ? this.ruleValue.split(',') : [];\n },\n\n /**\n * Get true size of value\n *\n * @return {integer|float}\n */\n getSize: function() {\n var value = this.inputValue;\n\n if (value instanceof Array) {\n return value.length;\n }\n\n if (typeof value === 'number') {\n return value;\n }\n\n if (this.validator._hasNumericRule(this.attribute)) {\n return parseFloat(value, 10);\n }\n\n return value.length;\n },\n\n /**\n * Get the type of value being checked; numeric or string.\n *\n * @return {string}\n */\n _getValueType: function() {\n\n if (typeof this.inputValue === 'number' || this.validator._hasNumericRule(this.attribute)) {\n return 'numeric';\n }\n\n return 'string';\n },\n\n /**\n * Set the async callback response\n *\n * @param {boolean|undefined} passes Whether validation passed\n * @param {string|undefined} message Custom error message\n * @return {void}\n */\n response: function(passes, message) {\n this.passes = (passes === undefined || passes === true);\n this.customMessage = message;\n this.callback(this.passes, message);\n },\n\n /**\n * Set validator instance\n *\n * @param {Validator} validator\n * @return {void}\n */\n setValidator: function(validator) {\n this.validator = validator;\n }\n\n};\n\nvar manager = {\n\n /**\n * List of async rule names\n *\n * @type {Array}\n */\n asyncRules: [],\n\n /**\n * Implicit rules (rules to always validate)\n *\n * @type {Array}\n */\n implicitRules: ['required', 'required_if', 'accepted'],\n\n /**\n * Get rule by name\n *\n * @param {string} name\n * @param {Validator}\n * @return {Rule}\n */\n make: function(name, validator) {\n var async = this.isAsync(name);\n var rule = new Rule(name, rules[name], async);\n rule.setValidator(validator);\n return rule;\n },\n\n /**\n * Determine if given rule is async\n *\n * @param {string} name\n * @return {boolean}\n */\n isAsync: function(name) {\n for (var i = 0, len = this.asyncRules.length; i < len; i++) {\n if (this.asyncRules[i] === name) {\n return true;\n }\n }\n return false;\n },\n\n /**\n * Determine if rule is implicit (should always validate)\n *\n * @param {string} name\n * @return {boolean}\n */\n isImplicit: function(name) {\n return this.implicitRules.indexOf(name) > -1;\n },\n\n /**\n * Register new rule\n *\n * @param {string} name\n * @param {function} fn\n * @return {void}\n */\n register: function(name, fn) {\n rules[name] = fn;\n },\n\n /**\n * Register async rule\n *\n * @param {string} name\n * @param {function} fn\n * @return {void}\n */\n registerAsync: function(name, fn) {\n this.register(name, fn);\n this.asyncRules.push(name);\n }\n\n};\n\n\nmodule.exports = manager;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/rules.js\n ** module id = 80\n ** module chunks = 0\n **/","var Messages = require('./messages');\n\nrequire('./lang/en');\n\nvar container = {\n\n messages: {},\n\n /**\n * Set messages for language\n *\n * @param {string} lang\n * @param {object} rawMessages\n * @return {void}\n */\n _set: function(lang, rawMessages) {\n this.messages[lang] = rawMessages;\n },\n\n /**\n * Set message for given language's rule.\n *\n * @param {string} lang\n * @param {string} attribute\n * @param {string|object} message\n * @return {void}\n */\n _setRuleMessage: function(lang, attribute, message) {\n this._load(lang);\n if (message === undefined) {\n message = this.messages[lang].def;\n }\n\n this.messages[lang][attribute] = message;\n },\n\n /**\n * Load messages (if not already loaded)\n *\n * @param {string} lang\n * @return {void}\n */\n _load: function(lang) {\n if (!this.messages[lang]) {\n var rawMessages = require('./lang/' + lang);\n this._set(lang, rawMessages);\n }\n },\n\n /**\n * Get raw messages for language\n *\n * @param {string} lang\n * @return {object}\n */\n _get: function(lang) {\n this._load(lang);\n return this.messages[lang];\n },\n\n /**\n * Make messages for given language\n *\n * @param {string} lang\n * @return {Messages}\n */\n _make: function(lang) {\n this._load(lang);\n return new Messages(lang, this.messages[lang]);\n }\n\n};\n\nmodule.exports = container;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/lang.js\n ** module id = 81\n ** module chunks = 0\n **/","var Attributes = require('./attributes');\n\nvar Messages = function(lang, messages) {\n this.lang = lang;\n this.messages = messages;\n this.customMessages = {};\n this.attributeNames = {};\n};\n\nMessages.prototype = {\n constructor: Messages,\n\n /**\n * Set custom messages\n *\n * @param {object} customMessages\n * @return {void}\n */\n _setCustom: function(customMessages) {\n this.customMessages = customMessages || {};\n },\n\n /**\n * Set custom attribute names.\n *\n * @param {object} attributes\n */\n _setAttributeNames: function(attributes) {\n this.attributeNames = attributes;\n },\n\n /**\n * Set the attribute formatter.\n *\n * @param {fuction} func\n * @return {void}\n */\n _setAttributeFormatter: function(func) {\n this.attributeFormatter = func;\n },\n\n /**\n * Get attribute name to display.\n *\n * @param {string} attribute\n * @return {string}\n */\n _getAttributeName: function(attribute) {\n var name = attribute;\n if (this.attributeNames.hasOwnProperty(attribute)) {\n return this.attributeNames[attribute];\n } else if (this.messages.attributes.hasOwnProperty(attribute)) {\n name = this.messages.attributes[attribute];\n }\n\n if (this.attributeFormatter) {\n name = this.attributeFormatter(name);\n }\n\n return name;\n },\n\n /**\n * Get all messages\n *\n * @return {object}\n */\n all: function() {\n return this.messages;\n },\n\n /**\n * Render message\n *\n * @param {Rule} rule\n * @return {string}\n */\n render: function(rule) {\n if (rule.customMessage) {\n return rule.customMessage;\n }\n var template = this._getTemplate(rule);\n\n var message;\n if (Attributes.replacements[rule.name]) {\n message = Attributes.replacements[rule.name].apply(this, [template, rule]);\n } else {\n message = this._replacePlaceholders(rule, template, {});\n }\n\n return message;\n },\n\n /**\n * Get the template to use for given rule\n *\n * @param {Rule} rule\n * @return {string}\n */\n _getTemplate: function(rule) {\n\n var messages = this.messages;\n var template = messages.def;\n var customMessages = this.customMessages;\n var formats = [rule.name + '.' + rule.attribute, rule.name];\n\n for (var i = 0, format; i < formats.length; i++) {\n format = formats[i];\n if (customMessages.hasOwnProperty(format)) {\n template = customMessages[format];\n break;\n } else if (messages.hasOwnProperty(format)) {\n template = messages[format];\n break;\n }\n }\n\n if (typeof template === 'object') {\n template = template[rule._getValueType()];\n }\n\n return template;\n },\n\n /**\n * Replace placeholders in the template using the data object\n *\n * @param {Rule} rule\n * @param {string} template\n * @param {object} data\n * @return {string}\n */\n _replacePlaceholders: function(rule, template, data) {\n var message, attribute;\n\n data.attribute = this._getAttributeName(rule.attribute);\n data[rule.name] = rule.getParameters().join(',');\n\n if (typeof template === 'string' && typeof data === 'object') {\n message = template;\n\n for (attribute in data) {\n message = message.replace(new RegExp(':' + attribute, 'g'), data[attribute]);\n }\n }\n\n return message;\n }\n\n};\n\nmodule.exports = Messages;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/messages.js\n ** module id = 82\n ** module chunks = 0\n **/","var replacements = {\n\n /**\n * Between replacement (replaces :min and :max)\n *\n * @param {string} template\n * @param {Rule} rule\n * @return {string}\n */\n between: function(template, rule) {\n var parameters = rule.getParameters();\n return this._replacePlaceholders(rule, template, {\n min: parameters[0],\n max: parameters[1]\n });\n },\n\n /**\n * Required_if replacement.\n *\n * @param {string} template\n * @param {Rule} rule\n * @return {string}\n */\n required_if: function(template, rule) {\n var parameters = rule.getParameters();\n return this._replacePlaceholders(rule, template, {\n other: parameters[0],\n value: parameters[1]\n });\n }\n};\n\nfunction formatter(attribute) {\n return attribute.replace(/[_\\[]/g, ' ').replace(/]/g, '');\n}\n\nmodule.exports = {\n replacements: replacements,\n formatter: formatter\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/attributes.js\n ** module id = 83\n ** module chunks = 0\n **/","module.exports = {\n accepted: 'The :attribute must be accepted.',\n alpha: 'The :attribute field must contain only alphabetic characters.',\n alpha_dash: 'The :attribute field may only contain alpha-numeric characters, as well as dashes and underscores.',\n alpha_num: 'The :attribute field must be alphanumeric.',\n between: 'The :attribute field must be between :min and :max.',\n confirmed: 'The :attribute confirmation does not match.',\n email: 'The :attribute format is invalid.',\n def: 'The :attribute attribute has errors.',\n digits: 'The :attribute must be :digits digits.',\n different: 'The :attribute and :different must be different.',\n 'in': 'The selected :attribute is invalid.',\n integer: 'The :attribute must be an integer.',\n min: {\n numeric: 'The :attribute must be at least :min.',\n string: 'The :attribute must be at least :min characters.'\n },\n max: {\n numeric: 'The :attribute may not be greater than :max.',\n string: 'The :attribute may not be greater than :max characters.'\n },\n not_in: 'The selected :attribute is invalid.',\n numeric: 'The :attribute must be a number.',\n required: 'The :attribute field is required.',\n required_if: 'The :attribute field is required when :other is :value.',\n same: 'The :attribute and :same fields must match.',\n size: {\n numeric: 'The :attribute must be :size.',\n string: 'The :attribute must be :size characters.'\n },\n string: 'The :attribute must be a string.',\n url: 'The :attribute format is invalid.',\n regex: 'The :attribute format is invalid',\n attributes: {}\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/lang/en.js\n ** module id = 84\n ** module chunks = 0\n **/","var map = {\n\t\"./en\": 84,\n\t\"./en.js\": 84,\n\t\"./es\": 86,\n\t\"./es.js\": 86,\n\t\"./fr\": 87,\n\t\"./fr.js\": 87,\n\t\"./it\": 88,\n\t\"./it.js\": 88,\n\t\"./ja\": 89,\n\t\"./ja.js\": 89,\n\t\"./pl\": 90,\n\t\"./pl.js\": 90,\n\t\"./ru\": 91,\n\t\"./ru.js\": 91\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\treturn map[req] || (function() { throw new Error(\"Cannot find module '\" + req + \"'.\") }());\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 85;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/lang ^\\.\\/.*$\n ** module id = 85\n ** module chunks = 0\n **/","module.exports = {\n accepted: 'El campo :attribute debe ser aceptado.',\n alpha: 'El campo :attribute solo debe contener letras.',\n alpha_dash: 'El campo :attribute solo debe contener letras, números y guiones.',\n alpha_num: 'El campo :attribute solo debe contener letras y números.',\n attributes: {},\n between: 'El campo :attribute tiene que estar entre :min - :max.',\n confirmed: 'La confirmación de :attribute no coincide.',\n different: 'El campo :attribute y :other deben ser diferentes.',\n digits: 'El campo :attribute debe tener :digits dígitos.',\n email: 'El campo :attribute no es un correo válido',\n 'in': 'El campo :attribute es inválido.',\n integer: 'El campo :attribute debe ser un número entero.',\n max: {\n numeric: 'El campo :attribute no debe ser mayor a :max.',\n string: 'El campo :attribute no debe ser mayor que :max caracteres.'\n },\n min: {\n numeric: 'El tamaño del campo :attribute debe ser de al menos :min.',\n string: 'El campo :attribute debe contener al menos :min caracteres.'\n },\n not_in: 'El campo :attribute es inválido.',\n numeric: 'El campo :attribute debe ser numérico.',\n regex: 'El formato del campo :attribute es inválido.',\n required: 'El campo :attribute es obligatorio.',\n required_if: 'El campo :attribute es obligatorio cuando :other es :value.',\n same: 'El campo :attribute y :other deben coincidir.',\n size: {\n numeric: 'El tamaño del campo :attribute debe ser :size.',\n string: 'El campo :attribute debe contener :size caracteres.'\n },\n url: 'El formato de :attribute es inválido.'\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/lang/es.js\n ** module id = 86\n ** module chunks = 0\n **/","module.exports = {\n accepted: 'Le champs :attribute doit être accepté.',\n alpha: 'Le champs :attribute ne peut contenir que des caractères alphabétiques.',\n alpha_dash: 'Le champs :attribute ne peut contenir que des caractères alphanumériques, des tirets et underscores.',\n alpha_num: 'Le champs :attribute doit être alphanumérique.',\n between: 'Le champs :attribute doit être compris entre :min and :max.',\n confirmed: 'Le champs :attribute ne correspond pas.',\n email: 'Le champs :attribute contient un format invalide.',\n def: 'Le champs :attribute contient un attribut erroné.',\n digits: 'Le champs :attribute doit être de :digits chiffres.',\n different: 'Le champs :attribute et :different doivent être differents.',\n 'in': 'Le champs :attribute est invalide.',\n integer: 'Le champs :attribute doit être un entier.',\n min: {\n numeric: 'Le champs :attribute doit être contenir au moins :min.',\n string: 'Le champs :attribute doit être contenir au moins :min caractères.'\n },\n max: {\n numeric: 'Le champs :attribute ne doit être supérieur à :max.',\n string: 'Le champs :attribute ne doit être plus de :max characters.'\n },\n not_in: 'Le champs :attribute est invalide.',\n numeric: 'Le champs :attribute doit être un numéro.',\n required: 'Le champs :attribute est obligatoire.',\n required_if: 'Le champs :attribute est obligatoire quand :other est :value.',\n same: 'Le champs :attribute et :same doivent correspondre.',\n size: {\n numeric: 'La taille du champs :attribute doit être :size.',\n string: 'La taille du champs :attribute doit être de :size caractères.'\n },\n url: 'Le format du champs :attribute est invalide.',\n regex: 'Le format du champs :attribute est invalide.',\n attributes: {}\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/lang/fr.js\n ** module id = 87\n ** module chunks = 0\n **/","module.exports = {\n accepted: 'Il campo :attribute deve essere accettato.',\n alpha: 'Il campo :attribute deve contenere sono caratteri alfabetici.',\n alpha_dash: 'Il campo :attribute può contenere solo caratteri alfanumerici oltre a trattini e trattini bassi.',\n alpha_num: 'Il campo :attribute deve essere alfanumerico.',\n between: 'Il campo :attribute deve essere compreso tra :min e :max.',\n confirmed: 'Il campo conferma :attribute non è uguale.',\n email: 'Il formato dell\\'attributo :attribute non è valido.',\n def: 'Gli attributi del campo :attribute contengono degli errori.',\n digits: 'Il campo :attribute deve essere di :digits cifre.',\n different: 'Il campo :attribute e :different devo essere diversi.',\n 'in': 'Il valore del campo :attribute non è valido.',\n integer: 'Il campo :attribute deve essere un valore intero.',\n min: {\n numeric: 'Il campo :attribute deve essere maggiore o uguale di :min.',\n string: 'Il campo :attribute deve essere composto da almeno :min caratteri.'\n },\n max: {\n numeric: 'Il campo :attribute deve essere minore o uguale di :max.',\n string: 'Il campo :attribute deve essere composto da massimo :max caratteri.'\n },\n not_in: 'Il campo :attribute non è valido.',\n numeric: 'Il campo :attribute deve essere un numero.',\n required: 'Il campo :attribute è richiesto.',\n required_if: 'Il campo :attribute è richiesto quando il campo :other è uguale a :value.',\n same: 'I campi :attribute e :same devono essere uguali.',\n size: {\n numeric: 'La dimensione del campo :attribute deve essere uguale a :size.',\n string: 'Il campo :attribute deve essere di :size caratteri.'\n },\n string: 'Il campo :attribute deve essere una stringa.',\n url: 'Il formato del campo :attribute non è valido.',\n regex: 'Il formato del campo :attribute non è valido.',\n attributes: {}\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/lang/it.js\n ** module id = 88\n ** module chunks = 0\n **/","module.exports = {\n accepted: ':attributeを確認してください。',\n alpha: ':attributeは英字のみで入力してください。',\n alpha_dash: ':attributeは英字とダッシュと下線のみで入力してください。',\n alpha_num: ':attributeは英数字のみで入力してください。',\n between: ':attributeは:min〜:max文字で入力してください。',\n confirmed: ':attributeは確認が一致しません。',\n email: ':attributeは正しいメールアドレスを入力してください。',\n def: ':attributeは検証エラーが含まれています。',\n digits: ':attributeは:digitsの数字のみで入力してください。',\n different: ':attributeと:differentは同じであってはなりません。',\n 'in': '選択された:attributeは無効です。',\n integer: ':attributeは整数で入力してください。',\n min : {\n numeric : \":attributeは:min以上を入力してください。\",\n string : \":attributeは:min文字以上で入力してください。\"\n },\n max : {\n numeric : \":attributeは:max以下を入力してください。\",\n string : \":attributeは:max文字以上で入力してください。\"\n },\n not_in : \"選択された:attributeは無効です。\",\n numeric : \":attributeは数値で入力してください。\",\n required : \":attributeは必須です。\",\n required_if : \":otherは:valueになったら:attributeは必須です。\",\n same : \":attributeと:sameは同じでなければなりません。\",\n size : {\n numeric : \":attributeは:sizeを入力してください。\",\n string : \":attributeは:size文字で入力してください。\"\n },\n url : \":attributeはURIを入力してください。\",\n regex : \":attributeの値 \\\":value\\\" はパターンにマッチする必要があります。\",\n attributes : {}\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/lang/ja.js\n ** module id = 89\n ** module chunks = 0\n **/","module.exports = {\n accepted: 'Pole :attribute musi być zaakceptowane.',\n alpha: 'Pole :attribute może zawierać tylko litery.',\n alpha_dash: 'Pole :attribute moze zawierać tylko litery, myślnik i podrkeślenie.',\n alpha_num: 'Pole :attribute moze zawierac tylko znaki alfanumeryczne.',\n between: 'Pole :attribute musi mieć długość od :min do :max.',\n confirmed: 'Pole :attribute nie spełnia warunku potwierdzenia.',\n email: 'Pole :attribute ma niepoprawny format adresu email.',\n def: 'Pole :attribute zawiera błędy.',\n digits: 'Pole :attribute może zawierać tylko cyfry ze zbioru :digits.',\n different: 'Pola :attribute i :different muszą się różnić.',\n 'in': 'Pole :attribute musi należeć do zbioru :in.',\n integer: 'Pole :attribute musi być liczbą całkowitą.',\n min: {\n numeric: 'Pole :attribute musi być równe conajmniej :min.',\n string: 'Pole :attribute musi zawierać conajmniej :min znaków.'\n },\n max: {\n numeric: 'Pole :attribute nie moze być większe :max.',\n string: 'Pole :attribute nie moze być dłuższe niż :max znaków.'\n },\n not_in: 'Pole :attribute nie może należeć do zbioru :not_in.',\n numeric: 'Pole :attribute musi być liczbą.',\n required: 'Pole :attribute jest wymagane.',\n required_if: 'Pole :attribute jest wymagane jeśli pole :other jest równe :value.',\n same: 'Pola :attribute i :same muszą być takie same.',\n size: {\n numeric: 'Pole :attribute musi być równe :size.',\n string: 'Pole :attribute musi zawierać :size znaków.'\n },\n string: 'Pole :attribute musi być ciągiem znaków.',\n url: 'Pole :attribute musi być poprawnym adresem URL.',\n regex: 'Pole :attribute nie spełnia warunku.',\n attributes: {}\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/lang/pl.js\n ** module id = 90\n ** module chunks = 0\n **/","module.exports = {\n accepted: 'Вы должны принять :attribute.',\n alpha: 'Поле :attribute может содержать только буквы.',\n alpha_dash: 'Поле :attribute может содержать только буквы, цифры, дефисы и символы подчёркивания.',\n alpha_num: 'Поле :attribute может содержать только буквы и цифры.',\n between: 'Поле :attribute должно быть между :min и :max.',\n confirmed: 'Поле :attribute не совпадает с подтверждением.',\n email: 'Поле :attribute должно быть действительным электронным адресом.',\n def: 'Поле :attribute содержит ошибки.',\n digits: 'Длина цифрового поля :attribute должна быть :digits.',\n different: 'Поля :attribute и :different должны различаться.',\n 'in': 'Выбранное значение для :attribute ошибочно.',\n integer: 'Поле :attribute должно быть целым числом.',\n min: {\n numeric: 'Значение поля :attribute должно быть больше или равно :min.',\n string: 'Количество символов в поле :attribute должно быть не менее :min.'\n },\n max: {\n numeric: 'Значение поля :attribute должно быть меньше или равно :max.',\n string: 'Количество символов в поле :attribute не может превышать :max.'\n },\n not_in: 'Выбранное значение для :attribute ошибочно.',\n numeric: 'Поле :attribute должно быть числом.',\n required: 'Поле :attribute обязательно для заполнения.',\n required_if: 'Поле :attribute требуется когда значения поля :other равно :value.',\n same: 'Значение :attribute должно совпадать с :same.',\n size: {\n numeric: 'Значение поля :attribute должно быть равным :size.',\n string: 'Количество символов в поле :attribute должно быть равно :size.'\n },\n url: 'Поле :attribute должно содержать валидный URL.',\n regex: 'Неверный формат поля :attribute.',\n attributes: {}\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/lang/ru.js\n ** module id = 91\n ** module chunks = 0\n **/","var Errors = function() {\n this.errors = {};\n};\n\nErrors.prototype = {\n constructor: Errors,\n\n /**\n * Add new error message for given attribute\n *\n * @param {string} attribute\n * @param {string} message\n * @return {void}\n */\n add: function(attribute, message) {\n if (!this.has(attribute)) {\n this.errors[attribute] = [];\n }\n\n if (this.errors[attribute].indexOf(message) === -1) {\n this.errors[attribute].push(message);\n }\n },\n\n /**\n * Returns an array of error messages for an attribute, or an empty array\n *\n * @param {string} attribute A key in the data object being validated\n * @return {array} An array of error messages\n */\n get: function(attribute) {\n if (this.has(attribute)) {\n return this.errors[attribute];\n }\n\n return [];\n },\n\n /**\n * Returns the first error message for an attribute, false otherwise\n *\n * @param {string} attribute A key in the data object being validated\n * @return {string|false} First error message or false\n */\n first: function(attribute) {\n if (this.has(attribute)) {\n return this.errors[attribute][0];\n }\n\n return false;\n },\n\n /**\n * Get all error messages from all failing attributes\n *\n * @return {Object} Failed attribute names for keys and an array of messages for values\n */\n all: function() {\n return this.errors;\n },\n\n /**\n * Determine if there are any error messages for an attribute\n *\n * @param {string} attribute A key in the data object being validated\n * @return {boolean}\n */\n has: function(attribute) {\n if (this.errors.hasOwnProperty(attribute)) {\n return true;\n }\n\n return false;\n }\n};\n\nmodule.exports = Errors;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/errors.js\n ** module id = 92\n ** module chunks = 0\n **/","function AsyncResolvers(onFailedOne, onResolvedAll) {\n this.onResolvedAll = onResolvedAll;\n this.onFailedOne = onFailedOne;\n this.resolvers = {};\n this.resolversCount = 0;\n this.passed = [];\n this.failed = [];\n this.firing = false;\n}\n\nAsyncResolvers.prototype = {\n\n /**\n * Add resolver\n *\n * @param {Rule} rule\n * @return {integer}\n */\n add: function(rule) {\n var index = this.resolversCount;\n this.resolvers[index] = rule;\n this.resolversCount++;\n return index;\n },\n\n /**\n * Resolve given index\n *\n * @param {integer} index\n * @return {void}\n */\n resolve: function(index) {\n var rule = this.resolvers[index];\n if (rule.passes === true) {\n this.passed.push(rule);\n } else if (rule.passes === false) {\n this.failed.push(rule);\n this.onFailedOne(rule);\n }\n\n this.fire();\n },\n\n /**\n * Determine if all have been resolved\n *\n * @return {boolean}\n */\n isAllResolved: function() {\n return (this.passed.length + this.failed.length) === this.resolversCount;\n },\n\n /**\n * Attempt to fire final all resolved callback if completed\n *\n * @return {void}\n */\n fire: function() {\n\n if (!this.firing) {\n return;\n }\n\n if (this.isAllResolved()) {\n this.onResolvedAll(this.failed.length === 0);\n }\n\n },\n\n /**\n * Enable firing\n *\n * @return {void}\n */\n enableFiring: function() {\n this.firing = true;\n }\n\n};\n\nmodule.exports = AsyncResolvers;\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/validatorjs/src/async.js\n ** module id = 93\n ** module chunks = 0\n **/","module.exports = \"\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n
\\n
\\n
\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiAutocomplete.vue\n ** module id = 94\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiButton.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiButton.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiButton.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiButton.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-95e1cb42/UiButton.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiButton.vue\n ** module id = 95\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiButton.vue\n ** module id = 96\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiButton.vue?105f043c\n **/","module.exports = \"\\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiButton.vue\n ** module id = 98\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiCheckbox.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiCheckbox.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiCheckbox.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiCheckbox.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-51854d30/UiCheckbox.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiCheckbox.vue\n ** module id = 99\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiCheckbox.vue\n ** module id = 100\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiCheckbox.vue?1a3751e0\n **/","module.exports = \"\\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiCheckbox.vue\n ** module id = 102\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiCollapsible.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiCollapsible.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiCollapsible.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiCollapsible.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-1206192d/UiCollapsible.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiCollapsible.vue\n ** module id = 103\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiCollapsible.vue\n ** module id = 104\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiCollapsible.vue?6ad22b3a\n **/","module.exports = \"\\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiCollapsible.vue\n ** module id = 106\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiConfirm.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiConfirm.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiConfirm.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiConfirm.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-6cda4263/UiConfirm.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiConfirm.vue\n ** module id = 107\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiConfirm.vue\n ** module id = 108\n ** module chunks = 0\n **/","\n \n
\n \n \n
\n\n \n \n\n \n
\n \n
\n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiConfirm.vue?13ecb0fe\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiModal.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiModal.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiModal.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiModal.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-4c9c5e90/UiModal.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiModal.vue\n ** module id = 110\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiModal.vue\n ** module id = 111\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiModal.vue?9eac5fc8\n **/","module.exports = \"\\n\\n
\\n
\\n \\n\\n
\\n\\n \\n\\n
\\n
\\n
\\n
\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiModal.vue\n ** module id = 113\n ** module chunks = 0\n **/","module.exports = \"\\n\\n
\\n \\n \\n
\\n\\n \\n \\n\\n \\n
\\n \\n
\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiConfirm.vue\n ** module id = 114\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiFab.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiFab.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiFab.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiFab.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-45e4aeac/UiFab.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiFab.vue\n ** module id = 115\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiFab.vue\n ** module id = 116\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiFab.vue?567dc695\n **/","module.exports = \"\\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiFab.vue\n ** module id = 118\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiPreloader.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiPreloader.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiPreloader.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiPreloader.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-65ce9659/UiPreloader.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiPreloader.vue\n ** module id = 119\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiPreloader.vue\n ** module id = 120\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiPreloader.vue?43793fe1\n **/","module.exports = \"\\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiPreloader.vue\n ** module id = 122\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiProgressLinear.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiProgressLinear.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiProgressLinear.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiProgressLinear.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-0a991442/UiProgressLinear.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiProgressLinear.vue\n ** module id = 123\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiProgressLinear.vue\n ** module id = 124\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiProgressLinear.vue?c8e86c08\n **/","module.exports = \"\\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiProgressLinear.vue\n ** module id = 126\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiRadio.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiRadio.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiRadio.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiRadio.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-dd19be44/UiRadio.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiRadio.vue\n ** module id = 127\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiRadio.vue\n ** module id = 128\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiRadio.vue?e313488e\n **/","module.exports = \"\\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiRadio.vue\n ** module id = 130\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiRadioGroup.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiRadioGroup.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiRadioGroup.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiRadioGroup.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-33a7fef1/UiRadioGroup.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiRadioGroup.vue\n ** module id = 131\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiRadioGroup.vue\n ** module id = 132\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiRadioGroup.vue?71ccd471\n **/","module.exports = \"\\n\\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiRadioGroup.vue\n ** module id = 134\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiRating.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiRating.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiRating.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiRating.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-1c51774a/UiRating.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiRating.vue\n ** module id = 135\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiRating.vue\n ** module id = 136\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiRating.vue?911f6784\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiRatingIcon.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiRatingIcon.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiRatingIcon.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiRatingIcon.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-1ad28a63/UiRatingIcon.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiRatingIcon.vue\n ** module id = 138\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiRatingIcon.vue\n ** module id = 139\n ** module chunks = 0\n **/","\n \n \n
\n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiRatingIcon.vue?b6b98bb2\n **/","module.exports = \"\\n\\n \\n
\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiRatingIcon.vue\n ** module id = 141\n ** module chunks = 0\n **/","module.exports = \"\\n\\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiRating.vue\n ** module id = 142\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiRatingPreview.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiRatingPreview.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiRatingPreview.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiRatingPreview.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-45d4094e/UiRatingPreview.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiRatingPreview.vue\n ** module id = 143\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiRatingPreview.vue\n ** module id = 144\n ** module chunks = 0\n **/","\n \n \n
\n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiRatingPreview.vue?4dd0735d\n **/","module.exports = \"\\n\\n \\n
\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiRatingPreview.vue\n ** module id = 146\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiSelect.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiSelect.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiSelect.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiSelect.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-3cfc3329/UiSelect.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiSelect.vue\n ** module id = 147\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiSelect.vue\n ** module id = 148\n ** module chunks = 0\n **/","\n \n
\n \n
\n\n
\n
\n
\n\n
\n\n
\n
\n \n\n \n
\n\n
\n \n\n - No results found
\n
\n
\n
\n\n
\n
\n
\n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiSelect.vue?b4fe294a\n **/","'use strict';\nvar isOptionObject = require('is-plain-obj');\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.propertyIsEnumerable;\nvar globalThis = this;\nvar defaultMergeOpts = {\n\tconcatArrays: false\n};\n\nfunction getEnumerableOwnPropertyKeys(value) {\n\tvar keys = [];\n\n\tfor (var key in value) {\n\t\tif (hasOwnProperty.call(value, key)) {\n\t\t\tkeys.push(key);\n\t\t}\n\t}\n\n\tif (Object.getOwnPropertySymbols) {\n\t\tvar symbols = Object.getOwnPropertySymbols(value);\n\n\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\tif (propIsEnumerable.call(value, symbols[i])) {\n\t\t\t\tkeys.push(symbols[i]);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn keys;\n}\n\nfunction clone(value) {\n\tif (Array.isArray(value)) {\n\t\treturn cloneArray(value);\n\t}\n\n\tif (isOptionObject(value)) {\n\t\treturn cloneOptionObject(value);\n\t}\n\n\treturn value;\n}\n\nfunction cloneArray(array) {\n\tvar result = array.slice(0, 0);\n\n\tgetEnumerableOwnPropertyKeys(array).forEach(function (key) {\n\t\tresult[key] = clone(array[key]);\n\t});\n\n\treturn result;\n}\n\nfunction cloneOptionObject(obj) {\n\tvar result = Object.getPrototypeOf(obj) === null ? Object.create(null) : {};\n\n\tgetEnumerableOwnPropertyKeys(obj).forEach(function (key) {\n\t\tresult[key] = clone(obj[key]);\n\t});\n\n\treturn result;\n}\n\n/**\n * @param merged {already cloned}\n * @return {cloned Object}\n */\nfunction mergeKeys(merged, source, keys, mergeOpts) {\n\tkeys.forEach(function (key) {\n\t\tif (key in merged) {\n\t\t\tmerged[key] = merge(merged[key], source[key], mergeOpts);\n\t\t} else {\n\t\t\tmerged[key] = clone(source[key]);\n\t\t}\n\t});\n\n\treturn merged;\n}\n\n/**\n * @param merged {already cloned}\n * @return {cloned Object}\n *\n * see [Array.prototype.concat ( ...arguments )](http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.concat)\n */\nfunction concatArrays(merged, source, mergeOpts) {\n\tvar result = merged.slice(0, 0);\n\tvar resultIndex = 0;\n\n\t[merged, source].forEach(function (array) {\n\t\tvar indices = [];\n\n\t\t// result.concat(array) with cloning\n\t\tfor (var k = 0; k < array.length; k++) {\n\t\t\tif (!hasOwnProperty.call(array, k)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tindices.push(String(k));\n\n\t\t\tif (array === merged) {\n\t\t\t\t// already cloned\n\t\t\t\tresult[resultIndex++] = array[k];\n\t\t\t} else {\n\t\t\t\tresult[resultIndex++] = clone(array[k]);\n\t\t\t}\n\t\t}\n\n\t\t// merge non-index keys\n\t\tresult = mergeKeys(result, array, getEnumerableOwnPropertyKeys(array).filter(function (key) {\n\t\t\treturn indices.indexOf(key) === -1;\n\t\t}), mergeOpts);\n\t});\n\n\treturn result;\n}\n\n/**\n * @param merged {already cloned}\n * @return {cloned Object}\n */\nfunction merge(merged, source, mergeOpts) {\n\tif (mergeOpts.concatArrays && Array.isArray(merged) && Array.isArray(source)) {\n\t\treturn concatArrays(merged, source, mergeOpts);\n\t}\n\n\tif (!isOptionObject(source) || !isOptionObject(merged)) {\n\t\treturn clone(source);\n\t}\n\n\treturn mergeKeys(merged, source, getEnumerableOwnPropertyKeys(source), mergeOpts);\n}\n\nmodule.exports = function () {\n\tvar mergeOpts = merge(clone(defaultMergeOpts), (this !== globalThis && this) || {}, defaultMergeOpts);\n\tvar merged = {};\n\n\tfor (var i = 0; i < arguments.length; i++) {\n\t\tvar option = arguments[i];\n\n\t\tif (option === undefined) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!isOptionObject(option)) {\n\t\t\tthrow new TypeError('`' + option + '` is not an Option Object');\n\t\t}\n\n\t\tmerged = merge(merged, option, mergeOpts);\n\t}\n\n\treturn merged;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/merge-options/index.js\n ** module id = 150\n ** module chunks = 0\n **/","'use strict';\nvar toString = Object.prototype.toString;\n\nmodule.exports = function (x) {\n\tvar prototype;\n\treturn toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({}));\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/merge-options/~/is-plain-obj/index.js\n ** module id = 151\n ** module chunks = 0\n **/","export function inView(element, container) {\n if (!element) {\n return;\n }\n\n container = container || element.parentElement;\n\n let top = element.offsetTop;\n let parentTop = container.scrollTop;\n let bottom = top + element.offsetHeight;\n let parentBottom = container.offsetHeight;\n\n return top >= parentTop && bottom <= parentBottom;\n}\n\nexport function scrollIntoView(element, container, marginTop = 0) {\n if (!element || inView(element, container)) {\n return;\n }\n\n container = container || element.parentElement;\n\n container.scrollTop = element.offsetTop - marginTop;\n}\n\nexport function resetScroll(element) {\n if (!element) {\n return;\n }\n\n element.scrollTop = 0;\n}\n\nexport default {\n inView,\n scrollIntoView,\n resetScroll\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/helpers/element-scroll.js\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiSelectOption.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiSelectOption.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiSelectOption.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiSelectOption.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-19cce47e/UiSelectOption.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiSelectOption.vue\n ** module id = 153\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiSelectOption.vue\n ** module id = 154\n ** module chunks = 0\n **/","\n \n \n\n \n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiSelectOption.vue?7b18e3d9\n **/","module.exports = \"\\n\\n \\n\\n \\n\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiSelectOption.vue\n ** module id = 156\n ** module chunks = 0\n **/","module.exports = \"\\n\\n
\\n \\n
\\n\\n
\\n
\\n
\\n\\n
\\n\\n
\\n
\\n \\n\\n \\n
\\n\\n
\\n \\n\\n - No results found
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/UiSelect.vue\n ** module id = 157\n ** module chunks = 0\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"remove\\\":true}!css!./../node_modules/vue-loader/lib/style-rewriter.js!stylus!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./UiSlider.vue\")\n__vue_script__ = require(\"!!babel-loader!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./UiSlider.vue\")\nif (__vue_script__ &&\n __vue_script__.__esModule &&\n Object.keys(__vue_script__).length > 1) {\n console.warn(\"[vue-loader] src/UiSlider.vue: named exports in *.vue files are ignored.\")}\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./UiSlider.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\nif (module.hot) {(function () { module.hot.accept()\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n var id = \"_v-3cc206e4/UiSlider.vue\"\n if (!module.hot.data) {\n hotAPI.createRecord(id, module.exports)\n } else {\n hotAPI.update(id, module.exports, __vue_template__)\n }\n})()}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/UiSlider.vue\n ** module id = 158\n ** module chunks = 0\n **/","// removed by extract-text-webpack-plugin\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/extract-text-webpack-plugin/loader.js?{\"remove\":true}!./~/css-loader!./~/vue-loader/lib/style-rewriter.js!./~/stylus-loader!./~/vue-loader/lib/selector.js?type=style&index=0!./src/UiSlider.vue\n ** module id = 159\n ** module chunks = 0\n **/","\n \n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** UiSlider.vue?750a4dc8\n **/","/*** IMPORTS FROM imports-loader ***/\nvar define = false;\n(function() {\n\n/*!\n * Draggabilly v1.2.4\n * Make that shiz draggable\n * http://draggabilly.desandro.com\n * MIT license\n */\n\n( function( window, factory ) {\n 'use strict';\n\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'classie/classie',\n 'get-style-property/get-style-property',\n 'get-size/get-size',\n 'unidragger/unidragger'\n ],\n function( classie, getStyleProperty, getSize, Unidragger ) {\n return factory( window, classie, getStyleProperty, getSize, Unidragger );\n });\n } else if ( typeof exports == 'object' ) {\n // CommonJS\n module.exports = factory(\n window,\n require('desandro-classie'),\n require('desandro-get-style-property'),\n require('get-size'),\n require('unidragger')\n );\n } else {\n // browser global\n window.Draggabilly = factory(\n window,\n window.classie,\n window.getStyleProperty,\n window.getSize,\n window.Unidragger\n );\n }\n\n}( window, function factory( window, classie, getStyleProperty, getSize, Unidragger ) {\n\n'use strict';\n\n// vars\nvar document = window.document;\n\nfunction noop() {}\n\n// -------------------------- helpers -------------------------- //\n\n// extend objects\nfunction extend( a, b ) {\n for ( var prop in b ) {\n a[ prop ] = b[ prop ];\n }\n return a;\n}\n\n// ----- get style ----- //\n\nvar defView = document.defaultView;\n\nvar getStyle = defView && defView.getComputedStyle ?\n function( elem ) {\n return defView.getComputedStyle( elem, null );\n } :\n function( elem ) {\n return elem.currentStyle;\n };\n\n\n// http://stackoverflow.com/a/384380/182183\nvar isElement = ( typeof HTMLElement == 'object' ) ?\n function isElementDOM2( obj ) {\n return obj instanceof HTMLElement;\n } :\n function isElementQuirky( obj ) {\n return obj && typeof obj == 'object' &&\n obj.nodeType == 1 && typeof obj.nodeName == 'string';\n };\n\n// -------------------------- requestAnimationFrame -------------------------- //\n\n// https://gist.github.com/1866474\n\nvar lastTime = 0;\nvar prefixes = 'webkit moz ms o'.split(' ');\n// get unprefixed rAF and cAF, if present\nvar requestAnimationFrame = window.requestAnimationFrame;\nvar cancelAnimationFrame = window.cancelAnimationFrame;\n// loop through vendor prefixes and get prefixed rAF and cAF\nvar prefix;\nfor( var i = 0; i < prefixes.length; i++ ) {\n if ( requestAnimationFrame && cancelAnimationFrame ) {\n break;\n }\n prefix = prefixes[i];\n requestAnimationFrame = requestAnimationFrame || window[ prefix + 'RequestAnimationFrame' ];\n cancelAnimationFrame = cancelAnimationFrame || window[ prefix + 'CancelAnimationFrame' ] ||\n window[ prefix + 'CancelRequestAnimationFrame' ];\n}\n\n// fallback to setTimeout and clearTimeout if either request/cancel is not supported\nif ( !requestAnimationFrame || !cancelAnimationFrame ) {\n requestAnimationFrame = function( callback ) {\n var currTime = new Date().getTime();\n var timeToCall = Math.max( 0, 16 - ( currTime - lastTime ) );\n var id = window.setTimeout( function() {\n callback( currTime + timeToCall );\n }, timeToCall );\n lastTime = currTime + timeToCall;\n return id;\n };\n\n cancelAnimationFrame = function( id ) {\n window.clearTimeout( id );\n };\n}\n\n// -------------------------- support -------------------------- //\n\nvar transformProperty = getStyleProperty('transform');\n// TODO fix quick & dirty check for 3D support\nvar is3d = !!getStyleProperty('perspective');\n\nvar jQuery = window.jQuery;\n\n// -------------------------- -------------------------- //\n\nfunction Draggabilly( element, options ) {\n // querySelector if string\n this.element = typeof element == 'string' ?\n document.querySelector( element ) : element;\n\n if ( jQuery ) {\n this.$element = jQuery( this.element );\n }\n\n // options\n this.options = extend( {}, this.constructor.defaults );\n this.option( options );\n\n this._create();\n}\n\n// inherit Unidragger methods\nextend( Draggabilly.prototype, Unidragger.prototype );\n\nDraggabilly.defaults = {\n};\n\n/**\n * set options\n * @param {Object} opts\n */\nDraggabilly.prototype.option = function( opts ) {\n extend( this.options, opts );\n};\n\nDraggabilly.prototype._create = function() {\n\n // properties\n this.position = {};\n this._getPosition();\n\n this.startPoint = { x: 0, y: 0 };\n this.dragPoint = { x: 0, y: 0 };\n\n this.startPosition = extend( {}, this.position );\n\n // set relative positioning\n var style = getStyle( this.element );\n if ( style.position != 'relative' && style.position != 'absolute' ) {\n this.element.style.position = 'relative';\n }\n\n this.enable();\n this.setHandles();\n\n};\n\n/**\n * set this.handles and bind start events to 'em\n */\nDraggabilly.prototype.setHandles = function() {\n this.handles = this.options.handle ?\n this.element.querySelectorAll( this.options.handle ) : [ this.element ];\n\n this.bindHandles();\n};\n\n/**\n * emits events via eventEmitter and jQuery events\n * @param {String} type - name of event\n * @param {Event} event - original event\n * @param {Array} args - extra arguments\n */\nDraggabilly.prototype.dispatchEvent = function( type, event, args ) {\n var emitArgs = [ event ].concat( args );\n this.emitEvent( type, emitArgs );\n var jQuery = window.jQuery;\n // trigger jQuery event\n if ( jQuery && this.$element ) {\n if ( event ) {\n // create jQuery event\n var $event = jQuery.Event( event );\n $event.type = type;\n this.$element.trigger( $event, args );\n } else {\n // just trigger with type if no event available\n this.$element.trigger( type, args );\n }\n }\n};\n\n// -------------------------- position -------------------------- //\n\n// get left/top position from style\nDraggabilly.prototype._getPosition = function() {\n // properties\n var style = getStyle( this.element );\n\n var x = parseInt( style.left, 10 );\n var y = parseInt( style.top, 10 );\n\n // clean up 'auto' or other non-integer values\n this.position.x = isNaN( x ) ? 0 : x;\n this.position.y = isNaN( y ) ? 0 : y;\n\n this._addTransformPosition( style );\n};\n\n// add transform: translate( x, y ) to position\nDraggabilly.prototype._addTransformPosition = function( style ) {\n if ( !transformProperty ) {\n return;\n }\n var transform = style[ transformProperty ];\n // bail out if value is 'none'\n if ( transform.indexOf('matrix') !== 0 ) {\n return;\n }\n // split matrix(1, 0, 0, 1, x, y)\n var matrixValues = transform.split(',');\n // translate X value is in 12th or 4th position\n var xIndex = transform.indexOf('matrix3d') === 0 ? 12 : 4;\n var translateX = parseInt( matrixValues[ xIndex ], 10 );\n // translate Y value is in 13th or 5th position\n var translateY = parseInt( matrixValues[ xIndex + 1 ], 10 );\n this.position.x += translateX;\n this.position.y += translateY;\n};\n\n// -------------------------- events -------------------------- //\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nDraggabilly.prototype.pointerDown = function( event, pointer ) {\n this._dragPointerDown( event, pointer );\n // kludge to blur focused inputs in dragger\n var focused = document.activeElement;\n if ( focused && focused.blur ) {\n focused.blur();\n }\n // bind move and end events\n this._bindPostStartEvents( event );\n classie.add( this.element, 'is-pointer-down' );\n this.dispatchEvent( 'pointerDown', event, [ pointer ] );\n};\n\n/**\n * drag move\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nDraggabilly.prototype.pointerMove = function( event, pointer ) {\n var moveVector = this._dragPointerMove( event, pointer );\n this.dispatchEvent( 'pointerMove', event, [ pointer, moveVector ] );\n this._dragMove( event, pointer, moveVector );\n};\n\n/**\n * drag start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nDraggabilly.prototype.dragStart = function( event, pointer ) {\n if ( !this.isEnabled ) {\n return;\n }\n this._getPosition();\n this.measureContainment();\n // position _when_ drag began\n this.startPosition.x = this.position.x;\n this.startPosition.y = this.position.y;\n // reset left/top style\n this.setLeftTop();\n\n this.dragPoint.x = 0;\n this.dragPoint.y = 0;\n\n // reset isDragging flag\n this.isDragging = true;\n classie.add( this.element, 'is-dragging' );\n this.dispatchEvent( 'dragStart', event, [ pointer ] );\n // start animation\n this.animate();\n};\n\nDraggabilly.prototype.measureContainment = function() {\n var containment = this.options.containment;\n if ( !containment ) {\n return;\n }\n\n this.size = getSize( this.element );\n var elemRect = this.element.getBoundingClientRect();\n\n // use element if element\n var container = isElement( containment ) ? containment :\n // fallback to querySelector if string\n typeof containment == 'string' ? document.querySelector( containment ) :\n // otherwise just `true`, use the parent\n this.element.parentNode;\n\n this.containerSize = getSize( container );\n var containerRect = container.getBoundingClientRect();\n\n this.relativeStartPosition = {\n x: elemRect.left - containerRect.left,\n y: elemRect.top - containerRect.top\n };\n};\n\n// ----- move event ----- //\n\n/**\n * drag move\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nDraggabilly.prototype.dragMove = function( event, pointer, moveVector ) {\n if ( !this.isEnabled ) {\n return;\n }\n var dragX = moveVector.x;\n var dragY = moveVector.y;\n\n var grid = this.options.grid;\n var gridX = grid && grid[0];\n var gridY = grid && grid[1];\n\n dragX = applyGrid( dragX, gridX );\n dragY = applyGrid( dragY, gridY );\n\n dragX = this.containDrag( 'x', dragX, gridX );\n dragY = this.containDrag( 'y', dragY, gridY );\n\n // constrain to axis\n dragX = this.options.axis == 'y' ? 0 : dragX;\n dragY = this.options.axis == 'x' ? 0 : dragY;\n\n this.position.x = this.startPosition.x + dragX;\n this.position.y = this.startPosition.y + dragY;\n // set dragPoint properties\n this.dragPoint.x = dragX;\n this.dragPoint.y = dragY;\n\n this.dispatchEvent( 'dragMove', event, [ pointer, moveVector ] );\n};\n\nfunction applyGrid( value, grid, method ) {\n method = method || 'round';\n return grid ? Math[ method ]( value / grid ) * grid : value;\n}\n\nDraggabilly.prototype.containDrag = function( axis, drag, grid ) {\n if ( !this.options.containment ) {\n return drag;\n }\n var measure = axis == 'x' ? 'width' : 'height';\n\n var rel = this.relativeStartPosition[ axis ];\n var min = applyGrid( -rel, grid, 'ceil' );\n var max = this.containerSize[ measure ] - rel - this.size[ measure ];\n max = applyGrid( max, grid, 'floor' );\n return Math.min( max, Math.max( min, drag ) );\n};\n\n// ----- end event ----- //\n\n/**\n * pointer up\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nDraggabilly.prototype.pointerUp = function( event, pointer ) {\n classie.remove( this.element, 'is-pointer-down' );\n this.dispatchEvent( 'pointerUp', event, [ pointer ] );\n this._dragPointerUp( event, pointer );\n};\n\n/**\n * drag end\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nDraggabilly.prototype.dragEnd = function( event, pointer ) {\n if ( !this.isEnabled ) {\n return;\n }\n this.isDragging = false;\n // use top left position when complete\n if ( transformProperty ) {\n this.element.style[ transformProperty ] = '';\n this.setLeftTop();\n }\n classie.remove( this.element, 'is-dragging' );\n this.dispatchEvent( 'dragEnd', event, [ pointer ] );\n};\n\n// -------------------------- animation -------------------------- //\n\nDraggabilly.prototype.animate = function() {\n // only render and animate if dragging\n if ( !this.isDragging ) {\n return;\n }\n\n this.positionDrag();\n\n var _this = this;\n requestAnimationFrame( function animateFrame() {\n _this.animate();\n });\n\n};\n\n// transform translate function\nvar translate = is3d ?\n function( x, y ) {\n return 'translate3d( ' + x + 'px, ' + y + 'px, 0)';\n } :\n function( x, y ) {\n return 'translate( ' + x + 'px, ' + y + 'px)';\n };\n\n// left/top positioning\nDraggabilly.prototype.setLeftTop = function() {\n this.element.style.left = this.position.x + 'px';\n this.element.style.top = this.position.y + 'px';\n};\n\nDraggabilly.prototype.positionDrag = transformProperty ?\n function() {\n // position with transform\n this.element.style[ transformProperty ] = translate( this.dragPoint.x, this.dragPoint.y );\n } : Draggabilly.prototype.setLeftTop;\n\n// ----- staticClick ----- //\n\nDraggabilly.prototype.staticClick = function( event, pointer ) {\n this.dispatchEvent( 'staticClick', event, [ pointer ] );\n};\n\n// ----- methods ----- //\n\nDraggabilly.prototype.enable = function() {\n this.isEnabled = true;\n};\n\nDraggabilly.prototype.disable = function() {\n this.isEnabled = false;\n if ( this.isDragging ) {\n this.dragEnd();\n }\n};\n\nDraggabilly.prototype.destroy = function() {\n this.disable();\n // reset styles\n if ( transformProperty ) {\n this.element.style[ transformProperty ] = '';\n }\n this.element.style.left = '';\n this.element.style.top = '';\n this.element.style.position = '';\n // unbind handles\n this.unbindHandles();\n // remove jQuery data\n if ( this.$element ) {\n this.$element.removeData('draggabilly');\n }\n};\n\n// ----- jQuery bridget ----- //\n\n// required for jQuery bridget\nDraggabilly.prototype._init = noop;\n\nif ( jQuery && jQuery.bridget ) {\n jQuery.bridget( 'draggabilly', Draggabilly );\n}\n\n// ----- ----- //\n\nreturn Draggabilly;\n\n}));\n\n}.call(window));\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/draggabilly/draggabilly.js\n ** module id = 161\n ** module chunks = 0\n **/","/*** IMPORTS FROM imports-loader ***/\nvar define = false;\n(function() {\n\n/*!\n * classie v1.0.1\n * class helper functions\n * from bonzo https://github.com/ded/bonzo\n * MIT license\n * \n * classie.has( elem, 'my-class' ) -> true/false\n * classie.add( elem, 'my-new-class' )\n * classie.remove( elem, 'my-unwanted-class' )\n * classie.toggle( elem, 'my-class' )\n */\n\n/*jshint browser: true, strict: true, undef: true, unused: true */\n/*global define: false, module: false */\n\n( function( window ) {\n\n'use strict';\n\n// class helper functions from bonzo https://github.com/ded/bonzo\n\nfunction classReg( className ) {\n return new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\");\n}\n\n// classList support for class management\n// altho to be fair, the api sucks because it won't accept multiple classes at once\nvar hasClass, addClass, removeClass;\n\nif ( 'classList' in document.documentElement ) {\n hasClass = function( elem, c ) {\n return elem.classList.contains( c );\n };\n addClass = function( elem, c ) {\n elem.classList.add( c );\n };\n removeClass = function( elem, c ) {\n elem.classList.remove( c );\n };\n}\nelse {\n hasClass = function( elem, c ) {\n return classReg( c ).test( elem.className );\n };\n addClass = function( elem, c ) {\n if ( !hasClass( elem, c ) ) {\n elem.className = elem.className + ' ' + c;\n }\n };\n removeClass = function( elem, c ) {\n elem.className = elem.className.replace( classReg( c ), ' ' );\n };\n}\n\nfunction toggleClass( elem, c ) {\n var fn = hasClass( elem, c ) ? removeClass : addClass;\n fn( elem, c );\n}\n\nvar classie = {\n // full names\n hasClass: hasClass,\n addClass: addClass,\n removeClass: removeClass,\n toggleClass: toggleClass,\n // short names\n has: hasClass,\n add: addClass,\n remove: removeClass,\n toggle: toggleClass\n};\n\n// transport\nif ( typeof define === 'function' && define.amd ) {\n // AMD\n define( classie );\n} else if ( typeof exports === 'object' ) {\n // CommonJS\n module.exports = classie;\n} else {\n // browser global\n window.classie = classie;\n}\n\n})( window );\n\n}.call(window));\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/draggabilly/~/desandro-classie/classie.js\n ** module id = 162\n ** module chunks = 0\n **/","/*** IMPORTS FROM imports-loader ***/\nvar define = false;\n(function() {\n\n/*!\n * getStyleProperty v1.0.4\n * original by kangax\n * http://perfectionkills.com/feature-testing-css-properties/\n * MIT license\n */\n\n/*jshint browser: true, strict: true, undef: true */\n/*global define: false, exports: false, module: false */\n\n( function( window ) {\n\n'use strict';\n\nvar prefixes = 'Webkit Moz ms Ms O'.split(' ');\nvar docElemStyle = document.documentElement.style;\n\nfunction getStyleProperty( propName ) {\n if ( !propName ) {\n return;\n }\n\n // test standard property first\n if ( typeof docElemStyle[ propName ] === 'string' ) {\n return propName;\n }\n\n // capitalize\n propName = propName.charAt(0).toUpperCase() + propName.slice(1);\n\n // test vendor specific properties\n var prefixed;\n for ( var i=0, len = prefixes.length; i < len; i++ ) {\n prefixed = prefixes[i] + propName;\n if ( typeof docElemStyle[ prefixed ] === 'string' ) {\n return prefixed;\n }\n }\n}\n\n// transport\nif ( typeof define === 'function' && define.amd ) {\n // AMD\n define( function() {\n return getStyleProperty;\n });\n} else if ( typeof exports === 'object' ) {\n // CommonJS for Component\n module.exports = getStyleProperty;\n} else {\n // browser global\n window.getStyleProperty = getStyleProperty;\n}\n\n})( window );\n\n}.call(window));\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/draggabilly/~/desandro-get-style-property/get-style-property.js\n ** module id = 163\n ** module chunks = 0\n **/","/*** IMPORTS FROM imports-loader ***/\nvar define = false;\n(function() {\n\n/*!\n * getSize v1.2.2\n * measure size of elements\n * MIT license\n */\n\n/*jshint browser: true, strict: true, undef: true, unused: true */\n/*global define: false, exports: false, require: false, module: false, console: false */\n\n( function( window, undefined ) {\n\n'use strict';\n\n// -------------------------- helpers -------------------------- //\n\n// get a number from a string, not a percentage\nfunction getStyleSize( value ) {\n var num = parseFloat( value );\n // not a percent like '100%', and a number\n var isValid = value.indexOf('%') === -1 && !isNaN( num );\n return isValid && num;\n}\n\nfunction noop() {}\n\nvar logError = typeof console === 'undefined' ? noop :\n function( message ) {\n console.error( message );\n };\n\n// -------------------------- measurements -------------------------- //\n\nvar measurements = [\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'paddingBottom',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marginBottom',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderTopWidth',\n 'borderBottomWidth'\n];\n\nfunction getZeroSize() {\n var size = {\n width: 0,\n height: 0,\n innerWidth: 0,\n innerHeight: 0,\n outerWidth: 0,\n outerHeight: 0\n };\n for ( var i=0, len = measurements.length; i < len; i++ ) {\n var measurement = measurements[i];\n size[ measurement ] = 0;\n }\n return size;\n}\n\n\n\nfunction defineGetSize( getStyleProperty ) {\n\n// -------------------------- setup -------------------------- //\n\nvar isSetup = false;\n\nvar getStyle, boxSizingProp, isBoxSizeOuter;\n\n/**\n * setup vars and functions\n * do it on initial getSize(), rather than on script load\n * For Firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\nfunction setup() {\n // setup once\n if ( isSetup ) {\n return;\n }\n isSetup = true;\n\n var getComputedStyle = window.getComputedStyle;\n getStyle = ( function() {\n var getStyleFn = getComputedStyle ?\n function( elem ) {\n return getComputedStyle( elem, null );\n } :\n function( elem ) {\n return elem.currentStyle;\n };\n\n return function getStyle( elem ) {\n var style = getStyleFn( elem );\n if ( !style ) {\n logError( 'Style returned ' + style +\n '. Are you running this code in a hidden iframe on Firefox? ' +\n 'See http://bit.ly/getsizebug1' );\n }\n return style;\n };\n })();\n\n // -------------------------- box sizing -------------------------- //\n\n boxSizingProp = getStyleProperty('boxSizing');\n\n /**\n * WebKit measures the outer-width on style.width on border-box elems\n * IE & Firefox measures the inner-width\n */\n if ( boxSizingProp ) {\n var div = document.createElement('div');\n div.style.width = '200px';\n div.style.padding = '1px 2px 3px 4px';\n div.style.borderStyle = 'solid';\n div.style.borderWidth = '1px 2px 3px 4px';\n div.style[ boxSizingProp ] = 'border-box';\n\n var body = document.body || document.documentElement;\n body.appendChild( div );\n var style = getStyle( div );\n\n isBoxSizeOuter = getStyleSize( style.width ) === 200;\n body.removeChild( div );\n }\n\n}\n\n// -------------------------- getSize -------------------------- //\n\nfunction getSize( elem ) {\n setup();\n\n // use querySeletor if elem is string\n if ( typeof elem === 'string' ) {\n elem = document.querySelector( elem );\n }\n\n // do not proceed on non-objects\n if ( !elem || typeof elem !== 'object' || !elem.nodeType ) {\n return;\n }\n\n var style = getStyle( elem );\n\n // if hidden, everything is 0\n if ( style.display === 'none' ) {\n return getZeroSize();\n }\n\n var size = {};\n size.width = elem.offsetWidth;\n size.height = elem.offsetHeight;\n\n var isBorderBox = size.isBorderBox = !!( boxSizingProp &&\n style[ boxSizingProp ] && style[ boxSizingProp ] === 'border-box' );\n\n // get all measurements\n for ( var i=0, len = measurements.length; i < len; i++ ) {\n var measurement = measurements[i];\n var value = style[ measurement ];\n value = mungeNonPixel( elem, value );\n var num = parseFloat( value );\n // any 'auto', 'medium' value will be 0\n size[ measurement ] = !isNaN( num ) ? num : 0;\n }\n\n var paddingWidth = size.paddingLeft + size.paddingRight;\n var paddingHeight = size.paddingTop + size.paddingBottom;\n var marginWidth = size.marginLeft + size.marginRight;\n var marginHeight = size.marginTop + size.marginBottom;\n var borderWidth = size.borderLeftWidth + size.borderRightWidth;\n var borderHeight = size.borderTopWidth + size.borderBottomWidth;\n\n var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;\n\n // overwrite width and height if we can get it from style\n var styleWidth = getStyleSize( style.width );\n if ( styleWidth !== false ) {\n size.width = styleWidth +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );\n }\n\n var styleHeight = getStyleSize( style.height );\n if ( styleHeight !== false ) {\n size.height = styleHeight +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );\n }\n\n size.innerWidth = size.width - ( paddingWidth + borderWidth );\n size.innerHeight = size.height - ( paddingHeight + borderHeight );\n\n size.outerWidth = size.width + marginWidth;\n size.outerHeight = size.height + marginHeight;\n\n return size;\n}\n\n// IE8 returns percent values, not pixels\n// taken from jQuery's curCSS\nfunction mungeNonPixel( elem, value ) {\n // IE8 and has percent value\n if ( window.getComputedStyle || value.indexOf('%') === -1 ) {\n return value;\n }\n var style = elem.style;\n // Remember the original values\n var left = style.left;\n var rs = elem.runtimeStyle;\n var rsLeft = rs && rs.left;\n\n // Put in the new values to get a computed value out\n if ( rsLeft ) {\n rs.left = elem.currentStyle.left;\n }\n style.left = value;\n value = style.pixelLeft;\n\n // Revert the changed values\n style.left = left;\n if ( rsLeft ) {\n rs.left = rsLeft;\n }\n\n return value;\n}\n\nreturn getSize;\n\n}\n\n// transport\nif ( typeof define === 'function' && define.amd ) {\n // AMD for RequireJS\n define( [ 'get-style-property/get-style-property' ], defineGetSize );\n} else if ( typeof exports === 'object' ) {\n // CommonJS for Component\n module.exports = defineGetSize( require('desandro-get-style-property') );\n} else {\n // browser global\n window.getSize = defineGetSize( window.getStyleProperty );\n}\n\n})( window );\n\n}.call(window));\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/draggabilly/~/get-size/get-size.js\n ** module id = 164\n ** module chunks = 0\n **/","/*** IMPORTS FROM imports-loader ***/\nvar define = false;\n(function() {\n\n/*!\n * Unidragger v1.1.5\n * Draggable base class\n * MIT license\n */\n\n/*jshint browser: true, unused: true, undef: true, strict: true */\n\n( function( window, factory ) {\n /*global define: false, module: false, require: false */\n 'use strict';\n // universal module definition\n\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'eventie/eventie',\n 'unipointer/unipointer'\n ], function( eventie, Unipointer ) {\n return factory( window, eventie, Unipointer );\n });\n } else if ( typeof exports == 'object' ) {\n // CommonJS\n module.exports = factory(\n window,\n require('eventie'),\n require('unipointer')\n );\n } else {\n // browser global\n window.Unidragger = factory(\n window,\n window.eventie,\n window.Unipointer\n );\n }\n\n}( window, function factory( window, eventie, Unipointer ) {\n\n'use strict';\n\n// ----- ----- //\n\nfunction noop() {}\n\n// handle IE8 prevent default\nfunction preventDefaultEvent( event ) {\n if ( event.preventDefault ) {\n event.preventDefault();\n } else {\n event.returnValue = false;\n }\n}\n\n// -------------------------- Unidragger -------------------------- //\n\nfunction Unidragger() {}\n\n// inherit Unipointer & EventEmitter\nUnidragger.prototype = new Unipointer();\n\n// ----- bind start ----- //\n\nUnidragger.prototype.bindHandles = function() {\n this._bindHandles( true );\n};\n\nUnidragger.prototype.unbindHandles = function() {\n this._bindHandles( false );\n};\n\nvar navigator = window.navigator;\n/**\n * works as unbinder, as you can .bindHandles( false ) to unbind\n * @param {Boolean} isBind - will unbind if falsey\n */\nUnidragger.prototype._bindHandles = function( isBind ) {\n // munge isBind, default to true\n isBind = isBind === undefined ? true : !!isBind;\n // extra bind logic\n var binderExtra;\n if ( navigator.pointerEnabled ) {\n binderExtra = function( handle ) {\n // disable scrolling on the element\n handle.style.touchAction = isBind ? 'none' : '';\n };\n } else if ( navigator.msPointerEnabled ) {\n binderExtra = function( handle ) {\n // disable scrolling on the element\n handle.style.msTouchAction = isBind ? 'none' : '';\n };\n } else {\n binderExtra = function() {\n // TODO re-enable img.ondragstart when unbinding\n if ( isBind ) {\n disableImgOndragstart( handle );\n }\n };\n }\n // bind each handle\n var bindMethod = isBind ? 'bind' : 'unbind';\n for ( var i=0, len = this.handles.length; i < len; i++ ) {\n var handle = this.handles[i];\n this._bindStartEvent( handle, isBind );\n binderExtra( handle );\n eventie[ bindMethod ]( handle, 'click', this );\n }\n};\n\n// remove default dragging interaction on all images in IE8\n// IE8 does its own drag thing on images, which messes stuff up\n\nfunction noDragStart() {\n return false;\n}\n\n// TODO replace this with a IE8 test\nvar isIE8 = 'attachEvent' in document.documentElement;\n\n// IE8 only\nvar disableImgOndragstart = !isIE8 ? noop : function( handle ) {\n\n if ( handle.nodeName == 'IMG' ) {\n handle.ondragstart = noDragStart;\n }\n\n var images = handle.querySelectorAll('img');\n for ( var i=0, len = images.length; i < len; i++ ) {\n var img = images[i];\n img.ondragstart = noDragStart;\n }\n};\n\n// ----- start event ----- //\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nUnidragger.prototype.pointerDown = function( event, pointer ) {\n // dismiss range sliders\n if ( event.target.nodeName == 'INPUT' && event.target.type == 'range' ) {\n // reset pointerDown logic\n this.isPointerDown = false;\n delete this.pointerIdentifier;\n return;\n }\n\n this._dragPointerDown( event, pointer );\n // kludge to blur focused inputs in dragger\n var focused = document.activeElement;\n if ( focused && focused.blur ) {\n focused.blur();\n }\n // bind move and end events\n this._bindPostStartEvents( event );\n // track scrolling\n this.pointerDownScroll = Unidragger.getScrollPosition();\n eventie.bind( window, 'scroll', this );\n\n this.emitEvent( 'pointerDown', [ event, pointer ] );\n};\n\n// base pointer down logic\nUnidragger.prototype._dragPointerDown = function( event, pointer ) {\n // track to see when dragging starts\n this.pointerDownPoint = Unipointer.getPointerPoint( pointer );\n\n // prevent default, unless touchstart or