From 762f6caf1e93fcb73caa882ed5dfd703364a78be Mon Sep 17 00:00:00 2001 From: Eric Defore Date: Mon, 2 Mar 2020 09:15:54 -0500 Subject: [PATCH] Ensure that the full label is always visible for Radios --- assets/dist/css/rbm-fh-select2.min.css | 544 +- .../dist/css/rbm-field-helpers-admin.min.css | 1257 ++- assets/dist/js/rbm-field-helpers-admin.min.js | 7108 ++++++++++++++++- .../src/scss/admin/fields/_field-radio.scss | 2 - 4 files changed, 8906 insertions(+), 5 deletions(-) diff --git a/assets/dist/css/rbm-fh-select2.min.css b/assets/dist/css/rbm-fh-select2.min.css index 6977be5..d3f1645 100644 --- a/assets/dist/css/rbm-fh-select2.min.css +++ b/assets/dist/css/rbm-fh-select2.min.css @@ -1 +1,543 @@ -.select2-container{-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{-webkit-box-sizing:border-box;box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),to(#eee));background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(#ccc));background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,from(white),color-stop(50%,#eee));background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(white));background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;-webkit-box-shadow:none;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} \ No newline at end of file +.select2-container { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + margin: 0; + position: relative; + vertical-align: middle; } + +.select2-container .select2-selection--single { + -webkit-box-sizing: border-box; + box-sizing: border-box; + cursor: pointer; + display: block; + height: 28px; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; } + +.select2-container .select2-selection--single .select2-selection__rendered { + display: block; + padding-left: 8px; + padding-right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + +.select2-container .select2-selection--single .select2-selection__clear { + position: relative; } + +.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { + padding-right: 8px; + padding-left: 20px; } + +.select2-container .select2-selection--multiple { + -webkit-box-sizing: border-box; + box-sizing: border-box; + cursor: pointer; + display: block; + min-height: 32px; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; } + +.select2-container .select2-selection--multiple .select2-selection__rendered { + display: inline-block; + overflow: hidden; + padding-left: 8px; + text-overflow: ellipsis; + white-space: nowrap; } + +.select2-container .select2-search--inline { + float: left; } + +.select2-container .select2-search--inline .select2-search__field { + -webkit-box-sizing: border-box; + box-sizing: border-box; + border: none; + font-size: 100%; + margin-top: 5px; + padding: 0; } + +.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + +.select2-dropdown { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: block; + position: absolute; + left: -100000px; + width: 100%; + z-index: 1051; } + +.select2-results { + display: block; } + +.select2-results__options { + list-style: none; + margin: 0; + padding: 0; } + +.select2-results__option { + padding: 6px; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; } + +.select2-results__option[aria-selected] { + cursor: pointer; } + +.select2-container--open .select2-dropdown { + left: 0; } + +.select2-container--open .select2-dropdown--above { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--open .select2-dropdown--below { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-search--dropdown { + display: block; + padding: 4px; } + +.select2-search--dropdown .select2-search__field { + padding: 4px; + width: 100%; + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + +.select2-search--dropdown.select2-search--hide { + display: none; } + +.select2-close-mask { + border: 0; + margin: 0; + padding: 0; + display: block; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 99; + background-color: #fff; + filter: alpha(opacity=0); } + +.select2-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + height: 1px !important; + margin: -1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; } + +.select2-container--default .select2-selection--single { + background-color: #fff; + border: 1px solid #aaa; + border-radius: 4px; } + +.select2-container--default .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + +.select2-container--default .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; } + +.select2-container--default .select2-selection--single .select2-selection__placeholder { + color: #999; } + +.select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; } + +.select2-container--default .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; } + +.select2-container--default.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; } + +.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; } + +.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--default .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; } + +.select2-container--default .select2-selection--multiple .select2-selection__rendered { + -webkit-box-sizing: border-box; + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; } + +.select2-container--default .select2-selection--multiple .select2-selection__rendered li { + list-style: none; } + +.select2-container--default .select2-selection--multiple .select2-selection__placeholder { + color: #999; + margin-top: 5px; + float: left; } + +.select2-container--default .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px; } + +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + +.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + +.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--default.select2-container--focus .select2-selection--multiple { + border: solid black 1px; + outline: 0; } + +.select2-container--default.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; } + +.select2-container--default.select2-container--disabled .select2-selection__choice__remove { + display: none; } + +.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; } + +.select2-container--default .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-appearance: textfield; } + +.select2-container--default .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--default .select2-results__option[role=group] { + padding: 0; } + +.select2-container--default .select2-results__option[aria-disabled=true] { + color: #999; } + +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #ddd; } + +.select2-container--default .select2-results__option .select2-results__option { + padding-left: 1em; } + +.select2-container--default .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; } + +.select2-container--default .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; } + +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; } + +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; } + +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; } + +.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; } + +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #5897fb; + color: white; } + +.select2-container--default .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic .select2-selection--single { + background-color: #f7f7f7; + border: 1px solid #aaa; + border-radius: 4px; + outline: 0; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, white), to(#eeeeee)); + background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + +.select2-container--classic .select2-selection--single:focus { + border: 1px solid #5897fb; } + +.select2-container--classic .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + +.select2-container--classic .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-right: 10px; } + +.select2-container--classic .select2-selection--single .select2-selection__placeholder { + color: #999; } + +.select2-container--classic .select2-selection--single .select2-selection__arrow { + background-color: #ddd; + border: none; + border-left: 1px solid #aaa; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eeeeee), to(#cccccc)); + background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } + +.select2-container--classic .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { + border: none; + border-right: 1px solid #aaa; + border-radius: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + left: 1px; + right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--single { + border: 1px solid #5897fb; } + +.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { + background: transparent; + border: none; } + +.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + background-image: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(50%, #eeeeee)); + background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #eeeeee), to(white)); + background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } + +.select2-container--classic .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; + outline: 0; } + +.select2-container--classic .select2-selection--multiple:focus { + border: 1px solid #5897fb; } + +.select2-container--classic .select2-selection--multiple .select2-selection__rendered { + list-style: none; + margin: 0; + padding: 0 5px; } + +.select2-container--classic .select2-selection--multiple .select2-selection__clear { + display: none; } + +.select2-container--classic .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + +.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { + color: #888; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + +.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #555; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + float: right; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--multiple { + border: 1px solid #5897fb; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--classic .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; + outline: 0; } + +.select2-container--classic .select2-search--inline .select2-search__field { + outline: 0; + -webkit-box-shadow: none; + box-shadow: none; } + +.select2-container--classic .select2-dropdown { + background-color: white; + border: 1px solid transparent; } + +.select2-container--classic .select2-dropdown--above { + border-bottom: none; } + +.select2-container--classic .select2-dropdown--below { + border-top: none; } + +.select2-container--classic .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--classic .select2-results__option[role=group] { + padding: 0; } + +.select2-container--classic .select2-results__option[aria-disabled=true] { + color: grey; } + +.select2-container--classic .select2-results__option--highlighted[aria-selected] { + background-color: #3875d7; + color: white; } + +.select2-container--classic .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic.select2-container--open .select2-dropdown { + border-color: #5897fb; } + +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zZWxlY3QyL2Rpc3QvY3NzL3NlbGVjdDIuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsK0JBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsVUFBUztFQUNULG1CQUFrQjtFQUNsQix1QkFBc0IsRUFBSTs7QUFDMUI7RUFDRSwrQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGdCQUFlO0VBQ2YsZUFBYztFQUNkLGFBQVk7RUFDWix1QkFBaUI7R0FBakIsc0JBQWlCO09BQWpCLGtCQUFpQjtFQUNqQiwwQkFBeUIsRUFBSTs7QUFDN0I7RUFDRSxlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLG9CQUFtQjtFQUNuQixpQkFBZ0I7RUFDaEIsd0JBQXVCO0VBQ3ZCLG9CQUFtQixFQUFJOztBQUN6QjtFQUNFLG1CQUFrQixFQUFJOztBQUMxQjtFQUNFLG1CQUFrQjtFQUNsQixtQkFBa0IsRUFBSTs7QUFDeEI7RUFDRSwrQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGdCQUFlO0VBQ2YsZUFBYztFQUNkLGlCQUFnQjtFQUNoQix1QkFBaUI7R0FBakIsc0JBQWlCO09BQWpCLGtCQUFpQjtFQUNqQiwwQkFBeUIsRUFBSTs7QUFDN0I7RUFDRSxzQkFBcUI7RUFDckIsaUJBQWdCO0VBQ2hCLGtCQUFpQjtFQUNqQix3QkFBdUI7RUFDdkIsb0JBQW1CLEVBQUk7O0FBQzNCO0VBQ0UsWUFBVyxFQUFJOztBQUNmO0VBQ0UsK0JBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixhQUFZO0VBQ1osZ0JBQWU7RUFDZixnQkFBZTtFQUNmLFdBQVUsRUFBSTs7QUFDZDtFQUNFLHlCQUF3QixFQUFJOztBQUVwQztFQUNFLHdCQUF1QjtFQUN2Qix1QkFBc0I7RUFDdEIsbUJBQWtCO0VBQ2xCLCtCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixnQkFBZTtFQUNmLFlBQVc7RUFDWCxj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RUFBSTs7QUFDbkI7RUFDRSwwQkFBeUI7RUFDekIsdUJBQXNCO0VBQ3RCLG1CQUFrQjtFQUNsQixnQkFBZTtFQUNmLFlBQVc7RUFDWCxrQkFBaUI7RUFDakIsZ0JBQWU7RUFDZixlQUFjLEVBQUk7O0FBQ3BCO0VBQ0UsWUFBVztFQUNYLGdCQUFlO0VBQ2Ysc0JBQXFCO0VBQ3JCLGtCQUFpQjtFQUNqQixrQkFBaUIsRUFBSTs7QUFDckI7RUFDRSxZQUFXLEVBQUk7O0FBRXJCO0VBQ0UsYUFBWSxFQUFJOztBQUVsQjtFQUNFLGlCQUFnQjtFQUNoQixtQkFBa0IsRUFBSTs7QUFFeEI7RUFDRSxpQkFBZ0I7RUFDaEIsbUJBQWtCLEVBQUk7O0FBRXhCO0VBQ0UsMEJBQXlCLEVBQUk7O0FBRS9CO0VBQ0UsaUJBQWdCO0VBQ2hCLDBCQUF5QjtFQUN6QiwyQkFBMEIsRUFBSTs7QUFFaEM7RUFDRSxvQkFBbUI7RUFDbkIsNkJBQTRCO0VBQzVCLDhCQUE2QixFQUFJOztBQUVuQztFQUNFLHVCQUFzQjtFQUN0QixXQUFVLEVBQUk7O0FBRWhCO0VBQ0UsV0FBVTtFQUNWLHlCQUFnQjtVQUFoQixpQkFBZ0IsRUFBSTs7QUFFdEI7RUFDRSx3QkFBdUI7RUFDdkIsOEJBQTZCLEVBQUk7O0FBRW5DO0VBQ0Usb0JBQW1CLEVBQUk7O0FBRXpCO0VBQ0UsaUJBQWdCLEVBQUk7O0FBRXRCO0VBQ0Usa0JBQWlCO0VBQ2pCLGlCQUFnQixFQUFJOztBQUV0QjtFQUNFLFdBQVUsRUFBSTs7QUFFaEI7RUFDRSxZQUFXLEVBQUk7O0FBRWpCO0VBQ0UsMEJBQXlCO0VBQ3pCLGFBQVksRUFBSTs7QUFFbEI7RUFDRSxnQkFBZTtFQUNmLGVBQWM7RUFDZCxhQUFZLEVBQUk7O0FBRWxCO0VBQ0Usc0JBQXFCLEVBQUkiLCJmaWxlIjoicmJtLWZoLXNlbGVjdDIuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnNlbGVjdDItY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjhweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lcltkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLWhlaWdodDogMzJweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUgLnNlbGVjdDItc2VhcmNoX19maWVsZDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAwMDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwNTE7IH1cblxuLnNlbGVjdDItcmVzdWx0cyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgcGFkZGluZzogNnB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZF0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24ge1xuICBsZWZ0OiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24tLWJlbG93IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHg7IH1cbiAgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93bi5zZWxlY3QyLXNlYXJjaC0taGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jbG9zZS1tYXNrIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOyB9XG5cbi5zZWxlY3QyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgY29sb3I6ICM0NDQ7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOTk5OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXB4O1xuICAgIHJpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDIwcHg7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzg4OCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDVweCA0cHggMCA0cHg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gIGxlZnQ6IDFweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzg4OCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAwIDRweCA1cHggNHB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiB0ZXh0OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHBhZGRpbmc6IDAgNXB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIsIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1mb2N1cyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyOiBzb2xpZCBibGFjayAxcHg7XG4gIG91dGxpbmU6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0cyA+IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW3JvbGU9Z3JvdXBdIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBjb2xvcjogIzk5OTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIHBhZGRpbmctbGVmdDogMmVtOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogLTJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogM2VtOyB9XG4gICAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtM2VtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRlbTsgfVxuICAgICAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNGVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNWVtOyB9XG4gICAgICAgICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTVlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNmVtOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2FyaWEtc2VsZWN0ZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU4OTdmYjtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19ncm91cCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDZweDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG91dGxpbmU6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgd2hpdGUgNTAlLCAjZWVlZWVlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSA1MCUsICNlZWVlZWUgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHdoaXRlIDUwJSwgI2VlZWVlZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjRkZGRkZGRkYnLCBlbmRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgR3JhZGllbnRUeXBlPTApOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgY29sb3I6ICM0NDQ7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYWFhO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXB4O1xuICAgIHJpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlZWVlIDUwJSwgI2NjY2NjYyAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlZWVlIDUwJSwgI2NjY2NjYyAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWVlZWVlIDUwJSwgI2NjY2NjYyAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgZW5kQ29sb3JzdHI9JyNGRkNDQ0NDQycsIEdyYWRpZW50VHlwZT0wKTsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODg4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwIDRweDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgbGVmdDogMXB4O1xuICByaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzg4OCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci13aWR0aDogMCA0cHggNXB4IDRweDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWFib3ZlIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgd2hpdGUgMCUsICNlZWVlZWUgNTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgd2hpdGUgMCUsICNlZWVlZWUgNTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgd2hpdGUgMCUsICNlZWVlZWUgNTAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjRkZGRkZGRkYnLCBlbmRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgR3JhZGllbnRUeXBlPTApOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYmVsb3cgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZWVlZWVlIDUwJSwgd2hpdGUgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNlZWVlZWUgNTAlLCB3aGl0ZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VlZWVlZSA1MCUsIHdoaXRlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGRkVFRUVFRScsIGVuZENvbG9yc3RyPScjRkZGRkZGRkYnLCBHcmFkaWVudFR5cGU9MCk7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHRleHQ7XG4gIG91dGxpbmU6IDA7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGU6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHBhZGRpbmc6IDAgNXB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNTU1OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUge1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYmVsb3cgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBvdXRsaW5lOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgb3V0bGluZTogMDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLWRyb3Bkb3duLS1iZWxvdyB7XG4gIGJvcmRlci10b3A6IG5vbmU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHMgPiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIHtcbiAgbWF4LWhlaWdodDogMjAwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbltyb2xlPWdyb3VwXSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgY29sb3I6IGdyZXk7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg3NWQ3O1xuICBjb2xvcjogd2hpdGU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXJlc3VsdHNfX2dyb3VwIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNnB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJvcmRlci1jb2xvcjogIzU4OTdmYjsgfVxuIl19 */ diff --git a/assets/dist/css/rbm-field-helpers-admin.min.css b/assets/dist/css/rbm-field-helpers-admin.min.css index 91b3677..feddbda 100644 --- a/assets/dist/css/rbm-field-helpers-admin.min.css +++ b/assets/dist/css/rbm-field-helpers-admin.min.css @@ -1 +1,1256 @@ -.flatpickr-calendar{background:0 0;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08)}.flatpickr-calendar.inline,.flatpickr-calendar.open{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasTime .dayContainer,.flatpickr-calendar .hasWeeks .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:after,.flatpickr-calendar:before{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.rightMost:after,.flatpickr-calendar.rightMost:before{left:auto;right:22px}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowTop:before{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:after,.flatpickr-calendar.arrowBottom:before{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:0 0;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9)}.flatpickr-months .flatpickr-next-month.flatpickr-disabled,.flatpickr-months .flatpickr-prev-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-next-month i,.flatpickr-months .flatpickr-prev-month i{position:relative}.flatpickr-months .flatpickr-next-month.flatpickr-prev-month,.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-next-month.flatpickr-next-month,.flatpickr-months .flatpickr-prev-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-next-month:hover,.flatpickr-months .flatpickr-prev-month:hover{color:#959ea9}.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-next-month svg,.flatpickr-months .flatpickr-prev-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-next-month svg path,.flatpickr-months .flatpickr-prev-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-inner-spin-button,.numInputWrapper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,.5)}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,.9)}.flatpickr-current-month input.cur-year{background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,.5);background:0 0;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:0 0;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:0;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:active,.flatpickr-current-month .flatpickr-monthDropdown-months:focus{outline:0}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:0;padding:0}.flatpickr-weekdays{background:0 0;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:0 0;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:0 0;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.today.inRange,.flatpickr-day:focus,.flatpickr-day:hover{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:focus,.flatpickr-day.today:hover{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.endRange.startRange,.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.endRange.endRange,.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.endRange.startRange.endRange,.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.nextMonthDay,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.prevMonthDay{color:rgba(57,57,57,.3);background:0 0;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,.3);background:0 0;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:0 0;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-am-pm,.flatpickr-time .flatpickr-time-separator{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time .flatpickr-am-pm:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time input:hover{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.fieldhelpers-fieldset{border:1px solid #ddd;padding:.5em}.fieldhelpers-col{-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em;float:left}.fieldhelpers-col-1{-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em;float:left;width:100%}@media only screen and (max-width:640px){.fieldhelpers-col-1{width:100%}}.fieldhelpers-col-2{-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em;float:left;width:50%}@media only screen and (max-width:640px){.fieldhelpers-col-2{width:100%}}.fieldhelpers-col-3{-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em;float:left;width:33.33333%}@media only screen and (max-width:640px){.fieldhelpers-col-3{width:100%}}.fieldhelpers-col-4{-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em;float:left;width:25%}@media only screen and (max-width:640px){.fieldhelpers-col-4{width:100%}}.fieldhelpers-col-5{-webkit-box-sizing:border-box;box-sizing:border-box;padding:.5em;float:left;width:20%}@media only screen and (max-width:640px){.fieldhelpers-col-5{width:100%}}.fieldhelpers-field{margin-bottom:1em}.fieldhelpers-field-header{margin-bottom:.5em}.fieldhelpers-field-content [data-image-preview],.fieldhelpers-field-content>*{max-width:100%}.fieldhelpers-field-checkbox-container{display:inline-block;border:1px solid #dfdfdf;background:#fff;width:300px;max-width:100%}.fieldhelpers-field-checkbox-row{position:relative;cursor:pointer;-webkit-transition:background 150ms;transition:background 150ms;line-height:30px}.fieldhelpers-field-checkbox-row:hover{background:#f2f2f2;-webkit-transition:background 0s;transition:background 0s}.fieldhelpers-field-checkbox-row:after{content:'';clear:both;display:table}.fieldhelpers-field-checkbox-row:not(:last-of-type){border-bottom:1px solid #dfdfdf}.fieldhelpers-field-checkbox-row.fieldhelpers-field-checkbox-row-active{background:#007ab1}.fieldhelpers-field-checkbox-row.fieldhelpers-field-checkbox-row-active:hover{background:#006898}.fieldhelpers-field-checkbox-row.fieldhelpers-field-checkbox-row-active .fieldhelpers-field-checkbox-label{color:#fff}.fieldhelpers-field-checkbox-row .fieldhelpers-field-checkbox-input-container{width:15%;float:left;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.fieldhelpers-field-checkbox-row input[type=checkbox]{margin:.5em .5em}.fieldhelpers-field-checkbox-row .fieldhelpers-field-checkbox-label{display:block;float:left;width:85%;font-weight:700;padding:0 .5em;border-left:1px solid #dfdfdf;line-height:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.fieldhelpers-field-colorpicker{position:relative}.fieldhelpers-field-colorpicker .wp-picker-holder{position:absolute;left:0;top:100%;-webkit-box-shadow:5px 5px 30px rgba(0,0,0,.5);box-shadow:5px 5px 30px rgba(0,0,0,.5);z-index:100}input[readonly].fieldhelpers-field-datepicker-preview,input[readonly].fieldhelpers-field-datetimepicker-preview,input[readonly].fieldhelpers-field-timepicker-preview{background-color:#fff}.fieldhelpers-field-hidden{display:none}.fieldhelpers-field-list .fieldhelpers-field-list-item{border:1px solid #ddd;background-color:#fff;padding:.5em;margin-bottom:.5em;cursor:move}.fieldhelpers-field-list .fieldhelpers-field-list-item-handle{color:#bbb}.fieldhelpers-media-uploader .media-url{display:block;width:100%;word-break:break-all;-webkit-box-sizing:border-box;box-sizing:border-box}.fieldhelpers-media-uploader .image-preview{max-width:100%}.fieldhelpers-field-number .fieldhelpers-field-number-container{width:100px}.fieldhelpers-field-number .fieldhelpers-field-number-container[data-postfix]{position:relative}.fieldhelpers-field-number .fieldhelpers-field-number-container[data-postfix]:after{content:attr(data-postfix);position:absolute;right:calc(20px + .5em);top:50%;color:#aaa;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.fieldhelpers-field-number input[type=text].fieldhelpers-field-input{height:40px;line-height:40px;width:80px;padding:0;margin:0;float:left;text-align:center}.fieldhelpers-field-number .fieldhelpers-field-number-decrease,.fieldhelpers-field-number .fieldhelpers-field-number-increase{display:block;height:20px;width:20px;line-height:20px;padding:0;font-size:14px;color:#fff;background:#007ab1;border:1px solid #006898;-webkit-box-shadow:0 1px 0 #006898;box-shadow:0 1px 0 #006898;outline:0;border-radius:0;cursor:pointer}.fieldhelpers-field-number .fieldhelpers-field-number-decrease:hover,.fieldhelpers-field-number .fieldhelpers-field-number-increase:hover{color:#fff;background:#008ccb;border-color:#007ab1;-webkit-box-shadow:0 1px 0 #007ab1;box-shadow:0 1px 0 #007ab1}.fieldhelpers-field-number .fieldhelpers-field-number-decrease:active,.fieldhelpers-field-number .fieldhelpers-field-number-increase:active{-webkit-transform:translateY(1px);-ms-transform:translateY(1px);transform:translateY(1px)}.fieldhelpers-field-number .fieldhelpers-field-number-decrease .dashicons,.fieldhelpers-field-number .fieldhelpers-field-number-increase .dashicons{font-size:inherit;line-height:inherit;width:auto;height:auto}.fieldhelpers-field-number .fieldhelpers-field-number-increase{border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-width:0}.fieldhelpers-field-number .fieldhelpers-field-number-decrease{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.fieldhelpers-field-radio-container{display:inline-block;border:1px solid #dfdfdf;background:#fff;width:300px;max-width:100%}.fieldhelpers-field-radio-row{position:relative;cursor:pointer;-webkit-transition:background 150ms;transition:background 150ms;height:30px}.fieldhelpers-field-radio-row:hover{background:#f2f2f2;-webkit-transition:background 0s;transition:background 0s}.fieldhelpers-field-radio-row:after{content:'';clear:both;display:table}.fieldhelpers-field-radio-row:not(:last-of-type){border-bottom:1px solid #dfdfdf}.fieldhelpers-field-radio-row.fieldhelpers-field-radio-row-active{background:#007ab1}.fieldhelpers-field-radio-row.fieldhelpers-field-radio-row-active:hover{background:#006898}.fieldhelpers-field-radio-row.fieldhelpers-field-radio-row-active .fieldhelpers-field-radio-label{color:#fff}.fieldhelpers-field-radio-row .fieldhelpers-field-radio-input-container{width:15%;float:left;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.fieldhelpers-field-radio-row input[type=radio]{margin:.5em .5em}.fieldhelpers-field-radio-row .fieldhelpers-field-radio-label{display:block;float:left;width:85%;font-weight:700;padding:0 .5em;border-left:1px solid #dfdfdf;height:30px;line-height:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.fieldhelpers-field-repeater-label{font-weight:700}.fieldhelpers-field-repeater-list .fieldhelpers-sortable-placeholder{border:3px dashed #ddd}.fieldhelpers-field-repeater-list .fieldhelpers-field-repeater-content:after{content:'';display:table;clear:both}.fieldhelpers-field-repeater-row{padding:.5em;margin:.5em 0;border:1px solid #ddd;background:#fff}.fieldhelpers-field-repeater-row:before{content:'';display:table;clear:both}.fieldhelpers-field-repeater-row.ui-sortable-helper{opacity:.5}.fieldhelpers-field-repeater-row .fieldhelpers-field-repeater-handle{height:20px;cursor:move;margin-bottom:10px;background-image:-webkit-repeating-radial-gradient(center center,rgba(0,0,0,.2),rgba(0,0,0,.2) 1px,transparent 1px,transparent 100%);background-image:repeating-radial-gradient(center center,rgba(0,0,0,.2),rgba(0,0,0,.2) 1px,transparent 1px,transparent 100%);background-size:3px 3px}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-content{display:none}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-header-interior{padding:0 .5em 0 .5em}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-header-interior .fieldhelpers-field-repeater-delete-button{float:right}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-collapsable-handle{cursor:pointer}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-row.opened .fieldhelpers-field-repeater-collapsable-collapse-icon{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-collapsable-collapse-icon{-webkit-transition:-webkit-transform .3s ease-in 0s;transition:-webkit-transform .3s ease-in 0s;transition:transform .3s ease-in 0s;transition:transform .3s ease-in 0s,-webkit-transform .3s ease-in 0s}.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-collapsable-collapse-icon:hover{cursor:pointer}.select2-container--default .fieldhelpers-select2.select2-selection--multiple.select2-selection,.select2-container--default .fieldhelpers-select2.select2-selection--single.select2-selection{border-radius:0;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);outline:0;margin:1px;height:auto}.select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-selection__rendered,.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-selection__rendered{line-height:inherit;padding:3px 5px;font-size:14px}.select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-search,.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-search{margin-bottom:0}.select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-selection__choice,.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-selection__choice{border-radius:0}.select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-selection__clear,.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-selection__clear{margin-right:15px}.select2-container--default .fieldhelpers-select2.select2-dropdown{border-radius:0;border:1px solid #ddd;-webkit-box-shadow:5px 5px 40px rgba(0,0,0,.3);box-shadow:5px 5px 40px rgba(0,0,0,.3)}.select2-container--default .fieldhelpers-select2.select2-dropdown .select2-results__option--highlighted[aria-selected]{background-color:#007ab1}.select2-container--default .fieldhelpers-select2.select2-dropdown .select2-results__option{margin-bottom:0}.fieldhelpers-field-table .fieldhelpers-field-table-loading{text-align:center}.fieldhelpers-field-table .fieldhelpers-field-table-loading .spinner{float:none;display:inline-block}.fieldhelpers-field-table table{width:100%;border-collapse:collapse}.fieldhelpers-field-table td,.fieldhelpers-field-table th{padding:5px}.fieldhelpers-field-table thead input[type=text]{background:#fff78a}.fieldhelpers-field-table input[type=text]{width:100%}.fieldhelpers-field-table .fieldhelpers-field-table-delete-columns{text-align:center}.fieldhelpers-field-toggle-container{position:relative;display:inline-block;width:60px;height:34px}.fieldhelpers-field-toggle-container.checked .fieldhelpers-field-toggle-slider{background-color:#007ab1}.fieldhelpers-field-toggle-container.checked .fieldhelpers-field-toggle-slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translateX(26px)}.fieldhelpers-field-toggle-container .fieldhelpers-field-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.fieldhelpers-field-toggle-container .fieldhelpers-field-toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.fieldhelpers-field-wysiwyg-label{font-weight:700}.fieldhelpers-field-tip{position:relative;display:inline-block}.fieldhelpers-field-tip.fieldhelpers-field-tip-align-left .fieldhelpers-field-tip-text{left:-10px}.fieldhelpers-field-tip.fieldhelpers-field-tip-align-left .fieldhelpers-field-tip-text:before{left:10px}.fieldhelpers-field-tip.fieldhelpers-field-tip-align-right .fieldhelpers-field-tip-text{right:-10px}.fieldhelpers-field-tip.fieldhelpers-field-tip-align-right .fieldhelpers-field-tip-text:before{right:10px}.fieldhelpers-field-tip:hover .fieldhelpers-field-tip-text{visibility:visible;opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.fieldhelpers-field-tip:hover .fieldhelpers-field-tip-toggle{color:#007ab1}.fieldhelpers-field-tip .fieldhelpers-field-tip-toggle{cursor:pointer;-webkit-transition:color .3s;transition:color .3s}.fieldhelpers-field-tip .fieldhelpers-field-tip-text{position:absolute;visibility:hidden;opacity:0;top:100%;margin-top:15px;background:#007ab1;color:#fff;padding:1em;width:300px;text-align:left;-webkit-box-shadow:5px 5px 40px rgba(0,0,0,.3);box-shadow:5px 5px 40px rgba(0,0,0,.3);-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px);-webkit-transition:visibility .3s,opacity .3s,-webkit-transform .3s;transition:visibility .3s,opacity .3s,-webkit-transform .3s;transition:visibility .3s,opacity .3s,transform .3s;transition:visibility .3s,opacity .3s,transform .3s,-webkit-transform .3s;z-index:100}.fieldhelpers-field-tip .fieldhelpers-field-tip-text:before{content:'';position:absolute;bottom:100%;width:0;height:0;border-style:solid;border-width:0 10px 10px 10px;border-color:transparent transparent #007ab1 transparent}.fieldhelpers-field-tip .fieldhelpers-field-tip-text:after{content:'';position:absolute;bottom:100%;left:0;width:100%;height:15px}.fieldhelpers-field-tip .fieldhelpers-field-tip-text a{color:inherit!important;text-decoration:underline} \ No newline at end of file +.flatpickr-calendar { + background: transparent; + opacity: 0; + display: none; + text-align: center; + visibility: hidden; + padding: 0; + -webkit-animation: none; + animation: none; + direction: ltr; + border: 0; + font-size: 14px; + line-height: 24px; + border-radius: 5px; + position: absolute; + width: 307.875px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -ms-touch-action: manipulation; + touch-action: manipulation; + background: #fff; + -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08); + box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08); } + +.flatpickr-calendar.open, +.flatpickr-calendar.inline { + opacity: 1; + max-height: 640px; + visibility: visible; } + +.flatpickr-calendar.open { + display: inline-block; + z-index: 99999; } + +.flatpickr-calendar.animate.open { + -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1); + animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1); } + +.flatpickr-calendar.inline { + display: block; + position: relative; + top: 2px; } + +.flatpickr-calendar.static { + position: absolute; + top: calc(100% + 2px); } + +.flatpickr-calendar.static.open { + z-index: 999; + display: block; } + +.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) { + -webkit-box-shadow: none !important; + box-shadow: none !important; } + +.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) { + -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; + box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; } + +.flatpickr-calendar .hasWeeks .dayContainer, +.flatpickr-calendar .hasTime .dayContainer { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + +.flatpickr-calendar .hasWeeks .dayContainer { + border-left: 0; } + +.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time { + height: 40px; + border-top: 1px solid #e6e6e6; } + +.flatpickr-calendar.noCalendar.hasTime .flatpickr-time { + height: auto; } + +.flatpickr-calendar:before, +.flatpickr-calendar:after { + position: absolute; + display: block; + pointer-events: none; + border: solid transparent; + content: ''; + height: 0; + width: 0; + left: 22px; } + +.flatpickr-calendar.rightMost:before, +.flatpickr-calendar.rightMost:after { + left: auto; + right: 22px; } + +.flatpickr-calendar:before { + border-width: 5px; + margin: 0 -5px; } + +.flatpickr-calendar:after { + border-width: 4px; + margin: 0 -4px; } + +.flatpickr-calendar.arrowTop:before, +.flatpickr-calendar.arrowTop:after { + bottom: 100%; } + +.flatpickr-calendar.arrowTop:before { + border-bottom-color: #e6e6e6; } + +.flatpickr-calendar.arrowTop:after { + border-bottom-color: #fff; } + +.flatpickr-calendar.arrowBottom:before, +.flatpickr-calendar.arrowBottom:after { + top: 100%; } + +.flatpickr-calendar.arrowBottom:before { + border-top-color: #e6e6e6; } + +.flatpickr-calendar.arrowBottom:after { + border-top-color: #fff; } + +.flatpickr-calendar:focus { + outline: 0; } + +.flatpickr-wrapper { + position: relative; + display: inline-block; } + +.flatpickr-months { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + +.flatpickr-months .flatpickr-month { + background: transparent; + color: rgba(0, 0, 0, 0.9); + fill: rgba(0, 0, 0, 0.9); + height: 34px; + line-height: 1; + text-align: center; + position: relative; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + overflow: hidden; + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; } + +.flatpickr-months .flatpickr-prev-month, +.flatpickr-months .flatpickr-next-month { + text-decoration: none; + cursor: pointer; + position: absolute; + top: 0; + height: 34px; + padding: 10px; + z-index: 3; + color: rgba(0, 0, 0, 0.9); + fill: rgba(0, 0, 0, 0.9); } + +.flatpickr-months .flatpickr-prev-month.flatpickr-disabled, +.flatpickr-months .flatpickr-next-month.flatpickr-disabled { + display: none; } + +.flatpickr-months .flatpickr-prev-month i, +.flatpickr-months .flatpickr-next-month i { + position: relative; } + +.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, +.flatpickr-months .flatpickr-next-month.flatpickr-prev-month { + /* + /*rtl:begin:ignore*/ + /* + */ + left: 0; + /* + /*rtl:end:ignore*/ + /* + */ } + +/* + /*rtl:begin:ignore*/ +/* + /*rtl:end:ignore*/ +.flatpickr-months .flatpickr-prev-month.flatpickr-next-month, +.flatpickr-months .flatpickr-next-month.flatpickr-next-month { + /* + /*rtl:begin:ignore*/ + /* + */ + right: 0; + /* + /*rtl:end:ignore*/ + /* + */ } + +/* + /*rtl:begin:ignore*/ +/* + /*rtl:end:ignore*/ +.flatpickr-months .flatpickr-prev-month:hover, +.flatpickr-months .flatpickr-next-month:hover { + color: #959ea9; } + +.flatpickr-months .flatpickr-prev-month:hover svg, +.flatpickr-months .flatpickr-next-month:hover svg { + fill: #f64747; } + +.flatpickr-months .flatpickr-prev-month svg, +.flatpickr-months .flatpickr-next-month svg { + width: 14px; + height: 14px; } + +.flatpickr-months .flatpickr-prev-month svg path, +.flatpickr-months .flatpickr-next-month svg path { + -webkit-transition: fill 0.1s; + transition: fill 0.1s; + fill: inherit; } + +.numInputWrapper { + position: relative; + height: auto; } + +.numInputWrapper input, +.numInputWrapper span { + display: inline-block; } + +.numInputWrapper input { + width: 100%; } + +.numInputWrapper input::-ms-clear { + display: none; } + +.numInputWrapper input::-webkit-outer-spin-button, +.numInputWrapper input::-webkit-inner-spin-button { + margin: 0; + -webkit-appearance: none; } + +.numInputWrapper span { + position: absolute; + right: 0; + width: 14px; + padding: 0 4px 0 2px; + height: 50%; + line-height: 50%; + opacity: 0; + cursor: pointer; + border: 1px solid rgba(57, 57, 57, 0.15); + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +.numInputWrapper span:hover { + background: rgba(0, 0, 0, 0.1); } + +.numInputWrapper span:active { + background: rgba(0, 0, 0, 0.2); } + +.numInputWrapper span:after { + display: block; + content: ""; + position: absolute; } + +.numInputWrapper span.arrowUp { + top: 0; + border-bottom: 0; } + +.numInputWrapper span.arrowUp:after { + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-bottom: 4px solid rgba(57, 57, 57, 0.6); + top: 26%; } + +.numInputWrapper span.arrowDown { + top: 50%; } + +.numInputWrapper span.arrowDown:after { + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid rgba(57, 57, 57, 0.6); + top: 40%; } + +.numInputWrapper span svg { + width: inherit; + height: auto; } + +.numInputWrapper span svg path { + fill: rgba(0, 0, 0, 0.5); } + +.numInputWrapper:hover { + background: rgba(0, 0, 0, 0.05); } + +.numInputWrapper:hover span { + opacity: 1; } + +.flatpickr-current-month { + font-size: 135%; + line-height: inherit; + font-weight: 300; + color: inherit; + position: absolute; + width: 75%; + left: 12.5%; + padding: 7.48px 0 0 0; + line-height: 1; + height: 34px; + display: inline-block; + text-align: center; + -webkit-transform: translate3d(0px, 0px, 0px); + transform: translate3d(0px, 0px, 0px); } + +.flatpickr-current-month span.cur-month { + font-family: inherit; + font-weight: 700; + color: inherit; + display: inline-block; + margin-left: 0.5ch; + padding: 0; } + +.flatpickr-current-month span.cur-month:hover { + background: rgba(0, 0, 0, 0.05); } + +.flatpickr-current-month .numInputWrapper { + width: 6ch; + width: 7ch\0; + display: inline-block; } + +.flatpickr-current-month .numInputWrapper span.arrowUp:after { + border-bottom-color: rgba(0, 0, 0, 0.9); } + +.flatpickr-current-month .numInputWrapper span.arrowDown:after { + border-top-color: rgba(0, 0, 0, 0.9); } + +.flatpickr-current-month input.cur-year { + background: transparent; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: inherit; + cursor: text; + padding: 0 0 0 0.5ch; + margin: 0; + display: inline-block; + font-size: inherit; + font-family: inherit; + font-weight: 300; + line-height: inherit; + height: auto; + border: 0; + border-radius: 0; + vertical-align: initial; + -webkit-appearance: textfield; + -moz-appearance: textfield; + appearance: textfield; } + +.flatpickr-current-month input.cur-year:focus { + outline: 0; } + +.flatpickr-current-month input.cur-year[disabled], +.flatpickr-current-month input.cur-year[disabled]:hover { + font-size: 100%; + color: rgba(0, 0, 0, 0.5); + background: transparent; + pointer-events: none; } + +.flatpickr-current-month .flatpickr-monthDropdown-months { + appearance: menulist; + background: transparent; + border: none; + border-radius: 0; + box-sizing: border-box; + color: inherit; + cursor: pointer; + font-size: inherit; + font-family: inherit; + font-weight: 300; + height: auto; + line-height: inherit; + margin: -1px 0 0 0; + outline: none; + padding: 0 0 0 0.5ch; + position: relative; + vertical-align: initial; + -webkit-box-sizing: border-box; + -webkit-appearance: menulist; + -moz-appearance: menulist; + width: auto; } + +.flatpickr-current-month .flatpickr-monthDropdown-months:focus, +.flatpickr-current-month .flatpickr-monthDropdown-months:active { + outline: none; } + +.flatpickr-current-month .flatpickr-monthDropdown-months:hover { + background: rgba(0, 0, 0, 0.05); } + +.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month { + background-color: transparent; + outline: none; + padding: 0; } + +.flatpickr-weekdays { + background: transparent; + text-align: center; + overflow: hidden; + width: 100%; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + height: 28px; } + +.flatpickr-weekdays .flatpickr-weekdaycontainer { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; } + +span.flatpickr-weekday { + cursor: default; + font-size: 90%; + background: transparent; + color: rgba(0, 0, 0, 0.54); + line-height: 1; + margin: 0; + text-align: center; + display: block; + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + font-weight: bolder; } + +.dayContainer, +.flatpickr-weeks { + padding: 1px 0 0 0; } + +.flatpickr-days { + position: relative; + overflow: hidden; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + align-items: flex-start; + width: 307.875px; } + +.flatpickr-days:focus { + outline: 0; } + +.dayContainer { + padding: 0; + outline: 0; + text-align: left; + width: 307.875px; + min-width: 307.875px; + max-width: 307.875px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + display: -ms-flexbox; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-wrap: wrap; + -ms-flex-pack: justify; + -webkit-justify-content: space-around; + justify-content: space-around; + -webkit-transform: translate3d(0px, 0px, 0px); + transform: translate3d(0px, 0px, 0px); + opacity: 1; } + +.dayContainer + .dayContainer { + -webkit-box-shadow: -1px 0 0 #e6e6e6; + box-shadow: -1px 0 0 #e6e6e6; } + +.flatpickr-day { + background: none; + border: 1px solid transparent; + border-radius: 150px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #393939; + cursor: pointer; + font-weight: 400; + width: 14.2857143%; + -webkit-flex-basis: 14.2857143%; + -ms-flex-preferred-size: 14.2857143%; + flex-basis: 14.2857143%; + max-width: 39px; + height: 39px; + line-height: 39px; + margin: 0; + display: inline-block; + position: relative; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + text-align: center; } + +.flatpickr-day.inRange, +.flatpickr-day.prevMonthDay.inRange, +.flatpickr-day.nextMonthDay.inRange, +.flatpickr-day.today.inRange, +.flatpickr-day.prevMonthDay.today.inRange, +.flatpickr-day.nextMonthDay.today.inRange, +.flatpickr-day:hover, +.flatpickr-day.prevMonthDay:hover, +.flatpickr-day.nextMonthDay:hover, +.flatpickr-day:focus, +.flatpickr-day.prevMonthDay:focus, +.flatpickr-day.nextMonthDay:focus { + cursor: pointer; + outline: 0; + background: #e6e6e6; + border-color: #e6e6e6; } + +.flatpickr-day.today { + border-color: #959ea9; } + +.flatpickr-day.today:hover, +.flatpickr-day.today:focus { + border-color: #959ea9; + background: #959ea9; + color: #fff; } + +.flatpickr-day.selected, +.flatpickr-day.startRange, +.flatpickr-day.endRange, +.flatpickr-day.selected.inRange, +.flatpickr-day.startRange.inRange, +.flatpickr-day.endRange.inRange, +.flatpickr-day.selected:focus, +.flatpickr-day.startRange:focus, +.flatpickr-day.endRange:focus, +.flatpickr-day.selected:hover, +.flatpickr-day.startRange:hover, +.flatpickr-day.endRange:hover, +.flatpickr-day.selected.prevMonthDay, +.flatpickr-day.startRange.prevMonthDay, +.flatpickr-day.endRange.prevMonthDay, +.flatpickr-day.selected.nextMonthDay, +.flatpickr-day.startRange.nextMonthDay, +.flatpickr-day.endRange.nextMonthDay { + background: #569ff7; + -webkit-box-shadow: none; + box-shadow: none; + color: #fff; + border-color: #569ff7; } + +.flatpickr-day.selected.startRange, +.flatpickr-day.startRange.startRange, +.flatpickr-day.endRange.startRange { + border-radius: 50px 0 0 50px; } + +.flatpickr-day.selected.endRange, +.flatpickr-day.startRange.endRange, +.flatpickr-day.endRange.endRange { + border-radius: 0 50px 50px 0; } + +.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), +.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), +.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) { + -webkit-box-shadow: -10px 0 0 #569ff7; + box-shadow: -10px 0 0 #569ff7; } + +.flatpickr-day.selected.startRange.endRange, +.flatpickr-day.startRange.startRange.endRange, +.flatpickr-day.endRange.startRange.endRange { + border-radius: 50px; } + +.flatpickr-day.inRange { + border-radius: 0; + -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; + box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; } + +.flatpickr-day.flatpickr-disabled, +.flatpickr-day.flatpickr-disabled:hover, +.flatpickr-day.prevMonthDay, +.flatpickr-day.nextMonthDay, +.flatpickr-day.notAllowed, +.flatpickr-day.notAllowed.prevMonthDay, +.flatpickr-day.notAllowed.nextMonthDay { + color: rgba(57, 57, 57, 0.3); + background: transparent; + border-color: transparent; + cursor: default; } + +.flatpickr-day.flatpickr-disabled, +.flatpickr-day.flatpickr-disabled:hover { + cursor: not-allowed; + color: rgba(57, 57, 57, 0.1); } + +.flatpickr-day.week.selected { + border-radius: 0; + -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7; + box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7; } + +.flatpickr-day.hidden { + visibility: hidden; } + +.rangeMode .flatpickr-day { + margin-top: 1px; } + +.flatpickr-weekwrapper { + float: left; } + +.flatpickr-weekwrapper .flatpickr-weeks { + padding: 0 12px; + -webkit-box-shadow: 1px 0 0 #e6e6e6; + box-shadow: 1px 0 0 #e6e6e6; } + +.flatpickr-weekwrapper .flatpickr-weekday { + float: none; + width: 100%; + line-height: 28px; } + +.flatpickr-weekwrapper span.flatpickr-day, +.flatpickr-weekwrapper span.flatpickr-day:hover { + display: block; + width: 100%; + max-width: none; + color: rgba(57, 57, 57, 0.3); + background: transparent; + cursor: default; + border: none; } + +.flatpickr-innerContainer { + display: block; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; } + +.flatpickr-rContainer { + display: inline-block; + padding: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +.flatpickr-time { + text-align: center; + outline: 0; + display: block; + height: 0; + line-height: 40px; + max-height: 40px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; } + +.flatpickr-time:after { + content: ""; + display: table; + clear: both; } + +.flatpickr-time .numInputWrapper { + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + width: 40%; + height: 40px; + float: left; } + +.flatpickr-time .numInputWrapper span.arrowUp:after { + border-bottom-color: #393939; } + +.flatpickr-time .numInputWrapper span.arrowDown:after { + border-top-color: #393939; } + +.flatpickr-time.hasSeconds .numInputWrapper { + width: 26%; } + +.flatpickr-time.time24hr .numInputWrapper { + width: 49%; } + +.flatpickr-time input { + background: transparent; + -webkit-box-shadow: none; + box-shadow: none; + border: 0; + border-radius: 0; + text-align: center; + margin: 0; + padding: 0; + height: inherit; + line-height: inherit; + color: #393939; + font-size: 14px; + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -webkit-appearance: textfield; + -moz-appearance: textfield; + appearance: textfield; } + +.flatpickr-time input.flatpickr-hour { + font-weight: bold; } + +.flatpickr-time input.flatpickr-minute, +.flatpickr-time input.flatpickr-second { + font-weight: 400; } + +.flatpickr-time input:focus { + outline: 0; + border: 0; } + +.flatpickr-time .flatpickr-time-separator, +.flatpickr-time .flatpickr-am-pm { + height: inherit; + float: left; + line-height: inherit; + color: #393939; + font-weight: bold; + width: 2%; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; } + +.flatpickr-time .flatpickr-am-pm { + outline: 0; + width: 18%; + cursor: pointer; + text-align: center; + font-weight: 400; } + +.flatpickr-time input:hover, +.flatpickr-time .flatpickr-am-pm:hover, +.flatpickr-time input:focus, +.flatpickr-time .flatpickr-am-pm:focus { + background: #eee; } + +.flatpickr-input[readonly] { + cursor: pointer; } + +@-webkit-keyframes fpFadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } } + +@keyframes fpFadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); } + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } } + +.fieldhelpers-fieldset { + border: 1px solid #ddd; + padding: 0.5em; } + +.fieldhelpers-col { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0.5em; + float: left; } + +.fieldhelpers-col-1 { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0.5em; + float: left; + width: 100%; } + @media only screen and (max-width: 640px) { + .fieldhelpers-col-1 { + width: 100%; } } + +.fieldhelpers-col-2 { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0.5em; + float: left; + width: 50%; } + @media only screen and (max-width: 640px) { + .fieldhelpers-col-2 { + width: 100%; } } + +.fieldhelpers-col-3 { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0.5em; + float: left; + width: 33.33333%; } + @media only screen and (max-width: 640px) { + .fieldhelpers-col-3 { + width: 100%; } } + +.fieldhelpers-col-4 { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0.5em; + float: left; + width: 25%; } + @media only screen and (max-width: 640px) { + .fieldhelpers-col-4 { + width: 100%; } } + +.fieldhelpers-col-5 { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0.5em; + float: left; + width: 20%; } + @media only screen and (max-width: 640px) { + .fieldhelpers-col-5 { + width: 100%; } } + +.fieldhelpers-field { + margin-bottom: 1em; } + +.fieldhelpers-field-header { + margin-bottom: 0.5em; } + +.fieldhelpers-field-content > *, .fieldhelpers-field-content [data-image-preview] { + max-width: 100%; } + +.fieldhelpers-field-checkbox-container { + display: inline-block; + border: 1px solid #DFDFDF; + background: #fff; + width: 300px; + max-width: 100%; } + +.fieldhelpers-field-checkbox-row { + position: relative; + cursor: pointer; + -webkit-transition: background 150ms; + transition: background 150ms; + line-height: 30px; } + .fieldhelpers-field-checkbox-row:hover { + background: #f2f2f2; + -webkit-transition: background 0s; + transition: background 0s; } + .fieldhelpers-field-checkbox-row:after { + content: ''; + clear: both; + display: table; } + .fieldhelpers-field-checkbox-row:not(:last-of-type) { + border-bottom: 1px solid #DFDFDF; } + .fieldhelpers-field-checkbox-row.fieldhelpers-field-checkbox-row-active { + background: #007AB1; } + .fieldhelpers-field-checkbox-row.fieldhelpers-field-checkbox-row-active:hover { + background: #006898; } + .fieldhelpers-field-checkbox-row.fieldhelpers-field-checkbox-row-active .fieldhelpers-field-checkbox-label { + color: #fff; } + .fieldhelpers-field-checkbox-row .fieldhelpers-field-checkbox-input-container { + width: 15%; + float: left; + -webkit-box-sizing: border-box; + box-sizing: border-box; + text-align: center; } + .fieldhelpers-field-checkbox-row input[type="checkbox"] { + margin: 0.5em 0.5em; } + .fieldhelpers-field-checkbox-row .fieldhelpers-field-checkbox-label { + display: block; + float: left; + width: 85%; + font-weight: bold; + padding: 0 0.5em; + border-left: 1px solid #DFDFDF; + line-height: 30px; + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +.fieldhelpers-field-colorpicker { + position: relative; } + .fieldhelpers-field-colorpicker .wp-picker-holder { + position: absolute; + left: 0; + top: 100%; + -webkit-box-shadow: 5px 5px 30px rgba(0, 0, 0, 0.5); + box-shadow: 5px 5px 30px rgba(0, 0, 0, 0.5); + z-index: 100; } + +input[readonly].fieldhelpers-field-timepicker-preview, input[readonly].fieldhelpers-field-datetimepicker-preview, input[readonly].fieldhelpers-field-datepicker-preview { + background-color: #fff; } + +.fieldhelpers-field-hidden { + display: none; } + +.fieldhelpers-field-list .fieldhelpers-field-list-item { + border: 1px solid #ddd; + background-color: #fff; + padding: 0.5em; + margin-bottom: 0.5em; + cursor: move; } + +.fieldhelpers-field-list .fieldhelpers-field-list-item-handle { + color: #bbb; } + +.fieldhelpers-media-uploader .media-url { + display: block; + width: 100%; + word-break: break-all; + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +.fieldhelpers-media-uploader .image-preview { + max-width: 100%; } + +.fieldhelpers-field-number .fieldhelpers-field-number-container { + width: 100px; } + .fieldhelpers-field-number .fieldhelpers-field-number-container[data-postfix] { + position: relative; } + .fieldhelpers-field-number .fieldhelpers-field-number-container[data-postfix]:after { + content: attr(data-postfix); + position: absolute; + right: calc(20px + 0.5em); + top: 50%; + color: #aaa; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.fieldhelpers-field-number input[type="text"].fieldhelpers-field-input { + height: 40px; + line-height: 40px; + width: 80px; + padding: 0; + margin: 0; + float: left; + text-align: center; } + +.fieldhelpers-field-number .fieldhelpers-field-number-increase, .fieldhelpers-field-number .fieldhelpers-field-number-decrease { + display: block; + height: 20px; + width: 20px; + line-height: 20px; + padding: 0; + font-size: 14px; + color: #fff; + background: #007AB1; + border: 1px solid #006898; + -webkit-box-shadow: 0 1px 0 #006898; + box-shadow: 0 1px 0 #006898; + outline: none; + border-radius: 0; + cursor: pointer; } + .fieldhelpers-field-number .fieldhelpers-field-number-increase:hover, .fieldhelpers-field-number .fieldhelpers-field-number-decrease:hover { + color: #fff; + background: #008ccb; + border-color: #007AB1; + -webkit-box-shadow: 0 1px 0 #007AB1; + box-shadow: 0 1px 0 #007AB1; } + .fieldhelpers-field-number .fieldhelpers-field-number-increase:active, .fieldhelpers-field-number .fieldhelpers-field-number-decrease:active { + -webkit-transform: translateY(1px); + -ms-transform: translateY(1px); + transform: translateY(1px); } + .fieldhelpers-field-number .fieldhelpers-field-number-increase .dashicons, .fieldhelpers-field-number .fieldhelpers-field-number-decrease .dashicons { + font-size: inherit; + line-height: inherit; + width: auto; + height: auto; } + +.fieldhelpers-field-number .fieldhelpers-field-number-increase { + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-bottom-width: 0; } + +.fieldhelpers-field-number .fieldhelpers-field-number-decrease { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; } + +.fieldhelpers-field-radio-container { + display: inline-block; + border: 1px solid #DFDFDF; + background: #fff; + width: 300px; + max-width: 100%; } + +.fieldhelpers-field-radio-row { + position: relative; + cursor: pointer; + -webkit-transition: background 150ms; + transition: background 150ms; } + .fieldhelpers-field-radio-row:hover { + background: #f2f2f2; + -webkit-transition: background 0s; + transition: background 0s; } + .fieldhelpers-field-radio-row:after { + content: ''; + clear: both; + display: table; } + .fieldhelpers-field-radio-row:not(:last-of-type) { + border-bottom: 1px solid #DFDFDF; } + .fieldhelpers-field-radio-row.fieldhelpers-field-radio-row-active { + background: #007AB1; } + .fieldhelpers-field-radio-row.fieldhelpers-field-radio-row-active:hover { + background: #006898; } + .fieldhelpers-field-radio-row.fieldhelpers-field-radio-row-active .fieldhelpers-field-radio-label { + color: #fff; } + .fieldhelpers-field-radio-row .fieldhelpers-field-radio-input-container { + width: 15%; + float: left; + -webkit-box-sizing: border-box; + box-sizing: border-box; + text-align: center; } + .fieldhelpers-field-radio-row input[type="radio"] { + margin: 0.5em 0.5em; } + .fieldhelpers-field-radio-row .fieldhelpers-field-radio-label { + display: block; + float: left; + width: 85%; + font-weight: bold; + padding: 0 0.5em; + border-left: 1px solid #DFDFDF; + line-height: 30px; + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +.fieldhelpers-field-repeater-label { + font-weight: bold; } + +.fieldhelpers-field-repeater-list .fieldhelpers-sortable-placeholder { + border: 3px dashed #ddd; } + +.fieldhelpers-field-repeater-list .fieldhelpers-field-repeater-content:after { + content: ''; + display: table; + clear: both; } + +.fieldhelpers-field-repeater-row { + padding: 0.5em; + margin: 0.5em 0; + border: 1px solid #ddd; + background: #fff; } + .fieldhelpers-field-repeater-row:before { + content: ''; + display: table; + clear: both; } + .fieldhelpers-field-repeater-row.ui-sortable-helper { + opacity: 0.5; } + .fieldhelpers-field-repeater-row .fieldhelpers-field-repeater-handle { + height: 20px; + cursor: move; + margin-bottom: 10px; + background-image: -webkit-repeating-radial-gradient(center center, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 100%); + background-image: repeating-radial-gradient(center center, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 100%); + background-size: 3px 3px; } + +.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-content { + display: none; } + +.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-header-interior { + padding: 0 0.5em 0 0.5em; } + .fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-header-interior .fieldhelpers-field-repeater-delete-button { + float: right; } + +.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-collapsable-handle { + cursor: pointer; } + +.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-row.opened .fieldhelpers-field-repeater-collapsable-collapse-icon { + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } + +.fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-collapsable-collapse-icon { + -webkit-transition: -webkit-transform 300ms ease-in 0s; + transition: -webkit-transform 300ms ease-in 0s; + transition: transform 300ms ease-in 0s; + transition: transform 300ms ease-in 0s, -webkit-transform 300ms ease-in 0s; } + .fieldhelpers-field-repeater-collapsable .fieldhelpers-field-repeater-collapsable-collapse-icon:hover { + cursor: pointer; } + +.select2-container--default .fieldhelpers-select2.select2-selection--single.select2-selection, .select2-container--default .fieldhelpers-select2.select2-selection--multiple.select2-selection { + border-radius: 0; + border: 1px solid #ddd; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07); + outline: none; + margin: 1px; + height: auto; } + +.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-selection__rendered, .select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-selection__rendered { + line-height: inherit; + padding: 3px 5px; + font-size: 14px; } + +.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-search, .select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-search { + margin-bottom: 0; } + +.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-selection__choice, .select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-selection__choice { + border-radius: 0; } + +.select2-container--default .fieldhelpers-select2.select2-selection--single .select2-selection__clear, .select2-container--default .fieldhelpers-select2.select2-selection--multiple .select2-selection__clear { + margin-right: 15px; } + +.select2-container--default .fieldhelpers-select2.select2-dropdown { + border-radius: 0; + border: 1px solid #ddd; + -webkit-box-shadow: 5px 5px 40px rgba(0, 0, 0, 0.3); + box-shadow: 5px 5px 40px rgba(0, 0, 0, 0.3); } + .select2-container--default .fieldhelpers-select2.select2-dropdown .select2-results__option--highlighted[aria-selected] { + background-color: #007AB1; } + .select2-container--default .fieldhelpers-select2.select2-dropdown .select2-results__option { + margin-bottom: 0; } + +.fieldhelpers-field-table .fieldhelpers-field-table-loading { + text-align: center; } + .fieldhelpers-field-table .fieldhelpers-field-table-loading .spinner { + float: none; + display: inline-block; } + +.fieldhelpers-field-table table { + width: 100%; + border-collapse: collapse; } + +.fieldhelpers-field-table th, .fieldhelpers-field-table td { + padding: 5px; } + +.fieldhelpers-field-table thead input[type="text"] { + background: #fff78a; } + +.fieldhelpers-field-table input[type="text"] { + width: 100%; } + +.fieldhelpers-field-table .fieldhelpers-field-table-delete-columns { + text-align: center; } + +.fieldhelpers-field-toggle-container { + position: relative; + display: inline-block; + width: 60px; + height: 34px; } + .fieldhelpers-field-toggle-container.checked .fieldhelpers-field-toggle-slider { + background-color: #007AB1; } + .fieldhelpers-field-toggle-container.checked .fieldhelpers-field-toggle-slider:before { + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); } + .fieldhelpers-field-toggle-container .fieldhelpers-field-toggle-slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: -webkit-transform 300ms; + transition: -webkit-transform 300ms; + transition: transform 300ms; + transition: transform 300ms, -webkit-transform 300ms; } + .fieldhelpers-field-toggle-container .fieldhelpers-field-toggle-slider:before { + position: absolute; + content: ""; + height: 26px; + width: 26px; + left: 4px; + bottom: 4px; + background-color: white; + -webkit-transition: -webkit-transform 300ms; + transition: -webkit-transform 300ms; + transition: transform 300ms; + transition: transform 300ms, -webkit-transform 300ms; } + +.fieldhelpers-field-wysiwyg-label { + font-weight: bold; } + +.fieldhelpers-field-tip { + position: relative; + display: inline-block; } + .fieldhelpers-field-tip.fieldhelpers-field-tip-align-left .fieldhelpers-field-tip-text { + left: -10px; } + .fieldhelpers-field-tip.fieldhelpers-field-tip-align-left .fieldhelpers-field-tip-text:before { + left: 10px; } + .fieldhelpers-field-tip.fieldhelpers-field-tip-align-right .fieldhelpers-field-tip-text { + right: -10px; } + .fieldhelpers-field-tip.fieldhelpers-field-tip-align-right .fieldhelpers-field-tip-text:before { + right: 10px; } + .fieldhelpers-field-tip:hover .fieldhelpers-field-tip-text { + visibility: visible; + opacity: 1; + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); } + .fieldhelpers-field-tip:hover .fieldhelpers-field-tip-toggle { + color: #007AB1; } + .fieldhelpers-field-tip .fieldhelpers-field-tip-toggle { + cursor: pointer; + -webkit-transition: color 300ms; + transition: color 300ms; } + .fieldhelpers-field-tip .fieldhelpers-field-tip-text { + position: absolute; + visibility: hidden; + opacity: 0; + top: 100%; + margin-top: 15px; + background: #007AB1; + color: #fff; + padding: 1em; + width: 300px; + text-align: left; + -webkit-box-shadow: 5px 5px 40px rgba(0, 0, 0, 0.3); + box-shadow: 5px 5px 40px rgba(0, 0, 0, 0.3); + -webkit-transform: translateY(10px); + -ms-transform: translateY(10px); + transform: translateY(10px); + -webkit-transition: visibility 300ms, opacity 300ms, -webkit-transform 300ms; + transition: visibility 300ms, opacity 300ms, -webkit-transform 300ms; + transition: visibility 300ms, opacity 300ms, transform 300ms; + transition: visibility 300ms, opacity 300ms, transform 300ms, -webkit-transform 300ms; + z-index: 100; } + .fieldhelpers-field-tip .fieldhelpers-field-tip-text:before { + content: ''; + position: absolute; + bottom: 100%; + width: 0; + height: 0; + border-style: solid; + border-width: 0 10px 10px 10px; + border-color: transparent transparent #007AB1 transparent; } + .fieldhelpers-field-tip .fieldhelpers-field-tip-text:after { + content: ''; + position: absolute; + bottom: 100%; + left: 0; + width: 100%; + height: 15px; } + .fieldhelpers-field-tip .fieldhelpers-field-tip-text a { + color: inherit !important; + text-decoration: underline; } + +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mbGF0cGlja3IvZGlzdC9mbGF0cGlja3IuY3NzIiwiZ2xvYmFsL19jb21tb24uc2NzcyIsImdsb2JhbC9fbGF5b3V0LnNjc3MiLCJmaWVsZHMvX2ZpZWxkLnNjc3MiLCJmaWVsZHMvX2ZpZWxkLWNoZWNrYm94LnNjc3MiLCJnbG9iYWwvX3NldHRpbmdzLnNjc3MiLCJmaWVsZHMvX2ZpZWxkLWNvbG9ycGlja2VyLnNjc3MiLCJmaWVsZHMvX2ZpZWxkLWRhdGV0aW1lcGlja2VyLnNjc3MiLCJmaWVsZHMvX2ZpZWxkLWhpZGRlbi5zY3NzIiwiZmllbGRzL19maWVsZC1saXN0LnNjc3MiLCJmaWVsZHMvX2ZpZWxkLW1lZGlhLnNjc3MiLCJmaWVsZHMvX2ZpZWxkLW51bWJlci5zY3NzIiwiZmllbGRzL19maWVsZC1yYWRpby5zY3NzIiwiZmllbGRzL19maWVsZC1yZXBlYXRlci5zY3NzIiwiZmllbGRzL19maWVsZC1zZWxlY3Quc2NzcyIsImZpZWxkcy9fZmllbGQtdGFibGUuc2NzcyIsImZpZWxkcy9fZmllbGQtdG9nZ2xlLnNjc3MiLCJmaWVsZHMvX2ZpZWxkLXd5c2l3eWcuc2NzcyIsImNvbXBvbmVudHMvX2ZpZWxkLXRpcC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usd0JBQXVCO0VBQ3ZCLFdBQVU7RUFDVixjQUFhO0VBQ2IsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1Ysd0JBQXVCO0VBQ2YsZ0JBQWU7RUFDdkIsZUFBYztFQUNkLFVBQVM7RUFDVCxnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQiwrQkFBOEI7RUFDdEIsdUJBQXNCO0VBQzlCLCtCQUE4QjtFQUMxQiwyQkFBMEI7RUFDOUIsaUJBQWdCO0VBQ2hCLHlIQUFxSDtFQUM3RyxpSEFBNkcsRUFDdEg7O0FBQ0Q7O0VBRUUsV0FBVTtFQUNWLGtC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cmNlc0NvbnRlbnQiOlsiLmZsYXRwaWNrci1jYWxlbmRhciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1hbmltYXRpb246IG5vbmU7XG4gICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDMwNy44NzVweDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDFweCAwIDAgI2U2ZTZlNiwgLTFweCAwIDAgI2U2ZTZlNiwgMCAxcHggMCAjZTZlNmU2LCAwIC0xcHggMCAjZTZlNmU2LCAwIDNweCAxM3B4IHJnYmEoMCwwLDAsMC4wOCk7XG4gICAgICAgICAgYm94LXNoYWRvdzogMXB4IDAgMCAjZTZlNmU2LCAtMXB4IDAgMCAjZTZlNmU2LCAwIDFweCAwICNlNmU2ZTYsIDAgLTFweCAwICNlNmU2ZTYsIDAgM3B4IDEzcHggcmdiYSgwLDAsMCwwLjA4KTtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIub3Blbixcbi5mbGF0cGlja3ItY2FsZW5kYXIuaW5saW5lIHtcbiAgb3BhY2l0eTogMTtcbiAgbWF4LWhlaWdodDogNjQwcHg7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLm9wZW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHotaW5kZXg6IDk5OTk5O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5hbmltYXRlLm9wZW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZnBGYWRlSW5Eb3duIDMwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbiAgICAgICAgICBhbmltYXRpb246IGZwRmFkZUluRG93biAzMDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmlubGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMnB4O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5zdGF0aWMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMnB4KTtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuc3RhdGljLm9wZW4ge1xuICB6LWluZGV4OiA5OTk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5tdWx0aU1vbnRoIC5mbGF0cGlja3ItZGF5cyAuZGF5Q29udGFpbmVyOm50aC1jaGlsZChuKzEpIC5mbGF0cGlja3ItZGF5LmluUmFuZ2U6bnRoLWNoaWxkKDduKzcpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5tdWx0aU1vbnRoIC5mbGF0cGlja3ItZGF5cyAuZGF5Q29udGFpbmVyOm50aC1jaGlsZChuKzIpIC5mbGF0cGlja3ItZGF5LmluUmFuZ2U6bnRoLWNoaWxkKDduKzEpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAtMnB4IDAgMCAjZTZlNmU2LCA1cHggMCAwICNlNmU2ZTY7XG4gICAgICAgICAgYm94LXNoYWRvdzogLTJweCAwIDAgI2U2ZTZlNiwgNXB4IDAgMCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1jYWxlbmRhciAuaGFzV2Vla3MgLmRheUNvbnRhaW5lcixcbi5mbGF0cGlja3ItY2FsZW5kYXIgLmhhc1RpbWUgLmRheUNvbnRhaW5lciB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhciAuaGFzV2Vla3MgLmRheUNvbnRhaW5lciB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhci5zaG93VGltZUlucHV0Lmhhc1RpbWUgLmZsYXRwaWNrci10aW1lIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U2ZTZlNjtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIubm9DYWxlbmRhci5oYXNUaW1lIC5mbGF0cGlja3ItdGltZSB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXI6YmVmb3JlLFxuLmZsYXRwaWNrci1jYWxlbmRhcjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgbGVmdDogMjJweDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIucmlnaHRNb3N0OmJlZm9yZSxcbi5mbGF0cGlja3ItY2FsZW5kYXIucmlnaHRNb3N0OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDIycHg7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogNXB4O1xuICBtYXJnaW46IDAgLTVweDtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXI6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IDRweDtcbiAgbWFyZ2luOiAwIC00cHg7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZSxcbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dUb3A6YWZ0ZXIge1xuICBib3R0b206IDEwMCU7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNlNmU2ZTY7XG59XG4uZmxhdHBpY2tyLWNhbGVuZGFyLmFycm93VG9wOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YmVmb3JlLFxuLmZsYXRwaWNrci1jYWxlbmRhci5hcnJvd0JvdHRvbTphZnRlciB7XG4gIHRvcDogMTAwJTtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2U2ZTZlNjtcbn1cbi5mbGF0cGlja3ItY2FsZW5kYXIuYXJyb3dCb3R0b206YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xufVxuLmZsYXRwaWNrci1jYWxlbmRhcjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uZmxhdHBpY2tyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5mbGF0cGlja3ItbW9udGhzIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW1vbnRoIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLDAuOSk7XG4gIGZpbGw6IHJnYmEoMCwwLDAsMC45KTtcbiAgaGVpZ2h0OiAzNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG59XG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGgsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGgge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMzRweDtcbiAgcGFkZGluZzogMTBweDtcbiAgei1pbmRleDogMztcbiAgY29sb3I6IHJnYmEoMCwwLDAsMC45KTtcbiAgZmlsbDogcmdiYSgwLDAsMCwwLjkpO1xufVxuLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoLmZsYXRwaWNrci1kaXNhYmxlZCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmZsYXRwaWNrci1tb250aHMgLmZsYXRwaWNrci1wcmV2LW1vbnRoIGksXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aC5mbGF0cGlja3ItcHJldi1tb250aCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItcHJldi1tb250aCB7XG4vKlxuICAgICAgLypydGw6YmVnaW46aWdub3JlKi9cbi8qXG4gICAgICAqL1xuICBsZWZ0OiAwO1xuLypcbiAgICAgIC8qcnRsOmVuZDppZ25vcmUqL1xuLypcbiAgICAgICovXG59XG4vKlxuICAgICAgLypydGw6YmVnaW46aWdub3JlKi9cbi8qXG4gICAgICAvKnJ0bDplbmQ6aWdub3JlKi9cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aC5mbGF0cGlja3ItbmV4dC1tb250aCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aC5mbGF0cGlja3ItbmV4dC1tb250aCB7XG4vKlxuICAgICAgLypydGw6YmVnaW46aWdub3JlKi9cbi8qXG4gICAgICAqL1xuICByaWdodDogMDtcbi8qXG4gICAgICAvKnJ0bDplbmQ6aWdub3JlKi9cbi8qXG4gICAgICAqL1xufVxuLypcbiAgICAgIC8qcnRsOmJlZ2luOmlnbm9yZSovXG4vKlxuICAgICAgLypydGw6ZW5kOmlnbm9yZSovXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLXByZXYtbW9udGg6aG92ZXIsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGg6aG92ZXIge1xuICBjb2xvcjogIzk1OWVhOTtcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aDpob3ZlciBzdmcsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGg6aG92ZXIgc3ZnIHtcbiAgZmlsbDogI2Y2NDc0Nztcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmcsXG4uZmxhdHBpY2tyLW1vbnRocyAuZmxhdHBpY2tyLW5leHQtbW9udGggc3ZnIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbn1cbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItcHJldi1tb250aCBzdmcgcGF0aCxcbi5mbGF0cGlja3ItbW9udGhzIC5mbGF0cGlja3ItbmV4dC1tb250aCBzdmcgcGF0aCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogZmlsbCAwLjFzO1xuICB0cmFuc2l0aW9uOiBmaWxsIDAuMXM7XG4gIGZpbGw6IGluaGVyaXQ7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4ubnVtSW5wdXRXcmFwcGVyIGlucHV0LFxuLm51bUlucHV0V3JhcHBlciBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm51bUlucHV0V3JhcHBlciBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm51bUlucHV0V3JhcHBlciBpbnB1dDo6LW1zLWNsZWFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5udW1JbnB1dFdyYXBwZXIgaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4ubnVtSW5wdXRXcmFwcGVyIGlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTRweDtcbiAgcGFkZGluZzogMCA0cHggMCAycHg7XG4gIGhlaWdodDogNTAlO1xuICBsaW5lLWhlaWdodDogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTcsNTcsNTcsMC4xNSk7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yKTtcbn1cbi5udW1JbnB1dFdyYXBwZXIgc3BhbjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcCB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd1VwOmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCByZ2JhKDU3LDU3LDU3LDAuNik7XG4gIHRvcDogMjYlO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93biB7XG4gIHRvcDogNTAlO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93RG93bjphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA0cHggc29saWQgcmdiYSg1Nyw1Nyw1NywwLjYpO1xuICB0b3A6IDQwJTtcbn1cbi5udW1JbnB1dFdyYXBwZXIgc3BhbiBzdmcge1xuICB3aWR0aDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLm51bUlucHV0V3JhcHBlciBzcGFuIHN2ZyBwYXRoIHtcbiAgZmlsbDogcmdiYSgwLDAsMCwwLjUpO1xufVxuLm51bUlucHV0V3JhcHBlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4wNSk7XG59XG4ubnVtSW5wdXRXcmFwcGVyOmhvdmVyIHNwYW4ge1xuICBvcGFjaXR5OiAxO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIHtcbiAgZm9udC1zaXplOiAxMzUlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDc1JTtcbiAgbGVmdDogMTIuNSU7XG4gIHBhZGRpbmc6IDcuNDhweCAwIDAgMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogMzRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIHNwYW4uY3VyLW1vbnRoIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVjaDtcbiAgcGFkZGluZzogMDtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCBzcGFuLmN1ci1tb250aDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4wNSk7XG59XG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLm51bUlucHV0V3JhcHBlciB7XG4gIHdpZHRoOiA2Y2g7XG4gIHdpZHRoOiA3Y2hcXDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dVcDphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwwLDAsMC45KTtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCAubnVtSW5wdXRXcmFwcGVyIHNwYW4uYXJyb3dEb3duOmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgwLDAsMCwwLjkpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBwYWRkaW5nOiAwIDAgMCAwLjVjaDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIGlucHV0LmN1ci15ZWFyOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5mbGF0cGlja3ItY3VycmVudC1tb250aCBpbnB1dC5jdXIteWVhcltkaXNhYmxlZF0sXG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggaW5wdXQuY3VyLXllYXJbZGlzYWJsZWRdOmhvdmVyIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBjb2xvcjogcmdiYSgwLDAsMCwwLjUpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLmZsYXRwaWNrci1tb250aERyb3Bkb3duLW1vbnRocyB7XG4gIGFwcGVhcmFuY2U6IG1lbnVsaXN0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogMzAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IC0xcHggMCAwIDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMCAwIDAuNWNoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gIC1tb3otYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHM6Zm9jdXMsXG4uZmxhdHBpY2tyLWN1cnJlbnQtbW9udGggLmZsYXRwaWNrci1tb250aERyb3Bkb3duLW1vbnRoczphY3RpdmUge1xuICBvdXRsaW5lOiBub25lO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHM6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMDUpO1xufVxuLmZsYXRwaWNrci1jdXJyZW50LW1vbnRoIC5mbGF0cGlja3ItbW9udGhEcm9wZG93bi1tb250aHMgLmZsYXRwaWNrci1tb250aERyb3Bkb3duLW1vbnRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG4uZmxhdHBpY2tyLXdlZWtkYXlzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMjhweDtcbn1cbi5mbGF0cGlja3Itd2Vla2RheXMgLmZsYXRwaWNrci13ZWVrZGF5Y29udGFpbmVyIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG59XG5zcGFuLmZsYXRwaWNrci13ZWVrZGF5IHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBmb250LXNpemU6IDkwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLDAuNTQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICBmbGV4OiAxO1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuLmRheUNvbnRhaW5lcixcbi5mbGF0cGlja3Itd2Vla3Mge1xuICBwYWRkaW5nOiAxcHggMCAwIDA7XG59XG4uZmxhdHBpY2tyLWRheXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAzMDcuODc1cHg7XG59XG4uZmxhdHBpY2tyLWRheXM6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuLmRheUNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiAzMDcuODc1cHg7XG4gIG1pbi13aWR0aDogMzA3Ljg3NXB4O1xuICBtYXgtd2lkdGg6IDMwNy44NzVweDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG4gIG9wYWNpdHk6IDE7XG59XG4uZGF5Q29udGFpbmVyICsgLmRheUNvbnRhaW5lciB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTFweCAwIDAgI2U2ZTZlNjtcbiAgICAgICAgICBib3gtc2hhZG93OiAtMXB4IDAgMCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1kYXkge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMTUwcHg7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogIzM5MzkzOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNDAwO1xuICB3aWR0aDogMTQuMjg1NzE0MyU7XG4gIC13ZWJraXQtZmxleC1iYXNpczogMTQuMjg1NzE0MyU7XG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTQuMjg1NzE0MyU7XG4gICAgICAgICAgZmxleC1iYXNpczogMTQuMjg1NzE0MyU7XG4gIG1heC13aWR0aDogMzlweDtcbiAgaGVpZ2h0OiAzOXB4O1xuICBsaW5lLWhlaWdodDogMzlweDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmxhdHBpY2tyLWRheS5pblJhbmdlLFxuLmZsYXRwaWNrci1kYXkucHJldk1vbnRoRGF5LmluUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXkuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5LnRvZGF5LmluUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXkudG9kYXkuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheS50b2RheS5pblJhbmdlLFxuLmZsYXRwaWNrci1kYXk6aG92ZXIsXG4uZmxhdHBpY2tyLWRheS5wcmV2TW9udGhEYXk6aG92ZXIsXG4uZmxhdHBpY2tyLWRheS5uZXh0TW9udGhEYXk6aG92ZXIsXG4uZmxhdHBpY2tyLWRheTpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LnByZXZNb250aERheTpmb2N1cyxcbi5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheTpmb2N1cyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgYm9yZGVyLWNvbG9yOiAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci1kYXkudG9kYXkge1xuICBib3JkZXItY29sb3I6ICM5NTllYTk7XG59XG4uZmxhdHBpY2tyLWRheS50b2RheTpob3Zlcixcbi5mbGF0cGlja3ItZGF5LnRvZGF5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjOTU5ZWE5O1xuICBiYWNrZ3JvdW5kOiAjOTU5ZWE5O1xuICBjb2xvcjogI2ZmZjtcbn1cbi5mbGF0cGlja3ItZGF5LnNlbGVjdGVkLFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLFxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2UuaW5SYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLmluUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5zZWxlY3RlZDpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2U6Zm9jdXMsXG4uZmxhdHBpY2tyLWRheS5lbmRSYW5nZTpmb2N1cyxcbi5mbGF0cGlja3ItZGF5LnNlbGVjdGVkOmhvdmVyLFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZTpob3Zlcixcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlOmhvdmVyLFxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQucHJldk1vbnRoRGF5LFxuLmZsYXRwaWNrci1kYXkuc3RhcnRSYW5nZS5wcmV2TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5lbmRSYW5nZS5wcmV2TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5zZWxlY3RlZC5uZXh0TW9udGhEYXksXG4uZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLm5leHRNb250aERheSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLm5leHRNb250aERheSB7XG4gIGJhY2tncm91bmQ6ICM1NjlmZjc7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjNTY5ZmY3O1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2Uge1xuICBib3JkZXItcmFkaXVzOiA1MHB4IDAgMCA1MHB4O1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuZW5kUmFuZ2UsXG4uZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLmVuZFJhbmdlLFxuLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2UuZW5kUmFuZ2Uge1xuICBib3JkZXItcmFkaXVzOiAwIDUwcHggNTBweCAwO1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZSArIC5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSksXG4uZmxhdHBpY2tyLWRheS5zdGFydFJhbmdlLnN0YXJ0UmFuZ2UgKyAuZW5kUmFuZ2U6bm90KDpudGgtY2hpbGQoN24rMSkpLFxuLmZsYXRwaWNrci1kYXkuZW5kUmFuZ2Uuc3RhcnRSYW5nZSArIC5lbmRSYW5nZTpub3QoOm50aC1jaGlsZCg3bisxKSkge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IC0xMHB4IDAgMCAjNTY5ZmY3O1xuICAgICAgICAgIGJveC1zaGFkb3c6IC0xMHB4IDAgMCAjNTY5ZmY3O1xufVxuLmZsYXRwaWNrci1kYXkuc2VsZWN0ZWQuc3RhcnRSYW5nZS5lbmRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LnN0YXJ0UmFuZ2Uuc3RhcnRSYW5nZS5lbmRSYW5nZSxcbi5mbGF0cGlja3ItZGF5LmVuZFJhbmdlLnN0YXJ0UmFuZ2UuZW5kUmFuZ2Uge1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xufVxuLmZsYXRwaWNrci1kYXkuaW5SYW5nZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogLTVweCAwIDAgI2U2ZTZlNiwgNXB4IDAgMCAjZTZlNmU2O1xuICAgICAgICAgIGJveC1zaGFkb3c6IC01cHggMCAwICNlNmU2ZTYsIDVweCAwIDAgI2U2ZTZlNjtcbn1cbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZCxcbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZDpob3Zlcixcbi5mbGF0cGlja3ItZGF5LnByZXZNb250aERheSxcbi5mbGF0cGlja3ItZGF5Lm5leHRNb250aERheSxcbi5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQsXG4uZmxhdHBpY2tyLWRheS5ub3RBbGxvd2VkLnByZXZNb250aERheSxcbi5mbGF0cGlja3ItZGF5Lm5vdEFsbG93ZWQubmV4dE1vbnRoRGF5IHtcbiAgY29sb3I6IHJnYmEoNTcsNTcsNTcsMC4zKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZCxcbi5mbGF0cGlja3ItZGF5LmZsYXRwaWNrci1kaXNhYmxlZDpob3ZlciB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGNvbG9yOiByZ2JhKDU3LDU3LDU3LDAuMSk7XG59XG4uZmxhdHBpY2tyLWRheS53ZWVrLnNlbGVjdGVkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAtNXB4IDAgMCAjNTY5ZmY3LCA1cHggMCAwICM1NjlmZjc7XG4gICAgICAgICAgYm94LXNoYWRvdzogLTVweCAwIDAgIzU2OWZmNywgNXB4IDAgMCAjNTY5ZmY3O1xufVxuLmZsYXRwaWNrci1kYXkuaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnJhbmdlTW9kZSAuZmxhdHBpY2tyLWRheSB7XG4gIG1hcmdpbi10b3A6IDFweDtcbn1cbi5mbGF0cGlja3Itd2Vla3dyYXBwZXIge1xuICBmbG9hdDogbGVmdDtcbn1cbi5mbGF0cGlja3Itd2Vla3dyYXBwZXIgLmZsYXRwaWNrci13ZWVrcyB7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAxcHggMCAwICNlNmU2ZTY7XG4gICAgICAgICAgYm94LXNoYWRvdzogMXB4IDAgMCAjZTZlNmU2O1xufVxuLmZsYXRwaWNrci13ZWVrd3JhcHBlciAuZmxhdHBpY2tyLXdlZWtkYXkge1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuLmZsYXRwaWNrci13ZWVrd3JhcHBlciBzcGFuLmZsYXRwaWNrci1kYXksXG4uZmxhdHBpY2tyLXdlZWt3cmFwcGVyIHNwYW4uZmxhdHBpY2tyLWRheTpob3ZlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBjb2xvcjogcmdiYSg1Nyw1Nyw1NywwLjMpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXI6IG5vbmU7XG59XG4uZmxhdHBpY2tyLWlubmVyQ29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mbGF0cGlja3ItckNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uZmxhdHBpY2tyLXRpbWUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG91dGxpbmU6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZmxhdHBpY2tyLXRpbWU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG4uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleDogMTtcbiAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgIGZsZXg6IDE7XG4gIHdpZHRoOiA0MCU7XG4gIGhlaWdodDogNDBweDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uZmxhdHBpY2tyLXRpbWUgLm51bUlucHV0V3JhcHBlciBzcGFuLmFycm93VXA6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzkzOTM5O1xufVxuLmZsYXRwaWNrci10aW1lIC5udW1JbnB1dFdyYXBwZXIgc3Bhbi5hcnJvd0Rvd246YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjMzkzOTM5O1xufVxuLmZsYXRwaWNrci10aW1lLmhhc1NlY29uZHMgLm51bUlucHV0V3JhcHBlciB7XG4gIHdpZHRoOiAyNiU7XG59XG4uZmxhdHBpY2tyLXRpbWUudGltZTI0aHIgLm51bUlucHV0V3JhcHBlciB7XG4gIHdpZHRoOiA0OSU7XG59XG4uZmxhdHBpY2tyLXRpbWUgaW5wdXQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMzkzOTM5O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuLmZsYXRwaWNrci10aW1lIGlucHV0LmZsYXRwaWNrci1ob3VyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uZmxhdHBpY2tyLXRpbWUgaW5wdXQuZmxhdHBpY2tyLW1pbnV0ZSxcbi5mbGF0cGlja3ItdGltZSBpbnB1dC5mbGF0cGlja3Itc2Vjb25kIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5mbGF0cGlja3ItdGltZSBpbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogMDtcbn1cbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLXRpbWUtc2VwYXJhdG9yLFxuLmZsYXRwaWNrci10aW1lIC5mbGF0cGlja3ItYW0tcG0ge1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMzOTM5Mzk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB3aWR0aDogMiU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtIHtcbiAgb3V0bGluZTogMDtcbiAgd2lkdGg6IDE4JTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uZmxhdHBpY2tyLXRpbWUgaW5wdXQ6aG92ZXIsXG4uZmxhdHBpY2tyLXRpbWUgLmZsYXRwaWNrci1hbS1wbTpob3Zlcixcbi5mbGF0cGlja3ItdGltZSBpbnB1dDpmb2N1cyxcbi5mbGF0cGlja3ItdGltZSAuZmxhdHBpY2tyLWFtLXBtOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2VlZTtcbn1cbi5mbGF0cGlja3ItaW5wdXRbcmVhZG9ubHldIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZwRmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZnBGYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuIiwiLmZpZWxkaGVscGVycy1maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmc6IDAuNWVtO1xufSIsIkBtaXhpbiBmaWVsZGhlbHBlcnMtY29sKCkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwLjVlbTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5maWVsZGhlbHBlcnMtY29sIHtcbiAgQGluY2x1ZGUgZmllbGRoZWxwZXJzLWNvbCgpO1xufVxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDUge1xuXG4gIC5maWVsZGhlbHBlcnMtY29sLSN7JGl9IHtcblxuICAgIEBpbmNsdWRlIGZpZWxkaGVscGVycy1jb2woKTtcbiAgICB3aWR0aDogI3sxMDAgLyAkaX0je1wiJVwifTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufSIsIi5maWVsZGhlbHBlcnMtZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5maWVsZGhlbHBlcnMtZmllbGQtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5cbi5maWVsZGhlbHBlcnMtZmllbGQtY29udGVudCB7XG5cdFxuXHQmID4gKiwgW2RhdGEtaW1hZ2UtcHJldmlld10ge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuXHRcbn0iLCIuZmllbGRoZWxwZXJzLWZpZWxkLWNoZWNrYm94LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgI0RGREZERjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgd2lkdGg6IDMwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5maWVsZGhlbHBlcnMtZmllbGQtY2hlY2tib3gtcm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTUwbXM7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigjZmZmLCA1JSk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwcztcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREZERkRGO1xuICB9XG5cbiAgJi5maWVsZGhlbHBlcnMtZmllbGQtY2hlY2tib3gtcm93LWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDUlKTtcbiAgICB9XG5cbiAgICAuZmllbGRoZWxwZXJzLWZpZWxkLWNoZWNrYm94LWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtY2hlY2tib3gtaW5wdXQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW46IDAuNWVtIDAuNWVtO1xuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC1jaGVja2JveC1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RGREZERjtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59IiwiJHByaW1hcnktY29sb3I6ICMwMDdBQjE7IiwiLmZpZWxkaGVscGVycy1maWVsZC1jb2xvcnBpY2tlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAud3AtcGlja2VyLWhvbGRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDVweCA1cHggMzBweCByZ2JhKCMwMDAsIDAuNSk7XG4gICAgei1pbmRleDogMTAwO1xuICB9XG59IiwiaW5wdXRbcmVhZG9ubHldIHtcblxuXHQmLmZpZWxkaGVscGVycy1maWVsZC10aW1lcGlja2VyLXByZXZpZXcsICYuZmllbGRoZWxwZXJzLWZpZWxkLWRhdGV0aW1lcGlja2VyLXByZXZpZXcsICYuZmllbGRoZWxwZXJzLWZpZWxkLWRhdGVwaWNrZXItcHJldmlldyB7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG5cdH1cblxufSIsIi5maWVsZGhlbHBlcnMtZmllbGQtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIuZmllbGRoZWxwZXJzLWZpZWxkLWxpc3Qge1xuICAuZmllbGRoZWxwZXJzLWZpZWxkLWxpc3QtaXRlbSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgIGN1cnNvcjogbW92ZTtcbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtbGlzdC1pdGVtLWhhbmRsZSB7XG4gICAgY29sb3I6ICNiYmI7XG4gIH1cbn0iLCIuZmllbGRoZWxwZXJzLW1lZGlhLXVwbG9hZGVyIHtcbiAgLm1lZGlhLXVybCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAuaW1hZ2UtcHJldmlldyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59IiwiLmZpZWxkaGVscGVycy1maWVsZC1udW1iZXIge1xuICAuZmllbGRoZWxwZXJzLWZpZWxkLW51bWJlci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICZbZGF0YS1wb3N0Zml4XSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtcG9zdGZpeCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMjBweCArIDAuNWVtKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRXhjZXNzaXZlIHNlbGVjdG9yIGJlY2F1c2UgV1AgdHJpZXMgdG8gY2hhbmdlIGl0IGZvciBtb2JpbGVcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0uZmllbGRoZWxwZXJzLWZpZWxkLWlucHV0IHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC1udW1iZXItaW5jcmVhc2UsIC5maWVsZGhlbHBlcnMtZmllbGQtbnVtYmVyLWRlY3JlYXNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKCRwcmltYXJ5LWNvbG9yLCA1JSk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMCBkYXJrZW4oJHByaW1hcnktY29sb3IsIDUlKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHByaW1hcnktY29sb3IsIDUlKTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAwICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xuICAgIH1cblxuICAgIC5kYXNoaWNvbnMge1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuZmllbGRoZWxwZXJzLWZpZWxkLW51bWJlci1pbmNyZWFzZSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtbnVtYmVyLWRlY3JlYXNlIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgfVxufSIsIi5maWVsZGhlbHBlcnMtZmllbGQtcmFkaW8tY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREZERkRGO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB3aWR0aDogMzAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmZpZWxkaGVscGVycy1maWVsZC1yYWRpby1yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNTBtcztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oI2ZmZiwgNSUpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMHM7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuXG4gICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RGREZERjtcbiAgfVxuXG4gICYuZmllbGRoZWxwZXJzLWZpZWxkLXJhZGlvLXJvdy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDUlKTtcbiAgICB9XG5cbiAgICAuZmllbGRoZWxwZXJzLWZpZWxkLXJhZGlvLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtcmFkaW8taW5wdXQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBtYXJnaW46IDAuNWVtIDAuNWVtO1xuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC1yYWRpby1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RGREZERjtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59IiwiLmZpZWxkaGVscGVycy1maWVsZC1yZXBlYXRlci1sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZmllbGRoZWxwZXJzLWZpZWxkLXJlcGVhdGVyLWxpc3Qge1xuXG4gIC5maWVsZGhlbHBlcnMtc29ydGFibGUtcGxhY2Vob2xkZXIge1xuICAgIGJvcmRlcjogM3B4IGRhc2hlZCAjZGRkO1xuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC1yZXBlYXRlci1jb250ZW50e1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxuXG59XG5cbi5maWVsZGhlbHBlcnMtZmllbGQtcmVwZWF0ZXItcm93IHtcbiAgcGFkZGluZzogMC41ZW07XG4gIG1hcmdpbjogMC41ZW0gMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAmLnVpLXNvcnRhYmxlLWhlbHBlciB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC1yZXBlYXRlci1oYW5kbGUge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyIGNlbnRlciwgcmdiYSgwLCAwLCAwLCAuMiksIHJnYmEoMCwgMCwgMCwgLjIpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyIGNlbnRlciwgcmdiYSgwLCAwLCAwLCAuMiksIHJnYmEoMCwgMCwgMCwgLjIpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtcmVwZWF0aW5nLXJhZGlhbC1ncmFkaWVudChjZW50ZXIgY2VudGVyLCByZ2JhKDAsIDAsIDAsIC4yKSwgcmdiYSgwLCAwLCAwLCAuMikgMXB4LCB0cmFuc3BhcmVudCAxcHgsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyIGNlbnRlciwgcmdiYSgwLCAwLCAwLCAuMiksIHJnYmEoMCwgMCwgMCwgLjIpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDNweCAzcHg7XG4gIH1cbn1cblxuLmZpZWxkaGVscGVycy1maWVsZC1yZXBlYXRlci1jb2xsYXBzYWJsZSB7XG4gIC5maWVsZGhlbHBlcnMtZmllbGQtcmVwZWF0ZXItY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtcmVwZWF0ZXItaGVhZGVyLWludGVyaW9yIHtcbiAgICBwYWRkaW5nOiAwIDAuNWVtIDAgMC41ZW07XG5cbiAgICAuZmllbGRoZWxwZXJzLWZpZWxkLXJlcGVhdGVyLWRlbGV0ZS1idXR0b24ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtcmVwZWF0ZXItY29sbGFwc2FibGUtaGFuZGxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuZmllbGRoZWxwZXJzLWZpZWxkLXJlcGVhdGVyLXJvdy5vcGVuZWQge1xuICAgIC5maWVsZGhlbHBlcnMtZmllbGQtcmVwZWF0ZXItY29sbGFwc2FibGUtY29sbGFwc2UtaWNvbntcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC1yZXBlYXRlci1jb2xsYXBzYWJsZS1jb2xsYXBzZS1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbiAwcztcblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufSIsIi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuZmllbGRoZWxwZXJzLXNlbGVjdDIge1xuXG4gICYuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSxcbiAgJi5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuXG4gICAgJi5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCMwMDAsIDAuMDcpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlYXJjaCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgJi5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgYm94LXNoYWRvdzogNXB4IDVweCA0MHB4IHJnYmEoIzAwMCwgMC4zKTtcblxuICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuXG4gICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59IiwiLmZpZWxkaGVscGVycy1maWVsZC10YWJsZSB7XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC10YWJsZS1sb2FkaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuc3Bpbm5lciB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgfVxuXG4gIHRoLCB0ZCB7XG4gICAgcGFkZGluZzogNXB4O1xuICB9XG5cbiAgdGhlYWQge1xuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY3OGE7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZpZWxkaGVscGVycy1maWVsZC10YWJsZS1kZWxldGUtY29sdW1ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59IiwiLmZpZWxkaGVscGVycy1maWVsZC10b2dnbGUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDM0cHg7XG5cbiAgJi5jaGVja2VkIHtcbiAgICAuZmllbGRoZWxwZXJzLWZpZWxkLXRvZ2dsZS1zbGlkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtdG9nZ2xlLXNsaWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXM7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICBsZWZ0OiA0cHg7XG4gICAgICBib3R0b206IDRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zO1xuICAgIH1cbiAgfVxufSIsIi5maWVsZGhlbHBlcnMtZmllbGQtd3lzaXd5Zy1sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufSIsIi5maWVsZGhlbHBlcnMtZmllbGQtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJi5maWVsZGhlbHBlcnMtZmllbGQtdGlwLWFsaWduLWxlZnQge1xuICAgIC5maWVsZGhlbHBlcnMtZmllbGQtdGlwLXRleHQge1xuICAgICAgbGVmdDogLTEwcHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZpZWxkaGVscGVycy1maWVsZC10aXAtYWxpZ24tcmlnaHQge1xuICAgIC5maWVsZGhlbHBlcnMtZmllbGQtdGlwLXRleHQge1xuICAgICAgcmlnaHQ6IC0xMHB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5maWVsZGhlbHBlcnMtZmllbGQtdGlwLXRleHQge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuXG4gICAgLmZpZWxkaGVscGVycy1maWVsZC10aXAtdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuZmllbGRoZWxwZXJzLWZpZWxkLXRpcC10b2dnbGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcztcbiAgfVxuXG4gIC5maWVsZGhlbHBlcnMtZmllbGQtdGlwLXRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm94LXNoYWRvdzogNXB4IDVweCA0MHB4IHJnYmEoIzAwMCwgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAzMDBtcywgb3BhY2l0eSAzMDBtcywgdHJhbnNmb3JtIDMwMG1zO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkcHJpbWFyeS1jb2xvciB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufSJdfQ== */ diff --git a/assets/dist/js/rbm-field-helpers-admin.min.js b/assets/dist/js/rbm-field-helpers-admin.min.js index 9adcedc..7e8277b 100644 --- a/assets/dist/js/rbm-field-helpers-admin.min.js +++ b/assets/dist/js/rbm-field-helpers-admin.min.js @@ -1 +1,7107 @@ -!function(e){function t(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,i){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:i})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=2)}([function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(null===t&&(t=jQuery('.fieldhelpers-field[data-fieldhelpers-name="'+e+'"]').data("fieldhelpers-instance")),null===n){var i=jQuery('.fieldhelpers-field[data-fieldhelpers-name="'+e+'"][data-fieldhelpers-instance="'+t+'"]').first().attr("class"),r=/fieldhelpers-field-(\S*)/.exec(i);null!==r&&r[1].length>0&&(n=r[1])}try{return RBM_FieldHelpers[t].fieldObjects[n][e]}catch(i){return(null===t||null===n||RBM_FieldHelpers[t].fieldObjects[n][e].length<0)&&console.error('Field Helpers Error: Field Object for "'+e+'" Not Found'),!1}}},function(e,t,n){"use strict";!function(e){var t=function(e){return e},n=function(t){return e.isArray(t)},i=function(e){return!n(e)&&e instanceof Object},r=function(t,n){return e.inArray(n,t)},a=function(e,t){return-1!==r(e,t)},o=function(e,t){for(var n in e)e.hasOwnProperty(n)&&t(e[n],n,e)},l=function(e){return e[e.length-1]},s=function(e){return Array.prototype.slice.call(e)},u=function(){var e={};return o(s(arguments),function(t){o(t,function(t,n){e[n]=t})}),e},c=function(e,t){var n=[];return o(e,function(e,i,r){n.push(t(e,i,r))}),n},f=function(e,t,n){var i={};return o(e,function(e,r,a){r=n?n(r,e):r,i[r]=t(e,r,a)}),i},d=function(e,t,i){return n(e)?c(e,t):f(e,t,i)},p=function(e,t){return d(e,function(e){return e[t]})},h=function(e,t){var i;return n(e)?(i=[],o(e,function(e,n,r){t(e,n,r)&&i.push(e)})):(i={},o(e,function(e,n,r){t(e,n,r)&&(i[n]=e)})),i},m=function(e,t,n){return d(e,function(e,i){return e[t].apply(e,n||[])})},g=function(e){var t={};return(e=e||{}).publish=function(e,n){o(t[e],function(e){e(n)})},e.subscribe=function(e,n){t[e]=t[e]||[],t[e].push(n)},e.unsubscribe=function(e){o(t,function(t){var n=r(t,e);-1!==n&&t.splice(n,1)})},e};!function(e){var t=function(e,t){var n=g(),i=e.$;return n.getType=function(){throw'implement me (return type. "text", "radio", etc.)'},n.$=function(e){return e?i.find(e):i},n.disable=function(){n.$().prop("disabled",!0),n.publish("isEnabled",!1)},n.enable=function(){n.$().prop("disabled",!1),n.publish("isEnabled",!0)},t.equalTo=function(e,t){return e===t},t.publishChange=function(){var e;return function(i,r){var a=n.get();t.equalTo(a,e)||n.publish("change",{e:i,domElement:r}),e=a}}(),n},s=function(e,n){var i=t(e,n);return i.get=function(){return i.$().val()},i.set=function(e){i.$().val(e)},i.clear=function(){i.set("")},n.buildSetter=function(e){return function(t){e.call(i,t)}},i},u=function(e,t){e=n(e)?e:[e],t=n(t)?t:[t];var i=!0;return e.length!==t.length?i=!1:o(e,function(e){a(t,e)||(i=!1)}),i},c=function(e){var t={},n=s(e,t);return n.getType=function(){return"button"},n.$().on("change",function(e){t.publishChange(e,this)}),n},f=function(t){var i={},r=s(t,i);return r.getType=function(){return"checkbox"},r.get=function(){var t=[];return r.$().filter(":checked").each(function(){t.push(e(this).val())}),t},r.set=function(t){t=n(t)?t:[t],r.$().each(function(){e(this).prop("checked",!1)}),o(t,function(e){r.$().filter('[value="'+e+'"]').prop("checked",!0)})},i.equalTo=u,r.$().change(function(e){i.publishChange(e,this)}),r},d=function(e){var t=C(e,{});return t.getType=function(){return"email"},t},p=function(n){var i={},r=t(n,i);return r.getType=function(){return"file"},r.get=function(){return l(r.$().val().split("\\"))},r.clear=function(){this.$().each(function(){e(this).wrap("
").closest("form").get(0).reset(),e(this).unwrap()})},r.$().change(function(e){i.publishChange(e,this)}),r},h=function(e){var t={},n=s(e,t);return n.getType=function(){return"hidden"},n.$().change(function(e){t.publishChange(e,this)}),n},v=function(n){var i={},r=t(n,i);return r.getType=function(){return"file[multiple]"},r.get=function(){var e,t=r.$().get(0).files||[],n=[];for(e=0;e<(t.length||0);e+=1)n.push(t[e].name);return n},r.clear=function(){this.$().each(function(){e(this).wrap("").closest("form").get(0).reset(),e(this).unwrap()})},r.$().change(function(e){i.publishChange(e,this)}),r},y=function(e){var t={},i=s(e,t);return i.getType=function(){return"select[multiple]"},i.get=function(){return i.$().val()||[]},i.set=function(e){i.$().val(""===e?[]:n(e)?e:[e])},t.equalTo=u,i.$().change(function(e){t.publishChange(e,this)}),i},b=function(e){var t=C(e,{});return t.getType=function(){return"password"},t},w=function(t){var n={},i=s(t,n);return i.getType=function(){return"radio"},i.get=function(){return i.$().filter(":checked").val()||null},i.set=function(t){t?i.$().filter('[value="'+t+'"]').prop("checked",!0):i.$().each(function(){e(this).prop("checked",!1)})},i.$().change(function(e){n.publishChange(e,this)}),i},D=function(e){var t={},n=s(e,t);return n.getType=function(){return"range"},n.$().change(function(e){t.publishChange(e,this)}),n},k=function(e){var t={},n=s(e,t);return n.getType=function(){return"select"},n.$().change(function(e){t.publishChange(e,this)}),n},C=function(e){var t={},n=s(e,t);return n.getType=function(){return"text"},n.$().on("change keyup keydown",function(e){t.publishChange(e,this)}),n},M=function(e){var t={},n=s(e,t);return n.getType=function(){return"textarea"},n.$().on("change keyup keydown",function(e){t.publishChange(e,this)}),n},_=function(e){var t=C(e,{});return t.getType=function(){return"url"},t},O=function(t){var n={},a=t.$,l=t.constructorOverride||{button:c,text:C,url:_,email:d,password:b,range:D,textarea:M,select:k,"select[multiple]":y,radio:w,checkbox:f,file:p,"file[multiple]":v,hidden:h},s=function(t,r){(i(r)?r:a.find(r)).each(function(){var i=e(this).attr("name");n[i]=l[t]({$:e(this)})})},u=function(t,s){var u=[],c=i(s)?s:a.find(s);i(s)?n[c.attr("name")]=l[t]({$:c}):(c.each(function(){-1===r(u,e(this).attr("name"))&&u.push(e(this).attr("name"))}),o(u,function(e){n[e]=l[t]({$:a.find('input[name="'+e+'"]')})}))};return a.is("input, select, textarea")?a.is('input[type="button"], button, input[type="submit"]')?s("button",a):a.is("textarea")?s("textarea",a):a.is('input[type="text"]')||a.is("input")&&!a.attr("type")?s("text",a):a.is('input[type="password"]')?s("password",a):a.is('input[type="email"]')?s("email",a):a.is('input[type="url"]')?s("url",a):a.is('input[type="range"]')?s("range",a):a.is("select")?a.is("[multiple]")?s("select[multiple]",a):s("select",a):a.is('input[type="file"]')?a.is("[multiple]")?s("file[multiple]",a):s("file",a):a.is('input[type="hidden"]')?s("hidden",a):a.is('input[type="radio"]')?u("radio",a):a.is('input[type="checkbox"]')?u("checkbox",a):s("text",a):(s("button",'input[type="button"], button, input[type="submit"]'),s("text",'input[type="text"]'),s("password",'input[type="password"]'),s("email",'input[type="email"]'),s("url",'input[type="url"]'),s("range",'input[type="range"]'),s("textarea","textarea"),s("select","select:not([multiple])"),s("select[multiple]","select[multiple]"),s("file",'input[type="file"]:not([multiple])'),s("file[multiple]",'input[type="file"][multiple]'),s("hidden",'input[type="hidden"]'),u("radio",'input[type="radio"]'),u("checkbox",'input[type="checkbox"]')),n};e.fn.inputVal=function(t){var n=e(this),i=O({$:n});return n.is("input, textarea, select")?void 0===t?i[n.attr("name")].get():(i[n.attr("name")].set(t),n):void 0===t?m(i,"get"):(o(t,function(e,t){i[t].set(e)}),n)},e.fn.inputOnChange=function(t){var n=e(this),i=O({$:n});return o(i,function(e){e.subscribe("change",function(e){t.call(e.domElement,e.e)})}),n},e.fn.inputDisable=function(){var t=e(this);return m(O({$:t}),"disable"),t},e.fn.inputEnable=function(){var t=e(this);return m(O({$:t}),"enable"),t},e.fn.inputClear=function(){var t=e(this);return m(O({$:t}),"clear"),t}}(jQuery),e.fn.repeaterVal=function(){return function e(t){if(1===t.length&&(0===t[0].key.length||1===t[0].key.length&&!t[0].key[0]))return t[0].val;o(t,function(e){e.head=e.key.shift()});var n,i=function(){var e={};return o(t,function(t){e[t.head]||(e[t.head]=[]),e[t.head].push(t)}),e}();return/^[0-9]+$/.test(t[0].head)?(n=[],o(i,function(t){n.push(e(t))})):(n={},o(i,function(t,i){n[i]=e(t)})),n}(function(e){var t=[];return o(e,function(e,n){var i=[];"undefined"!==n&&(i.push(n.match(/^[^\[]*/)[0]),i=i.concat(d(n.match(/\[[^\]]*\]/g),function(e){return e.replace(/[\[\]]/g,"")})),t.push({val:e,key:i}))}),t}(e(this).inputVal()))},e.fn.repeater=function(n){n=n||{};var i;return e(this).each(function(){var r=e(this),a=n.show||function(){e(this).show()},s=n.hide||function(e){e()},c=r.find("[data-repeater-list]").first(),f=function(t,n){return t.filter(function(){return!n||0===e(this).closest(p(n,"selector").join(",")).length})},m=function(){return f(c.find("[data-repeater-item]"),n.repeaters)},g=c.find("[data-repeater-item]").first().clone().hide(),v=f(f(e(this).find("[data-repeater-item]"),n.repeaters).first().find("[data-repeater-delete]"),n.repeaters);n.isFirstItemUndeletable&&v&&v.remove();var y=function(){var e=c.data("repeater-list");return n.$parent?n.$parent.data("item-name")+"["+e+"]":e},b=function(t){n.repeaters&&t.each(function(){var t=e(this);o(n.repeaters,function(e){t.find(e.selector).repeater(u(e,{$parent:t}))})})},w=function(e,t,n){e&&o(e,function(e){n.call(t.find(e.selector)[0],e)})},D=function t(n,i,r){n.each(function(n){var a=e(this);a.data("item-name",i+"["+n+"]"),f(a.find("[name]"),r).each(function(){var o=e(this),s=o.attr("name").match(/\[[^\]]+\]/g),u=s?l(s).replace(/\[|\]/g,""):o.attr("name"),c=i+"["+n+"]["+u+"]"+(o.is(":checkbox")||o.attr("multiple")?"[]":"");o.attr("name",c),w(r,a,function(r){var a=e(this);t(f(a.find("[data-repeater-item]"),r.repeaters||[]),i+"["+n+"]["+a.find("[data-repeater-list]").first().data("repeater-list")+"]",r.repeaters)})})}),c.find("input[name][checked]").removeAttr("checked").prop("checked",!0)};D(m(),y(),n.repeaters),b(m()),n.initEmpty&&m().remove(),n.ready&&n.ready(function(){D(m(),y(),n.repeaters)});var k=function(){var i=function i(r,a,l){if(a||n.defaultValues){var s={};f(r.find("[name]"),l).each(function(){var t=e(this).attr("name").match(/\[([^\]]*)(\]|\]\[\])$/)[1];s[t]=e(this).attr("name")}),r.inputVal(d(h(a||n.defaultValues,function(e,t){return s[t]}),t,function(e){return s[e]}))}w(l,r,function(t){var n=e(this);f(n.find("[data-repeater-item]"),t.repeaters).each(function(){var r=n.find("[data-repeater-list]").data("repeater-list");if(a&&a[r]){var l=e(this).clone();n.find("[data-repeater-item]").remove(),o(a[r],function(e){var r=l.clone();i(r,e,t.repeaters||[]),n.find("[data-repeater-list]").append(r)})}else i(e(this),t.defaultValues,t.repeaters||[])})})};return function(t,r){c.append(t),D(m(),y(),n.repeaters),t.find("[name]").each(function(){e(this).inputClear()}),i(t,r||n.defaultValues,n.repeaters)}}(),C=function(e){var t=g.clone();k(t,e),n.repeaters&&b(t),a.call(t.get(0))};i=function(e){m().remove(),o(e,C)},f(r.find("[data-repeater-create]"),n.repeaters).click(function(){C()}),c.on("click","[data-repeater-delete]",function(){var t=e(this).closest("[data-repeater-item]").get(0);s.call(t,function(){e(t).remove(),D(m(),y(),n.repeaters)})})}),this.setList=i,this}}(jQuery)},function(e,t,n){"use strict";var i,r,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(o,l){"object"===a(t)&&void 0!==e?e.exports=l():(i=l,void 0!==(r="function"==typeof i?i.call(t,n,t,e):i)&&(e.exports=r))}(0,function(){function e(e,t,n){void 0===n&&(n=!1);var i;return function(){var r=this,a=arguments;null!==i&&clearTimeout(i),i=window.setTimeout(function(){i=null,n||e.apply(r,a)},t),n&&!i&&e.apply(r,a)}}function t(e,t,n){if(!0===n)return e.classList.add(t);e.classList.remove(t)}function n(e,t,n){var i=window.document.createElement(e);return t=t||"",n=n||"",i.className=t,void 0!==n&&(i.textContent=n),i}function i(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function r(e,t){return t(e)?e:e.parentNode?r(e.parentNode,t):void 0}function o(e,t){var i=n("div","numInputWrapper"),r=n("input","numInput "+e),a=n("span","arrowUp"),o=n("span","arrowDown");if(-1===navigator.userAgent.indexOf("MSIE 9.0")?r.type="number":(r.type="text",r.pattern="\\d*"),void 0!==t)for(var l in t)r.setAttribute(l,t[l]);return i.appendChild(r),i.appendChild(a),i.appendChild(o),i}function l(e){return"function"==typeof e.composedPath?e.composedPath()[0]:e.target}function s(e,t,n){return void 0===n&&(n=!0),!1!==n?new Date(e.getTime()).setHours(0,0,0,0)-new Date(t.getTime()).setHours(0,0,0,0):e.getTime()-t.getTime()}function u(u,c){function y(){Ae.utils={getDaysInMonth:function(e,t){return void 0===e&&(e=Ae.currentMonth),void 0===t&&(t=Ae.currentYear),1===e&&(t%4==0&&t%100!=0||t%400==0)?29:Ae.l10n.daysInMonth[e]}}}function w(e){return e.bind(Ae)}function k(){var e=Ae.config;!1===e.weekNumbers&&1===e.showMonths||!0!==e.noCalendar&&window.requestAnimationFrame(function(){if(void 0!==Ae.calendarContainer&&(Ae.calendarContainer.style.visibility="hidden",Ae.calendarContainer.style.display="block"),void 0!==Ae.daysContainer){var t=(Ae.days.offsetWidth+1)*e.showMonths;Ae.daysContainer.style.width=t+"px",Ae.calendarContainer.style.width=t+(void 0!==Ae.weekWrapper?Ae.weekWrapper.offsetWidth:0)+"px",Ae.calendarContainer.style.removeProperty("visibility"),Ae.calendarContainer.style.removeProperty("display")}})}function E(e){0===Ae.selectedDates.length&&me(),void 0!==e&&"blur"!==e.type&&He(e);var t=Ae._input.value;$(),Ie(),Ae._input.value!==t&&Ae._debouncedChange()}function F(e,t){return e%12+12*g(t===Ae.l10n.amPM[1])}function T(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}function $(){if(void 0!==Ae.hourElement&&void 0!==Ae.minuteElement){var e=(parseInt(Ae.hourElement.value.slice(-2),10)||0)%24,t=(parseInt(Ae.minuteElement.value,10)||0)%60,n=void 0!==Ae.secondElement?(parseInt(Ae.secondElement.value,10)||0)%60:0;void 0!==Ae.amPM&&(e=F(e,Ae.amPM.textContent));var i=void 0!==Ae.config.minTime||Ae.config.minDate&&Ae.minDateHasTime&&Ae.latestSelectedDateObj&&0===s(Ae.latestSelectedDateObj,Ae.config.minDate,!0);if(void 0!==Ae.config.maxTime||Ae.config.maxDate&&Ae.maxDateHasTime&&Ae.latestSelectedDateObj&&0===s(Ae.latestSelectedDateObj,Ae.config.maxDate,!0)){var r=void 0!==Ae.config.maxTime?Ae.config.maxTime:Ae.config.maxDate;(e=Math.min(e,r.getHours()))===r.getHours()&&(t=Math.min(t,r.getMinutes())),t===r.getMinutes()&&(n=Math.min(n,r.getSeconds()))}if(i){var a=void 0!==Ae.config.minTime?Ae.config.minTime:Ae.config.minDate;(e=Math.max(e,a.getHours()))===a.getHours()&&(t=Math.max(t,a.getMinutes())),t===a.getMinutes()&&(n=Math.max(n,a.getSeconds()))}S(e,t,n)}}function P(e){var t=e||Ae.latestSelectedDateObj;t&&S(t.getHours(),t.getMinutes(),t.getSeconds())}function I(){var e=Ae.config.defaultHour,t=Ae.config.defaultMinute,n=Ae.config.defaultSeconds;if(void 0!==Ae.config.minDate){var i=Ae.config.minDate.getHours(),r=Ae.config.minDate.getMinutes();(e=Math.max(e,i))===i&&(t=Math.max(r,t)),e===i&&t===r&&(n=Ae.config.minDate.getSeconds())}if(void 0!==Ae.config.maxDate){var a=Ae.config.maxDate.getHours(),o=Ae.config.maxDate.getMinutes();(e=Math.min(e,a))===a&&(t=Math.min(o,t)),e===a&&t===o&&(n=Ae.config.maxDate.getSeconds())}S(e,t,n)}function S(e,t,n){void 0!==Ae.latestSelectedDateObj&&Ae.latestSelectedDateObj.setHours(e%24,t,n||0,0),Ae.hourElement&&Ae.minuteElement&&!Ae.isMobile&&(Ae.hourElement.value=m(Ae.config.time_24hr?e:(12+e)%12+12*g(e%12==0)),Ae.minuteElement.value=m(t),void 0!==Ae.amPM&&(Ae.amPM.textContent=Ae.l10n.amPM[g(e>=12)]),void 0!==Ae.secondElement&&(Ae.secondElement.value=m(n)))}function H(e){var t=parseInt(e.target.value)+(e.delta||0);(t/1e3>1||"Enter"===e.key&&!/[^\d]/.test(t.toString()))&&ue(t)}function A(e,t,n,i){return t instanceof Array?t.forEach(function(t){return A(e,t,n,i)}):e instanceof Array?e.forEach(function(e){return A(e,t,n,i)}):(e.addEventListener(t,n,i),void Ae._handlers.push({element:e,event:t,handler:n,options:i}))}function N(e){return function(t){1===t.which&&e(t)}}function Y(){xe("onChange")}function Q(){if(Ae.config.wrap&&["open","close","toggle","clear"].forEach(function(e){Array.prototype.forEach.call(Ae.element.querySelectorAll("[data-"+e+"]"),function(t){return A(t,"click",Ae[e])})}),Ae.isMobile)je();else{var t=e(he,50);if(Ae._debouncedChange=e(Y,j),Ae.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&A(Ae.daysContainer,"mouseover",function(e){"range"===Ae.config.mode&&pe(e.target)}),A(window.document.body,"keydown",de),Ae.config.inline||Ae.config.static||A(window,"resize",t),void 0!==window.ontouchstart?A(window.document,"touchstart",se):A(window.document,"mousedown",N(se)),A(window.document,"focus",se,{capture:!0}),!0===Ae.config.clickOpens&&(A(Ae._input,"focus",Ae.open),A(Ae._input,"mousedown",N(Ae.open))),void 0!==Ae.daysContainer&&(A(Ae.monthNav,"mousedown",N(Se)),A(Ae.monthNav,["keyup","increment"],H),A(Ae.daysContainer,"mousedown",N(ke))),void 0!==Ae.timeContainer&&void 0!==Ae.minuteElement&&void 0!==Ae.hourElement){A(Ae.timeContainer,["increment"],E),A(Ae.timeContainer,"blur",E,{capture:!0}),A(Ae.timeContainer,"mousedown",N(R)),A([Ae.hourElement,Ae.minuteElement],["focus","click"],function(e){return e.target.select()}),void 0!==Ae.secondElement&&A(Ae.secondElement,"focus",function(){return Ae.secondElement&&Ae.secondElement.select()}),void 0!==Ae.amPM&&A(Ae.amPM,"mousedown",N(function(e){E(e),Y()}))}}}function L(e,t){var n=void 0!==e?Ae.parseDate(e):Ae.latestSelectedDateObj||(Ae.config.minDate&&Ae.config.minDate>Ae.now?Ae.config.minDate:Ae.config.maxDate&&Ae.config.maxDate1),Ae.calendarContainer.appendChild(e);var o=void 0!==Ae.config.appendTo&&void 0!==Ae.config.appendTo.nodeType;if((Ae.config.inline||Ae.config.static)&&(Ae.calendarContainer.classList.add(Ae.config.inline?"inline":"static"),Ae.config.inline&&(!o&&Ae.element.parentNode?Ae.element.parentNode.insertBefore(Ae.calendarContainer,Ae._input.nextSibling):void 0!==Ae.config.appendTo&&Ae.config.appendTo.appendChild(Ae.calendarContainer)),Ae.config.static)){var l=n("div","flatpickr-wrapper");Ae.element.parentNode&&Ae.element.parentNode.insertBefore(l,Ae.element),l.appendChild(Ae.element),Ae.altInput&&l.appendChild(Ae.altInput),l.appendChild(Ae.calendarContainer)}Ae.config.static||Ae.config.inline||(void 0!==Ae.config.appendTo?Ae.config.appendTo:window.document.body).appendChild(Ae.calendarContainer)}function U(e,i,r,a){var o=ce(i,!0),l=n("span","flatpickr-day "+e,i.getDate().toString());return l.dateObj=i,l.$i=a,l.setAttribute("aria-label",Ae.formatDate(i,Ae.config.ariaDateFormat)),-1===e.indexOf("hidden")&&0===s(i,Ae.now)&&(Ae.todayDateElem=l,l.classList.add("today"),l.setAttribute("aria-current","date")),o?(l.tabIndex=-1,Fe(i)&&(l.classList.add("selected"),Ae.selectedDateElem=l,"range"===Ae.config.mode&&(t(l,"startRange",Ae.selectedDates[0]&&0===s(i,Ae.selectedDates[0],!0)),t(l,"endRange",Ae.selectedDates[1]&&0===s(i,Ae.selectedDates[1],!0)),"nextMonthDay"===e&&l.classList.add("inRange")))):l.classList.add("flatpickr-disabled"),"range"===Ae.config.mode&&Te(i)&&!Fe(i)&&l.classList.add("inRange"),Ae.weekNumbers&&1===Ae.config.showMonths&&"prevMonthDay"!==e&&r%7==1&&Ae.weekNumbers.insertAdjacentHTML("beforeend",""+Ae.config.getWeek(i)+""),xe("onDayCreate",l),l}function W(e){e.focus(),"range"===Ae.config.mode&&pe(e)}function q(e){for(var t=e>0?0:Ae.config.showMonths-1,n=e>0?Ae.config.showMonths:-1,i=t;i!=n;i+=e)for(var r=Ae.daysContainer.children[i],a=e>0?0:r.children.length-1,o=e>0?r.children.length:-1,l=a;l!=o;l+=e){var s=r.children[l];if(-1===s.className.indexOf("hidden")&&ce(s.dateObj))return s}}function K(e,t){for(var n=-1===e.className.indexOf("Month")?e.dateObj.getMonth():Ae.currentMonth,i=t>0?Ae.config.showMonths:-1,r=t>0?1:-1,a=n-Ae.currentMonth;a!=i;a+=r)for(var o=Ae.daysContainer.children[a],l=n-Ae.currentMonth===a?e.$i+t:t<0?o.children.length-1:0,s=o.children.length,u=l;u>=0&&u0?s:-1);u+=r){var c=o.children[u];if(-1===c.className.indexOf("hidden")&&ce(c.dateObj)&&Math.abs(e.$i-u)>=Math.abs(t))return W(c)}Ae.changeMonth(r),V(q(r),0)}function V(e,t){var n=fe(document.activeElement||document.body),i=void 0!==e?e:n?document.activeElement:void 0!==Ae.selectedDateElem&&fe(Ae.selectedDateElem)?Ae.selectedDateElem:void 0!==Ae.todayDateElem&&fe(Ae.todayDateElem)?Ae.todayDateElem:q(t>0?1:-1);return void 0===i?Ae._input.focus():n?void K(i,t):W(i)}function J(e,t){for(var i=(new Date(e,t,1).getDay()-Ae.l10n.firstDayOfWeek+7)%7,r=Ae.utils.getDaysInMonth((t-1+12)%12),a=Ae.utils.getDaysInMonth(t),o=window.document.createDocumentFragment(),l=Ae.config.showMonths>1,s=l?"prevMonthDay hidden":"prevMonthDay",u=l?"nextMonthDay hidden":"nextMonthDay",c=r+1-i,f=0;c<=r;c++,f++)o.appendChild(U(s,new Date(e,t-1,c),c,f));for(c=1;c<=a;c++,f++)o.appendChild(U("",new Date(e,t,c),c,f));for(var d=a+1;d<=42-i&&(1===Ae.config.showMonths||f%7!=0);d++,f++)o.appendChild(U(u,new Date(e,t+1,d%a),d,f));var p=n("div","dayContainer");return p.appendChild(o),p}function G(){if(void 0!==Ae.daysContainer){i(Ae.daysContainer),Ae.weekNumbers&&i(Ae.weekNumbers);for(var e=document.createDocumentFragment(),t=0;t1||"dropdown"!==Ae.config.monthSelectorType)){Ae.monthsDropdownContainer.tabIndex=-1,Ae.monthsDropdownContainer.innerHTML="";for(var e=0;e<12;e++)if(function(e){return!(void 0!==Ae.config.minDate&&Ae.currentYear===Ae.config.minDate.getFullYear()&&eAe.config.maxDate.getMonth())}(e)){var t=n("option","flatpickr-monthDropdown-month");t.value=new Date(Ae.currentYear,e).getMonth().toString(),t.textContent=b(e,Ae.config.shorthandCurrentMonth,Ae.l10n),t.tabIndex=-1,Ae.currentMonth===e&&(t.selected=!0),Ae.monthsDropdownContainer.appendChild(t)}}}function X(){var e,t=n("div","flatpickr-month"),i=window.document.createDocumentFragment();Ae.config.showMonths>1||"static"===Ae.config.monthSelectorType?e=n("span","cur-month"):(Ae.monthsDropdownContainer=n("select","flatpickr-monthDropdown-months"),A(Ae.monthsDropdownContainer,"change",function(e){var t=e.target,n=parseInt(t.value,10);Ae.changeMonth(n-Ae.currentMonth),xe("onMonthChange")}),Z(),e=Ae.monthsDropdownContainer);var r=o("cur-year",{tabindex:"-1"}),a=r.getElementsByTagName("input")[0];a.setAttribute("aria-label",Ae.l10n.yearAriaLabel),Ae.config.minDate&&a.setAttribute("min",Ae.config.minDate.getFullYear().toString()),Ae.config.maxDate&&(a.setAttribute("max",Ae.config.maxDate.getFullYear().toString()),a.disabled=!!Ae.config.minDate&&Ae.config.minDate.getFullYear()===Ae.config.maxDate.getFullYear());var l=n("div","flatpickr-current-month");return l.appendChild(e),l.appendChild(r),i.appendChild(l),t.appendChild(i),{container:t,yearElement:a,monthElement:e}}function ee(){i(Ae.monthNav),Ae.monthNav.appendChild(Ae.prevMonthNav),Ae.config.showMonths&&(Ae.yearElements=[],Ae.monthElements=[]);for(var e=Ae.config.showMonths;e--;){var t=X();Ae.yearElements.push(t.yearElement),Ae.monthElements.push(t.monthElement),Ae.monthNav.appendChild(t.container)}Ae.monthNav.appendChild(Ae.nextMonthNav)}function te(){return Ae.monthNav=n("div","flatpickr-months"),Ae.yearElements=[],Ae.monthElements=[],Ae.prevMonthNav=n("span","flatpickr-prev-month"),Ae.prevMonthNav.innerHTML=Ae.config.prevArrow,Ae.nextMonthNav=n("span","flatpickr-next-month"),Ae.nextMonthNav.innerHTML=Ae.config.nextArrow,ee(),Object.defineProperty(Ae,"_hidePrevMonthArrow",{get:function(){return Ae.__hidePrevMonthArrow},set:function(e){Ae.__hidePrevMonthArrow!==e&&(t(Ae.prevMonthNav,"flatpickr-disabled",e),Ae.__hidePrevMonthArrow=e)}}),Object.defineProperty(Ae,"_hideNextMonthArrow",{get:function(){return Ae.__hideNextMonthArrow},set:function(e){Ae.__hideNextMonthArrow!==e&&(t(Ae.nextMonthNav,"flatpickr-disabled",e),Ae.__hideNextMonthArrow=e)}}),Ae.currentYearElement=Ae.yearElements[0],$e(),Ae.monthNav}function ne(){Ae.calendarContainer.classList.add("hasTime"),Ae.config.noCalendar&&Ae.calendarContainer.classList.add("noCalendar"),Ae.timeContainer=n("div","flatpickr-time"),Ae.timeContainer.tabIndex=-1;var e=n("span","flatpickr-time-separator",":"),t=o("flatpickr-hour",{"aria-label":Ae.l10n.hourAriaLabel});Ae.hourElement=t.getElementsByTagName("input")[0];var i=o("flatpickr-minute",{"aria-label":Ae.l10n.minuteAriaLabel});if(Ae.minuteElement=i.getElementsByTagName("input")[0],Ae.hourElement.tabIndex=Ae.minuteElement.tabIndex=-1,Ae.hourElement.value=m(Ae.latestSelectedDateObj?Ae.latestSelectedDateObj.getHours():Ae.config.time_24hr?Ae.config.defaultHour:T(Ae.config.defaultHour)),Ae.minuteElement.value=m(Ae.latestSelectedDateObj?Ae.latestSelectedDateObj.getMinutes():Ae.config.defaultMinute),Ae.hourElement.setAttribute("step",Ae.config.hourIncrement.toString()),Ae.minuteElement.setAttribute("step",Ae.config.minuteIncrement.toString()),Ae.hourElement.setAttribute("min",Ae.config.time_24hr?"0":"1"),Ae.hourElement.setAttribute("max",Ae.config.time_24hr?"23":"12"),Ae.minuteElement.setAttribute("min","0"),Ae.minuteElement.setAttribute("max","59"),Ae.timeContainer.appendChild(t),Ae.timeContainer.appendChild(e),Ae.timeContainer.appendChild(i),Ae.config.time_24hr&&Ae.timeContainer.classList.add("time24hr"),Ae.config.enableSeconds){Ae.timeContainer.classList.add("hasSeconds");var r=o("flatpickr-second");Ae.secondElement=r.getElementsByTagName("input")[0],Ae.secondElement.value=m(Ae.latestSelectedDateObj?Ae.latestSelectedDateObj.getSeconds():Ae.config.defaultSeconds),Ae.secondElement.setAttribute("step",Ae.minuteElement.getAttribute("step")),Ae.secondElement.setAttribute("min","0"),Ae.secondElement.setAttribute("max","59"),Ae.timeContainer.appendChild(n("span","flatpickr-time-separator",":")),Ae.timeContainer.appendChild(r)}return Ae.config.time_24hr||(Ae.amPM=n("span","flatpickr-am-pm",Ae.l10n.amPM[g((Ae.latestSelectedDateObj?Ae.hourElement.value:Ae.config.defaultHour)>11)]),Ae.amPM.title=Ae.l10n.toggleTitle,Ae.amPM.tabIndex=-1,Ae.timeContainer.appendChild(Ae.amPM)),Ae.timeContainer}function ie(){Ae.weekdayContainer?i(Ae.weekdayContainer):Ae.weekdayContainer=n("div","flatpickr-weekdays");for(var e=Ae.config.showMonths;e--;){var t=n("div","flatpickr-weekdaycontainer");Ae.weekdayContainer.appendChild(t)}return re(),Ae.weekdayContainer}function re(){var e=Ae.l10n.firstDayOfWeek,t=Ae.l10n.weekdays.shorthand.slice();e>0&&e\n "+t.join("")+"\n \n "}function ae(){Ae.calendarContainer.classList.add("hasWeeks");var e=n("div","flatpickr-weekwrapper");e.appendChild(n("span","flatpickr-weekday",Ae.l10n.weekAbbreviation));var t=n("div","flatpickr-weeks");return e.appendChild(t),{weekWrapper:e,weekNumbers:t}}function oe(e,t){void 0===t&&(t=!0);var n=t?e:e-Ae.currentMonth;n<0&&!0===Ae._hidePrevMonthArrow||n>0&&!0===Ae._hideNextMonthArrow||(Ae.currentMonth+=n,(Ae.currentMonth<0||Ae.currentMonth>11)&&(Ae.currentYear+=Ae.currentMonth>11?1:-1,Ae.currentMonth=(Ae.currentMonth+12)%12,xe("onYearChange"),Z()),G(),xe("onMonthChange"),$e())}function le(e){return!(!Ae.config.appendTo||!Ae.config.appendTo.contains(e))||Ae.calendarContainer.contains(e)}function se(e){if(Ae.isOpen&&!Ae.config.inline){var t=l(e),n=le(t),i=t===Ae.input||t===Ae.altInput||Ae.element.contains(t)||e.path&&e.path.indexOf&&(~e.path.indexOf(Ae.input)||~e.path.indexOf(Ae.altInput)),r="blur"===e.type?i&&e.relatedTarget&&!le(e.relatedTarget):!i&&!n&&!le(e.relatedTarget),a=!Ae.config.ignoredFocusElements.some(function(e){return e.contains(t)});r&&a&&(Ae.close(),"range"===Ae.config.mode&&1===Ae.selectedDates.length&&(Ae.clear(!1),Ae.redraw()))}}function ue(e){if(!(!e||Ae.config.minDate&&eAe.config.maxDate.getFullYear())){var t=e,n=Ae.currentYear!==t;Ae.currentYear=t||Ae.currentYear,Ae.config.maxDate&&Ae.currentYear===Ae.config.maxDate.getFullYear()?Ae.currentMonth=Math.min(Ae.config.maxDate.getMonth(),Ae.currentMonth):Ae.config.minDate&&Ae.currentYear===Ae.config.minDate.getFullYear()&&(Ae.currentMonth=Math.max(Ae.config.minDate.getMonth(),Ae.currentMonth)),n&&(Ae.redraw(),xe("onYearChange"),Z())}}function ce(e,t){void 0===t&&(t=!0);var n=Ae.parseDate(e,void 0,t);if(Ae.config.minDate&&n&&s(n,Ae.config.minDate,void 0!==t?t:!Ae.minDateHasTime)<0||Ae.config.maxDate&&n&&s(n,Ae.config.maxDate,void 0!==t?t:!Ae.maxDateHasTime)>0)return!1;if(0===Ae.config.enable.length&&0===Ae.config.disable.length)return!0;if(void 0===n)return!1;for(var i=Ae.config.enable.length>0,r=i?Ae.config.enable:Ae.config.disable,o=0,l=void 0;o=l.from.getTime()&&n.getTime()<=l.to.getTime())return i}return!i}function fe(e){return void 0!==Ae.daysContainer&&(-1===e.className.indexOf("hidden")&&Ae.daysContainer.contains(e))}function de(e){var t=e.target===Ae._input,n=Ae.config.allowInput,i=Ae.isOpen&&(!n||!t),r=Ae.config.inline&&t&&!n;if(13===e.keyCode&&t){if(n)return Ae.setDate(Ae._input.value,!0,e.target===Ae.altInput?Ae.config.altFormat:Ae.config.dateFormat),e.target.blur();Ae.open()}else if(le(e.target)||i||r){var a=!!Ae.timeContainer&&Ae.timeContainer.contains(e.target);switch(e.keyCode){case 13:a?(e.preventDefault(),E(),De()):ke(e);break;case 27:e.preventDefault(),De();break;case 8:case 46:t&&!Ae.config.allowInput&&(e.preventDefault(),Ae.clear());break;case 37:case 39:if(a||t)Ae.hourElement&&Ae.hourElement.focus();else if(e.preventDefault(),void 0!==Ae.daysContainer&&(!1===n||document.activeElement&&fe(document.activeElement))){var o=39===e.keyCode?1:-1;e.ctrlKey?(e.stopPropagation(),oe(o),V(q(1),0)):V(void 0,o)}break;case 38:case 40:e.preventDefault();var l=40===e.keyCode?1:-1;Ae.daysContainer&&void 0!==e.target.$i||e.target===Ae.input?e.ctrlKey?(e.stopPropagation(),ue(Ae.currentYear-l),V(q(1),0)):a||V(void 0,7*l):e.target===Ae.currentYearElement?ue(Ae.currentYear-l):Ae.config.enableTime&&(!a&&Ae.hourElement&&Ae.hourElement.focus(),E(e),Ae._debouncedChange());break;case 9:if(a){var s=[Ae.hourElement,Ae.minuteElement,Ae.secondElement,Ae.amPM].concat(Ae.pluginElements).filter(function(e){return e}),u=s.indexOf(e.target);if(-1!==u){var c=s[u+(e.shiftKey?-1:1)];e.preventDefault(),(c||Ae._input).focus()}}else!Ae.config.noCalendar&&Ae.daysContainer&&Ae.daysContainer.contains(e.target)&&e.shiftKey&&(e.preventDefault(),Ae._input.focus())}}if(void 0!==Ae.amPM&&e.target===Ae.amPM)switch(e.key){case Ae.l10n.amPM[0].charAt(0):case Ae.l10n.amPM[0].charAt(0).toLowerCase():Ae.amPM.textContent=Ae.l10n.amPM[0],$(),Ie();break;case Ae.l10n.amPM[1].charAt(0):case Ae.l10n.amPM[1].charAt(0).toLowerCase():Ae.amPM.textContent=Ae.l10n.amPM[1],$(),Ie()}(t||le(e.target))&&xe("onKeyDown",e)}function pe(e){if(1===Ae.selectedDates.length&&(!e||e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled"))){for(var t=e?e.dateObj.getTime():Ae.days.firstElementChild.dateObj.getTime(),n=Ae.parseDate(Ae.selectedDates[0],void 0,!0).getTime(),i=Math.min(t,Ae.selectedDates[0].getTime()),r=Math.max(t,Ae.selectedDates[0].getTime()),a=!1,o=0,l=0,s=i;si&&so)?o=s:s>n&&(!l||s0&&u0&&u>l;f?(s.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach(function(e){s.classList.remove(e)})):a&&!f||(["startRange","inRange","endRange","notAllowed"].forEach(function(e){s.classList.remove(e)}),void 0!==e&&(e.classList.add(t<=Ae.selectedDates[0].getTime()?"startRange":"endRange"),nt&&u===n&&s.classList.add("endRange"),u>=o&&(0===l||u<=l)&&_(u,n,t)&&s.classList.add("inRange")))}(f)}}function he(){!Ae.isOpen||Ae.config.static||Ae.config.inline||be()}function me(){Ae.setDate(void 0!==Ae.config.minDate?new Date(Ae.config.minDate.getTime()):new Date,!0),I(),Ie()}function ge(e){return function(t){var n=Ae.config["_"+e+"Date"]=Ae.parseDate(t,Ae.config.dateFormat),i=Ae.config["_"+("min"===e?"max":"min")+"Date"];void 0!==n&&(Ae["min"===e?"minDateHasTime":"maxDateHasTime"]=n.getHours()>0||n.getMinutes()>0||n.getSeconds()>0),Ae.selectedDates&&(Ae.selectedDates=Ae.selectedDates.filter(function(e){return ce(e)}),Ae.selectedDates.length||"min"!==e||P(n),Ie()),Ae.daysContainer&&(we(),void 0!==n?Ae.currentYearElement[e]=n.getFullYear().toString():Ae.currentYearElement.removeAttribute(e),Ae.currentYearElement.disabled=!!i&&void 0!==n&&i.getFullYear()===n.getFullYear())}}function ve(){var e=["wrap","weekNumbers","allowInput","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],t=f({},c,JSON.parse(JSON.stringify(u.dataset||{}))),n={};Ae.config.parseDate=t.parseDate,Ae.config.formatDate=t.formatDate,Object.defineProperty(Ae.config,"enable",{get:function(){return Ae.config._enable},set:function(e){Ae.config._enable=Me(e)}}),Object.defineProperty(Ae.config,"disable",{get:function(){return Ae.config._disable},set:function(e){Ae.config._disable=Me(e)}});var i="time"===t.mode;if(!t.dateFormat&&(t.enableTime||i)){var r=x.defaultConfig.dateFormat||p.dateFormat;n.dateFormat=t.noCalendar||i?"H:i"+(t.enableSeconds?":S":""):r+" H:i"+(t.enableSeconds?":S":"")}if(t.altInput&&(t.enableTime||i)&&!t.altFormat){var a=x.defaultConfig.altFormat||p.altFormat;n.altFormat=t.noCalendar||i?"h:i"+(t.enableSeconds?":S K":" K"):a+" h:i"+(t.enableSeconds?":S":"")+" K"}t.altInputClass||(Ae.config.altInputClass=Ae.input.className+" "+Ae.config.altInputClass),Object.defineProperty(Ae.config,"minDate",{get:function(){return Ae.config._minDate},set:ge("min")}),Object.defineProperty(Ae.config,"maxDate",{get:function(){return Ae.config._maxDate},set:ge("max")});var o=function(e){return function(t){Ae.config["min"===e?"_minTime":"_maxTime"]=Ae.parseDate(t,"H:i")}};Object.defineProperty(Ae.config,"minTime",{get:function(){return Ae.config._minTime},set:o("min")}),Object.defineProperty(Ae.config,"maxTime",{get:function(){return Ae.config._maxTime},set:o("max")}),"time"===t.mode&&(Ae.config.noCalendar=!0,Ae.config.enableTime=!0),Object.assign(Ae.config,n,t);for(l=0;l-1?Ae.config[h]=v(s[h]).map(w).concat(Ae.config[h]):void 0===t[h]&&(Ae.config[h]=s[h])}xe("onParseConfig")}function ye(){"object"!==a(Ae.config.locale)&&void 0===x.l10ns[Ae.config.locale]&&Ae.config.errorHandler(new Error("flatpickr: invalid locale "+Ae.config.locale)),Ae.l10n=f({},x.l10ns.default,"object"===a(Ae.config.locale)?Ae.config.locale:"default"!==Ae.config.locale?x.l10ns[Ae.config.locale]:void 0),D.K="("+Ae.l10n.amPM[0]+"|"+Ae.l10n.amPM[1]+"|"+Ae.l10n.amPM[0].toLowerCase()+"|"+Ae.l10n.amPM[1].toLowerCase()+")",void 0===f({},c,JSON.parse(JSON.stringify(u.dataset||{}))).time_24hr&&void 0===x.defaultConfig.time_24hr&&(Ae.config.time_24hr=Ae.l10n.time_24hr),Ae.formatDate=C(Ae),Ae.parseDate=M({config:Ae.config,l10n:Ae.l10n})}function be(e){if(void 0!==Ae.calendarContainer){xe("onPreCalendarPosition");var n=e||Ae._positionElement,i=Array.prototype.reduce.call(Ae.calendarContainer.children,function(e,t){return e+t.offsetHeight},0),r=Ae.calendarContainer.offsetWidth,a=Ae.config.position.split(" "),o=a[0],l=a.length>1?a[1]:null,s=n.getBoundingClientRect(),u=window.innerHeight-s.bottom,c="above"===o||"below"!==o&&ui,f=window.pageYOffset+s.top+(c?-i-2:n.offsetHeight+2);if(t(Ae.calendarContainer,"arrowTop",!c),t(Ae.calendarContainer,"arrowBottom",c),!Ae.config.inline){var d=window.pageXOffset+s.left-(null!=l&&"center"===l?(r-s.width)/2:0),p=window.document.body.offsetWidth-s.right,h=d+r>window.document.body.offsetWidth,m=p+r>window.document.body.offsetWidth;if(t(Ae.calendarContainer,"rightMost",h),!Ae.config.static)if(Ae.calendarContainer.style.top=f+"px",h)if(m){var g=document.styleSheets[0];if(void 0===g)return;var v=window.document.body.offsetWidth,y=Math.max(0,v/2-r/2),b=g.cssRules.length,w="{left:"+s.left+"px;right:auto;}";t(Ae.calendarContainer,"rightMost",!1),t(Ae.calendarContainer,"centerMost",!0),g.insertRule(".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after"+w,b),Ae.calendarContainer.style.left=y+"px",Ae.calendarContainer.style.right="auto"}else Ae.calendarContainer.style.left="auto",Ae.calendarContainer.style.right=p+"px";else Ae.calendarContainer.style.left=d+"px",Ae.calendarContainer.style.right="auto"}}}function we(){Ae.config.noCalendar||Ae.isMobile||($e(),G())}function De(){Ae._input.focus(),-1!==window.navigator.userAgent.indexOf("MSIE")||void 0!==navigator.msMaxTouchPoints?setTimeout(Ae.close,0):Ae.close()}function ke(e){e.preventDefault(),e.stopPropagation();var t=r(e.target,function(e){return e.classList&&e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled")&&!e.classList.contains("notAllowed")});if(void 0!==t){var n=t,i=Ae.latestSelectedDateObj=new Date(n.dateObj.getTime()),a=(i.getMonth()Ae.currentMonth+Ae.config.showMonths-1)&&"range"!==Ae.config.mode;if(Ae.selectedDateElem=n,"single"===Ae.config.mode)Ae.selectedDates=[i];else if("multiple"===Ae.config.mode){var o=Fe(i);o?Ae.selectedDates.splice(parseInt(o),1):Ae.selectedDates.push(i)}else"range"===Ae.config.mode&&(2===Ae.selectedDates.length&&Ae.clear(!1,!1),Ae.latestSelectedDateObj=i,Ae.selectedDates.push(i),0!==s(i,Ae.selectedDates[0],!0)&&Ae.selectedDates.sort(function(e,t){return e.getTime()-t.getTime()}));if($(),a){var l=Ae.currentYear!==i.getFullYear();Ae.currentYear=i.getFullYear(),Ae.currentMonth=i.getMonth(),l&&(xe("onYearChange"),Z()),xe("onMonthChange")}if($e(),G(),Ie(),Ae.config.enableTime&&setTimeout(function(){return Ae.showTimeInput=!0},50),a||"range"===Ae.config.mode||1!==Ae.config.showMonths?void 0!==Ae.selectedDateElem&&void 0===Ae.hourElement&&Ae.selectedDateElem&&Ae.selectedDateElem.focus():W(n),void 0!==Ae.hourElement&&void 0!==Ae.hourElement&&Ae.hourElement.focus(),Ae.config.closeOnSelect){var u="single"===Ae.config.mode&&!Ae.config.enableTime,c="range"===Ae.config.mode&&2===Ae.selectedDates.length&&!Ae.config.enableTime;(u||c)&&De()}Y()}}function Ce(e,t){var n=[];if(e instanceof Array)n=e.map(function(e){return Ae.parseDate(e,t)});else if(e instanceof Date||"number"==typeof e)n=[Ae.parseDate(e,t)];else if("string"==typeof e)switch(Ae.config.mode){case"single":case"time":n=[Ae.parseDate(e,t)];break;case"multiple":n=e.split(Ae.config.conjunction).map(function(e){return Ae.parseDate(e,t)});break;case"range":n=e.split(Ae.l10n.rangeSeparator).map(function(e){return Ae.parseDate(e,t)})}else Ae.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(e)));Ae.selectedDates=n.filter(function(e){return e instanceof Date&&ce(e,!1)}),"range"===Ae.config.mode&&Ae.selectedDates.sort(function(e,t){return e.getTime()-t.getTime()})}function Me(e){return e.slice().map(function(e){return"string"==typeof e||"number"==typeof e||e instanceof Date?Ae.parseDate(e,void 0,!0):e&&"object"===(void 0===e?"undefined":a(e))&&e.from&&e.to?{from:Ae.parseDate(e.from,void 0),to:Ae.parseDate(e.to,void 0)}:e}).filter(function(e){return e})}function _e(){Ae.selectedDates=[],Ae.now=Ae.parseDate(Ae.config.now)||new Date;var e=Ae.config.defaultDate||("INPUT"!==Ae.input.nodeName&&"TEXTAREA"!==Ae.input.nodeName||!Ae.input.placeholder||Ae.input.value!==Ae.input.placeholder?Ae.input.value:null);e&&Ce(e,Ae.config.dateFormat),Ae._initialDate=Ae.selectedDates.length>0?Ae.selectedDates[0]:Ae.config.minDate&&Ae.config.minDate.getTime()>Ae.now.getTime()?Ae.config.minDate:Ae.config.maxDate&&Ae.config.maxDate.getTime()0&&(Ae.latestSelectedDateObj=Ae.selectedDates[0]),void 0!==Ae.config.minTime&&(Ae.config.minTime=Ae.parseDate(Ae.config.minTime,"H:i")),void 0!==Ae.config.maxTime&&(Ae.config.maxTime=Ae.parseDate(Ae.config.maxTime,"H:i")),Ae.minDateHasTime=!!Ae.config.minDate&&(Ae.config.minDate.getHours()>0||Ae.config.minDate.getMinutes()>0||Ae.config.minDate.getSeconds()>0),Ae.maxDateHasTime=!!Ae.config.maxDate&&(Ae.config.maxDate.getHours()>0||Ae.config.maxDate.getMinutes()>0||Ae.config.maxDate.getSeconds()>0),Object.defineProperty(Ae,"showTimeInput",{get:function(){return Ae._showTimeInput},set:function(e){Ae._showTimeInput=e,Ae.calendarContainer&&t(Ae.calendarContainer,"showTimeInput",e),Ae.isOpen&&be()}})}function Oe(){Ae.input=Ae.config.wrap?u.querySelector("[data-input]"):u,Ae.input?(Ae.input._type=Ae.input.type,Ae.input.type="text",Ae.input.classList.add("flatpickr-input"),Ae._input=Ae.input,Ae.config.altInput&&(Ae.altInput=n(Ae.input.nodeName,Ae.config.altInputClass),Ae._input=Ae.altInput,Ae.altInput.placeholder=Ae.input.placeholder,Ae.altInput.disabled=Ae.input.disabled,Ae.altInput.required=Ae.input.required,Ae.altInput.tabIndex=Ae.input.tabIndex,Ae.altInput.type="text",Ae.input.setAttribute("type","hidden"),!Ae.config.static&&Ae.input.parentNode&&Ae.input.parentNode.insertBefore(Ae.altInput,Ae.input.nextSibling)),Ae.config.allowInput||Ae._input.setAttribute("readonly","readonly"),Ae._positionElement=Ae.config.positionElement||Ae._input):Ae.config.errorHandler(new Error("Invalid input element specified"))}function je(){var e=Ae.config.enableTime?Ae.config.noCalendar?"time":"datetime-local":"date";Ae.mobileInput=n("input",Ae.input.className+" flatpickr-mobile"),Ae.mobileInput.step=Ae.input.getAttribute("step")||"any",Ae.mobileInput.tabIndex=1,Ae.mobileInput.type=e,Ae.mobileInput.disabled=Ae.input.disabled,Ae.mobileInput.required=Ae.input.required,Ae.mobileInput.placeholder=Ae.input.placeholder,Ae.mobileFormatStr="datetime-local"===e?"Y-m-d\\TH:i:S":"date"===e?"Y-m-d":"H:i:S",Ae.selectedDates.length>0&&(Ae.mobileInput.defaultValue=Ae.mobileInput.value=Ae.formatDate(Ae.selectedDates[0],Ae.mobileFormatStr)),Ae.config.minDate&&(Ae.mobileInput.min=Ae.formatDate(Ae.config.minDate,"Y-m-d")),Ae.config.maxDate&&(Ae.mobileInput.max=Ae.formatDate(Ae.config.maxDate,"Y-m-d")),Ae.input.type="hidden",void 0!==Ae.altInput&&(Ae.altInput.type="hidden");try{Ae.input.parentNode&&Ae.input.parentNode.insertBefore(Ae.mobileInput,Ae.input.nextSibling)}catch(e){}A(Ae.mobileInput,"change",function(e){Ae.setDate(e.target.value,!1,Ae.mobileFormatStr),xe("onChange"),xe("onClose")})}function xe(e,t){if(void 0!==Ae.config){var n=Ae.config[e];if(void 0!==n&&n.length>0)for(var i=0;n[i]&&i=0&&s(e,Ae.selectedDates[1])<=0)}function $e(){Ae.config.noCalendar||Ae.isMobile||!Ae.monthNav||(Ae.yearElements.forEach(function(e,t){var n=new Date(Ae.currentYear,Ae.currentMonth,1);n.setMonth(Ae.currentMonth+t),Ae.config.showMonths>1||"static"===Ae.config.monthSelectorType?Ae.monthElements[t].textContent=b(n.getMonth(),Ae.config.shorthandCurrentMonth,Ae.l10n)+" ":Ae.monthsDropdownContainer.value=n.getMonth().toString(),e.value=n.getFullYear().toString()}),Ae._hidePrevMonthArrow=void 0!==Ae.config.minDate&&(Ae.currentYear===Ae.config.minDate.getFullYear()?Ae.currentMonth<=Ae.config.minDate.getMonth():Ae.currentYearAe.config.maxDate.getMonth():Ae.currentYear>Ae.config.maxDate.getFullYear()))}function Pe(e){return Ae.selectedDates.map(function(t){return Ae.formatDate(t,e)}).filter(function(e,t,n){return"range"!==Ae.config.mode||Ae.config.enableTime||n.indexOf(e)===t}).join("range"!==Ae.config.mode?Ae.config.conjunction:Ae.l10n.rangeSeparator)}function Ie(e){void 0===e&&(e=!0),void 0!==Ae.mobileInput&&Ae.mobileFormatStr&&(Ae.mobileInput.value=void 0!==Ae.latestSelectedDateObj?Ae.formatDate(Ae.latestSelectedDateObj,Ae.mobileFormatStr):""),Ae.input.value=Pe(Ae.config.dateFormat),void 0!==Ae.altInput&&(Ae.altInput.value=Pe(Ae.config.altFormat)),!1!==e&&xe("onValueUpdate")}function Se(e){var t=Ae.prevMonthNav.contains(e.target),n=Ae.nextMonthNav.contains(e.target);t||n?oe(t?-1:1):Ae.yearElements.indexOf(e.target)>=0?e.target.select():e.target.classList.contains("arrowUp")?Ae.changeYear(Ae.currentYear+1):e.target.classList.contains("arrowDown")&&Ae.changeYear(Ae.currentYear-1)}function He(e){e.preventDefault();var t="keydown"===e.type,n=e.target;void 0!==Ae.amPM&&e.target===Ae.amPM&&(Ae.amPM.textContent=Ae.l10n.amPM[g(Ae.amPM.textContent===Ae.l10n.amPM[0])]);var i=parseFloat(n.getAttribute("min")),r=parseFloat(n.getAttribute("max")),a=parseFloat(n.getAttribute("step")),o=parseInt(n.value,10),l=o+a*(e.delta||(t?38===e.which?1:-1:0));if(void 0!==n.value&&2===n.value.length){var s=n===Ae.hourElement,u=n===Ae.minuteElement;lr&&(l=n===Ae.hourElement?l-r-g(!Ae.amPM):i,u&&z(void 0,1,Ae.hourElement)),Ae.amPM&&s&&(1===a?l+o===23:Math.abs(l-o)>a)&&(Ae.amPM.textContent=Ae.l10n.amPM[g(Ae.amPM.textContent===Ae.l10n.amPM[0])]),n.value=m(l)}}var Ae={config:f({},p,x.defaultConfig),l10n:h};Ae.parseDate=M({config:Ae.config,l10n:Ae.l10n}),Ae._handlers=[],Ae.pluginElements=[],Ae.loadedPlugins=[],Ae._bind=A,Ae._setHoursFromDate=P,Ae._positionCalendar=be,Ae.changeMonth=oe,Ae.changeYear=ue,Ae.clear=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0),Ae.input.value="",void 0!==Ae.altInput&&(Ae.altInput.value=""),void 0!==Ae.mobileInput&&(Ae.mobileInput.value=""),Ae.selectedDates=[],Ae.latestSelectedDateObj=void 0,!0===t&&(Ae.currentYear=Ae._initialDate.getFullYear(),Ae.currentMonth=Ae._initialDate.getMonth()),Ae.showTimeInput=!1,!0===Ae.config.enableTime&&I(),Ae.redraw(),e&&xe("onChange")},Ae.close=function(){Ae.isOpen=!1,Ae.isMobile||(void 0!==Ae.calendarContainer&&Ae.calendarContainer.classList.remove("open"),void 0!==Ae._input&&Ae._input.classList.remove("active")),xe("onClose")},Ae._createElement=n,Ae.destroy=function(){void 0!==Ae.config&&xe("onDestroy");for(var e=Ae._handlers.length;e--;){var t=Ae._handlers[e];t.element.removeEventListener(t.event,t.handler,t.options)}if(Ae._handlers=[],Ae.mobileInput)Ae.mobileInput.parentNode&&Ae.mobileInput.parentNode.removeChild(Ae.mobileInput),Ae.mobileInput=void 0;else if(Ae.calendarContainer&&Ae.calendarContainer.parentNode)if(Ae.config.static&&Ae.calendarContainer.parentNode){var n=Ae.calendarContainer.parentNode;if(n.lastChild&&n.removeChild(n.lastChild),n.parentNode){for(;n.firstChild;)n.parentNode.insertBefore(n.firstChild,n);n.parentNode.removeChild(n)}}else Ae.calendarContainer.parentNode.removeChild(Ae.calendarContainer);Ae.altInput&&(Ae.input.type="text",Ae.altInput.parentNode&&Ae.altInput.parentNode.removeChild(Ae.altInput),delete Ae.altInput),Ae.input&&(Ae.input.type=Ae.input._type,Ae.input.classList.remove("flatpickr-input"),Ae.input.removeAttribute("readonly"),Ae.input.value=""),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(function(e){try{delete Ae[e]}catch(e){}})},Ae.isEnabled=ce,Ae.jumpToDate=L,Ae.open=function(e,t){if(void 0===t&&(t=Ae._positionElement),!0===Ae.isMobile)return e&&(e.preventDefault(),e.target&&e.target.blur()),void 0!==Ae.mobileInput&&(Ae.mobileInput.focus(),Ae.mobileInput.click()),void xe("onOpen");if(!Ae._input.disabled&&!Ae.config.inline){var n=Ae.isOpen;Ae.isOpen=!0,n||(Ae.calendarContainer.classList.add("open"),Ae._input.classList.add("active"),xe("onOpen"),be(t)),!0===Ae.config.enableTime&&!0===Ae.config.noCalendar&&(0===Ae.selectedDates.length&&me(),!1!==Ae.config.allowInput||void 0!==e&&Ae.timeContainer.contains(e.relatedTarget)||setTimeout(function(){return Ae.hourElement.select()},50))}},Ae.redraw=we,Ae.set=function(e,t){if(null!==e&&"object"===(void 0===e?"undefined":a(e))){Object.assign(Ae.config,e);for(var n in e)void 0!==Ne[n]&&Ne[n].forEach(function(e){return e()})}else Ae.config[e]=t,void 0!==Ne[e]?Ne[e].forEach(function(e){return e()}):d.indexOf(e)>-1&&(Ae.config[e]=v(t));Ae.redraw(),Ie(!1)},Ae.setDate=function(e,t,n){if(void 0===t&&(t=!1),void 0===n&&(n=Ae.config.dateFormat),0!==e&&!e||e instanceof Array&&0===e.length)return Ae.clear(t);Ce(e,n),Ae.showTimeInput=Ae.selectedDates.length>0,Ae.latestSelectedDateObj=Ae.selectedDates[Ae.selectedDates.length-1],Ae.redraw(),L(),P(),0===Ae.selectedDates.length&&Ae.clear(!1),Ie(t),t&&xe("onChange")},Ae.toggle=function(e){if(!0===Ae.isOpen)return Ae.close();Ae.open(e)};var Ne={locale:[ye,re],showMonths:[ee,k,ie],minDate:[L],maxDate:[L]};return function(){Ae.element=Ae.input=u,Ae.isOpen=!1,ve(),ye(),Oe(),_e(),y(),Ae.isMobile||B(),Q(),(Ae.selectedDates.length||Ae.config.noCalendar)&&(Ae.config.enableTime&&P(Ae.config.noCalendar?Ae.latestSelectedDateObj||Ae.config.minDate:void 0),Ie(!1)),k(),Ae.showTimeInput=Ae.selectedDates.length>0||Ae.config.noCalendar;var e=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!Ae.isMobile&&e&&be(),xe("onReady")}(),Ae}function c(e,t){for(var n=Array.prototype.slice.call(e).filter(function(e){return e instanceof HTMLElement}),i=[],r=0;r",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},h={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var t=e%100;if(t>3&&t<21)return"th";switch(t%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year",hourAriaLabel:"Hour",minuteAriaLabel:"Minute",time_24hr:!1},m=function(e){return("0"+e).slice(-2)},g=function(e){return!0===e?1:0},v=function(e){return e instanceof Array?e:[e]},y=function(){},b=function(e,t,n){return n.months[t?"shorthand":"longhand"][e]},w={D:y,F:function(e,t,n){e.setMonth(n.months.longhand.indexOf(t))},G:function(e,t){e.setHours(parseFloat(t))},H:function(e,t){e.setHours(parseFloat(t))},J:function(e,t){e.setDate(parseFloat(t))},K:function(e,t,n){e.setHours(e.getHours()%12+12*g(new RegExp(n.amPM[1],"i").test(t)))},M:function(e,t,n){e.setMonth(n.months.shorthand.indexOf(t))},S:function(e,t){e.setSeconds(parseFloat(t))},U:function(e,t){return new Date(1e3*parseFloat(t))},W:function(e,t,n){var i=parseInt(t),r=new Date(e.getFullYear(),0,2+7*(i-1),0,0,0,0);return r.setDate(r.getDate()-r.getDay()+n.firstDayOfWeek),r},Y:function(e,t){e.setFullYear(parseFloat(t))},Z:function(e,t){return new Date(t)},d:function(e,t){e.setDate(parseFloat(t))},h:function(e,t){e.setHours(parseFloat(t))},i:function(e,t){e.setMinutes(parseFloat(t))},j:function(e,t){e.setDate(parseFloat(t))},l:y,m:function(e,t){e.setMonth(parseFloat(t)-1)},n:function(e,t){e.setMonth(parseFloat(t)-1)},s:function(e,t){e.setSeconds(parseFloat(t))},u:function(e,t){return new Date(parseFloat(t))},w:y,y:function(e,t){e.setFullYear(2e3+parseFloat(t))}},D={D:"(\\w+)",F:"(\\w+)",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"(\\w+)",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"(\\w+)",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",u:"(.+)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},k={Z:function(e){return e.toISOString()},D:function(e,t,n){return t.weekdays.shorthand[k.w(e,t,n)]},F:function(e,t,n){return b(k.n(e,t,n)-1,!1,t)},G:function(e,t,n){return m(k.h(e,t,n))},H:function(e){return m(e.getHours())},J:function(e,t){return void 0!==t.ordinal?e.getDate()+t.ordinal(e.getDate()):e.getDate()},K:function(e,t){return t.amPM[g(e.getHours()>11)]},M:function(e,t){return b(e.getMonth(),!0,t)},S:function(e){return m(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,t,n){return n.getWeek(e)},Y:function(e){return e.getFullYear()},d:function(e){return m(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return m(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,t){return t.weekdays.longhand[e.getDay()]},m:function(e){return m(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},C=function(e){var t=e.config,n=void 0===t?p:t,i=e.l10n,r=void 0===i?h:i;return function(e,t,i){var a=i||r;return void 0!==n.formatDate?n.formatDate(e,t,a):t.split("").map(function(t,i,r){return k[t]&&"\\"!==r[i-1]?k[t](e,a,n):"\\"!==t?t:""}).join("")}},M=function(e){var t=e.config,n=void 0===t?p:t,i=e.l10n,r=void 0===i?h:i;return function(e,t,i,a){if(0===e||e){var o,l=a||r,s=e;if(e instanceof Date)o=new Date(e.getTime());else if("string"!=typeof e&&void 0!==e.toFixed)o=new Date(e);else if("string"==typeof e){var u=t||(n||p).dateFormat,c=String(e).trim();if("today"===c)o=new Date,i=!0;else if(/Z$/.test(c)||/GMT$/.test(c))o=new Date(e);else if(n&&n.parseDate)o=n.parseDate(e,u);else{o=n&&n.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0);for(var f=void 0,d=[],h=0,m=0,g="";hMath.min(t,n)&&ethis.constraints.max?(t="max",e=this.constraints.max):!1!==this.constraints.min&&e");this.data.head.map(function(n,i){var r=jQuery("");r.append(''),r.find('input[type="text"]').val(n),t.append(r)}),this.$ui.thead.append(t)}if(this.data.body.length){for(var n=jQuery(''),i=0;i');this.$ui.tbody.append(n),this.data.body.map(function(t,n){var i=jQuery("");t.map(function(t,r){var a=jQuery("");a.append(''),a.find('input[type="text"]').val(t),i.append(a)}),i.append(''),e.$ui.tbody.append(i)})}}}]),t}(),u=function(){function e(t){i(this,e);var n=this;this.fields=[];var r=t.find("[data-fieldhelpers-field-table]");r.length&&r.each(function(){n.initializeField(jQuery(this))})}return o(e,[{key:"initializeField",value:function(e){this.fields.push({$field:e,api:new s(e)})}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n0&&Object.keys(this.options.select2Options.language).map(function(t){var n=e.options.select2Options.language[t];e.options.select2Options.language[t]=function(e){return n}})}},{key:"setupSelect2Options",value:function(){var e=this;this.setupL10n();var t=["escapeMarkup","initSelection","matcher","query","sorter","templateResult","templateSelection","tokenizer"];Object.keys(this.options.select2Options).map(function(n){if(-1!==t.indexOf(n)){var i=e.options.select2Options[n];"function"==typeof window[i]&&(e.options.select2Options[n]=window[i])}}),this.options.optGroups&&this.options.optGroupSelectionPrefix&&void 0===this.options.select2Options.templateSelection&&(this.options.select2Options.templateSelection=function(e){return jQuery(e.element).closest("optgroup").attr("label").trim()+": "+e.text})}},{key:"fieldCleanup",value:function(){if(!this.options.select2Disabled){var e=this.$field.next(".select2");e.length&&e.remove(),this.$field.removeClass("select2-hidden-accessible").removeAttr("tablindex aria-hidden")}}},{key:"setDefault",value:function(){this.$field.find("option:selected").prop("selected",!1),this.$field.trigger("change")}}]),t}(),u=function(){function e(t){i(this,e);var n=this;this.fields=[];var r=t.find("[data-fieldhelpers-field-select]");r.length&&r.each(function(){n.initializeField(jQuery(this))})}return o(e,[{key:"initializeField",value:function(e){this.fields.push({$field:e,api:new s(e)})}}]),e}();t.default=u},function(e,t,n){"use strict";function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n 1 && arguments[1] !== undefined ? arguments[1] : null; + var fieldType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + + if (instance === null) { + + instance = jQuery('.fieldhelpers-field[data-fieldhelpers-name="' + name + '"]').data('fieldhelpers-instance'); + } + + if (fieldType === null) { + + var classNames = jQuery('.fieldhelpers-field[data-fieldhelpers-name="' + name + '"][data-fieldhelpers-instance="' + instance + '"]').first().attr('class'); + + var test = /fieldhelpers-field-(\S*)/.exec(classNames); + + if (test !== null && test[1].length > 0) { + + fieldType = test[1]; + } + } + + try { + + return RBM_FieldHelpers[instance]['fieldObjects'][fieldType][name]; + } catch (error) { + + if (instance === null || fieldType === null || RBM_FieldHelpers[instance]['fieldObjects'][fieldType][name].length < 0) { + console.error('Field Helpers Error: Field Object for "' + name + '" Not Found'); + } + + return false; + } +}; + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +// jquery.repeater version 1.2.1 +// https://github.com/DubFriend/jquery.repeater +// (MIT) 09-10-2016 +// Brian Detering (http://www.briandetering.net/) +(function ($) { + 'use strict'; + + var identity = function identity(x) { + return x; + }; + + var isArray = function isArray(value) { + return $.isArray(value); + }; + + var isObject = function isObject(value) { + return !isArray(value) && value instanceof Object; + }; + + var isNumber = function isNumber(value) { + return value instanceof Number; + }; + + var isFunction = function isFunction(value) { + return value instanceof Function; + }; + + var indexOf = function indexOf(object, value) { + return $.inArray(value, object); + }; + + var inArray = function inArray(array, value) { + return indexOf(array, value) !== -1; + }; + + var foreach = function foreach(collection, callback) { + for (var i in collection) { + if (collection.hasOwnProperty(i)) { + callback(collection[i], i, collection); + } + } + }; + + var last = function last(array) { + return array[array.length - 1]; + }; + + var argumentsToArray = function argumentsToArray(args) { + return Array.prototype.slice.call(args); + }; + + var extend = function extend() { + var extended = {}; + foreach(argumentsToArray(arguments), function (o) { + foreach(o, function (val, key) { + extended[key] = val; + }); + }); + return extended; + }; + + var mapToArray = function mapToArray(collection, callback) { + var mapped = []; + foreach(collection, function (value, key, coll) { + mapped.push(callback(value, key, coll)); + }); + return mapped; + }; + + var mapToObject = function mapToObject(collection, callback, keyCallback) { + var mapped = {}; + foreach(collection, function (value, key, coll) { + key = keyCallback ? keyCallback(key, value) : key; + mapped[key] = callback(value, key, coll); + }); + return mapped; + }; + + var map = function map(collection, callback, keyCallback) { + return isArray(collection) ? mapToArray(collection, callback) : mapToObject(collection, callback, keyCallback); + }; + + var pluck = function pluck(arrayOfObjects, key) { + return map(arrayOfObjects, function (val) { + return val[key]; + }); + }; + + var filter = function filter(collection, callback) { + var filtered; + + if (isArray(collection)) { + filtered = []; + foreach(collection, function (val, key, coll) { + if (callback(val, key, coll)) { + filtered.push(val); + } + }); + } else { + filtered = {}; + foreach(collection, function (val, key, coll) { + if (callback(val, key, coll)) { + filtered[key] = val; + } + }); + } + + return filtered; + }; + + var call = function call(collection, functionName, args) { + return map(collection, function (object, name) { + return object[functionName].apply(object, args || []); + }); + }; + + //execute callback immediately and at most one time on the minimumInterval, + //ignore block attempts + var throttle = function throttle(minimumInterval, callback) { + var timeout = null; + return function () { + var that = this, + args = arguments; + if (timeout === null) { + timeout = setTimeout(function () { + timeout = null; + }, minimumInterval); + callback.apply(that, args); + } + }; + }; + + var mixinPubSub = function mixinPubSub(object) { + object = object || {}; + var topics = {}; + + object.publish = function (topic, data) { + foreach(topics[topic], function (callback) { + callback(data); + }); + }; + + object.subscribe = function (topic, callback) { + topics[topic] = topics[topic] || []; + topics[topic].push(callback); + }; + + object.unsubscribe = function (callback) { + foreach(topics, function (subscribers) { + var index = indexOf(subscribers, callback); + if (index !== -1) { + subscribers.splice(index, 1); + } + }); + }; + + return object; + }; + + // jquery.input version 0.0.0 + // https://github.com/DubFriend/jquery.input + // (MIT) 09-04-2014 + // Brian Detering (http://www.briandetering.net/) + (function ($) { + 'use strict'; + + var createBaseInput = function createBaseInput(fig, my) { + var self = mixinPubSub(), + $self = fig.$; + + self.getType = function () { + throw 'implement me (return type. "text", "radio", etc.)'; + }; + + self.$ = function (selector) { + return selector ? $self.find(selector) : $self; + }; + + self.disable = function () { + self.$().prop('disabled', true); + self.publish('isEnabled', false); + }; + + self.enable = function () { + self.$().prop('disabled', false); + self.publish('isEnabled', true); + }; + + my.equalTo = function (a, b) { + return a === b; + }; + + my.publishChange = function () { + var oldValue; + return function (e, domElement) { + var newValue = self.get(); + if (!my.equalTo(newValue, oldValue)) { + self.publish('change', { e: e, domElement: domElement }); + } + oldValue = newValue; + }; + }(); + + return self; + }; + + var createInput = function createInput(fig, my) { + var self = createBaseInput(fig, my); + + self.get = function () { + return self.$().val(); + }; + + self.set = function (newValue) { + self.$().val(newValue); + }; + + self.clear = function () { + self.set(''); + }; + + my.buildSetter = function (callback) { + return function (newValue) { + callback.call(self, newValue); + }; + }; + + return self; + }; + + var inputEqualToArray = function inputEqualToArray(a, b) { + a = isArray(a) ? a : [a]; + b = isArray(b) ? b : [b]; + + var isEqual = true; + if (a.length !== b.length) { + isEqual = false; + } else { + foreach(a, function (value) { + if (!inArray(b, value)) { + isEqual = false; + } + }); + } + + return isEqual; + }; + + var createInputButton = function createInputButton(fig) { + var my = {}, + self = createInput(fig, my); + + self.getType = function () { + return 'button'; + }; + + self.$().on('change', function (e) { + my.publishChange(e, this); + }); + + return self; + }; + + var createInputCheckbox = function createInputCheckbox(fig) { + var my = {}, + self = createInput(fig, my); + + self.getType = function () { + return 'checkbox'; + }; + + self.get = function () { + var values = []; + self.$().filter(':checked').each(function () { + values.push($(this).val()); + }); + return values; + }; + + self.set = function (newValues) { + newValues = isArray(newValues) ? newValues : [newValues]; + + self.$().each(function () { + $(this).prop('checked', false); + }); + + foreach(newValues, function (value) { + self.$().filter('[value="' + value + '"]').prop('checked', true); + }); + }; + + my.equalTo = inputEqualToArray; + + self.$().change(function (e) { + my.publishChange(e, this); + }); + + return self; + }; + + var createInputEmail = function createInputEmail(fig) { + var my = {}, + self = createInputText(fig, my); + + self.getType = function () { + return 'email'; + }; + + return self; + }; + + var createInputFile = function createInputFile(fig) { + var my = {}, + self = createBaseInput(fig, my); + + self.getType = function () { + return 'file'; + }; + + self.get = function () { + return last(self.$().val().split('\\')); + }; + + self.clear = function () { + // http://stackoverflow.com/questions/1043957/clearing-input-type-file-using-jquery + this.$().each(function () { + $(this).wrap('').closest('form').get(0).reset(); + $(this).unwrap(); + }); + }; + + self.$().change(function (e) { + my.publishChange(e, this); + // self.publish('change', self); + }); + + return self; + }; + + var createInputHidden = function createInputHidden(fig) { + var my = {}, + self = createInput(fig, my); + + self.getType = function () { + return 'hidden'; + }; + + self.$().change(function (e) { + my.publishChange(e, this); + }); + + return self; + }; + var createInputMultipleFile = function createInputMultipleFile(fig) { + var my = {}, + self = createBaseInput(fig, my); + + self.getType = function () { + return 'file[multiple]'; + }; + + self.get = function () { + // http://stackoverflow.com/questions/14035530/how-to-get-value-of-html-5-multiple-file-upload-variable-using-jquery + var fileListObject = self.$().get(0).files || [], + names = [], + i; + + for (i = 0; i < (fileListObject.length || 0); i += 1) { + names.push(fileListObject[i].name); + } + + return names; + }; + + self.clear = function () { + // http://stackoverflow.com/questions/1043957/clearing-input-type-file-using-jquery + this.$().each(function () { + $(this).wrap('').closest('form').get(0).reset(); + $(this).unwrap(); + }); + }; + + self.$().change(function (e) { + my.publishChange(e, this); + }); + + return self; + }; + + var createInputMultipleSelect = function createInputMultipleSelect(fig) { + var my = {}, + self = createInput(fig, my); + + self.getType = function () { + return 'select[multiple]'; + }; + + self.get = function () { + return self.$().val() || []; + }; + + self.set = function (newValues) { + self.$().val(newValues === '' ? [] : isArray(newValues) ? newValues : [newValues]); + }; + + my.equalTo = inputEqualToArray; + + self.$().change(function (e) { + my.publishChange(e, this); + }); + + return self; + }; + + var createInputPassword = function createInputPassword(fig) { + var my = {}, + self = createInputText(fig, my); + + self.getType = function () { + return 'password'; + }; + + return self; + }; + + var createInputRadio = function createInputRadio(fig) { + var my = {}, + self = createInput(fig, my); + + self.getType = function () { + return 'radio'; + }; + + self.get = function () { + return self.$().filter(':checked').val() || null; + }; + + self.set = function (newValue) { + if (!newValue) { + self.$().each(function () { + $(this).prop('checked', false); + }); + } else { + self.$().filter('[value="' + newValue + '"]').prop('checked', true); + } + }; + + self.$().change(function (e) { + my.publishChange(e, this); + }); + + return self; + }; + + var createInputRange = function createInputRange(fig) { + var my = {}, + self = createInput(fig, my); + + self.getType = function () { + return 'range'; + }; + + self.$().change(function (e) { + my.publishChange(e, this); + }); + + return self; + }; + + var createInputSelect = function createInputSelect(fig) { + var my = {}, + self = createInput(fig, my); + + self.getType = function () { + return 'select'; + }; + + self.$().change(function (e) { + my.publishChange(e, this); + }); + + return self; + }; + + var createInputText = function createInputText(fig) { + var my = {}, + self = createInput(fig, my); + + self.getType = function () { + return 'text'; + }; + + self.$().on('change keyup keydown', function (e) { + my.publishChange(e, this); + }); + + return self; + }; + + var createInputTextarea = function createInputTextarea(fig) { + var my = {}, + self = createInput(fig, my); + + self.getType = function () { + return 'textarea'; + }; + + self.$().on('change keyup keydown', function (e) { + my.publishChange(e, this); + }); + + return self; + }; + + var createInputURL = function createInputURL(fig) { + var my = {}, + self = createInputText(fig, my); + + self.getType = function () { + return 'url'; + }; + + return self; + }; + + var buildFormInputs = function buildFormInputs(fig) { + var inputs = {}, + $self = fig.$; + + var constructor = fig.constructorOverride || { + button: createInputButton, + text: createInputText, + url: createInputURL, + email: createInputEmail, + password: createInputPassword, + range: createInputRange, + textarea: createInputTextarea, + select: createInputSelect, + 'select[multiple]': createInputMultipleSelect, + radio: createInputRadio, + checkbox: createInputCheckbox, + file: createInputFile, + 'file[multiple]': createInputMultipleFile, + hidden: createInputHidden + }; + + var addInputsBasic = function addInputsBasic(type, selector) { + var $input = isObject(selector) ? selector : $self.find(selector); + + $input.each(function () { + var name = $(this).attr('name'); + inputs[name] = constructor[type]({ + $: $(this) + }); + }); + }; + + var addInputsGroup = function addInputsGroup(type, selector) { + var names = [], + $input = isObject(selector) ? selector : $self.find(selector); + + if (isObject(selector)) { + inputs[$input.attr('name')] = constructor[type]({ + $: $input + }); + } else { + // group by name attribute + $input.each(function () { + if (indexOf(names, $(this).attr('name')) === -1) { + names.push($(this).attr('name')); + } + }); + + foreach(names, function (name) { + inputs[name] = constructor[type]({ + $: $self.find('input[name="' + name + '"]') + }); + }); + } + }; + + if ($self.is('input, select, textarea')) { + if ($self.is('input[type="button"], button, input[type="submit"]')) { + addInputsBasic('button', $self); + } else if ($self.is('textarea')) { + addInputsBasic('textarea', $self); + } else if ($self.is('input[type="text"]') || $self.is('input') && !$self.attr('type')) { + addInputsBasic('text', $self); + } else if ($self.is('input[type="password"]')) { + addInputsBasic('password', $self); + } else if ($self.is('input[type="email"]')) { + addInputsBasic('email', $self); + } else if ($self.is('input[type="url"]')) { + addInputsBasic('url', $self); + } else if ($self.is('input[type="range"]')) { + addInputsBasic('range', $self); + } else if ($self.is('select')) { + if ($self.is('[multiple]')) { + addInputsBasic('select[multiple]', $self); + } else { + addInputsBasic('select', $self); + } + } else if ($self.is('input[type="file"]')) { + if ($self.is('[multiple]')) { + addInputsBasic('file[multiple]', $self); + } else { + addInputsBasic('file', $self); + } + } else if ($self.is('input[type="hidden"]')) { + addInputsBasic('hidden', $self); + } else if ($self.is('input[type="radio"]')) { + addInputsGroup('radio', $self); + } else if ($self.is('input[type="checkbox"]')) { + addInputsGroup('checkbox', $self); + } else { + //in all other cases default to a "text" input interface. + addInputsBasic('text', $self); + } + } else { + addInputsBasic('button', 'input[type="button"], button, input[type="submit"]'); + addInputsBasic('text', 'input[type="text"]'); + addInputsBasic('password', 'input[type="password"]'); + addInputsBasic('email', 'input[type="email"]'); + addInputsBasic('url', 'input[type="url"]'); + addInputsBasic('range', 'input[type="range"]'); + addInputsBasic('textarea', 'textarea'); + addInputsBasic('select', 'select:not([multiple])'); + addInputsBasic('select[multiple]', 'select[multiple]'); + addInputsBasic('file', 'input[type="file"]:not([multiple])'); + addInputsBasic('file[multiple]', 'input[type="file"][multiple]'); + addInputsBasic('hidden', 'input[type="hidden"]'); + addInputsGroup('radio', 'input[type="radio"]'); + addInputsGroup('checkbox', 'input[type="checkbox"]'); + } + + return inputs; + }; + + $.fn.inputVal = function (newValue) { + var $self = $(this); + + var inputs = buildFormInputs({ $: $self }); + + if ($self.is('input, textarea, select')) { + if (typeof newValue === 'undefined') { + return inputs[$self.attr('name')].get(); + } else { + inputs[$self.attr('name')].set(newValue); + return $self; + } + } else { + if (typeof newValue === 'undefined') { + return call(inputs, 'get'); + } else { + foreach(newValue, function (value, inputName) { + inputs[inputName].set(value); + }); + return $self; + } + } + }; + + $.fn.inputOnChange = function (callback) { + var $self = $(this); + var inputs = buildFormInputs({ $: $self }); + foreach(inputs, function (input) { + input.subscribe('change', function (data) { + callback.call(data.domElement, data.e); + }); + }); + return $self; + }; + + $.fn.inputDisable = function () { + var $self = $(this); + call(buildFormInputs({ $: $self }), 'disable'); + return $self; + }; + + $.fn.inputEnable = function () { + var $self = $(this); + call(buildFormInputs({ $: $self }), 'enable'); + return $self; + }; + + $.fn.inputClear = function () { + var $self = $(this); + call(buildFormInputs({ $: $self }), 'clear'); + return $self; + }; + })(jQuery); + + $.fn.repeaterVal = function () { + var parse = function parse(raw) { + var parsed = []; + + foreach(raw, function (val, key) { + var parsedKey = []; + if (key !== "undefined") { + parsedKey.push(key.match(/^[^\[]*/)[0]); + parsedKey = parsedKey.concat(map(key.match(/\[[^\]]*\]/g), function (bracketed) { + return bracketed.replace(/[\[\]]/g, ''); + })); + + parsed.push({ + val: val, + key: parsedKey + }); + } + }); + + return parsed; + }; + + var build = function build(parsed) { + if (parsed.length === 1 && (parsed[0].key.length === 0 || parsed[0].key.length === 1 && !parsed[0].key[0])) { + return parsed[0].val; + } + + foreach(parsed, function (p) { + p.head = p.key.shift(); + }); + + var grouped = function () { + var grouped = {}; + + foreach(parsed, function (p) { + if (!grouped[p.head]) { + grouped[p.head] = []; + } + grouped[p.head].push(p); + }); + + return grouped; + }(); + + var built; + + if (/^[0-9]+$/.test(parsed[0].head)) { + built = []; + foreach(grouped, function (group) { + built.push(build(group)); + }); + } else { + built = {}; + foreach(grouped, function (group, key) { + built[key] = build(group); + }); + } + + return built; + }; + + return build(parse($(this).inputVal())); + }; + + $.fn.repeater = function (fig) { + fig = fig || {}; + + var setList; + + $(this).each(function () { + + var $self = $(this); + + var show = fig.show || function () { + $(this).show(); + }; + + var hide = fig.hide || function (removeElement) { + removeElement(); + }; + + var $list = $self.find('[data-repeater-list]').first(); + + var $filterNested = function $filterNested($items, repeaters) { + return $items.filter(function () { + return repeaters ? $(this).closest(pluck(repeaters, 'selector').join(',')).length === 0 : true; + }); + }; + + var $items = function $items() { + return $filterNested($list.find('[data-repeater-item]'), fig.repeaters); + }; + + var $itemTemplate = $list.find('[data-repeater-item]').first().clone().hide(); + + var $firstDeleteButton = $filterNested($filterNested($(this).find('[data-repeater-item]'), fig.repeaters).first().find('[data-repeater-delete]'), fig.repeaters); + + if (fig.isFirstItemUndeletable && $firstDeleteButton) { + $firstDeleteButton.remove(); + } + + var getGroupName = function getGroupName() { + var groupName = $list.data('repeater-list'); + return fig.$parent ? fig.$parent.data('item-name') + '[' + groupName + ']' : groupName; + }; + + var initNested = function initNested($listItems) { + if (fig.repeaters) { + $listItems.each(function () { + var $item = $(this); + foreach(fig.repeaters, function (nestedFig) { + $item.find(nestedFig.selector).repeater(extend(nestedFig, { $parent: $item })); + }); + }); + } + }; + + var $foreachRepeaterInItem = function $foreachRepeaterInItem(repeaters, $item, cb) { + if (repeaters) { + foreach(repeaters, function (nestedFig) { + cb.call($item.find(nestedFig.selector)[0], nestedFig); + }); + } + }; + + var setIndexes = function setIndexes($items, groupName, repeaters) { + $items.each(function (index) { + var $item = $(this); + $item.data('item-name', groupName + '[' + index + ']'); + $filterNested($item.find('[name]'), repeaters).each(function () { + var $input = $(this); + // match non empty brackets (ex: "[foo]") + var matches = $input.attr('name').match(/\[[^\]]+\]/g); + + var name = matches ? + // strip "[" and "]" characters + last(matches).replace(/\[|\]/g, '') : $input.attr('name'); + + var newName = groupName + '[' + index + '][' + name + ']' + ($input.is(':checkbox') || $input.attr('multiple') ? '[]' : ''); + + $input.attr('name', newName); + + $foreachRepeaterInItem(repeaters, $item, function (nestedFig) { + var $repeater = $(this); + setIndexes($filterNested($repeater.find('[data-repeater-item]'), nestedFig.repeaters || []), groupName + '[' + index + ']' + '[' + $repeater.find('[data-repeater-list]').first().data('repeater-list') + ']', nestedFig.repeaters); + }); + }); + }); + + $list.find('input[name][checked]').removeAttr('checked').prop('checked', true); + }; + + setIndexes($items(), getGroupName(), fig.repeaters); + initNested($items()); + if (fig.initEmpty) { + $items().remove(); + } + + if (fig.ready) { + fig.ready(function () { + setIndexes($items(), getGroupName(), fig.repeaters); + }); + } + + var appendItem = function () { + var setItemsValues = function setItemsValues($item, data, repeaters) { + if (data || fig.defaultValues) { + var inputNames = {}; + $filterNested($item.find('[name]'), repeaters).each(function () { + var key = $(this).attr('name').match(/\[([^\]]*)(\]|\]\[\])$/)[1]; + inputNames[key] = $(this).attr('name'); + }); + + $item.inputVal(map(filter(data || fig.defaultValues, function (val, name) { + return inputNames[name]; + }), identity, function (name) { + return inputNames[name]; + })); + } + + $foreachRepeaterInItem(repeaters, $item, function (nestedFig) { + var $repeater = $(this); + $filterNested($repeater.find('[data-repeater-item]'), nestedFig.repeaters).each(function () { + var fieldName = $repeater.find('[data-repeater-list]').data('repeater-list'); + if (data && data[fieldName]) { + var $template = $(this).clone(); + $repeater.find('[data-repeater-item]').remove(); + foreach(data[fieldName], function (data) { + var $item = $template.clone(); + setItemsValues($item, data, nestedFig.repeaters || []); + $repeater.find('[data-repeater-list]').append($item); + }); + } else { + setItemsValues($(this), nestedFig.defaultValues, nestedFig.repeaters || []); + } + }); + }); + }; + + return function ($item, data) { + $list.append($item); + setIndexes($items(), getGroupName(), fig.repeaters); + $item.find('[name]').each(function () { + $(this).inputClear(); + }); + setItemsValues($item, data || fig.defaultValues, fig.repeaters); + }; + }(); + + var addItem = function addItem(data) { + var $item = $itemTemplate.clone(); + appendItem($item, data); + if (fig.repeaters) { + initNested($item); + } + show.call($item.get(0)); + }; + + setList = function setList(rows) { + $items().remove(); + foreach(rows, addItem); + }; + + $filterNested($self.find('[data-repeater-create]'), fig.repeaters).click(function () { + addItem(); + }); + + $list.on('click', '[data-repeater-delete]', function () { + var self = $(this).closest('[data-repeater-item]').get(0); + hide.call(self, function () { + $(self).remove(); + setIndexes($items(), getGroupName(), fig.repeaters); + }); + }); + }); + + this.setList = setList; + + return this; + }; +})(jQuery); + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +/* flatpickr v4.6.2, @license MIT */ +(function (global, factory) { + ( false ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : 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__)) : (global = global || self, global.flatpickr = factory()); +})(undefined, function () { + 'use strict'; + + /*! ***************************************************************************** + Copyright (c) Microsoft Corporation. All rights reserved. + Licensed under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of the + License at http://www.apache.org/licenses/LICENSE-2.0 + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED + WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, + MERCHANTABLITY OR NON-INFRINGEMENT. + See the Apache Version 2.0 License for specific language governing permissions + and limitations under the License. + ***************************************************************************** */ + + var _assign = function __assign() { + _assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) { + if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + } + return t; + }; + return _assign.apply(this, arguments); + }; + + var HOOKS = ["onChange", "onClose", "onDayCreate", "onDestroy", "onKeyDown", "onMonthChange", "onOpen", "onParseConfig", "onReady", "onValueUpdate", "onYearChange", "onPreCalendarPosition"]; + var defaults = { + _disable: [], + _enable: [], + allowInput: false, + altFormat: "F j, Y", + altInput: false, + altInputClass: "form-control input", + animate: (typeof window === 'undefined' ? 'undefined' : _typeof(window)) === "object" && window.navigator.userAgent.indexOf("MSIE") === -1, + ariaDateFormat: "F j, Y", + clickOpens: true, + closeOnSelect: true, + conjunction: ", ", + dateFormat: "Y-m-d", + defaultHour: 12, + defaultMinute: 0, + defaultSeconds: 0, + disable: [], + disableMobile: false, + enable: [], + enableSeconds: false, + enableTime: false, + errorHandler: function errorHandler(err) { + return typeof console !== "undefined" && console.warn(err); + }, + getWeek: function getWeek(givenDate) { + var date = new Date(givenDate.getTime()); + date.setHours(0, 0, 0, 0); + // Thursday in current week decides the year. + date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7); + // January 4 is always in week 1. + var week1 = new Date(date.getFullYear(), 0, 4); + // Adjust to Thursday in week 1 and count number of weeks from date to week1. + return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000 - 3 + (week1.getDay() + 6) % 7) / 7); + }, + hourIncrement: 1, + ignoredFocusElements: [], + inline: false, + locale: "default", + minuteIncrement: 5, + mode: "single", + monthSelectorType: "dropdown", + nextArrow: "", + noCalendar: false, + now: new Date(), + onChange: [], + onClose: [], + onDayCreate: [], + onDestroy: [], + onKeyDown: [], + onMonthChange: [], + onOpen: [], + onParseConfig: [], + onReady: [], + onValueUpdate: [], + onYearChange: [], + onPreCalendarPosition: [], + plugins: [], + position: "auto", + positionElement: undefined, + prevArrow: "", + shorthandCurrentMonth: false, + showMonths: 1, + static: false, + time_24hr: false, + weekNumbers: false, + wrap: false + }; + + var english = { + weekdays: { + shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + longhand: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] + }, + months: { + shorthand: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + longhand: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] + }, + daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + firstDayOfWeek: 0, + ordinal: function ordinal(nth) { + var s = nth % 100; + if (s > 3 && s < 21) return "th"; + switch (s % 10) { + case 1: + return "st"; + case 2: + return "nd"; + case 3: + return "rd"; + default: + return "th"; + } + }, + rangeSeparator: " to ", + weekAbbreviation: "Wk", + scrollTitle: "Scroll to increment", + toggleTitle: "Click to toggle", + amPM: ["AM", "PM"], + yearAriaLabel: "Year", + hourAriaLabel: "Hour", + minuteAriaLabel: "Minute", + time_24hr: false + }; + + var pad = function pad(number) { + return ("0" + number).slice(-2); + }; + var int = function int(bool) { + return bool === true ? 1 : 0; + }; + /* istanbul ignore next */ + function debounce(func, wait, immediate) { + if (immediate === void 0) { + immediate = false; + } + var timeout; + return function () { + var context = this, + args = arguments; + timeout !== null && clearTimeout(timeout); + timeout = window.setTimeout(function () { + timeout = null; + if (!immediate) func.apply(context, args); + }, wait); + if (immediate && !timeout) func.apply(context, args); + }; + } + var arrayify = function arrayify(obj) { + return obj instanceof Array ? obj : [obj]; + }; + + function toggleClass(elem, className, bool) { + if (bool === true) return elem.classList.add(className); + elem.classList.remove(className); + } + function createElement(tag, className, content) { + var e = window.document.createElement(tag); + className = className || ""; + content = content || ""; + e.className = className; + if (content !== undefined) e.textContent = content; + return e; + } + function clearNode(node) { + while (node.firstChild) { + node.removeChild(node.firstChild); + } + } + function findParent(node, condition) { + if (condition(node)) return node;else if (node.parentNode) return findParent(node.parentNode, condition); + return undefined; // nothing found + } + function createNumberInput(inputClassName, opts) { + var wrapper = createElement("div", "numInputWrapper"), + numInput = createElement("input", "numInput " + inputClassName), + arrowUp = createElement("span", "arrowUp"), + arrowDown = createElement("span", "arrowDown"); + if (navigator.userAgent.indexOf("MSIE 9.0") === -1) { + numInput.type = "number"; + } else { + numInput.type = "text"; + numInput.pattern = "\\d*"; + } + if (opts !== undefined) for (var key in opts) { + numInput.setAttribute(key, opts[key]); + }wrapper.appendChild(numInput); + wrapper.appendChild(arrowUp); + wrapper.appendChild(arrowDown); + return wrapper; + } + function getEventTarget(event) { + if (typeof event.composedPath === "function") { + var path = event.composedPath(); + return path[0]; + } + return event.target; + } + + var doNothing = function doNothing() { + return undefined; + }; + var monthToStr = function monthToStr(monthNumber, shorthand, locale) { + return locale.months[shorthand ? "shorthand" : "longhand"][monthNumber]; + }; + var revFormat = { + D: doNothing, + F: function F(dateObj, monthName, locale) { + dateObj.setMonth(locale.months.longhand.indexOf(monthName)); + }, + G: function G(dateObj, hour) { + dateObj.setHours(parseFloat(hour)); + }, + H: function H(dateObj, hour) { + dateObj.setHours(parseFloat(hour)); + }, + J: function J(dateObj, day) { + dateObj.setDate(parseFloat(day)); + }, + K: function K(dateObj, amPM, locale) { + dateObj.setHours(dateObj.getHours() % 12 + 12 * int(new RegExp(locale.amPM[1], "i").test(amPM))); + }, + M: function M(dateObj, shortMonth, locale) { + dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth)); + }, + S: function S(dateObj, seconds) { + dateObj.setSeconds(parseFloat(seconds)); + }, + U: function U(_, unixSeconds) { + return new Date(parseFloat(unixSeconds) * 1000); + }, + W: function W(dateObj, weekNum, locale) { + var weekNumber = parseInt(weekNum); + var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0); + date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek); + return date; + }, + Y: function Y(dateObj, year) { + dateObj.setFullYear(parseFloat(year)); + }, + Z: function Z(_, ISODate) { + return new Date(ISODate); + }, + d: function d(dateObj, day) { + dateObj.setDate(parseFloat(day)); + }, + h: function h(dateObj, hour) { + dateObj.setHours(parseFloat(hour)); + }, + i: function i(dateObj, minutes) { + dateObj.setMinutes(parseFloat(minutes)); + }, + j: function j(dateObj, day) { + dateObj.setDate(parseFloat(day)); + }, + l: doNothing, + m: function m(dateObj, month) { + dateObj.setMonth(parseFloat(month) - 1); + }, + n: function n(dateObj, month) { + dateObj.setMonth(parseFloat(month) - 1); + }, + s: function s(dateObj, seconds) { + dateObj.setSeconds(parseFloat(seconds)); + }, + u: function u(_, unixMillSeconds) { + return new Date(parseFloat(unixMillSeconds)); + }, + w: doNothing, + y: function y(dateObj, year) { + dateObj.setFullYear(2000 + parseFloat(year)); + } + }; + var tokenRegex = { + D: "(\\w+)", + F: "(\\w+)", + G: "(\\d\\d|\\d)", + H: "(\\d\\d|\\d)", + J: "(\\d\\d|\\d)\\w+", + K: "", + M: "(\\w+)", + S: "(\\d\\d|\\d)", + U: "(.+)", + W: "(\\d\\d|\\d)", + Y: "(\\d{4})", + Z: "(.+)", + d: "(\\d\\d|\\d)", + h: "(\\d\\d|\\d)", + i: "(\\d\\d|\\d)", + j: "(\\d\\d|\\d)", + l: "(\\w+)", + m: "(\\d\\d|\\d)", + n: "(\\d\\d|\\d)", + s: "(\\d\\d|\\d)", + u: "(.+)", + w: "(\\d\\d|\\d)", + y: "(\\d{2})" + }; + var formats = { + // get the date in UTC + Z: function Z(date) { + return date.toISOString(); + }, + // weekday name, short, e.g. Thu + D: function D(date, locale, options) { + return locale.weekdays.shorthand[formats.w(date, locale, options)]; + }, + // full month name e.g. January + F: function F(date, locale, options) { + return monthToStr(formats.n(date, locale, options) - 1, false, locale); + }, + // padded hour 1-12 + G: function G(date, locale, options) { + return pad(formats.h(date, locale, options)); + }, + // hours with leading zero e.g. 03 + H: function H(date) { + return pad(date.getHours()); + }, + // day (1-30) with ordinal suffix e.g. 1st, 2nd + J: function J(date, locale) { + return locale.ordinal !== undefined ? date.getDate() + locale.ordinal(date.getDate()) : date.getDate(); + }, + // AM/PM + K: function K(date, locale) { + return locale.amPM[int(date.getHours() > 11)]; + }, + // shorthand month e.g. Jan, Sep, Oct, etc + M: function M(date, locale) { + return monthToStr(date.getMonth(), true, locale); + }, + // seconds 00-59 + S: function S(date) { + return pad(date.getSeconds()); + }, + // unix timestamp + U: function U(date) { + return date.getTime() / 1000; + }, + W: function W(date, _, options) { + return options.getWeek(date); + }, + // full year e.g. 2016 + Y: function Y(date) { + return date.getFullYear(); + }, + // day in month, padded (01-30) + d: function d(date) { + return pad(date.getDate()); + }, + // hour from 1-12 (am/pm) + h: function h(date) { + return date.getHours() % 12 ? date.getHours() % 12 : 12; + }, + // minutes, padded with leading zero e.g. 09 + i: function i(date) { + return pad(date.getMinutes()); + }, + // day in month (1-30) + j: function j(date) { + return date.getDate(); + }, + // weekday name, full, e.g. Thursday + l: function l(date, locale) { + return locale.weekdays.longhand[date.getDay()]; + }, + // padded month number (01-12) + m: function m(date) { + return pad(date.getMonth() + 1); + }, + // the month number (1-12) + n: function n(date) { + return date.getMonth() + 1; + }, + // seconds 0-59 + s: function s(date) { + return date.getSeconds(); + }, + // Unix Milliseconds + u: function u(date) { + return date.getTime(); + }, + // number of the day of the week + w: function w(date) { + return date.getDay(); + }, + // last two digits of year e.g. 16 for 2016 + y: function y(date) { + return String(date.getFullYear()).substring(2); + } + }; + + var createDateFormatter = function createDateFormatter(_a) { + var _b = _a.config, + config = _b === void 0 ? defaults : _b, + _c = _a.l10n, + l10n = _c === void 0 ? english : _c; + return function (dateObj, frmt, overrideLocale) { + var locale = overrideLocale || l10n; + if (config.formatDate !== undefined) { + return config.formatDate(dateObj, frmt, locale); + } + return frmt.split("").map(function (c, i, arr) { + return formats[c] && arr[i - 1] !== "\\" ? formats[c](dateObj, locale, config) : c !== "\\" ? c : ""; + }).join(""); + }; + }; + var createDateParser = function createDateParser(_a) { + var _b = _a.config, + config = _b === void 0 ? defaults : _b, + _c = _a.l10n, + l10n = _c === void 0 ? english : _c; + return function (date, givenFormat, timeless, customLocale) { + if (date !== 0 && !date) return undefined; + var locale = customLocale || l10n; + var parsedDate; + var dateOrig = date; + if (date instanceof Date) parsedDate = new Date(date.getTime());else if (typeof date !== "string" && date.toFixed !== undefined // timestamp + ) + // create a copy + parsedDate = new Date(date);else if (typeof date === "string") { + // date string + var format = givenFormat || (config || defaults).dateFormat; + var datestr = String(date).trim(); + if (datestr === "today") { + parsedDate = new Date(); + timeless = true; + } else if (/Z$/.test(datestr) || /GMT$/.test(datestr) // datestrings w/ timezone + ) parsedDate = new Date(date);else if (config && config.parseDate) parsedDate = config.parseDate(date, format);else { + parsedDate = !config || !config.noCalendar ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0) : new Date(new Date().setHours(0, 0, 0, 0)); + var matched = void 0, + ops = []; + for (var i = 0, matchIndex = 0, regexStr = ""; i < format.length; i++) { + var token_1 = format[i]; + var isBackSlash = token_1 === "\\"; + var escaped = format[i - 1] === "\\" || isBackSlash; + if (tokenRegex[token_1] && !escaped) { + regexStr += tokenRegex[token_1]; + var match = new RegExp(regexStr).exec(date); + if (match && (matched = true)) { + ops[token_1 !== "Y" ? "push" : "unshift"]({ + fn: revFormat[token_1], + val: match[++matchIndex] + }); + } + } else if (!isBackSlash) regexStr += "."; // don't really care + ops.forEach(function (_a) { + var fn = _a.fn, + val = _a.val; + return parsedDate = fn(parsedDate, val, locale) || parsedDate; + }); + } + parsedDate = matched ? parsedDate : undefined; + } + } + /* istanbul ignore next */ + if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) { + config.errorHandler(new Error("Invalid date provided: " + dateOrig)); + return undefined; + } + if (timeless === true) parsedDate.setHours(0, 0, 0, 0); + return parsedDate; + }; + }; + /** + * Compute the difference in dates, measured in ms + */ + function compareDates(date1, date2, timeless) { + if (timeless === void 0) { + timeless = true; + } + if (timeless !== false) { + return new Date(date1.getTime()).setHours(0, 0, 0, 0) - new Date(date2.getTime()).setHours(0, 0, 0, 0); + } + return date1.getTime() - date2.getTime(); + } + var isBetween = function isBetween(ts, ts1, ts2) { + return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2); + }; + var duration = { + DAY: 86400000 + }; + + if (typeof Object.assign !== "function") { + Object.assign = function (target) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + if (!target) { + throw TypeError("Cannot convert undefined or null to object"); + } + var _loop_1 = function _loop_1(source) { + if (source) { + Object.keys(source).forEach(function (key) { + return target[key] = source[key]; + }); + } + }; + for (var _a = 0, args_1 = args; _a < args_1.length; _a++) { + var source = args_1[_a]; + _loop_1(source); + } + return target; + }; + } + + var DEBOUNCED_CHANGE_MS = 300; + function FlatpickrInstance(element, instanceConfig) { + var self = { + config: _assign({}, defaults, flatpickr.defaultConfig), + l10n: english + }; + self.parseDate = createDateParser({ config: self.config, l10n: self.l10n }); + self._handlers = []; + self.pluginElements = []; + self.loadedPlugins = []; + self._bind = bind; + self._setHoursFromDate = setHoursFromDate; + self._positionCalendar = positionCalendar; + self.changeMonth = changeMonth; + self.changeYear = changeYear; + self.clear = clear; + self.close = close; + self._createElement = createElement; + self.destroy = destroy; + self.isEnabled = isEnabled; + self.jumpToDate = jumpToDate; + self.open = open; + self.redraw = redraw; + self.set = set; + self.setDate = setDate; + self.toggle = toggle; + function setupHelperFunctions() { + self.utils = { + getDaysInMonth: function getDaysInMonth(month, yr) { + if (month === void 0) { + month = self.currentMonth; + } + if (yr === void 0) { + yr = self.currentYear; + } + if (month === 1 && (yr % 4 === 0 && yr % 100 !== 0 || yr % 400 === 0)) return 29; + return self.l10n.daysInMonth[month]; + } + }; + } + function init() { + self.element = self.input = element; + self.isOpen = false; + parseConfig(); + setupLocale(); + setupInputs(); + setupDates(); + setupHelperFunctions(); + if (!self.isMobile) build(); + bindEvents(); + if (self.selectedDates.length || self.config.noCalendar) { + if (self.config.enableTime) { + setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj || self.config.minDate : undefined); + } + updateValue(false); + } + setCalendarWidth(); + self.showTimeInput = self.selectedDates.length > 0 || self.config.noCalendar; + var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); + /* TODO: investigate this further + Currently, there is weird positioning behavior in safari causing pages + to scroll up. https://github.com/chmln/flatpickr/issues/563 + However, most browsers are not Safari and positioning is expensive when used + in scale. https://github.com/chmln/flatpickr/issues/1096 + */ + if (!self.isMobile && isSafari) { + positionCalendar(); + } + triggerEvent("onReady"); + } + function bindToInstance(fn) { + return fn.bind(self); + } + function setCalendarWidth() { + var config = self.config; + if (config.weekNumbers === false && config.showMonths === 1) return;else if (config.noCalendar !== true) { + window.requestAnimationFrame(function () { + if (self.calendarContainer !== undefined) { + self.calendarContainer.style.visibility = "hidden"; + self.calendarContainer.style.display = "block"; + } + if (self.daysContainer !== undefined) { + var daysWidth = (self.days.offsetWidth + 1) * config.showMonths; + self.daysContainer.style.width = daysWidth + "px"; + self.calendarContainer.style.width = daysWidth + (self.weekWrapper !== undefined ? self.weekWrapper.offsetWidth : 0) + "px"; + self.calendarContainer.style.removeProperty("visibility"); + self.calendarContainer.style.removeProperty("display"); + } + }); + } + } + /** + * The handler for all events targeting the time inputs + */ + function updateTime(e) { + if (self.selectedDates.length === 0) { + setDefaultTime(); + } + if (e !== undefined && e.type !== "blur") { + timeWrapper(e); + } + var prevValue = self._input.value; + setHoursFromInputs(); + updateValue(); + if (self._input.value !== prevValue) { + self._debouncedChange(); + } + } + function ampm2military(hour, amPM) { + return hour % 12 + 12 * int(amPM === self.l10n.amPM[1]); + } + function military2ampm(hour) { + switch (hour % 24) { + case 0: + case 12: + return 12; + default: + return hour % 12; + } + } + /** + * Syncs the selected date object time with user's time input + */ + function setHoursFromInputs() { + if (self.hourElement === undefined || self.minuteElement === undefined) return; + var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, + minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, + seconds = self.secondElement !== undefined ? (parseInt(self.secondElement.value, 10) || 0) % 60 : 0; + if (self.amPM !== undefined) { + hours = ampm2military(hours, self.amPM.textContent); + } + var limitMinHours = self.config.minTime !== undefined || self.config.minDate && self.minDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.minDate, true) === 0; + var limitMaxHours = self.config.maxTime !== undefined || self.config.maxDate && self.maxDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.maxDate, true) === 0; + if (limitMaxHours) { + var maxTime = self.config.maxTime !== undefined ? self.config.maxTime : self.config.maxDate; + hours = Math.min(hours, maxTime.getHours()); + if (hours === maxTime.getHours()) minutes = Math.min(minutes, maxTime.getMinutes()); + if (minutes === maxTime.getMinutes()) seconds = Math.min(seconds, maxTime.getSeconds()); + } + if (limitMinHours) { + var minTime = self.config.minTime !== undefined ? self.config.minTime : self.config.minDate; + hours = Math.max(hours, minTime.getHours()); + if (hours === minTime.getHours()) minutes = Math.max(minutes, minTime.getMinutes()); + if (minutes === minTime.getMinutes()) seconds = Math.max(seconds, minTime.getSeconds()); + } + setHours(hours, minutes, seconds); + } + /** + * Syncs time input values with a date + */ + function setHoursFromDate(dateObj) { + var date = dateObj || self.latestSelectedDateObj; + if (date) setHours(date.getHours(), date.getMinutes(), date.getSeconds()); + } + function setDefaultHours() { + var hours = self.config.defaultHour; + var minutes = self.config.defaultMinute; + var seconds = self.config.defaultSeconds; + if (self.config.minDate !== undefined) { + var minHr = self.config.minDate.getHours(); + var minMinutes = self.config.minDate.getMinutes(); + hours = Math.max(hours, minHr); + if (hours === minHr) minutes = Math.max(minMinutes, minutes); + if (hours === minHr && minutes === minMinutes) seconds = self.config.minDate.getSeconds(); + } + if (self.config.maxDate !== undefined) { + var maxHr = self.config.maxDate.getHours(); + var maxMinutes = self.config.maxDate.getMinutes(); + hours = Math.min(hours, maxHr); + if (hours === maxHr) minutes = Math.min(maxMinutes, minutes); + if (hours === maxHr && minutes === maxMinutes) seconds = self.config.maxDate.getSeconds(); + } + setHours(hours, minutes, seconds); + } + /** + * Sets the hours, minutes, and optionally seconds + * of the latest selected date object and the + * corresponding time inputs + * @param {Number} hours the hour. whether its military + * or am-pm gets inferred from config + * @param {Number} minutes the minutes + * @param {Number} seconds the seconds (optional) + */ + function setHours(hours, minutes, seconds) { + if (self.latestSelectedDateObj !== undefined) { + self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0); + } + if (!self.hourElement || !self.minuteElement || self.isMobile) return; + self.hourElement.value = pad(!self.config.time_24hr ? (12 + hours) % 12 + 12 * int(hours % 12 === 0) : hours); + self.minuteElement.value = pad(minutes); + if (self.amPM !== undefined) self.amPM.textContent = self.l10n.amPM[int(hours >= 12)]; + if (self.secondElement !== undefined) self.secondElement.value = pad(seconds); + } + /** + * Handles the year input and incrementing events + * @param {Event} event the keyup or increment event + */ + function onYearInput(event) { + var year = parseInt(event.target.value) + (event.delta || 0); + if (year / 1000 > 1 || event.key === "Enter" && !/[^\d]/.test(year.toString())) { + changeYear(year); + } + } + /** + * Essentially addEventListener + tracking + * @param {Element} element the element to addEventListener to + * @param {String} event the event name + * @param {Function} handler the event handler + */ + function bind(element, event, handler, options) { + if (event instanceof Array) return event.forEach(function (ev) { + return bind(element, ev, handler, options); + }); + if (element instanceof Array) return element.forEach(function (el) { + return bind(el, event, handler, options); + }); + element.addEventListener(event, handler, options); + self._handlers.push({ + element: element, + event: event, + handler: handler, + options: options + }); + } + /** + * A mousedown handler which mimics click. + * Minimizes latency, since we don't need to wait for mouseup in most cases. + * Also, avoids handling right clicks. + * + * @param {Function} handler the event handler + */ + function onClick(handler) { + return function (evt) { + evt.which === 1 && handler(evt); + }; + } + function triggerChange() { + triggerEvent("onChange"); + } + /** + * Adds all the necessary event listeners + */ + function bindEvents() { + if (self.config.wrap) { + ["open", "close", "toggle", "clear"].forEach(function (evt) { + Array.prototype.forEach.call(self.element.querySelectorAll("[data-" + evt + "]"), function (el) { + return bind(el, "click", self[evt]); + }); + }); + } + if (self.isMobile) { + setupMobile(); + return; + } + var debouncedResize = debounce(onResize, 50); + self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS); + if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent)) bind(self.daysContainer, "mouseover", function (e) { + if (self.config.mode === "range") onMouseOver(e.target); + }); + bind(window.document.body, "keydown", onKeyDown); + if (!self.config.inline && !self.config.static) bind(window, "resize", debouncedResize); + if (window.ontouchstart !== undefined) bind(window.document, "touchstart", documentClick);else bind(window.document, "mousedown", onClick(documentClick)); + bind(window.document, "focus", documentClick, { capture: true }); + if (self.config.clickOpens === true) { + bind(self._input, "focus", self.open); + bind(self._input, "mousedown", onClick(self.open)); + } + if (self.daysContainer !== undefined) { + bind(self.monthNav, "mousedown", onClick(onMonthNavClick)); + bind(self.monthNav, ["keyup", "increment"], onYearInput); + bind(self.daysContainer, "mousedown", onClick(selectDate)); + } + if (self.timeContainer !== undefined && self.minuteElement !== undefined && self.hourElement !== undefined) { + var selText = function selText(e) { + return e.target.select(); + }; + bind(self.timeContainer, ["increment"], updateTime); + bind(self.timeContainer, "blur", updateTime, { capture: true }); + bind(self.timeContainer, "mousedown", onClick(timeIncrement)); + bind([self.hourElement, self.minuteElement], ["focus", "click"], selText); + if (self.secondElement !== undefined) bind(self.secondElement, "focus", function () { + return self.secondElement && self.secondElement.select(); + }); + if (self.amPM !== undefined) { + bind(self.amPM, "mousedown", onClick(function (e) { + updateTime(e); + triggerChange(); + })); + } + } + } + /** + * Set the calendar view to a particular date. + * @param {Date} jumpDate the date to set the view to + * @param {boolean} triggerChange if change events should be triggered + */ + function jumpToDate(jumpDate, triggerChange) { + var jumpTo = jumpDate !== undefined ? self.parseDate(jumpDate) : self.latestSelectedDateObj || (self.config.minDate && self.config.minDate > self.now ? self.config.minDate : self.config.maxDate && self.config.maxDate < self.now ? self.config.maxDate : self.now); + var oldYear = self.currentYear; + var oldMonth = self.currentMonth; + try { + if (jumpTo !== undefined) { + self.currentYear = jumpTo.getFullYear(); + self.currentMonth = jumpTo.getMonth(); + } + } catch (e) { + /* istanbul ignore next */ + e.message = "Invalid date supplied: " + jumpTo; + self.config.errorHandler(e); + } + if (triggerChange && self.currentYear !== oldYear) { + triggerEvent("onYearChange"); + buildMonthSwitch(); + } + if (triggerChange && (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) { + triggerEvent("onMonthChange"); + } + self.redraw(); + } + /** + * The up/down arrow handler for time inputs + * @param {Event} e the click event + */ + function timeIncrement(e) { + if (~e.target.className.indexOf("arrow")) incrementNumInput(e, e.target.classList.contains("arrowUp") ? 1 : -1); + } + /** + * Increments/decrements the value of input associ- + * ated with the up/down arrow by dispatching an + * "increment" event on the input. + * + * @param {Event} e the click event + * @param {Number} delta the diff (usually 1 or -1) + * @param {Element} inputElem the input element + */ + function incrementNumInput(e, delta, inputElem) { + var target = e && e.target; + var input = inputElem || target && target.parentNode && target.parentNode.firstChild; + var event = createEvent("increment"); + event.delta = delta; + input && input.dispatchEvent(event); + } + function build() { + var fragment = window.document.createDocumentFragment(); + self.calendarContainer = createElement("div", "flatpickr-calendar"); + self.calendarContainer.tabIndex = -1; + if (!self.config.noCalendar) { + fragment.appendChild(buildMonthNav()); + self.innerContainer = createElement("div", "flatpickr-innerContainer"); + if (self.config.weekNumbers) { + var _a = buildWeeks(), + weekWrapper = _a.weekWrapper, + weekNumbers = _a.weekNumbers; + self.innerContainer.appendChild(weekWrapper); + self.weekNumbers = weekNumbers; + self.weekWrapper = weekWrapper; + } + self.rContainer = createElement("div", "flatpickr-rContainer"); + self.rContainer.appendChild(buildWeekdays()); + if (!self.daysContainer) { + self.daysContainer = createElement("div", "flatpickr-days"); + self.daysContainer.tabIndex = -1; + } + buildDays(); + self.rContainer.appendChild(self.daysContainer); + self.innerContainer.appendChild(self.rContainer); + fragment.appendChild(self.innerContainer); + } + if (self.config.enableTime) { + fragment.appendChild(buildTime()); + } + toggleClass(self.calendarContainer, "rangeMode", self.config.mode === "range"); + toggleClass(self.calendarContainer, "animate", self.config.animate === true); + toggleClass(self.calendarContainer, "multiMonth", self.config.showMonths > 1); + self.calendarContainer.appendChild(fragment); + var customAppend = self.config.appendTo !== undefined && self.config.appendTo.nodeType !== undefined; + if (self.config.inline || self.config.static) { + self.calendarContainer.classList.add(self.config.inline ? "inline" : "static"); + if (self.config.inline) { + if (!customAppend && self.element.parentNode) self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);else if (self.config.appendTo !== undefined) self.config.appendTo.appendChild(self.calendarContainer); + } + if (self.config.static) { + var wrapper = createElement("div", "flatpickr-wrapper"); + if (self.element.parentNode) self.element.parentNode.insertBefore(wrapper, self.element); + wrapper.appendChild(self.element); + if (self.altInput) wrapper.appendChild(self.altInput); + wrapper.appendChild(self.calendarContainer); + } + } + if (!self.config.static && !self.config.inline) (self.config.appendTo !== undefined ? self.config.appendTo : window.document.body).appendChild(self.calendarContainer); + } + function createDay(className, date, dayNumber, i) { + var dateIsEnabled = isEnabled(date, true), + dayElement = createElement("span", "flatpickr-day " + className, date.getDate().toString()); + dayElement.dateObj = date; + dayElement.$i = i; + dayElement.setAttribute("aria-label", self.formatDate(date, self.config.ariaDateFormat)); + if (className.indexOf("hidden") === -1 && compareDates(date, self.now) === 0) { + self.todayDateElem = dayElement; + dayElement.classList.add("today"); + dayElement.setAttribute("aria-current", "date"); + } + if (dateIsEnabled) { + dayElement.tabIndex = -1; + if (isDateSelected(date)) { + dayElement.classList.add("selected"); + self.selectedDateElem = dayElement; + if (self.config.mode === "range") { + toggleClass(dayElement, "startRange", self.selectedDates[0] && compareDates(date, self.selectedDates[0], true) === 0); + toggleClass(dayElement, "endRange", self.selectedDates[1] && compareDates(date, self.selectedDates[1], true) === 0); + if (className === "nextMonthDay") dayElement.classList.add("inRange"); + } + } + } else { + dayElement.classList.add("flatpickr-disabled"); + } + if (self.config.mode === "range") { + if (isDateInRange(date) && !isDateSelected(date)) dayElement.classList.add("inRange"); + } + if (self.weekNumbers && self.config.showMonths === 1 && className !== "prevMonthDay" && dayNumber % 7 === 1) { + self.weekNumbers.insertAdjacentHTML("beforeend", "" + self.config.getWeek(date) + ""); + } + triggerEvent("onDayCreate", dayElement); + return dayElement; + } + function focusOnDayElem(targetNode) { + targetNode.focus(); + if (self.config.mode === "range") onMouseOver(targetNode); + } + function getFirstAvailableDay(delta) { + var startMonth = delta > 0 ? 0 : self.config.showMonths - 1; + var endMonth = delta > 0 ? self.config.showMonths : -1; + for (var m = startMonth; m != endMonth; m += delta) { + var month = self.daysContainer.children[m]; + var startIndex = delta > 0 ? 0 : month.children.length - 1; + var endIndex = delta > 0 ? month.children.length : -1; + for (var i = startIndex; i != endIndex; i += delta) { + var c = month.children[i]; + if (c.className.indexOf("hidden") === -1 && isEnabled(c.dateObj)) return c; + } + } + return undefined; + } + function getNextAvailableDay(current, delta) { + var givenMonth = current.className.indexOf("Month") === -1 ? current.dateObj.getMonth() : self.currentMonth; + var endMonth = delta > 0 ? self.config.showMonths : -1; + var loopDelta = delta > 0 ? 1 : -1; + for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) { + var month = self.daysContainer.children[m]; + var startIndex = givenMonth - self.currentMonth === m ? current.$i + delta : delta < 0 ? month.children.length - 1 : 0; + var numMonthDays = month.children.length; + for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) { + var c = month.children[i]; + if (c.className.indexOf("hidden") === -1 && isEnabled(c.dateObj) && Math.abs(current.$i - i) >= Math.abs(delta)) return focusOnDayElem(c); + } + } + self.changeMonth(loopDelta); + focusOnDay(getFirstAvailableDay(loopDelta), 0); + return undefined; + } + function focusOnDay(current, offset) { + var dayFocused = isInView(document.activeElement || document.body); + var startElem = current !== undefined ? current : dayFocused ? document.activeElement : self.selectedDateElem !== undefined && isInView(self.selectedDateElem) ? self.selectedDateElem : self.todayDateElem !== undefined && isInView(self.todayDateElem) ? self.todayDateElem : getFirstAvailableDay(offset > 0 ? 1 : -1); + if (startElem === undefined) return self._input.focus(); + if (!dayFocused) return focusOnDayElem(startElem); + getNextAvailableDay(startElem, offset); + } + function buildMonthDays(year, month) { + var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7; + var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12); + var daysInMonth = self.utils.getDaysInMonth(month), + days = window.document.createDocumentFragment(), + isMultiMonth = self.config.showMonths > 1, + prevMonthDayClass = isMultiMonth ? "prevMonthDay hidden" : "prevMonthDay", + nextMonthDayClass = isMultiMonth ? "nextMonthDay hidden" : "nextMonthDay"; + var dayNumber = prevMonthDays + 1 - firstOfMonth, + dayIndex = 0; + // prepend days from the ending of previous month + for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) { + days.appendChild(createDay(prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex)); + } + // Start at 1 since there is no 0th day + for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) { + days.appendChild(createDay("", new Date(year, month, dayNumber), dayNumber, dayIndex)); + } + // append days from the next month + for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth && (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) { + days.appendChild(createDay(nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex)); + } + //updateNavigationCurrentMonth(); + var dayContainer = createElement("div", "dayContainer"); + dayContainer.appendChild(days); + return dayContainer; + } + function buildDays() { + if (self.daysContainer === undefined) { + return; + } + clearNode(self.daysContainer); + // TODO: week numbers for each month + if (self.weekNumbers) clearNode(self.weekNumbers); + var frag = document.createDocumentFragment(); + for (var i = 0; i < self.config.showMonths; i++) { + var d = new Date(self.currentYear, self.currentMonth, 1); + d.setMonth(self.currentMonth + i); + frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth())); + } + self.daysContainer.appendChild(frag); + self.days = self.daysContainer.firstChild; + if (self.config.mode === "range" && self.selectedDates.length === 1) { + onMouseOver(); + } + } + function buildMonthSwitch() { + if (self.config.showMonths > 1 || self.config.monthSelectorType !== "dropdown") return; + var shouldBuildMonth = function shouldBuildMonth(month) { + if (self.config.minDate !== undefined && self.currentYear === self.config.minDate.getFullYear() && month < self.config.minDate.getMonth()) { + return false; + } + return !(self.config.maxDate !== undefined && self.currentYear === self.config.maxDate.getFullYear() && month > self.config.maxDate.getMonth()); + }; + self.monthsDropdownContainer.tabIndex = -1; + self.monthsDropdownContainer.innerHTML = ""; + for (var i = 0; i < 12; i++) { + if (!shouldBuildMonth(i)) continue; + var month = createElement("option", "flatpickr-monthDropdown-month"); + month.value = new Date(self.currentYear, i).getMonth().toString(); + month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n); + month.tabIndex = -1; + if (self.currentMonth === i) { + month.selected = true; + } + self.monthsDropdownContainer.appendChild(month); + } + } + function buildMonth() { + var container = createElement("div", "flatpickr-month"); + var monthNavFragment = window.document.createDocumentFragment(); + var monthElement; + if (self.config.showMonths > 1 || self.config.monthSelectorType === "static") { + monthElement = createElement("span", "cur-month"); + } else { + self.monthsDropdownContainer = createElement("select", "flatpickr-monthDropdown-months"); + bind(self.monthsDropdownContainer, "change", function (e) { + var target = e.target; + var selectedMonth = parseInt(target.value, 10); + self.changeMonth(selectedMonth - self.currentMonth); + triggerEvent("onMonthChange"); + }); + buildMonthSwitch(); + monthElement = self.monthsDropdownContainer; + } + var yearInput = createNumberInput("cur-year", { tabindex: "-1" }); + var yearElement = yearInput.getElementsByTagName("input")[0]; + yearElement.setAttribute("aria-label", self.l10n.yearAriaLabel); + if (self.config.minDate) { + yearElement.setAttribute("min", self.config.minDate.getFullYear().toString()); + } + if (self.config.maxDate) { + yearElement.setAttribute("max", self.config.maxDate.getFullYear().toString()); + yearElement.disabled = !!self.config.minDate && self.config.minDate.getFullYear() === self.config.maxDate.getFullYear(); + } + var currentMonth = createElement("div", "flatpickr-current-month"); + currentMonth.appendChild(monthElement); + currentMonth.appendChild(yearInput); + monthNavFragment.appendChild(currentMonth); + container.appendChild(monthNavFragment); + return { + container: container, + yearElement: yearElement, + monthElement: monthElement + }; + } + function buildMonths() { + clearNode(self.monthNav); + self.monthNav.appendChild(self.prevMonthNav); + if (self.config.showMonths) { + self.yearElements = []; + self.monthElements = []; + } + for (var m = self.config.showMonths; m--;) { + var month = buildMonth(); + self.yearElements.push(month.yearElement); + self.monthElements.push(month.monthElement); + self.monthNav.appendChild(month.container); + } + self.monthNav.appendChild(self.nextMonthNav); + } + function buildMonthNav() { + self.monthNav = createElement("div", "flatpickr-months"); + self.yearElements = []; + self.monthElements = []; + self.prevMonthNav = createElement("span", "flatpickr-prev-month"); + self.prevMonthNav.innerHTML = self.config.prevArrow; + self.nextMonthNav = createElement("span", "flatpickr-next-month"); + self.nextMonthNav.innerHTML = self.config.nextArrow; + buildMonths(); + Object.defineProperty(self, "_hidePrevMonthArrow", { + get: function get() { + return self.__hidePrevMonthArrow; + }, + set: function set(bool) { + if (self.__hidePrevMonthArrow !== bool) { + toggleClass(self.prevMonthNav, "flatpickr-disabled", bool); + self.__hidePrevMonthArrow = bool; + } + } + }); + Object.defineProperty(self, "_hideNextMonthArrow", { + get: function get() { + return self.__hideNextMonthArrow; + }, + set: function set(bool) { + if (self.__hideNextMonthArrow !== bool) { + toggleClass(self.nextMonthNav, "flatpickr-disabled", bool); + self.__hideNextMonthArrow = bool; + } + } + }); + self.currentYearElement = self.yearElements[0]; + updateNavigationCurrentMonth(); + return self.monthNav; + } + function buildTime() { + self.calendarContainer.classList.add("hasTime"); + if (self.config.noCalendar) self.calendarContainer.classList.add("noCalendar"); + self.timeContainer = createElement("div", "flatpickr-time"); + self.timeContainer.tabIndex = -1; + var separator = createElement("span", "flatpickr-time-separator", ":"); + var hourInput = createNumberInput("flatpickr-hour", { + "aria-label": self.l10n.hourAriaLabel + }); + self.hourElement = hourInput.getElementsByTagName("input")[0]; + var minuteInput = createNumberInput("flatpickr-minute", { + "aria-label": self.l10n.minuteAriaLabel + }); + self.minuteElement = minuteInput.getElementsByTagName("input")[0]; + self.hourElement.tabIndex = self.minuteElement.tabIndex = -1; + self.hourElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getHours() : self.config.time_24hr ? self.config.defaultHour : military2ampm(self.config.defaultHour)); + self.minuteElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getMinutes() : self.config.defaultMinute); + self.hourElement.setAttribute("step", self.config.hourIncrement.toString()); + self.minuteElement.setAttribute("step", self.config.minuteIncrement.toString()); + self.hourElement.setAttribute("min", self.config.time_24hr ? "0" : "1"); + self.hourElement.setAttribute("max", self.config.time_24hr ? "23" : "12"); + self.minuteElement.setAttribute("min", "0"); + self.minuteElement.setAttribute("max", "59"); + self.timeContainer.appendChild(hourInput); + self.timeContainer.appendChild(separator); + self.timeContainer.appendChild(minuteInput); + if (self.config.time_24hr) self.timeContainer.classList.add("time24hr"); + if (self.config.enableSeconds) { + self.timeContainer.classList.add("hasSeconds"); + var secondInput = createNumberInput("flatpickr-second"); + self.secondElement = secondInput.getElementsByTagName("input")[0]; + self.secondElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getSeconds() : self.config.defaultSeconds); + self.secondElement.setAttribute("step", self.minuteElement.getAttribute("step")); + self.secondElement.setAttribute("min", "0"); + self.secondElement.setAttribute("max", "59"); + self.timeContainer.appendChild(createElement("span", "flatpickr-time-separator", ":")); + self.timeContainer.appendChild(secondInput); + } + if (!self.config.time_24hr) { + // add self.amPM if appropriate + self.amPM = createElement("span", "flatpickr-am-pm", self.l10n.amPM[int((self.latestSelectedDateObj ? self.hourElement.value : self.config.defaultHour) > 11)]); + self.amPM.title = self.l10n.toggleTitle; + self.amPM.tabIndex = -1; + self.timeContainer.appendChild(self.amPM); + } + return self.timeContainer; + } + function buildWeekdays() { + if (!self.weekdayContainer) self.weekdayContainer = createElement("div", "flatpickr-weekdays");else clearNode(self.weekdayContainer); + for (var i = self.config.showMonths; i--;) { + var container = createElement("div", "flatpickr-weekdaycontainer"); + self.weekdayContainer.appendChild(container); + } + updateWeekdays(); + return self.weekdayContainer; + } + function updateWeekdays() { + var firstDayOfWeek = self.l10n.firstDayOfWeek; + var weekdays = self.l10n.weekdays.shorthand.slice(); + if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) { + weekdays = weekdays.splice(firstDayOfWeek, weekdays.length).concat(weekdays.splice(0, firstDayOfWeek)); + } + for (var i = self.config.showMonths; i--;) { + self.weekdayContainer.children[i].innerHTML = "\n \n " + weekdays.join("") + "\n \n "; + } + } + /* istanbul ignore next */ + function buildWeeks() { + self.calendarContainer.classList.add("hasWeeks"); + var weekWrapper = createElement("div", "flatpickr-weekwrapper"); + weekWrapper.appendChild(createElement("span", "flatpickr-weekday", self.l10n.weekAbbreviation)); + var weekNumbers = createElement("div", "flatpickr-weeks"); + weekWrapper.appendChild(weekNumbers); + return { + weekWrapper: weekWrapper, + weekNumbers: weekNumbers + }; + } + function changeMonth(value, isOffset) { + if (isOffset === void 0) { + isOffset = true; + } + var delta = isOffset ? value : value - self.currentMonth; + if (delta < 0 && self._hidePrevMonthArrow === true || delta > 0 && self._hideNextMonthArrow === true) return; + self.currentMonth += delta; + if (self.currentMonth < 0 || self.currentMonth > 11) { + self.currentYear += self.currentMonth > 11 ? 1 : -1; + self.currentMonth = (self.currentMonth + 12) % 12; + triggerEvent("onYearChange"); + buildMonthSwitch(); + } + buildDays(); + triggerEvent("onMonthChange"); + updateNavigationCurrentMonth(); + } + function clear(triggerChangeEvent, toInitial) { + if (triggerChangeEvent === void 0) { + triggerChangeEvent = true; + } + if (toInitial === void 0) { + toInitial = true; + } + self.input.value = ""; + if (self.altInput !== undefined) self.altInput.value = ""; + if (self.mobileInput !== undefined) self.mobileInput.value = ""; + self.selectedDates = []; + self.latestSelectedDateObj = undefined; + if (toInitial === true) { + self.currentYear = self._initialDate.getFullYear(); + self.currentMonth = self._initialDate.getMonth(); + } + self.showTimeInput = false; + if (self.config.enableTime === true) { + setDefaultHours(); + } + self.redraw(); + if (triggerChangeEvent) + // triggerChangeEvent is true (default) or an Event + triggerEvent("onChange"); + } + function close() { + self.isOpen = false; + if (!self.isMobile) { + if (self.calendarContainer !== undefined) { + self.calendarContainer.classList.remove("open"); + } + if (self._input !== undefined) { + self._input.classList.remove("active"); + } + } + triggerEvent("onClose"); + } + function destroy() { + if (self.config !== undefined) triggerEvent("onDestroy"); + for (var i = self._handlers.length; i--;) { + var h = self._handlers[i]; + h.element.removeEventListener(h.event, h.handler, h.options); + } + self._handlers = []; + if (self.mobileInput) { + if (self.mobileInput.parentNode) self.mobileInput.parentNode.removeChild(self.mobileInput); + self.mobileInput = undefined; + } else if (self.calendarContainer && self.calendarContainer.parentNode) { + if (self.config.static && self.calendarContainer.parentNode) { + var wrapper = self.calendarContainer.parentNode; + wrapper.lastChild && wrapper.removeChild(wrapper.lastChild); + if (wrapper.parentNode) { + while (wrapper.firstChild) { + wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper); + }wrapper.parentNode.removeChild(wrapper); + } + } else self.calendarContainer.parentNode.removeChild(self.calendarContainer); + } + if (self.altInput) { + self.input.type = "text"; + if (self.altInput.parentNode) self.altInput.parentNode.removeChild(self.altInput); + delete self.altInput; + } + if (self.input) { + self.input.type = self.input._type; + self.input.classList.remove("flatpickr-input"); + self.input.removeAttribute("readonly"); + self.input.value = ""; + } + ["_showTimeInput", "latestSelectedDateObj", "_hideNextMonthArrow", "_hidePrevMonthArrow", "__hideNextMonthArrow", "__hidePrevMonthArrow", "isMobile", "isOpen", "selectedDateElem", "minDateHasTime", "maxDateHasTime", "days", "daysContainer", "_input", "_positionElement", "innerContainer", "rContainer", "monthNav", "todayDateElem", "calendarContainer", "weekdayContainer", "prevMonthNav", "nextMonthNav", "monthsDropdownContainer", "currentMonthElement", "currentYearElement", "navigationCurrentMonth", "selectedDateElem", "config"].forEach(function (k) { + try { + delete self[k]; + } catch (_) {} + }); + } + function isCalendarElem(elem) { + if (self.config.appendTo && self.config.appendTo.contains(elem)) return true; + return self.calendarContainer.contains(elem); + } + function documentClick(e) { + if (self.isOpen && !self.config.inline) { + var eventTarget_1 = getEventTarget(e); + var isCalendarElement = isCalendarElem(eventTarget_1); + var isInput = eventTarget_1 === self.input || eventTarget_1 === self.altInput || self.element.contains(eventTarget_1) || + // web components + // e.path is not present in all browsers. circumventing typechecks + e.path && e.path.indexOf && (~e.path.indexOf(self.input) || ~e.path.indexOf(self.altInput)); + var lostFocus = e.type === "blur" ? isInput && e.relatedTarget && !isCalendarElem(e.relatedTarget) : !isInput && !isCalendarElement && !isCalendarElem(e.relatedTarget); + var isIgnored = !self.config.ignoredFocusElements.some(function (elem) { + return elem.contains(eventTarget_1); + }); + if (lostFocus && isIgnored) { + self.close(); + if (self.config.mode === "range" && self.selectedDates.length === 1) { + self.clear(false); + self.redraw(); + } + } + } + } + function changeYear(newYear) { + if (!newYear || self.config.minDate && newYear < self.config.minDate.getFullYear() || self.config.maxDate && newYear > self.config.maxDate.getFullYear()) return; + var newYearNum = newYear, + isNewYear = self.currentYear !== newYearNum; + self.currentYear = newYearNum || self.currentYear; + if (self.config.maxDate && self.currentYear === self.config.maxDate.getFullYear()) { + self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth); + } else if (self.config.minDate && self.currentYear === self.config.minDate.getFullYear()) { + self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth); + } + if (isNewYear) { + self.redraw(); + triggerEvent("onYearChange"); + buildMonthSwitch(); + } + } + function isEnabled(date, timeless) { + if (timeless === void 0) { + timeless = true; + } + var dateToCheck = self.parseDate(date, undefined, timeless); // timeless + if (self.config.minDate && dateToCheck && compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0 || self.config.maxDate && dateToCheck && compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0) return false; + if (self.config.enable.length === 0 && self.config.disable.length === 0) return true; + if (dateToCheck === undefined) return false; + var bool = self.config.enable.length > 0, + array = bool ? self.config.enable : self.config.disable; + for (var i = 0, d = void 0; i < array.length; i++) { + d = array[i]; + if (typeof d === "function" && d(dateToCheck) // disabled by function + ) return bool;else if (d instanceof Date && dateToCheck !== undefined && d.getTime() === dateToCheck.getTime()) + // disabled by date + return bool;else if (typeof d === "string" && dateToCheck !== undefined) { + // disabled by date string + var parsed = self.parseDate(d, undefined, true); + return parsed && parsed.getTime() === dateToCheck.getTime() ? bool : !bool; + } else if ( + // disabled by range + (typeof d === 'undefined' ? 'undefined' : _typeof(d)) === "object" && dateToCheck !== undefined && d.from && d.to && dateToCheck.getTime() >= d.from.getTime() && dateToCheck.getTime() <= d.to.getTime()) return bool; + } + return !bool; + } + function isInView(elem) { + if (self.daysContainer !== undefined) return elem.className.indexOf("hidden") === -1 && self.daysContainer.contains(elem); + return false; + } + function onKeyDown(e) { + // e.key e.keyCode + // "Backspace" 8 + // "Tab" 9 + // "Enter" 13 + // "Escape" (IE "Esc") 27 + // "ArrowLeft" (IE "Left") 37 + // "ArrowUp" (IE "Up") 38 + // "ArrowRight" (IE "Right") 39 + // "ArrowDown" (IE "Down") 40 + // "Delete" (IE "Del") 46 + var isInput = e.target === self._input; + var allowInput = self.config.allowInput; + var allowKeydown = self.isOpen && (!allowInput || !isInput); + var allowInlineKeydown = self.config.inline && isInput && !allowInput; + if (e.keyCode === 13 && isInput) { + if (allowInput) { + self.setDate(self._input.value, true, e.target === self.altInput ? self.config.altFormat : self.config.dateFormat); + return e.target.blur(); + } else { + self.open(); + } + } else if (isCalendarElem(e.target) || allowKeydown || allowInlineKeydown) { + var isTimeObj = !!self.timeContainer && self.timeContainer.contains(e.target); + switch (e.keyCode) { + case 13: + if (isTimeObj) { + e.preventDefault(); + updateTime(); + focusAndClose(); + } else selectDate(e); + break; + case 27: + // escape + e.preventDefault(); + focusAndClose(); + break; + case 8: + case 46: + if (isInput && !self.config.allowInput) { + e.preventDefault(); + self.clear(); + } + break; + case 37: + case 39: + if (!isTimeObj && !isInput) { + e.preventDefault(); + if (self.daysContainer !== undefined && (allowInput === false || document.activeElement && isInView(document.activeElement))) { + var delta_1 = e.keyCode === 39 ? 1 : -1; + if (!e.ctrlKey) focusOnDay(undefined, delta_1);else { + e.stopPropagation(); + changeMonth(delta_1); + focusOnDay(getFirstAvailableDay(1), 0); + } + } + } else if (self.hourElement) self.hourElement.focus(); + break; + case 38: + case 40: + e.preventDefault(); + var delta = e.keyCode === 40 ? 1 : -1; + if (self.daysContainer && e.target.$i !== undefined || e.target === self.input) { + if (e.ctrlKey) { + e.stopPropagation(); + changeYear(self.currentYear - delta); + focusOnDay(getFirstAvailableDay(1), 0); + } else if (!isTimeObj) focusOnDay(undefined, delta * 7); + } else if (e.target === self.currentYearElement) { + changeYear(self.currentYear - delta); + } else if (self.config.enableTime) { + if (!isTimeObj && self.hourElement) self.hourElement.focus(); + updateTime(e); + self._debouncedChange(); + } + break; + case 9: + if (isTimeObj) { + var elems = [self.hourElement, self.minuteElement, self.secondElement, self.amPM].concat(self.pluginElements).filter(function (x) { + return x; + }); + var i = elems.indexOf(e.target); + if (i !== -1) { + var target = elems[i + (e.shiftKey ? -1 : 1)]; + e.preventDefault(); + (target || self._input).focus(); + } + } else if (!self.config.noCalendar && self.daysContainer && self.daysContainer.contains(e.target) && e.shiftKey) { + e.preventDefault(); + self._input.focus(); + } + break; + default: + break; + } + } + if (self.amPM !== undefined && e.target === self.amPM) { + switch (e.key) { + case self.l10n.amPM[0].charAt(0): + case self.l10n.amPM[0].charAt(0).toLowerCase(): + self.amPM.textContent = self.l10n.amPM[0]; + setHoursFromInputs(); + updateValue(); + break; + case self.l10n.amPM[1].charAt(0): + case self.l10n.amPM[1].charAt(0).toLowerCase(): + self.amPM.textContent = self.l10n.amPM[1]; + setHoursFromInputs(); + updateValue(); + break; + } + } + if (isInput || isCalendarElem(e.target)) { + triggerEvent("onKeyDown", e); + } + } + function onMouseOver(elem) { + if (self.selectedDates.length !== 1 || elem && (!elem.classList.contains("flatpickr-day") || elem.classList.contains("flatpickr-disabled"))) return; + var hoverDate = elem ? elem.dateObj.getTime() : self.days.firstElementChild.dateObj.getTime(), + initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(), + rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), + rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime()); + var containsDisabled = false; + var minRange = 0, + maxRange = 0; + for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) { + if (!isEnabled(new Date(t), true)) { + containsDisabled = containsDisabled || t > rangeStartDate && t < rangeEndDate; + if (t < initialDate && (!minRange || t > minRange)) minRange = t;else if (t > initialDate && (!maxRange || t < maxRange)) maxRange = t; + } + } + for (var m = 0; m < self.config.showMonths; m++) { + var month = self.daysContainer.children[m]; + var _loop_1 = function _loop_1(i, l) { + var dayElem = month.children[i], + date = dayElem.dateObj; + var timestamp = date.getTime(); + var outOfRange = minRange > 0 && timestamp < minRange || maxRange > 0 && timestamp > maxRange; + if (outOfRange) { + dayElem.classList.add("notAllowed"); + ["inRange", "startRange", "endRange"].forEach(function (c) { + dayElem.classList.remove(c); + }); + return "continue"; + } else if (containsDisabled && !outOfRange) return "continue"; + ["startRange", "inRange", "endRange", "notAllowed"].forEach(function (c) { + dayElem.classList.remove(c); + }); + if (elem !== undefined) { + elem.classList.add(hoverDate <= self.selectedDates[0].getTime() ? "startRange" : "endRange"); + if (initialDate < hoverDate && timestamp === initialDate) dayElem.classList.add("startRange");else if (initialDate > hoverDate && timestamp === initialDate) dayElem.classList.add("endRange"); + if (timestamp >= minRange && (maxRange === 0 || timestamp <= maxRange) && isBetween(timestamp, initialDate, hoverDate)) dayElem.classList.add("inRange"); + } + }; + for (var i = 0, l = month.children.length; i < l; i++) { + _loop_1(i, l); + } + } + } + function onResize() { + if (self.isOpen && !self.config.static && !self.config.inline) positionCalendar(); + } + function setDefaultTime() { + self.setDate(self.config.minDate !== undefined ? new Date(self.config.minDate.getTime()) : new Date(), true); + setDefaultHours(); + updateValue(); + } + function open(e, positionElement) { + if (positionElement === void 0) { + positionElement = self._positionElement; + } + if (self.isMobile === true) { + if (e) { + e.preventDefault(); + e.target && e.target.blur(); + } + if (self.mobileInput !== undefined) { + self.mobileInput.focus(); + self.mobileInput.click(); + } + triggerEvent("onOpen"); + return; + } + if (self._input.disabled || self.config.inline) return; + var wasOpen = self.isOpen; + self.isOpen = true; + if (!wasOpen) { + self.calendarContainer.classList.add("open"); + self._input.classList.add("active"); + triggerEvent("onOpen"); + positionCalendar(positionElement); + } + if (self.config.enableTime === true && self.config.noCalendar === true) { + if (self.selectedDates.length === 0) { + setDefaultTime(); + } + if (self.config.allowInput === false && (e === undefined || !self.timeContainer.contains(e.relatedTarget))) { + setTimeout(function () { + return self.hourElement.select(); + }, 50); + } + } + } + function minMaxDateSetter(type) { + return function (date) { + var dateObj = self.config["_" + type + "Date"] = self.parseDate(date, self.config.dateFormat); + var inverseDateObj = self.config["_" + (type === "min" ? "max" : "min") + "Date"]; + if (dateObj !== undefined) { + self[type === "min" ? "minDateHasTime" : "maxDateHasTime"] = dateObj.getHours() > 0 || dateObj.getMinutes() > 0 || dateObj.getSeconds() > 0; + } + if (self.selectedDates) { + self.selectedDates = self.selectedDates.filter(function (d) { + return isEnabled(d); + }); + if (!self.selectedDates.length && type === "min") setHoursFromDate(dateObj); + updateValue(); + } + if (self.daysContainer) { + redraw(); + if (dateObj !== undefined) self.currentYearElement[type] = dateObj.getFullYear().toString();else self.currentYearElement.removeAttribute(type); + self.currentYearElement.disabled = !!inverseDateObj && dateObj !== undefined && inverseDateObj.getFullYear() === dateObj.getFullYear(); + } + }; + } + function parseConfig() { + var boolOpts = ["wrap", "weekNumbers", "allowInput", "clickOpens", "time_24hr", "enableTime", "noCalendar", "altInput", "shorthandCurrentMonth", "inline", "static", "enableSeconds", "disableMobile"]; + var userConfig = _assign({}, instanceConfig, JSON.parse(JSON.stringify(element.dataset || {}))); + var formats = {}; + self.config.parseDate = userConfig.parseDate; + self.config.formatDate = userConfig.formatDate; + Object.defineProperty(self.config, "enable", { + get: function get() { + return self.config._enable; + }, + set: function set(dates) { + self.config._enable = parseDateRules(dates); + } + }); + Object.defineProperty(self.config, "disable", { + get: function get() { + return self.config._disable; + }, + set: function set(dates) { + self.config._disable = parseDateRules(dates); + } + }); + var timeMode = userConfig.mode === "time"; + if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) { + var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaults.dateFormat; + formats.dateFormat = userConfig.noCalendar || timeMode ? "H:i" + (userConfig.enableSeconds ? ":S" : "") : defaultDateFormat + " H:i" + (userConfig.enableSeconds ? ":S" : ""); + } + if (userConfig.altInput && (userConfig.enableTime || timeMode) && !userConfig.altFormat) { + var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaults.altFormat; + formats.altFormat = userConfig.noCalendar || timeMode ? "h:i" + (userConfig.enableSeconds ? ":S K" : " K") : defaultAltFormat + (" h:i" + (userConfig.enableSeconds ? ":S" : "") + " K"); + } + if (!userConfig.altInputClass) { + self.config.altInputClass = self.input.className + " " + self.config.altInputClass; + } + Object.defineProperty(self.config, "minDate", { + get: function get() { + return self.config._minDate; + }, + set: minMaxDateSetter("min") + }); + Object.defineProperty(self.config, "maxDate", { + get: function get() { + return self.config._maxDate; + }, + set: minMaxDateSetter("max") + }); + var minMaxTimeSetter = function minMaxTimeSetter(type) { + return function (val) { + self.config[type === "min" ? "_minTime" : "_maxTime"] = self.parseDate(val, "H:i"); + }; + }; + Object.defineProperty(self.config, "minTime", { + get: function get() { + return self.config._minTime; + }, + set: minMaxTimeSetter("min") + }); + Object.defineProperty(self.config, "maxTime", { + get: function get() { + return self.config._maxTime; + }, + set: minMaxTimeSetter("max") + }); + if (userConfig.mode === "time") { + self.config.noCalendar = true; + self.config.enableTime = true; + } + Object.assign(self.config, formats, userConfig); + for (var i = 0; i < boolOpts.length; i++) { + self.config[boolOpts[i]] = self.config[boolOpts[i]] === true || self.config[boolOpts[i]] === "true"; + }HOOKS.filter(function (hook) { + return self.config[hook] !== undefined; + }).forEach(function (hook) { + self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance); + }); + self.isMobile = !self.config.disableMobile && !self.config.inline && self.config.mode === "single" && !self.config.disable.length && !self.config.enable.length && !self.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); + for (var i = 0; i < self.config.plugins.length; i++) { + var pluginConf = self.config.plugins[i](self) || {}; + for (var key in pluginConf) { + if (HOOKS.indexOf(key) > -1) { + self.config[key] = arrayify(pluginConf[key]).map(bindToInstance).concat(self.config[key]); + } else if (typeof userConfig[key] === "undefined") self.config[key] = pluginConf[key]; + } + } + triggerEvent("onParseConfig"); + } + function setupLocale() { + if (_typeof(self.config.locale) !== "object" && typeof flatpickr.l10ns[self.config.locale] === "undefined") self.config.errorHandler(new Error("flatpickr: invalid locale " + self.config.locale)); + self.l10n = _assign({}, flatpickr.l10ns["default"], _typeof(self.config.locale) === "object" ? self.config.locale : self.config.locale !== "default" ? flatpickr.l10ns[self.config.locale] : undefined); + tokenRegex.K = "(" + self.l10n.amPM[0] + "|" + self.l10n.amPM[1] + "|" + self.l10n.amPM[0].toLowerCase() + "|" + self.l10n.amPM[1].toLowerCase() + ")"; + var userConfig = _assign({}, instanceConfig, JSON.parse(JSON.stringify(element.dataset || {}))); + if (userConfig.time_24hr === undefined && flatpickr.defaultConfig.time_24hr === undefined) { + self.config.time_24hr = self.l10n.time_24hr; + } + self.formatDate = createDateFormatter(self); + self.parseDate = createDateParser({ config: self.config, l10n: self.l10n }); + } + function positionCalendar(customPositionElement) { + if (self.calendarContainer === undefined) return; + triggerEvent("onPreCalendarPosition"); + var positionElement = customPositionElement || self._positionElement; + var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, function (acc, child) { + return acc + child.offsetHeight; + }, 0), + calendarWidth = self.calendarContainer.offsetWidth, + configPos = self.config.position.split(" "), + configPosVertical = configPos[0], + configPosHorizontal = configPos.length > 1 ? configPos[1] : null, + inputBounds = positionElement.getBoundingClientRect(), + distanceFromBottom = window.innerHeight - inputBounds.bottom, + showOnTop = configPosVertical === "above" || configPosVertical !== "below" && distanceFromBottom < calendarHeight && inputBounds.top > calendarHeight; + var top = window.pageYOffset + inputBounds.top + (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2); + toggleClass(self.calendarContainer, "arrowTop", !showOnTop); + toggleClass(self.calendarContainer, "arrowBottom", showOnTop); + if (self.config.inline) return; + var left = window.pageXOffset + inputBounds.left - (configPosHorizontal != null && configPosHorizontal === "center" ? (calendarWidth - inputBounds.width) / 2 : 0); + var right = window.document.body.offsetWidth - inputBounds.right; + var rightMost = left + calendarWidth > window.document.body.offsetWidth; + var centerMost = right + calendarWidth > window.document.body.offsetWidth; + toggleClass(self.calendarContainer, "rightMost", rightMost); + if (self.config.static) return; + self.calendarContainer.style.top = top + "px"; + if (!rightMost) { + self.calendarContainer.style.left = left + "px"; + self.calendarContainer.style.right = "auto"; + } else if (!centerMost) { + self.calendarContainer.style.left = "auto"; + self.calendarContainer.style.right = right + "px"; + } else { + var doc = document.styleSheets[0]; + // some testing environments don't have css support + if (doc === undefined) return; + var bodyWidth = window.document.body.offsetWidth; + var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2); + var centerBefore = ".flatpickr-calendar.centerMost:before"; + var centerAfter = ".flatpickr-calendar.centerMost:after"; + var centerIndex = doc.cssRules.length; + var centerStyle = "{left:" + inputBounds.left + "px;right:auto;}"; + toggleClass(self.calendarContainer, "rightMost", false); + toggleClass(self.calendarContainer, "centerMost", true); + doc.insertRule(centerBefore + "," + centerAfter + centerStyle, centerIndex); + self.calendarContainer.style.left = centerLeft + "px"; + self.calendarContainer.style.right = "auto"; + } + } + function redraw() { + if (self.config.noCalendar || self.isMobile) return; + updateNavigationCurrentMonth(); + buildDays(); + } + function focusAndClose() { + self._input.focus(); + if (window.navigator.userAgent.indexOf("MSIE") !== -1 || navigator.msMaxTouchPoints !== undefined) { + // hack - bugs in the way IE handles focus keeps the calendar open + setTimeout(self.close, 0); + } else { + self.close(); + } + } + function selectDate(e) { + e.preventDefault(); + e.stopPropagation(); + var isSelectable = function isSelectable(day) { + return day.classList && day.classList.contains("flatpickr-day") && !day.classList.contains("flatpickr-disabled") && !day.classList.contains("notAllowed"); + }; + var t = findParent(e.target, isSelectable); + if (t === undefined) return; + var target = t; + var selectedDate = self.latestSelectedDateObj = new Date(target.dateObj.getTime()); + var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth || selectedDate.getMonth() > self.currentMonth + self.config.showMonths - 1) && self.config.mode !== "range"; + self.selectedDateElem = target; + if (self.config.mode === "single") self.selectedDates = [selectedDate];else if (self.config.mode === "multiple") { + var selectedIndex = isDateSelected(selectedDate); + if (selectedIndex) self.selectedDates.splice(parseInt(selectedIndex), 1);else self.selectedDates.push(selectedDate); + } else if (self.config.mode === "range") { + if (self.selectedDates.length === 2) { + self.clear(false, false); + } + self.latestSelectedDateObj = selectedDate; + self.selectedDates.push(selectedDate); + // unless selecting same date twice, sort ascendingly + if (compareDates(selectedDate, self.selectedDates[0], true) !== 0) self.selectedDates.sort(function (a, b) { + return a.getTime() - b.getTime(); + }); + } + setHoursFromInputs(); + if (shouldChangeMonth) { + var isNewYear = self.currentYear !== selectedDate.getFullYear(); + self.currentYear = selectedDate.getFullYear(); + self.currentMonth = selectedDate.getMonth(); + if (isNewYear) { + triggerEvent("onYearChange"); + buildMonthSwitch(); + } + triggerEvent("onMonthChange"); + } + updateNavigationCurrentMonth(); + buildDays(); + updateValue(); + if (self.config.enableTime) setTimeout(function () { + return self.showTimeInput = true; + }, 50); + // maintain focus + if (!shouldChangeMonth && self.config.mode !== "range" && self.config.showMonths === 1) focusOnDayElem(target);else if (self.selectedDateElem !== undefined && self.hourElement === undefined) { + self.selectedDateElem && self.selectedDateElem.focus(); + } + if (self.hourElement !== undefined) self.hourElement !== undefined && self.hourElement.focus(); + if (self.config.closeOnSelect) { + var single = self.config.mode === "single" && !self.config.enableTime; + var range = self.config.mode === "range" && self.selectedDates.length === 2 && !self.config.enableTime; + if (single || range) { + focusAndClose(); + } + } + triggerChange(); + } + var CALLBACKS = { + locale: [setupLocale, updateWeekdays], + showMonths: [buildMonths, setCalendarWidth, buildWeekdays], + minDate: [jumpToDate], + maxDate: [jumpToDate] + }; + function set(option, value) { + if (option !== null && (typeof option === 'undefined' ? 'undefined' : _typeof(option)) === "object") { + Object.assign(self.config, option); + for (var key in option) { + if (CALLBACKS[key] !== undefined) CALLBACKS[key].forEach(function (x) { + return x(); + }); + } + } else { + self.config[option] = value; + if (CALLBACKS[option] !== undefined) CALLBACKS[option].forEach(function (x) { + return x(); + });else if (HOOKS.indexOf(option) > -1) self.config[option] = arrayify(value); + } + self.redraw(); + updateValue(false); + } + function setSelectedDate(inputDate, format) { + var dates = []; + if (inputDate instanceof Array) dates = inputDate.map(function (d) { + return self.parseDate(d, format); + });else if (inputDate instanceof Date || typeof inputDate === "number") dates = [self.parseDate(inputDate, format)];else if (typeof inputDate === "string") { + switch (self.config.mode) { + case "single": + case "time": + dates = [self.parseDate(inputDate, format)]; + break; + case "multiple": + dates = inputDate.split(self.config.conjunction).map(function (date) { + return self.parseDate(date, format); + }); + break; + case "range": + dates = inputDate.split(self.l10n.rangeSeparator).map(function (date) { + return self.parseDate(date, format); + }); + break; + default: + break; + } + } else self.config.errorHandler(new Error("Invalid date supplied: " + JSON.stringify(inputDate))); + self.selectedDates = dates.filter(function (d) { + return d instanceof Date && isEnabled(d, false); + }); + if (self.config.mode === "range") self.selectedDates.sort(function (a, b) { + return a.getTime() - b.getTime(); + }); + } + function setDate(date, triggerChange, format) { + if (triggerChange === void 0) { + triggerChange = false; + } + if (format === void 0) { + format = self.config.dateFormat; + } + if (date !== 0 && !date || date instanceof Array && date.length === 0) return self.clear(triggerChange); + setSelectedDate(date, format); + self.showTimeInput = self.selectedDates.length > 0; + self.latestSelectedDateObj = self.selectedDates[self.selectedDates.length - 1]; + self.redraw(); + jumpToDate(); + setHoursFromDate(); + if (self.selectedDates.length === 0) { + self.clear(false); + } + updateValue(triggerChange); + if (triggerChange) triggerEvent("onChange"); + } + function parseDateRules(arr) { + return arr.slice().map(function (rule) { + if (typeof rule === "string" || typeof rule === "number" || rule instanceof Date) { + return self.parseDate(rule, undefined, true); + } else if (rule && (typeof rule === 'undefined' ? 'undefined' : _typeof(rule)) === "object" && rule.from && rule.to) return { + from: self.parseDate(rule.from, undefined), + to: self.parseDate(rule.to, undefined) + }; + return rule; + }).filter(function (x) { + return x; + }); // remove falsy values + } + function setupDates() { + self.selectedDates = []; + self.now = self.parseDate(self.config.now) || new Date(); + // Workaround IE11 setting placeholder as the input's value + var preloadedDate = self.config.defaultDate || ((self.input.nodeName === "INPUT" || self.input.nodeName === "TEXTAREA") && self.input.placeholder && self.input.value === self.input.placeholder ? null : self.input.value); + if (preloadedDate) setSelectedDate(preloadedDate, self.config.dateFormat); + self._initialDate = self.selectedDates.length > 0 ? self.selectedDates[0] : self.config.minDate && self.config.minDate.getTime() > self.now.getTime() ? self.config.minDate : self.config.maxDate && self.config.maxDate.getTime() < self.now.getTime() ? self.config.maxDate : self.now; + self.currentYear = self._initialDate.getFullYear(); + self.currentMonth = self._initialDate.getMonth(); + if (self.selectedDates.length > 0) self.latestSelectedDateObj = self.selectedDates[0]; + if (self.config.minTime !== undefined) self.config.minTime = self.parseDate(self.config.minTime, "H:i"); + if (self.config.maxTime !== undefined) self.config.maxTime = self.parseDate(self.config.maxTime, "H:i"); + self.minDateHasTime = !!self.config.minDate && (self.config.minDate.getHours() > 0 || self.config.minDate.getMinutes() > 0 || self.config.minDate.getSeconds() > 0); + self.maxDateHasTime = !!self.config.maxDate && (self.config.maxDate.getHours() > 0 || self.config.maxDate.getMinutes() > 0 || self.config.maxDate.getSeconds() > 0); + Object.defineProperty(self, "showTimeInput", { + get: function get() { + return self._showTimeInput; + }, + set: function set(bool) { + self._showTimeInput = bool; + if (self.calendarContainer) toggleClass(self.calendarContainer, "showTimeInput", bool); + self.isOpen && positionCalendar(); + } + }); + } + function setupInputs() { + self.input = self.config.wrap ? element.querySelector("[data-input]") : element; + /* istanbul ignore next */ + if (!self.input) { + self.config.errorHandler(new Error("Invalid input element specified")); + return; + } + // hack: store previous type to restore it after destroy() + self.input._type = self.input.type; + self.input.type = "text"; + self.input.classList.add("flatpickr-input"); + self._input = self.input; + if (self.config.altInput) { + // replicate self.element + self.altInput = createElement(self.input.nodeName, self.config.altInputClass); + self._input = self.altInput; + self.altInput.placeholder = self.input.placeholder; + self.altInput.disabled = self.input.disabled; + self.altInput.required = self.input.required; + self.altInput.tabIndex = self.input.tabIndex; + self.altInput.type = "text"; + self.input.setAttribute("type", "hidden"); + if (!self.config.static && self.input.parentNode) self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling); + } + if (!self.config.allowInput) self._input.setAttribute("readonly", "readonly"); + self._positionElement = self.config.positionElement || self._input; + } + function setupMobile() { + var inputType = self.config.enableTime ? self.config.noCalendar ? "time" : "datetime-local" : "date"; + self.mobileInput = createElement("input", self.input.className + " flatpickr-mobile"); + self.mobileInput.step = self.input.getAttribute("step") || "any"; + self.mobileInput.tabIndex = 1; + self.mobileInput.type = inputType; + self.mobileInput.disabled = self.input.disabled; + self.mobileInput.required = self.input.required; + self.mobileInput.placeholder = self.input.placeholder; + self.mobileFormatStr = inputType === "datetime-local" ? "Y-m-d\\TH:i:S" : inputType === "date" ? "Y-m-d" : "H:i:S"; + if (self.selectedDates.length > 0) { + self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr); + } + if (self.config.minDate) self.mobileInput.min = self.formatDate(self.config.minDate, "Y-m-d"); + if (self.config.maxDate) self.mobileInput.max = self.formatDate(self.config.maxDate, "Y-m-d"); + self.input.type = "hidden"; + if (self.altInput !== undefined) self.altInput.type = "hidden"; + try { + if (self.input.parentNode) self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling); + } catch (_a) {} + bind(self.mobileInput, "change", function (e) { + self.setDate(e.target.value, false, self.mobileFormatStr); + triggerEvent("onChange"); + triggerEvent("onClose"); + }); + } + function toggle(e) { + if (self.isOpen === true) return self.close(); + self.open(e); + } + function triggerEvent(event, data) { + // If the instance has been destroyed already, all hooks have been removed + if (self.config === undefined) return; + var hooks = self.config[event]; + if (hooks !== undefined && hooks.length > 0) { + for (var i = 0; hooks[i] && i < hooks.length; i++) { + hooks[i](self.selectedDates, self.input.value, self, data); + } + } + if (event === "onChange") { + self.input.dispatchEvent(createEvent("change")); + // many front-end frameworks bind to the input event + self.input.dispatchEvent(createEvent("input")); + } + } + function createEvent(name) { + var e = document.createEvent("Event"); + e.initEvent(name, true, true); + return e; + } + function isDateSelected(date) { + for (var i = 0; i < self.selectedDates.length; i++) { + if (compareDates(self.selectedDates[i], date) === 0) return "" + i; + } + return false; + } + function isDateInRange(date) { + if (self.config.mode !== "range" || self.selectedDates.length < 2) return false; + return compareDates(date, self.selectedDates[0]) >= 0 && compareDates(date, self.selectedDates[1]) <= 0; + } + function updateNavigationCurrentMonth() { + if (self.config.noCalendar || self.isMobile || !self.monthNav) return; + self.yearElements.forEach(function (yearElement, i) { + var d = new Date(self.currentYear, self.currentMonth, 1); + d.setMonth(self.currentMonth + i); + if (self.config.showMonths > 1 || self.config.monthSelectorType === "static") { + self.monthElements[i].textContent = monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + " "; + } else { + self.monthsDropdownContainer.value = d.getMonth().toString(); + } + yearElement.value = d.getFullYear().toString(); + }); + self._hidePrevMonthArrow = self.config.minDate !== undefined && (self.currentYear === self.config.minDate.getFullYear() ? self.currentMonth <= self.config.minDate.getMonth() : self.currentYear < self.config.minDate.getFullYear()); + self._hideNextMonthArrow = self.config.maxDate !== undefined && (self.currentYear === self.config.maxDate.getFullYear() ? self.currentMonth + 1 > self.config.maxDate.getMonth() : self.currentYear > self.config.maxDate.getFullYear()); + } + function getDateStr(format) { + return self.selectedDates.map(function (dObj) { + return self.formatDate(dObj, format); + }).filter(function (d, i, arr) { + return self.config.mode !== "range" || self.config.enableTime || arr.indexOf(d) === i; + }).join(self.config.mode !== "range" ? self.config.conjunction : self.l10n.rangeSeparator); + } + /** + * Updates the values of inputs associated with the calendar + */ + function updateValue(triggerChange) { + if (triggerChange === void 0) { + triggerChange = true; + } + if (self.mobileInput !== undefined && self.mobileFormatStr) { + self.mobileInput.value = self.latestSelectedDateObj !== undefined ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr) : ""; + } + self.input.value = getDateStr(self.config.dateFormat); + if (self.altInput !== undefined) { + self.altInput.value = getDateStr(self.config.altFormat); + } + if (triggerChange !== false) triggerEvent("onValueUpdate"); + } + function onMonthNavClick(e) { + var isPrevMonth = self.prevMonthNav.contains(e.target); + var isNextMonth = self.nextMonthNav.contains(e.target); + if (isPrevMonth || isNextMonth) { + changeMonth(isPrevMonth ? -1 : 1); + } else if (self.yearElements.indexOf(e.target) >= 0) { + e.target.select(); + } else if (e.target.classList.contains("arrowUp")) { + self.changeYear(self.currentYear + 1); + } else if (e.target.classList.contains("arrowDown")) { + self.changeYear(self.currentYear - 1); + } + } + function timeWrapper(e) { + e.preventDefault(); + var isKeyDown = e.type === "keydown", + input = e.target; + if (self.amPM !== undefined && e.target === self.amPM) { + self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])]; + } + var min = parseFloat(input.getAttribute("min")), + max = parseFloat(input.getAttribute("max")), + step = parseFloat(input.getAttribute("step")), + curValue = parseInt(input.value, 10), + delta = e.delta || (isKeyDown ? e.which === 38 ? 1 : -1 : 0); + var newValue = curValue + step * delta; + if (typeof input.value !== "undefined" && input.value.length === 2) { + var isHourElem = input === self.hourElement, + isMinuteElem = input === self.minuteElement; + if (newValue < min) { + newValue = max + newValue + int(!isHourElem) + (int(isHourElem) && int(!self.amPM)); + if (isMinuteElem) incrementNumInput(undefined, -1, self.hourElement); + } else if (newValue > max) { + newValue = input === self.hourElement ? newValue - max - int(!self.amPM) : min; + if (isMinuteElem) incrementNumInput(undefined, 1, self.hourElement); + } + if (self.amPM && isHourElem && (step === 1 ? newValue + curValue === 23 : Math.abs(newValue - curValue) > step)) { + self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])]; + } + input.value = pad(newValue); + } + } + init(); + return self; + } + /* istanbul ignore next */ + function _flatpickr(nodeList, config) { + // static list + var nodes = Array.prototype.slice.call(nodeList).filter(function (x) { + return x instanceof HTMLElement; + }); + var instances = []; + for (var i = 0; i < nodes.length; i++) { + var node = nodes[i]; + try { + if (node.getAttribute("data-fp-omit") !== null) continue; + if (node._flatpickr !== undefined) { + node._flatpickr.destroy(); + node._flatpickr = undefined; + } + node._flatpickr = FlatpickrInstance(node, config || {}); + instances.push(node._flatpickr); + } catch (e) { + console.error(e); + } + } + return instances.length === 1 ? instances[0] : instances; + } + /* istanbul ignore next */ + if (typeof HTMLElement !== "undefined" && typeof HTMLCollection !== "undefined" && typeof NodeList !== "undefined") { + // browser env + HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) { + return _flatpickr(this, config); + }; + HTMLElement.prototype.flatpickr = function (config) { + return _flatpickr([this], config); + }; + } + /* istanbul ignore next */ + var flatpickr = function flatpickr(selector, config) { + if (typeof selector === "string") { + return _flatpickr(window.document.querySelectorAll(selector), config); + } else if (selector instanceof Node) { + return _flatpickr([selector], config); + } else { + return _flatpickr(selector, config); + } + }; + /* istanbul ignore next */ + flatpickr.defaultConfig = {}; + flatpickr.l10ns = { + en: _assign({}, english), + "default": _assign({}, english) + }; + flatpickr.localize = function (l10n) { + flatpickr.l10ns["default"] = _assign({}, flatpickr.l10ns["default"], l10n); + }; + flatpickr.setDefaults = function (config) { + flatpickr.defaultConfig = _assign({}, flatpickr.defaultConfig, config); + }; + flatpickr.parseDate = createDateParser({}); + flatpickr.formatDate = createDateFormatter({}); + flatpickr.compareDates = compareDates; + /* istanbul ignore next */ + if (typeof jQuery !== "undefined" && typeof jQuery.fn !== "undefined") { + jQuery.fn.flatpickr = function (config) { + return _flatpickr(this, config); + }; + } + // eslint-disable-next-line @typescript-eslint/camelcase + Date.prototype.fp_incr = function (days) { + return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === "string" ? parseInt(days, 10) : days)); + }; + if (typeof window !== "undefined") { + window.flatpickr = flatpickr; + } + + return flatpickr; +}); + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * Number Field functionality. + * + * @since 1.4.0 + */ +var FieldNumber = function (_Field) { + _inherits(FieldNumber, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldNumber($field) { + _classCallCheck(this, FieldNumber); + + var _this = _possibleConstructorReturn(this, (FieldNumber.__proto__ || Object.getPrototypeOf(FieldNumber)).call(this, $field, 'number')); + + _this.initField(); + return _this; + } + + /** + * Initializes the Number field. + * + * @since 1.4.0 + */ + + + _createClass(FieldNumber, [{ + key: 'initField', + value: function initField() { + + this.$ui = { + container: this.$field, + input: this.$field.find('.fieldhelpers-field-input'), + increase: this.$field.find('[data-number-increase]'), + decrease: this.$field.find('[data-number-decrease]') + }; + + this.intervals = { + increase: { + normal: parseFloat(this.options.increaseInterval), + alt: parseFloat(this.options.altIncreaseInterval) + }, + decrease: { + normal: parseFloat(this.options.decreaseInterval), + alt: parseFloat(this.options.altDecreaseInterval) + } + }; + + var constrainMax = this.options.max; + var constrainMin = this.options.min; + + this.constraints = { + max: constrainMax !== 'none' ? parseFloat(constrainMax) : false, + min: constrainMin !== 'none' ? parseFloat(constrainMin) : false + }; + + this.shiftKeyUtility(); + this.setupHandlers(); + + var initialValue = this.$ui.input.val(); + this.value = !initialValue ? 0 : parseFloat(initialValue); + + // Initializes the field + this.validateInput(); + } + + /** + * Helps determine shift key press status. + * + * @since 1.4.0 + */ + + }, { + key: 'shiftKeyUtility', + value: function shiftKeyUtility() { + var _this2 = this; + + this.shiftKeyDown = false; + + jQuery(document).on('keydown', function (e) { + + if (e.which === 16) { + + _this2.shiftKeyDown = true; + } + }); + + jQuery(document).on('keyup', function (e) { + + if (e.which === 16) { + + _this2.shiftKeyDown = false; + } + }); + } + + /** + * Sets up the class handlers. + * + * @since 1.4.0 + */ + + }, { + key: 'setupHandlers', + value: function setupHandlers() { + var _this3 = this; + + this.$ui.increase.click(function (e) { + + _this3.increaseNumber(e); + }); + + this.$ui.decrease.click(function (e) { + + _this3.decreaseNumber(e); + }); + + this.$ui.input.change(function (e) { + + _this3.inputExternalChange(e); + }); + } + + /** + * Increases the input number. + * + * @since 1.4.0 + */ + + }, { + key: 'increaseNumber', + value: function increaseNumber() { + + var amount = this.shiftKeyDown ? this.intervals.increase.alt : this.intervals.increase.normal; + var newNumber = this.value + amount; + + this.$ui.input.val(newNumber); + this.$ui.input.trigger('change'); + } + + /** + * Decreases the input number. + * + * @since 1.4.0 + */ + + }, { + key: 'decreaseNumber', + value: function decreaseNumber() { + + var amount = this.shiftKeyDown ? this.intervals.decrease.alt : this.intervals.decrease.normal; + var newNumber = this.value - amount; + + this.$ui.input.val(newNumber); + this.$ui.input.trigger('change'); + } + + /** + * Fires on the input change. Typically from user typing or other scripts modifying. + * + * @since 1.4.0 + */ + + }, { + key: 'inputExternalChange', + value: function inputExternalChange() { + + this.validateInput(); + } + + /** + * Runs number through constrains. + * + * @param {int} number + * + * @return {Object} + */ + + }, { + key: 'constrainNumber', + value: function constrainNumber(number) { + + var status = 'unmodified'; + + if (this.constraints.max !== false && number > this.constraints.max) { + + status = 'max'; + number = this.constraints.max; + } else if (this.constraints.min !== false && number < this.constraints.min) { + + status = 'min'; + number = this.constraints.min; + } + + return { + status: status, + number: number + }; + } + + /** + * Runs input value through constraints to ensure it is accurate. + * + * @since 1.4.0 + */ + + }, { + key: 'validateInput', + value: function validateInput() { + + var currentValue = this.$ui.input.val(); + + // Constrain to numbers + var matches = currentValue.match(/^-?[0-9]\d*(\.\d+)?$/); + currentValue = matches && parseFloat(matches[0]) || 0; + + var constraints = this.constrainNumber(currentValue); + + switch (constraints.status) { + + case 'max': + + this.toggleDecreaseDisabledUI(true); + this.toggleIncreaseDisabledUI(false); + break; + + case 'min': + + this.toggleIncreaseDisabledUI(true); + this.toggleDecreaseDisabledUI(false); + break; + + default: + + this.toggleIncreaseDisabledUI(true); + this.toggleDecreaseDisabledUI(true); + + } + + this.value = constraints.number; + this.$ui.input.val(this.value); + + if (currentValue !== this.value) { + + this.$ui.input.trigger('change'); + } + } + + /** + * Disables/Enables the increase button. + * + * @since 1.4.0 + * + * @param {bool} enable True to set to enabled, false to set to disabled + */ + + }, { + key: 'toggleIncreaseDisabledUI', + value: function toggleIncreaseDisabledUI(enable) { + + this.$ui.increase.prop('disabled', !enable); + } + + /** + * Disables/Enables the decrease button. + * + * @since 1.4.0 + * + * @param {bool} enable True to set to enabled, false to set to disabled + */ + + }, { + key: 'toggleDecreaseDisabledUI', + value: function toggleDecreaseDisabledUI(enable) { + + this.$ui.decrease.prop('disabled', !enable); + } + }]); + + return FieldNumber; +}(_field2.default); + +/** + * Finds and initializes all Number fields. + * + * @since 1.4.0 + */ + + +var FieldNumberInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldNumberInitialize($root) { + _classCallCheck(this, FieldNumberInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-number]'); + + if ($fields.length) { + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldNumberInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldNumber($field) + }); + } + }]); + + return FieldNumberInitialize; +}(); + +exports.default = FieldNumberInitialize; + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * Color Picker Field functionality. + * + * @since 1.4.0 + */ +var FieldColorPicker = function (_Field) { + _inherits(FieldColorPicker, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldColorPicker($field) { + _classCallCheck(this, FieldColorPicker); + + var _this = _possibleConstructorReturn(this, (FieldColorPicker.__proto__ || Object.getPrototypeOf(FieldColorPicker)).call(this, $field, 'colorpicker')); + + _this.initializeColorpicker(); + return _this; + } + + /** + * Initializes the Color Picker. + * + * @since 1.4.0 + */ + + + _createClass(FieldColorPicker, [{ + key: 'initializeColorpicker', + value: function initializeColorpicker() { + + this.$field.wpColorPicker(this.options.colorpickerOptions); + } + + /** + * Cleans up after a repeater add/init. + * + * @since 1.4.0 + */ + + }, { + key: 'fieldCleanup', + value: function fieldCleanup() { + + this.$wrapper.find('[data-fieldhelpers-field-colorpicker]').appendTo(this.$wrapper.find('.fieldhelpers-field-content')); + + this.$wrapper.find('.wp-picker-container').remove(); + } + }]); + + return FieldColorPicker; +}(_field2.default); + +/** + * Finds and initializes all Color Picker fields. + * + * @since 1.4.0 + */ + + +var FieldColorPickerInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldColorPickerInitialize($root) { + _classCallCheck(this, FieldColorPickerInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-colorpicker]'); + + if ($fields.length) { + + if (!jQuery.isFunction(jQuery.fn.wpColorPicker)) { + + console.error('Field Helpers Error: Trying to initialize Color Picker field but "wp-color-picker" is ' + 'not enqueued.'); + return; + } + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldColorPickerInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldColorPicker($field) + }); + } + }]); + + return FieldColorPickerInitialize; +}(); + +exports.default = FieldColorPickerInitialize; + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * Date Picker Field functionality. + * + * Also includes Date/Time Picker and Time Picker. + * + * @since 1.4.0 + */ +var FieldDatePicker = function (_Field) { + _inherits(FieldDatePicker, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldDatePicker($field) { + _classCallCheck(this, FieldDatePicker); + + var _this = _possibleConstructorReturn(this, (FieldDatePicker.__proto__ || Object.getPrototypeOf(FieldDatePicker)).call(this, $field, 'datepicker')); + + _this.initField(); + return _this; + } + + /** + * Initializes the Date Picker. + * + * @since 1.4.0 + */ + + + _createClass(FieldDatePicker, [{ + key: 'initField', + value: function initField() { + var _this2 = this; + + var option_functions = ['onChange', 'onOpen', 'onClose', 'onMonthChange', 'onYearChange', 'onReady', 'onValueUpdate', 'onDayCreate']; + + // Function support + jQuery.each(this.options.datepickerOptions, function (name, value) { + + if (option_functions.indexOf(name) !== -1 && !jQuery.isFunction(_this2.options.datepickerOptions[name]) && jQuery.isFunction(window[value])) { + + _this2.options.datepickerOptions[name] = window[value]; + } + }); + + // We need to ensure that the field instance for our specific field loads its default date in properly + this.options.datepickerOptions.defaultDate = this.$field.data('defaultdate'); + + this.flatpickr = this.$field.flatpickr(this.options.datepickerOptions); + } + + /** + * Cleans up after a repeater add/init. + * + * @since 1.4.0 + */ + + }, { + key: 'fieldCleanup', + value: function fieldCleanup() { + + if (typeof this.flatpickr !== 'undefined') { + + this.flatpickr.destroy(); + } + } + + /** + * Runs cleanup before the Repeater creates a dummy row to ensure we do not get weird double inputs + * + * @param {object} $repeater jQuery DOM Object + * @param {array} options Array of Field Options + * + * @since 1.5.0 + * @return void + */ + + }, { + key: 'repeaterBeforeInit', + value: function repeaterBeforeInit($repeater, options) { + + this.fieldCleanup(); + } + + /** + * Ensure that the purposefully unloaded Flatpickr reloads + * This technically re-inits all items in the Repeater, but it should be fine + * + * @param {object} $repeater jQuery DOM Object + * @param {array} options Array of Field Options + * + * @since 1.5.0 + * @return void + */ + + }, { + key: 'repeaterOnInit', + value: function repeaterOnInit($repeater, options) { + + new FieldsInitialize($repeater); + } + }]); + + return FieldDatePicker; +}(_field2.default); + +/** + * Finds and initializes all Date Picker fields. + * + * @since 1.4.0 + */ + + +var FieldDatePickerInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldDatePickerInitialize($root) { + _classCallCheck(this, FieldDatePickerInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-datepicker]'); + + if ($fields.length) { + + if (!jQuery.isFunction(jQuery.fn.flatpickr)) { + + console.error('Field Helpers Error: Trying to initialize Date Picker field but "flatpickr" ' + 'is not enqueued.'); + return; + } + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldDatePickerInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldDatePicker($field) + }); + } + }]); + + return FieldDatePickerInitialize; +}(); + +exports.default = FieldDatePickerInitialize; + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +var _fieldsInit = __webpack_require__(1); + +var _fieldsInit2 = _interopRequireDefault(_fieldsInit); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * Time Picker Field functionality. + * + * Also includes Date/Time Picker and Time Picker. + * + * @since 1.4.0 + */ +var FieldTimePicker = function (_Field) { + _inherits(FieldTimePicker, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldTimePicker($field) { + _classCallCheck(this, FieldTimePicker); + + var _this = _possibleConstructorReturn(this, (FieldTimePicker.__proto__ || Object.getPrototypeOf(FieldTimePicker)).call(this, $field, 'timepicker')); + + _this.initField(); + return _this; + } + + /** + * Initializes the Time Picker. + * + * @since 1.4.0 + */ + + + _createClass(FieldTimePicker, [{ + key: 'initField', + value: function initField() { + var _this2 = this; + + var option_functions = ['onChange', 'onOpen', 'onClose', 'onMonthChange', 'onYearChange', 'onReady', 'onValueUpdate', 'onDayCreate']; + + // Function support + jQuery.each(this.options.timepickerOptions, function (name, value) { + + if (option_functions.indexOf(name) !== -1 && !jQuery.isFunction(_this2.options.timepickerOptions[name]) && jQuery.isFunction(window[value])) { + + _this2.options.timepickerOptions[name] = window[value]; + } + }); + + // We need to ensure that the field instance for our specific field loads its default date in properly + this.options.timepickerOptions.defaultDate = this.$field.data('defaultdate'); + + this.flatpickr = this.$field.flatpickr(this.options.timepickerOptions); + } + + /** + * Cleans up after a repeater add/init. + * + * @since 1.4.0 + */ + + }, { + key: 'fieldCleanup', + value: function fieldCleanup() { + + if (typeof this.flatpickr !== 'undefined') { + + this.flatpickr.destroy(); + } + } + + /** + * Runs cleanup before the Repeater creates a dummy row to ensure we do not get weird double inputs + * + * @param {object} $repeater jQuery DOM Object + * @param {array} options Array of Field Options + * + * @since 1.5.0 + * @return void + */ + + }, { + key: 'repeaterBeforeInit', + value: function repeaterBeforeInit($repeater, options) { + + this.fieldCleanup(); + } + + /** + * Ensure that the purposefully unloaded Flatpickr reloads + * This technically re-inits all items in the Repeater, but it should be fine + * + * @param {object} $repeater jQuery DOM Object + * @param {array} options Array of Field Options + * + * @since 1.5.0 + * @return void + */ + + }, { + key: 'repeaterOnInit', + value: function repeaterOnInit($repeater, options) { + + new _fieldsInit2.default($repeater); + } + }]); + + return FieldTimePicker; +}(_field2.default); + +/** + * Finds and initializes all Time Picker fields. + * + * @since 1.4.0 + */ + + +var FieldTimePickerInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldTimePickerInitialize($root) { + _classCallCheck(this, FieldTimePickerInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-timepicker]'); + + if ($fields.length) { + + if (!jQuery.isFunction(jQuery.fn.flatpickr)) { + + console.error('Field Helpers Error: Trying to initialize Time Picker field but ' + '"flatpickr" is not enqueued.'); + return; + } + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldTimePickerInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldTimePicker($field) + }); + } + }]); + + return FieldTimePickerInitialize; +}(); + +exports.default = FieldTimePickerInitialize; + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * Date Time Picker Field functionality. + * + * Also includes Date/Time Picker and Time Picker. + * + * @since 1.4.0 + */ +var FieldDateTimePicker = function (_Field) { + _inherits(FieldDateTimePicker, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldDateTimePicker($field) { + _classCallCheck(this, FieldDateTimePicker); + + var _this = _possibleConstructorReturn(this, (FieldDateTimePicker.__proto__ || Object.getPrototypeOf(FieldDateTimePicker)).call(this, $field, 'datetimepicker')); + + _this.initField(); + return _this; + } + + /** + * Initializes the Date Time Picker. + * + * @since 1.4.0 + */ + + + _createClass(FieldDateTimePicker, [{ + key: 'initField', + value: function initField() { + var _this2 = this; + + var option_functions = ['onChange', 'onOpen', 'onClose', 'onMonthChange', 'onYearChange', 'onReady', 'onValueUpdate', 'onDayCreate']; + + // Function support + jQuery.each(this.options.datetimepickerOptions, function (name, value) { + + if (option_functions.indexOf(name) !== -1 && !jQuery.isFunction(_this2.options.datetimepickerOptions[name]) && jQuery.isFunction(window[value])) { + + _this2.options.datetimepickerOptions[name] = window[value]; + } + }); + + // We need to ensure that the field instance for our specific field loads its default date in properly + this.options.datetimepickerOptions.defaultDate = this.$field.data('defaultdate'); + + this.flatpickr = this.$field.flatpickr(this.options.datetimepickerOptions); + } + + /** + * Cleans up after a repeater add/init. + * + * @since 1.4.0 + */ + + }, { + key: 'fieldCleanup', + value: function fieldCleanup() { + + if (typeof this.flatpickr !== 'undefined') { + + this.flatpickr.destroy(); + } + } + + /** + * Runs cleanup before the Repeater creates a dummy row to ensure we do not get weird double inputs + * + * @param {object} $repeater jQuery DOM Object + * @param {array} options Array of Field Options + * + * @since 1.5.0 + * @return void + */ + + }, { + key: 'repeaterBeforeInit', + value: function repeaterBeforeInit($repeater, options) { + + this.fieldCleanup(); + } + + /** + * Ensure that the purposefully unloaded Flatpickr reloads + * This technically re-inits all items in the Repeater, but it should be fine + * + * @param {object} $repeater jQuery DOM Object + * @param {array} options Array of Field Options + * + * @since 1.5.0 + * @return void + */ + + }, { + key: 'repeaterOnInit', + value: function repeaterOnInit($repeater, options) { + + new FieldsInitialize($repeater); + } + }]); + + return FieldDateTimePicker; +}(_field2.default); + +/** + * Finds and initializes all Date Time Picker fields. + * + * @since 1.4.0 + */ + + +var FieldDateTimePickerInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldDateTimePickerInitialize($root) { + _classCallCheck(this, FieldDateTimePickerInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-datetimepicker]'); + + if ($fields.length) { + + if (!jQuery.isFunction(jQuery.fn.flatpickr)) { + + console.error('Field Helpers Error: Trying to initialize Date Time Picker field but ' + '"flatpickr" is not enqueued.'); + return; + } + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldDateTimePickerInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldDateTimePicker($field) + }); + } + }]); + + return FieldDateTimePickerInitialize; +}(); + +exports.default = FieldDateTimePickerInitialize; + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * Table Field functionality. + * + * @since 1.4.0 + */ +var FieldTable = function (_Field) { + _inherits(FieldTable, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldTable($field) { + _classCallCheck(this, FieldTable); + + var _this = _possibleConstructorReturn(this, (FieldTable.__proto__ || Object.getPrototypeOf(FieldTable)).call(this, $field, 'table')); + + _this.initField(); + return _this; + } + + /** + * Initializes the Table field. + * + * @since 1.4.0 + */ + + + _createClass(FieldTable, [{ + key: 'initField', + value: function initField() { + + this.$ui = { + actions: this.$field.find('.fieldhelpers-field-table-actions'), + loading: this.$field.find('.fieldhelpers-field-table-loading'), + table: this.$field.find('table'), + thead: this.$field.find('thead'), + tbody: this.$field.find('tbody'), + addRow: this.$field.find('[data-table-create-row]'), + addColumn: this.$field.find('[data-table-create-column]') + }; + + this.l10n = RBM_FieldHelpers.l10n['field_table'] || {}; + + this.name = this.$field.attr('data-table-name'); + + var data = JSON.parse(this.$ui.table.attr('data-table-data')); + + this.data = {}; + this.data.head = data.head || []; + this.data.body = data.body || []; + + this.setupHandlers(); + + // Initial build + this.buildTable(); + + // Show initially + this.$ui.table.show(); + this.$ui.actions.show(); + this.$ui.loading.hide(); + } + + /** + * Sets up the class handlers. + * + * @since 1.4.0 + */ + + }, { + key: 'setupHandlers', + value: function setupHandlers() { + var _this2 = this; + + var api = this; + + this.$ui.addRow.click(function (e) { + + e.preventDefault(); + _this2.addRow(); + }); + + this.$ui.addColumn.click(function (e) { + + e.preventDefault(); + _this2.addColumn(); + }); + + this.$ui.table.on('click', '[data-delete-row]', function (e) { + + var index = jQuery(this).closest('tr').index(); + + api.deleteRow(index); + }); + + this.$ui.table.on('click', '[data-delete-column]', function (e) { + + var index = jQuery(this).closest('td').index(); + + api.deleteColumn(index); + }); + + this.$ui.table.on('change', 'input[type="text"]', function (e) { + + _this2.updateTableData(); + }); + } + + /** + * Gathers all data from the table. + */ + + }, { + key: 'updateTableData', + value: function updateTableData() { + + var api = this; + + // Head + var $headCells = this.$ui.table.find('thead th'); + var dataHead = []; + var currentCell = 0; + + $headCells.each(function () { + + var $input = jQuery(this).find('input[name="' + api.name + '[head][' + currentCell + ']"]'); + + if (!$input.length) { + + console.error('Field Helpers Error: Table head data corrupted.'); + return false; + } + + dataHead.push($input.val()); + + currentCell++; + }); + + this.data.head = dataHead; + + // Body + var $bodyRows = this.$ui.table.find('tbody tr'); + var dataBody = []; + var currentRow = 0; + + $bodyRows.each(function () { + + // Skip delete row + if (jQuery(this).hasClass('fieldhelpers-field-table-delete-columns')) { + + return true; + } + + var rowData = []; + var $cells = jQuery(this).find('td'); + var currentCell = 0; + + $cells.each(function () { + + // Skip delete cell + if (jQuery(this).hasClass('fieldhelpers-field-table-delete-row')) { + + return true; + } + + var $input = jQuery(this).find('input[name="' + api.name + '[body][' + currentRow + '][' + currentCell + ']"]'); + + if (!$input.length) { + + console.error('Field Helpers Error: Table body data corrupted.'); + return false; + } + + rowData.push($input.val()); + + currentCell++; + }); + + dataBody.push(rowData); + + currentRow++; + }); + + this.data.body = dataBody; + } + + /** + * Adds a row to the table. + * + * @since 1.4.0 + */ + + }, { + key: 'addRow', + value: function addRow() { + + if (!this.data.head.length) { + + this.data.head.push(''); + } + + if (!this.data.body.length) { + + // Push 1 empty row with 1 empty cell + this.data.body.push(['']); + } else { + + var columns = this.data.body[0].length; + var row = []; + + for (var i = 0; i < columns; i++) { + row.push(''); + } + + this.data.body.push(row); + } + + this.buildTable(); + } + + /** + * Adds a column to the table. + * + * @since 1.4.0 + */ + + }, { + key: 'addColumn', + value: function addColumn() { + + if (!this.data.body.length) { + + // Push 1 empty row with 1 empty cell + this.data.head.push(['']); + this.data.body.push(['']); + } else { + + this.data.head.push(''); + + this.data.body.map(function (row) { + row.push(''); + }); + } + + this.buildTable(); + } + + /** + * Deletes a row from the table. + * + * @since 1.4.0 + * + * @param {int} index Index of row to delete. + */ + + }, { + key: 'deleteRow', + value: function deleteRow(index) { + + // Decrease to compensate for "delete row" at top + index--; + + if (this.data.body.length === 1) { + + this.data.head = []; + this.data.body = []; + } else { + + this.data.body.splice(index, 1); + } + + this.buildTable(); + } + + /** + * Deletes a column from the table. + * + * @since 1.4.0 + * + * @param {int} index Index of column to delete. + */ + + }, { + key: 'deleteColumn', + value: function deleteColumn(index) { + + if (this.data.body[0].length === 1) { + + this.data.head = []; + this.data.body = []; + } else { + + this.data.head.splice(index, 1); + + this.data.body.map(function (row) { + return row.splice(index, 1); + }); + } + + this.buildTable(); + } + + /** + * Builds the table based on the table data. + * + * @since 1.4.0 + */ + + }, { + key: 'buildTable', + value: function buildTable() { + var _this3 = this; + + this.$ui.thead.html(''); + this.$ui.tbody.html(''); + + if (this.data.head.length) { + + var $row = jQuery(''); + + this.data.head.map(function (cell, cell_i) { + + var $cell = jQuery(''); + + $cell.append(''); + $cell.find('input[type="text"]').val(cell); + + $row.append($cell); + }); + + this.$ui.thead.append($row); + } + + if (this.data.body.length) { + + var $deleteRow = jQuery(''); + + for (var i = 0; i < this.data.body[0].length; i++) { + + $deleteRow.append('' + ('' + ''); + } + + this.$ui.tbody.append($deleteRow); + + this.data.body.map(function (row, row_i) { + + var $row = jQuery(''); + + row.map(function (cell, cell_i) { + + var $cell = jQuery(''); + + $cell.append(''); + $cell.find('input[type="text"]').val(cell); + + $row.append($cell); + }); + + $row.append('' + ('' + ''); + + _this3.$ui.tbody.append($row); + }); + } + } + }]); + + return FieldTable; +}(_field2.default); + +/** + * Finds and initializes all Table fields. + * + * @since 1.4.0 + */ + + +var FieldTableInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldTableInitialize($root) { + _classCallCheck(this, FieldTableInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-table]'); + + if ($fields.length) { + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldTableInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldTable($field) + }); + } + }]); + + return FieldTableInitialize; +}(); + +exports.default = FieldTableInitialize; + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * Media Field functionality. + * + * @since 1.4.0 + */ +var FieldMedia = function (_Field) { + _inherits(FieldMedia, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldMedia($field) { + _classCallCheck(this, FieldMedia); + + var _this = _possibleConstructorReturn(this, (FieldMedia.__proto__ || Object.getPrototypeOf(FieldMedia)).call(this, $field, 'media')); + + _this.initField(); + return _this; + } + + /** + * Initializes the Media field. + * + * @since 1.4.0 + */ + + + _createClass(FieldMedia, [{ + key: 'initField', + value: function initField() { + + this.$ui = { + input: this.$field.find('[data-media-input]'), + addButton: this.$field.find('[data-add-media]'), + imagePreview: this.$field.find('[data-image-preview]'), + mediaPreview: this.$field.find('[data-media-preview]'), + removeButton: this.$field.find('[data-remove-media]') + }; + + this.mediaFrame = wp.media.frames.meta_image_frame = wp.media({ + title: this.options.l10n['window_title'] + }); + + this.placeholder = this.options.placeholder; + this.type = this.options.type; + + this.imageProperties = { + previewSize: this.options.previewSize + }; + + this.setupHandlers(); + } + + /** + * Sets up the class handlers. + * + * @since 1.4.0 + */ + + }, { + key: 'setupHandlers', + value: function setupHandlers() { + var _this2 = this; + + this.$ui.addButton.click(function (e) { + + e.preventDefault(); + _this2.addMedia(); + }); + + this.$ui.removeButton.click(function (e) { + + e.preventDefault(); + _this2.removeMedia(); + }); + + this.mediaFrame.on('select', function (e) { + + _this2.selectMedia(); + }); + } + + /** + * Opens the media frame to add media. + * + * @since 1.4.0 + */ + + }, { + key: 'addMedia', + value: function addMedia() { + + this.mediaFrame.open(); + } + + /** + * Removes the currently selected media. + * + * @since 1.4.0 + */ + + }, { + key: 'removeMedia', + value: function removeMedia() { + + this.$ui.addButton.show(); + this.$ui.removeButton.hide(); + this.$ui.input.val(''); + + // Reset preview + switch (this.type) { + + case 'image': + + this.$ui.imagePreview.attr('src', this.placeholder || ''); + + break; + + default: + + this.$ui.mediaPreview.html(this.placeholder || ' '); + } + } + + /** + * Fires on selecting a piece of media. + * + * @since 1.4.0 + */ + + }, { + key: 'selectMedia', + value: function selectMedia() { + + var mediaAttachment = this.mediaFrame.state().get('selection').first().toJSON(); + + this.$ui.input.val(mediaAttachment.id); + + this.$ui.addButton.hide(); + this.$ui.removeButton.show(); + + // Preview + switch (this.type) { + + case 'image': + + var previewUrl = mediaAttachment.url; + + if (mediaAttachment.sizes[this.imageProperties.previewSize]) { + + previewUrl = mediaAttachment.sizes[this.imageProperties.previewSize].url; + } + + this.$ui.imagePreview.attr('src', previewUrl); + break; + + default: + + this.$ui.mediaPreview.html(mediaAttachment.url); + } + } + }]); + + return FieldMedia; +}(_field2.default); + +/** + * Finds and initializes all Media fields. + * + * @since 1.4.0 + */ + + +var FieldMediaInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldMediaInitialize($root) { + _classCallCheck(this, FieldMediaInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-media]'); + + if ($fields.length) { + + if (!wp.media) { + + console.error('Field Helpers Error: Trying to initialize Media field but media is not enqueued.'); + return; + } + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldMediaInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldMedia($field) + }); + } + }]); + + return FieldMediaInitialize; +}(); + +exports.default = FieldMediaInitialize; + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * List Field functionality. + * + * @since 1.4.0 + */ +var FieldList = function (_Field) { + _inherits(FieldList, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldList($field) { + _classCallCheck(this, FieldList); + + var _this = _possibleConstructorReturn(this, (FieldList.__proto__ || Object.getPrototypeOf(FieldList)).call(this, $field, 'list')); + + _this.initField(); + return _this; + } + + /** + * Initializes the list. + * + * @since 1.4.0 + */ + + + _createClass(FieldList, [{ + key: 'initField', + value: function initField() { + + this.$field.sortable(this.options); + } + }]); + + return FieldList; +}(_field2.default); + +/** + * Finds and initializes all List fields. + * + * @since 1.4.0 + */ + + +var FieldListInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldListInitialize($root) { + _classCallCheck(this, FieldListInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-list]'); + + if ($fields.length) { + + if (!jQuery.isFunction(jQuery.fn.sortable)) { + + console.error('Field Helpers Error: Trying to initialize List field but "jquery-ui-sortable" ' + 'is not enqueued.'); + return; + } + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldListInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldList($field) + }); + } + }]); + + return FieldListInitialize; +}(); + +exports.default = FieldListInitialize; + +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +var _fieldsInit = __webpack_require__(1); + +var _fieldsInit2 = _interopRequireDefault(_fieldsInit); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * Repeater Field functionality. + * + * @since 1.4.0 + */ +var FieldRepeater = function (_Field) { + _inherits(FieldRepeater, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldRepeater($field) { + _classCallCheck(this, FieldRepeater); + + var _this = _possibleConstructorReturn(this, (FieldRepeater.__proto__ || Object.getPrototypeOf(FieldRepeater)).call(this, $field, 'repeater')); + + _this.initField(); + return _this; + } + + /** + * Initializes the Repeater. + * + * @since 1.4.0 + */ + + + _createClass(FieldRepeater, [{ + key: 'initField', + value: function initField() { + var _this2 = this; + + this.$repeaterList = this.$field.find('.fieldhelpers-field-repeater-list'); + + var api = this; + + this.$field.trigger('repeater-before-init', [this.$field, this.options]); + + this.repeater = this.$field.repeater({ + show: function show() { + api.repeaterShow(jQuery(this)); + }, + hide: function hide(deleteItem) { + api.repeaterHide(jQuery(this), deleteItem); + }, + ready: function ready(setIndexes) { + api.$repeaterList.on('sortupdate', setIndexes); + }, + isFirstItemUndeletable: api.options.isFirstItemUndeletable + }); + + // Delete first item if allowed and empty + if (!this.options.isFirstItemUndeletable && this.options.empty) { + this.$repeaterList.find('.fieldhelpers-field-repeater-row').remove(); + } + + if (this.options.collapsable) { + + this.initCollapsable(); + } + + if (this.options.sortable) { + + if (!jQuery.isFunction(jQuery.fn.sortable)) { + + console.error('Field Helpers Error: Trying to initialize sortable Repeater field but "jquery-ui-sortable" ' + 'is not enqueued.'); + return; + } else { + + this.initSortable(); + } + } + + // Delay for other plugins + setTimeout(function () { + _this2.$field.trigger('repeater-init', [_this2.$field]); + }, 1); + } + + /** + * Initializes the Collapsable feature, if enabled. + * + * @since 1.4.0 + */ + + }, { + key: 'initCollapsable', + value: function initCollapsable() { + + var api = this; + + this.$field.on('click touchend', '[data-repeater-collapsable-handle]', function () { + console.log('click'); + api.toggleCollapse(jQuery(this).closest('.fieldhelpers-field-repeater-row')); + }); + } + + /** + * Initializes the Sortable feature, if enabled. + * + * @since 1.4.0 + */ + + }, { + key: 'initSortable', + value: function initSortable() { + + var api = this; + + this.$repeaterList.sortable({ + axis: 'y', + handle: '.fieldhelpers-field-repeater-handle', + forcePlaceholderSize: true, + placeholder: 'fieldhelpers-sortable-placeholder', + stop: function stop(e, ui) { + + api.$repeaterList.trigger('list-update', [api.$repeaterList]); + } + }); + } + + /** + * Toggles a repeater item collapse. + * + * @since 1.4.0 + * + * @param {jQuery} $item + */ + + }, { + key: 'toggleCollapse', + value: function toggleCollapse($item) { + + var $content = $item.find('.fieldhelpers-field-repeater-content').first(); + var status = $item.hasClass('opened') ? 'closing' : 'opening'; + + if (status === 'opening') { + + $content.stop().slideDown(); + $item.addClass('opened'); + $item.removeClass('closed'); + } else { + + $content.stop().slideUp(); + $item.addClass('closed'); + $item.removeClass('opened'); + } + } + + /** + * Shows a new repeater item. + * + * @since 1.4.0 + * + * @param {jQuery} $item Repeater item row. + */ + + }, { + key: 'repeaterShow', + value: function repeaterShow($item) { + + this.$field.trigger('repeater-before-add-item', [$item]); + + $item.slideDown(); + + if (this.$repeaterList.hasClass('collapsable')) { + + $item.addClass('opened').removeClass('closed'); + + // Hide current title for new item and show default title + $item.find('.fieldhelpers-field-repeater-header span.collapsable-title').html($item.find('.fieldhelpers-field-repeater-header span.collapsable-title').data('collapsable-title-default')); + + $item.find('.collapse-icon').css({ 'transform': 'rotate(-180deg)' }); + } + + // Re-initialize fields in new row + new _fieldsInit2.default($item); + + this.$field.trigger('repeater-add-item', [$item]); + } + + /** + * Removes a repeater item. + * + * @since 1.4.0 + * + * @param {jQuery} $item Repeater item row. + * @param {function} deleteItem Callback for deleting the item. + */ + + }, { + key: 'repeaterHide', + value: function repeaterHide($item, deleteItem) { + var _this3 = this; + + if (confirm(this.options.l10n['confirm_delete_text'])) { + + this.$field.trigger('repeater-before-delete-item', [$item]); + + $item.slideUp(400, function () { + + deleteItem(); + _this3.$field.trigger('repeater-delete-item', [$item]); + }); + } + } + }]); + + return FieldRepeater; +}(_field2.default); + +/** + * Finds and initializes all Repeater fields. + * + * @since 1.4.0 + */ + + +var FieldRepeaterInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldRepeaterInitialize($root) { + _classCallCheck(this, FieldRepeaterInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-repeater]'); + + if ($fields.length) { + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldRepeaterInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldRepeater($field) + }); + } + }]); + + return FieldRepeaterInitialize; +}(); + +exports.default = FieldRepeaterInitialize; + +/***/ }), +/* 15 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * Select Field functionality. + * + * @since 1.4.0 + */ +var FieldSelect = function (_Field) { + _inherits(FieldSelect, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldSelect($field) { + _classCallCheck(this, FieldSelect); + + var _this = _possibleConstructorReturn(this, (FieldSelect.__proto__ || Object.getPrototypeOf(FieldSelect)).call(this, $field, 'select')); + + _this.initField(); + return _this; + } + + /** + * Initializes the select. + * + * @since 1.4.0 + */ + + + _createClass(FieldSelect, [{ + key: 'initField', + value: function initField() { + + if (!this.options.select2Disabled) { + + if (!jQuery.isFunction(jQuery.fn.rbmfhselect2)) { + + console.error('Field Helpers Error: Trying to initialize Select field but "select2" ' + 'is not enqueued.'); + return; + } + + this.setupSelect2Options(); + + this.$field.rbmfhselect2(this.options.select2Options); + } + } + + /** + * Sets up languages. + * + * @since 1.4.0 + */ + + }, { + key: 'setupL10n', + value: function setupL10n() { + var _this2 = this; + + if (Object.keys(this.options.select2Options.language).length > 0) { + + Object.keys(this.options.select2Options.language).map(function (id) { + + var text = _this2.options.select2Options.language[id]; + + // All languages must be functions. Turn all into functions. + _this2.options.select2Options.language[id] = function (args) { + return text; + }; + }); + } + } + + /** + * Sets up Select2 arguments, allowing for callback arguments. + * + * @since 1.4.2 + */ + + }, { + key: 'setupSelect2Options', + value: function setupSelect2Options() { + var _this3 = this; + + this.setupL10n(); + + // List of available Select2 options that are callbacks + var callbackOptions = ['escapeMarkup', 'initSelection', 'matcher', 'query', 'sorter', 'templateResult', 'templateSelection', 'tokenizer']; + + Object.keys(this.options.select2Options).map(function (name) { + + if (callbackOptions.indexOf(name) !== -1) { + + var callbackName = _this3.options.select2Options[name]; + + if (typeof window[callbackName] === 'function') { + + _this3.options.select2Options[name] = window[callbackName]; + } + } + }); + + // Automatically prefix selected items with optgroup label, if using optgroups + if (this.options.optGroups && this.options.optGroupSelectionPrefix && typeof this.options.select2Options.templateSelection === 'undefined') { + + this.options.select2Options.templateSelection = function (item) { + + var optGroup = jQuery(item.element).closest('optgroup').attr('label').trim(); + + return optGroup + ': ' + item.text; + }; + } + } + + /** + * Resets the field. + * + * @since 1.4.0 + */ + + }, { + key: 'fieldCleanup', + value: function fieldCleanup() { + + if (this.options.select2Disabled) { + + return; + } + + var $oldSelect = this.$field.next('.select2'); + + if ($oldSelect.length) { + + $oldSelect.remove(); + } + + this.$field.removeClass('select2-hidden-accessible').removeAttr('tablindex aria-hidden'); + } + + /** + * Sets the field to default. Override in child class if need different method. + * + * @since 1.4.0 + */ + + }, { + key: 'setDefault', + value: function setDefault() { + + this.$field.find('option:selected').prop('selected', false); + this.$field.trigger('change'); + } + }]); + + return FieldSelect; +}(_field2.default); + +/** + * Finds and initializes all Select fields. + * + * @since 1.4.0 + */ + + +var FieldSelectInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldSelectInitialize($root) { + _classCallCheck(this, FieldSelectInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-select]'); + + if ($fields.length) { + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldSelectInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldSelect($field) + }); + } + }]); + + return FieldSelectInitialize; +}(); + +exports.default = FieldSelectInitialize; + +/***/ }), +/* 16 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * TextArea Field functionality. + * + * @since 1.4.0 + */ +var FieldTextArea = function (_Field) { + _inherits(FieldTextArea, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldTextArea($field) { + _classCallCheck(this, FieldTextArea); + + var _this = _possibleConstructorReturn(this, (FieldTextArea.__proto__ || Object.getPrototypeOf(FieldTextArea)).call(this, $field, 'textarea')); + + _this.initField(); + return _this; + } + + /** + * Initializes the WYSIWYG. + * + * @since 1.4.0 + */ + + + _createClass(FieldTextArea, [{ + key: 'initField', + value: function initField() { + + if (this.options.wysiwyg) { + + if (!wp.editor) { + + console.error('Field Helpers Error: Trying to initialize a WYSIWYG Text Area field but "wp_editor" ' + 'is not enqueued.'); + return; + } + + var settings = jQuery.extend(this.getDefaultEditorSettings(), this.options.wysiwygOptions); + + wp.editor.initialize(this.$field.attr('id'), settings); + } + } + + /** + * Resets the field. + * + * @since 1.4.0 + */ + + }, { + key: 'fieldCleanup', + value: function fieldCleanup() { + + if (this.options.wysiwyg) { + + var id = this.$field.attr('id'); + + if (window.tinymce.get(id)) { + + wp.editor.remove(id); + } else { + + this.$field.appendTo(this.$wrapper.find('.fieldhelpers-field-content')); + this.$wrapper.find('.wp-editor-wrap').remove(); + } + } + } + + /** + * Fires before deleting the item from a repeater. + * + * Removes from wp.editor. + * + * @since 1.4.0 + */ + + }, { + key: 'repeaterBeforeDeleteSelf', + value: function repeaterBeforeDeleteSelf() { + + this.fieldCleanup(); + } + + /** + * Fires on Repeat delete item. + * + * Adds slight delay to field re-initialization. + * + * @since 1.4.0 + */ + + }, { + key: 'repeaterOnDeleteItem', + value: function repeaterOnDeleteItem() { + var _this2 = this; + + this.fieldCleanup(); + this.repeaterSetID(); + + // Add slight delay because all repeater item WYSIWYG's must be unitialized before re-initializing to prevent + // ID overlap. + setTimeout(function () { + _this2.initField(); + }, 1); + } + + /** + * Fires on Repeat sort item. + * + * Adds slight delay to field re-initialization. + * + * @since 1.4.0 + */ + + }, { + key: 'repeaterOnSort', + value: function repeaterOnSort() { + var _this3 = this; + + this.fieldCleanup(); + this.repeaterSetID(); + + // Add slight delay because all repeater item WYSIWYG's must be unitialized before re-initializing to prevent + // ID overlap. + setTimeout(function () { + _this3.initField(); + }, 1); + } + + /** + * Tries to get default editor settings. + * + * @since 1.4.0 + * + * @return {{}} + */ + + }, { + key: 'getDefaultEditorSettings', + value: function getDefaultEditorSettings() { + + if (!jQuery.isFunction(wp.editor.getDefaultSettings)) { + + return {}; + } else { + + return wp.editor.getDefaultSettings(); + } + } + }]); + + return FieldTextArea; +}(_field2.default); + +/** + * Finds and initializes all TextArea fields. + * + * @since 1.4.0 + */ + + +var FieldTextAreaInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldTextAreaInitialize($root) { + _classCallCheck(this, FieldTextAreaInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-textarea]'); + + if ($fields.length) { + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldTextAreaInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldTextArea($field) + }); + } + }]); + + return FieldTextAreaInitialize; +}(); + +exports.default = FieldTextAreaInitialize; + +/***/ }), +/* 17 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * Checkbox Field functionality. + * + * @since 1.4.0 + */ +var FieldCheckbox = function (_Field) { + _inherits(FieldCheckbox, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldCheckbox($field) { + _classCallCheck(this, FieldCheckbox); + + var _this = _possibleConstructorReturn(this, (FieldCheckbox.__proto__ || Object.getPrototypeOf(FieldCheckbox)).call(this, $field, 'checkbox')); + + _this.initField(); + return _this; + } + + /** + * Initializes the select. + * + * @since 1.4.0 + */ + + + _createClass(FieldCheckbox, [{ + key: 'initField', + value: function initField() { + + this.$ui = { + checkboxes: this.$field.find('input[type="checkbox"]') + }; + + this.setupHandlers(); + + this.$field.find('input:checked').change(); + } + + /** + * Sets up class handlers. + * + * @since 1.4.0 + */ + + }, { + key: 'setupHandlers', + value: function setupHandlers() { + + var api = this; + + this.$ui.checkboxes.change(function () { + api.handleChange(jQuery(this)); + }); + } + + /** + * Fires on checkbox change. + * + * @since 1.4.0 + * + * @param {jQuery} $input Checkbox input. + */ + + }, { + key: 'handleChange', + value: function handleChange($input) { + + if ($input.prop('checked')) { + + this.setActive($input.closest('.fieldhelpers-field-checkbox-row')); + } else { + + this.setInactive($input.closest('.fieldhelpers-field-checkbox-row')); + } + } + + /** + * Sets the checkbox row as active. + * + * @since 1.4.0 + * + * @param {jQuery} $row + */ + + }, { + key: 'setActive', + value: function setActive($row) { + + $row.addClass('fieldhelpers-field-checkbox-row-active'); + } + + /** + * Sets the checkbox row as inactive. + * + * @since 1.4.0 + * + * @param {jQuery} $row + */ + + }, { + key: 'setInactive', + value: function setInactive($row) { + + $row.removeClass('fieldhelpers-field-checkbox-row-active'); + } + + /** + * Sets the ID to be unique, based off the repeater item index. + * + * For checkboxes, there will be multiple IDs in each, and need to be set accordingly. + * + * @since 1.4.0 + */ + + }, { + key: 'repeaterSetID', + value: function repeaterSetID() { + + var ID = this.options.id; + var $rows = this.$field.find('.fieldhelpers-field-checkbox-row'); + var index = this.$field.closest('[data-repeater-item]').index(); + + $rows.each(function () { + + var $field = jQuery(this).find('input[type="checkbox"]'); + var $label = $field.next('label'); + var fieldIndex = jQuery(this).index(); + var newID = ID + '_' + index + '_' + fieldIndex; + + $field.attr('id', newID); + $label.attr('for', newID); + }); + } + + /** + * Sets the field to default. + * + * @since 1.4.0 + */ + + }, { + key: 'setDefault', + value: function setDefault() { + + if (this.options.default) { + + this.$field.find('[value="' + this.options.default + '"]').prop('checked', true).change(); + } + } + }]); + + return FieldCheckbox; +}(_field2.default); + +/** + * Finds and initializes all Checkbox fields. + * + * @since 1.4.0 + */ + + +var FieldCheckboxInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldCheckboxInitialize($root) { + _classCallCheck(this, FieldCheckboxInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-checkbox]'); + + if ($fields.length) { + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldCheckboxInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldCheckbox($field) + }); + } + }]); + + return FieldCheckboxInitialize; +}(); + +exports.default = FieldCheckboxInitialize; + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * Radio Field functionality. + * + * @since 1.4.0 + */ +var FieldRadio = function (_Field) { + _inherits(FieldRadio, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldRadio($field) { + _classCallCheck(this, FieldRadio); + + var _this = _possibleConstructorReturn(this, (FieldRadio.__proto__ || Object.getPrototypeOf(FieldRadio)).call(this, $field, 'radio')); + + _this.initField(); + return _this; + } + + /** + * Initializes the select. + * + * @since 1.4.0 + */ + + + _createClass(FieldRadio, [{ + key: 'initField', + value: function initField() { + + this.$ui = { + radios: this.$field.find('input[type="radio"]') + }; + + this.setupHandlers(); + + this.$field.find('input:checked').change(); + } + + /** + * Sets up class handlers. + * + * @since 1.4.0 + */ + + }, { + key: 'setupHandlers', + value: function setupHandlers() { + + var api = this; + + this.$ui.radios.change(function () { + api.handleChange(jQuery(this)); + }); + } + + /** + * Fires on radio change. + * + * @since 1.4.0 + * + * @param {jQuery} $input Checkbox input. + */ + + }, { + key: 'handleChange', + value: function handleChange($input) { + + this.setInactive(this.$ui.radios.closest('.fieldhelpers-field-radio-row')); + this.setActive($input.closest('.fieldhelpers-field-radio-row')); + } + + /** + * Sets the radio row as active. + * + * @since 1.4.0 + * + * @param {jQuery} $row + */ + + }, { + key: 'setActive', + value: function setActive($row) { + + $row.addClass('fieldhelpers-field-radio-row-active'); + } + + /** + * Sets the radio row as inactive. + * + * @since 1.4.0 + * + * @param {jQuery} $row + */ + + }, { + key: 'setInactive', + value: function setInactive($row) { + + $row.removeClass('fieldhelpers-field-radio-row-active'); + } + + /** + * Sets the ID to be unique, based off the repeater item index. + * + * For radios, there will be multiple IDs in each, and need to be set accordingly. + * + * @since 1.4.0 + */ + + }, { + key: 'repeaterSetID', + value: function repeaterSetID() { + + var ID = this.options.id; + var $rows = this.$field.find('.fieldhelpers-field-radio-row'); + var index = this.$field.closest('[data-repeater-item]').index(); + + $rows.each(function () { + + var $field = jQuery(this).find('input[type="radio"]'); + var $label = $field.next('label'); + var fieldIndex = jQuery(this).index(); + var newID = ID + '_' + index + '_' + fieldIndex; + + $field.attr('id', newID); + $label.attr('for', newID); + }); + } + + /** + * Sets the field to default. + * + * @since 1.4.0 + */ + + }, { + key: 'setDefault', + value: function setDefault() { + + if (this.options.default) { + + this.$field.find('[value="' + this.options.default + '"]').prop('checked', true).change(); + } + } + }]); + + return FieldRadio; +}(_field2.default); + +/** + * Finds and initializes all Radio fields. + * + * @since 1.4.0 + */ + + +var FieldRadioInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldRadioInitialize($root) { + _classCallCheck(this, FieldRadioInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-radio]'); + + if ($fields.length) { + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldRadioInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldRadio($field) + }); + } + }]); + + return FieldRadioInitialize; +}(); + +exports.default = FieldRadioInitialize; + +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +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 _field = __webpack_require__(0); + +var _field2 = _interopRequireDefault(_field); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +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; } + +/** + * Toggle Field functionality. + * + * @since 1.4.0 + */ +var FieldToggle = function (_Field) { + _inherits(FieldToggle, _Field); + + /** + * Class constructor. + * + * @since 1.4.0 + */ + function FieldToggle($field) { + _classCallCheck(this, FieldToggle); + + var _this = _possibleConstructorReturn(this, (FieldToggle.__proto__ || Object.getPrototypeOf(FieldToggle)).call(this, $field, 'toggle')); + + _this.initField(); + return _this; + } + + /** + * Initializes the select. + * + * @since 1.4.0 + */ + + + _createClass(FieldToggle, [{ + key: 'initField', + value: function initField() { + var _this2 = this; + + this.getUI(); + + // Initial change trigger to help other plugins + setTimeout(function () { + _this2.$field.trigger('change', [_this2.$ui.input.val()]); + }, 1); + + this.setupHandlers(); + } + + /** + * Retrieves the UI. + * + * @since 1.4.0 + */ + + }, { + key: 'getUI', + value: function getUI() { + + this.$ui = { + slider: this.$field.find('.fieldhelpers-field-toggle-slider'), + input: this.$field.find('input[type="hidden"]') + }; + } + + /** + * Sets up class handlers. + * + * @since 1.4.0 + */ + + }, { + key: 'setupHandlers', + value: function setupHandlers() { + + var api = this; + + this.$ui.slider.click(function () { + api.handleClick(); + }); + } + + /** + * Return if field is checked or not. + * + * @since 1.4.0 + * + * @returns {*} + */ + + }, { + key: 'isChecked', + value: function isChecked() { + + return this.$field.hasClass('checked'); + } + + /** + * Fires on toggle change. + * + * @since 1.4.0 + */ + + }, { + key: 'handleClick', + value: function handleClick() { + + if (this.isChecked()) { + + this.$ui.input.val(this.options.uncheckedValue); + this.$field.removeClass('checked'); + } else { + + this.$ui.input.val(this.options.checkedValue); + this.$field.addClass('checked'); + } + + this.$field.trigger('change', [this.$ui.input.val()]); + } + }]); + + return FieldToggle; +}(_field2.default); + +/** + * Finds and initializes all Toggle fields. + * + * @since 1.4.0 + */ + + +var FieldToggleInitialize = function () { + + /** + * Class constructor. + * + * @since 1.4.0 + * + * @param {jQuery} $root Root element to initialize fields inside. + */ + function FieldToggleInitialize($root) { + _classCallCheck(this, FieldToggleInitialize); + + var api = this; + + this.fields = []; + + var $fields = $root.find('[data-fieldhelpers-field-toggle]'); + + if ($fields.length) { + + $fields.each(function () { + + api.initializeField(jQuery(this)); + }); + } + } + + /** + * Initializes the field. + * + * @since 1.4.0 + * + * @param {jQuery} $field + */ + + + _createClass(FieldToggleInitialize, [{ + key: 'initializeField', + value: function initializeField($field) { + + this.fields.push({ + $field: $field, + api: new FieldToggle($field) + }); + } + }]); + + return FieldToggleInitialize; +}(); + +exports.default = FieldToggleInitialize; + +/***/ }) +/******/ ]); \ No newline at end of file diff --git a/assets/src/scss/admin/fields/_field-radio.scss b/assets/src/scss/admin/fields/_field-radio.scss index 605a6a4..a4440e0 100644 --- a/assets/src/scss/admin/fields/_field-radio.scss +++ b/assets/src/scss/admin/fields/_field-radio.scss @@ -10,7 +10,6 @@ position: relative; cursor: pointer; transition: background 150ms; - height: 30px; &:hover { background: darken(#fff, 5%); @@ -57,7 +56,6 @@ font-weight: bold; padding: 0 0.5em; border-left: 1px solid #DFDFDF; - height: 30px; line-height: 30px; box-sizing: border-box; }