From 8e3d359486d6dd732ad5e509c245cdf7cfbceaa0 Mon Sep 17 00:00:00 2001 From: Ro Date: Fri, 21 May 2021 14:07:25 -0700 Subject: [PATCH 1/4] ui overall part 1: login, init, pass reset forms --- brain/views/dash/_frame.twig | 33 ++-- brain/views/dash/forms/login.twig | 3 +- brain/views/dash/init.twig | 57 +++---- brain/views/dash/reset-password.twig | 9 +- brain/views/dash/start.twig | 2 +- public/assets/css/dash.css | 241 +++++++++++++++------------ public/assets/scripts/dash.min.js | 2 +- src/com/Base.js | 4 +- src/styles/main/_colors.sass | 4 +- src/styles/main/_forms.sass | 44 +++-- src/styles/main/_index.sass | 61 ++++--- src/styles/main/_structure.sass | 10 +- 12 files changed, 256 insertions(+), 214 deletions(-) diff --git a/brain/views/dash/_frame.twig b/brain/views/dash/_frame.twig index d96b0ad..067c796 100644 --- a/brain/views/dash/_frame.twig +++ b/brain/views/dash/_frame.twig @@ -26,22 +26,25 @@
- + + + {% endif %} + {% block mainContent %}{% endblock %}
diff --git a/brain/views/dash/forms/login.twig b/brain/views/dash/forms/login.twig index ef74839..08ea8da 100644 --- a/brain/views/dash/forms/login.twig +++ b/brain/views/dash/forms/login.twig @@ -1,10 +1,11 @@
+ diff --git a/brain/views/dash/init.twig b/brain/views/dash/init.twig index e1628b6..1e75a4b 100644 --- a/brain/views/dash/init.twig +++ b/brain/views/dash/init.twig @@ -12,51 +12,32 @@
-
-

What up

-

Just fill these in and it'll get you started.

-
-
- -
-
- -
-
- -
-
- -
-
- -
- + + + + + + + +

+
-
- -
+
-

Restore from backup

-

Let's verify your backup

-
-
- -
-
- -
-
- -
+ + +
+ + +
+

+

+
-
- -
diff --git a/brain/views/dash/reset-password.twig b/brain/views/dash/reset-password.twig index 28d31dc..d120466 100644 --- a/brain/views/dash/reset-password.twig +++ b/brain/views/dash/reset-password.twig @@ -13,20 +13,21 @@
+
diff --git a/brain/views/dash/start.twig b/brain/views/dash/start.twig index 833090e..4cce6e7 100644 --- a/brain/views/dash/start.twig +++ b/brain/views/dash/start.twig @@ -5,7 +5,7 @@ {% endblock %} {% block stylesheets %} - + {% endblock %} {% block mainContent %} diff --git a/public/assets/css/dash.css b/public/assets/css/dash.css index 0d34d82..8e7bcd2 100644 --- a/public/assets/css/dash.css +++ b/public/assets/css/dash.css @@ -1746,8 +1746,8 @@ sub { sup { top: -0.55em; - background: #374857; - color: #374857; + background: #1D3040; + color: #1D3040; border-radius: 2px; padding: 0 2px 0 2px; margin: 0 2px 0 0; @@ -1885,7 +1885,7 @@ template { } h1, h2, h3 { - color: #f2f1ef; + color: #EFEBE3; } h1 { @@ -1904,7 +1904,8 @@ h3 { } html, body { - background-color: #0f1419; + background: #1D3040; + background: linear-gradient(0deg, #1d3040 0%, #2d4a63 100%); font: 400 1em Helvetica, Arial, sans-serif; height: 100%; } @@ -1919,7 +1920,10 @@ a { transition: all 0.1s linear; } a:hover { - color: #d8e5f2; + background: #1D3040; + color: #b2cce5; + border-radius: 5px; + padding: 5px; } svg.icons { @@ -1983,20 +1987,20 @@ svg.icons { height: 30px; width: 30px; text-align: center; - border: 2px solid #f2f1ef; + border: 2px solid #EFEBE3; } #notifications #notifyMessage p { - color: #f2f1ef; + color: #EFEBE3; background: black; width: 400px; height: 28px; padding: 15px 0 0 5px; border-radius: 0 5px 5px 0; - border: 2px solid #f2f1ef; + border: 2px solid #EFEBE3; text-align: center; } #notifications #notifyMessage .icons { - fill: #f2f1ef; + fill: #EFEBE3; } .notify-close { @@ -2017,6 +2021,7 @@ svg.icons { margin: 0 auto; z-index: 10; position: relative; + height: 100%; } .main-container section header { width: 100%; @@ -2037,7 +2042,7 @@ svg.icons { } .main-container section header #wrapper #right { text-align: right; - color: #f2f1ef; + color: #EFEBE3; } .main-container section header #wrapper #right a { text-decoration-color: #fc6399; @@ -2058,30 +2063,30 @@ svg.icons { /* Mozilla based browsers */ ::-moz-selection { background-color: #fc6399; - color: #f2f1ef; + color: #EFEBE3; } /* Works in Safari */ ::selection { background-color: #fc6399; - color: #f2f1ef; + color: #EFEBE3; } /* Works in Opera */ ::-o-selection { background-color: #fc6399; - color: #f2f1ef; + color: #EFEBE3; } ::-ms-selection { background-color: #fc6399; - color: #f2f1ef; + color: #EFEBE3; } /* Works in Internet Explorer */ ::-webkit-selection { background-color: #fc6399; - color: #f2f1ef; + color: #EFEBE3; } @media only screen and (max-width: 800px) { @@ -2115,35 +2120,41 @@ svg.icons { } #dash-index-content #dash-index #dash-index-wrapper .dash-init, #dash-index-content #dash-index #dash-index-wrapper .dash-restore { width: 100%; - max-width: 900px; - margin: 0 auto; - color: #b2cce5; -} -#dash-index-content #dash-index #dash-index-wrapper .dash-init label, #dash-index-content #dash-index #dash-index-wrapper .dash-restore label { - color: #374857; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + color: #1D3040; } #dash-index-content #dash-index #dash-index-wrapper .dash-init form, #dash-index-content #dash-index #dash-index-wrapper .dash-restore form { - background: #f2f1ef; + background: #EFEBE3; padding: 15px; + width: 300px; + border-radius: 5px; + text-align: center; } -#dash-index-content #dash-index #dash-index-wrapper .dash-init form h1, #dash-index-content #dash-index #dash-index-wrapper .dash-restore form h1 { - color: #374857; -} -#dash-index-content #dash-index #dash-index-wrapper .dash-init form p, #dash-index-content #dash-index #dash-index-wrapper .dash-restore form p { - color: black; - border-top: 1px solid #374857; - border-bottom: 1px solid #374857; - padding: 10px 0 10px 0; +#dash-index-content #dash-index #dash-index-wrapper .dash-init form #the-logo, #dash-index-content #dash-index #dash-index-wrapper .dash-restore form #the-logo { + width: 40px; + margin: 20px; } -#dash-index-content #dash-index #dash-index-wrapper .dash-init form input.large[type=email], #dash-index-content #dash-index #dash-index-wrapper .dash-init form input[type=password], #dash-index-content #dash-index #dash-index-wrapper .dash-init form input[type=text], #dash-index-content #dash-index #dash-index-wrapper .dash-restore form input.large[type=email], #dash-index-content #dash-index #dash-index-wrapper .dash-restore form input[type=password], #dash-index-content #dash-index #dash-index-wrapper .dash-restore form input[type=text] { - margin-bottom: 15px; - margin-top: 5px; +#dash-index-content #dash-index #dash-index-wrapper .dash-init form input, #dash-index-content #dash-index #dash-index-wrapper .dash-restore form input { + width: 290px; + margin: 0 0 10px 0; + height: 30px; } #dash-index-content #dash-index #dash-index-wrapper .dash-init form button, #dash-index-content #dash-index #dash-index-wrapper .dash-restore form button { - height: 30px; - width: 120px; - margin: 0 auto; + width: 300px; +} +#dash-index-content #dash-index #dash-index-wrapper .dash-init form div, #dash-index-content #dash-index #dash-index-wrapper .dash-restore form div { + background: #1D3040; + color: #EFEBE3; + border-radius: 3px; + padding: 5px; +} +#dash-index-content #dash-index #dash-index-wrapper .dash-init form div label, #dash-index-content #dash-index #dash-index-wrapper .dash-restore form div label { display: block; + padding: 5px; + color: #f5ab35; } #dash-index-content #dash-index #dash-index-wrapper .dash-restore { display: none; @@ -2151,15 +2162,23 @@ svg.icons { } #dash-index-content #dash-index #dash-index-wrapper #dash-login { width: 100%; - max-width: 900px; + height: 100%; margin: 0 auto; + display: flex; + align-items: center; + justify-content: center; } #dash-index-content #dash-index #dash-index-wrapper #dash-login #dash-form, #dash-index-content #dash-index #dash-index-wrapper #dash-login #dash-reset { width: 300px; padding: 0.75em; - background: #374857; - border-radius: 3px; - color: #f2f1ef; + background: #EFEBE3; + border-radius: 5px; + color: #EFEBE3; + text-align: center; +} +#dash-index-content #dash-index #dash-index-wrapper #dash-login #dash-form #the-logo, #dash-index-content #dash-index #dash-index-wrapper #dash-login #dash-reset #the-logo { + width: 40px; + margin: 20px; } #dash-index-content #dash-index #dash-index-wrapper #dash-login #dash-form input, #dash-index-content #dash-index #dash-index-wrapper #dash-login #dash-reset input { width: 290px; @@ -2182,7 +2201,7 @@ svg.icons { width: 30%; padding: 5px; border-radius: 3px; - color: #f2f1ef; + color: #EFEBE3; margin: 0 10px 10px 0; } #dash-index-content #dash-index #dash-index-wrapper #dash-menu a:hover { @@ -2191,7 +2210,7 @@ svg.icons { #dash-index-content #dash-index #dash-index-wrapper #dash-menu a svg { display: inline-block; vertical-align: top; - fill: #f2f1ef; + fill: #EFEBE3; } #dash-index-content #dash-index #dash-index-wrapper #dash-menu a label { display: inline-block; @@ -2226,7 +2245,7 @@ svg.icons { display: inline-block; margin: 24px 0 24px 0; right: 10px; - color: #f2f1ef; + color: #EFEBE3; } #dash-index-content #dash-index #dash-index-wrapper #dash-recent #recent-list .recent-header .index-menu a { text-decoration-color: #fc6399; @@ -2243,7 +2262,7 @@ svg.icons { #dash-index-content #dash-index #dash-index-wrapper #dash-recent #recent-list a.post-link label { font-size: 1.4em; font-weight: 700; - color: #f2f1ef; + color: #EFEBE3; padding: 5px; vertical-align: top; display: inline-block; @@ -2260,7 +2279,7 @@ svg.icons { font-family: "Lucida Console", Monaco, monospace; font-size: 0.5em; padding: 7px; - color: #f2f1ef; + color: #EFEBE3; text-align: center; border-radius: 0 0 3px 3px; } @@ -2288,7 +2307,7 @@ svg.icons { #dash-index-content #dash-index #dash-index-wrapper #dash-recent #recent-list a.post-link div #options .item-options[data-active=false] { width: 65px; background: black; - color: #f2f1ef; + color: #EFEBE3; } #dash-index-content #dash-index #dash-index-wrapper #dash-recent #recent-list a.post-link div #options .item-options[data-active=true] { width: 70px; @@ -2358,13 +2377,13 @@ svg.icons { margin: 5px; } #settings-actions #buttons button svg { - fill: #f2f1ef; + fill: #EFEBE3; } #settings-actions #buttons button[data-render=false] { background: black; } #settings-actions #buttons button[data-render=false] svg { - fill: #f2f1ef; + fill: #EFEBE3; } #settings-actions #buttons button[data-render=true] { background: white; @@ -2384,7 +2403,7 @@ svg.icons { } #site-background label { position: absolute; - color: #f2f1ef; + color: #EFEBE3; margin: 5px; background: black; padding: 5px; @@ -2409,7 +2428,7 @@ svg.icons { height: 45px; } #settings-index #settings-index-wrapper #member-settings, #settings-index #settings-index-wrapper #site-settings, #settings-index #settings-index-wrapper #option-settings, #settings-index #settings-index-wrapper #member-utils { - background: #374857; + background: #1D3040; padding: 5px; border-radius: 5px 0 5px 0; width: 100%; @@ -2417,7 +2436,7 @@ svg.icons { } #settings-index #settings-index-wrapper #member-settings label, #settings-index #settings-index-wrapper #site-settings label, #settings-index #settings-index-wrapper #option-settings label, #settings-index #settings-index-wrapper #member-utils label { font-family: "Lucida Console", Monaco, monospace; - color: #f2f1ef; + color: #EFEBE3; } #settings-index #settings-index-wrapper #member-settings span, #settings-index #settings-index-wrapper #site-settings span, #settings-index #settings-index-wrapper #option-settings span, #settings-index #settings-index-wrapper #member-utils span { color: #b2cce5; @@ -2433,8 +2452,8 @@ svg.icons { display: none; } #settings-index #settings-index-wrapper #member-settings .backup-meta, #settings-index #settings-index-wrapper #site-settings .backup-meta, #settings-index #settings-index-wrapper #option-settings .backup-meta, #settings-index #settings-index-wrapper #member-utils .backup-meta { - background: #0f1419; - color: #f2f1ef; + background: black; + color: #EFEBE3; padding: 8px; border-radius: 3px; margin: 5px 0 0 0; @@ -2471,7 +2490,7 @@ svg.icons { margin: 0 5px 10px 0; } #settings-index #settings-index-wrapper #member-settings textarea, #settings-index #settings-index-wrapper #site-settings textarea, #settings-index #settings-index-wrapper #option-settings textarea, #settings-index #settings-index-wrapper #member-utils textarea { - background: #0f1419; + background: black; width: 95%; height: 155px; color: #b2cce5; @@ -2491,11 +2510,11 @@ svg.icons { } #settings-index #settings-index-wrapper #option-settings #theme-settings a[data-enabled=true] { background: #b2cce5; - color: #374857; + color: #1D3040; border-radius: 3px; } #settings-index #settings-index-wrapper #option-settings #theme-settings a[data-enabled=true] svg { - fill: #374857; + fill: #1D3040; display: inline-block; float: right; } @@ -2514,7 +2533,7 @@ svg.icons { color: #fc6399; } #settings-index #settings-index-wrapper #option-settings #mail-settings a.mail-option[data-enabled=false] { - color: #f2f1ef; + color: #EFEBE3; } #settings-index #settings-index-wrapper #option-settings #mail-settings input { margin: 0 5px 5px 0; @@ -2561,9 +2580,9 @@ svg.icons { #nav-index #nav-index-wrapper #nav-pages .nav-item { display: block; width: 98%; - background: #374857; + background: #1D3040; border-radius: 3px; - color: #f2f1ef; + color: #EFEBE3; height: 30px; padding: 10px; margin: 0 0 10px 0; @@ -2612,71 +2631,81 @@ svg.icons { form { display: inline-block; } +form a { + color: #1D3040; +} +form p { + background: #f5ab35; + color: #1D3040; + padding: 5px; + display: block; + border-radius: 5px; + text-align: left; +} input[type=email], input[type=password], input[type=text] { border: 0; border-radius: 5px; padding: 5px; margin: 10px 5px 0 0; - font: 15px "Lucida Console", Monaco, monospace; + font: 18px Helvetica, Arial, sans-serif; display: inline-block; - background: #0f1419; - color: #f2f1ef; + background: #1D3040; + color: #f5ab35; } textarea { border: 0; border-radius: 3px; - color: #f2f1ef; - font: 15px "Lucida Console", Monaco, monospace; - ackground: #0f1419; + color: #EFEBE3; + font: 15px Helvetica, Arial, sans-serif; + background: #1D3040; } button, input[type=submit] { background: #fc6399; - color: #0f1419; - font: 14px Helvetica, Arial, sans-serif; + color: #1D3040; + font: 20px Helvetica, Arial, sans-serif; border-radius: 5px; position: relative; cursor: pointer; border: 0; - padding: 5px 5px 0 5px; + padding: 10px 0 5px 0; -moz-transition: all 0.3s linear; -webkit-transition: all 0.3s linear; -o-transition: all 0.3s linear; transition: all 0.3s linear; - font: 15px "Lucida Console", Monaco, monospace; } select { - font: 14px "Lucida Console", Monaco, monospace; + font: 14px Helvetica, Arial, sans-serif; border: 1px solid #b2cce5; -webkit-appearance: none; -moz-appearance: none; appearance: none; - color: #374857; + color: #1D3040; } ::-webkit-input-placeholder { - font: 14px "Lucida Console", Monaco, monospace; - color: #bac7d3; + font: 25px Helvetica, Arial, sans-serif; + color: #EFEBE3; } :-moz-placeholder { /* Firefox 18- */ - font: 14px "Lucida Console", Monaco, monospace; - color: #bac7d3; + font: 25px Helvetica, Arial, sans-serif; + color: #EFEBE3; } ::-moz-placeholder { /* Firefox 19+ */ - font: 14px "Lucida Console", Monaco, monospace; - color: #bac7d3; + font: 25px Helvetica, Arial, sans-serif; + color: #EFEBE3; } :-ms-input-placeholder { - font: 14px "Lucida Console", Monaco, monospace; - color: #bac7d3; + font: 25px Helvetica, Arial, sans-serif; + color: #EFEBE3; } #post-index { @@ -2689,7 +2718,7 @@ select { overflow: hidden; } #post-index #post-index-wrapper #post-index-menu { - color: #f2f1ef; + color: #EFEBE3; } #post-index #post-index-wrapper #post-index-menu a { text-decoration-color: #fc6399; @@ -2699,7 +2728,7 @@ select { background: #fc6399; border-radius: 3px; padding: 3px; - color: #f2f1ef; + color: #EFEBE3; text-align: center; margin-bottom: 10px; float: right; @@ -2712,7 +2741,7 @@ select { margin: 20px 0 0 0; } #post-index #post-index-wrapper #posts-list a.page-link { - background: #f2f1ef; + background: #EFEBE3; display: inline-block; vertical-align: top; width: 100%; @@ -2754,7 +2783,7 @@ select { padding: 0 0 20px 0; } #post-index #post-index-wrapper #posts-list a.page-link div.page-bg #meta span { - color: #f2f1ef; + color: #EFEBE3; text-align: center; margin: 0 auto; display: block; @@ -2762,7 +2791,7 @@ select { #post-index #post-index-wrapper #posts-list a.page-link div.page-bg #meta label { font-size: 1.4em; font-weight: 700; - color: #f2f1ef; + color: #EFEBE3; padding: 5px; vertical-align: top; display: inline-block; @@ -2785,7 +2814,7 @@ select { #post-index #post-index-wrapper #posts-list a.page-link div.page-bg #meta #options .meta-options[data-active=false] { width: 70px; background: black; - color: #f2f1ef; + color: #EFEBE3; } #post-index #post-index-wrapper #posts-list a.page-link div.page-bg #meta #options .meta-options[data-active=true] { width: 75px; @@ -2832,7 +2861,7 @@ select { padding: 0.75rem; } #post-edit-index #post-edit-index-wrapper #post-header #post-header-wrapper label { - color: #f2f1ef; + color: #EFEBE3; font-size: 0.8em; font-family: "Lucida Console", Monaco, monospace; font-weight: 600; @@ -2852,7 +2881,7 @@ select { margin: 0 0 5px 0; } #post-edit-index #post-edit-index-wrapper #post-header #post-header-wrapper #post-title #calendar-icon { - background: #192128; + background: #05090b; border-radius: 3px 0 0 3px; display: inline-block; padding: 5.2px; @@ -2896,7 +2925,7 @@ select { background: black; } #post-edit-index #post-edit-index-wrapper #post-header #post-header-wrapper #post-meta #post-options button[data-active=false] svg { - fill: #f2f1ef; + fill: #EFEBE3; } #post-edit-index #post-edit-index-wrapper #post-header #post-header-wrapper #post-meta #post-options button[data-active=true] { background: #f6b54d; @@ -2917,7 +2946,7 @@ select { width: 100%; min-height: 200px; background: black; - color: #374857; + color: #1D3040; vertical-align: middle; font-family: "Lucida Console", Monaco, monospace; } @@ -2935,7 +2964,7 @@ select { } #post-edit-index #post-edit-index-wrapper #post-feature #featured-new-image-btn #new-feature-upload { padding-top: 4px; - background: #f2f1ef; + background: #EFEBE3; } #post-edit-index #post-edit-index-wrapper #post-feature #featured-new-image-btn #new-feature-upload svg { fill: #fc6399; @@ -3060,7 +3089,7 @@ select { .dp { position: relative; - background: #374857; + background: #1D3040; box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.25); line-height: 1.4; border-radius: 4px; @@ -3140,7 +3169,7 @@ select { text-align: center; text-decoration: none; position: relative; - color: #f2f1ef; + color: #EFEBE3; border-radius: 2px; border: 0; background: transparent; @@ -3150,7 +3179,7 @@ select { position: relative; text-align: center; padding-bottom: 16px; - background: #232e38; + background: #0d161d; } .dp-next, .dp-prev { @@ -3210,7 +3239,7 @@ select { .dp-cal-footer { text-align: center; - background: #232e38; + background: #0d161d; } .dp-day-today:after { @@ -3242,13 +3271,13 @@ select { .dp-close:active, .dp-clear:active, .dp-today:active, .dp-next:active, .dp-prev:active, .dp-cal-month:active, .dp-cal-year:active { background: #fc6399; - color: #f2f1ef; + color: #EFEBE3; } @media screen and (min-device-width: 1200px) { .dp-close:hover, .dp-close:focus, .dp-clear:hover, .dp-clear:focus, .dp-today:hover, .dp-today:focus, .dp-next:hover, .dp-next:focus, .dp-prev:hover, .dp-prev:focus, .dp-cal-month:focus, .dp-cal-month:hover, .dp-cal-year:hover, .dp-cal-year:focus { background: #fc6399; - color: #f2f1ef; + color: #EFEBE3; } } .dp-col-header, .dp-day { @@ -3285,7 +3314,7 @@ select { .dp-day:hover, .dp-month:hover, .dp-year:hover, .dp-current:focus, .dp-current, .dp-day:focus, .dp-month:focus, .dp-year:focus { outline: none; background: black; - color: #f2f1ef; + color: #EFEBE3; } .dp-selected:hover, .dp-selected:focus, .dp-selected { @@ -3370,7 +3399,7 @@ select { visibility: hidden; } #edit-control .submit-start { - background: #f2f1ef; + background: #EFEBE3; } #edit-control .submit-start svg { fill: #32cd32; @@ -3379,13 +3408,13 @@ select { background: #32cd32; } #edit-control .submit-cool svg { - fill: #f2f1ef; + fill: #EFEBE3; } #edit-control .submit-delete { background: #F64747 !important; } #edit-control .submit-delete svg { - fill: #f2f1ef !important; + fill: #EFEBE3 !important; } #edit-control #option-date { height: 30px; @@ -3395,18 +3424,18 @@ select { margin: -13px 5px 0 0; display: inline-block; vertical-align: top; - fill: #f2f1ef; + fill: #EFEBE3; } #edit-control .content-editor-btn-icon { padding: 5px 5px 1px 5px; - color: #374857; + color: #1D3040; } #edit-control .content-editor-btn-icon svg { - fill: #374857; + fill: #1D3040; } #edit-control .content-editor-btn-text { padding: 5px; - color: #374857; + color: #1D3040; } #edit-control #option-bold { font-weight: bold; @@ -3427,7 +3456,7 @@ select { display: block; overflow-x: auto; padding: 0.5em; - background: #2b3844; + background: #13202b; } .hljs, .hljs-subst { @@ -3464,7 +3493,7 @@ select { } .hljs-attribute, .hljs-bullet, .hljs-class, .hljs-function, .hljs-function .hljs-keyword, .hljs-meta-keyword, .hljs-selector-pseudo, .hljs-tag { - color: #bac7d3; + color: #90b1cc; } .hljs-comment { diff --git a/public/assets/scripts/dash.min.js b/public/assets/scripts/dash.min.js index 2b81808..d0f4342 100644 --- a/public/assets/scripts/dash.min.js +++ b/public/assets/scripts/dash.min.js @@ -7,5 +7,5 @@ * @license MIT */ function It(e){return(It="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})(e)}function kt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function St(){return(St=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Dt(e){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(e)}var Pt=Dt(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),_t=Dt(/Edge/i),Bt=Dt(/firefox/i),Ct=Dt(/safari/i)&&!Dt(/chrome/i)&&!Dt(/android/i),Ot=Dt(/iP(ad|od|hone)/i),Mt=Dt(/chrome/i)&&Dt(/android/i),At={capture:!1,passive:!1};function Nt(e,t,n){e.addEventListener(t,n,!Pt&&At)}function Lt(e,t,n){e.removeEventListener(t,n,!Pt&&At)}function Rt(e,t){if(t){if(">"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(e){return!1}return!1}}function Ht(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function Ft(e,t,n,r){if(e){n=n||document;do{if(null!=t&&(">"===t[0]?e.parentNode===n&&Rt(e,t):Rt(e,t))||r&&e===n)return e;if(e===n)break}while(e=Ht(e))}return null}var Xt,qt=/\s+/g;function Ut(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var r=(" "+e.className+" ").replace(qt," ").replace(" "+t+" "," ");e.className=(r+(n?" "+t:"")).replace(qt," ")}}function Yt(e,t,n){var r=e&&e.style;if(r){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),void 0===t?n:n[t];t in r||-1!==t.indexOf("webkit")||(t="-webkit-"+t),r[t]=n+("string"==typeof n?"":"px")}}function jt(e,t){var n="";if("string"==typeof e)n=e;else do{var r=Yt(e,"transform");r&&"none"!==r&&(n=r+" "+n)}while(!t&&(e=e.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(n)}function Wt(e,t,n){if(e){var r=e.getElementsByTagName(t),o=0,i=r.length;if(n)for(;o=i:o<=i))return r;if(r===zt())break;r=Kt(r,!1)}return!1}function Vt(e,t,n){for(var r=0,o=0,i=e.children;o2&&void 0!==arguments[2]?arguments[2]:{},r=n.evt,o=xt(n,["evt"]);un.pluginEvent.bind(nr)(e,t,Tt({dragEl:fn,parentEl:hn,ghostEl:pn,rootEl:gn,nextEl:mn,lastDownEl:vn,cloneEl:yn,cloneHidden:bn,dragStarted:On,putSortable:Tn,activeSortable:nr.active,originalEvent:r,oldIndex:wn,oldDraggableIndex:In,newIndex:En,newDraggableIndex:kn,hideGhostForTarget:Zn,unhideGhostForTarget:Kn,cloneNowHidden:function(){bn=!0},cloneNowShown:function(){bn=!1},dispatchSortableEvent:function(e){dn({sortable:t,name:e,originalEvent:r})}},o))};function dn(e){!function(e){var t=e.sortable,n=e.rootEl,r=e.name,o=e.targetEl,i=e.cloneEl,a=e.toEl,s=e.fromEl,l=e.oldIndex,u=e.newIndex,c=e.oldDraggableIndex,d=e.newDraggableIndex,f=e.originalEvent,h=e.putSortable,p=e.extraEventProperties;if(t=t||n&&n[on]){var g,m=t.options,v="on"+r.charAt(0).toUpperCase()+r.substr(1);!window.CustomEvent||Pt||_t?(g=document.createEvent("Event")).initEvent(r,!0,!0):g=new CustomEvent(r,{bubbles:!0,cancelable:!0}),g.to=a||n,g.from=s||n,g.item=o||n,g.clone=i,g.oldIndex=l,g.newIndex=u,g.oldDraggableIndex=c,g.newDraggableIndex=d,g.originalEvent=f,g.pullMode=h?h.lastPutMode:void 0;var y=Tt({},p,un.getEventProperties(r,t));for(var b in y)g[b]=y[b];n&&n.dispatchEvent(g),m[v]&&m[v].call(t,g)}}(Tt({putSortable:Tn,cloneEl:yn,targetEl:fn,rootEl:gn,oldIndex:wn,oldDraggableIndex:In,newIndex:En,newDraggableIndex:kn},e))}var fn,hn,pn,gn,mn,vn,yn,bn,wn,En,In,kn,Sn,Tn,xn,Dn,Pn,_n,Bn,Cn,On,Mn,An,Nn,Ln,Rn=!1,Hn=!1,Fn=[],Xn=!1,qn=!1,Un=[],Yn=!1,jn=[],Wn="undefined"!=typeof document,zn=Ot,Gn=_t||Pt?"cssFloat":"float",Qn=Wn&&!Mt&&!Ot&&"draggable"in document.createElement("div"),Vn=function(){if(Wn){if(Pt)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),Jn=function(e,t){var n=Yt(e),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),o=Vt(e,0,t),i=Vt(e,1,t),a=o&&Yt(o),s=i&&Yt(i),l=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+Gt(o).width,u=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+Gt(i).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&a.float&&"none"!==a.float){var c="left"===a.float?"left":"right";return!i||"both"!==s.clear&&s.clear!==c?"horizontal":"vertical"}return o&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||l>=r&&"none"===n[Gn]||i&&"none"===n[Gn]&&l+u>r)?"vertical":"horizontal"},$n=function(e){function t(e,n){return function(r,o,i,a){var s=r.options.group.name&&o.options.group.name&&r.options.group.name===o.options.group.name;if(null==e&&(n||s))return!0;if(null==e||!1===e)return!1;if(n&&"clone"===e)return e;if("function"==typeof e)return t(e(r,o,i,a),n)(r,o,i,a);var l=(n?r:o).options.group.name;return!0===e||"string"==typeof e&&e===l||e.join&&e.indexOf(l)>-1}}var n={},r=e.group;r&&"object"==It(r)||(r={name:r}),n.name=r.name,n.checkPull=t(r.pull,!0),n.checkPut=t(r.put),n.revertClone=r.revertClone,e.group=n},Zn=function(){!Vn&&pn&&Yt(pn,"display","none")},Kn=function(){!Vn&&pn&&Yt(pn,"display","")};Wn&&document.addEventListener("click",(function(e){if(Hn)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),Hn=!1,!1}),!0);var er=function(e){if(fn){e=e.touches?e.touches[0]:e;var t=(o=e.clientX,i=e.clientY,Fn.some((function(e){if(!Jt(e)){var t=Gt(e),n=e[on].options.emptyInsertThreshold,r=o>=t.left-n&&o<=t.right+n,s=i>=t.top-n&&i<=t.bottom+n;return n&&r&&s?a=e:void 0}})),a);if(t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);n.target=n.rootEl=t,n.preventDefault=void 0,n.stopPropagation=void 0,t[on]._onDragOver(n)}}var o,i,a},tr=function(e){fn&&fn.parentNode[on]._isOutsideThisEl(e.target)};function nr(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=St({},t),e[on]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Jn(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==nr.supportPointer&&"PointerEvent"in window&&!Ct,emptyInsertThreshold:5};for(var r in un.initializePlugins(this,e,n),n)!(r in t)&&(t[r]=n[r]);for(var o in $n(t),this)"_"===o.charAt(0)&&"function"==typeof this[o]&&(this[o]=this[o].bind(this));this.nativeDraggable=!t.forceFallback&&Qn,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?Nt(e,"pointerdown",this._onTapStart):(Nt(e,"mousedown",this._onTapStart),Nt(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(Nt(e,"dragover",this),Nt(e,"dragenter",this)),Fn.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),St(this,an())}function rr(e,t,n,r,o,i,a,s){var l,u,c=e[on],d=c.options.onMove;return!window.CustomEvent||Pt||_t?(l=document.createEvent("Event")).initEvent("move",!0,!0):l=new CustomEvent("move",{bubbles:!0,cancelable:!0}),l.to=t,l.from=e,l.dragged=n,l.draggedRect=r,l.related=o||t,l.relatedRect=i||Gt(t),l.willInsertAfter=s,l.originalEvent=a,e.dispatchEvent(l),d&&(u=d.call(c,l,a)),u}function or(e){e.draggable=!1}function ir(){Yn=!1}function ar(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,n=t.length,r=0;n--;)r+=t.charCodeAt(n);return r.toString(36)}function sr(e){return setTimeout(e,0)}function lr(e){return clearTimeout(e)}nr.prototype={constructor:nr,_isOutsideThisEl:function(e){this.el.contains(e)||e===this.el||(Mn=null)},_getDirection:function(e,t){return"function"==typeof this.options.direction?this.options.direction.call(this,e,t,fn):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,r=this.options,o=r.preventOnFilter,i=e.type,a=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,s=(a||e).target,l=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,u=r.filter;if(function(e){jn.length=0;var t=e.getElementsByTagName("input"),n=t.length;for(;n--;){var r=t[n];r.checked&&jn.push(r)}}(n),!fn&&!(/mousedown|pointerdown/.test(i)&&0!==e.button||r.disabled)&&!l.isContentEditable&&(this.nativeDraggable||!Ct||!s||"SELECT"!==s.tagName.toUpperCase())&&!((s=Ft(s,r.draggable,n,!1))&&s.animated||vn===s)){if(wn=$t(s),In=$t(s,r.draggable),"function"==typeof u){if(u.call(this,e,s,this))return dn({sortable:t,rootEl:l,name:"filter",targetEl:s,toEl:n,fromEl:n}),cn("filter",t,{evt:e}),void(o&&e.cancelable&&e.preventDefault())}else if(u&&(u=u.split(",").some((function(r){if(r=Ft(l,r.trim(),n,!1))return dn({sortable:t,rootEl:r,name:"filter",targetEl:s,fromEl:n,toEl:n}),cn("filter",t,{evt:e}),!0}))))return void(o&&e.cancelable&&e.preventDefault());r.handle&&!Ft(l,r.handle,n,!1)||this._prepareDragStart(e,a,s)}}},_prepareDragStart:function(e,t,n){var r,o=this,i=o.el,a=o.options,s=i.ownerDocument;if(n&&!fn&&n.parentNode===i){var l=Gt(n);if(gn=i,hn=(fn=n).parentNode,mn=fn.nextSibling,vn=n,Sn=a.group,nr.dragged=fn,xn={target:fn,clientX:(t||e).clientX,clientY:(t||e).clientY},Bn=xn.clientX-l.left,Cn=xn.clientY-l.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,fn.style["will-change"]="all",r=function(){cn("delayEnded",o,{evt:e}),nr.eventCanceled?o._onDrop():(o._disableDelayedDragEvents(),!Bt&&o.nativeDraggable&&(fn.draggable=!0),o._triggerDragStart(e,t),dn({sortable:o,name:"choose",originalEvent:e}),Ut(fn,a.chosenClass,!0))},a.ignore.split(",").forEach((function(e){Wt(fn,e.trim(),or)})),Nt(s,"dragover",er),Nt(s,"mousemove",er),Nt(s,"touchmove",er),Nt(s,"mouseup",o._onDrop),Nt(s,"touchend",o._onDrop),Nt(s,"touchcancel",o._onDrop),Bt&&this.nativeDraggable&&(this.options.touchStartThreshold=4,fn.draggable=!0),cn("delayStart",this,{evt:e}),!a.delay||a.delayOnTouchOnly&&!t||this.nativeDraggable&&(_t||Pt))r();else{if(nr.eventCanceled)return void this._onDrop();Nt(s,"mouseup",o._disableDelayedDrag),Nt(s,"touchend",o._disableDelayedDrag),Nt(s,"touchcancel",o._disableDelayedDrag),Nt(s,"mousemove",o._delayedDragTouchMoveHandler),Nt(s,"touchmove",o._delayedDragTouchMoveHandler),a.supportPointer&&Nt(s,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(r,a.delay)}}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){fn&&or(fn),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;Lt(e,"mouseup",this._disableDelayedDrag),Lt(e,"touchend",this._disableDelayedDrag),Lt(e,"touchcancel",this._disableDelayedDrag),Lt(e,"mousemove",this._delayedDragTouchMoveHandler),Lt(e,"touchmove",this._delayedDragTouchMoveHandler),Lt(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?Nt(document,"pointermove",this._onTouchMove):Nt(document,t?"touchmove":"mousemove",this._onTouchMove):(Nt(fn,"dragend",this),Nt(gn,"dragstart",this._onDragStart));try{document.selection?sr((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(e,t){if(Rn=!1,gn&&fn){cn("dragStarted",this,{evt:t}),this.nativeDraggable&&Nt(document,"dragover",tr);var n=this.options;!e&&Ut(fn,n.dragClass,!1),Ut(fn,n.ghostClass,!0),nr.active=this,e&&this._appendGhost(),dn({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(Dn){this._lastX=Dn.clientX,this._lastY=Dn.clientY,Zn();for(var e=document.elementFromPoint(Dn.clientX,Dn.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(Dn.clientX,Dn.clientY))!==t;)t=e;if(fn.parentNode[on]._isOutsideThisEl(e),t)do{if(t[on]){if(t[on]._onDragOver({clientX:Dn.clientX,clientY:Dn.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);Kn()}},_onTouchMove:function(e){if(xn){var t=this.options,n=t.fallbackTolerance,r=t.fallbackOffset,o=e.touches?e.touches[0]:e,i=pn&&jt(pn,!0),a=pn&&i&&i.a,s=pn&&i&&i.d,l=zn&&Ln&&Zt(Ln),u=(o.clientX-xn.clientX+r.x)/(a||1)+(l?l[0]-Un[0]:0)/(a||1),c=(o.clientY-xn.clientY+r.y)/(s||1)+(l?l[1]-Un[1]:0)/(s||1);if(!nr.active&&!Rn){if(n&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))r.right+o||e.clientX<=r.right&&e.clientY>r.bottom&&e.clientX>=r.left:e.clientX>r.right&&e.clientY>r.top||e.clientX<=r.right&&e.clientY>r.bottom+o}(e,o,this)&&!g.animated){if(g===fn)return B(!1);if(g&&i===e.target&&(a=g),a&&(n=Gt(a)),!1!==rr(gn,i,fn,t,a,n,e,!!a))return _(),i.appendChild(fn),hn=i,C(),B(!0)}else if(a.parentNode===i){n=Gt(a);var m,v,y,b=fn.parentNode!==i,w=!function(e,t,n){var r=n?e.left:e.top,o=n?e.right:e.bottom,i=n?e.width:e.height,a=n?t.left:t.top,s=n?t.right:t.bottom,l=n?t.width:t.height;return r===a||o===s||r+i/2===a+l/2}(fn.animated&&fn.toRect||t,a.animated&&a.toRect||n,o),E=o?"top":"left",I=Qt(a,"top","top")||Qt(fn,"top","top"),k=I?I.scrollTop:void 0;if(Mn!==a&&(v=n[E],Xn=!1,qn=!w&&s.invertSwap||b),0!==(m=function(e,t,n,r,o,i,a,s){var l=r?e.clientY:e.clientX,u=r?n.height:n.width,c=r?n.top:n.left,d=r?n.bottom:n.right,f=!1;if(!a)if(s&&Nnc+u*i/2:ld-Nn)return-An}else if(l>c+u*(1-o)/2&&ld-u*i/2))return l>c+u/2?1:-1;return 0}(e,a,n,o,w?1:s.swapThreshold,null==s.invertedSwapThreshold?s.swapThreshold:s.invertedSwapThreshold,qn,Mn===a))){var S=$t(fn);do{S-=m,y=hn.children[S]}while(y&&("none"===Yt(y,"display")||y===pn))}if(0===m||y===a)return B(!1);Mn=a,An=m;var T=a.nextElementSibling,x=!1,D=rr(gn,i,fn,t,a,n,e,x=1===m);if(!1!==D)return 1!==D&&-1!==D||(x=1===D),Yn=!0,setTimeout(ir,30),_(),x&&!T?i.appendChild(fn):a.parentNode.insertBefore(fn,x?T:a),I&&nn(I,0,k-I.scrollTop),hn=fn.parentNode,void 0===v||qn||(Nn=Math.abs(v-Gt(a)[E])),C(),B(!0)}if(i.contains(fn))return B(!1)}return!1}function P(s,l){cn(s,h,Tt({evt:e,isOwner:c,axis:o?"vertical":"horizontal",revert:r,dragRect:t,targetRect:n,canSort:d,fromSortable:f,target:a,completed:B,onMove:function(n,r){return rr(gn,i,fn,t,n,Gt(n),e,r)},changed:C},l))}function _(){P("dragOverAnimationCapture"),h.captureAnimationState(),h!==f&&f.captureAnimationState()}function B(t){return P("dragOverCompleted",{insertion:t}),t&&(c?u._hideClone():u._showClone(h),h!==f&&(Ut(fn,Tn?Tn.options.ghostClass:u.options.ghostClass,!1),Ut(fn,s.ghostClass,!0)),Tn!==h&&h!==nr.active?Tn=h:h===nr.active&&Tn&&(Tn=null),f===h&&(h._ignoreWhileAnimating=a),h.animateAll((function(){P("dragOverAnimationComplete"),h._ignoreWhileAnimating=null})),h!==f&&(f.animateAll(),f._ignoreWhileAnimating=null)),(a===fn&&!fn.animated||a===i&&!a.animated)&&(Mn=null),s.dragoverBubble||e.rootEl||a===document||(fn.parentNode[on]._isOutsideThisEl(e.target),!t&&er(e)),!s.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),p=!0}function C(){En=$t(fn),kn=$t(fn,s.draggable),dn({sortable:h,name:"change",toEl:i,newIndex:En,newDraggableIndex:kn,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){Lt(document,"mousemove",this._onTouchMove),Lt(document,"touchmove",this._onTouchMove),Lt(document,"pointermove",this._onTouchMove),Lt(document,"dragover",er),Lt(document,"mousemove",er),Lt(document,"touchmove",er)},_offUpEvents:function(){var e=this.el.ownerDocument;Lt(e,"mouseup",this._onDrop),Lt(e,"touchend",this._onDrop),Lt(e,"pointerup",this._onDrop),Lt(e,"touchcancel",this._onDrop),Lt(document,"selectstart",this)},_onDrop:function(e){var t=this.el,n=this.options;En=$t(fn),kn=$t(fn,n.draggable),cn("drop",this,{evt:e}),hn=fn&&fn.parentNode,En=$t(fn),kn=$t(fn,n.draggable),nr.eventCanceled||(Rn=!1,qn=!1,Xn=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),lr(this.cloneId),lr(this._dragStartId),this.nativeDraggable&&(Lt(document,"drop",this),Lt(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Ct&&Yt(document.body,"user-select",""),Yt(fn,"transform",""),e&&(On&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),pn&&pn.parentNode&&pn.parentNode.removeChild(pn),(gn===hn||Tn&&"clone"!==Tn.lastPutMode)&&yn&&yn.parentNode&&yn.parentNode.removeChild(yn),fn&&(this.nativeDraggable&&Lt(fn,"dragend",this),or(fn),fn.style["will-change"]="",On&&!Rn&&Ut(fn,Tn?Tn.options.ghostClass:this.options.ghostClass,!1),Ut(fn,this.options.chosenClass,!1),dn({sortable:this,name:"unchoose",toEl:hn,newIndex:null,newDraggableIndex:null,originalEvent:e}),gn!==hn?(En>=0&&(dn({rootEl:hn,name:"add",toEl:hn,fromEl:gn,originalEvent:e}),dn({sortable:this,name:"remove",toEl:hn,originalEvent:e}),dn({rootEl:hn,name:"sort",toEl:hn,fromEl:gn,originalEvent:e}),dn({sortable:this,name:"sort",toEl:hn,originalEvent:e})),Tn&&Tn.save()):En!==wn&&En>=0&&(dn({sortable:this,name:"update",toEl:hn,originalEvent:e}),dn({sortable:this,name:"sort",toEl:hn,originalEvent:e})),nr.active&&(null!=En&&-1!==En||(En=wn,kn=In),dn({sortable:this,name:"end",toEl:hn,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){cn("nulling",this),gn=fn=hn=pn=mn=yn=vn=bn=xn=Dn=On=En=kn=wn=In=Mn=An=Tn=Sn=nr.dragged=nr.ghost=nr.clone=nr.active=null,jn.forEach((function(e){e.checked=!0})),jn.length=Pn=_n=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":fn&&(this._onDragOver(e),function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move");e.cancelable&&e.preventDefault()}(e));break;case"selectstart":e.preventDefault()}},toArray:function(){for(var e,t=[],n=this.el.children,r=0,o=n.length,i=this.options;r