Version Description
- Feature: New table type - Create a simple table with any data, merged cells, styling, star rating and a lot more.
- Feature: Added Slovenian translation
- Improvement: Update French translation
- Improvement: Added new color picker
- Other small bug fixes and stability improvements.
Download this release
Release Info
Developer | wpDataTables |
Plugin | wpDataTables Lite |
Version | 2.1.3 |
Comparing to | |
See all releases |
Code changes from version 2.1.2 to 2.1.3
- assets/css/admin/admin.css +53 -3
- assets/css/admin/constructor.css +69 -14
- assets/css/admin/dashboard.css +1 -0
- assets/css/admin/edit_table.css +359 -0
- assets/css/admin/getting-started.css +1 -2
- assets/css/admin/starRating.min.css +1 -0
- assets/css/bootstrap/wpdatatables-bootstrap.css +11 -36
- assets/css/color-pickr/classic-theme.min.css +1 -0
- assets/css/handsontable.full.min.css +34 -28
- assets/css/style.css +88 -4
- assets/css/style.min.css +1 -1
- assets/css/wdt.frontend.min.css +1 -1
- assets/css/wdt.simpleTable.css +310 -0
- assets/css/wdt.simpleTable.min.css +1 -0
- assets/css/wpdatatables.min.css +12 -1
- assets/fonts/wpDataTablesIcons.eot +0 -0
- assets/fonts/wpDataTablesIcons.svg +28 -0
- assets/fonts/wpDataTablesIcons.ttf +0 -0
- assets/fonts/wpDataTablesIcons.woff +0 -0
- assets/img/constructor/create-simple-table.png +0 -0
- assets/img/constructor/create-simple-table.svg +20 -0
- assets/js/bootstrap/bootstrap-tour/bootstrap-tour-guide.js +290 -3
- assets/js/color-pickr/pickr.es5.min.js +4 -0
- assets/js/color-pickr/pickr.js +910 -0
- assets/js/color-pickr/pickr.min.js +1 -0
- assets/js/editor-plugins/code/plugin.js +94 -0
- assets/js/editor-plugins/code/plugin.min.js +1 -0
- assets/js/handsontable/handsontable.full.6.2.2.js +14772 -0
assets/css/admin/admin.css
CHANGED
@@ -743,6 +743,8 @@ div.mce-widget button i.mce-i-wpdatachart{
|
|
743 |
.wpdt-c #wdt-rb-backend-close-modal .modal-content .modal-footer #wdt-rb-backend-close-button,
|
744 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-continue-button,
|
745 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-close-button,
|
|
|
|
|
746 |
.wpdt-c #wdt-error-modal .modal-content .modal-footer button,
|
747 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-cancel-delete-button,
|
748 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-browse-delete-button,
|
@@ -758,6 +760,7 @@ div.mce-widget button i.mce-i-wpdatachart{
|
|
758 |
|
759 |
.wpdt-c #wdt-rb-backend-close-modal .modal-content .modal-footer #wdt-rb-backend-continue-button,
|
760 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-continue-button,
|
|
|
761 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-cancel-delete-button,
|
762 |
.wpdt-c #wdt-error-modal .modal-content .modal-footer button,
|
763 |
.wpdt-c #wdt-range-picker .modal-content .modal-footer #wdt-cancel-range {
|
@@ -769,6 +772,7 @@ div.mce-widget button i.mce-i-wpdatachart{
|
|
769 |
}
|
770 |
.wpdt-c #wdt-rb-backend-close-modal .modal-content .modal-footer #wdt-rb-backend-continue-button:hover,
|
771 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-continue-button:hover,
|
|
|
772 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-cancel-delete-button:hover,
|
773 |
.wpdt-c #wdt-error-modal .modal-content .modal-footer button:hover,
|
774 |
.wpdt-c #wdt-range-picker .modal-content .modal-footer #wdt-cancel-range:hover {
|
@@ -780,6 +784,7 @@ div.mce-widget button i.mce-i-wpdatachart{
|
|
780 |
.wpdt-c #separate-connection .wdt-my-sql-delete,
|
781 |
.wpdt-c #wdt-rb-backend-close-modal .modal-content .modal-footer #wdt-rb-backend-close-button,
|
782 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-close-button,
|
|
|
783 |
.wpdt-c #wdt-remove-column-modal #wdt-remove-column-submit,
|
784 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-browse-delete-button{
|
785 |
background: #F03E3E;
|
@@ -787,6 +792,7 @@ div.mce-widget button i.mce-i-wpdatachart{
|
|
787 |
}
|
788 |
.wpdt-c #separate-connection .wdt-my-sql-delete:hover,
|
789 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-close-button:hover,
|
|
|
790 |
.wpdt-c #wdt-rb-backend-close-modal .modal-content .modal-footer #wdt-rb-backend-close-button:hover,
|
791 |
.wpdt-c #wdt-remove-column-modal #wdt-remove-column-submit:hover,
|
792 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-browse-delete-button:hover{
|
@@ -923,10 +929,18 @@ div.mce-widget button i.mce-i-wpdatachart{
|
|
923 |
top: 50%;
|
924 |
}
|
925 |
|
926 |
-
.wpdt-c .
|
927 |
width: 100%;
|
928 |
}
|
929 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
930 |
.wpdt-c .wpcolorpicker-icon.input-group-addon {
|
931 |
position: absolute;
|
932 |
right: 1px;
|
@@ -935,15 +949,19 @@ div.mce-widget button i.mce-i-wpdatachart{
|
|
935 |
height: 25px;
|
936 |
width: 25px;
|
937 |
padding: 0;
|
|
|
938 |
}
|
939 |
.wpdt-c #column-conditional-formatting-settings .wdt-conditional-formatting-rule .wpcolorpicker-icon.input-group-addon {
|
940 |
right: 13px;
|
941 |
}
|
942 |
|
943 |
-
.wpdt-c .
|
944 |
-
.wpdt-c .
|
945 |
height: 28px;
|
946 |
width: 28px;
|
|
|
|
|
|
|
947 |
}
|
948 |
.wpdt-c .wdt-conditional-formatting-rule {
|
949 |
padding-top: 12px;
|
@@ -1204,6 +1222,7 @@ div.mce-widget button i.mce-i-wpdatachart{
|
|
1204 |
.wpdt-c #separate-connection .wdt-my-sql-delete i,
|
1205 |
.wpdt-c .wdt-store-activate-plugin i,
|
1206 |
.wpdt-c .wdt-envato-activation .wdt-envato-deactivation-button i,
|
|
|
1207 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-close-button i,
|
1208 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-cancel-delete-button i{
|
1209 |
margin-right: 8px;
|
@@ -1436,6 +1455,37 @@ div.mce-widget button i.mce-i-wpdatachart{
|
|
1436 |
background: #F8F8FA;
|
1437 |
border-radius: 0 2px 2px 0;
|
1438 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1439 |
.wpdt-c #wdt-premium-modal .modal-title {
|
1440 |
font-family: Inter;
|
1441 |
font-style: normal;
|
743 |
.wpdt-c #wdt-rb-backend-close-modal .modal-content .modal-footer #wdt-rb-backend-close-button,
|
744 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-continue-button,
|
745 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-close-button,
|
746 |
+
.wpdt-c #wdt-backend-warning-modal .modal-content .modal-footer #wdt-backend-warning-continue-button,
|
747 |
+
.wpdt-c #wdt-backend-warning-modal .modal-content .modal-footer #wdt-backend-clear-table-data-button,
|
748 |
.wpdt-c #wdt-error-modal .modal-content .modal-footer button,
|
749 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-cancel-delete-button,
|
750 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-browse-delete-button,
|
760 |
|
761 |
.wpdt-c #wdt-rb-backend-close-modal .modal-content .modal-footer #wdt-rb-backend-continue-button,
|
762 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-continue-button,
|
763 |
+
.wpdt-c #wdt-backend-warning-modal .modal-content .modal-footer #wdt-backend-warning-continue-button,
|
764 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-cancel-delete-button,
|
765 |
.wpdt-c #wdt-error-modal .modal-content .modal-footer button,
|
766 |
.wpdt-c #wdt-range-picker .modal-content .modal-footer #wdt-cancel-range {
|
772 |
}
|
773 |
.wpdt-c #wdt-rb-backend-close-modal .modal-content .modal-footer #wdt-rb-backend-continue-button:hover,
|
774 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-continue-button:hover,
|
775 |
+
.wpdt-c #wdt-backend-warning-modal .modal-content .modal-footer #wdt-backend-warning-continue-button:hover,
|
776 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-cancel-delete-button:hover,
|
777 |
.wpdt-c #wdt-error-modal .modal-content .modal-footer button:hover,
|
778 |
.wpdt-c #wdt-range-picker .modal-content .modal-footer #wdt-cancel-range:hover {
|
784 |
.wpdt-c #separate-connection .wdt-my-sql-delete,
|
785 |
.wpdt-c #wdt-rb-backend-close-modal .modal-content .modal-footer #wdt-rb-backend-close-button,
|
786 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-close-button,
|
787 |
+
.wpdt-c #wdt-backend-warning-modal .modal-content .modal-footer #wdt-backend-clear-table-data-button,
|
788 |
.wpdt-c #wdt-remove-column-modal #wdt-remove-column-submit,
|
789 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-browse-delete-button{
|
790 |
background: #F03E3E;
|
792 |
}
|
793 |
.wpdt-c #separate-connection .wdt-my-sql-delete:hover,
|
794 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-close-button:hover,
|
795 |
+
.wpdt-c #wdt-backend-warning-modal .modal-content .modal-footer #wdt-backend-clear-table-data-button:hover,
|
796 |
.wpdt-c #wdt-rb-backend-close-modal .modal-content .modal-footer #wdt-rb-backend-close-button:hover,
|
797 |
.wpdt-c #wdt-remove-column-modal #wdt-remove-column-submit:hover,
|
798 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-browse-delete-button:hover{
|
929 |
top: 50%;
|
930 |
}
|
931 |
|
932 |
+
.wpdt-c .wdt-color-picker {
|
933 |
width: 100%;
|
934 |
}
|
935 |
|
936 |
+
.wpdt-c #wpdt-table-editor img{
|
937 |
+
max-width: 100%;
|
938 |
+
height: auto;
|
939 |
+
}
|
940 |
+
.wpdt-c #wpdt-table-editor .ht_clone_left table tbody tr th{
|
941 |
+
vertical-align: middle;
|
942 |
+
}
|
943 |
+
|
944 |
.wpdt-c .wpcolorpicker-icon.input-group-addon {
|
945 |
position: absolute;
|
946 |
right: 1px;
|
949 |
height: 25px;
|
950 |
width: 25px;
|
951 |
padding: 0;
|
952 |
+
pointer-events: none;
|
953 |
}
|
954 |
.wpdt-c #column-conditional-formatting-settings .wdt-conditional-formatting-rule .wpcolorpicker-icon.input-group-addon {
|
955 |
right: 13px;
|
956 |
}
|
957 |
|
958 |
+
.wpdt-c .wpcolorpicker-icon.add-on>i,
|
959 |
+
.wpdt-c .wpcolorpicker-icon.input-group-addon>i {
|
960 |
height: 28px;
|
961 |
width: 28px;
|
962 |
+
display: inline-block;
|
963 |
+
cursor: pointer;
|
964 |
+
vertical-align: text-top;
|
965 |
}
|
966 |
.wpdt-c .wdt-conditional-formatting-rule {
|
967 |
padding-top: 12px;
|
1222 |
.wpdt-c #separate-connection .wdt-my-sql-delete i,
|
1223 |
.wpdt-c .wdt-store-activate-plugin i,
|
1224 |
.wpdt-c .wdt-envato-activation .wdt-envato-deactivation-button i,
|
1225 |
+
.wpdt-c #wdt-backend-warning-modal .modal-content .modal-footer #wdt-backend-clear-table-data-button i,
|
1226 |
.wpdt-c #wdt-backend-close-modal .modal-content .modal-footer #wdt-backend-close-button i,
|
1227 |
.wpdt-c #wdt-delete-modal .modal-content .modal-footer .wdt-cancel-delete-button i{
|
1228 |
margin-right: 8px;
|
1455 |
background: #F8F8FA;
|
1456 |
border-radius: 0 2px 2px 0;
|
1457 |
}
|
1458 |
+
#wpdt-views {
|
1459 |
+
display: flex;
|
1460 |
+
justify-content: flex-start;
|
1461 |
+
}
|
1462 |
+
#wpdt-views .nav-link {
|
1463 |
+
font-family: Inter;
|
1464 |
+
font-style: normal;
|
1465 |
+
font-weight: 500;
|
1466 |
+
font-size: 14px;
|
1467 |
+
line-height: 20px;
|
1468 |
+
color: #5A6C89;
|
1469 |
+
background-color: #fff !important;
|
1470 |
+
}
|
1471 |
+
#wpdt-views .nav-item {
|
1472 |
+
cursor: pointer;
|
1473 |
+
}
|
1474 |
+
#wpdt-views .nav-item:hover {
|
1475 |
+
border-bottom: 1px solid #008CFF;
|
1476 |
+
color: #008CFF;
|
1477 |
+
background-color: #fff !important;
|
1478 |
+
}
|
1479 |
+
#wpdt-views .nav-item.active {
|
1480 |
+
border-bottom: 1px solid #008CFF;
|
1481 |
+
}
|
1482 |
+
|
1483 |
+
#wpdt-views .nav-item .nav-link:hover,
|
1484 |
+
#wpdt-views .nav-item.active .nav-link{
|
1485 |
+
color: #008CFF;
|
1486 |
+
background-color: #fff !important;
|
1487 |
+
}
|
1488 |
+
|
1489 |
.wpdt-c #wdt-premium-modal .modal-title {
|
1490 |
font-family: Inter;
|
1491 |
font-style: normal;
|
assets/css/admin/constructor.css
CHANGED
@@ -394,6 +394,7 @@
|
|
394 |
font-weight: 600;
|
395 |
font-size: 14px;
|
396 |
margin-top: 1px;
|
|
|
397 |
}
|
398 |
.wpdt-c .btn-group.wdt-constructor-create-buttons > .btn:first-child i {
|
399 |
font-size: 14px;
|
@@ -505,17 +506,8 @@
|
|
505 |
padding: 0 20px 0 0;
|
506 |
margin-bottom: 15px;
|
507 |
margin-top: 13px;
|
|
|
508 |
}
|
509 |
-
|
510 |
-
.wpdt-c .wdt-table-constructor .wdt-constructor-type-selecter-block .card.wdt-premium-feature {
|
511 |
-
border: 1px solid #FFE8CC !important;
|
512 |
-
}
|
513 |
-
.wpdt-c .wdt-table-constructor .wdt-constructor-type-selecter-block .card.wdt-premium-feature:focus,
|
514 |
-
.wpdt-c .wdt-table-constructor .wdt-constructor-type-selecter-block .card.wdt-premium-feature:hover {
|
515 |
-
background: linear-gradient(0deg, rgba(255, 244, 230, 0.25), rgba(255, 244, 230, 0.25)), #FFFFFF;
|
516 |
-
border: 1px solid #FFA94D !important;
|
517 |
-
}
|
518 |
-
|
519 |
.wpdt-c .wdt-table-constructor .wdt-constructor-type-selecter-block .card.selected {
|
520 |
border: 1px solid #008CFF;
|
521 |
box-shadow: 0 3px 2px rgba(23, 43, 77, 0.04), 0 0 2px rgba(23, 43, 77, 0.03), 0 0 0 3px rgb(230, 240, 255);
|
@@ -555,7 +547,6 @@
|
|
555 |
max-width: 58px;
|
556 |
}
|
557 |
|
558 |
-
|
559 |
.wpdt-c .wdt-table-constructor .wdt-constructor-type-selecter-block .wdt-constructor-overlay {
|
560 |
border-radius: 4px;
|
561 |
transition: .5s ease;
|
@@ -590,8 +581,6 @@
|
|
590 |
opacity: 1;
|
591 |
}
|
592 |
|
593 |
-
|
594 |
-
|
595 |
.wpdt-c .wdt-table-constructor #wdt-constructor-post-add-grouping-rule,
|
596 |
.wpdt-c .wdt-table-constructor #wdt-constructor-add-post-condition,
|
597 |
.wpdt-c .wdt-table-constructor #wdt-constructor-add-mysql-condition,
|
@@ -692,7 +681,6 @@
|
|
692 |
text-overflow: ellipsis;
|
693 |
}
|
694 |
|
695 |
-
|
696 |
.wpdt-c .wdt-table-constructor .wdt-constructor-step[data-step="1-2"] .fg-line {
|
697 |
width: 75%;
|
698 |
}
|
@@ -721,4 +709,71 @@
|
|
721 |
|
722 |
.wpdt-c .wdt-constructor-create-buttons button {
|
723 |
text-transform: uppercase;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
724 |
}
|
394 |
font-weight: 600;
|
395 |
font-size: 14px;
|
396 |
margin-top: 1px;
|
397 |
+
z-index: 1200;
|
398 |
}
|
399 |
.wpdt-c .btn-group.wdt-constructor-create-buttons > .btn:first-child i {
|
400 |
font-size: 14px;
|
506 |
padding: 0 20px 0 0;
|
507 |
margin-bottom: 15px;
|
508 |
margin-top: 13px;
|
509 |
+
min-height: 107px;
|
510 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
511 |
.wpdt-c .wdt-table-constructor .wdt-constructor-type-selecter-block .card.selected {
|
512 |
border: 1px solid #008CFF;
|
513 |
box-shadow: 0 3px 2px rgba(23, 43, 77, 0.04), 0 0 2px rgba(23, 43, 77, 0.03), 0 0 0 3px rgb(230, 240, 255);
|
547 |
max-width: 58px;
|
548 |
}
|
549 |
|
|
|
550 |
.wpdt-c .wdt-table-constructor .wdt-constructor-type-selecter-block .wdt-constructor-overlay {
|
551 |
border-radius: 4px;
|
552 |
transition: .5s ease;
|
581 |
opacity: 1;
|
582 |
}
|
583 |
|
|
|
|
|
584 |
.wpdt-c .wdt-table-constructor #wdt-constructor-post-add-grouping-rule,
|
585 |
.wpdt-c .wdt-table-constructor #wdt-constructor-add-post-condition,
|
586 |
.wpdt-c .wdt-table-constructor #wdt-constructor-add-mysql-condition,
|
681 |
text-overflow: ellipsis;
|
682 |
}
|
683 |
|
|
|
684 |
.wpdt-c .wdt-table-constructor .wdt-constructor-step[data-step="1-2"] .fg-line {
|
685 |
width: 75%;
|
686 |
}
|
709 |
|
710 |
.wpdt-c .wdt-constructor-create-buttons button {
|
711 |
text-transform: uppercase;
|
712 |
+
}
|
713 |
+
.wpdt-c #wdt-simple-table-constructor{
|
714 |
+
background: #008CFF;
|
715 |
+
border: none;
|
716 |
+
box-sizing: border-box;
|
717 |
+
font-style: normal;
|
718 |
+
color: #FFFFFF;
|
719 |
+
font-family: Inter;
|
720 |
+
font-weight: 500;
|
721 |
+
font-size: 14px;
|
722 |
+
line-height: 20px;
|
723 |
+
padding: 8px 16px;
|
724 |
+
border-radius: 5px;
|
725 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.06) !important;
|
726 |
+
}
|
727 |
+
.wdt-constructor-type-selecter-block .card .ribbon {
|
728 |
+
position: absolute;
|
729 |
+
right: -5px;
|
730 |
+
top: -5px;
|
731 |
+
z-index: 1;
|
732 |
+
overflow: hidden;
|
733 |
+
width: 75px;
|
734 |
+
height: 75px;
|
735 |
+
text-align: right;
|
736 |
+
}
|
737 |
+
|
738 |
+
.wdt-constructor-type-selecter-block .card .ribbon span {
|
739 |
+
font-size: 10px;
|
740 |
+
font-weight: 700;
|
741 |
+
color: #fff;
|
742 |
+
text-transform: uppercase;
|
743 |
+
text-align: center;
|
744 |
+
line-height: 20px;
|
745 |
+
transform: rotate(45deg);
|
746 |
+
-webkit-transform: rotate(45deg);
|
747 |
+
width: 100px;
|
748 |
+
display: block;
|
749 |
+
background: #79a70a;
|
750 |
+
background: linear-gradient(#091D70 0, #091D70 100%);
|
751 |
+
box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
|
752 |
+
position: absolute;
|
753 |
+
top: 19px;
|
754 |
+
right: -21px;
|
755 |
+
}
|
756 |
+
|
757 |
+
.wdt-constructor-type-selecter-block .card .ribbon span::before {
|
758 |
+
content: "";
|
759 |
+
position: absolute;
|
760 |
+
left: 0;
|
761 |
+
top: 100%;
|
762 |
+
z-index: -1;
|
763 |
+
border-left: 3px solid #091D70;
|
764 |
+
border-right: 3px solid transparent;
|
765 |
+
border-bottom: 3px solid transparent;
|
766 |
+
border-top: 3px solid #091D70;
|
767 |
+
}
|
768 |
+
|
769 |
+
.wdt-constructor-type-selecter-block .card .ribbon span::after {
|
770 |
+
content: "";
|
771 |
+
position: absolute;
|
772 |
+
right: 0;
|
773 |
+
top: 100%;
|
774 |
+
z-index: -1;
|
775 |
+
border-left: 3px solid transparent;
|
776 |
+
border-right: 3px solid #091D70;
|
777 |
+
border-bottom: 3px solid transparent;
|
778 |
+
border-top: 3px solid #091D70;
|
779 |
}
|
assets/css/admin/dashboard.css
CHANGED
@@ -164,6 +164,7 @@
|
|
164 |
.wdt-datatables-admin-wrap .wdt-premium-features-card .wdt-premium-features i{
|
165 |
font-weight: 900;
|
166 |
font-size: 13px;
|
|
|
167 |
line-height: 20px;
|
168 |
color: #008CFF;
|
169 |
}
|
164 |
.wdt-datatables-admin-wrap .wdt-premium-features-card .wdt-premium-features i{
|
165 |
font-weight: 900;
|
166 |
font-size: 13px;
|
167 |
+
margin-right: 5px;
|
168 |
line-height: 20px;
|
169 |
color: #008CFF;
|
170 |
}
|
assets/css/admin/edit_table.css
CHANGED
@@ -636,10 +636,369 @@ div.wdt-column-block.gu-mirror span {
|
|
636 |
background: #F8F8FA;
|
637 |
border-radius: 0 2px 2px 0;
|
638 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
639 |
@media (max-width: 768px) {
|
|
|
640 |
.wpdt-c .wdt-datatables-admin-wrap div.column-settings-panel {
|
641 |
width: 100% !important;
|
642 |
max-width: 100% !important;
|
643 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
644 |
|
645 |
}
|
636 |
background: #F8F8FA;
|
637 |
border-radius: 0 2px 2px 0;
|
638 |
}
|
639 |
+
|
640 |
+
.wpdt-c .wdt-simple-table-settings .tab-content {
|
641 |
+
padding: 0 !important;
|
642 |
+
}
|
643 |
+
.wpdt-c .wdt-simple-table-settings #edit-table-settings .btn.disabled{
|
644 |
+
opacity: 1;
|
645 |
+
color: #ced0d1 !important;
|
646 |
+
}
|
647 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerSimpleTable,
|
648 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerConfigSimpleTable{
|
649 |
+
position: relative;
|
650 |
+
margin: auto;
|
651 |
+
background: #fff;
|
652 |
+
text-align: center;
|
653 |
+
}
|
654 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerConfigSimpleTable {
|
655 |
+
margin: 0;
|
656 |
+
padding: 0;
|
657 |
+
}
|
658 |
+
|
659 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerSimpleTable {
|
660 |
+
margin-top: 0;
|
661 |
+
margin-bottom: 20px;
|
662 |
+
padding: 0;
|
663 |
+
}
|
664 |
+
|
665 |
+
.wpdt-c .wdt-datatables-admin-wrap .wpdt-row-flex {
|
666 |
+
margin: 20px 0;
|
667 |
+
display: flex;
|
668 |
+
flex-direction: column;
|
669 |
+
}
|
670 |
+
.wpdt-c .wdt-datatables-admin-wrap #wpdt-star-size,
|
671 |
+
.wpdt-c .wdt-datatables-admin-wrap #wpdt-star-number {
|
672 |
+
border-radius: 4px;
|
673 |
+
border: solid 1px #dcdfe6;
|
674 |
+
font-family: Roboto;
|
675 |
+
font-size: 14px;
|
676 |
+
font-weight: normal;
|
677 |
+
font-style: normal;
|
678 |
+
font-stretch: normal;
|
679 |
+
line-height: 1;
|
680 |
+
letter-spacing: normal;
|
681 |
+
color: #606266;
|
682 |
+
height: 36px !important;
|
683 |
+
}
|
684 |
+
|
685 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerConfigSimpleTable {
|
686 |
+
justify-content: center;
|
687 |
+
margin-bottom: 10px;
|
688 |
+
}
|
689 |
+
|
690 |
+
.wpdt-c .wdt-datatables-admin-wrap .wpdt-actions-main-wrap {
|
691 |
+
border: 3px solid #eee;
|
692 |
+
}
|
693 |
+
.wpdt-c .wdt-datatables-admin-wrap .wpdt-manage-title,
|
694 |
+
.wpdt-c .wdt-datatables-admin-wrap .wpdt-cell-data-title {
|
695 |
+
text-align: center;
|
696 |
+
}
|
697 |
+
|
698 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpdt-cell-action-buttons .btn {
|
699 |
+
padding: 6px 8px;
|
700 |
+
font-size: 16px;
|
701 |
+
font-weight: 500;
|
702 |
+
text-transform: none !important;
|
703 |
+
min-width: 34px;
|
704 |
+
}
|
705 |
+
|
706 |
+
.wpdt-c .wdt-datatables-admin-wrap .wpdt-cell-actions-titles {
|
707 |
+
margin-top: 10px;
|
708 |
+
}
|
709 |
+
|
710 |
+
#wpdt-table-editor {
|
711 |
+
width: 100%;
|
712 |
+
z-index: 10;
|
713 |
+
}
|
714 |
+
|
715 |
+
|
716 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerConfigSimpleTable .wpdtSimpleTable{
|
717 |
+
table-layout: fixed;
|
718 |
+
display: table;
|
719 |
+
border-collapse: collapse !important;
|
720 |
+
overflow-x: auto;
|
721 |
+
overflow-y: hidden;
|
722 |
+
min-width: 1000px;
|
723 |
+
width: 100%;
|
724 |
+
}
|
725 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerConfigSimpleTable#wpdatatable-preview-container{
|
726 |
+
max-width: 1200px;
|
727 |
+
overflow: auto;
|
728 |
+
}
|
729 |
+
|
730 |
+
|
731 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerConfigSimpleTable .wpdtSimpleTable td {
|
732 |
+
padding: 25px;
|
733 |
+
position: relative;
|
734 |
+
}
|
735 |
+
|
736 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerSimpleTable .wpdtSimpleTable td img {
|
737 |
+
max-width: 100%;
|
738 |
+
height: auto;
|
739 |
+
}
|
740 |
+
|
741 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerSimpleTable .wpdtSimpleTable td.selected {
|
742 |
+
border: 1px solid royalblue;
|
743 |
+
}
|
744 |
+
|
745 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerConfigSimpleTable .wpdtSimpleTable td.wpdt-cell {
|
746 |
+
width: 150px;
|
747 |
+
border: 1px dashed #969fa6;
|
748 |
+
|
749 |
+
}
|
750 |
+
|
751 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerConfigSimpleTable .wpdtSimpleTable td.wpdt-cell input {
|
752 |
+
width: 100%;
|
753 |
+
}
|
754 |
+
|
755 |
+
|
756 |
+
.wpdt-c .wdt-datatables-admin-wrap #wpdt-cell-action-buttons button:active,
|
757 |
+
.wpdt-c .wdt-datatables-admin-wrap #wpdt-table-action-buttons button:active,
|
758 |
+
.wpdt-c .wdt-datatables-admin-wrap #wpdt-cell-action-buttons button:focus,
|
759 |
+
.wpdt-c .wdt-datatables-admin-wrap #wpdt-table-action-buttons button:focus,
|
760 |
+
.wpdt-c .wdt-datatables-admin-wrap #wpdt-cell-action-buttons button,
|
761 |
+
.wpdt-c .wdt-datatables-admin-wrap #wpdt-table-action-buttons button {
|
762 |
+
color: #5f6368 !important;
|
763 |
+
background-color: #FFFFFF !important;
|
764 |
+
}
|
765 |
+
|
766 |
+
.wpdt-c .wdt-datatables-admin-wrap #wpdt-cell-action-buttons button.selected,
|
767 |
+
.wpdt-c .wdt-datatables-admin-wrap #wpdt-cell-action-buttons button:hover:not(.disabled),
|
768 |
+
.wpdt-c .wdt-datatables-admin-wrap #wpdt-table-action-buttons button:hover:not(.disabled) {
|
769 |
+
color: #FFFFFF !important;
|
770 |
+
background-color: #5f6368 !important;
|
771 |
+
}
|
772 |
+
|
773 |
+
.wpdt-c #wdt-cell-modal .modal-body input {
|
774 |
+
width: 100%;
|
775 |
+
display: block;
|
776 |
+
}
|
777 |
+
.wpdt-c .wdt-datatables-admin-wrap #wpdt-cell-action-buttons {
|
778 |
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
|
779 |
+
border-radius: 4px;
|
780 |
+
width: fit-content;
|
781 |
+
}
|
782 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpdt-cell-action-buttons {
|
783 |
+
display: inline-block;
|
784 |
+
}
|
785 |
+
.wpdt-c #wpdt-align-button, #wpdt-valign-button{
|
786 |
+
position: relative;
|
787 |
+
}
|
788 |
+
.wpdt-c #wpdt-row-button, #wpdt-column-button {
|
789 |
+
position: relative;
|
790 |
+
padding: 6px 4px;
|
791 |
+
}
|
792 |
+
.wpdt-c #wpdt-cell-action-buttons .btn-separator,
|
793 |
+
.wpdt-c #wpdt-table-action-buttons .btn-separator {
|
794 |
+
border-left: 1px solid #dadce0;
|
795 |
+
margin: 5px 0;
|
796 |
+
user-select: none;
|
797 |
+
vertical-align: top;
|
798 |
+
line-height: normal;
|
799 |
+
list-style: none;
|
800 |
+
outline: none;
|
801 |
+
overflow: hidden;
|
802 |
+
padding: 0;
|
803 |
+
text-decoration: none;
|
804 |
+
width: 0;
|
805 |
+
position: relative;
|
806 |
+
display: -moz-inline-box;
|
807 |
+
display: inline-block;
|
808 |
+
}
|
809 |
+
.wpdt-c #wpdt-cell-action-buttons .btn-separator {
|
810 |
+
height: 26px;
|
811 |
+
}
|
812 |
+
.wpdt-c #wpdt-expand-buttons,
|
813 |
+
.wpdt-c #wpdt-table-action-buttons{
|
814 |
+
display: inline-block;
|
815 |
+
}
|
816 |
+
.wpdt-c #wpdt-expand-wrap-buttons,
|
817 |
+
.wpdt-c #wpdt-expand-align-buttons,
|
818 |
+
.wpdt-c #wpdt-expand-valign-buttons,
|
819 |
+
.wpdt-c #wpdt-column-action-buttons,
|
820 |
+
.wpdt-c #wpdt-row-action-buttons{
|
821 |
+
position: relative;
|
822 |
+
display: inline-block;
|
823 |
+
}
|
824 |
+
.wpdt-c #wpdt-table-action-buttons *:after{
|
825 |
+
font-size: 16px;
|
826 |
+
}
|
827 |
+
.wpdt-c #wpdt-column-actions, .wpdt-c #wpdt-row-actions,
|
828 |
+
.wpdt-c #wpdt-align-buttons, .wpdt-c #wpdt-valign-buttons,
|
829 |
+
.wpdt-c #wpdt-wrap-buttons{
|
830 |
+
position: absolute;
|
831 |
+
z-index: 10000;
|
832 |
+
background-color: #fff;
|
833 |
+
border: 1px solid transparent;
|
834 |
+
border-radius: 4px;
|
835 |
+
box-shadow: 0 2px 6px 2px rgba(60,64,67,.15);
|
836 |
+
transition: opacity 0.218s;
|
837 |
+
cursor: default;
|
838 |
+
font-size: 13px;
|
839 |
+
margin: 0;
|
840 |
+
outline: none;
|
841 |
+
}
|
842 |
+
.wpdt-c #wpdt-align-buttons {
|
843 |
+
height: 35px;
|
844 |
+
width: 149px;
|
845 |
+
}
|
846 |
+
.wpdt-c #wpdt-valign-buttons,
|
847 |
+
.wpdt-c #wpdt-wrap-buttons{
|
848 |
+
height: 35px;
|
849 |
+
width: 112px;
|
850 |
+
}
|
851 |
+
.wpdt-c #wpdt-column-actions, .wpdt-c #wpdt-row-actions{
|
852 |
+
width: 187px;
|
853 |
+
height: 35px;
|
854 |
+
}
|
855 |
+
.wpdt-c #wpdt-wrap-buttons .btn,
|
856 |
+
.wpdt-c #wpdt-align-buttons .btn,
|
857 |
+
.wpdt-c #wpdt-valign-buttons .btn,
|
858 |
+
.wpdt-c #wpdt-column-actions .btn,
|
859 |
+
.wpdt-c #wpdt-row-actions .btn{
|
860 |
+
z-index: 10001;
|
861 |
+
margin: 0;
|
862 |
+
}
|
863 |
+
|
864 |
+
|
865 |
+
.wpdt-c #wpdt-text-color,
|
866 |
+
.wpdt-c #wpdt-background-color {
|
867 |
+
position: relative;
|
868 |
+
border-bottom: 5px solid transparent;
|
869 |
+
border-radius: 3px 3px 0 0 !important;
|
870 |
+
}
|
871 |
+
.wpdt-c #wpdt-text-color {
|
872 |
+
border-bottom-color: #000;
|
873 |
+
}
|
874 |
+
.wpdt-c #wpdt-background-color {
|
875 |
+
border-bottom-color: #FFF;
|
876 |
+
}
|
877 |
+
.wpdt-c #wpdt-background-color span {
|
878 |
+
background:#FFF;
|
879 |
+
}
|
880 |
+
.wpdt-c #wpdt-text-color span {
|
881 |
+
background: #000;
|
882 |
+
}
|
883 |
+
|
884 |
+
.wpdt-c #wpdt-align-button,
|
885 |
+
.wpdt-c #wpdt-valign-button,
|
886 |
+
.wpdt-c #wpdt-wrap-button{
|
887 |
+
position: relative;
|
888 |
+
padding: 6px 16px 6px 6px;
|
889 |
+
}
|
890 |
+
.wpdt-c #wpdt-align-button .wpdt-icon-sort-down,
|
891 |
+
.wpdt-c #wpdt-valign-button .wpdt-icon-sort-down,
|
892 |
+
.wpdt-c #wpdt-wrap-button .wpdt-icon-sort-down{
|
893 |
+
position: absolute;
|
894 |
+
right: 3px;
|
895 |
+
font-size: 13px;
|
896 |
+
top: 9px;
|
897 |
+
}
|
898 |
+
.wpdt-c #wdt-backend-html-modal .mce-container iframe {
|
899 |
+
border: 1px solid #eee;
|
900 |
+
}
|
901 |
+
.wpdt-c #wdt-backend-html-modal .mce-container iframe {
|
902 |
+
border: 1px solid #eee;
|
903 |
+
}
|
904 |
+
.wpdt-c #wdt-backend-link-modal .modal-dialog,
|
905 |
+
.wpdt-c #wdt-backend-html-modal .modal-dialog{
|
906 |
+
width: 500px !important;
|
907 |
+
}
|
908 |
+
.wpdt-c #wdt-backend-link-modal .modal-dialog .form-group {
|
909 |
+
margin-bottom: 15px !important;
|
910 |
+
}
|
911 |
+
.wpdt-c #wdt-backend-shortcode-modal .modal-dialog .modal-content .modal-header,
|
912 |
+
.wpdt-c #wdt-backend-star-modal .modal-dialog .modal-content .modal-header,
|
913 |
+
.wpdt-c #wdt-backend-html-modal .modal-dialog .modal-content .modal-header,
|
914 |
+
.wpdt-c #wdt-backend-link-modal .modal-dialog .modal-content .modal-header {
|
915 |
+
border-bottom: 1px solid #ebeef5;
|
916 |
+
margin-bottom: 20px;
|
917 |
+
padding: 23px 20px;
|
918 |
+
}
|
919 |
+
.wpdt-c #wdt-backend-insert-shortcode-button,
|
920 |
+
.wpdt-c #wdt-backend-insert-star-button,
|
921 |
+
.wpdt-c #wdt-backend-insert-html-button,
|
922 |
+
.wpdt-c #wdt-backend-insert-link-button,
|
923 |
+
.wpdt-c .wdt-backend-close-modal-button {
|
924 |
+
font-family: Inter;
|
925 |
+
font-style: normal;
|
926 |
+
font-weight: 500;
|
927 |
+
font-size: 14px;
|
928 |
+
line-height: 20px;
|
929 |
+
padding: 8px 16px;
|
930 |
+
border-radius: 5px;
|
931 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.06) !important;
|
932 |
+
}
|
933 |
+
.wpdt-c #wdt-backend-insert-html-button,
|
934 |
+
.wpdt-c #wdt-backend-insert-shortcode-button,
|
935 |
+
.wpdt-c #wdt-backend-insert-star-button,
|
936 |
+
.wpdt-c #wdt-backend-insert-link-button {
|
937 |
+
background-color: #008CFF;
|
938 |
+
color: #FFF;
|
939 |
+
}
|
940 |
+
.wpdt-c .wdt-backend-close-modal-button {
|
941 |
+
background-color: #E03131;
|
942 |
+
}
|
943 |
+
.wpdt-c .wpdt-modals .error-msg{
|
944 |
+
color: #dc3545;
|
945 |
+
}
|
946 |
+
.wpdt-c .wpdt-modals .error-border{
|
947 |
+
border:1px solid #dc3545 !important;
|
948 |
+
}
|
949 |
+
.wpdt-c #wdt-backend-insert-shortcode-button i,
|
950 |
+
.wpdt-c #wdt-backend-insert-star-button i,
|
951 |
+
.wpdt-c #wdt-backend-insert-html-button i,
|
952 |
+
.wpdt-c #wdt-backend-insert-link-button i,
|
953 |
+
.wpdt-c .wdt-backend-close-modal-button i {
|
954 |
+
margin-right: 8px;
|
955 |
+
vertical-align: baseline;
|
956 |
+
}
|
957 |
+
|
958 |
+
.wpdt-c #wdt-backend-link-modal .modal-dialog .modal-content .modal-body input:not([type="checkbox"]) {
|
959 |
+
border-radius: 4px;
|
960 |
+
border: solid 1px #dcdfe6;
|
961 |
+
font-family: Roboto;
|
962 |
+
font-size: 14px;
|
963 |
+
font-weight: normal;
|
964 |
+
font-style: normal;
|
965 |
+
font-stretch: normal;
|
966 |
+
line-height: 1;
|
967 |
+
letter-spacing: normal;
|
968 |
+
color: #606266;
|
969 |
+
height: 36px !important;
|
970 |
+
width: 100% !important;
|
971 |
+
padding: 11px 13px !important;
|
972 |
+
}
|
973 |
+
.wpdt-c #wdt-backend-shortcode-modal .modal-dialog .modal-content .modal-body textarea {
|
974 |
+
border-radius: 4px;
|
975 |
+
border: solid 1px #dcdfe6;
|
976 |
+
width: 100%;
|
977 |
+
padding: 11px 15px;
|
978 |
+
font-size: 16px;
|
979 |
+
resize: none;
|
980 |
+
}
|
981 |
+
.wpdt-c #wdt-backend-shortcode-modal .modal-dialog .modal-content .modal-body label,
|
982 |
+
.wpdt-c #wdt-backend-html-modal .modal-dialog .modal-content .modal-body label,
|
983 |
+
.wpdt-c #wdt-backend-link-modal .modal-dialog .modal-content .modal-body label,
|
984 |
+
.wpdt-c #wdt-backend-star-modal .modal-dialog .modal-content .modal-body label {
|
985 |
+
font-size: 16px;
|
986 |
+
}
|
987 |
+
.wpdt-c #wdt-backend-shortcode-modal .modal-dialog .modal-content .modal-body textarea:focus {
|
988 |
+
box-shadow: none;
|
989 |
+
}
|
990 |
+
|
991 |
@media (max-width: 768px) {
|
992 |
+
|
993 |
.wpdt-c .wdt-datatables-admin-wrap div.column-settings-panel {
|
994 |
width: 100% !important;
|
995 |
max-width: 100% !important;
|
996 |
}
|
997 |
+
}
|
998 |
+
@media (max-width: 480px) {
|
999 |
+
|
1000 |
+
.wpdt-c #wpdt-cell-action-buttons .btn.btn-primary {
|
1001 |
+
width: auto !important;
|
1002 |
+
}
|
1003 |
|
1004 |
}
|
assets/css/admin/getting-started.css
CHANGED
@@ -20,7 +20,6 @@
|
|
20 |
vertical-align: bottom;
|
21 |
}
|
22 |
|
23 |
-
|
24 |
.wdt-datatables-admin-wrap .wdt-getting-started-block {
|
25 |
padding: 28px 32px 14px 32px !important;
|
26 |
background: #FFFFFF;
|
@@ -47,7 +46,7 @@
|
|
47 |
color: #304463;
|
48 |
}
|
49 |
.wdt-datatables-admin-wrap .wdt-getting-started-block .wdt-getting-started-img-section {
|
50 |
-
min-height:
|
51 |
position: absolute;
|
52 |
top: 0;
|
53 |
right: -90px;
|
20 |
vertical-align: bottom;
|
21 |
}
|
22 |
|
|
|
23 |
.wdt-datatables-admin-wrap .wdt-getting-started-block {
|
24 |
padding: 28px 32px 14px 32px !important;
|
25 |
background: #FFFFFF;
|
46 |
color: #304463;
|
47 |
}
|
48 |
.wdt-datatables-admin-wrap .wdt-getting-started-block .wdt-getting-started-img-section {
|
49 |
+
min-height: 868px;
|
50 |
position: absolute;
|
51 |
top: 0;
|
52 |
right: -90px;
|
assets/css/admin/starRating.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.jq-ry-container{position:relative;padding:0 5px 5px 0px;line-height:0;margin:50px 0 0px;display:inline-block;cursor:pointer;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;direction:ltr}.jq-ry-container>.jq-ry-group-wrapper{position:relative;width:100%}.jq-ry-container>.jq-ry-group-wrapper>.jq-ry-group{position:relative;line-height:0;z-index:10;white-space:nowrap}.jq-ry-container>.jq-ry-group-wrapper>.jq-ry-group>svg{display:inline-block}.jq-ry-container>.jq-ry-group-wrapper>.jq-ry-group.jq-ry-normal-group{width:100%}.jq-ry-container>.jq-ry-group-wrapper>.jq-ry-group.jq-ry-rated-group{width:0;z-index:11;position:absolute;top:0;left:0;overflow:hidden}
|
assets/css/bootstrap/wpdatatables-bootstrap.css
CHANGED
@@ -8266,22 +8266,6 @@ select.input-group-lg > .input-group-btn > .btn {
|
|
8266 |
margin-top: 10px !important;
|
8267 |
}
|
8268 |
|
8269 |
-
.wpdt-c .m-b-8 {
|
8270 |
-
margin-bottom: 8px !important;
|
8271 |
-
}
|
8272 |
-
|
8273 |
-
.wpdt-c .m-l-8 {
|
8274 |
-
margin-left: 8px !important;
|
8275 |
-
}
|
8276 |
-
|
8277 |
-
.wpdt-c .m-r-8 {
|
8278 |
-
margin-right: 8px !important;
|
8279 |
-
}
|
8280 |
-
|
8281 |
-
.wpdt-c .m-t-8 {
|
8282 |
-
margin-top: 8px !important;
|
8283 |
-
}
|
8284 |
-
|
8285 |
.wpdt-c .m-b-10 {
|
8286 |
margin-bottom: 10px !important;
|
8287 |
}
|
@@ -8317,10 +8301,6 @@ select.input-group-lg > .input-group-btn > .btn {
|
|
8317 |
.wpdt-c .m-r-15 {
|
8318 |
margin-right: 15px !important;
|
8319 |
}
|
8320 |
-
.wpdt-c .m-20 {
|
8321 |
-
margin: 20px !important;
|
8322 |
-
}
|
8323 |
-
|
8324 |
.wpdt-c .m-t-18 {
|
8325 |
margin-top: 18px !important;
|
8326 |
}
|
@@ -8338,6 +8318,9 @@ select.input-group-lg > .input-group-btn > .btn {
|
|
8338 |
.wpdt-c .m-18 {
|
8339 |
margin: 18px !important;
|
8340 |
}
|
|
|
|
|
|
|
8341 |
|
8342 |
.wpdt-c .m-t-20 {
|
8343 |
margin-top: 20px !important;
|
@@ -8565,21 +8548,7 @@ select.input-group-lg > .input-group-btn > .btn {
|
|
8565 |
.wpdt-c .p-r-30 {
|
8566 |
padding-right: 30px !important;
|
8567 |
}
|
8568 |
-
.wpdt-c .p-t-48 {
|
8569 |
-
padding-top: 48px !important;
|
8570 |
-
}
|
8571 |
-
|
8572 |
-
.wpdt-c .p-b-48 {
|
8573 |
-
padding-bottom: 48px !important;
|
8574 |
-
}
|
8575 |
|
8576 |
-
.wpdt-c .p-l-48 {
|
8577 |
-
padding-left: 48px !important;
|
8578 |
-
}
|
8579 |
-
|
8580 |
-
.wpdt-c .p-r-48 {
|
8581 |
-
padding-right: 48px !important;
|
8582 |
-
}
|
8583 |
/*---------------------------------------------------------------------------
|
8584 |
Generate Font-Size Classes (8px - 20px)
|
8585 |
----------------------------------------------------------------------------*/
|
@@ -9994,7 +9963,7 @@ select.input-group-lg > .input-group-btn > .btn {
|
|
9994 |
.wpdt-c .col-xs-6 button,
|
9995 |
.wpdt-c .col-xs-6 input,
|
9996 |
.wpdt-c .wdt-table-settings .input-path-block .fg-line,
|
9997 |
-
.wpdt-c .pull-right:not(.wdt-column-settings),
|
9998 |
.wpdt-c .pull-left,
|
9999 |
.wpdt-c .btn.btn-default.wdt-documentation,
|
10000 |
.wpdt-c .btn.btn-primary,
|
@@ -13682,6 +13651,9 @@ input:focus {
|
|
13682 |
.wpdt-c .wdt-datetimepicker-modal .datepicker {
|
13683 |
width: 100% !important;
|
13684 |
}
|
|
|
|
|
|
|
13685 |
|
13686 |
.wpdt-c .media-modal * {
|
13687 |
box-sizing: content-box;
|
@@ -13732,7 +13704,6 @@ input:focus {
|
|
13732 |
#wdt-frontend-modal .wdt-search-filters-button-container .wdt_checkbox_option span.wdt-checkbox-label {
|
13733 |
vertical-align: text-bottom;
|
13734 |
margin-bottom: 2px;
|
13735 |
-
display: inline-block;
|
13736 |
}
|
13737 |
|
13738 |
#wdt-frontend-modal .wdt_checkbox_option input[type="checkbox"],
|
@@ -13771,3 +13742,7 @@ input:focus {
|
|
13771 |
top: -1px;
|
13772 |
opacity: 1
|
13773 |
}
|
|
|
|
|
|
|
|
8266 |
margin-top: 10px !important;
|
8267 |
}
|
8268 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8269 |
.wpdt-c .m-b-10 {
|
8270 |
margin-bottom: 10px !important;
|
8271 |
}
|
8301 |
.wpdt-c .m-r-15 {
|
8302 |
margin-right: 15px !important;
|
8303 |
}
|
|
|
|
|
|
|
|
|
8304 |
.wpdt-c .m-t-18 {
|
8305 |
margin-top: 18px !important;
|
8306 |
}
|
8318 |
.wpdt-c .m-18 {
|
8319 |
margin: 18px !important;
|
8320 |
}
|
8321 |
+
.wpdt-c .m-20 {
|
8322 |
+
margin: 20px !important;
|
8323 |
+
}
|
8324 |
|
8325 |
.wpdt-c .m-t-20 {
|
8326 |
margin-top: 20px !important;
|
8548 |
.wpdt-c .p-r-30 {
|
8549 |
padding-right: 30px !important;
|
8550 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8551 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8552 |
/*---------------------------------------------------------------------------
|
8553 |
Generate Font-Size Classes (8px - 20px)
|
8554 |
----------------------------------------------------------------------------*/
|
9963 |
.wpdt-c .col-xs-6 button,
|
9964 |
.wpdt-c .col-xs-6 input,
|
9965 |
.wpdt-c .wdt-table-settings .input-path-block .fg-line,
|
9966 |
+
.wpdt-c .pull-right:not(.wdt-column-settings):not(.wdt-column-block-icon):not(.wdt-column-move-arrows),
|
9967 |
.wpdt-c .pull-left,
|
9968 |
.wpdt-c .btn.btn-default.wdt-documentation,
|
9969 |
.wpdt-c .btn.btn-primary,
|
13651 |
.wpdt-c .wdt-datetimepicker-modal .datepicker {
|
13652 |
width: 100% !important;
|
13653 |
}
|
13654 |
+
.wpdt-c .wdt-datetimepicker-modal > ul li{
|
13655 |
+
margin: 0;
|
13656 |
+
}
|
13657 |
|
13658 |
.wpdt-c .media-modal * {
|
13659 |
box-sizing: content-box;
|
13704 |
#wdt-frontend-modal .wdt-search-filters-button-container .wdt_checkbox_option span.wdt-checkbox-label {
|
13705 |
vertical-align: text-bottom;
|
13706 |
margin-bottom: 2px;
|
|
|
13707 |
}
|
13708 |
|
13709 |
#wdt-frontend-modal .wdt_checkbox_option input[type="checkbox"],
|
13742 |
top: -1px;
|
13743 |
opacity: 1
|
13744 |
}
|
13745 |
+
.wpdt-c .wpdt-custom-center-flex{
|
13746 |
+
display: flex;
|
13747 |
+
justify-content: center;
|
13748 |
+
}
|
assets/css/color-pickr/classic-theme.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
/*! Pickr 1.7.1 MIT | https://github.com/Simonwep/pickr */.pickr{position:relative;overflow:visible;transform:translateY(0)}.pickr *{box-sizing:border-box;outline:none;border:none;-webkit-appearance:none}.pickr .pcr-button{position:relative;height:2em;width:2em;padding:.5em;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;border-radius:.15em;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" stroke="%2342445A" stroke-width="5px" stroke-linecap="round"><path d="M45,45L5,5"></path><path d="M45,5L5,45"></path></svg>') no-repeat 50%;background-size:0;transition:all .3s}.pickr .pcr-button:before{background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:.5em;z-index:-1;z-index:auto}.pickr .pcr-button:after,.pickr .pcr-button:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;border-radius:.15em}.pickr .pcr-button:after{transition:background .3s;background:currentColor}.pickr .pcr-button.clear{background-size:70%}.pickr .pcr-button.clear:before{opacity:0}.pickr .pcr-button.clear:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px currentColor}.pickr .pcr-button.disabled{cursor:not-allowed}.pcr-app *,.pickr *{box-sizing:border-box;outline:none;border:none;-webkit-appearance:none}.pcr-app button.pcr-active,.pcr-app button:focus,.pcr-app input.pcr-active,.pcr-app input:focus,.pickr button.pcr-active,.pickr button:focus,.pickr input.pcr-active,.pickr input:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px currentColor}.pcr-app .pcr-palette,.pcr-app .pcr-slider,.pickr .pcr-palette,.pickr .pcr-slider{transition:box-shadow .3s}.pcr-app .pcr-palette:focus,.pcr-app .pcr-slider:focus,.pickr .pcr-palette:focus,.pickr .pcr-slider:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(0,0,0,.25)}.pcr-app{position:fixed;display:flex;flex-direction:column;z-index:10000;border-radius:.1em;background:#fff;opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;box-shadow:0 .15em 1.5em 0 rgba(0,0,0,.1),0 0 1em 0 rgba(0,0,0,.03);left:0;top:0}.pcr-app.visible{transition:opacity .3s;visibility:visible;opacity:1}.pcr-app .pcr-swatches{display:flex;flex-wrap:wrap;margin-top:.75em}.pcr-app .pcr-swatches.pcr-last{margin:0}@supports (display:grid){.pcr-app .pcr-swatches{display:grid;align-items:center;grid-template-columns:repeat(auto-fit,1.75em)}}.pcr-app .pcr-swatches>button{font-size:1em;position:relative;width:calc(1.75em - 5px);height:calc(1.75em - 5px);border-radius:.15em;cursor:pointer;margin:2.5px;flex-shrink:0;justify-self:center;transition:all .15s;overflow:hidden;background:transparent;z-index:1}.pcr-app .pcr-swatches>button:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:6px;border-radius:.15em;z-index:-1}.pcr-app .pcr-swatches>button:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:currentColor;border:1px solid rgba(0,0,0,.05);border-radius:.15em;box-sizing:border-box}.pcr-app .pcr-swatches>button:hover{-webkit-filter:brightness(1.05);filter:brightness(1.05)}.pcr-app .pcr-swatches>button:not(.pcr-active){box-shadow:none}.pcr-app .pcr-interaction{display:flex;flex-wrap:wrap;align-items:center;margin:0 -.2em}.pcr-app .pcr-interaction>*{margin:0 .2em}.pcr-app .pcr-interaction input{letter-spacing:.07em;font-size:.75em;text-align:center;cursor:pointer;color:#75797e;background:#f1f3f4;border-radius:.15em;transition:all .15s;padding:.45em .5em;margin-top:.75em}.pcr-app .pcr-interaction input:hover{-webkit-filter:brightness(.975);filter:brightness(.975)}.pcr-app .pcr-interaction input:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(66,133,244,.75)}.pcr-app .pcr-interaction .pcr-result{color:#75797e;text-align:left;flex:1 1 8em;min-width:8em;transition:all .2s;border-radius:.15em;background:#f1f3f4;cursor:text}.pcr-app .pcr-interaction .pcr-result::-moz-selection{background:#4285f4;color:#fff}.pcr-app .pcr-interaction .pcr-result::selection{background:#4285f4;color:#fff}.pcr-app .pcr-interaction .pcr-type.active{color:#fff;background:#4285f4 !important;}.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear,.pcr-app .pcr-interaction .pcr-save{width:auto;color:#fff}.pcr-app .pcr-interaction .pcr-cancel:hover,.pcr-app .pcr-interaction .pcr-clear:hover,.pcr-app .pcr-interaction .pcr-save:hover{-webkit-filter:brightness(.925);filter:brightness(.925)}.pcr-app .pcr-interaction .pcr-save{background:#4285f4}.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear{background:#f44250}.pcr-app .pcr-interaction .pcr-cancel:focus,.pcr-app .pcr-interaction .pcr-clear:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(244,66,80,.75)}.pcr-app .pcr-selection .pcr-picker{position:absolute;height:18px;width:18px;border:2px solid #fff;border-radius:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pcr-app .pcr-selection .pcr-color-chooser,.pcr-app .pcr-selection .pcr-color-opacity,.pcr-app .pcr-selection .pcr-color-palette{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;cursor:grab;cursor:-webkit-grab}.pcr-app .pcr-selection .pcr-color-chooser:active,.pcr-app .pcr-selection .pcr-color-opacity:active,.pcr-app .pcr-selection .pcr-color-palette:active{cursor:grabbing;cursor:-webkit-grabbing}.pcr-app[data-theme=classic]{width:28.5em;max-width:95vw;padding:.8em}.pcr-app[data-theme=classic] .pcr-selection{display:flex;justify-content:space-between;flex-grow:1}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview{position:relative;z-index:1;width:2em;display:flex;flex-direction:column;justify-content:space-between;margin-right:.75em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview .pcr-last-color{cursor:pointer;transition:background-color .3s,box-shadow .3s;border-radius:.15em .15em 0 0;z-index:2}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview .pcr-current-color{border-radius:0 0 .15em .15em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview .pcr-current-color,.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview .pcr-last-color{background:currentColor;width:100%;height:50%}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-palette{width:100%;height:8em;z-index:1}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-palette .pcr-palette{flex-grow:1;border-radius:.15em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-palette .pcr-palette:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-chooser,.pcr-app[data-theme=classic] .pcr-selection .pcr-color-opacity{margin-left:.75em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-chooser .pcr-picker,.pcr-app[data-theme=classic] .pcr-selection .pcr-color-opacity .pcr-picker{left:50%;transform:translateX(-50%)}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-chooser .pcr-slider,.pcr-app[data-theme=classic] .pcr-selection .pcr-color-opacity .pcr-slider{width:8px;flex-grow:1;border-radius:50em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-chooser .pcr-slider{background:linear-gradient(180deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-opacity .pcr-slider{background:linear-gradient(180deg,transparent,#000),url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:100%,50%}
|
assets/css/handsontable.full.min.css
CHANGED
@@ -1,31 +1,37 @@
|
|
1 |
-
@charset "UTF-8"
|
2 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
-
|
5 |
-
Copyright (c) 2015 Handsoncode sp. z o.o. <hello@handsoncode.net>
|
6 |
-
|
7 |
-
Permission is hereby granted, free of charge, to any person obtaining
|
8 |
-
a copy of this software and associated documentation files (the
|
9 |
-
'Software'), to deal in the Software without restriction, including
|
10 |
-
without limitation the rights to use, copy, modify, merge, publish,
|
11 |
-
distribute, sublicense, and/or sell copies of the Software, and to
|
12 |
-
permit persons to whom the Software is furnished to do so, subject to
|
13 |
-
the following conditions:
|
14 |
-
|
15 |
-
The above copyright notice and this permission notice shall be
|
16 |
-
included in all copies or substantial portions of the Software.
|
17 |
-
|
18 |
-
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
19 |
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
20 |
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
21 |
-
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
22 |
-
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
23 |
-
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
24 |
-
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
25 |
-
|
26 |
-
*/.handsontable{position:relative}.handsontable .hide{display:none}.handsontable .relative{position:relative}.handsontable.htAutoSize{visibility:hidden;left:-99000px;position:absolute;top:-99000px}.handsontable .wtHider{width:0}.handsontable .wtSpreader{position:relative;width:0;height:auto}.handsontable table,.handsontable tbody,.handsontable thead,.handsontable td,.handsontable th,.handsontable input,.handsontable textarea,.handsontable div{box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:initial}.handsontable table.htCore{border-collapse:separate;border-spacing:0;margin:0;border-width:0;table-layout:fixed;width:0;outline-width:0;max-width:none;max-height:none}.handsontable col{width:50px}.handsontable col.rowHeader{width:50px}.handsontable th,.handsontable td{border-top-width:0;border-left-width:0;border-right:1px solid #CCC;border-bottom:1px solid #CCC;height:22px;empty-cells:show;line-height:21px;padding:0 4px 0 4px;background-color:#FFF;vertical-align:top;overflow:hidden;outline-width:0;white-space:pre-line}.handsontable td.htInvalid{background-color:#ff4c42!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable th:last-child{border-right:1px solid #CCC;border-bottom:1px solid #CCC}.handsontable tr:first-child th.htNoFrame,.handsontable th:first-child.htNoFrame,.handsontable th.htNoFrame{border-left-width:0;background-color:white;border-color:#FFF}.handsontable th:first-child,.handsontable td:first-of-type,.handsontable .htNoFrame+th,.handsontable .htNoFrame+td{border-left:1px solid #CCC}.handsontable.htRowHeaders thead tr th:nth-child(2){border-left:1px solid #CCC}.handsontable tr:first-child th,.handsontable tr:first-child td{border-top:1px solid #CCC}.ht_master:not(.innerBorderLeft) ~ .handsontable tbody tr th,.ht_master:not(.innerBorderLeft) ~ .handsontable:not(.ht_clone_top) thead tr th:first-child{border-right-width:0}.ht_master:not(.innerBorderTop) thead tr:last-child th,.ht_master:not(.innerBorderTop) ~ .handsontable thead tr:last-child th,.ht_master:not(.innerBorderTop) thead tr.lastChild th,.ht_master:not(.innerBorderTop) ~ .handsontable thead tr.lastChild th{border-bottom-width:0}.handsontable th{background-color:#EEE;color:#222;text-align:center;font-weight:normal;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#CCC}.handsontable thead th .relative{padding:2px 4px}.handsontable .manualColumnMover{position:fixed;left:0;top:0;background-color:transparent;width:5px;height:25px;z-index:999;cursor:move}.handsontable .manualRowMover{position:fixed;left:-4px;top:0;background-color:transparent;height:5px;width:50px;z-index:999;cursor:move}.handsontable .manualColumnMoverGuide,.handsontable .manualRowMoverGuide{position:fixed;left:0;top:0;background-color:#CCC;width:25px;height:25px;opacity:.7;display:none}.handsontable .manualColumnMoverGuide.active,.handsontable .manualRowMoverGuide.active{display:block}.handsontable .manualColumnMover:hover,.handsontable .manualColumnMover.active,.handsontable .manualRowMover:hover,.handsontable .manualRowMover.active{background-color:#88F}.handsontable .manualColumnResizer{position:fixed;top:0;cursor:col-resize;z-index:110;width:5px;height:25px}.handsontable .manualRowResizer{position:fixed;left:0;cursor:row-resize;z-index:110;height:5px;width:50px}.handsontable .manualColumnResizer:hover,.handsontable .manualColumnResizer.active,.handsontable .manualRowResizer:hover,.handsontable .manualRowResizer.active{background-color:#AAB}.handsontable .manualColumnResizerGuide{position:fixed;right:0;top:0;background-color:#AAB;display:none;width:0;border-right:1px dashed #777;margin-left:5px}.handsontable .manualRowResizerGuide{position:fixed;left:0;bottom:0;background-color:#AAB;display:none;height:0;border-bottom:1px dashed #777;margin-top:5px}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block}.handsontable .columnSorting{position:relative}.handsontable .columnSorting:hover{text-decoration:underline;cursor:pointer}.handsontable .columnSorting.ascending::after{content:'\25B2';color:#5f5f5f;position:absolute;right:-15px}.handsontable .columnSorting.descending::after{content:'\25BC';color:#5f5f5f;position:absolute;right:-15px}.handsontable th.beforeHiddenColumn{position:relative}.handsontable th.beforeHiddenColumn::after,.handsontable th.afterHiddenColumn::before{content:'\25C0';color:#bbb;position:absolute;right:1px;top:2px;font-size:5pt}.handsontable th.afterHiddenColumn{position:relative}.handsontable th.afterHiddenColumn::before{left:1px;top:2px;right:auto;content:'\25B6'}.handsontable td.afterHiddenColumn.firstVisible{border-left:1px solid #CCC}.handsontable thead th.hiddenHeader{display:none}.handsontable .wtBorder{position:absolute;font-size:0}.handsontable .wtBorder.hidden{display:none!important}.handsontable td.area{background:-moz-linear-gradient(top,rgba(181,209,255,0.34) 0,rgba(181,209,255,0.34) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(181,209,255,0.34)),color-stop(100%,rgba(181,209,255,0.34)));background:-webkit-linear-gradient(top,rgba(181,209,255,0.34) 0,rgba(181,209,255,0.34) 100%);background:-o-linear-gradient(top,rgba(181,209,255,0.34) 0,rgba(181,209,255,0.34) 100%);background:-ms-linear-gradient(top,rgba(181,209,255,0.34) 0,rgba(181,209,255,0.34) 100%);background:linear-gradient(to bottom,rgba(181,209,255,0.34) 0,rgba(181,209,255,0.34) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#57b5d1ff',endColorstr='#57b5d1ff',GradientType=0);background-color:#fff}.handsontable .wtBorder.corner{font-size:0;cursor:crosshair}.handsontable .htBorder.htFillBorder{background:red;width:1px;height:1px}.handsontableInput{border:0;outline-width:0;margin:0;padding:1px 5px 0 5px;font-family:inherit;line-height:21px;font-size:inherit;box-shadow:0 0 0 2px #5292f7 inset;resize:none;display:inline-block;color:#000;border-radius:0;background-color:#FFF}.handsontableInputHolder{position:absolute;top:0;left:0;z-index:100}.htSelectEditor{-webkit-appearance:menulist-button!important;position:absolute;width:auto}.handsontable .htDimmed{color:#777}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu :after{content:'▶';color:#777;position:absolute;right:5px}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.handsontable .htPlaceholder{color:#999}.handsontable .htAutocompleteArrow{float:right;font-size:10px;color:#EEE;cursor:default;width:16px;text-align:center}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{cursor:pointer;display:inline-block;width:100%}.handsontable .htNumeric{text-align:right}.htCommentCell{position:relative}.htCommentCell:after{content:'';position:absolute;top:0;right:0;border-left:6px solid transparent;border-top:6px solid red}@-webkit-keyframes opacity-hide{from{opacity:1}to{opacity:0}}@keyframes opacity-hide{from{opacity:1}to{opacity:0}}@-webkit-keyframes opacity-show{from{opacity:0}to{opacity:1}}@keyframes opacity-show{from{opacity:0}to{opacity:1}}.handsontable .handsontable.ht_clone_top .wtHider{padding:0 0 5px 0}.handsontable .autocompleteEditor.handsontable{padding-right:17px}.handsontable .autocompleteEditor.handsontable.htMacScroll{padding-right:15px}.handsontable.listbox{margin:0}.handsontable.listbox .ht_master table{border:1px solid #ccc;border-collapse:separate;background:white}.handsontable.listbox th,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th,.handsontable.listbox tr:first-child td,.handsontable.listbox td{border-color:transparent}.handsontable.listbox th,.handsontable.listbox td{white-space:nowrap;text-overflow:ellipsis}.handsontable.listbox td.htDimmed{cursor:default;color:inherit;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr td.current,.handsontable.listbox tr:hover td{background:#eee}.ht_clone_top{z-index:101}.ht_clone_left{z-index:102}.ht_clone_top_left_corner,.ht_clone_bottom_left_corner{z-index:103}.ht_clone_debug{z-index:103}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.htBordered{border-width:1px}.htBordered.htTopBorderSolid{border-top-style:solid;border-top-color:#000}.htBordered.htRightBorderSolid{border-right-style:solid;border-right-color:#000}.htBordered.htBottomBorderSolid{border-bottom-style:solid;border-bottom-color:#000}.htBordered.htLeftBorderSolid{border-left-style:solid;border-left-color:#000}.htCommentTextArea{-moz-box-shadow:1px 1px 2px #bbb;-webkit-box-shadow:1px 1px 2px #bbb;background-color:#fffacd;border:1px solid #999;box-shadow:1px 1px 2px #bbb;font-family:'Arial'}.handsontable tbody tr th:nth-last-child(2){border-right:1px solid #CCC}.handsontable thead tr:nth-last-child(2) th.htGroupIndicatorContainer{border-bottom:1px solid #CCC;padding-bottom:5px}.ht_clone_top_left_corner thead tr th:nth-last-child(2){border-right:1px solid #CCC}.htCollapseButton{width:10px;height:10px;line-height:10px;text-align:center;border-radius:5px;border:1px solid #f3f3f3;-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.4);box-shadow:1px 1px 3px rgba(0,0,0,0.4);cursor:pointer;margin-bottom:3px;position:relative}.htCollapseButton:after{content:"";height:300%;width:1px;display:block;background:#ccc;margin-left:4px;position:absolute;bottom:10px}thead .htCollapseButton{right:5px;position:absolute;top:5px;background:#fff}thead .htCollapseButton:after{height:1px;width:700%;right:10px;top:4px}.handsontable tr th .htExpandButton{position:absolute;width:10px;height:10px;line-height:10px;text-align:center;border-radius:5px;border:1px solid #f3f3f3;-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.4);box-shadow:1px 1px 3px rgba(0,0,0,0.4);cursor:pointer;top:0;display:none}.handsontable thead tr th .htExpandButton{top:5px}.handsontable tr th .htExpandButton.clickable{display:block}.collapsibleIndicator{position:absolute;top:50%;transform:translate(0%,-50%);right:5px;border:1px solid #a6a6a6;line-height:10px;color:#222;border-radius:10px;font-size:10px;width:10px;height:10px;cursor:pointer;-webkit-box-shadow:0 0 0 6px rgba(238,238,238,1);-moz-box-shadow:0 0 0 6px rgba(238,238,238,1);box-shadow:0 0 0 6px rgba(238,238,238,1);background:#eee}.handsontable col.hidden{width:0!important}.handsontable table tr th.lightRightBorder{border-right:1px solid #e6e6e6}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_master,.ht_clone_left,.ht_clone_top,.ht_clone_bottom{overflow:hidden}.ht_master .wtHolder{overflow:auto}.ht_clone_left .wtHolder{overflow-x:hidden;overflow-y:auto}.ht_clone_top .wtHolder,.ht_clone_bottom .wtHolder{overflow-x:auto;overflow-y:hidden}.wtDebugHidden{display:none}.wtDebugVisible{display:block;-webkit-animation-duration:.5s;-webkit-animation-name:wtFadeInFromNone;animation-duration:.5s;animation-name:wtFadeInFromNone}@keyframes wtFadeInFromNone{0%{display:none;opacity:0}1%{display:block;opacity:0}100%{display:block;opacity:1}}@-webkit-keyframes wtFadeInFromNone{0%{display:none;opacity:0}1%{display:block;opacity:0}100%{display:block;opacity:1}}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch}.htMobileEditorContainer{display:none;position:absolute;top:0;width:70%;height:54pt;background:#f8f8f8;border-radius:20px;border:1px solid #ebebeb;z-index:999;box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-text-size-adjust:none}.topLeftSelectionHandle:not(.ht_master .topLeftSelectionHandle),.topLeftSelectionHandle-HitArea:not(.ht_master .topLeftSelectionHandle-HitArea){z-index:9999}.topLeftSelectionHandle,.topLeftSelectionHandle-HitArea,.bottomRightSelectionHandle,.bottomRightSelectionHandle-HitArea{left:-10000px;top:-10000px}.htMobileEditorContainer.active{display:block}.htMobileEditorContainer .inputs{position:absolute;right:210pt;bottom:10pt;top:10pt;left:14px;height:34pt}.htMobileEditorContainer .inputs textarea{font-size:13pt;border:1px solid #a1a1a1;-webkit-appearance:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;position:absolute;left:14px;right:14px;top:0;bottom:0;padding:7pt}.htMobileEditorContainer .cellPointer{position:absolute;top:-13pt;height:0;width:0;left:30px;border-left:13pt solid transparent;border-right:13pt solid transparent;border-bottom:13pt solid #ebebeb}.htMobileEditorContainer .cellPointer.hidden{display:none}.htMobileEditorContainer .cellPointer:before{content:'';display:block;position:absolute;top:2px;height:0;width:0;left:-13pt;border-left:13pt solid transparent;border-right:13pt solid transparent;border-bottom:13pt solid #f8f8f8}.htMobileEditorContainer .moveHandle{position:absolute;top:10pt;left:5px;width:30px;bottom:0;cursor:move;z-index:9999}.htMobileEditorContainer .moveHandle:after{content:"..\a..\a..\a..";white-space:pre;line-height:10px;font-size:20pt;display:inline-block;margin-top:-8px;color:#ebebeb}.htMobileEditorContainer .positionControls{width:205pt;position:absolute;right:5pt;top:0;bottom:0}.htMobileEditorContainer .positionControls>div{width:50pt;height:100%;float:left}.htMobileEditorContainer .positionControls>div:after{content:" ";display:block;width:15pt;height:15pt;text-align:center;line-height:50pt}.htMobileEditorContainer .leftButton:after,.htMobileEditorContainer .rightButton:after,.htMobileEditorContainer .upButton:after,.htMobileEditorContainer .downButton:after{transform-origin:5pt 5pt;-webkit-transform-origin:5pt 5pt;margin:21pt 0 0 21pt}.htMobileEditorContainer .leftButton:after{border-top:2px solid #288ffe;border-left:2px solid #288ffe;-webkit-transform:rotate(-45deg)}.htMobileEditorContainer .leftButton:active:after{border-color:#cfcfcf}.htMobileEditorContainer .rightButton:after{border-top:2px solid #288ffe;border-left:2px solid #288ffe;-webkit-transform:rotate(135deg)}.htMobileEditorContainer .rightButton:active:after{border-color:#cfcfcf}.htMobileEditorContainer .upButton:after{border-top:2px solid #288ffe;border-left:2px solid #288ffe;-webkit-transform:rotate(45deg)}.htMobileEditorContainer .upButton:active:after{border-color:#cfcfcf}.htMobileEditorContainer .downButton:after{border-top:2px solid #288ffe;border-left:2px solid #288ffe;-webkit-transform:rotate(225deg)}.htMobileEditorContainer .downButton:active:after{border-color:#cfcfcf}.handsontable.hide-tween{-webkit-animation:opacity-hide .3s;animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{-webkit-animation:opacity-show .3s;animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}/*!
|
27 |
-
* Handsontable ContextMenu
|
28 |
-
*/.htContextMenu{display:none;position:absolute;z-index:1060}.htContextMenu .ht_clone_top,.htContextMenu .ht_clone_left,.htContextMenu .ht_clone_corner,.htContextMenu .ht_clone_debug{display:none}.htContextMenu table.htCore{border:1px solid #bbb;border-bottom-width:2px;border-right-width:2px}.htContextMenu .wtBorder{visibility:hidden}.htContextMenu table tbody tr td{background:white;border-width:0;padding:4px 6px 0 6px;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htContextMenu table tbody tr td:first-child{border:0}.htContextMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htContextMenu table tbody tr td.current,.htContextMenu table tbody tr td.zeroclipboard-is-hover{background:#e9e9e9}.htContextMenu table tbody tr td.htSeparator{border-top:1px solid #bbb;height:0;padding:0;cursor:default}.htContextMenu table tbody tr td.htDisabled{color:#999}.htContextMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htContextMenu table tbody tr.htHidden{display:none}.htContextMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:6px}.htContextMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px}.htContextMenu .ht_master .wtHolder{overflow:hidden}/*!
|
29 |
* Pikaday
|
30 |
* Copyright © 2014 David Bushell | BSD & MIT license | http://dbushell.com/
|
31 |
-
*/.pika-single{z-index:9999;display:block;position:relative;color:#333;background:#fff;border:1px solid #ccc;border-bottom-color:#bbb;font-family:
|
|
|
|
|
|
1 |
+
@charset "UTF-8";
|
2 |
+
/*!
|
3 |
+
* (The MIT License)
|
4 |
+
*
|
5 |
+
* Copyright (c) 2012-2014 Marcin Warpechowski
|
6 |
+
* Copyright (c) 2015 Handsoncode sp. z o.o. <hello@handsoncode.net>
|
7 |
+
*
|
8 |
+
* Permission is hereby granted, free of charge, to any person obtaining
|
9 |
+
* a copy of this software and associated documentation files (the
|
10 |
+
* 'Software'), to deal in the Software without restriction, including
|
11 |
+
* without limitation the rights to use, copy, modify, merge, publish,
|
12 |
+
* distribute, sublicense, and/or sell copies of the Software, and to
|
13 |
+
* permit persons to whom the Software is furnished to do so, subject to
|
14 |
+
* the following conditions:
|
15 |
+
*
|
16 |
+
* The above copyright notice and this permission notice shall be
|
17 |
+
* included in all copies or substantial portions of the Software.
|
18 |
+
*
|
19 |
+
* THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
20 |
+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
21 |
+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
22 |
+
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
23 |
+
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
24 |
+
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
25 |
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
26 |
+
*
|
27 |
+
* Version: 6.2.2
|
28 |
+
* Release date: 19/12/2018 (built at 18/12/2018 14:43:44)
|
29 |
+
*/.handsontable .table td,.handsontable .table th{border-top:none}.handsontable tr{background:#fff}.handsontable td{background-color:inherit}.handsontable .table caption+thead tr:first-child td,.handsontable .table caption+thead tr:first-child th,.handsontable .table colgroup+thead tr:first-child td,.handsontable .table colgroup+thead tr:first-child th,.handsontable .table thead:first-child tr:first-child td,.handsontable .table thead:first-child tr:first-child th{border-top:1px solid #ccc}.handsontable .table-bordered{border:0;border-collapse:separate}.handsontable .table-bordered td,.handsontable .table-bordered th{border-left:none}.handsontable .table-bordered td:first-child,.handsontable .table-bordered th:first-child{border-left:1px solid #ccc}.handsontable .table>tbody>tr>td,.handsontable .table>tbody>tr>th,.handsontable .table>tfoot>tr>td,.handsontable .table>tfoot>tr>th,.handsontable .table>thead>tr>td,.handsontable .table>thead>tr>th{line-height:21px;padding:0 4px}.col-lg-1.handsontable,.col-lg-2.handsontable,.col-lg-3.handsontable,.col-lg-4.handsontable,.col-lg-5.handsontable,.col-lg-6.handsontable,.col-lg-7.handsontable,.col-lg-8.handsontable,.col-lg-9.handsontable,.col-lg-10.handsontable,.col-lg-11.handsontable,.col-lg-12.handsontable,.col-md-1.handsontable,.col-md-2.handsontable,.col-md-3.handsontable,.col-md-4.handsontable,.col-md-5.handsontable,.col-md-6.handsontable,.col-md-7.handsontable,.col-md-8.handsontable,.col-md-9.handsontable .col-sm-1.handsontable,.col-md-10.handsontable,.col-md-11.handsontable,.col-md-12.handsontable,.col-sm-2.handsontable,.col-sm-3.handsontable,.col-sm-4.handsontable,.col-sm-5.handsontable,.col-sm-6.handsontable,.col-sm-7.handsontable,.col-sm-8.handsontable,.col-sm-9.handsontable .col-xs-1.handsontable,.col-sm-10.handsontable,.col-sm-11.handsontable,.col-sm-12.handsontable,.col-xs-2.handsontable,.col-xs-3.handsontable,.col-xs-4.handsontable,.col-xs-5.handsontable,.col-xs-6.handsontable,.col-xs-7.handsontable,.col-xs-8.handsontable,.col-xs-9.handsontable,.col-xs-10.handsontable,.col-xs-11.handsontable,.col-xs-12.handsontable{padding-left:0;padding-right:0}.handsontable .table-striped>tbody>tr:nth-of-type(2n){background-color:#fff}.handsontable{position:relative}.handsontable .hide{display:none}.handsontable .relative{position:relative}.handsontable.htAutoSize{visibility:hidden;left:-99000px;position:absolute;top:-99000px}.handsontable .wtHider{width:0}.handsontable .wtSpreader{position:relative;width:0;height:auto}.handsontable div,.handsontable input,.handsontable table,.handsontable tbody,.handsontable td,.handsontable textarea,.handsontable th,.handsontable thead{box-sizing:content-box;-webkit-box-sizing:content-box;-moz-box-sizing:content-box}.handsontable input,.handsontable textarea{min-height:0}.handsontable table.htCore{border-collapse:separate;border-spacing:0;margin:0;border-width:0;table-layout:fixed;width:0;outline-width:0;cursor:default;max-width:none;max-height:none}.handsontable col,.handsontable col.rowHeader{width:50px}.handsontable td,.handsontable th{border-top-width:0;border-left-width:0;border-right:1px solid #ccc;border-bottom:1px solid #ccc;height:22px;empty-cells:show;line-height:21px;padding:0 4px;background-color:#fff;vertical-align:top;overflow:hidden;outline-width:0;white-space:pre-line;background-clip:padding-box}.handsontable td.htInvalid{background-color:#ff4c42!important}.handsontable td.htNoWrap{white-space:nowrap}.handsontable th:last-child{border-right:1px solid #ccc;border-bottom:1px solid #ccc}.handsontable th.htNoFrame,.handsontable th:first-child.htNoFrame,.handsontable tr:first-child th.htNoFrame{border-left-width:0;background-color:#fff;border-color:#fff}.handsontable .htNoFrame+td,.handsontable .htNoFrame+th,.handsontable.htRowHeaders thead tr th:nth-child(2),.handsontable td:first-of-type,.handsontable th:first-child,.handsontable th:nth-child(2){border-left:1px solid #ccc}.handsontable tr:first-child td,.handsontable tr:first-child th{border-top:1px solid #ccc}.ht_master:not(.innerBorderLeft):not(.emptyColumns)~.handsontable:not(.ht_clone_top) thead tr th:first-child,.ht_master:not(.innerBorderLeft):not(.emptyColumns)~.handsontable tbody tr th{border-right-width:0}.ht_master:not(.innerBorderTop) thead tr.lastChild th,.ht_master:not(.innerBorderTop) thead tr:last-child th,.ht_master:not(.innerBorderTop)~.handsontable thead tr.lastChild th,.ht_master:not(.innerBorderTop)~.handsontable thead tr:last-child th{border-bottom-width:0}.handsontable th{background-color:#f0f0f0;color:#222;text-align:center;font-weight:400;white-space:nowrap}.handsontable thead th{padding:0}.handsontable th.active{background-color:#ccc}.handsontable thead th .relative{padding:2px 4px}#hot-display-license-info{font-size:10px;color:#323232;padding:5px 0 3px;font-family:Helvetica,Arial,sans-serif;text-align:left}.handsontable .manualColumnResizer{position:fixed;top:0;cursor:col-resize;z-index:110;width:5px;height:25px}.handsontable .manualRowResizer{position:fixed;left:0;cursor:row-resize;z-index:110;height:5px;width:50px}.handsontable .manualColumnResizer.active,.handsontable .manualColumnResizer:hover,.handsontable .manualRowResizer.active,.handsontable .manualRowResizer:hover{background-color:#34a9db}.handsontable .manualColumnResizerGuide{position:fixed;right:0;top:0;background-color:#34a9db;display:none;width:0;border-right:1px dashed #777;margin-left:5px}.handsontable .manualRowResizerGuide{position:fixed;left:0;bottom:0;background-color:#34a9db;display:none;height:0;border-bottom:1px dashed #777;margin-top:5px}.handsontable .manualColumnResizerGuide.active,.handsontable .manualRowResizerGuide.active{display:block;z-index:199}.handsontable .columnSorting{position:relative}.handsontable .columnSorting.sortAction:hover{text-decoration:underline;cursor:pointer}.handsontable span.colHeader{display:inline-block;line-height:1.1}.handsontable span.colHeader.columnSorting:before{top:50%;margin-top:-6px;padding-left:8px;position:absolute;right:-9px;content:"";height:10px;width:5px;background-size:contain;background-repeat:no-repeat;background-position-x:right}.handsontable span.colHeader.columnSorting.ascending:before{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC")}.handsontable span.colHeader.columnSorting.descending:before{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFJJREFUeAHtzjkSgCAQRNFmQYUZ7n9dKUvru0TmvPAn3br0QfgdZ5xx6x+rQn23GqTYnq1FDcnuzZIO2WmedVqIRVxgGKEyjNgYRjKGkZ1hFIZ3I70LyM0VtU8AAAAASUVORK5CYII=")}.htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled):after{content:"*";display:inline-block;position:relative;padding-right:20px}.handsontable .wtBorder{position:absolute;font-size:0}.handsontable .wtBorder.hidden{display:none!important}.handsontable .wtBorder.current{z-index:10}.handsontable .wtBorder.area{z-index:8}.handsontable .wtBorder.fill{z-index:6}.handsontable td.area,.handsontable td.area-1,.handsontable td.area-2,.handsontable td.area-3,.handsontable td.area-4,.handsontable td.area-5,.handsontable td.area-6,.handsontable td.area-7{position:relative}.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;bottom:-100%\9;background:#005eff}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.handsontable td.area-1:before,.handsontable td.area-2:before,.handsontable td.area-3:before,.handsontable td.area-4:before,.handsontable td.area-5:before,.handsontable td.area-6:before,.handsontable td.area-7:before,.handsontable td.area:before{bottom:-100%}}.handsontable td.area:before{opacity:.1}.handsontable td.area-1:before{opacity:.2}.handsontable td.area-2:before{opacity:.27}.handsontable td.area-3:before{opacity:.35}.handsontable td.area-4:before{opacity:.41}.handsontable td.area-5:before{opacity:.47}.handsontable td.area-6:before{opacity:.54}.handsontable td.area-7:before{opacity:.58}.handsontable tbody th.ht__highlight,.handsontable thead th.ht__highlight{background-color:#dcdcdc}.handsontable tbody th.ht__active_highlight,.handsontable thead th.ht__active_highlight{background-color:#8eb0e7;color:#000}.handsontable .wtBorder.corner{font-size:0;cursor:crosshair}.handsontable .htBorder.htFillBorder{background:red;width:1px;height:1px}.handsontableInput{border:none;outline-width:0;margin:0;padding:1px 5px 0;font-family:inherit;line-height:21px;font-size:inherit;box-shadow:inset 0 0 0 2px #5292f7;resize:none;display:block;color:#000;border-radius:0;background-color:#fff}.handsontableInputHolder{position:absolute;top:0;left:0;z-index:104}.htSelectEditor{-webkit-appearance:menulist-button!important;position:absolute;width:auto}.handsontable .htDimmed{color:#777}.handsontable .htSubmenu{position:relative}.handsontable .htSubmenu :after{content:"\25B6";color:#777;position:absolute;right:5px;font-size:9px}.handsontable .htLeft{text-align:left}.handsontable .htCenter{text-align:center}.handsontable .htRight{text-align:right}.handsontable .htJustify{text-align:justify}.handsontable .htTop{vertical-align:top}.handsontable .htMiddle{vertical-align:middle}.handsontable .htBottom{vertical-align:bottom}.handsontable .htPlaceholder{color:#999}.handsontable .htAutocompleteArrow{float:right;font-size:10px;color:#eee;cursor:default;width:16px;text-align:center}.handsontable td .htAutocompleteArrow:hover{color:#777}.handsontable td.area .htAutocompleteArrow{color:#d3d3d3}.handsontable .htCheckboxRendererInput{display:inline-block;vertical-align:middle}.handsontable .htCheckboxRendererInput.noValue{opacity:.5}.handsontable .htCheckboxRendererLabel{cursor:pointer;display:inline-block;width:100%}.handsontable .handsontable.ht_clone_top .wtHider{padding:0 0 5px}.handsontable .autocompleteEditor.handsontable{padding-right:17px}.handsontable .autocompleteEditor.handsontable.htMacScroll{padding-right:15px}.handsontable.listbox{margin:0}.handsontable.listbox .ht_master table{border:1px solid #ccc;border-collapse:separate;background:#fff}.handsontable.listbox td,.handsontable.listbox th,.handsontable.listbox tr:first-child td,.handsontable.listbox tr:first-child th,.handsontable.listbox tr:last-child th{border-color:transparent}.handsontable.listbox td,.handsontable.listbox th{white-space:nowrap;text-overflow:ellipsis}.handsontable.listbox td.htDimmed{cursor:default;color:inherit;font-style:inherit}.handsontable.listbox .wtBorder{visibility:hidden}.handsontable.listbox tr:hover td,.handsontable.listbox tr td.current{background:#eee}.ht_clone_top{z-index:101}.ht_clone_left{z-index:102}.ht_clone_bottom_left_corner,.ht_clone_debug,.ht_clone_top_left_corner{z-index:103}.handsontable td.htSearchResult{background:#fcedd9;color:#583707}.htBordered{border-width:1px}.htBordered.htTopBorderSolid{border-top-style:solid;border-top-color:#000}.htBordered.htRightBorderSolid{border-right-style:solid;border-right-color:#000}.htBordered.htBottomBorderSolid{border-bottom-style:solid;border-bottom-color:#000}.htBordered.htLeftBorderSolid{border-left-style:solid;border-left-color:#000}.handsontable tbody tr th:nth-last-child(2){border-right:1px solid #ccc}.handsontable thead tr:nth-last-child(2) th.htGroupIndicatorContainer{border-bottom:1px solid #ccc;padding-bottom:5px}.ht_clone_top_left_corner thead tr th:nth-last-child(2){border-right:1px solid #ccc}.htCollapseButton{width:10px;height:10px;line-height:10px;text-align:center;border-radius:5px;border:1px solid #f3f3f3;box-shadow:1px 1px 3px rgba(0,0,0,.4);cursor:pointer;margin-bottom:3px;position:relative}.htCollapseButton:after{content:"";height:300%;width:1px;display:block;background:#ccc;margin-left:4px;position:absolute;bottom:10px}thead .htCollapseButton{right:5px;position:absolute;top:5px;background:#fff}thead .htCollapseButton:after{height:1px;width:700%;right:10px;top:4px}.handsontable tr th .htExpandButton{position:absolute;width:10px;height:10px;line-height:10px;text-align:center;border-radius:5px;border:1px solid #f3f3f3;box-shadow:1px 1px 3px rgba(0,0,0,.4);cursor:pointer;top:0;display:none}.handsontable thead tr th .htExpandButton{top:5px}.handsontable tr th .htExpandButton.clickable{display:block}.collapsibleIndicator{position:absolute;top:50%;transform:translateY(-50%);right:5px;border:1px solid #a6a6a6;line-height:10px;color:#222;border-radius:10px;font-size:10px;width:10px;height:10px;cursor:pointer;box-shadow:0 0 0 6px #eee;background:#eee}.handsontable col.hidden{width:0!important}.handsontable table tr th.lightRightBorder{border-right:1px solid #e6e6e6}.handsontable tr.hidden,.handsontable tr.hidden td,.handsontable tr.hidden th{display:none}.ht_clone_bottom,.ht_clone_left,.ht_clone_top,.ht_master{overflow:hidden}.ht_master .wtHolder{overflow:auto}.handsontable .ht_clone_left thead,.handsontable .ht_master thead,.handsontable .ht_master tr th{visibility:hidden}.ht_clone_bottom .wtHolder,.ht_clone_left .wtHolder,.ht_clone_top .wtHolder{overflow:hidden}.handsontable.mobile,.handsontable.mobile .wtHolder{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-overflow-scrolling:touch}.htMobileEditorContainer{display:none;position:absolute;top:0;width:70%;height:54pt;background:#f8f8f8;border-radius:20px;border:1px solid #ebebeb;z-index:999;box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-text-size-adjust:none}.topLeftSelectionHandle-HitArea:not(.ht_master .topLeftSelectionHandle-HitArea),.topLeftSelectionHandle:not(.ht_master .topLeftSelectionHandle){z-index:9999}.bottomRightSelectionHandle,.bottomRightSelectionHandle-HitArea,.topLeftSelectionHandle,.topLeftSelectionHandle-HitArea{left:-10000px;top:-10000px}.htMobileEditorContainer.active{display:block}.htMobileEditorContainer .inputs{position:absolute;right:210pt;bottom:10pt;top:10pt;left:14px;height:34pt}.htMobileEditorContainer .inputs textarea{font-size:13pt;border:1px solid #a1a1a1;-webkit-appearance:none;box-shadow:none;position:absolute;left:14px;right:14px;top:0;bottom:0;padding:7pt}.htMobileEditorContainer .cellPointer{position:absolute;top:-13pt;height:0;width:0;left:30px;border-left:13pt solid transparent;border-right:13pt solid transparent;border-bottom:13pt solid #ebebeb}.htMobileEditorContainer .cellPointer.hidden{display:none}.htMobileEditorContainer .cellPointer:before{content:"";display:block;position:absolute;top:2px;height:0;width:0;left:-13pt;border-left:13pt solid transparent;border-right:13pt solid transparent;border-bottom:13pt solid #f8f8f8}.htMobileEditorContainer .moveHandle{position:absolute;top:10pt;left:5px;width:30px;bottom:0;cursor:move;z-index:9999}.htMobileEditorContainer .moveHandle:after{content:"..\A..\A..\A..";white-space:pre;line-height:10px;font-size:20pt;display:inline-block;margin-top:-8px;color:#ebebeb}.htMobileEditorContainer .positionControls{width:205pt;position:absolute;right:5pt;top:0;bottom:0}.htMobileEditorContainer .positionControls>div{width:50pt;height:100%;float:left}.htMobileEditorContainer .positionControls>div:after{content:" ";display:block;width:15pt;height:15pt;text-align:center;line-height:50pt}.htMobileEditorContainer .downButton:after,.htMobileEditorContainer .leftButton:after,.htMobileEditorContainer .rightButton:after,.htMobileEditorContainer .upButton:after{transform-origin:5pt 5pt;-webkit-transform-origin:5pt 5pt;margin:21pt 0 0 21pt}.htMobileEditorContainer .leftButton:after{border-top:2px solid #288ffe;border-left:2px solid #288ffe;-webkit-transform:rotate(-45deg)}.htMobileEditorContainer .leftButton:active:after{border-color:#cfcfcf}.htMobileEditorContainer .rightButton:after{border-top:2px solid #288ffe;border-left:2px solid #288ffe;-webkit-transform:rotate(135deg)}.htMobileEditorContainer .rightButton:active:after{border-color:#cfcfcf}.htMobileEditorContainer .upButton:after{border-top:2px solid #288ffe;border-left:2px solid #288ffe;-webkit-transform:rotate(45deg)}.htMobileEditorContainer .upButton:active:after{border-color:#cfcfcf}.htMobileEditorContainer .downButton:after{border-top:2px solid #288ffe;border-left:2px solid #288ffe;-webkit-transform:rotate(225deg)}.htMobileEditorContainer .downButton:active:after{border-color:#cfcfcf}.handsontable.hide-tween{animation:opacity-hide .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}.handsontable.show-tween{animation:opacity-show .3s;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}
|
30 |
|
31 |
+
/*!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
* Pikaday
|
33 |
* Copyright © 2014 David Bushell | BSD & MIT license | http://dbushell.com/
|
34 |
+
*/.pika-single{z-index:9999;display:block;position:relative;color:#333;background:#fff;border:1px solid #ccc;border-bottom-color:#bbb;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.pika-single:after,.pika-single:before{content:" ";display:table}.pika-single:after{clear:both}.pika-single{*zoom:1}.pika-single.is-hidden{display:none}.pika-single.is-bound{position:absolute;box-shadow:0 5px 15px -5px rgba(0,0,0,.5)}.pika-lendar{float:left;width:240px;margin:8px}.pika-title{position:relative;text-align:center}.pika-label{display:inline-block;*display:inline;position:relative;z-index:9999;overflow:hidden;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:700;background-color:#fff}.pika-title select{cursor:pointer;position:absolute;z-index:9998;margin:0;left:0;top:5px;filter:alpha(opacity=0);opacity:0}.pika-next,.pika-prev{display:block;cursor:pointer;position:relative;outline:none;border:0;padding:0;width:20px;height:30px;text-indent:20px;white-space:nowrap;overflow:hidden;background-color:transparent;background-position:50%;background-repeat:no-repeat;background-size:75% 75%;opacity:.5;*position:absolute;*top:0}.pika-next:hover,.pika-prev:hover{opacity:1}.is-rtl .pika-next,.pika-prev{float:left;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==");*left:0}.is-rtl .pika-prev,.pika-next{float:right;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=");*right:0}.pika-next.is-disabled,.pika-prev.is-disabled{cursor:default;opacity:.2}.pika-select{display:inline-block;*display:inline}.pika-table{width:100%;border-collapse:collapse;border-spacing:0;border:0}.pika-table td,.pika-table th{width:14.285714285714286%;padding:0}.pika-table th{color:#999;font-size:12px;line-height:25px;font-weight:700;text-align:center}.pika-button{cursor:pointer;display:block;box-sizing:border-box;-moz-box-sizing:border-box;outline:none;border:0;margin:0;width:100%;padding:5px;color:#666;font-size:12px;line-height:15px;text-align:right;background:#f5f5f5}.pika-week{font-size:11px;color:#999}.is-today .pika-button{color:#3af;font-weight:700}.is-selected .pika-button{color:#fff;font-weight:700;background:#3af;box-shadow:inset 0 1px 3px #178fe5;border-radius:3px}.is-inrange .pika-button{background:#d5e9f7}.is-startrange .pika-button{color:#fff;background:#6cb31d;box-shadow:none;border-radius:3px}.is-endrange .pika-button{color:#fff;background:#3af;box-shadow:none;border-radius:3px}.is-disabled .pika-button,.is-outside-current-month .pika-button{pointer-events:none;cursor:default;color:#999;opacity:.3}.pika-button:hover{color:#fff;background:#ff8000;box-shadow:none;border-radius:3px}.pika-table abbr{border-bottom:none;cursor:help}.htCommentCell{position:relative}.htCommentCell:after{content:"";position:absolute;top:0;right:0;border-left:6px solid transparent;border-top:6px solid #000}.htComments{display:none;z-index:1059;position:absolute}.htCommentTextArea{box-shadow:0 1px 3px rgba(0,0,0,.117647),0 1px 2px rgba(0,0,0,.239216);box-sizing:border-box;border:none;border-left:3px solid #ccc;background-color:#fff;width:215px;height:90px;font-size:12px;padding:5px;outline:0!important;-webkit-appearance:none}.htCommentTextArea:focus{box-shadow:0 1px 3px rgba(0,0,0,.117647),0 1px 2px rgba(0,0,0,.239216),inset 0 0 0 1px #5292f7;border-left:3px solid #5292f7}
|
35 |
+
/*!
|
36 |
+
* Handsontable ContextMenu
|
37 |
+
*/.htContextMenu:not(.htGhostTable){display:none;position:absolute;z-index:1060}.htContextMenu .ht_clone_corner,.htContextMenu .ht_clone_debug,.htContextMenu .ht_clone_left,.htContextMenu .ht_clone_top{display:none}.htContextMenu table.htCore{border:1px solid #ccc;border-bottom-width:2px;border-right-width:2px}.htContextMenu .wtBorder{visibility:hidden}.htContextMenu table tbody tr td{background:#fff;border-width:0;padding:4px 6px 0;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.htContextMenu table tbody tr td:first-child{border:0}.htContextMenu table tbody tr td.htDimmed{font-style:normal;color:#323232}.htContextMenu table tbody tr td.current,.htContextMenu table tbody tr td.zeroclipboard-is-hover{background:#f3f3f3}.htContextMenu table tbody tr td.htSeparator{border-top:1px solid #e6e6e6;height:0;padding:0;cursor:default}.htContextMenu table tbody tr td.htDisabled{color:#999;cursor:default}.htContextMenu table tbody tr td.htDisabled:hover{background:#fff;color:#999;cursor:default}.htContextMenu table tbody tr.htHidden{display:none}.htContextMenu table tbody tr td .htItemWrapper{margin-left:10px;margin-right:6px}.htContextMenu table tbody tr td div span.selected{margin-top:-2px;position:absolute;left:4px}.htContextMenu .ht_master .wtHolder{overflow:hidden}textarea#HandsontableCopyPaste{position:fixed!important;top:0!important;right:100%!important;overflow:hidden;opacity:0;outline:0 none!important}.htRowHeaders .ht_master.innerBorderLeft~.ht_clone_left td:first-of-type,.htRowHeaders .ht_master.innerBorderLeft~.ht_clone_top_left_corner th:nth-child(2){border-left:0 none}.handsontable.ht__manualColumnMove.after-selection--columns thead th.ht__highlight{cursor:move;cursor:grab}.handsontable.ht__manualColumnMove.on-moving--columns,.handsontable.ht__manualColumnMove.on-moving--columns thead th.ht__highlight{cursor:move;cursor:grabbing}.handsontable.ht__manualColumnMove.on-moving--columns .manualColumnResizer{display:none}.handsontable .ht__manualColumnMove--backlight,.handsontable .ht__manualColumnMove--guideline{position:absolute;height:100%;display:none}.handsontable .ht__manualColumnMove--guideline{background:#757575;width:2px;top:0;margin-left:-1px;z-index:105}.handsontable .ht__manualColumnMove--backlight{background:#343434;background:rgba(52,52,52,.25);display:none;z-index:105;pointer-events:none}.handsontable.on-moving--columns .ht__manualColumnMove--backlight,.handsontable.on-moving--columns.show-ui .ht__manualColumnMove--guideline{display:block}.handsontable .wtHider{position:relative}.handsontable.ht__manualRowMove.after-selection--rows tbody th.ht__highlight{cursor:move;cursor:grab}.handsontable.ht__manualRowMove.on-moving--rows,.handsontable.ht__manualRowMove.on-moving--rows tbody th.ht__highlight{cursor:move;cursor:grabbing}.handsontable.ht__manualRowMove.on-moving--rows .manualRowResizer{display:none}.handsontable .ht__manualRowMove--backlight,.handsontable .ht__manualRowMove--guideline{position:absolute;width:100%;display:none}.handsontable .ht__manualRowMove--guideline{background:#757575;height:2px;left:0;margin-top:-1px;z-index:105}.handsontable .ht__manualRowMove--backlight{background:#343434;background:rgba(52,52,52,.25);display:none;z-index:105;pointer-events:none}.handsontable.on-moving--rows .ht__manualRowMove--backlight,.handsontable.on-moving--rows.show-ui .ht__manualRowMove--guideline{display:block}.handsontable tbody td[rowspan][class*=area][class*=highlight]:not([class*=fullySelectedMergedCell]):before{opacity:0}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-0]:before,.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-multiple]:before{opacity:.1}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-1]:before{opacity:.2}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-2]:before{opacity:.27}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-3]:before{opacity:.35}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-4]:before{opacity:.41}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-5]:before{opacity:.47}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-6]:before{opacity:.54}.handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-7]:before{opacity:.58}
|
assets/css/style.css
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
font-family: 'wpDataTablesIcons';
|
3 |
src: url('../fonts/wpDataTablesIcons.eot');
|
4 |
src: url('../fonts/wpDataTablesIcons.eot#iefix') format('embedded-opentype'),
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
font-weight: normal;
|
9 |
font-style: normal;
|
10 |
font-display: block;
|
@@ -26,6 +26,72 @@
|
|
26 |
-moz-osx-font-smoothing: grayscale;
|
27 |
}
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
.wpdt-icon-trophy:before {
|
30 |
content: "\e916";
|
31 |
}
|
@@ -476,6 +542,9 @@
|
|
476 |
.wpdt-icon-percent:before {
|
477 |
content: "\f295";
|
478 |
}
|
|
|
|
|
|
|
479 |
.wpdt-icon-long-arrow-alt-down:before {
|
480 |
content: "\f309";
|
481 |
}
|
@@ -563,6 +632,9 @@
|
|
563 |
.wpdt-icon-file-csv:before {
|
564 |
content: "\f6dd";
|
565 |
}
|
|
|
|
|
|
|
566 |
.wpdt-icon-line-columns:before {
|
567 |
content: "\f870";
|
568 |
}
|
@@ -596,6 +668,9 @@
|
|
596 |
.wpdt-icon-clock-full:before {
|
597 |
content: "\f018";
|
598 |
}
|
|
|
|
|
|
|
599 |
.wpdt-icon-step-backward:before {
|
600 |
content: "\f048";
|
601 |
}
|
@@ -878,6 +953,9 @@
|
|
878 |
.wpdt-icon-layer-group:before {
|
879 |
content: "\f5fd";
|
880 |
}
|
|
|
|
|
|
|
881 |
.wpdt-icon-sort-alpha-down-alt:before {
|
882 |
content: "\f662";
|
883 |
}
|
@@ -923,6 +1001,12 @@
|
|
923 |
.wpdt-icon-calendar-times-thin:before {
|
924 |
content: "\f274";
|
925 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
926 |
.wpdt-icon-spinner9:before {
|
927 |
content: "\e982";
|
928 |
-
}
|
2 |
font-family: 'wpDataTablesIcons';
|
3 |
src: url('../fonts/wpDataTablesIcons.eot');
|
4 |
src: url('../fonts/wpDataTablesIcons.eot#iefix') format('embedded-opentype'),
|
5 |
+
url('../fonts/wpDataTablesIcons.ttf') format('truetype'),
|
6 |
+
url('../fonts/wpDataTablesIcons.woff') format('woff'),
|
7 |
+
url('../fonts/wpDataTablesIcons.svg#wpDataTablesIcons') format('svg');
|
8 |
font-weight: normal;
|
9 |
font-style: normal;
|
10 |
font-display: block;
|
26 |
-moz-osx-font-smoothing: grayscale;
|
27 |
}
|
28 |
|
29 |
+
.wpdt-icon-star-half:before {
|
30 |
+
content: "\e92c";
|
31 |
+
}
|
32 |
+
.wpdt-icon-wrap-text:before {
|
33 |
+
content: "\e929";
|
34 |
+
}
|
35 |
+
.wpdt-icon-clip-text:before {
|
36 |
+
content: "\e92a";
|
37 |
+
}
|
38 |
+
.wpdt-icon-overflow-text:before {
|
39 |
+
content: "\e92b";
|
40 |
+
}
|
41 |
+
.wpdt-icon-rows-1:before {
|
42 |
+
content: "\e921";
|
43 |
+
}
|
44 |
+
.wpdt-icon-columns-1:before {
|
45 |
+
content: "\e926";
|
46 |
+
}
|
47 |
+
.wpdt-icon-rows-2:before {
|
48 |
+
content: "\e927";
|
49 |
+
}
|
50 |
+
.wpdt-icon-columns-2:before {
|
51 |
+
content: "\e928";
|
52 |
+
}
|
53 |
+
.wpdt-icon-vertical-align-top:before {
|
54 |
+
content: "\e918";
|
55 |
+
}
|
56 |
+
.wpdt-icon-vertical-align-center:before {
|
57 |
+
content: "\e919";
|
58 |
+
}
|
59 |
+
.wpdt-icon-vertical-align-bottom:before {
|
60 |
+
content: "\e91a";
|
61 |
+
}
|
62 |
+
.wpdt-icon-remove-row:before {
|
63 |
+
content: "\e91d";
|
64 |
+
}
|
65 |
+
.wpdt-icon-add-row-top:before {
|
66 |
+
content: "\e91e";
|
67 |
+
}
|
68 |
+
.wpdt-icon-add-row-bottom:before {
|
69 |
+
content: "\e91f";
|
70 |
+
}
|
71 |
+
.wpdt-icon-add-column-right:before {
|
72 |
+
content: "\e920";
|
73 |
+
}
|
74 |
+
.wpdt-icon-add-column-left:before {
|
75 |
+
content: "\e91b";
|
76 |
+
}
|
77 |
+
.wpdt-icon-remove-column:before {
|
78 |
+
content: "\e91c";
|
79 |
+
}
|
80 |
+
.wpdt-icon-insert-column-after:before {
|
81 |
+
content: "\e922";
|
82 |
+
}
|
83 |
+
.wpdt-icon-insert-column-before:before {
|
84 |
+
content: "\e923";
|
85 |
+
}
|
86 |
+
.wpdt-icon-insert-row-after:before {
|
87 |
+
content: "\e924";
|
88 |
+
}
|
89 |
+
.wpdt-icon-insert-row-before:before {
|
90 |
+
content: "\e925";
|
91 |
+
}
|
92 |
+
.wpdt-icon-g-cap:before {
|
93 |
+
content: "\e917";
|
94 |
+
}
|
95 |
.wpdt-icon-trophy:before {
|
96 |
content: "\e916";
|
97 |
}
|
542 |
.wpdt-icon-percent:before {
|
543 |
content: "\f295";
|
544 |
}
|
545 |
+
.wpdt-icon-undo-alt:before {
|
546 |
+
content: "\f2ea";
|
547 |
+
}
|
548 |
.wpdt-icon-long-arrow-alt-down:before {
|
549 |
content: "\f309";
|
550 |
}
|
632 |
.wpdt-icon-file-csv:before {
|
633 |
content: "\f6dd";
|
634 |
}
|
635 |
+
.wpdt-icon-brackets:before {
|
636 |
+
content: "\f7e9";
|
637 |
+
}
|
638 |
.wpdt-icon-line-columns:before {
|
639 |
content: "\f870";
|
640 |
}
|
668 |
.wpdt-icon-clock-full:before {
|
669 |
content: "\f018";
|
670 |
}
|
671 |
+
.wpdt-icon-tint:before {
|
672 |
+
content: "\f044";
|
673 |
+
}
|
674 |
.wpdt-icon-step-backward:before {
|
675 |
content: "\f048";
|
676 |
}
|
953 |
.wpdt-icon-layer-group:before {
|
954 |
content: "\f5fd";
|
955 |
}
|
956 |
+
.wpdt-icon-brackets1:before {
|
957 |
+
content: "\f7ea";
|
958 |
+
}
|
959 |
.wpdt-icon-sort-alpha-down-alt:before {
|
960 |
content: "\f662";
|
961 |
}
|
1001 |
.wpdt-icon-calendar-times-thin:before {
|
1002 |
content: "\f274";
|
1003 |
}
|
1004 |
+
.wpdt-icon-undo2:before {
|
1005 |
+
content: "\e967";
|
1006 |
+
}
|
1007 |
+
.wpdt-icon-redo2:before {
|
1008 |
+
content: "\e968";
|
1009 |
+
}
|
1010 |
.wpdt-icon-spinner9:before {
|
1011 |
content: "\e982";
|
1012 |
+
}
|
assets/css/style.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
@font-face{font-family:wpDataTablesIcons;src:url(../fonts/wpDataTablesIcons.eot);src:url(../fonts/wpDataTablesIcons.eot#iefix) format('embedded-opentype'),url(../fonts/wpDataTablesIcons.ttf) format('truetype'),url(../fonts/wpDataTablesIcons.woff) format('woff'),url(../fonts/wpDataTablesIcons.svg#wpDataTablesIcons) format('svg');font-weight:400;font-style:normal;font-display:block}[class*=" wpdt-icon-"],[class^=wpdt-icon-]{font-family:wpDataTablesIcons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wpdt-icon-trophy:before{content:"\e916"}.wpdt-icon-magic-stick:before{content:"\e914"}.wpdt-icon-book:before{content:"\e915"}.wpdt-icon-csv:before{content:"\e900"}.wpdt-icon-search-w:before{content:"\e901"}.wpdt-icon-shape:before{content:"\e904"}.wpdt-icon-sort-down1:before{content:"\e905"}.wpdt-icon-cancel-x:before{content:"\e906"}.wpdt-icon-uniE907:before{content:"\e907"}.wpdt-icon-copy-wa:before{content:"\e908"}.wpdt-icon-excel:before{content:"\e90a"}.wpdt-icon-export:before{content:"\e909"}.wpdt-icon-filled-check:before{content:"\e90b"}.wpdt-icon-icon-close:before{content:"\e90c"}.wpdt-icon-outlined-check:before{content:"\e90d"}.wpdt-icon-pdf:before{content:"\e912"}.wpdt-icon-print:before{content:"\e90e"}.wpdt-icon-delete:before{content:"\e90f"}.wpdt-icon-edit:before{content:"\e910"}.wpdt-icon-eye-w:before{content:"\e911"}.wpdt-icon-plus-wa:before{content:"\e913"}.wpdt-icon-glyph:before{content:"\e001"}.wpdt-icon-glyph-1:before{content:"\e002"}.wpdt-icon-glyph-2:before{content:"\e003"}.wpdt-icon-glyph-3:before{content:"\e004"}.wpdt-icon-glyph-4:before{content:"\e005"}.wpdt-icon-glyph-6:before{content:"\e006"}.wpdt-icon-glyph-5:before{content:"\e007"}.wpdt-icon-glyph-7:before{content:"\e008"}.wpdt-icon-glyph-9:before{content:"\e009"}.wpdt-icon-glyph-8:before{content:"\e00a"}.wpdt-icon-glyph-10:before{content:"\e00b"}.wpdt-icon-glyph-11:before{content:"\e00c"}.wpdt-icon-glyph-12:before{content:"\e00d"}.wpdt-icon-glyph-13:before{content:"\e00e"}.wpdt-icon-glyph-14:before{content:"\e00f"}.wpdt-icon-glyph-15:before{content:"\e010"}.wpdt-icon-glyph-16:before{content:"\e011"}.wpdt-icon-glyph-17:before{content:"\e012"}.wpdt-icon-glyph-18:before{content:"\e013"}.wpdt-icon-glyph-19:before{content:"\e014"}.wpdt-icon-glyph-20:before{content:"\e015"}.wpdt-icon-install:before{content:"\e778"}.wpdt-icon-1493906635_delete_filter:before{content:"\e817"}.wpdt-icon-1493907529_pack06-16:before{content:"\e818"}.wpdt-icon-1493907728_excel_d:before{content:"\e819"}.wpdt-icon-csv-file-variant-with-graphs:before{content:"\e81a"}.wpdt-icon-pdf-file-format-symbol:before{content:"\e81b"}.wpdt-icon-1495736216_column_table_minus_remove_delete_discard:before{content:"\e81d"}.wpdt-icon-1495736192_column_table_new_plus_add_create_insert:before{content:"\e81e"}.wpdt-icon-icons-01:before{content:"\e902"}.wpdt-icon-icons-02:before{content:"\e903"}.wpdt-icon-search2:before{content:"\1f50d"}.wpdt-icon-search:before{content:"\f002"}.wpdt-icon-star:before{content:"\f005"}.wpdt-icon-th-large:before{content:"\f009"}.wpdt-icon-th:before{content:"\f00a"}.wpdt-icon-th-list:before{content:"\f00b"}.wpdt-icon-check:before{content:"\f00c"}.wpdt-icon-times:before{content:"\f00d"}.wpdt-icon-clock:before{content:"\f017"}.wpdt-icon-redo:before{content:"\f01e"}.wpdt-icon-sync:before{content:"\f021"}.wpdt-icon-font:before{content:"\f031"}.wpdt-icon-bold:before{content:"\f032"}.wpdt-icon-italic:before{content:"\f033"}.wpdt-icon-align-left:before{content:"\f036"}.wpdt-icon-align-center:before{content:"\f037"}.wpdt-icon-align-right:before{content:"\f038"}.wpdt-icon-align-justify:before{content:"\f039"}.wpdt-icon-list:before{content:"\f03a"}.wpdt-icon-outdent:before{content:"\f03b"}.wpdt-icon-indent:before{content:"\f03c"}.wpdt-icon-image:before{content:"\f03e"}.wpdt-icon-stop:before{content:"\f04e"}.wpdt-icon-chevron-left:before{content:"\f053"}.wpdt-icon-chevron-right:before{content:"\f054"}.wpdt-icon-plus-circle:before{content:"\f055"}.wpdt-icon-minus-circle:before{content:"\f056"}.wpdt-icon-times-circle:before{content:"\f057"}.wpdt-icon-check-circle:before{content:"\f058"}.wpdt-icon-question-circle:before{content:"\f059"}.wpdt-icon-info-circle:before{content:"\f05a"}.wpdt-icon-arrow-left:before{content:"\f060"}.wpdt-icon-arrow-right:before{content:"\f061"}.wpdt-icon-arrow-up:before{content:"\f062"}.wpdt-icon-arrow-down:before{content:"\f063"}.wpdt-icon-plus:before{content:"\f067"}.wpdt-icon-minus:before{content:"\f068"}.wpdt-icon-exclamation-circle:before{content:"\f06a"}.wpdt-icon-eye:before{content:"\f06e"}.wpdt-icon-exclamation-triangle:before{content:"\f071"}.wpdt-icon-calendar-alt:before{content:"\f073"}.wpdt-icon-chevron-up:before{content:"\f077"}.wpdt-icon-chevron-down:before{content:"\f078"}.wpdt-icon-arrows-v1:before{content:"\f081"}.wpdt-icon-arrows-h1:before{content:"\f082"}.wpdt-icon-external-link:before{content:"\f08e"}.wpdt-icon-bullhorn:before{content:"\f0a1"}.wpdt-icon-arrow-circle-left:before{content:"\f0a8"}.wpdt-icon-arrow-circle-right:before{content:"\f0a9"}.wpdt-icon-arrow-circle-up:before{content:"\f0aa"}.wpdt-icon-arrow-circle-down:before{content:"\f0ab"}.wpdt-icon-arrows-alt:before{content:"\f0b2"}.wpdt-icon-link:before{content:"\f0c1"}.wpdt-icon-copy:before{content:"\f0c5"}.wpdt-icon-bars:before{content:"\f0c9"}.wpdt-icon-list-ul:before{content:"\f0ca"}.wpdt-icon-list-ol:before{content:"\f0cb"}.wpdt-icon-strikethrough:before{content:"\f0cc"}.wpdt-icon-underline:before{content:"\f0cd"}.wpdt-icon-table:before{content:"\f0ce"}.wpdt-icon-caret-down:before{content:"\f0d7"}.wpdt-icon-caret-up:before{content:"\f0d8"}.wpdt-icon-caret-left:before{content:"\f0d9"}.wpdt-icon-caret-right:before{content:"\f0da"}.wpdt-icon-sort:before{content:"\f0dc"}.wpdt-icon-undo:before{content:"\f0e3"}.wpdt-icon-exchange-reg:before{content:"\f0ed"}.wpdt-icon-angle-double-left:before{content:"\f100"}.wpdt-icon-angle-double-right:before{content:"\f101"}.wpdt-icon-angle-double-up:before{content:"\f102"}.wpdt-icon-angle-double-down:before{content:"\f103"}.wpdt-icon-angle-left:before{content:"\f104"}.wpdt-icon-angle-right:before{content:"\f105"}.wpdt-icon-angle-up:before{content:"\f106"}.wpdt-icon-angle-down:before{content:"\f107"}.wpdt-icon-chevron-circle-left:before{content:"\f137"}.wpdt-icon-chevron-circle-right:before{content:"\f138"}.wpdt-icon-chevron-circle-up:before{content:"\f139"}.wpdt-icon-chevron-circle-down:before{content:"\f13a"}.wpdt-icon-minus-square:before{content:"\f146"}.wpdt-icon-check-square:before{content:"\f14a"}.wpdt-icon-external-link-square:before{content:"\f14c"}.wpdt-icon-file-reg:before{content:"\f160"}.wpdt-icon-sort-alpha-down:before{content:"\f15d"}.wpdt-icon-sort-alpha-up:before{content:"\f15e"}.wpdt-icon-long-arrow-down:before{content:"\f175"}.wpdt-icon-long-arrow-up:before{content:"\f176"}.wpdt-icon-long-arrow-left:before{content:"\f177"}.wpdt-icon-long-arrow-right:before{content:"\f178"}.wpdt-icon-file-pdf:before{content:"\f1c1"}.wpdt-icon-file-excel:before{content:"\f1c3"}.wpdt-icon-trash-reg:before{content:"\f1fc"}.wpdt-icon-copyright:before{content:"\f1f9"}.wpdt-icon-at:before{content:"\f1fa"}.wpdt-icon-hourglass-half:before{content:"\f252"}.wpdt-icon-calendar-times:before{content:"\f273"}.wpdt-icon-hashtag:before{content:"\f292"}.wpdt-icon-percent:before{content:"\f295"}.wpdt-icon-long-arrow-alt-down:before{content:"\f309"}.wpdt-icon-long-arrow-alt-left:before{content:"\f30a"}.wpdt-icon-long-arrow-alt-right:before{content:"\f30b"}.wpdt-icon-long-arrow-alt-up:before{content:"\f30c"}.wpdt-icon-expand-arrows-alt1:before{content:"\f31f"}.wpdt-icon-chevron-double-down:before{content:"\f322"}.wpdt-icon-chevron-double-left:before{content:"\f323"}.wpdt-icon-chevron-double-right:before{content:"\f324"}.wpdt-icon-chevron-double-up:before{content:"\f325"}.wpdt-icon-arrow-to-bottom:before{content:"\f33d"}.wpdt-icon-arrow-to-left:before{content:"\f33e"}.wpdt-icon-arrow-to-right:before{content:"\f340"}.wpdt-icon-arrow-to-top:before{content:"\f341"}.wpdt-icon-arrow-from-bottom:before{content:"\f342"}.wpdt-icon-arrow-from-left:before{content:"\f343"}.wpdt-icon-arrow-from-right:before{content:"\f344"}.wpdt-icon-arrow-from-top:before{content:"\f345"}.wpdt-icon-arrow-alt-circle-down:before{content:"\f358"}.wpdt-icon-arrow-alt-circle-left:before{content:"\f359"}.wpdt-icon-arrow-alt-circle-right:before{content:"\f35a"}.wpdt-icon-arrow-alt-circle-up:before{content:"\f35b"}.wpdt-icon-external-link-alt:before{content:"\f35d"}.wpdt-icon-exchange-alt:before{content:"\f362"}.wpdt-icon-compress-alt:before{content:"\f422"}.wpdt-icon-expand-alt:before{content:"\f424"}.wpdt-icon-equals-reg:before{content:"\f52d"}.wpdt-icon-check-double-reg:before{content:"\f561"}.wpdt-icon-function-reg:before{content:"\f663"}.wpdt-icon-file-csv:before{content:"\f6dd"}.wpdt-icon-line-columns:before{content:"\f870"}.wpdt-icon-search-full:before{content:"\f003"}.wpdt-icon-heart:before{content:"\f004"}.wpdt-icon-star-full:before{content:"\f006"}.wpdt-icon-th-large-full:before{content:"\f00e"}.wpdt-icon-th-full:before{content:"\f00f"}.wpdt-icon-th-list-full:before{content:"\f010"}.wpdt-icon-check-full:before{content:"\f011"}.wpdt-icon-times-full:before{content:"\f012"}.wpdt-icon-cog:before{content:"\f013"}.wpdt-icon-clock-full:before{content:"\f018"}.wpdt-icon-step-backward:before{content:"\f048"}.wpdt-icon-play:before{content:"\f04b"}.wpdt-icon-step-forward:before{content:"\f051"}.wpdt-icon-chevron-left-full:before{content:"\f05b"}.wpdt-icon-chevron-right-full:before{content:"\f05c"}.wpdt-icon-plus-circle-full:before{content:"\f05d"}.wpdt-icon-minus-circle-full:before{content:"\f05e"}.wpdt-icon-times-circle-full:before{content:"\f05f"}.wpdt-icon-check-circle-full:before{content:"\f064"}.wpdt-icon-question-circle-full:before{content:"\f065"}.wpdt-icon-info-circle-full:before{content:"\f066"}.wpdt-icon-arrow-left-full:before{content:"\f069"}.wpdt-icon-arrow-right-full:before{content:"\f06b"}.wpdt-icon-arrow-up-full:before{content:"\f06c"}.wpdt-icon-arrow-down-full:before{content:"\f06d"}.wpdt-icon-plus-full:before{content:"\f06f"}.wpdt-icon-minus-full:before{content:"\f070"}.wpdt-icon-exclamation-circle-full:before{content:"\f072"}.wpdt-icon-eye-full:before{content:"\f074"}.wpdt-icon-chevron-up-full:before{content:"\f079"}.wpdt-icon-chevron-down-full:before{content:"\f07a"}.wpdt-icon-arrows-v:before{content:"\f07d"}.wpdt-icon-arrows-h:before{content:"\f07e"}.wpdt-icon-bullhorn-full:before{content:"\f0a2"}.wpdt-icon-arrow-circle-left-full:before{content:"\f0ac"}.wpdt-icon-arrow-circle-right-full:before{content:"\f0ad"}.wpdt-icon-arrow-circle-up-full:before{content:"\f0ae"}.wpdt-icon-arrow-circle-down-full:before{content:"\f0af"}.wpdt-icon-wrench:before{content:"\f0b0"}.wpdt-icon-filter:before{content:"\f0b1"}.wpdt-icon-copy-full:before{content:"\f0c6"}.wpdt-icon-save:before{content:"\f0c7"}.wpdt-icon-table-full:before{content:"\f0d4"}.wpdt-icon-caret-down-full:before{content:"\f0db"}.wpdt-icon-caret-up-full:before{content:"\f0dd"}.wpdt-icon-caret-left-full:before{content:"\f0de"}.wpdt-icon-caret-right-full:before{content:"\f0df"}.wpdt-icon-sort-full:before{content:"\f0e0"}.wpdt-icon-sort-down:before{content:"\f0e1"}.wpdt-icon-envelope:before{content:"\f0e2"}.wpdt-icon-sitemap:before{content:"\f0e8"}.wpdt-icon-lightbulb:before{content:"\f0eb"}.wpdt-icon-exchange:before{content:"\f0ec"}.wpdt-icon-angle-double-left-full:before{content:"\f108"}.wpdt-icon-angle-double-right-full:before{content:"\f109"}.wpdt-icon-angle-left-full:before{content:"\f10a"}.wpdt-icon-angle-right-full:before{content:"\f10b"}.wpdt-icon-angle-up-full:before{content:"\f10c"}.wpdt-icon-angle-down-full:before{content:"\f10d"}.wpdt-icon-tablet:before{content:"\f10e"}.wpdt-icon-mobile:before{content:"\f10f"}.wpdt-icon-code:before{content:"\f121"}.wpdt-icon-question:before{content:"\f128"}.wpdt-icon-info:before{content:"\f129"}.wpdt-icon-shield:before{content:"\f132"}.wpdt-icon-calendar:before{content:"\f133"}.wpdt-icon-chevron-circle-left-full:before{content:"\f13b"}.wpdt-icon-chevron-circle-right-full:before{content:"\f13c"}.wpdt-icon-chevron-circle-up-full:before{content:"\f13d"}.wpdt-icon-chevron-circle-down-full:before{content:"\f13e"}.wpdt-icon-ellipsis-h:before{content:"\f141"}.wpdt-icon-ellipsis-v:before{content:"\f142"}.wpdt-icon-play-circle:before{content:"\f144"}.wpdt-icon-minus-square-full:before{content:"\f147"}.wpdt-icon-check-square-full:before{content:"\f14b"}.wpdt-icon-external-link-square-full:before{content:"\f14d"}.wpdt-icon-file:before{content:"\f15b"}.wpdt-icon-sort-alpha-down-full:before{content:"\f15f"}.wpdt-icon-long-arrow-down-full:before{content:"\f179"}.wpdt-icon-long-arrow-up-full:before{content:"\f17a"}.wpdt-icon-long-arrow-left-full:before{content:"\f17b"}.wpdt-icon-long-arrow-right-full:before{content:"\f17c"}.wpdt-icon-trash:before{content:"\f1f8"}.wpdt-icon-at-full:before{content:"\f1fb"}.wpdt-icon-chart-area:before{content:"\f1fe"}.wpdt-icon-chart-line:before{content:"\f201"}.wpdt-icon-clone:before{content:"\f24d"}.wpdt-icon-shopping-bag:before{content:"\f290"}.wpdt-icon-times-square:before{content:"\f2d3"}.wpdt-icon-trash-alt:before{content:"\f2ed"}.wpdt-icon-question-square:before{content:"\f2fd"}.wpdt-icon-pen:before{content:"\f304"}.wpdt-icon-expand-arrows:before{content:"\f31d"}.wpdt-icon-expand-arrows-alt:before{content:"\f31e"}.wpdt-icon-external-link-square-alt:before{content:"\f360"}.wpdt-icon-mobile-alt:before{content:"\f3cd"}.wpdt-icon-mobile-android:before{content:"\f3ce"}.wpdt-icon-mobile-android-alt:before{content:"\f3cf"}.wpdt-icon-equals:before{content:"\f52c"}.wpdt-icon-greater-than:before{content:"\f531"}.wpdt-icon-less-than:before{content:"\f536"}.wpdt-icon-check-double:before{content:"\f560"}.wpdt-icon-file-download:before{content:"\f56d"}.wpdt-icon-layer-group:before{content:"\f5fd"}.wpdt-icon-sort-alpha-down-alt:before{content:"\f662"}.wpdt-icon-sort-alt:before{content:"\f883"}.wpdt-icon-search-thin:before{content:"\f007"}.wpdt-icon-check-thin:before{content:"\f015"}.wpdt-icon-times-thin:before{content:"\f016"}.wpdt-icon-clock-thin:before{content:"\f019"}.wpdt-icon-stop-thin:before{content:"\f04d"}.wpdt-icon-info-circle-thin:before{content:"\f075"}.wpdt-icon-plus-thin:before{content:"\f076"}.wpdt-icon-minus-thin:before{content:"\f07b"}.wpdt-icon-calendar-alt-thin:before{content:"\f07c"}.wpdt-icon-chevron-up-thin:before{content:"\f07f"}.wpdt-icon-chevron-down-thin:before{content:"\f080"}.wpdt-icon-file-thin:before{content:"\f15c"}.wpdt-icon-calendar-times-thin:before{content:"\f274"}.wpdt-icon-spinner9:before{content:"\e982"}
|
1 |
+
@font-face{font-family:wpDataTablesIcons;src:url(../fonts/wpDataTablesIcons.eot);src:url(../fonts/wpDataTablesIcons.eot#iefix) format('embedded-opentype'),url(../fonts/wpDataTablesIcons.ttf) format('truetype'),url(../fonts/wpDataTablesIcons.woff) format('woff'),url(../fonts/wpDataTablesIcons.svg#wpDataTablesIcons) format('svg');font-weight:400;font-style:normal;font-display:block}[class*=" wpdt-icon-"],[class^=wpdt-icon-]{font-family:wpDataTablesIcons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wpdt-icon-star-half:before{content:"\e92c"}.wpdt-icon-wrap-text:before{content:"\e929"}.wpdt-icon-clip-text:before{content:"\e92a"}.wpdt-icon-overflow-text:before{content:"\e92b"}.wpdt-icon-rows-1:before{content:"\e921"}.wpdt-icon-columns-1:before{content:"\e926"}.wpdt-icon-rows-2:before{content:"\e927"}.wpdt-icon-columns-2:before{content:"\e928"}.wpdt-icon-vertical-align-top:before{content:"\e918"}.wpdt-icon-vertical-align-center:before{content:"\e919"}.wpdt-icon-vertical-align-bottom:before{content:"\e91a"}.wpdt-icon-remove-row:before{content:"\e91d"}.wpdt-icon-add-row-top:before{content:"\e91e"}.wpdt-icon-add-row-bottom:before{content:"\e91f"}.wpdt-icon-add-column-right:before{content:"\e920"}.wpdt-icon-add-column-left:before{content:"\e91b"}.wpdt-icon-remove-column:before{content:"\e91c"}.wpdt-icon-insert-column-after:before{content:"\e922"}.wpdt-icon-insert-column-before:before{content:"\e923"}.wpdt-icon-insert-row-after:before{content:"\e924"}.wpdt-icon-insert-row-before:before{content:"\e925"}.wpdt-icon-g-cap:before{content:"\e917"}.wpdt-icon-trophy:before{content:"\e916"}.wpdt-icon-magic-stick:before{content:"\e914"}.wpdt-icon-book:before{content:"\e915"}.wpdt-icon-csv:before{content:"\e900"}.wpdt-icon-search-w:before{content:"\e901"}.wpdt-icon-shape:before{content:"\e904"}.wpdt-icon-sort-down1:before{content:"\e905"}.wpdt-icon-cancel-x:before{content:"\e906"}.wpdt-icon-uniE907:before{content:"\e907"}.wpdt-icon-copy-wa:before{content:"\e908"}.wpdt-icon-excel:before{content:"\e90a"}.wpdt-icon-export:before{content:"\e909"}.wpdt-icon-filled-check:before{content:"\e90b"}.wpdt-icon-icon-close:before{content:"\e90c"}.wpdt-icon-outlined-check:before{content:"\e90d"}.wpdt-icon-pdf:before{content:"\e912"}.wpdt-icon-print:before{content:"\e90e"}.wpdt-icon-delete:before{content:"\e90f"}.wpdt-icon-edit:before{content:"\e910"}.wpdt-icon-eye-w:before{content:"\e911"}.wpdt-icon-plus-wa:before{content:"\e913"}.wpdt-icon-glyph:before{content:"\e001"}.wpdt-icon-glyph-1:before{content:"\e002"}.wpdt-icon-glyph-2:before{content:"\e003"}.wpdt-icon-glyph-3:before{content:"\e004"}.wpdt-icon-glyph-4:before{content:"\e005"}.wpdt-icon-glyph-6:before{content:"\e006"}.wpdt-icon-glyph-5:before{content:"\e007"}.wpdt-icon-glyph-7:before{content:"\e008"}.wpdt-icon-glyph-9:before{content:"\e009"}.wpdt-icon-glyph-8:before{content:"\e00a"}.wpdt-icon-glyph-10:before{content:"\e00b"}.wpdt-icon-glyph-11:before{content:"\e00c"}.wpdt-icon-glyph-12:before{content:"\e00d"}.wpdt-icon-glyph-13:before{content:"\e00e"}.wpdt-icon-glyph-14:before{content:"\e00f"}.wpdt-icon-glyph-15:before{content:"\e010"}.wpdt-icon-glyph-16:before{content:"\e011"}.wpdt-icon-glyph-17:before{content:"\e012"}.wpdt-icon-glyph-18:before{content:"\e013"}.wpdt-icon-glyph-19:before{content:"\e014"}.wpdt-icon-glyph-20:before{content:"\e015"}.wpdt-icon-install:before{content:"\e778"}.wpdt-icon-1493906635_delete_filter:before{content:"\e817"}.wpdt-icon-1493907529_pack06-16:before{content:"\e818"}.wpdt-icon-1493907728_excel_d:before{content:"\e819"}.wpdt-icon-csv-file-variant-with-graphs:before{content:"\e81a"}.wpdt-icon-pdf-file-format-symbol:before{content:"\e81b"}.wpdt-icon-1495736216_column_table_minus_remove_delete_discard:before{content:"\e81d"}.wpdt-icon-1495736192_column_table_new_plus_add_create_insert:before{content:"\e81e"}.wpdt-icon-icons-01:before{content:"\e902"}.wpdt-icon-icons-02:before{content:"\e903"}.wpdt-icon-search2:before{content:"\1f50d"}.wpdt-icon-search:before{content:"\f002"}.wpdt-icon-star:before{content:"\f005"}.wpdt-icon-th-large:before{content:"\f009"}.wpdt-icon-th:before{content:"\f00a"}.wpdt-icon-th-list:before{content:"\f00b"}.wpdt-icon-check:before{content:"\f00c"}.wpdt-icon-times:before{content:"\f00d"}.wpdt-icon-clock:before{content:"\f017"}.wpdt-icon-redo:before{content:"\f01e"}.wpdt-icon-sync:before{content:"\f021"}.wpdt-icon-font:before{content:"\f031"}.wpdt-icon-bold:before{content:"\f032"}.wpdt-icon-italic:before{content:"\f033"}.wpdt-icon-align-left:before{content:"\f036"}.wpdt-icon-align-center:before{content:"\f037"}.wpdt-icon-align-right:before{content:"\f038"}.wpdt-icon-align-justify:before{content:"\f039"}.wpdt-icon-list:before{content:"\f03a"}.wpdt-icon-outdent:before{content:"\f03b"}.wpdt-icon-indent:before{content:"\f03c"}.wpdt-icon-image:before{content:"\f03e"}.wpdt-icon-stop:before{content:"\f04e"}.wpdt-icon-chevron-left:before{content:"\f053"}.wpdt-icon-chevron-right:before{content:"\f054"}.wpdt-icon-plus-circle:before{content:"\f055"}.wpdt-icon-minus-circle:before{content:"\f056"}.wpdt-icon-times-circle:before{content:"\f057"}.wpdt-icon-check-circle:before{content:"\f058"}.wpdt-icon-question-circle:before{content:"\f059"}.wpdt-icon-info-circle:before{content:"\f05a"}.wpdt-icon-arrow-left:before{content:"\f060"}.wpdt-icon-arrow-right:before{content:"\f061"}.wpdt-icon-arrow-up:before{content:"\f062"}.wpdt-icon-arrow-down:before{content:"\f063"}.wpdt-icon-plus:before{content:"\f067"}.wpdt-icon-minus:before{content:"\f068"}.wpdt-icon-exclamation-circle:before{content:"\f06a"}.wpdt-icon-eye:before{content:"\f06e"}.wpdt-icon-exclamation-triangle:before{content:"\f071"}.wpdt-icon-calendar-alt:before{content:"\f073"}.wpdt-icon-chevron-up:before{content:"\f077"}.wpdt-icon-chevron-down:before{content:"\f078"}.wpdt-icon-arrows-v1:before{content:"\f081"}.wpdt-icon-arrows-h1:before{content:"\f082"}.wpdt-icon-external-link:before{content:"\f08e"}.wpdt-icon-bullhorn:before{content:"\f0a1"}.wpdt-icon-arrow-circle-left:before{content:"\f0a8"}.wpdt-icon-arrow-circle-right:before{content:"\f0a9"}.wpdt-icon-arrow-circle-up:before{content:"\f0aa"}.wpdt-icon-arrow-circle-down:before{content:"\f0ab"}.wpdt-icon-arrows-alt:before{content:"\f0b2"}.wpdt-icon-link:before{content:"\f0c1"}.wpdt-icon-copy:before{content:"\f0c5"}.wpdt-icon-bars:before{content:"\f0c9"}.wpdt-icon-list-ul:before{content:"\f0ca"}.wpdt-icon-list-ol:before{content:"\f0cb"}.wpdt-icon-strikethrough:before{content:"\f0cc"}.wpdt-icon-underline:before{content:"\f0cd"}.wpdt-icon-table:before{content:"\f0ce"}.wpdt-icon-caret-down:before{content:"\f0d7"}.wpdt-icon-caret-up:before{content:"\f0d8"}.wpdt-icon-caret-left:before{content:"\f0d9"}.wpdt-icon-caret-right:before{content:"\f0da"}.wpdt-icon-sort:before{content:"\f0dc"}.wpdt-icon-undo:before{content:"\f0e3"}.wpdt-icon-exchange-reg:before{content:"\f0ed"}.wpdt-icon-angle-double-left:before{content:"\f100"}.wpdt-icon-angle-double-right:before{content:"\f101"}.wpdt-icon-angle-double-up:before{content:"\f102"}.wpdt-icon-angle-double-down:before{content:"\f103"}.wpdt-icon-angle-left:before{content:"\f104"}.wpdt-icon-angle-right:before{content:"\f105"}.wpdt-icon-angle-up:before{content:"\f106"}.wpdt-icon-angle-down:before{content:"\f107"}.wpdt-icon-chevron-circle-left:before{content:"\f137"}.wpdt-icon-chevron-circle-right:before{content:"\f138"}.wpdt-icon-chevron-circle-up:before{content:"\f139"}.wpdt-icon-chevron-circle-down:before{content:"\f13a"}.wpdt-icon-minus-square:before{content:"\f146"}.wpdt-icon-check-square:before{content:"\f14a"}.wpdt-icon-external-link-square:before{content:"\f14c"}.wpdt-icon-file-reg:before{content:"\f160"}.wpdt-icon-sort-alpha-down:before{content:"\f15d"}.wpdt-icon-sort-alpha-up:before{content:"\f15e"}.wpdt-icon-long-arrow-down:before{content:"\f175"}.wpdt-icon-long-arrow-up:before{content:"\f176"}.wpdt-icon-long-arrow-left:before{content:"\f177"}.wpdt-icon-long-arrow-right:before{content:"\f178"}.wpdt-icon-file-pdf:before{content:"\f1c1"}.wpdt-icon-file-excel:before{content:"\f1c3"}.wpdt-icon-trash-reg:before{content:"\f1fc"}.wpdt-icon-copyright:before{content:"\f1f9"}.wpdt-icon-at:before{content:"\f1fa"}.wpdt-icon-hourglass-half:before{content:"\f252"}.wpdt-icon-calendar-times:before{content:"\f273"}.wpdt-icon-hashtag:before{content:"\f292"}.wpdt-icon-percent:before{content:"\f295"}.wpdt-icon-undo-alt:before{content:"\f2ea"}.wpdt-icon-long-arrow-alt-down:before{content:"\f309"}.wpdt-icon-long-arrow-alt-left:before{content:"\f30a"}.wpdt-icon-long-arrow-alt-right:before{content:"\f30b"}.wpdt-icon-long-arrow-alt-up:before{content:"\f30c"}.wpdt-icon-expand-arrows-alt1:before{content:"\f31f"}.wpdt-icon-chevron-double-down:before{content:"\f322"}.wpdt-icon-chevron-double-left:before{content:"\f323"}.wpdt-icon-chevron-double-right:before{content:"\f324"}.wpdt-icon-chevron-double-up:before{content:"\f325"}.wpdt-icon-arrow-to-bottom:before{content:"\f33d"}.wpdt-icon-arrow-to-left:before{content:"\f33e"}.wpdt-icon-arrow-to-right:before{content:"\f340"}.wpdt-icon-arrow-to-top:before{content:"\f341"}.wpdt-icon-arrow-from-bottom:before{content:"\f342"}.wpdt-icon-arrow-from-left:before{content:"\f343"}.wpdt-icon-arrow-from-right:before{content:"\f344"}.wpdt-icon-arrow-from-top:before{content:"\f345"}.wpdt-icon-arrow-alt-circle-down:before{content:"\f358"}.wpdt-icon-arrow-alt-circle-left:before{content:"\f359"}.wpdt-icon-arrow-alt-circle-right:before{content:"\f35a"}.wpdt-icon-arrow-alt-circle-up:before{content:"\f35b"}.wpdt-icon-external-link-alt:before{content:"\f35d"}.wpdt-icon-exchange-alt:before{content:"\f362"}.wpdt-icon-compress-alt:before{content:"\f422"}.wpdt-icon-expand-alt:before{content:"\f424"}.wpdt-icon-equals-reg:before{content:"\f52d"}.wpdt-icon-check-double-reg:before{content:"\f561"}.wpdt-icon-function-reg:before{content:"\f663"}.wpdt-icon-file-csv:before{content:"\f6dd"}.wpdt-icon-brackets:before{content:"\f7e9"}.wpdt-icon-line-columns:before{content:"\f870"}.wpdt-icon-search-full:before{content:"\f003"}.wpdt-icon-heart:before{content:"\f004"}.wpdt-icon-star-full:before{content:"\f006"}.wpdt-icon-th-large-full:before{content:"\f00e"}.wpdt-icon-th-full:before{content:"\f00f"}.wpdt-icon-th-list-full:before{content:"\f010"}.wpdt-icon-check-full:before{content:"\f011"}.wpdt-icon-times-full:before{content:"\f012"}.wpdt-icon-cog:before{content:"\f013"}.wpdt-icon-clock-full:before{content:"\f018"}.wpdt-icon-tint:before{content:"\f044"}.wpdt-icon-step-backward:before{content:"\f048"}.wpdt-icon-play:before{content:"\f04b"}.wpdt-icon-step-forward:before{content:"\f051"}.wpdt-icon-chevron-left-full:before{content:"\f05b"}.wpdt-icon-chevron-right-full:before{content:"\f05c"}.wpdt-icon-plus-circle-full:before{content:"\f05d"}.wpdt-icon-minus-circle-full:before{content:"\f05e"}.wpdt-icon-times-circle-full:before{content:"\f05f"}.wpdt-icon-check-circle-full:before{content:"\f064"}.wpdt-icon-question-circle-full:before{content:"\f065"}.wpdt-icon-info-circle-full:before{content:"\f066"}.wpdt-icon-arrow-left-full:before{content:"\f069"}.wpdt-icon-arrow-right-full:before{content:"\f06b"}.wpdt-icon-arrow-up-full:before{content:"\f06c"}.wpdt-icon-arrow-down-full:before{content:"\f06d"}.wpdt-icon-plus-full:before{content:"\f06f"}.wpdt-icon-minus-full:before{content:"\f070"}.wpdt-icon-exclamation-circle-full:before{content:"\f072"}.wpdt-icon-eye-full:before{content:"\f074"}.wpdt-icon-chevron-up-full:before{content:"\f079"}.wpdt-icon-chevron-down-full:before{content:"\f07a"}.wpdt-icon-arrows-v:before{content:"\f07d"}.wpdt-icon-arrows-h:before{content:"\f07e"}.wpdt-icon-bullhorn-full:before{content:"\f0a2"}.wpdt-icon-arrow-circle-left-full:before{content:"\f0ac"}.wpdt-icon-arrow-circle-right-full:before{content:"\f0ad"}.wpdt-icon-arrow-circle-up-full:before{content:"\f0ae"}.wpdt-icon-arrow-circle-down-full:before{content:"\f0af"}.wpdt-icon-wrench:before{content:"\f0b0"}.wpdt-icon-filter:before{content:"\f0b1"}.wpdt-icon-copy-full:before{content:"\f0c6"}.wpdt-icon-save:before{content:"\f0c7"}.wpdt-icon-table-full:before{content:"\f0d4"}.wpdt-icon-caret-down-full:before{content:"\f0db"}.wpdt-icon-caret-up-full:before{content:"\f0dd"}.wpdt-icon-caret-left-full:before{content:"\f0de"}.wpdt-icon-caret-right-full:before{content:"\f0df"}.wpdt-icon-sort-full:before{content:"\f0e0"}.wpdt-icon-sort-down:before{content:"\f0e1"}.wpdt-icon-envelope:before{content:"\f0e2"}.wpdt-icon-sitemap:before{content:"\f0e8"}.wpdt-icon-lightbulb:before{content:"\f0eb"}.wpdt-icon-exchange:before{content:"\f0ec"}.wpdt-icon-angle-double-left-full:before{content:"\f108"}.wpdt-icon-angle-double-right-full:before{content:"\f109"}.wpdt-icon-angle-left-full:before{content:"\f10a"}.wpdt-icon-angle-right-full:before{content:"\f10b"}.wpdt-icon-angle-up-full:before{content:"\f10c"}.wpdt-icon-angle-down-full:before{content:"\f10d"}.wpdt-icon-tablet:before{content:"\f10e"}.wpdt-icon-mobile:before{content:"\f10f"}.wpdt-icon-code:before{content:"\f121"}.wpdt-icon-question:before{content:"\f128"}.wpdt-icon-info:before{content:"\f129"}.wpdt-icon-shield:before{content:"\f132"}.wpdt-icon-calendar:before{content:"\f133"}.wpdt-icon-chevron-circle-left-full:before{content:"\f13b"}.wpdt-icon-chevron-circle-right-full:before{content:"\f13c"}.wpdt-icon-chevron-circle-up-full:before{content:"\f13d"}.wpdt-icon-chevron-circle-down-full:before{content:"\f13e"}.wpdt-icon-ellipsis-h:before{content:"\f141"}.wpdt-icon-ellipsis-v:before{content:"\f142"}.wpdt-icon-play-circle:before{content:"\f144"}.wpdt-icon-minus-square-full:before{content:"\f147"}.wpdt-icon-check-square-full:before{content:"\f14b"}.wpdt-icon-external-link-square-full:before{content:"\f14d"}.wpdt-icon-file:before{content:"\f15b"}.wpdt-icon-sort-alpha-down-full:before{content:"\f15f"}.wpdt-icon-long-arrow-down-full:before{content:"\f179"}.wpdt-icon-long-arrow-up-full:before{content:"\f17a"}.wpdt-icon-long-arrow-left-full:before{content:"\f17b"}.wpdt-icon-long-arrow-right-full:before{content:"\f17c"}.wpdt-icon-trash:before{content:"\f1f8"}.wpdt-icon-at-full:before{content:"\f1fb"}.wpdt-icon-chart-area:before{content:"\f1fe"}.wpdt-icon-chart-line:before{content:"\f201"}.wpdt-icon-clone:before{content:"\f24d"}.wpdt-icon-shopping-bag:before{content:"\f290"}.wpdt-icon-times-square:before{content:"\f2d3"}.wpdt-icon-trash-alt:before{content:"\f2ed"}.wpdt-icon-question-square:before{content:"\f2fd"}.wpdt-icon-pen:before{content:"\f304"}.wpdt-icon-expand-arrows:before{content:"\f31d"}.wpdt-icon-expand-arrows-alt:before{content:"\f31e"}.wpdt-icon-external-link-square-alt:before{content:"\f360"}.wpdt-icon-mobile-alt:before{content:"\f3cd"}.wpdt-icon-mobile-android:before{content:"\f3ce"}.wpdt-icon-mobile-android-alt:before{content:"\f3cf"}.wpdt-icon-equals:before{content:"\f52c"}.wpdt-icon-greater-than:before{content:"\f531"}.wpdt-icon-less-than:before{content:"\f536"}.wpdt-icon-check-double:before{content:"\f560"}.wpdt-icon-file-download:before{content:"\f56d"}.wpdt-icon-layer-group:before{content:"\f5fd"}.wpdt-icon-brackets1:before{content:"\f7ea"}.wpdt-icon-sort-alpha-down-alt:before{content:"\f662"}.wpdt-icon-sort-alt:before{content:"\f883"}.wpdt-icon-search-thin:before{content:"\f007"}.wpdt-icon-check-thin:before{content:"\f015"}.wpdt-icon-times-thin:before{content:"\f016"}.wpdt-icon-clock-thin:before{content:"\f019"}.wpdt-icon-stop-thin:before{content:"\f04d"}.wpdt-icon-info-circle-thin:before{content:"\f075"}.wpdt-icon-plus-thin:before{content:"\f076"}.wpdt-icon-minus-thin:before{content:"\f07b"}.wpdt-icon-calendar-alt-thin:before{content:"\f07c"}.wpdt-icon-chevron-up-thin:before{content:"\f07f"}.wpdt-icon-chevron-down-thin:before{content:"\f080"}.wpdt-icon-file-thin:before{content:"\f15c"}.wpdt-icon-calendar-times-thin:before{content:"\f274"}.wpdt-icon-undo2:before{content:"\e967"}.wpdt-icon-redo2:before{content:"\e968"}.wpdt-icon-spinner9:before{content:"\e982"}
|
assets/css/wdt.frontend.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
@font-face{font-weight:400;font-style:normal;font-family:wpDataTablesIcons;src:url(../fonts/wpDataTablesIcons.eot);src:url(../fonts/wpDataTablesIcons.eot?#iefix) format('embedded-opentype'),url(../fonts/wpDataTablesIcons.woff) format('woff'),url(../fonts/wpDataTablesIcons.ttf) format('truetype'),url(../fonts/wpDataTablesIcons.svg#wpDataTablesIcons) format('svg')}.wpDataTables:after,.wpDataTables:before{content:" ";display:table}.wpDataTables:after{clear:both}.wpDataTablesWrapper{margin-bottom:20px}.wpDataTablesWrapper table.wpDataTable{background-color:transparent;border-collapse:collapse;border-spacing:0;clear:both;margin:0 auto;width:100%;table-layout:auto;margin-bottom:10px;overflow:auto}.wpDataTablesWrapper table.wpDataTable>tbody>tr>td>ul{list-style:inherit}.wpDataTablesWrapper table.wpDataTable>tbody>tr>th,.wpDataTablesWrapper table.wpDataTable>tbody>tr>td{text-align:left}.wpDataTablesWrapper table.wpDataTable>thead>tr>th{-o-transition:.5s;-ms-transition:.5s;-moz-transition:.5s;-webkit-transition:.5s;transition:.5s;font-weight:700;padding:3px 18px 3px 10px;font-weight:700;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpDataTablesWrapper table.wpDataTable thead tr:nth-child(2) th{overflow:visible}.wpDataTablesWrapper table.wpDataTable thead th.sorting,.wpDataTablesWrapper table.wpDataTable thead th.sorting_asc,.wpDataTablesWrapper table.wpDataTable thead th.sorting_desc{background-image:none!important}.wpDataTablesWrapper table.wpDataTable td{padding:3px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpDataTablesWrapper table.wpDataTable td.center,.wpDataTablesWrapper table.wpDataTable td.dataTables_empty{text-align:center}.wpDataTablesWrapper table.wpDataTable>tfoot>tr>th{padding:3px 18px 3px 10px;font-weight:700}.wpDataTablesWrapper table.wpDataTable tfoot td{padding-bottom:7px;padding-top:7px;vertical-align:top;white-space:normal;overflow:visible}.wpDataTablesWrapper table.wpDataTable tfoot td input,.wpDataTablesWrapper table.wpDataTable thead th input{display:block;margin:0;width:92%;white-space:nowrap;overflow:hidden!important;text-overflow:ellipsis}.wpDataTablesWrapper table.wpDataTable tfoot td input.date-range-filter,.wpDataTablesWrapper table.wpDataTable tfoot td input.number-range-filter,.wpDataTablesWrapper table.wpDataTable thead th input.number-range-filter,.wpDataTablesWrapper table.wpDataTable thead th input.date-range-filter{display:block;width:100%}.wpDataTablesWrapper table.wpDataTable tfoot td input.date-range-filter:first-child,.wpDataTablesWrapper table.wpDataTable tfoot td input.number-range-filter:first-child,.wpDataTablesWrapper table.wpDataTable thead th input.number-range-filter:first-child,.wpDataTablesWrapper table.wpDataTable thead th input.date-range-filter:first-child{margin-bottom:5px!important}.wpDataTablesWrapper .dataTables_length{float:left}.wpDataTablesWrapper .dataTables_filter{float:right;text-align:right}.wpDataTablesWrapper .dataTables_info{clear:both;float:left}.wpDataTablesWrapper .dataTables_paginate{float:right;text-align:right;background-color:transparent}.wpDataTablesWrapper .paging_full_numbers{height:35px;line-height:22px}.wpDataTablesWrapper .paging_full_numbers a:active{outline:0}.wpDataTablesWrapper .paging_full_numbers a:hover{text-decoration:none}.wpDataTablesWrapper div.wdtscroll{width:100%;overflow-x:scroll}.wpDataTablesWrapper table.scroll{width:auto!important}.wpDataTablesWrapper .dataTables_info{clear:both;float:left;margin-top:10px;padding:3px 0;font-size:11px}.wpDataTablesWrapper .dataTables_paginate{float:right;text-align:right;margin-top:5px}.wpDataTablesWrapper .dataTables_paginate a{display:inline-block;height:auto;cursor:pointer;padding:2px 7px;vertical-align:middle}.wpDataTablesWrapper .paginate_button:before{font-size:14px;line-height:1em}.wpDataTablesWrapper div.dt-buttons{margin-bottom:20px;margin-left:20px;margin-right:-10px;float:right}.wpDataTablesWrapper a.DTTT_button{height:auto;line-height:18px!important;margin-right:15px;padding:0;font-size:1em;position:relative;float:left;margin-right:3px;padding:5px 8px;cursor:pointer;color:#000}.wpDataTablesWrapper .DTTT_button[disabled=disabled]{cursor:default}.wpDataTablesWrapper .DTTT_button:before{font-size:18px;float:none;line-height:18px;margin-right:5px;margin-top:0}.wpDataTablesWrapper .DTTT_button span{vertical-align:middle}.wpDataTablesWrapper .wdt-checkbox-filter.btn:before{content:"\e00a"}.wpDataTablesWrapper .DTTT_button.DTTT_button_new:before{content:"\e006"}.wpDataTablesWrapper .DTTT_button.DTTT_button_delete:before{content:"\e00b"}.wpDataTablesWrapper .DTTT_button.DTTT_button_edit:before{content:"\e00c"}.wpDataTablesWrapper .ico-search:before{content:"\e00d"}.wpDataTablesWrapper .ico-cntrl:before{content:"\e00e"}.wpDataTablesWrapper .DTTT_button.DTTT_button_print:before{content:"\e00f"}.wpDataTablesWrapper .DTTT_button.DTTT_button_xls:before{content:"\e010"}.wpDataTablesWrapper .DTTT_button.DTTT_button_pdf:before{content:"\e013"}.wpDataTablesWrapper .DTTT_button.DTTT_button_csv:before{content:"\e014"}.wpDataTablesWrapper .DTTT_button.DTTT_button_copy:before{content:"\e015"}.wpDataTablesWrapper .DTTT_button.DTTT_button_colvis:before{font-family:"wpDataTablesIcons"!important;font-size:20px;content:"\f074"}.wpDataTablesWrapper .DTTT_button.DTTT_button_clear_filters:before{content:"\e817"}button.wdt-clear-filters-button:before,button.wdt-clear-filters-widget-button:before{font-family:wpDataTablesIcons;content:"\e817"}.wpDataTablesWrapper .dataTables_length{float:left}.wpDataTablesWrapper .dataTables_length span.filter-option{margin-left:15px}.wpDataTablesWrapper .dataTables_length a{box-shadow:none!important}.wpDataTablesWrapper .dataTables_filter,.wpDataTablesWrapper .dataTables_length{margin-bottom:15px}.wpDataTablesWrapper .dataTables_filter label,.wpDataTablesWrapper .dataTables_length label{font-size:inherit;line-height:inherit;margin-bottom:0}.wpDataTablesWrapper .dataTables_filter input{margin-bottom:0}div.wpDataTablesFilter span.filter_column .date-range-filter:first-child,div.wpDataTablesFilter span.filter_column .date-time-range-filter:first-child,div.wpDataTablesFilter span.filter_column .time-range-filter:first-child,div.wpDataTablesFilter span.filter_column .number-range-filter:first-child{margin-right:8px}.wpDataTablesWrapper .wdt-checkbox-modal-wrap,.wpDataTablesWrapper .wpDataTablesFilter{overflow:hidden;display:initial}.wpDataTables input[type="search"],.wpDataTables select,.wpDataTables textarea{display:inline-block;margin-bottom:0!important;max-width:100%;padding:3px 6px!important;vertical-align:middle!important;width:206px}.wpDataTables textarea.wpdt-tiny-mce{display:none!important}.wpDataTables .wdt-checkbox-filter.btn,.wpDataTables select,.wpDataTables textarea{font-size:inherit!important;line-height:22px!important;padding-bottom:3px!important;padding-top:3px!important;-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important;text-transform:inherit}.wpDataTables .wdt-checkbox-filter.btn,.wpDataTables input[type=text],.wpDataTables select,.wpdt-c .wpDataTablesWrapper .filter_column button{height:30px!important}.wpDataTables .wdt-checkbox-filter.btn{width:100%;white-space:nowrap;overflow:hidden!important;text-overflow:ellipsis;border:1px solid #d7d7d7}.wpDataTablesWrapper .wpDataTableFilterSection{float:left;padding:15px}.wpDataTableFilterBox .wpDataTableFilterSection div:first-child{margin-top:5px}.wpDataTablesFilter .wpDataTableFilterSection:not(#wdt-clear-filters-button-block):not(#wdt-pf-search-filters-button-block){float:left;margin-bottom:10px;margin-right:15px;width:230px;min-height:115px}.sidebar .wpDataTablesFilter .wpDataTableFilterSection:not(#wdt-clear-filters-button-block):not(#wdt-pf-search-filters-button-block){min-height:50px}.wpDataTablesFilter .wpDataTableFilterSection input.form-control{height:30px}.wpDataTablesFilter .wpDataTableFilterSection#wdt-clear-filters-button-block{display:inline-block;margin-bottom:0;padding-top:42px}.wpDataTablesFilter .wpDataTableFilterSection span.filter_column.filter_checkbox .wdt_checkbox_option{width:100%}span.filter_column.wdt-filter-number-range{white-space:normal}.wpDataTablesFilter .number_range_filter:first-child{margin-right:7px}.wdt-checkbox-modal-wrap{margin-bottom:15px}.wdt-checkbox-modal-wrap:after,.wdt-checkbox-modal-wrap:before{content:" ";display:table}.wdt-checkbox-modal-wrap:after{clear:both}@media(max-width:979px){.wpDataTablesWrapper .dataTables_filter input{width:100px}}@media(max-width:750px){.wpDataTablesWrapper .dataTables_filter input{width:200px}.wpDataTablesWrapper .DTTT_container,.wpDataTablesWrapper .dataTables_filter,.wpDataTablesWrapper .dataTables_length{float:none!important;margin-bottom:10px;text-align:left!important}.wpDataTablesWrapper .DTTT_container{margin-left:0!important}.wpDataTablesWrapper .DTTT_container button{display:none}.wpDataTablesWrapper .DTTT_container button.delete_table_entry,.wpDataTablesWrapper .DTTT_container button.edit_table,.wpDataTablesWrapper .DTTT_container button.new_table_entry{display:inline-block;float:none!important;position:static}}span.media-modal-icon span.screen-reader-text{display:none}.wpDataTablesPopover{position:absolute;width:200px;white-space:normal;line-height:16px;z-index:9}.wpDataTablesPopover:before{position:absolute;left:50%;bottom:-7px;content:'';display:block;margin-left:-7px}.wpDataTablesPopover.editTools{width:auto}.wpDataTablesPopover.editTools a.DTTT_button{color:#ffffff!important}div.dt-button-collection{position:absolute;top:0;left:0;width:auto;min-width:200px;padding:20px;border:solid 1px #ccc;background-color:#fff;overflow:hidden;z-index:100001;border-radius:5px}.dt-button-collection a.dt-button{background-color:#fdfdfd;border:1px solid;border-color:#ccc;border-color:rgb(204,204,204);color:#333;border-radius:3px!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important;font-weight:400;margin:5px 10px 5px 0;align-items:flex-start;text-align:center;cursor:default;padding:2px 6px 3px}div.dt-button-collection button.dt-button,div.dt-button-collection div.dt-button,div.dt-button-collection a.dt-button{position:relative;left:0;right:0;display:block;margin-bottom:4px;margin-right:0}div.dt-button-collection a.dt-button:active:not(.disabled),div.dt-button-collection a.dt-button.active:not(.disabled){background-color:#f5f5f5;border-color:#a1a1a1;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}@media screen and (max-width:640px){div.dt-buttons{float:none!important;text-align:center}}div.wdt-checkbox-modal-wrap div.wdt-checkbox-option{width:33%;float:left}div.wdt-checkbox-modal-wrap div.wdt-checkbox-option{width:33%;float:left;position:relative}div.wdt-checkbox-modal-wrap>div>div{width:100%}div.wdt-checkbox-modal-wrap div.wdt-checkbox-option label{white-space:nowrap;width:85%;overflow:hidden;text-overflow:ellipsis;display:inline-block;position:absolute;padding-left:5px}.wdt-sum-cell,.wdt-avg-cell,.wdt-min-cell,.wdt-max-cell{text-align:right!important}.wpdt-c .wdt-edit-dialog-fields-block .btn.dropdown-toggle{text-transform:inherit}.wpdt-c .wdt-edit-dialog-fields-block .fileinput-filename{text-overflow:ellipsis;white-space:nowrap;max-width:200px}.wpdt-c #wdt-frontend-modal #wdt-checkbox-filter-reset:before{font-family:wpDataTablesIcons;content:"\e817";margin-right:5px}.wpdt-c .wpDataTablesWrapper table.has-columns-hidden>tbody>tr.row-detail>td{background-color:transparent}.wpdt-c .wpDataTablesWrapper table.has-columns-hidden>tbody>tr.row-detail>td>ul>li{padding-top:10px}.wpdt-c #wpdatatable-preview-container .wpDataTablesWrapper table.has-columns-hidden>tbody>tr.row-detail>td>ul>li{height:auto}.wpdt-c .wpDataTablesWrapper table{position:relative}.wpdt-c .wpDataTablesWrapper .wdtscroll table{position:static}.wpdt-c .wdt-preload-layer{position:absolute;height:100%;width:100%;background-color:rgba(255,255,255,1);text-align:center;z-index:100}.wpdt-c .wdt-preload-layer div.preloader{top:50%}.wpdt-c .media-modal .media-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.wpdt-c .media-modal .thumbnail{margin-bottom:initial;background-color:initial;border:initial;line-height:initial;border-radius:initial}.wpdt-c .media-modal h2{position:relative;font-weight:600;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.wpdt-c .media-modal input{font-weight:400}.wpdt-c .attachment-filters{min-width:110px}.wpdt-c .responsiveExpander{float:left}.wpdt-c input:focus{background:none!important}.wpdt-c .wpDataTablesWrapper .dataTables_length .bootstrap-select.length_menu{width:80px;padding:0 5px;height:35px}.wpdt-c .wpDataTablesWrapper .dataTables_length .bootstrap-select .dropdown-toggle{height:100%;top:0}.wpdt-c .wpDataTablesWrapper .dataTables_length .bootstrap-select .dropdown-toggle:after{content:''}.wpdt-c .clear{clear:both}.wpdt-c button.wdt-checkbox-filter:hover:after,.wpdt-c button.dropdown-toggle:hover:after{width:0}.wpdt-c .modal .modal-header{background:none}.wpdt-c .modal .modal-header button.close{background:none;margin:0;opacity:.5;font-weight:400;color:#000;font-size:19.5px}.wpdt-c .btn-group.bootstrap-select .inner .text{margin-top:inherit;position:inherit;top:inherit;text-align:center;width:inherit}.wpdt-c .modal{width:inherit;margin-left:inherit;background-color:inherit;border:inherit;-webkit-border-radius:inherit;-moz-border-radius:inherit;border-radius:inherit;-webkit-box-shadow:inherit;-moz-box-shadow:inherit;box-shadow:inherit;-webkit-background-clip:inherit;-moz-background-clip:inherit;background-clip:inherit}.wpdt-c .bootstrap-select .status{background:#F7F7F7;clear:both;color:#999;font-size:13px;font-weight:400;line-height:1;margin-bottom:-5px;padding:13px 20px}.google_candlestick_chart g.google-visualization-tooltip g:nth-child(3) text:first-child,.google_waterfall_chart g.google-visualization-tooltip g:nth-child(3) text:first-child{display:none!important}div.DTTT_container{position:relative;float:right;margin-bottom:1em}button.DTTT_button,div.DTTT_button,a.DTTT_button{position:relative;float:left;margin-right:3px;padding:5px 8px;border:1px solid #999;cursor:pointer;*cursor:hand;font-size:.88em;color:black!important;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:1px 1px 3px #ccc;-moz-box-shadow:1px 1px 3px #ccc;-ms-box-shadow:1px 1px 3px #ccc;-o-box-shadow:1px 1px 3px #ccc;box-shadow:1px 1px 3px #ccc;background:#fff;background:-webkit-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:-moz-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:-ms-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:-o-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#f9f9f9',GradientType=0)}button.DTTT_button{height:30px;padding:3px 8px}.DTTT_button embed{outline:none}button.DTTT_button:hover,div.DTTT_button:hover,a.DTTT_button:hover{border:1px solid #666;text-decoration:none!important;-webkit-box-shadow:1px 1px 3px #999;-moz-box-shadow:1px 1px 3px #999;-ms-box-shadow:1px 1px 3px #999;-o-box-shadow:1px 1px 3px #999;box-shadow:1px 1px 3px #999;background:#f3f3f3;background:-webkit-linear-gradient(top,#f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%);background:-moz-linear-gradient(top,#f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%);background:-ms-linear-gradient(top,#f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%);background:-o-linear-gradient(top,#f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%);background:linear-gradient(top,#f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3f3f3',endColorstr='#f4f4f4',GradientType=0)}button.DTTT_disabled,div.DTTT_disabled,a.DTTT_disabled{color:#999;border:1px solid #d0d0d0;background:#fff;background:-webkit-linear-gradient(top,#ffffff 0%,#f9f9f9 89%,#fafafa 100%);background:-moz-linear-gradient(top,#ffffff 0%,#f9f9f9 89%,#fafafa 100%);background:-ms-linear-gradient(top,#ffffff 0%,#f9f9f9 89%,#fafafa 100%);background:-o-linear-gradient(top,#ffffff 0%,#f9f9f9 89%,#fafafa 100%);background:linear-gradient(top,#ffffff 0%,#f9f9f9 89%,#fafafa 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#fafafa',GradientType=0)}button.DTTT_button_collection span{padding-right:17px}button.DTTT_button_collection:hover span{padding-right:17px}table.DTTT_selectable tbody tr{cursor:pointer;*cursor:hand}table.dataTable tr.DTTT_selected.odd{background-color:#9FAFD1}table.dataTable tr.DTTT_selected.odd td.sorting_1{background-color:#9FAFD1}table.dataTable tr.DTTT_selected.odd td.sorting_2{background-color:#9FAFD1}table.dataTable tr.DTTT_selected.odd td.sorting_3{background-color:#9FAFD1}table.dataTable tr.DTTT_selected.even{background-color:#B0BED9}table.dataTable tr.DTTT_selected.even td.sorting_1{background-color:#B0BED9}table.dataTable tr.DTTT_selected.even td.sorting_2{background-color:#B0BED9}table.dataTable tr.DTTT_selected.even td.sorting_3{background-color:#B0BED9}div.DTTT_collection{width:150px;padding:8px 8px 4px 8px;border:1px solid #ccc;border:1px solid rgba(0,0,0,.4);background-color:#f3f3f3;background-color:rgba(255,255,255,.3);overflow:hidden;z-index:2002;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;-webkit-box-shadow:3px 3px 5px rgba(0,0,0,.3);-moz-box-shadow:3px 3px 5px rgba(0,0,0,.3);-ms-box-shadow:3px 3px 5px rgba(0,0,0,.3);-o-box-shadow:3px 3px 5px rgba(0,0,0,.3);box-shadow:3px 3px 5px rgba(0,0,0,.3)}div.DTTT_collection_background{z-index:2001}div.DTTT_collection button.DTTT_button,div.DTTT_collection div.DTTT_button,div.DTTT_collection a.DTTT_button{position:relative;left:0;right:0;display:block;float:none;margin-bottom:4px;-webkit-box-shadow:1px 1px 3px #999;-moz-box-shadow:1px 1px 3px #999;-ms-box-shadow:1px 1px 3px #999;-o-box-shadow:1px 1px 3px #999;box-shadow:1px 1px 3px #999}.DTTT_print_info{position:fixed;top:50%;left:50%;width:400px;height:150px;margin-left:-200px;margin-top:-75px;text-align:center;color:#333;padding:10px 30px;background:#fff;background:-webkit-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:-moz-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:-ms-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:-o-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#f9f9f9',GradientType=0);opacity:.95;border:1px solid #000;border:1px solid rgba(0,0,0,.5);-webkit-border-radius:6px;-moz-border-radius:6px;-ms-border-radius:6px;-o-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,.5);-moz-box-shadow:0 3px 7px rgba(0,0,0,.5);-ms-box-shadow:0 3px 7px rgba(0,0,0,.5);-o-box-shadow:0 3px 7px rgba(0,0,0,.5);box-shadow:0 3px 7px rgba(0,0,0,.5)}.DTTT_print_info h6{font-weight:400;font-size:28px;line-height:28px;margin:1em}.DTTT_print_info p{font-size:14px;line-height:20px}table.has-columns-hidden>tbody>tr>td>span.responsiveExpander,table.has-columns-hidden>tbody>tr.detail-show>td span.responsiveExpander{background-color:#fff;background-image:-webkit-gradient(linear,0 0,0 100%,from(#ffffff),to(#e0e0e0));background-image:-webkit-linear-gradient(top,#ffffff,#e0e0e0);background-image:-o-linear-gradient(top,#ffffff,#e0e0e0);background-image:linear-gradient(to bottom,#ffffff,#e0e0e0);background-image:-moz-linear-gradient(top,#ffffff,#e0e0e0);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe0e0e0',GradientType=0);border:1px solid #e0e0e0;cursor:pointer;display:inline-block;line-height:0;font-size:0;padding:1px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;border-radius:5px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:3px}table.has-columns-hidden>tbody>tr>td>span.responsiveExpander:hover,table.has-columns-hidden>tbody>tr.detail-show>td span.responsiveExpander:hover{background-color:#fff;background-image:-webkit-gradient(linear,0 0,0 100%,from(#ffffff),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#ffffff,#f5f5f5);background-image:-o-linear-gradient(top,#ffffff,#f5f5f5);background-image:linear-gradient(to bottom,#ffffff,#f5f5f5);background-image:-moz-linear-gradient(top,#ffffff,#f5f5f5);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff5f5f5',GradientType=0);border-color:#c7d5e1;-webkit-box-shadow:0 0 4px rgba(0,0,0,.25);-moz-box-shadow:0 0 4px rgba(0,0,0,.25);box-shadow:0 0 4px rgba(0,0,0,.25)}table.has-columns-hidden>tbody>tr>td>span.responsiveExpander:after,table.has-columns-hidden>tbody>tr.detail-show>td span.responsiveExpander:after{display:inline-block;line-height:0;content:"";height:11px;width:11px;background-image:url(../img/icons.png);background-repeat:no-repeat;background-position:-3000px -3000px}table.has-columns-hidden>tbody>tr>td>span.responsiveExpander:after{background-position:0 0;cursor:pointer}table.has-columns-hidden>tbody>tr>td>span.responsiveExpander:hover:after{background-position:-12px 0}table.has-columns-hidden>tbody>tr.detail-show>td span.responsiveExpander:after{background-position:-24px 0}table.has-columns-hidden>tbody>tr.detail-show>td span.responsiveExpander:hover:after{background-position:-36px 0}table.has-columns-hidden>tbody>tr.row-detail>td{background:#eee}table.has-columns-hidden>tbody>tr.row-detail>td>ul{list-style:none;margin:0}table.has-columns-hidden>tbody>tr.row-detail>td>ul>li>span.columnTitle{font-weight:700}
|
1 |
+
@font-face{font-weight:400;font-style:normal;font-family:wpDataTablesIcons;src:url(../fonts/wpDataTablesIcons.eot);src:url(../fonts/wpDataTablesIcons.eot?#iefix) format('embedded-opentype'),url(../fonts/wpDataTablesIcons.woff) format('woff'),url(../fonts/wpDataTablesIcons.ttf) format('truetype'),url(../fonts/wpDataTablesIcons.svg#wpDataTablesIcons) format('svg')}.wpDataTables:after,.wpDataTables:before{content:" ";display:table}.wpDataTables:after{clear:both}.wpDataTablesWrapper{margin-bottom:20px}.wpDataTablesWrapper table.wpDataTable{background-color:transparent;border-collapse:collapse;border-spacing:0;clear:both;margin:0 auto;width:100%;table-layout:auto;margin-bottom:10px;overflow:auto}.wpDataTablesWrapper table.wpDataTable>tbody>tr>td>ul{list-style:inherit}.wpDataTablesWrapper table.wpDataTable>tbody>tr>th,.wpDataTablesWrapper table.wpDataTable>tbody>tr>td{text-align:left}.wpDataTablesWrapper table.wpDataTable.wpdtSimpleTable>tbody>tr>th,.wpDataTablesWrapper table.wpDataTable.wpdtSimpleTable>tbody>tr>td{text-align:center}.wpDataTablesWrapper table.wpDataTable>thead>tr>th{-o-transition:.5s;-ms-transition:.5s;-moz-transition:.5s;-webkit-transition:.5s;transition:.5s;font-weight:700;padding:3px 18px 3px 10px;font-weight:700;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpDataTablesWrapper table.wpDataTable thead tr:nth-child(2) th{overflow:visible}.wpDataTablesWrapper table.wpDataTable thead th.sorting,.wpDataTablesWrapper table.wpDataTable thead th.sorting_asc,.wpDataTablesWrapper table.wpDataTable thead th.sorting_desc{background-image:none!important}.wpDataTablesWrapper table.wpDataTable td{padding:3px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wpDataTablesWrapper table.wpDataTable td.center,.wpDataTablesWrapper table.wpDataTable td.dataTables_empty{text-align:center}.wpDataTablesWrapper table.wpDataTable>tfoot>tr>th{padding:3px 18px 3px 10px;font-weight:700}.wpDataTablesWrapper table.wpDataTable tfoot td{padding-bottom:7px;padding-top:7px;vertical-align:top;white-space:normal;overflow:visible}.wpDataTablesWrapper table.wpDataTable tfoot td input,.wpDataTablesWrapper table.wpDataTable thead th input{display:block;margin:0;width:92%;white-space:nowrap;overflow:hidden!important;text-overflow:ellipsis}.wpDataTablesWrapper table.wpDataTable tfoot td input.date-range-filter,.wpDataTablesWrapper table.wpDataTable tfoot td input.number-range-filter,.wpDataTablesWrapper table.wpDataTable thead th input.number-range-filter,.wpDataTablesWrapper table.wpDataTable thead th input.date-range-filter{display:block;width:100%}.wpDataTablesWrapper table.wpDataTable tfoot td input.date-range-filter:first-child,.wpDataTablesWrapper table.wpDataTable tfoot td input.number-range-filter:first-child,.wpDataTablesWrapper table.wpDataTable thead th input.number-range-filter:first-child,.wpDataTablesWrapper table.wpDataTable thead th input.date-range-filter:first-child{margin-bottom:5px!important}.wpDataTablesWrapper .dataTables_length{float:left}.wpDataTablesWrapper .dataTables_filter{float:right;text-align:right}.wpDataTablesWrapper .dataTables_info{clear:both;float:left}.wpDataTablesWrapper .dataTables_paginate{float:right;text-align:right;background-color:transparent}.wpDataTablesWrapper .paging_full_numbers{height:35px;line-height:22px}.wpDataTablesWrapper .paging_full_numbers a:active{outline:0}.wpDataTablesWrapper .paging_full_numbers a:hover{text-decoration:none}.wpDataTablesWrapper div.wdtscroll{width:100%;overflow-x:scroll}.wpDataTablesWrapper table.scroll{width:auto!important}.wpDataTablesWrapper .dataTables_info{clear:both;float:left;margin-top:10px;padding:3px 0;font-size:11px}.wpDataTablesWrapper .dataTables_paginate{float:right;text-align:right;margin-top:5px}.wpDataTablesWrapper .dataTables_paginate a{display:inline-block;height:auto;cursor:pointer;padding:2px 7px;vertical-align:middle}.wpDataTablesWrapper .paginate_button:before{font-size:14px;line-height:1em}.wpDataTablesWrapper div.dt-buttons{margin-bottom:20px;margin-left:20px;margin-right:-10px;float:right}.wpDataTablesWrapper a.DTTT_button{height:auto;line-height:18px!important;margin-right:15px;padding:0;font-size:1em;position:relative;float:left;margin-right:3px;padding:5px 8px;cursor:pointer;color:#000}.wpDataTablesWrapper .DTTT_button[disabled=disabled]{cursor:default}.wpDataTablesWrapper .DTTT_button:before{font-size:18px;float:none;line-height:18px;margin-right:5px;margin-top:0}.wpDataTablesWrapper .DTTT_button span{vertical-align:middle}.wpDataTablesWrapper .wdt-checkbox-filter.btn:before{content:"\e00a"}.wpDataTablesWrapper .DTTT_button.DTTT_button_new:before{content:"\e006"}.wpDataTablesWrapper .DTTT_button.DTTT_button_delete:before{content:"\e00b"}.wpDataTablesWrapper .DTTT_button.DTTT_button_edit:before{content:"\e00c"}.wpDataTablesWrapper .ico-search:before{content:"\e00d"}.wpDataTablesWrapper .ico-cntrl:before{content:"\e00e"}.wpDataTablesWrapper .DTTT_button.DTTT_button_print:before{content:"\e00f"}.wpDataTablesWrapper .DTTT_button.DTTT_button_xls:before{content:"\e010"}.wpDataTablesWrapper .DTTT_button.DTTT_button_pdf:before{content:"\e013"}.wpDataTablesWrapper .DTTT_button.DTTT_button_csv:before{content:"\e014"}.wpDataTablesWrapper .DTTT_button.DTTT_button_copy:before{content:"\e015"}.wpDataTablesWrapper .DTTT_button.DTTT_button_colvis:before{font-family:"wpDataTablesIcons"!important;font-size:20px;content:"\f074"}.wpDataTablesWrapper .DTTT_button.DTTT_button_clear_filters:before{content:"\e817"}button.wdt-clear-filters-button:before,button.wdt-clear-filters-widget-button:before{font-family:wpDataTablesIcons;content:"\e817"}.wpDataTablesWrapper .dataTables_length{float:left}.wpDataTablesWrapper .dataTables_length span.filter-option{margin-left:15px}.wpDataTablesWrapper .dataTables_length a{box-shadow:none!important}.wpDataTablesWrapper .dataTables_filter,.wpDataTablesWrapper .dataTables_length{margin-bottom:15px}.wpDataTablesWrapper .dataTables_filter label,.wpDataTablesWrapper .dataTables_length label{font-size:inherit;line-height:inherit;margin-bottom:0}.wpDataTablesWrapper .dataTables_filter input{margin-bottom:0}div.wpDataTablesFilter span.filter_column .date-range-filter:first-child,div.wpDataTablesFilter span.filter_column .date-time-range-filter:first-child,div.wpDataTablesFilter span.filter_column .time-range-filter:first-child,div.wpDataTablesFilter span.filter_column .number-range-filter:first-child{margin-right:8px}.wpDataTablesWrapper .wdt-checkbox-modal-wrap,.wpDataTablesWrapper .wpDataTablesFilter{overflow:hidden;display:initial}@-moz-document url-prefix(){.wpdt-c .wpDataTables.wpDataTablesWrapper{position:initial!important}}.wpDataTables input[type="search"],.wpDataTables select,.wpDataTables textarea{display:inline-block;margin-bottom:0!important;max-width:100%;padding:3px 6px!important;vertical-align:middle!important;width:206px}.wpDataTables textarea.wpdt-tiny-mce{display:none!important}.wpDataTables .wdt-checkbox-filter.btn,.wpDataTables select,.wpDataTables textarea{font-size:inherit!important;line-height:22px!important;padding-bottom:3px!important;padding-top:3px!important;-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important;text-transform:inherit}.wpDataTables .wdt-checkbox-filter.btn,.wpDataTables input[type=text],.wpDataTables select,.wpdt-c .wpDataTablesWrapper .filter_column button{height:30px!important}.wpDataTables .wdt-checkbox-filter.btn{width:100%;white-space:nowrap;overflow:hidden!important;text-overflow:ellipsis;border:1px solid #d7d7d7}.wpDataTablesWrapper .wpDataTableFilterSection{float:left;padding:15px}.wpDataTableFilterBox .wpDataTableFilterSection div:first-child{margin-top:5px}.wpDataTablesFilter .wpDataTableFilterSection:not(#wdt-clear-filters-button-block):not(#wdt-pf-search-filters-button-block){float:left;margin-bottom:10px;margin-right:15px;width:230px;min-height:115px}.sidebar .wpDataTablesFilter .wpDataTableFilterSection:not(#wdt-clear-filters-button-block):not(#wdt-pf-search-filters-button-block){min-height:50px}.wpDataTablesFilter .wpDataTableFilterSection input.form-control{height:30px}.wpDataTablesFilter .wpDataTableFilterSection#wdt-clear-filters-button-block{display:inline-block;margin-bottom:0;padding-top:42px}.wpDataTablesFilter .wpDataTableFilterSection span.filter_column.filter_checkbox .wdt_checkbox_option{width:100%}span.filter_column.wdt-filter-number-range{white-space:normal}.wpDataTablesFilter .number_range_filter:first-child{margin-right:7px}.wdt-checkbox-modal-wrap{margin-bottom:15px}.wdt-checkbox-modal-wrap:after,.wdt-checkbox-modal-wrap:before{content:" ";display:table}.wdt-checkbox-modal-wrap:after{clear:both}@media(max-width:979px){.wpDataTablesWrapper .dataTables_filter input{width:100px}}@media(max-width:750px){.wpDataTablesWrapper .dataTables_filter input{width:200px}.wpDataTablesWrapper .DTTT_container,.wpDataTablesWrapper .dataTables_filter,.wpDataTablesWrapper .dataTables_length{float:none!important;margin-bottom:10px;text-align:left!important}.wpDataTablesWrapper .DTTT_container{margin-left:0!important}.wpDataTablesWrapper .DTTT_container button{display:none}.wpDataTablesWrapper .DTTT_container button.delete_table_entry,.wpDataTablesWrapper .DTTT_container button.edit_table,.wpDataTablesWrapper .DTTT_container button.new_table_entry{display:inline-block;float:none!important;position:static}}span.media-modal-icon span.screen-reader-text{display:none}.wpDataTablesPopover{position:absolute;width:200px;white-space:normal;line-height:16px;z-index:9}.wpDataTablesPopover:before{position:absolute;left:50%;bottom:-7px;content:'';display:block;margin-left:-7px}.wpDataTablesPopover.editTools{width:auto}.wpDataTablesPopover.editTools a.DTTT_button{color:#ffffff!important}div.dt-button-collection{position:absolute;top:0;left:0;width:auto;min-width:200px;padding:20px;border:solid 1px #ccc;background-color:#fff;overflow:hidden;z-index:100001;border-radius:5px}.dt-button-collection a.dt-button{background-color:#fdfdfd;border:1px solid;border-color:#ccc;border-color:rgb(204,204,204);color:#333;border-radius:3px!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important;font-weight:400;margin:5px 10px 5px 0;align-items:flex-start;text-align:center;cursor:default;padding:2px 6px 3px}div.dt-button-collection button.dt-button,div.dt-button-collection div.dt-button,div.dt-button-collection a.dt-button{position:relative;left:0;right:0;display:block;margin-bottom:4px;margin-right:0}div.dt-button-collection a.dt-button:active:not(.disabled),div.dt-button-collection a.dt-button.active:not(.disabled){background-color:#f5f5f5;border-color:#a1a1a1;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}@media screen and (max-width:640px){div.dt-buttons{float:none!important;text-align:center}}div.wdt-checkbox-modal-wrap div.wdt-checkbox-option{width:33%;float:left}div.wdt-checkbox-modal-wrap div.wdt-checkbox-option{width:33%;float:left;position:relative}div.wdt-checkbox-modal-wrap>div>div{width:100%}div.wdt-checkbox-modal-wrap div.wdt-checkbox-option label{white-space:nowrap;width:85%;overflow:hidden;text-overflow:ellipsis;display:inline-block;position:absolute;padding-left:5px}.wdt-sum-cell,.wdt-avg-cell,.wdt-min-cell,.wdt-max-cell{text-align:right!important}.wpdt-c .wdt-edit-dialog-fields-block .btn.dropdown-toggle{text-transform:inherit}.wpdt-c .wdt-edit-dialog-fields-block .fileinput-filename{text-overflow:ellipsis;white-space:nowrap;max-width:200px}.wpdt-c #wdt-frontend-modal #wdt-checkbox-filter-reset:before{font-family:wpDataTablesIcons;content:"\e817";margin-right:5px}.wpdt-c .wpDataTablesWrapper table.has-columns-hidden>tbody>tr.row-detail>td{background-color:transparent}.wpdt-c .wpDataTablesWrapper table.has-columns-hidden>tbody>tr.row-detail>td>ul>li{padding-top:10px}.wpdt-c #wpdatatable-preview-container .wpDataTablesWrapper table.has-columns-hidden>tbody>tr.row-detail>td>ul>li{height:auto}.wpdt-c .wpDataTablesWrapper table{position:relative}.wpdt-c .wpDataTablesWrapper .wdtscroll table{position:static}.wpdt-c .wdt-preload-layer{position:absolute;height:100%;width:100%;background-color:rgba(255,255,255,1);text-align:center;z-index:100}.wpdt-c .wdt-preload-layer div.preloader{top:50%}.wpdt-c .media-modal .media-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.wpdt-c .media-modal .thumbnail{margin-bottom:initial;background-color:initial;border:initial;line-height:initial;border-radius:initial}.wpdt-c .media-modal h2{position:relative;font-weight:600;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.wpdt-c .media-modal input{font-weight:400}.wpdt-c .attachment-filters{min-width:110px}.wpdt-c .responsiveExpander{float:left}.wpdt-c input:focus{background:none!important}.wpdt-c .wpDataTablesWrapper .dataTables_length .bootstrap-select.length_menu{width:80px;padding:0 5px;height:35px}.wpdt-c .wpDataTablesWrapper .dataTables_length .bootstrap-select .dropdown-toggle{height:100%;top:0}.wpdt-c .wpDataTablesWrapper .dataTables_length .bootstrap-select .dropdown-toggle:after{content:''}.wpdt-c .clear{clear:both}.wpdt-c button.wdt-checkbox-filter:hover:after,.wpdt-c button.dropdown-toggle:hover:after{width:0}.wpdt-c .modal .modal-header{background:none}.wpdt-c .modal .modal-header button.close{background:none;margin:0;opacity:.5;font-weight:400;color:#000;font-size:19.5px}.wpdt-c .btn-group.bootstrap-select .inner .text{margin-top:inherit;position:inherit;top:inherit;text-align:center;width:inherit}.wpdt-c .modal{width:inherit;margin-left:inherit;background-color:inherit;border:inherit;-webkit-border-radius:inherit;-moz-border-radius:inherit;border-radius:inherit;-webkit-box-shadow:inherit;-moz-box-shadow:inherit;box-shadow:inherit;-webkit-background-clip:inherit;-moz-background-clip:inherit;background-clip:inherit}.wpdt-c .bootstrap-select .status{background:#F7F7F7;clear:both;color:#999;font-size:13px;font-weight:400;line-height:1;margin-bottom:-5px;padding:13px 20px}.google_candlestick_chart g.google-visualization-tooltip g:nth-child(3) text:first-child,.google_waterfall_chart g.google-visualization-tooltip g:nth-child(3) text:first-child{display:none!important}div.DTTT_container{position:relative;float:right;margin-bottom:1em}button.DTTT_button,div.DTTT_button,a.DTTT_button{position:relative;float:left;margin-right:3px;padding:5px 8px;border:1px solid #999;cursor:pointer;*cursor:hand;font-size:.88em;color:black!important;-webkit-border-radius:2px;-moz-border-radius:2px;-ms-border-radius:2px;-o-border-radius:2px;border-radius:2px;-webkit-box-shadow:1px 1px 3px #ccc;-moz-box-shadow:1px 1px 3px #ccc;-ms-box-shadow:1px 1px 3px #ccc;-o-box-shadow:1px 1px 3px #ccc;box-shadow:1px 1px 3px #ccc;background:#fff;background:-webkit-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:-moz-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:-ms-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:-o-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#f9f9f9',GradientType=0)}button.DTTT_button{height:30px;padding:3px 8px}.DTTT_button embed{outline:none}button.DTTT_button:hover,div.DTTT_button:hover,a.DTTT_button:hover{border:1px solid #666;text-decoration:none!important;-webkit-box-shadow:1px 1px 3px #999;-moz-box-shadow:1px 1px 3px #999;-ms-box-shadow:1px 1px 3px #999;-o-box-shadow:1px 1px 3px #999;box-shadow:1px 1px 3px #999;background:#f3f3f3;background:-webkit-linear-gradient(top,#f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%);background:-moz-linear-gradient(top,#f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%);background:-ms-linear-gradient(top,#f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%);background:-o-linear-gradient(top,#f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%);background:linear-gradient(top,#f3f3f3 0%,#e2e2e2 89%,#f4f4f4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3f3f3',endColorstr='#f4f4f4',GradientType=0)}button.DTTT_disabled,div.DTTT_disabled,a.DTTT_disabled{color:#999;border:1px solid #d0d0d0;background:#fff;background:-webkit-linear-gradient(top,#ffffff 0%,#f9f9f9 89%,#fafafa 100%);background:-moz-linear-gradient(top,#ffffff 0%,#f9f9f9 89%,#fafafa 100%);background:-ms-linear-gradient(top,#ffffff 0%,#f9f9f9 89%,#fafafa 100%);background:-o-linear-gradient(top,#ffffff 0%,#f9f9f9 89%,#fafafa 100%);background:linear-gradient(top,#ffffff 0%,#f9f9f9 89%,#fafafa 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#fafafa',GradientType=0)}button.DTTT_button_collection span{padding-right:17px}button.DTTT_button_collection:hover span{padding-right:17px}table.DTTT_selectable tbody tr{cursor:pointer;*cursor:hand}table.dataTable tr.DTTT_selected.odd{background-color:#9FAFD1}table.dataTable tr.DTTT_selected.odd td.sorting_1{background-color:#9FAFD1}table.dataTable tr.DTTT_selected.odd td.sorting_2{background-color:#9FAFD1}table.dataTable tr.DTTT_selected.odd td.sorting_3{background-color:#9FAFD1}table.dataTable tr.DTTT_selected.even{background-color:#B0BED9}table.dataTable tr.DTTT_selected.even td.sorting_1{background-color:#B0BED9}table.dataTable tr.DTTT_selected.even td.sorting_2{background-color:#B0BED9}table.dataTable tr.DTTT_selected.even td.sorting_3{background-color:#B0BED9}div.DTTT_collection{width:150px;padding:8px 8px 4px 8px;border:1px solid #ccc;border:1px solid rgba(0,0,0,.4);background-color:#f3f3f3;background-color:rgba(255,255,255,.3);overflow:hidden;z-index:2002;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;border-radius:5px;-webkit-box-shadow:3px 3px 5px rgba(0,0,0,.3);-moz-box-shadow:3px 3px 5px rgba(0,0,0,.3);-ms-box-shadow:3px 3px 5px rgba(0,0,0,.3);-o-box-shadow:3px 3px 5px rgba(0,0,0,.3);box-shadow:3px 3px 5px rgba(0,0,0,.3)}div.DTTT_collection_background{z-index:2001}div.DTTT_collection button.DTTT_button,div.DTTT_collection div.DTTT_button,div.DTTT_collection a.DTTT_button{position:relative;left:0;right:0;display:block;float:none;margin-bottom:4px;-webkit-box-shadow:1px 1px 3px #999;-moz-box-shadow:1px 1px 3px #999;-ms-box-shadow:1px 1px 3px #999;-o-box-shadow:1px 1px 3px #999;box-shadow:1px 1px 3px #999}.DTTT_print_info{position:fixed;top:50%;left:50%;width:400px;height:150px;margin-left:-200px;margin-top:-75px;text-align:center;color:#333;padding:10px 30px;background:#fff;background:-webkit-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:-moz-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:-ms-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:-o-linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);background:linear-gradient(top,#ffffff 0%,#f3f3f3 89%,#f9f9f9 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#f9f9f9',GradientType=0);opacity:.95;border:1px solid #000;border:1px solid rgba(0,0,0,.5);-webkit-border-radius:6px;-moz-border-radius:6px;-ms-border-radius:6px;-o-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,.5);-moz-box-shadow:0 3px 7px rgba(0,0,0,.5);-ms-box-shadow:0 3px 7px rgba(0,0,0,.5);-o-box-shadow:0 3px 7px rgba(0,0,0,.5);box-shadow:0 3px 7px rgba(0,0,0,.5)}.DTTT_print_info h6{font-weight:400;font-size:28px;line-height:28px;margin:1em}.DTTT_print_info p{font-size:14px;line-height:20px}table.has-columns-hidden>tbody>tr>td>span.responsiveExpander,table.has-columns-hidden>tbody>tr.detail-show>td span.responsiveExpander{background-color:#fff;background-image:-webkit-gradient(linear,0 0,0 100%,from(#ffffff),to(#e0e0e0));background-image:-webkit-linear-gradient(top,#ffffff,#e0e0e0);background-image:-o-linear-gradient(top,#ffffff,#e0e0e0);background-image:linear-gradient(to bottom,#ffffff,#e0e0e0);background-image:-moz-linear-gradient(top,#ffffff,#e0e0e0);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe0e0e0',GradientType=0);border:1px solid #e0e0e0;cursor:pointer;display:inline-block;line-height:0;font-size:0;padding:1px;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;border-radius:5px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:3px}table.has-columns-hidden>tbody>tr>td>span.responsiveExpander:hover,table.has-columns-hidden>tbody>tr.detail-show>td span.responsiveExpander:hover{background-color:#fff;background-image:-webkit-gradient(linear,0 0,0 100%,from(#ffffff),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#ffffff,#f5f5f5);background-image:-o-linear-gradient(top,#ffffff,#f5f5f5);background-image:linear-gradient(to bottom,#ffffff,#f5f5f5);background-image:-moz-linear-gradient(top,#ffffff,#f5f5f5);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff5f5f5',GradientType=0);border-color:#c7d5e1;-webkit-box-shadow:0 0 4px rgba(0,0,0,.25);-moz-box-shadow:0 0 4px rgba(0,0,0,.25);box-shadow:0 0 4px rgba(0,0,0,.25)}table.has-columns-hidden>tbody>tr>td>span.responsiveExpander:after,table.has-columns-hidden>tbody>tr.detail-show>td span.responsiveExpander:after{display:inline-block;line-height:0;content:"";height:11px;width:11px;background-image:url(../img/icons.png);background-repeat:no-repeat;background-position:-3000px -3000px}table.has-columns-hidden>tbody>tr>td>span.responsiveExpander:after{background-position:0 0;cursor:pointer}table.has-columns-hidden>tbody>tr>td>span.responsiveExpander:hover:after{background-position:-12px 0}table.has-columns-hidden>tbody>tr.detail-show>td span.responsiveExpander:after{background-position:-24px 0}table.has-columns-hidden>tbody>tr.detail-show>td span.responsiveExpander:hover:after{background-position:-36px 0}table.has-columns-hidden>tbody>tr.row-detail>td{background:#eee}table.has-columns-hidden>tbody>tr.row-detail>td>ul{list-style:none;margin:0}table.has-columns-hidden>tbody>tr.row-detail>td>ul>li>span.columnTitle{font-weight:700}
|
assets/css/wdt.simpleTable.css
ADDED
@@ -0,0 +1,310 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@font-face {
|
2 |
+
font-family: 'wpDataTablesIcons' !important;
|
3 |
+
src: url(../fonts/wpDataTablesIcons.eot);
|
4 |
+
src: url(../fonts/wpDataTablesIcons.eot?#iefix) format('embedded-opentype'), url(../fonts/wpDataTablesIcons.woff) format('woff'), url(../fonts/wpDataTablesIcons.ttf) format('truetype'), url(../fonts/wpDataTablesIcons.svg#wpDataTablesIcons) format('svg');
|
5 |
+
}
|
6 |
+
.wpdt-c.wpDataTableContainerSimpleTable {
|
7 |
+
margin-top: 0;
|
8 |
+
margin-bottom: 20px;
|
9 |
+
padding: 0;
|
10 |
+
}
|
11 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable,
|
12 |
+
.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable {
|
13 |
+
display: table;
|
14 |
+
background-color: transparent;
|
15 |
+
border-collapse: collapse;
|
16 |
+
border-spacing: 0;
|
17 |
+
clear: both;
|
18 |
+
margin: 0 auto;
|
19 |
+
width: 100%;
|
20 |
+
table-layout: auto;
|
21 |
+
overflow: auto;
|
22 |
+
text-align: center;
|
23 |
+
}
|
24 |
+
|
25 |
+
.wpdt-c.wpDataTableContainerSimpleTable.wdtscroll {
|
26 |
+
width: 100%;
|
27 |
+
overflow-x: auto;
|
28 |
+
}
|
29 |
+
.wpdt-c.wpDataTableContainerSimpleTable.wdtscroll table.wpdtSimpleTable {
|
30 |
+
position: static;
|
31 |
+
width: max-content !important;
|
32 |
+
table-layout: fixed;
|
33 |
+
}
|
34 |
+
.wpdt-c.wpDataTableContainerSimpleTable.wdtscroll table.wpdtSimpleTable td {
|
35 |
+
white-space: normal;
|
36 |
+
}
|
37 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody tr.even td.wpdt-cell,
|
38 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody tr.odd td.wpdt-cell,
|
39 |
+
.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody tr.even td.wpdt-cell,
|
40 |
+
.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody tr.odd td.wpdt-cell,
|
41 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable th,
|
42 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody td,
|
43 |
+
.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable th,
|
44 |
+
.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody td {
|
45 |
+
border: 1px solid #ccc;
|
46 |
+
height: 22px;
|
47 |
+
empty-cells: show;
|
48 |
+
line-height: 21px;
|
49 |
+
padding: 10px;
|
50 |
+
vertical-align: middle;
|
51 |
+
text-align: center;
|
52 |
+
overflow: hidden;
|
53 |
+
word-break: normal;
|
54 |
+
}
|
55 |
+
|
56 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable {
|
57 |
+
font-size: inherit;
|
58 |
+
}
|
59 |
+
|
60 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable th,
|
61 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody td,
|
62 |
+
.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable th,
|
63 |
+
.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody td {
|
64 |
+
background-color: #fff;
|
65 |
+
}
|
66 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable th,
|
67 |
+
.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable th{
|
68 |
+
cursor: default;
|
69 |
+
background-color: #eee;
|
70 |
+
white-space: normal;
|
71 |
+
font-weight: normal;
|
72 |
+
background-image: none !important;
|
73 |
+
box-shadow: none;
|
74 |
+
text-shadow: none;
|
75 |
+
}
|
76 |
+
.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerSimpleTable .wpdtSimpleTable tr.even,
|
77 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable tr.even {
|
78 |
+
background-color: #eeeeee;
|
79 |
+
}
|
80 |
+
.wpdt-c .wpDataTableContainerConfigSimpleTable .handsontable td {
|
81 |
+
padding: 10px;
|
82 |
+
font-size: inherit;
|
83 |
+
vertical-align: middle;
|
84 |
+
white-space: normal;
|
85 |
+
height: 21px;
|
86 |
+
}
|
87 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tr td:first-child,
|
88 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable thead tr td:first-child,
|
89 |
+
.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tr td:first-child,
|
90 |
+
.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable thead tr td:first-child,
|
91 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tr td:last-child,
|
92 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable thead tr td:last-child,
|
93 |
+
.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tr td:last-child,
|
94 |
+
.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable thead tr td:last-child{
|
95 |
+
border: 1px solid #ccc;
|
96 |
+
}
|
97 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody tr:last-child td{
|
98 |
+
border-bottom-color: #ccc;
|
99 |
+
}
|
100 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable td img {
|
101 |
+
max-width: 100%;
|
102 |
+
height: auto;
|
103 |
+
}
|
104 |
+
.wpdt-c .wpDataTableContainerConfigSimpleTable .handsontable td ul,
|
105 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable td ul {
|
106 |
+
list-style-type: initial;
|
107 |
+
margin-left: 2em;
|
108 |
+
}
|
109 |
+
.wpdt-c .wpDataTableContainerConfigSimpleTable .handsontable td ul li,
|
110 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable td ul li {
|
111 |
+
text-align: initial;
|
112 |
+
}
|
113 |
+
|
114 |
+
.wpdt-c .wpDataTableContainerConfigSimpleTable .wpdtSimpleTable tr.even td,
|
115 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable tr.even td {
|
116 |
+
background: #eee;
|
117 |
+
}
|
118 |
+
|
119 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable td.wpdt-empty-cell,
|
120 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable th.wpdt-empty-cell {
|
121 |
+
white-space: pre-line;
|
122 |
+
}
|
123 |
+
.wpdt-c.wpDataTableContainerConfigSimpleTable table td a[data-link-content="wpdt-link-content"] button,
|
124 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable td.wpdt-cell a[data-link-content="wpdt-link-content"] button {
|
125 |
+
background-color: #4CAF50;
|
126 |
+
border: none;
|
127 |
+
border-radius: 5px;
|
128 |
+
padding: 8px 15px;
|
129 |
+
text-decoration: none;
|
130 |
+
font-size: 16px;
|
131 |
+
color: #FFF;
|
132 |
+
cursor: pointer;
|
133 |
+
word-break: break-word;
|
134 |
+
}
|
135 |
+
.wpdt-c.wpDataTableContainerConfigSimpleTable table td a[data-link-content="wpdt-link-content"] button:hover,
|
136 |
+
.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable td.wpdt-cell a[data-link-content="wpdt-link-content"] button:hover {
|
137 |
+
background-color: #449d48;
|
138 |
+
}
|
139 |
+
.wpdt-modals .wpdt-star-rating,
|
140 |
+
.wpdt-c .wpdt-star-rating {
|
141 |
+
font-size: 45px;
|
142 |
+
width: 100%;
|
143 |
+
}
|
144 |
+
.wpdt-c .wpdt-bold {
|
145 |
+
font-weight: bold !important;
|
146 |
+
}
|
147 |
+
.wpdt-c .wpdt-italic {
|
148 |
+
font-style: italic !important;
|
149 |
+
}
|
150 |
+
.wpdt-c .wpdt-underline {
|
151 |
+
text-decoration: underline !important;
|
152 |
+
}
|
153 |
+
.wpdt-c .wpdt-align-left {
|
154 |
+
text-align: left !important;
|
155 |
+
}
|
156 |
+
.wpdt-c .wpdt-align-right {
|
157 |
+
text-align: right !important;
|
158 |
+
}
|
159 |
+
.wpdt-c .wpdt-align-center {
|
160 |
+
text-align: center !important;
|
161 |
+
}
|
162 |
+
.wpdt-c .wpdt-align-justify {
|
163 |
+
text-align: justify !important;
|
164 |
+
}
|
165 |
+
.wpdt-c .wpdt-valign-top {
|
166 |
+
vertical-align: top !important;
|
167 |
+
}
|
168 |
+
.wpdt-c .wpdt-valign-bottom {
|
169 |
+
vertical-align: bottom !important;
|
170 |
+
}
|
171 |
+
.wpdt-c .wpdt-valign-middle {
|
172 |
+
vertical-align: middle !important;
|
173 |
+
}
|
174 |
+
.wpdt-c .wpdt-overflow-text {
|
175 |
+
white-space: nowrap !important;
|
176 |
+
overflow: visible !important;
|
177 |
+
}
|
178 |
+
.wpdt-c .wpdt-wrap-text {
|
179 |
+
white-space: normal !important;
|
180 |
+
overflow: visible !important;
|
181 |
+
}
|
182 |
+
.wpdt-c .wpdt-clip-text {
|
183 |
+
white-space: nowrap !important;
|
184 |
+
overflow: hidden !important;
|
185 |
+
text-overflow: ellipsis;
|
186 |
+
}
|
187 |
+
|
188 |
+
.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable td.wpdt-cell span[data-content="wpdt-star-rating"],
|
189 |
+
.wpdt-c .wpDataTableContainerConfigSimpleTable table td span[data-content="wpdt-star-rating"]{
|
190 |
+
pointer-events: none !important;
|
191 |
+
}
|
192 |
+
.wpdt-c .wpDataTableContainerConfigSimpleTable td span[data-content="wpdt-star-rating"] .jq-ry-container,
|
193 |
+
.wpdt-c .wpDataTableContainerSimpleTable td.wpdt-cell span[data-content="wpdt-star-rating"] .jq-ry-container,
|
194 |
+
.wpdt-c.wpDataTableContainerSimpleTable td.wpdt-cell span[data-content="wpdt-star-rating"] .jq-ry-container{
|
195 |
+
padding:0;
|
196 |
+
margin:0;
|
197 |
+
display:inline-block;
|
198 |
+
cursor:default !important;
|
199 |
+
}
|
200 |
+
.wpdt-c .wpdtSimpleTable .wpdt-cell pre {
|
201 |
+
overflow: auto;
|
202 |
+
}
|
203 |
+
|
204 |
+
.wpdt-c .rating {
|
205 |
+
border: none;
|
206 |
+
}
|
207 |
+
.wpdt-c .rating > span{
|
208 |
+
position: relative;
|
209 |
+
display: inline-block;
|
210 |
+
}
|
211 |
+
|
212 |
+
.wpdt-c .rating > span:after {
|
213 |
+
margin: 5px;
|
214 |
+
font-size: 1.25em;
|
215 |
+
font-family: 'wpDataTablesIcons' !important;
|
216 |
+
display: inline-block;
|
217 |
+
content: "\f006";
|
218 |
+
}
|
219 |
+
.wpdt-c .rating > span.full.rated:after {
|
220 |
+
color: #FFD700;
|
221 |
+
}
|
222 |
+
.wpdt-c .rating > span.full:after {
|
223 |
+
color: #ccc;
|
224 |
+
}
|
225 |
+
|
226 |
+
.wpdt-c .rating > .half:before {
|
227 |
+
content: "\e92c";
|
228 |
+
margin: 5px;
|
229 |
+
font-size: 1.25em;
|
230 |
+
font-family: 'wpDataTablesIcons' !important;
|
231 |
+
display: inline-block;
|
232 |
+
position: absolute;
|
233 |
+
top: 0;
|
234 |
+
left: 1px;
|
235 |
+
color: #FFD700;
|
236 |
+
}
|
237 |
+
.wpdt-c .rating > .half-reflect:after {
|
238 |
+
content: "\e92c";
|
239 |
+
font-family: 'wpDataTablesIcons' !important;
|
240 |
+
transform: rotateY(180deg);
|
241 |
+
color: #ccc;
|
242 |
+
}
|
243 |
+
.wpdt-c table.bt thead,
|
244 |
+
.wpdt-c table.bt tbody th {
|
245 |
+
display: none;
|
246 |
+
}
|
247 |
+
|
248 |
+
.wpdt-c table.bt tfoot th,
|
249 |
+
.wpdt-c table.bt tfoot td,
|
250 |
+
.wpdt-c table.bt tbody td {
|
251 |
+
border: none;
|
252 |
+
display: block;
|
253 |
+
|
254 |
+
float: left\9;
|
255 |
+
width: 100%\9;
|
256 |
+
}
|
257 |
+
|
258 |
+
|
259 |
+
.wpdt-c table.bt tfoot th.bt-hide,
|
260 |
+
.wpdt-c table.bt tfoot td.bt-hide,
|
261 |
+
.wpdt-c table.bt tbody td.bt-hide {
|
262 |
+
display: none;
|
263 |
+
}
|
264 |
+
|
265 |
+
|
266 |
+
.wdt-res-wrapper.active {
|
267 |
+
max-height: 310px;
|
268 |
+
overflow: auto;
|
269 |
+
-webkit-overflow-scrolling: touch;
|
270 |
+
}
|
271 |
+
|
272 |
+
.wpdt-c table.bt.bt--no-header tfoot td::before,
|
273 |
+
.wpdt-c table.bt.bt--no-header tbody td::before {
|
274 |
+
display: none;
|
275 |
+
}
|
276 |
+
.wpdt-c table.wpdtSimpleTable.columnBlock td {
|
277 |
+
display: block;
|
278 |
+
height: auto !important;
|
279 |
+
border: 1px solid #eee !important;
|
280 |
+
}
|
281 |
+
.wpdt-c table.wpdtSimpleTable.bt td {
|
282 |
+
height: auto !important;
|
283 |
+
border: 1px solid #ccc !important;
|
284 |
+
white-space: normal;
|
285 |
+
width: 100% !important;
|
286 |
+
}
|
287 |
+
.wpdt-c table.wpdtSimpleTable.bt[data-has-header='1'] td {
|
288 |
+
width: 50% !important;
|
289 |
+
float: left;
|
290 |
+
}
|
291 |
+
|
292 |
+
table.wpdtSimpleTable.bt[data-has-header='1'] td.wpdt-header-classes{
|
293 |
+
background-color: #eee;
|
294 |
+
}
|
295 |
+
|
296 |
+
.wpdt-c table.wpdtSimpleTable.bt tr.even td:not(:last-child) {
|
297 |
+
height: auto !important;
|
298 |
+
border-bottom: 1px solid #fff !important;
|
299 |
+
}
|
300 |
+
.wpdt-c table.wpdtSimpleTable.bt tr,
|
301 |
+
.wpdt-c table.wpdtSimpleTable.columnBlock tr{
|
302 |
+
border: 1px solid #ccc;
|
303 |
+
display: -webkit-flex;
|
304 |
+
display: -ms-flexbox;
|
305 |
+
display: flex;
|
306 |
+
-webkit-flex-wrap: wrap;
|
307 |
+
-ms-flex-wrap: wrap;
|
308 |
+
flex-wrap: wrap;
|
309 |
+
}
|
310 |
+
|
assets/css/wdt.simpleTable.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
@font-face{font-family:'wpDataTablesIcons'!important;src:url(../fonts/wpDataTablesIcons.eot);src:url(../fonts/wpDataTablesIcons.eot?#iefix) format('embedded-opentype'),url(../fonts/wpDataTablesIcons.woff) format('woff'),url(../fonts/wpDataTablesIcons.ttf) format('truetype'),url(../fonts/wpDataTablesIcons.svg#wpDataTablesIcons) format('svg')}.wpdt-c.wpDataTableContainerSimpleTable{margin-top:0;margin-bottom:20px;padding:0}.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable,.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable{display:table;background-color:transparent;border-collapse:collapse;border-spacing:0;clear:both;margin:0 auto;width:100%;table-layout:auto;overflow:auto;text-align:center}.wpdt-c.wpDataTableContainerSimpleTable.wdtscroll{width:100%;overflow-x:auto}.wpdt-c.wpDataTableContainerSimpleTable.wdtscroll table.wpdtSimpleTable{position:static;width:max-content!important;table-layout:fixed}.wpdt-c.wpDataTableContainerSimpleTable.wdtscroll table.wpdtSimpleTable td{white-space:normal}.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody tr.even td.wpdt-cell,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody tr.odd td.wpdt-cell,.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody tr.even td.wpdt-cell,.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody tr.odd td.wpdt-cell,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable th,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody td,.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable th,.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody td{border:1px solid #ccc;height:22px;empty-cells:show;line-height:21px;padding:10px;vertical-align:middle;text-align:center;overflow:hidden;word-break:normal}.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable{font-size:inherit}.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable th,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody td,.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable th,.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody td{background-color:#fff}.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable th,.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable th{cursor:default;background-color:#eee;white-space:normal;font-weight:400;background-image:none!important;box-shadow:none;text-shadow:none}.wpdt-c .wdt-datatables-admin-wrap div.wpDataTableContainerSimpleTable .wpdtSimpleTable tr.even,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable tr.even{background-color:#eee}.wpdt-c .wpDataTableContainerConfigSimpleTable .handsontable td{padding:10px;font-size:inherit;vertical-align:middle;white-space:normal;height:21px}.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tr td:first-child,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable thead tr td:first-child,.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tr td:first-child,.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable thead tr td:first-child,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tr td:last-child,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable thead tr td:last-child,.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tr td:last-child,.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable thead tr td:last-child{border:1px solid #ccc}.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable.wpDataTable tbody tr:last-child td{border-bottom-color:#ccc}.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable td img{max-width:100%;height:auto}.wpdt-c .wpDataTableContainerConfigSimpleTable .handsontable td ul,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable td ul{list-style-type:initial;margin-left:2em}.wpdt-c .wpDataTableContainerConfigSimpleTable .handsontable td ul li,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable td ul li{text-align:initial}.wpdt-c .wpDataTableContainerConfigSimpleTable .wpdtSimpleTable tr.even td,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable tr.even td{background:#eee}.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable td.wpdt-empty-cell,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable th.wpdt-empty-cell{white-space:pre-line}.wpdt-c.wpDataTableContainerConfigSimpleTable table td a[data-link-content="wpdt-link-content"] button,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable td.wpdt-cell a[data-link-content="wpdt-link-content"] button{background-color:#4CAF50;border:none;border-radius:5px;padding:8px 15px;text-decoration:none;font-size:16px;color:#FFF;cursor:pointer;word-break:break-word}.wpdt-c.wpDataTableContainerConfigSimpleTable table td a[data-link-content="wpdt-link-content"] button:hover,.wpdt-c.wpDataTableContainerSimpleTable .wpdtSimpleTable td.wpdt-cell a[data-link-content="wpdt-link-content"] button:hover{background-color:#449d48}.wpdt-modals .wpdt-star-rating,.wpdt-c .wpdt-star-rating{font-size:45px;width:100%}.wpdt-c .wpdt-bold{font-weight:bold!important}.wpdt-c .wpdt-italic{font-style:italic!important}.wpdt-c .wpdt-underline{text-decoration:underline!important}.wpdt-c .wpdt-align-left{text-align:left!important}.wpdt-c .wpdt-align-right{text-align:right!important}.wpdt-c .wpdt-align-center{text-align:center!important}.wpdt-c .wpdt-align-justify{text-align:justify!important}.wpdt-c .wpdt-valign-top{vertical-align:top!important}.wpdt-c .wpdt-valign-bottom{vertical-align:bottom!important}.wpdt-c .wpdt-valign-middle{vertical-align:middle!important}.wpdt-c .wpdt-overflow-text{white-space:nowrap!important;overflow:visible!important}.wpdt-c .wpdt-wrap-text{white-space:normal!important;overflow:visible!important}.wpdt-c .wpdt-clip-text{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis}.wpdt-c .wpDataTableContainerSimpleTable .wpdtSimpleTable td.wpdt-cell span[data-content="wpdt-star-rating"],.wpdt-c .wpDataTableContainerConfigSimpleTable table td span[data-content="wpdt-star-rating"]{pointer-events:none!important}.wpdt-c .wpDataTableContainerConfigSimpleTable td span[data-content="wpdt-star-rating"] .jq-ry-container,.wpdt-c .wpDataTableContainerSimpleTable td.wpdt-cell span[data-content="wpdt-star-rating"] .jq-ry-container,.wpdt-c.wpDataTableContainerSimpleTable td.wpdt-cell span[data-content="wpdt-star-rating"] .jq-ry-container{padding:0;margin:0;display:inline-block;cursor:default!important}.wpdt-c .wpdtSimpleTable .wpdt-cell pre{overflow:auto}.wpdt-c .rating{border:none}.wpdt-c .rating>span{position:relative;display:inline-block}.wpdt-c .rating>span:after{margin:5px;font-size:1.25em;font-family:'wpDataTablesIcons'!important;display:inline-block;content:"\f006"}.wpdt-c .rating>span.full.rated:after{color:gold}.wpdt-c .rating>span.full:after{color:#ccc}.wpdt-c .rating>.half:before{content:"\e92c";margin:5px;font-size:1.25em;font-family:'wpDataTablesIcons'!important;display:inline-block;position:absolute;top:0;left:1px;color:gold}.wpdt-c .rating>.half-reflect:after{content:"\e92c";font-family:'wpDataTablesIcons'!important;transform:rotateY(180deg);color:#ccc}.wpdt-c table.bt thead,.wpdt-c table.bt tbody th{display:none}.wpdt-c table.bt tfoot th,.wpdt-c table.bt tfoot td,.wpdt-c table.bt tbody td{border:none;display:block;float:left\9;width:100%\9}.wpdt-c table.bt tfoot th.bt-hide,.wpdt-c table.bt tfoot td.bt-hide,.wpdt-c table.bt tbody td.bt-hide{display:none}.wdt-res-wrapper.active{max-height:310px;overflow:auto;-webkit-overflow-scrolling:touch}.wpdt-c table.bt.bt--no-header tfoot td::before,.wpdt-c table.bt.bt--no-header tbody td::before{display:none}.wpdt-c table.wpdtSimpleTable.columnBlock td{display:block;height:auto!important;border:1px solid #eee!important}.wpdt-c table.wpdtSimpleTable.bt td{height:auto!important;border:1px solid #ccc!important;white-space:normal;width:100%!important}.wpdt-c table.wpdtSimpleTable.bt[data-has-header='1'] td{width:50%!important;float:left}table.wpdtSimpleTable.bt[data-has-header='1'] td.wpdt-header-classes{background-color:#eee}.wpdt-c table.wpdtSimpleTable.bt tr.even td:not(:last-child){height:auto!important;border-bottom:1px solid #fff!important}.wpdt-c table.wpdtSimpleTable.bt tr,.wpdt-c table.wpdtSimpleTable.columnBlock tr{border:1px solid #ccc;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}
|
assets/css/wpdatatables.min.css
CHANGED
@@ -43,6 +43,10 @@
|
|
43 |
.wpDataTablesWrapper table.wpDataTable > tbody > tr > td {
|
44 |
text-align: left;
|
45 |
}
|
|
|
|
|
|
|
|
|
46 |
|
47 |
/* Table Header */
|
48 |
.wpDataTablesWrapper table.wpDataTable > thead > tr > th {
|
@@ -345,6 +349,13 @@ div.wpDataTablesFilter span.filter_column .number-range-filter:first-child {
|
|
345 |
overflow: hidden;
|
346 |
display: initial;
|
347 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
.wpDataTables input[type="search"],
|
349 |
.wpDataTables select,
|
350 |
.wpDataTables textarea {
|
@@ -646,7 +657,7 @@ div.wdt-checkbox-modal-wrap div.wdt-checkbox-option label {
|
|
646 |
width: 100%;
|
647 |
background-color: rgba(255,255,255,1);
|
648 |
text-align: center;
|
649 |
-
z-index:
|
650 |
}
|
651 |
|
652 |
.wpdt-c .wdt-preload-layer div.preloader {
|
43 |
.wpDataTablesWrapper table.wpDataTable > tbody > tr > td {
|
44 |
text-align: left;
|
45 |
}
|
46 |
+
.wpDataTablesWrapper table.wpDataTable.wpdtSimpleTable > tbody > tr > th,
|
47 |
+
.wpDataTablesWrapper table.wpDataTable.wpdtSimpleTable > tbody > tr > td {
|
48 |
+
text-align: center;
|
49 |
+
}
|
50 |
|
51 |
/* Table Header */
|
52 |
.wpDataTablesWrapper table.wpDataTable > thead > tr > th {
|
349 |
overflow: hidden;
|
350 |
display: initial;
|
351 |
}
|
352 |
+
|
353 |
+
@-moz-document url-prefix() {
|
354 |
+
.wpdt-c .wpDataTables.wpDataTablesWrapper{
|
355 |
+
position: initial !important;
|
356 |
+
}
|
357 |
+
}
|
358 |
+
|
359 |
.wpDataTables input[type="search"],
|
360 |
.wpDataTables select,
|
361 |
.wpDataTables textarea {
|
657 |
width: 100%;
|
658 |
background-color: rgba(255,255,255,1);
|
659 |
text-align: center;
|
660 |
+
z-index: 1000;
|
661 |
}
|
662 |
|
663 |
.wpdt-c .wdt-preload-layer div.preloader {
|
assets/fonts/wpDataTablesIcons.eot
CHANGED
Binary file
|
assets/fonts/wpDataTablesIcons.svg
CHANGED
@@ -59,6 +59,30 @@
|
|
59 |
<glyph unicode="" glyph-name="magic-stick" d="M160 576l53.32 106.66 106.68 53.34-106.68 53.34-53.32 106.66-53.32-106.68-106.68-53.32 106.68-53.34 53.32-106.66zM448 704l32 64 64 32-64 32-32 64-32-64-64-32 64-32 32-64zM917.32 213.34l-53.32 106.66-53.32-106.66-106.68-53.34 106.68-53.34 53.32-106.66 53.32 106.66 106.68 53.34-106.68 53.34zM800 512c17.68 0 32 14.32 32 32v55.92l183.74 203.66c11.44 12.64 10.96 32.040-1.1 44.1l-38.96 38.94c-12.060 12.060-31.46 12.54-44.1 1.1l-558.38-503.72h-85.2c-17.68 0-32-14.32-32-32v-73.74l-234.94-211.94c-27.14-24.56-28.2-66.84-2.32-92.72l82.86-82.86c25.88-25.88 68.16-24.82 92.72 2.32l558.36 618.94h47.32z" />
|
60 |
<glyph unicode="" glyph-name="book" horiz-adv-x="896" d="M896 176v672c0 26.6-21.4 48-48 48h-656c-106 0-192-86-192-192v-640c0-106 86-192 192-192h656c26.6 0 48 21.4 48 48v32c0 15-7 28.6-17.8 37.4-8.4 30.8-8.4 118.6 0 149.4 10.8 8.6 17.8 22.2 17.8 37.2zM256 628c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-424c-6.6 0-12 5.4-12 12v40zM256 500c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-424c-6.6 0-12 5.4-12 12v40zM762.8 0h-570.8c-35.4 0-64 28.6-64 64 0 35.2 28.8 64 64 64h570.8c-3.8-34.2-3.8-93.8 0-128z" />
|
61 |
<glyph unicode="" glyph-name="trophy" horiz-adv-x="1152" d="M1104 768h-208v80c0 26.6-21.4 48-48 48h-544c-26.6 0-48-21.4-48-48v-80h-208c-26.6 0-48-21.4-48-48v-112c0-71.4 45-144.8 123.8-201.4 63-45.4 139.6-74.2 220-83.4 62.8-104.2 136.2-147.2 136.2-147.2v-144h-96c-70.6 0-128-41.4-128-112v-24c0-13.2 10.8-24 24-24h592c13.2 0 24 10.8 24 24v24c0 70.6-57.4 112-128 112h-96v144s73.4 43 136.2 147.2c80.6 9.2 157.2 38 220 83.4 78.6 56.6 123.8 130 123.8 201.4v112c0 26.6-21.4 48-48 48zM198.6 510.4c-48.8 35.2-70.6 74.4-70.6 97.6v32h128.4c2-65.2 11.6-122.4 25.6-172.4-30.2 10.4-58.4 24.8-83.4 42.8zM1024 608c0-32.2-35.4-72.2-70.6-97.6-25-18-53.4-32.4-83.6-42.8 14 50 23.6 107.2 25.6 172.4h128.6v-32z" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
<glyph unicode="" glyph-name="spinner9" d="M512 896c-278.748 0-505.458-222.762-511.848-499.974 5.92 241.864 189.832 435.974 415.848 435.974 229.75 0 416-200.576 416-448 0-53.020 42.98-96 96-96s96 42.98 96 96c0 282.77-229.23 512-512 512zM512-128c278.748 0 505.458 222.762 511.848 499.974-5.92-241.864-189.832-435.974-415.848-435.974-229.75 0-416 200.576-416 448 0 53.020-42.98 96-96 96s-96-42.98-96-96c0-282.77 229.23-512 512-512z" />
|
63 |
<glyph unicode="" glyph-name="search" d="M1017-41.801c9.4-9.398 9.4-24.6 0-34l-45.199-45.199c-9.4-9.4-24.602-9.4-34 0l-242.8 242.8c-4.4 4.6-7 10.6-7 17v26.398c-73-63-168-101.199-272-101.199-229.8 0-416 186.199-416 416s186.199 416 416 416 416-186.199 416-416c0-104-38.199-199-101.199-272h26.398c6.4 0 12.4-2.4 17-7zM416 160c176.801 0 320 143.199 320 320s-143.199 320-320 320-320-143.199-320-320 143.199-320 320-320z" />
|
64 |
<glyph unicode="" glyph-name="search-full" d="M1010 10.6c18.6-18.799 18.6-49.199-0.199-68l-56.602-56.6c-18.6-18.801-49-18.801-67.799 0l-199.4 199.4c-9 9-14 21.199-14 34v32.6c-70.6-55.199-159.4-88-256-88-229.8 0-416 186.199-416 416s186.199 416 416 416 416-186.199 416-416c0-96.6-32.801-185.4-88-256h32.6c12.801 0 25-5 34-14zM416 224c141.6 0 256 114.6 256 256 0 141.6-114.6 256-256 256-141.6 0-256-114.6-256-256 0-141.6 114.6-256 256-256z" />
|
@@ -95,6 +119,7 @@
|
|
95 |
<glyph unicode="" glyph-name="outdent" horiz-adv-x="896" d="M201.38 169.42l-192 191.961c-5.17 5.172-9.365 15.307-9.365 22.619s4.195 17.447 9.365 22.619l192 192c19.959 20 54.619 6.021 54.619-22.619v-383.96c0-28.479-34.619-42.619-54.619-22.619zM864 48c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-832c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h832zM870.34 304c14.154 0 25.66-11.486 25.66-25.641v-44.719c0-14.154-11.486-25.641-25.641-25.641h-460.719c-14.154 0-25.641 11.486-25.641 25.641v44.719c0 14.154 11.486 25.641 25.641 25.641h460.7zM864 816c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-832c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h832zM870.34 560c14.154 0 25.66-11.486 25.66-25.641v-44.719c0-14.154-11.486-25.641-25.641-25.641h-460.719c-14.154 0-25.641 11.486-25.641 25.641v44.719c0 14.154 11.486 25.641 25.641 25.641h460.7z" />
|
96 |
<glyph unicode="" glyph-name="indent" horiz-adv-x="896" d="M864 48c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-832c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h832zM54.619 169.4c-19.959-20-54.619-6.020-54.619 22.6v384c0 28.439 34.539 42.68 54.619 22.641l192-192c5.17-5.174 9.365-15.307 9.365-22.621s-4.195-17.447-9.365-22.619zM870.34 560c14.154 0 25.66-11.486 25.66-25.641v-44.719c0-14.154-11.486-25.641-25.641-25.641h-460.719c-14.154 0-25.641 11.486-25.641 25.641v44.719c0 14.154 11.486 25.641 25.641 25.641h460.7zM864 800c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-832c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h832zM870.34 304c14.154 0 25.66-11.486 25.66-25.641v-44.719c0-14.154-11.486-25.641-25.641-25.641h-460.719c-14.154 0-25.641 11.486-25.641 25.641v44.719c0 14.154 11.486 25.641 25.641 25.641h460.7z" />
|
97 |
<glyph unicode="" glyph-name="image" d="M928 768c53.020 0 96-42.98 96-96v-576c0-53.020-42.98-96-96-96h-832c-53.020 0-96 42.98-96 96v576c0 53.020 42.98 96 96 96h832zM916 96c6.623 0 12 5.377 12 12v552c0 6.623-5.377 12-12 12h-808c-6.623 0-12-5.377-12-12v-552c0-6.623 5.377-12 12-12h808zM256 592c44.182 0 80-35.818 80-80s-35.818-80-80-80-80 35.818-80 80 35.818 80 80 80zM192 192v96l79.027 79.029c9.375 9.373 24.57 9.373 33.943 0l79.029-79.029 239.028 239.030c9.375 9.373 24.57 9.373 33.943 0l175.029-175.029v-160h-640z" />
|
|
|
98 |
<glyph unicode="" glyph-name="step-backward" horiz-adv-x="896" d="M128-40v848c0 13.199 10.801 24 24 24h96c13.199 0 24-10.801 24-24v-352.8l391 362c41.199 34.201 105 5.602 105-49.199v-768c0-54.801-63.801-83.4-105-49.199l-391 359.798v-350.6c0-13.199-10.801-24-24-24h-96c-13.199 0-24 10.801-24 24z" />
|
99 |
<glyph unicode="" glyph-name="play" horiz-adv-x="896" d="M848.8 466.6c63-37 62.799-128.199 0-165.199l-704-416c-63.4-37.6-144.801 7.6-144.801 82.6v832.2c0 83.602 87.6 116.4 144.801 82.602z" />
|
100 |
<glyph unicode="" glyph-name="stop-thin" horiz-adv-x="896" d="M800 832c53 0 96-43 96-96v-704c0-53-43-96-96-96h-704c-53 0-96 43-96 96v704c0 53 43 96 96 96h704zM832 32v704c0 17.6-14.4 32-32 32h-704c-17.6 0-32-14.4-32-32v-704c0-17.6 14.4-32 32-32h704c17.6 0 32 14.4 32 32z" />
|
@@ -259,6 +284,7 @@
|
|
259 |
<glyph unicode="" glyph-name="hashtag" horiz-adv-x="896" d="M887.048 515.782c-1.951-10.918-12.535-19.781-23.627-19.781h-186.662l-40-224h178.090c14.943 0 26.252-13.508 23.627-28.219l-8.572-48c-1.949-10.918-12.535-19.781-23.627-19.781h-186.662l-39.326-220.218c-1.949-10.918-12.533-19.781-23.625-19.781h-48.76c-14.941 0-26.252 13.508-23.627 28.219l37.818 211.782h-222.48l-39.322-220.218c-1.951-10.918-12.535-19.781-23.627-19.781h-48.76c-14.943 0-26.254 13.508-23.629 28.219l37.818 211.782h-178.090c-14.941 0-26.252 13.508-23.625 28.219l8.57 48c1.951 10.918 12.535 19.781 23.627 19.781h186.662l40 224h-178.090c-14.945 0-26.254 13.508-23.629 28.219l8.572 48c1.949 10.918 12.533 19.781 23.627 19.781h186.664l39.326 220.22c1.949 10.918 12.533 19.779 23.625 19.779h48.76c14.941 0 26.252-13.51 23.627-28.221l-37.818-211.78h222.48l39.326 220.22c1.949 10.918 12.533 19.779 23.625 19.779h48.76c14.941 0 26.252-13.51 23.627-28.221l-37.818-211.78h178.090c14.941 0 26.252-13.508 23.625-28.219zM539.24 272l40 224h-222.48l-40-224h222.48z" />
|
260 |
<glyph unicode="" glyph-name="percent" horiz-adv-x="768" d="M192 448c-106 0-192 86-192 192s86 192 192 192 192-86 192-192-86-192-192-192zM192 736c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zM576 320c106 0 192-86 192-192s-86-192-192-192-192 86-192 192 86 192 192 192zM576 32c53 0 96 43 96 96s-43 96-96 96-96-43-96-96 43-96 96-96zM763.8 794.4l-649.4-848.4c-4.6-6.199-11.801-10-19.4-10h-71c-19.199 0-30.6 21.4-20 37.4l650.4 848.6c4.6 6.199 11.799 10 19.4 10h70.199c19.199 0 30.6-21.6 19.801-37.6z" />
|
261 |
<glyph unicode="" glyph-name="times-square" horiz-adv-x="896" d="M800 832c53 0 96-43 96-96v-704c0-53-43-96-96-96h-704c-53 0-96 43-96 96v704c0 53 43 96 96 96h704zM691.2 253.8l-131.199 130.199 131.4 130c9.4 9.4 9.4 24.6 0 34l-79.201 79.199c-9.398 9.4-24.6 9.4-34 0l-130.199-131.199-130 131.4c-9.4 9.4-24.6 9.4-34 0l-79.199-79.201c-9.4-9.398-9.4-24.6 0-34l131.199-130.199-131.199-130c-9.4-9.4-9.4-24.6 0-34l79-79.199c9.398-9.4 24.6-9.4 34 0l130.199 131.199 130-131.199c9.4-9.4 24.6-9.4 34 0l79.199 79c9.4 9.398 9.4 24.6 0 34z" />
|
|
|
262 |
<glyph unicode="" glyph-name="trash-alt" horiz-adv-x="896" d="M64-32v672h768v-672c0-52.992-43.008-96-96-96h-576c-52.992 0-96 43.008-96 96zM608 480v-448c0-17.664 14.336-32 32-32s32 14.336 32 32v448c0 17.664-14.336 32-32 32s-32-14.336-32-32zM416 480v-448c0-17.664 14.336-32 32-32s32 14.336 32 32v448c0 17.664-14.336 32-32 32s-32-14.336-32-32zM224 480v-448c0-17.664 14.336-32 32-32s32 14.336 32 32v448c0 17.664-14.336 32-32 32s-32-14.336-32-32zM864 832c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32h-832c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h240l18.801 37.4c7.18 14.684 26.271 26.6 42.617 26.6h228.817c16.404 0 35.652-11.916 42.965-26.6l18.801-37.4h240z" />
|
263 |
<glyph unicode="" glyph-name="question-square" horiz-adv-x="896" d="M800 832c53.020 0 96-42.98 96-96v-704c0-53.020-42.98-96-96-96h-704c-53.020 0-96 42.98-96 96v704c0 53.020 42.98 96 96 96h704zM448 36c50.73 0 92 41.271 92 92s-41.27 92-92 92-92-41.27-92-92c0-50.729 41.27-92 92-92zM528 298.666c0 56.924 166.371 59.295 166.371 213.334 0 116.004-120.328 204-233.060 204-108.994 0-178.51-45.914-233.098-127.514-7.072-10.572-4.707-24.83 5.43-32.516l69.396-52.621c10.41-7.895 25.24-6.016 33.33 4.244 35.73 45.316 60.227 71.594 114.607 71.594 40.857 0 91.395-26.295 91.395-65.916 0-29.951-24.725-45.334-65.066-67.951-47.049-26.377-109.305-59.203-109.305-141.32v-8c0-13.254 10.746-24 24-24h112c13.254 0 24 10.746 24 24v2.666z" />
|
264 |
<glyph unicode="" glyph-name="pen" d="M581.48 709.52l256.040-256.040-555.98-555.98-228.28-25.199c-30.561-3.381-56.379 22.459-52.98 53.020l25.4 228.44zM995.88 747.64c37.5-37.5 37.5-98.301 0-135.82l-113.102-113.1-256.040 256.040 113.1 113.1c37.5 37.5 98.32 37.5 135.82 0z" />
|
@@ -304,6 +330,8 @@
|
|
304 |
<glyph unicode="" glyph-name="sort-alpha-down-alt" horiz-adv-x="896" d="M352 192c28.439 0 42.699-34.52 22.66-54.619l-160-192c-5.174-5.17-15.307-9.365-22.621-9.365-7.313 0-17.445 4.195-22.619 9.365l-160 192c-20.141 20.139-5.801 54.619 22.58 54.619h96v608c0 17.664 14.336 32 32 32h64c17.664 0 32-14.336 32-32v-608h96zM576 448c-17.664 0-32 14.336-32 32v35.266c0 15.865 9.623 37.295 21.48 47.834l122.52 140.9h-112c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h256c17.664 0 32-14.336 32-32v-35.266c0-15.865-9.623-37.295-21.48-47.834l-122.52-140.9h112c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32h-256zM894.12-21.24c1.029-2.881 1.863-7.701 1.863-10.76 0-17.654-14.328-31.99-31.982-32h-49.769c-12.855 0-26.498 9.928-30.451 22.16l-8.818 25.84h-142l-8.842-25.84c-3.951-12.232-17.594-22.16-30.449-22.16h-49.67c-17.654 0.010-31.982 14.346-31.982 32 0 3.059 0.834 7.879 1.863 10.76l118.539 320c4.186 11.725 17.688 21.24 30.137 21.24h82.887c12.449 0 25.951-9.516 30.137-21.24zM671.22 96h65.559l-32.779 96z" />
|
305 |
<glyph unicode="" glyph-name="function-reg" horiz-adv-x="1280" d="M448 800v-32c0-17.68-14.32-32-32-32h-96c-44.18 0-80-35.82-80-80v-96h112c17.68 0 32-14.32 32-32v-32c0-17.68-14.32-32-32-32h-112v-288c0-97.199-78.801-176-176-176h-32c-17.68 0-32 14.32-32 32v32c0 17.68 14.32 32 32 32h32c44.18 0 80 35.82 80 80v288h-112c-17.68 0-32 14.32-32 32v32c0 17.68 14.32 32 32 32h112v96c0 97.199 78.801 176 176 176h96c17.68 0 32-14.32 32-32zM634.86 678.16c13.66-10.279 16.16-29.061 6.561-43.16-63.020-92.48-97.42-203.18-97.42-315 0-111.84 34.4-222.54 97.42-314.98 9.619-14.1 7.119-32.9-6.561-43.18l-25.6-19.26c-14.439-10.881-35.619-8.041-45.84 6.82-74.641 108.561-115.42 238.9-115.42 370.6 0 131.66 40.779 262 115.42 370.6 10.221 14.84 31.4 17.701 45.84 6.82zM1164.58 690.6c74.641-108.561 115.42-238.9 115.42-370.6 0-131.66-40.779-262-115.42-370.62-10.221-14.861-31.4-17.701-45.84-6.82l-25.6 19.26c-13.66 10.299-16.16 29.080-6.561 43.18 63.020 92.48 97.42 203.18 97.42 315 0 111.84-34.4 222.54-97.42 314.98-9.619 14.1-7.119 32.9 6.561 43.18l25.6 19.26c14.439 10.881 35.619 8.041 45.84-6.82zM1014.9 448.92c12.139-12.141 12.139-31.84-0.020-43.98l-84.941-84.939 84.941-84.939c12.139-12.141 12.139-31.82 0-43.961l-21.98-21.98c-12.141-12.139-31.82-12.139-43.961 0l-84.939 84.941-84.939-84.941c-12.141-12.139-31.82-12.139-43.961 0l-21.98 21.98c-12.139 12.141-12.139 31.82 0 43.961l84.941 84.939-84.941 84.939c-12.139 12.141-12.139 31.82 0 43.961l21.98 21.98c12.141 12.139 31.82 12.139 43.961 0l84.939-84.941 84.961 84.961c12.139 12.139 31.818 12.139 43.959 0z" />
|
306 |
<glyph unicode="" glyph-name="file-csv" horiz-adv-x="768" d="M739.66 700.040c18-18 28.34-42.6 28.34-67.979v-664.080c0-52.98-43.141-95.98-96.141-95.98h-575.878c-52.98 0-95.98 43-95.98 95.98v831.84c0 52.98 43 95.98 95.98 96.18h408.12c25.381 0 49.781-10.199 67.781-28.199zM511.9 792.020v-152.16h152.18zM672-32.020v575.9h-208.080c-26.6 0-48 21.379-48 47.979v207.96h-319.94v-831.84h576.020zM448 368c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-41.6c0-40.541 11.4-80.361 32-113.76 20.6 33.42 32 73.219 32 113.76v41.6c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-41.6c0-70.961-25.74-137.781-72.561-188.18-6.039-6.5-14.539-10.221-23.439-10.221s-17.4 3.721-23.439 10.221c-46.801 50.398-72.561 117.219-72.561 188.18v41.6zM240 384c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16c-17.68 0-32-14.32-32-32v-64c0-17.68 14.32-32 32-32h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16c-53.020 0-96 42.98-96 96v64c0 53.020 42.98 96 96 96h16zM358.9 299.060l43.799-37.541c16.941-14.439 26.66-34.959 26.66-56.279 0-42.58-38.039-77.24-84.82-77.24h-24.539c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h24.5c11.92 0 20.82 7 20.82 13.24 0 2.58-1.48 5.299-4.24 7.68l-43.779 37.541c-16.941 14.439-26.66 34.959-26.66 56.279 0 42.58 38.039 77.24 84.82 77.24h24.539c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-24.52c-11.92 0-20.82-7-20.82-13.24 0-2.58 1.48-5.301 4.24-7.68z" />
|
|
|
|
|
307 |
<glyph unicode="" glyph-name="line-columns" d="M992 48c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM992 304c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM992 560c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM992 816c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM416 304c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM416 48c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM416 816c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM416 560c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384z" />
|
308 |
<glyph unicode="" glyph-name="sort-alt" horiz-adv-x="768" d="M352 192c28.439 0 42.699-34.52 22.66-54.619l-160-192c-5.174-5.17-15.307-9.365-22.621-9.365-7.313 0-17.445 4.195-22.619 9.365l-160 192c-20.141 20.139-5.801 54.619 22.58 54.619h96v608c0 17.664 14.336 32 32 32h64c17.664 0 32-14.336 32-32v-608h96zM758.58 630.62c20.141-20.139 5.801-54.619-22.58-54.619h-96v-608c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v608h-96c-28.439 0-42.699 34.52-22.66 54.619l160 192c5.174 5.17 15.307 9.365 22.621 9.365s17.445-4.195 22.619-9.365z" />
|
309 |
<glyph unicode="🔍" glyph-name="search2" horiz-adv-x="950" d="M658.432 420.864q0 105.472-74.752 180.224t-181.248 75.776-181.248-75.776-74.752-180.224 74.752-181.248 181.248-74.752 181.248 74.752 74.752 181.248zM951.296-55.296q0-29.696-22.528-51.2t-51.2-21.504q-30.72 0-51.2 21.504l-195.584 195.584q-102.4-70.656-228.352-70.656-81.92 0-156.672 31.744t-128 86.016-86.016 128-31.744 156.672 31.744 155.648 86.016 129.024 128 86.016 156.672 31.744 156.672-31.744 128-86.016 86.016-129.024 31.744-155.648q0-125.952-70.656-228.352l195.584-195.584q21.504-21.504 21.504-52.224z" />
|
59 |
<glyph unicode="" glyph-name="magic-stick" d="M160 576l53.32 106.66 106.68 53.34-106.68 53.34-53.32 106.66-53.32-106.68-106.68-53.32 106.68-53.34 53.32-106.66zM448 704l32 64 64 32-64 32-32 64-32-64-64-32 64-32 32-64zM917.32 213.34l-53.32 106.66-53.32-106.66-106.68-53.34 106.68-53.34 53.32-106.66 53.32 106.66 106.68 53.34-106.68 53.34zM800 512c17.68 0 32 14.32 32 32v55.92l183.74 203.66c11.44 12.64 10.96 32.040-1.1 44.1l-38.96 38.94c-12.060 12.060-31.46 12.54-44.1 1.1l-558.38-503.72h-85.2c-17.68 0-32-14.32-32-32v-73.74l-234.94-211.94c-27.14-24.56-28.2-66.84-2.32-92.72l82.86-82.86c25.88-25.88 68.16-24.82 92.72 2.32l558.36 618.94h47.32z" />
|
60 |
<glyph unicode="" glyph-name="book" horiz-adv-x="896" d="M896 176v672c0 26.6-21.4 48-48 48h-656c-106 0-192-86-192-192v-640c0-106 86-192 192-192h656c26.6 0 48 21.4 48 48v32c0 15-7 28.6-17.8 37.4-8.4 30.8-8.4 118.6 0 149.4 10.8 8.6 17.8 22.2 17.8 37.2zM256 628c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-424c-6.6 0-12 5.4-12 12v40zM256 500c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-424c-6.6 0-12 5.4-12 12v40zM762.8 0h-570.8c-35.4 0-64 28.6-64 64 0 35.2 28.8 64 64 64h570.8c-3.8-34.2-3.8-93.8 0-128z" />
|
61 |
<glyph unicode="" glyph-name="trophy" horiz-adv-x="1152" d="M1104 768h-208v80c0 26.6-21.4 48-48 48h-544c-26.6 0-48-21.4-48-48v-80h-208c-26.6 0-48-21.4-48-48v-112c0-71.4 45-144.8 123.8-201.4 63-45.4 139.6-74.2 220-83.4 62.8-104.2 136.2-147.2 136.2-147.2v-144h-96c-70.6 0-128-41.4-128-112v-24c0-13.2 10.8-24 24-24h592c13.2 0 24 10.8 24 24v24c0 70.6-57.4 112-128 112h-96v144s73.4 43 136.2 147.2c80.6 9.2 157.2 38 220 83.4 78.6 56.6 123.8 130 123.8 201.4v112c0 26.6-21.4 48-48 48zM198.6 510.4c-48.8 35.2-70.6 74.4-70.6 97.6v32h128.4c2-65.2 11.6-122.4 25.6-172.4-30.2 10.4-58.4 24.8-83.4 42.8zM1024 608c0-32.2-35.4-72.2-70.6-97.6-25-18-53.4-32.4-83.6-42.8 14 50 23.6 107.2 25.6 172.4h128.6v-32z" />
|
62 |
+
<glyph unicode="" glyph-name="g-cap" horiz-adv-x="1280" d="M1244.68 589.6l-557.88 171.4c-30.4 9.34-63.2 9.34-93.58 0l-557.9-171.4c-47.080-14.46-47.080-76.72 0-91.18l97.26-29.88c-21.34-26.38-34.46-58.56-35.76-93.8-19.26-11.040-32.82-30.96-32.82-54.74 0-21.56 11.36-39.7 27.72-51.3l-51.060-229.76c-4.44-19.98 10.76-38.94 31.22-38.94h112.22c20.48 0 35.68 18.96 31.24 38.94l-51.060 229.76c16.36 11.6 27.72 29.74 27.72 51.3 0 23.14-12.94 42.5-31.32 53.74 1.52 30.040 16.88 56.6 41.38 73.44l391.14-120.18c18.12-5.56 52.88-12.5 93.58 0l557.9 171.4c47.1 14.48 47.1 76.72 0 91.2zM705.58 265.82c-57.060-17.52-105.68-7.84-131.18 0l-290.040 89.1-28.36-226.92c0-70.7 171.92-128 384-128s384 57.3 384 128l-28.36 226.94-290.060-89.12z" />
|
63 |
+
<glyph unicode="" glyph-name="vertical-align-top" d="M341.333 426.667h128v-426.667h85.333v426.667h128l-170.667 170.667-170.667-170.667zM170.667 768v-85.333h682.667v85.333h-682.667z" />
|
64 |
+
<glyph unicode="" glyph-name="vertical-align-center" d="M341.333 85.333h128v-170.667h85.333v170.667h128l-170.667 170.667-170.667-170.667zM682.667 682.667h-128v170.667h-85.333v-170.667h-128l170.667-170.667 170.667 170.667zM170.667 426.667v-85.333h682.667v85.333h-682.667z" />
|
65 |
+
<glyph unicode="" glyph-name="vertical-align-bottom" d="M682.667 341.333h-128v426.667h-85.333v-426.667h-128l170.667-170.667 170.667 170.667zM170.667 85.333v-85.333h682.667v85.333h-682.667z" />
|
66 |
+
<glyph unicode="" glyph-name="add-column-left" d="M535.394 74.831v-124.062h-393.846v866.462h393.846v-124.062c24.93 12.721 51.358 22.252 78.769 28.633v134.814c0 21.701-17.644 39.385-39.385 39.385h-472.615c-21.662 0-39.385-17.684-39.385-39.385v-945.231c0-21.701 17.684-39.385 39.385-39.385h472.615c21.74 0 39.385 17.684 39.385 39.385v134.853c-27.412 6.341-53.839 15.872-78.769 28.593zM697.662 683.235c-165.182 0-299.504-134.394-299.504-299.576 0-165.254 134.322-299.648 299.504-299.648 165.325 0 299.648 134.394 299.648 299.648 0 165.182-134.322 299.576-299.648 299.576zM697.662 165.35c-120.217 0-218.166 97.878-218.166 218.31 0 120.289 97.949 218.31 218.166 218.31 120.575 0 218.381-98.021 218.381-218.31 0-120.432-97.806-218.31-218.381-218.31zM546.471 421.053h295.813v-84.958h-295.813v84.958zM736.856 526.481v-295.813h-84.958v295.813h84.958z" />
|
67 |
+
<glyph unicode="" glyph-name="remove-column" d="M535.394 74.831v-124.062h-393.846v866.462h393.846v-124.062c24.93 12.721 51.358 22.252 78.769 28.633v134.814c0 21.701-17.644 39.385-39.385 39.385h-472.615c-21.662 0-39.385-17.684-39.385-39.385v-945.231c0-21.701 17.684-39.385 39.385-39.385h472.615c21.74 0 39.385 17.684 39.385 39.385v134.853c-27.412 6.341-53.839 15.872-78.769 28.593zM697.662 683.235c-165.182 0-299.504-134.394-299.504-299.576 0-165.254 134.322-299.648 299.504-299.648 165.325 0 299.648 134.394 299.648 299.648 0 165.182-134.322 299.576-299.648 299.576zM697.662 165.35c-120.217 0-218.166 97.878-218.166 218.31 0 120.289 97.949 218.31 218.166 218.31 120.575 0 218.381-98.021 218.381-218.31 0-120.432-97.806-218.31-218.381-218.31zM546.471 421.053h295.813v-84.958h-295.813v84.958z" />
|
68 |
+
<glyph unicode="" glyph-name="remove-row" d="M202.861 367.31h-124.062v393.846h866.462v-393.846h-124.062c12.721-24.93 22.252-51.358 28.633-78.769h134.814c21.701 0 39.385 17.644 39.385 39.385v472.615c0 21.662-17.684 39.385-39.385 39.385h-945.231c-21.701 0-39.385-17.684-39.385-39.385v-472.615c0-21.74 17.684-39.385 39.385-39.385h134.853c6.341 27.412 15.872 53.839 28.593 78.769zM812.104 216.81c0 165.182-134.394 299.504-299.576 299.504-165.254 0-299.648-134.322-299.648-299.504 0-165.325 134.394-299.648 299.648-299.648 165.182 0 299.576 134.322 299.576 299.648zM294.219 216.81c0 120.217 97.878 218.166 218.31 218.166 120.289 0 218.31-97.949 218.31-218.166 0-120.575-98.021-218.381-218.31-218.381-120.432 0-218.31 97.806-218.31 218.381zM361.229 254.169h295.813v-84.958h-295.813v84.958z" />
|
69 |
+
<glyph unicode="" glyph-name="add-row-top" d="M821.2 424.053h124.062v-393.846h-866.462v393.846h124.062c-12.721 24.93-22.252 51.358-28.633 78.769h-134.814c-21.701 0-39.385-17.644-39.385-39.385v-472.615c0-21.662 17.684-39.385 39.385-39.385h945.231c21.701 0 39.385 17.684 39.385 39.385v472.615c0 21.74-17.684 39.385-39.385 39.385h-134.853c-6.341-27.412-15.872-53.839-28.593-78.769zM812.105 575.611c0 165.182-134.394 299.504-299.576 299.504-165.254 0-299.648-134.322-299.648-299.504 0-165.325 134.394-299.648 299.648-299.648 165.182 0 299.576 134.322 299.576 299.648zM294.219 575.611c0 120.217 97.878 218.166 218.31 218.166 120.289 0 218.31-97.949 218.31-218.166 0-120.575-98.021-218.381-218.31-218.381-120.432 0-218.31 97.806-218.31 218.381zM362.898 617.976h295.813v-84.958h-295.813v84.958zM554.953 723.404v-295.813h-84.958v295.813h84.958z" />
|
70 |
+
<glyph unicode="" glyph-name="add-row-bottom" d="M202.861 367.31h-124.062v393.846h866.462v-393.846h-124.062c12.721-24.93 22.252-51.358 28.633-78.769h134.814c21.701 0 39.385 17.644 39.385 39.385v472.615c0 21.662-17.684 39.385-39.385 39.385h-945.231c-21.701 0-39.385-17.684-39.385-39.385v-472.615c0-21.74 17.684-39.385 39.385-39.385h134.853c6.341 27.412 15.872 53.839 28.593 78.769zM812.104 216.81c0 165.182-134.394 299.504-299.576 299.504-165.254 0-299.648-134.322-299.648-299.504 0-165.325 134.394-299.648 299.648-299.648 165.182 0 299.576 134.322 299.576 299.648zM294.219 216.81c0 120.217 97.878 218.166 218.31 218.166 120.289 0 218.31-97.949 218.31-218.166 0-120.575-98.021-218.381-218.31-218.381-120.432 0-218.31 97.806-218.31 218.381zM361.229 254.169h295.813v-84.958h-295.813v84.958zM551.615 359.596v-295.813h-84.958v295.813h84.958z" />
|
71 |
+
<glyph unicode="" glyph-name="add-column-right" d="M459.265 693.169v124.062h393.846v-866.462h-393.846v124.062c-24.93-12.721-51.358-22.252-78.769-28.633v-134.814c0-21.701 17.644-39.385 39.385-39.385h472.615c21.662 0 39.385 17.684 39.385 39.385v945.231c0 21.701-17.684 39.385-39.385 39.385h-472.615c-21.74 0-39.385-17.684-39.385-39.385v-134.853c27.412-6.341 53.839-15.872 78.769-28.593zM318.964 683.235c-165.182 0-299.504-134.394-299.504-299.576 0-165.254 134.322-299.648 299.504-299.648 165.325 0 299.648 134.394 299.648 299.648 0 165.182-134.322 299.576-299.648 299.576zM318.964 165.35c-120.217 0-218.166 97.878-218.166 218.31 0 120.289 97.949 218.31 218.166 218.31 120.575 0 218.381-98.021 218.381-218.31 0-120.432-97.806-218.31-218.381-218.31zM167.773 421.053h295.813v-84.958h-295.813v84.958zM358.161 526.483v-295.813h-84.958v295.813h84.958z" />
|
72 |
+
<glyph unicode="" glyph-name="rows-1" horiz-adv-x="1297" d="M170.667 529.834v-304.795h956.008v304.795h-956.008zM170.667 895.588v-304.795h956.008v304.795h-956.008zM1126.675 164.081h-956.008v-304.795h956.008v304.795z" />
|
73 |
+
<glyph unicode="" glyph-name="insert-column-after" d="M618 682.664c-7.852 0-15.703 2.859-21.844 8.625l-160 149.328c-9.602 8.961-12.758 22.914-7.938 35.117s16.641 20.266 29.781 20.266h320c13.141 0 24.961-8.023 29.781-20.266 4.82-12.25 1.664-26.156-7.938-35.117l-160-149.328c-6.141-5.766-13.992-8.625-21.844-8.625zM539.195 832l78.805-73.555 78.805 73.555zM906-128h-106.664c-41.18 0-74.672 33.492-74.672 74.664v661.336c0 41.172 33.492 74.664 74.672 74.664h106.664c41.172 0 74.664-33.492 74.664-74.664v-661.336c0-41.172-33.492-74.664-74.664-74.664zM799.336 618.664c-5.891 0-10.672-4.773-10.672-10.664v-661.336c0-5.883 4.781-10.664 10.672-10.664h106.664c5.891 0 10.664 4.781 10.664 10.664v661.336c0 5.891-4.773 10.664-10.664 10.664zM436.664-128h-320c-41.172 0-74.664 33.492-74.664 74.664v661.336c0 41.172 33.492 74.664 74.664 74.664h320c41.18 0 74.672-33.492 74.672-74.664v-661.336c0-41.172-33.492-74.664-74.672-74.664zM116.664 618.664c-5.883 0-10.664-4.773-10.664-10.664v-661.336c0-5.883 4.781-10.664 10.664-10.664h320c5.891 0 10.672 4.781 10.672 10.664v661.336c0 5.891-4.781 10.664-10.672 10.664zM948.664 245.336h-192c-17.664 0-32 14.336-32 32s14.336 32 32 32h192c17.664 0 32-14.336 32-32s-14.336-32-32-32zM479.336 245.336h-405.336c-17.664 0-32 14.336-32 32s14.336 32 32 32h405.336c17.664 0 32-14.336 32-32s-14.336-32-32-32zM276.664-128c-17.664 0-32 14.336-32 32v746.664c0 17.664 14.336 32 32 32s32-14.336 32-32v-746.664c0-17.664-14.336-32-32-32z" />
|
74 |
+
<glyph unicode="" glyph-name="insert-column-before" d="M404.664 682.664c-7.852 0-15.656 2.859-21.844 8.625l-160 149.328c-9.641 8.961-12.758 22.914-7.938 35.117 4.82 12.242 16.641 20.266 29.781 20.266h320c13.141 0 24.961-8.023 29.742-20.266 4.82-12.25 1.703-26.156-7.938-35.117l-160-149.328c-6.141-5.766-13.953-8.625-21.805-8.625zM325.82 832l78.844-73.555 78.852 73.555zM223.336-128h-106.672c-41.172 0-74.664 33.492-74.664 74.664v661.336c0 41.172 33.492 74.664 74.664 74.664h106.672c41.172 0 74.664-33.492 74.664-74.664v-661.336c0-41.172-33.492-74.664-74.664-74.664zM116.664 618.664c-5.883 0-10.664-4.773-10.664-10.664v-661.336c0-5.883 4.781-10.664 10.664-10.664h106.672c5.883 0 10.664 4.781 10.664 10.664v661.336c0 5.891-4.781 10.664-10.664 10.664zM906-128h-320c-41.172 0-74.664 33.492-74.664 74.664v661.336c0 41.172 33.492 74.664 74.664 74.664h320c41.172 0 74.664-33.492 74.664-74.664v-661.336c0-41.172-33.492-74.664-74.664-74.664zM586 618.664c-5.891 0-10.664-4.773-10.664-10.664v-661.336c0-5.883 4.773-10.664 10.664-10.664h320c5.891 0 10.664 4.781 10.664 10.664v661.336c0 5.891-4.773 10.664-10.664 10.664zM266 245.336h-192c-17.664 0-32 14.336-32 32s14.336 32 32 32h192c17.664 0 32-14.336 32-32s-14.336-32-32-32zM948.664 245.336h-405.328c-17.664 0-32 14.336-32 32s14.336 32 32 32h405.328c17.664 0 32-14.336 32-32s-14.336-32-32-32zM746-128c-17.664 0-32 14.336-32 32v746.664c0 17.664 14.336 32 32 32s32-14.336 32-32v-746.664c0-17.664-14.336-32-32-32z" />
|
75 |
+
<glyph unicode="" glyph-name="insert-row-after" d="M32 86c-3.969 0-7.938 0.727-11.734 2.219-12.242 4.82-20.266 16.641-20.266 29.781v320c0 13.141 8.023 24.961 20.266 29.781 12.289 4.82 26.156 1.703 35.117-7.938l149.328-160c11.523-12.289 11.523-31.359 0-43.648l-149.328-160c-6.188-6.656-14.68-10.195-23.383-10.195zM64 356.805v-157.609l73.555 78.805zM949.336-84.664h-661.336c-41.172 0-74.664 33.492-74.664 74.664v106.664c0 41.18 33.492 74.672 74.664 74.672h661.336c41.172 0 74.664-33.492 74.664-74.672v-106.664c0-41.172-33.492-74.664-74.664-74.664zM288 107.336c-5.891 0-10.664-4.781-10.664-10.672v-106.664c0-5.891 4.773-10.664 10.664-10.664h661.336c5.883 0 10.664 4.773 10.664 10.664v106.664c0 5.891-4.781 10.672-10.664 10.672zM949.336 384.664h-661.336c-41.172 0-74.664 33.492-74.664 74.672v320c0 41.172 33.492 74.664 74.664 74.664h661.336c41.172 0 74.664-33.492 74.664-74.664v-320c0-41.18-33.492-74.672-74.664-74.672zM288 790c-5.891 0-10.664-4.781-10.664-10.664v-320c0-5.891 4.773-10.672 10.664-10.672h661.336c5.883 0 10.664 4.781 10.664 10.672v320c0 5.883-4.781 10.664-10.664 10.664zM618.664-84.664c-17.664 0-32 14.336-32 32v192c0 17.664 14.336 32 32 32s32-14.336 32-32v-192c0-17.664-14.336-32-32-32zM618.664 384.664c-17.664 0-32 14.336-32 32v405.336c0 17.664 14.336 32 32 32s32-14.336 32-32v-405.336c0-17.664-14.336-32-32-32zM992 587.336h-746.664c-17.664 0-32 14.336-32 32s14.336 32 32 32h746.664c17.664 0 32-14.336 32-32s-14.336-32-32-32z" />
|
76 |
+
<glyph unicode="" glyph-name="insert-row-before" d="M32 299.336c-3.969 0-7.938 0.727-11.734 2.219-12.242 4.82-20.266 16.641-20.266 29.781v320c0 13.141 8.023 24.961 20.266 29.781 12.289 4.82 26.156 1.703 35.117-7.938l149.328-160c11.523-12.289 11.523-31.359 0-43.648l-149.328-160c-6.188-6.656-14.68-10.195-23.383-10.195zM64 570.141v-157.609l73.555 78.805zM949.336 598h-661.336c-41.172 0-74.664 33.492-74.664 74.664v106.672c0 41.172 33.492 74.664 74.664 74.664h661.336c41.172 0 74.664-33.492 74.664-74.664v-106.672c0-41.172-33.492-74.664-74.664-74.664zM288 790c-5.891 0-10.664-4.781-10.664-10.664v-106.672c0-5.883 4.773-10.664 10.664-10.664h661.336c5.883 0 10.664 4.781 10.664 10.664v106.672c0 5.883-4.781 10.664-10.664 10.664zM949.336-84.664h-661.336c-41.172 0-74.664 33.492-74.664 74.664v320c0 41.172 33.492 74.664 74.664 74.664h661.336c41.172 0 74.664-33.492 74.664-74.664v-320c0-41.172-33.492-74.664-74.664-74.664zM288 320.664c-5.891 0-10.664-4.773-10.664-10.664v-320c0-5.891 4.773-10.664 10.664-10.664h661.336c5.883 0 10.664 4.773 10.664 10.664v320c0 5.891-4.781 10.664-10.664 10.664zM618.664 598c-17.664 0-32 14.336-32 32v192c0 17.664 14.336 32 32 32s32-14.336 32-32v-192c0-17.664-14.336-32-32-32zM618.664-84.664c-17.664 0-32 14.336-32 32v405.328c0 17.664 14.336 32 32 32s32-14.336 32-32v-405.328c0-17.664-14.336-32-32-32zM992 118h-746.664c-17.664 0-32 14.336-32 32s14.336 32 32 32h746.664c17.664 0 32-14.336 32-32s-14.336-32-32-32z" />
|
77 |
+
<glyph unicode="" glyph-name="columns-1" d="M46.933-128h930.133c25.6 0 46.933 21.333 46.933 46.933v930.133c0 25.6-21.333 46.933-46.933 46.933h-930.133c-25.6 0-46.933-21.333-46.933-46.933v-930.133c0-25.6 21.333-46.933 46.933-46.933zM938.667 810.667v-853.333h-256v853.333h256zM640 810.667v-853.333h-256v853.333h256zM85.333 810.667h256v-853.333h-256v853.333z" />
|
78 |
+
<glyph unicode="" glyph-name="rows-2" d="M1024-81.067v930.133c0 25.6-21.333 46.933-46.933 46.933h-930.133c-25.6 0-46.933-21.333-46.933-46.933v-930.133c0-25.6 21.333-46.933 46.933-46.933h930.133c25.6 0 46.933 21.333 46.933 46.933zM85.333 810.667h853.333v-256h-853.333v256zM85.333 512h853.333v-256h-853.333v256zM85.333-42.667v256h853.333v-256h-853.333z" />
|
79 |
+
<glyph unicode="" glyph-name="columns-2" horiz-adv-x="1297" d="M443.733-25.6h341.333v887.467h-341.333v-887.467zM34.133-25.6h341.333v887.467h-341.333v-887.467zM853.333 861.867v-887.467h341.333v887.467h-341.333z" />
|
80 |
+
<glyph unicode="" glyph-name="wrap-text" horiz-adv-x="989" d="M69.034 665.888v-57.528h805.393v115.056h-805.393v-57.528zM69.034 378.247v-57.528h349.771c335.964 0 349.771-1.151 379.685-24.162 41.42-32.216 41.42-92.045 0-124.261-25.312-19.56-47.173-24.162-120.809-24.162h-90.894v109.303l-82.84-83.991-83.991-82.84 83.991-82.84 82.84-83.991v107.002l107.002 4.602c118.508 4.602 155.326 21.861 205.951 93.196 41.42 57.528 37.969 162.229-6.903 219.757-63.281 82.84-82.84 87.443-475.182 87.443h-348.62v-57.528zM69.034 90.607v-57.528h230.112v115.056h-230.112v-57.528z" />
|
81 |
+
<glyph unicode="" glyph-name="clip-text" horiz-adv-x="1049" d="M86.361 390.169v-431.807h123.373v863.614h-123.373v-431.807zM826.602 636.916v-185.060h-493.494v-123.373h493.494v-370.12h123.373v863.614h-123.373v-185.060z" />
|
82 |
+
<glyph unicode="" glyph-name="overflow-text" horiz-adv-x="1036" d="M72.282 390.024v-421.647h120.471v843.294h-120.471v-421.647zM493.929 691.2v-120.471h120.471v240.941h-120.471v-120.471zM734.871 506.88v-56.621h-421.647v-120.471h420.442l3.614-60.235 3.614-61.44 87.944 87.944 86.739 87.944-90.353 90.353-90.353 89.148v-56.621zM493.929 88.847v-120.471h120.471v240.941h-120.471v-120.471z" />
|
83 |
+
<glyph unicode="" glyph-name="star-half" horiz-adv-x="1152" d="M576 896c-22.8 0-45.6-11.8-57.4-35.6l-130.6-264.8-292.2-42.4c-52.4-7.6-73.4-72.2-35.4-109.2l211.4-206-50-291c-9-52.2 46-92 92.8-67.4l261.4 137.2v879.2z" />
|
84 |
+
<glyph unicode="" glyph-name="undo2" d="M761.862-128c113.726 206.032 132.888 520.306-313.862 509.824v-253.824l-384 384 384 384v-248.372c534.962 13.942 594.57-472.214 313.862-775.628z" />
|
85 |
+
<glyph unicode="" glyph-name="redo2" d="M576 647.628v248.372l384-384-384-384v253.824c-446.75 10.482-427.588-303.792-313.86-509.824-280.712 303.414-221.1 789.57 313.86 775.628z" />
|
86 |
<glyph unicode="" glyph-name="spinner9" d="M512 896c-278.748 0-505.458-222.762-511.848-499.974 5.92 241.864 189.832 435.974 415.848 435.974 229.75 0 416-200.576 416-448 0-53.020 42.98-96 96-96s96 42.98 96 96c0 282.77-229.23 512-512 512zM512-128c278.748 0 505.458 222.762 511.848 499.974-5.92-241.864-189.832-435.974-415.848-435.974-229.75 0-416 200.576-416 448 0 53.020-42.98 96-96 96s-96-42.98-96-96c0-282.77 229.23-512 512-512z" />
|
87 |
<glyph unicode="" glyph-name="search" d="M1017-41.801c9.4-9.398 9.4-24.6 0-34l-45.199-45.199c-9.4-9.4-24.602-9.4-34 0l-242.8 242.8c-4.4 4.6-7 10.6-7 17v26.398c-73-63-168-101.199-272-101.199-229.8 0-416 186.199-416 416s186.199 416 416 416 416-186.199 416-416c0-104-38.199-199-101.199-272h26.398c6.4 0 12.4-2.4 17-7zM416 160c176.801 0 320 143.199 320 320s-143.199 320-320 320-320-143.199-320-320 143.199-320 320-320z" />
|
88 |
<glyph unicode="" glyph-name="search-full" d="M1010 10.6c18.6-18.799 18.6-49.199-0.199-68l-56.602-56.6c-18.6-18.801-49-18.801-67.799 0l-199.4 199.4c-9 9-14 21.199-14 34v32.6c-70.6-55.199-159.4-88-256-88-229.8 0-416 186.199-416 416s186.199 416 416 416 416-186.199 416-416c0-96.6-32.801-185.4-88-256h32.6c12.801 0 25-5 34-14zM416 224c141.6 0 256 114.6 256 256 0 141.6-114.6 256-256 256-141.6 0-256-114.6-256-256 0-141.6 114.6-256 256-256z" />
|
119 |
<glyph unicode="" glyph-name="outdent" horiz-adv-x="896" d="M201.38 169.42l-192 191.961c-5.17 5.172-9.365 15.307-9.365 22.619s4.195 17.447 9.365 22.619l192 192c19.959 20 54.619 6.021 54.619-22.619v-383.96c0-28.479-34.619-42.619-54.619-22.619zM864 48c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-832c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h832zM870.34 304c14.154 0 25.66-11.486 25.66-25.641v-44.719c0-14.154-11.486-25.641-25.641-25.641h-460.719c-14.154 0-25.641 11.486-25.641 25.641v44.719c0 14.154 11.486 25.641 25.641 25.641h460.7zM864 816c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-832c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h832zM870.34 560c14.154 0 25.66-11.486 25.66-25.641v-44.719c0-14.154-11.486-25.641-25.641-25.641h-460.719c-14.154 0-25.641 11.486-25.641 25.641v44.719c0 14.154 11.486 25.641 25.641 25.641h460.7z" />
|
120 |
<glyph unicode="" glyph-name="indent" horiz-adv-x="896" d="M864 48c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-832c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h832zM54.619 169.4c-19.959-20-54.619-6.020-54.619 22.6v384c0 28.439 34.539 42.68 54.619 22.641l192-192c5.17-5.174 9.365-15.307 9.365-22.621s-4.195-17.447-9.365-22.619zM870.34 560c14.154 0 25.66-11.486 25.66-25.641v-44.719c0-14.154-11.486-25.641-25.641-25.641h-460.719c-14.154 0-25.641 11.486-25.641 25.641v44.719c0 14.154 11.486 25.641 25.641 25.641h460.7zM864 800c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-832c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h832zM870.34 304c14.154 0 25.66-11.486 25.66-25.641v-44.719c0-14.154-11.486-25.641-25.641-25.641h-460.719c-14.154 0-25.641 11.486-25.641 25.641v44.719c0 14.154 11.486 25.641 25.641 25.641h460.7z" />
|
121 |
<glyph unicode="" glyph-name="image" d="M928 768c53.020 0 96-42.98 96-96v-576c0-53.020-42.98-96-96-96h-832c-53.020 0-96 42.98-96 96v576c0 53.020 42.98 96 96 96h832zM916 96c6.623 0 12 5.377 12 12v552c0 6.623-5.377 12-12 12h-808c-6.623 0-12-5.377-12-12v-552c0-6.623 5.377-12 12-12h808zM256 592c44.182 0 80-35.818 80-80s-35.818-80-80-80-80 35.818-80 80 35.818 80 80 80zM192 192v96l79.027 79.029c9.375 9.373 24.57 9.373 33.943 0l79.029-79.029 239.028 239.030c9.375 9.373 24.57 9.373 33.943 0l175.029-175.029v-160h-640z" />
|
122 |
+
<glyph unicode="" glyph-name="tint" horiz-adv-x="704" d="M410.44 851.82c93.98-316.96 293.56-400.14 293.56-623.64 0-196.879-157.439-356.18-352-356.18s-352 159.301-352 356.18c0 222.38 200.020 308.122 293.56 623.64 18 60.24 101 57.561 116.879 0zM352 0c17.68 0 32 14.32 32 32s-14.32 32-32 32c-88.221 0-160 71.779-160 160 0 17.68-14.32 32-32 32s-32-14.32-32-32c0-123.5 100.5-224 224-224z" />
|
123 |
<glyph unicode="" glyph-name="step-backward" horiz-adv-x="896" d="M128-40v848c0 13.199 10.801 24 24 24h96c13.199 0 24-10.801 24-24v-352.8l391 362c41.199 34.201 105 5.602 105-49.199v-768c0-54.801-63.801-83.4-105-49.199l-391 359.798v-350.6c0-13.199-10.801-24-24-24h-96c-13.199 0-24 10.801-24 24z" />
|
124 |
<glyph unicode="" glyph-name="play" horiz-adv-x="896" d="M848.8 466.6c63-37 62.799-128.199 0-165.199l-704-416c-63.4-37.6-144.801 7.6-144.801 82.6v832.2c0 83.602 87.6 116.4 144.801 82.602z" />
|
125 |
<glyph unicode="" glyph-name="stop-thin" horiz-adv-x="896" d="M800 832c53 0 96-43 96-96v-704c0-53-43-96-96-96h-704c-53 0-96 43-96 96v704c0 53 43 96 96 96h704zM832 32v704c0 17.6-14.4 32-32 32h-704c-17.6 0-32-14.4-32-32v-704c0-17.6 14.4-32 32-32h704c17.6 0 32 14.4 32 32z" />
|
284 |
<glyph unicode="" glyph-name="hashtag" horiz-adv-x="896" d="M887.048 515.782c-1.951-10.918-12.535-19.781-23.627-19.781h-186.662l-40-224h178.090c14.943 0 26.252-13.508 23.627-28.219l-8.572-48c-1.949-10.918-12.535-19.781-23.627-19.781h-186.662l-39.326-220.218c-1.949-10.918-12.533-19.781-23.625-19.781h-48.76c-14.941 0-26.252 13.508-23.627 28.219l37.818 211.782h-222.48l-39.322-220.218c-1.951-10.918-12.535-19.781-23.627-19.781h-48.76c-14.943 0-26.254 13.508-23.629 28.219l37.818 211.782h-178.090c-14.941 0-26.252 13.508-23.625 28.219l8.57 48c1.951 10.918 12.535 19.781 23.627 19.781h186.662l40 224h-178.090c-14.945 0-26.254 13.508-23.629 28.219l8.572 48c1.949 10.918 12.533 19.781 23.627 19.781h186.664l39.326 220.22c1.949 10.918 12.533 19.779 23.625 19.779h48.76c14.941 0 26.252-13.51 23.627-28.221l-37.818-211.78h222.48l39.326 220.22c1.949 10.918 12.533 19.779 23.625 19.779h48.76c14.941 0 26.252-13.51 23.627-28.221l-37.818-211.78h178.090c14.941 0 26.252-13.508 23.625-28.219zM539.24 272l40 224h-222.48l-40-224h222.48z" />
|
285 |
<glyph unicode="" glyph-name="percent" horiz-adv-x="768" d="M192 448c-106 0-192 86-192 192s86 192 192 192 192-86 192-192-86-192-192-192zM192 736c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zM576 320c106 0 192-86 192-192s-86-192-192-192-192 86-192 192 86 192 192 192zM576 32c53 0 96 43 96 96s-43 96-96 96-96-43-96-96 43-96 96-96zM763.8 794.4l-649.4-848.4c-4.6-6.199-11.801-10-19.4-10h-71c-19.199 0-30.6 21.4-20 37.4l650.4 848.6c4.6 6.199 11.799 10 19.4 10h70.199c19.199 0 30.6-21.6 19.801-37.6z" />
|
286 |
<glyph unicode="" glyph-name="times-square" horiz-adv-x="896" d="M800 832c53 0 96-43 96-96v-704c0-53-43-96-96-96h-704c-53 0-96 43-96 96v704c0 53 43 96 96 96h704zM691.2 253.8l-131.199 130.199 131.4 130c9.4 9.4 9.4 24.6 0 34l-79.201 79.199c-9.398 9.4-24.6 9.4-34 0l-130.199-131.199-130 131.4c-9.4 9.4-24.6 9.4-34 0l-79.199-79.201c-9.4-9.398-9.4-24.6 0-34l131.199-130.199-131.199-130c-9.4-9.4-9.4-24.6 0-34l79-79.199c9.398-9.4 24.6-9.4 34 0l130.199 131.199 130-131.199c9.4-9.4 24.6-9.4 34 0l79.199 79c9.4 9.398 9.4 24.6 0 34z" />
|
287 |
+
<glyph unicode="" glyph-name="undo-alt" d="M56.971 839.030l104.33-104.33c89.75 89.768 213.728 145.301 350.698 145.301 273.322 0 496.202-223.050 496.002-496.37-0.199-273.766-222.19-495.63-496-495.63-127.852 0-244.404 48.373-332.356 127.816-10.227 9.236-10.707 25.121-0.965 34.865l39.477 39.477c8.996 8.996 23.506 9.57 33.002 1.104 69.268-61.754 160.631-99.262 260.842-99.262 216.642 0 392 175.324 392 392 0 216.642-175.324 392-392 392-108.326 0-206.314-43.846-277.228-114.771l108.256-108.258c15.121-15.121 4.412-40.971-16.969-40.971h-286.058c-13.254 0-24 10.746-24 24v286.058c0 21.381 25.852 32.090 40.971 16.971z" />
|
288 |
<glyph unicode="" glyph-name="trash-alt" horiz-adv-x="896" d="M64-32v672h768v-672c0-52.992-43.008-96-96-96h-576c-52.992 0-96 43.008-96 96zM608 480v-448c0-17.664 14.336-32 32-32s32 14.336 32 32v448c0 17.664-14.336 32-32 32s-32-14.336-32-32zM416 480v-448c0-17.664 14.336-32 32-32s32 14.336 32 32v448c0 17.664-14.336 32-32 32s-32-14.336-32-32zM224 480v-448c0-17.664 14.336-32 32-32s32 14.336 32 32v448c0 17.664-14.336 32-32 32s-32-14.336-32-32zM864 832c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32h-832c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h240l18.801 37.4c7.18 14.684 26.271 26.6 42.617 26.6h228.817c16.404 0 35.652-11.916 42.965-26.6l18.801-37.4h240z" />
|
289 |
<glyph unicode="" glyph-name="question-square" horiz-adv-x="896" d="M800 832c53.020 0 96-42.98 96-96v-704c0-53.020-42.98-96-96-96h-704c-53.020 0-96 42.98-96 96v704c0 53.020 42.98 96 96 96h704zM448 36c50.73 0 92 41.271 92 92s-41.27 92-92 92-92-41.27-92-92c0-50.729 41.27-92 92-92zM528 298.666c0 56.924 166.371 59.295 166.371 213.334 0 116.004-120.328 204-233.060 204-108.994 0-178.51-45.914-233.098-127.514-7.072-10.572-4.707-24.83 5.43-32.516l69.396-52.621c10.41-7.895 25.24-6.016 33.33 4.244 35.73 45.316 60.227 71.594 114.607 71.594 40.857 0 91.395-26.295 91.395-65.916 0-29.951-24.725-45.334-65.066-67.951-47.049-26.377-109.305-59.203-109.305-141.32v-8c0-13.254 10.746-24 24-24h112c13.254 0 24 10.746 24 24v2.666z" />
|
290 |
<glyph unicode="" glyph-name="pen" d="M581.48 709.52l256.040-256.040-555.98-555.98-228.28-25.199c-30.561-3.381-56.379 22.459-52.98 53.020l25.4 228.44zM995.88 747.64c37.5-37.5 37.5-98.301 0-135.82l-113.102-113.1-256.040 256.040 113.1 113.1c37.5 37.5 98.32 37.5 135.82 0z" />
|
330 |
<glyph unicode="" glyph-name="sort-alpha-down-alt" horiz-adv-x="896" d="M352 192c28.439 0 42.699-34.52 22.66-54.619l-160-192c-5.174-5.17-15.307-9.365-22.621-9.365-7.313 0-17.445 4.195-22.619 9.365l-160 192c-20.141 20.139-5.801 54.619 22.58 54.619h96v608c0 17.664 14.336 32 32 32h64c17.664 0 32-14.336 32-32v-608h96zM576 448c-17.664 0-32 14.336-32 32v35.266c0 15.865 9.623 37.295 21.48 47.834l122.52 140.9h-112c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h256c17.664 0 32-14.336 32-32v-35.266c0-15.865-9.623-37.295-21.48-47.834l-122.52-140.9h112c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32h-256zM894.12-21.24c1.029-2.881 1.863-7.701 1.863-10.76 0-17.654-14.328-31.99-31.982-32h-49.769c-12.855 0-26.498 9.928-30.451 22.16l-8.818 25.84h-142l-8.842-25.84c-3.951-12.232-17.594-22.16-30.449-22.16h-49.67c-17.654 0.010-31.982 14.346-31.982 32 0 3.059 0.834 7.879 1.863 10.76l118.539 320c4.186 11.725 17.688 21.24 30.137 21.24h82.887c12.449 0 25.951-9.516 30.137-21.24zM671.22 96h65.559l-32.779 96z" />
|
331 |
<glyph unicode="" glyph-name="function-reg" horiz-adv-x="1280" d="M448 800v-32c0-17.68-14.32-32-32-32h-96c-44.18 0-80-35.82-80-80v-96h112c17.68 0 32-14.32 32-32v-32c0-17.68-14.32-32-32-32h-112v-288c0-97.199-78.801-176-176-176h-32c-17.68 0-32 14.32-32 32v32c0 17.68 14.32 32 32 32h32c44.18 0 80 35.82 80 80v288h-112c-17.68 0-32 14.32-32 32v32c0 17.68 14.32 32 32 32h112v96c0 97.199 78.801 176 176 176h96c17.68 0 32-14.32 32-32zM634.86 678.16c13.66-10.279 16.16-29.061 6.561-43.16-63.020-92.48-97.42-203.18-97.42-315 0-111.84 34.4-222.54 97.42-314.98 9.619-14.1 7.119-32.9-6.561-43.18l-25.6-19.26c-14.439-10.881-35.619-8.041-45.84 6.82-74.641 108.561-115.42 238.9-115.42 370.6 0 131.66 40.779 262 115.42 370.6 10.221 14.84 31.4 17.701 45.84 6.82zM1164.58 690.6c74.641-108.561 115.42-238.9 115.42-370.6 0-131.66-40.779-262-115.42-370.62-10.221-14.861-31.4-17.701-45.84-6.82l-25.6 19.26c-13.66 10.299-16.16 29.080-6.561 43.18 63.020 92.48 97.42 203.18 97.42 315 0 111.84-34.4 222.54-97.42 314.98-9.619 14.1-7.119 32.9 6.561 43.18l25.6 19.26c14.439 10.881 35.619 8.041 45.84-6.82zM1014.9 448.92c12.139-12.141 12.139-31.84-0.020-43.98l-84.941-84.939 84.941-84.939c12.139-12.141 12.139-31.82 0-43.961l-21.98-21.98c-12.141-12.139-31.82-12.139-43.961 0l-84.939 84.941-84.939-84.941c-12.141-12.139-31.82-12.139-43.961 0l-21.98 21.98c-12.139 12.141-12.139 31.82 0 43.961l84.941 84.939-84.941 84.939c-12.139 12.141-12.139 31.82 0 43.961l21.98 21.98c12.141 12.139 31.82 12.139 43.961 0l84.939-84.941 84.961 84.961c12.139 12.139 31.818 12.139 43.959 0z" />
|
332 |
<glyph unicode="" glyph-name="file-csv" horiz-adv-x="768" d="M739.66 700.040c18-18 28.34-42.6 28.34-67.979v-664.080c0-52.98-43.141-95.98-96.141-95.98h-575.878c-52.98 0-95.98 43-95.98 95.98v831.84c0 52.98 43 95.98 95.98 96.18h408.12c25.381 0 49.781-10.199 67.781-28.199zM511.9 792.020v-152.16h152.18zM672-32.020v575.9h-208.080c-26.6 0-48 21.379-48 47.979v207.96h-319.94v-831.84h576.020zM448 368c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-41.6c0-40.541 11.4-80.361 32-113.76 20.6 33.42 32 73.219 32 113.76v41.6c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-41.6c0-70.961-25.74-137.781-72.561-188.18-6.039-6.5-14.539-10.221-23.439-10.221s-17.4 3.721-23.439 10.221c-46.801 50.398-72.561 117.219-72.561 188.18v41.6zM240 384c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16c-17.68 0-32-14.32-32-32v-64c0-17.68 14.32-32 32-32h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16c-53.020 0-96 42.98-96 96v64c0 53.020 42.98 96 96 96h16zM358.9 299.060l43.799-37.541c16.941-14.439 26.66-34.959 26.66-56.279 0-42.58-38.039-77.24-84.82-77.24h-24.539c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h24.5c11.92 0 20.82 7 20.82 13.24 0 2.58-1.48 5.299-4.24 7.68l-43.779 37.541c-16.941 14.439-26.66 34.959-26.66 56.279 0 42.58 38.039 77.24 84.82 77.24h24.539c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-24.52c-11.92 0-20.82-7-20.82-13.24 0-2.58 1.48-5.301 4.24-7.68z" />
|
333 |
+
<glyph unicode="" glyph-name="brackets" horiz-adv-x="896" d="M256 832c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-160v-704h160c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-192c-35.328 0-64 28.672-64 64v768c0 35.328 28.672 64 64 64h192zM832 832c35.328 0 64-28.672 64-64v-768c0-35.328-28.672-64-64-64h-192c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h160v704h-160c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h192z" />
|
334 |
+
<glyph unicode="" glyph-name="brackets1" horiz-adv-x="896" d="M288 832c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32h-160v-640h160c17.664 0 32-14.336 32-32v-64c0-17.664-14.336-32-32-32h-224c-35.328 0-64 28.672-64 64v768c0 35.328 28.672 64 64 64h224zM832 832c35.328 0 64-28.672 64-64v-768c0-35.328-28.672-64-64-64h-224c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h160v640h-160c-17.664 0-32 14.336-32 32v64c0 17.664 14.336 32 32 32h224z" />
|
335 |
<glyph unicode="" glyph-name="line-columns" d="M992 48c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM992 304c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM992 560c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM992 816c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM416 304c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM416 48c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM416 816c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384zM416 560c17.664 0 32-14.336 32-32v-32c0-17.664-14.336-32-32-32h-384c-17.664 0-32 14.336-32 32v32c0 17.664 14.336 32 32 32h384z" />
|
336 |
<glyph unicode="" glyph-name="sort-alt" horiz-adv-x="768" d="M352 192c28.439 0 42.699-34.52 22.66-54.619l-160-192c-5.174-5.17-15.307-9.365-22.621-9.365-7.313 0-17.445 4.195-22.619 9.365l-160 192c-20.141 20.139-5.801 54.619 22.58 54.619h96v608c0 17.664 14.336 32 32 32h64c17.664 0 32-14.336 32-32v-608h96zM758.58 630.62c20.141-20.139 5.801-54.619-22.58-54.619h-96v-608c0-17.664-14.336-32-32-32h-64c-17.664 0-32 14.336-32 32v608h-96c-28.439 0-42.699 34.52-22.66 54.619l160 192c5.174 5.17 15.307 9.365 22.621 9.365s17.445-4.195 22.619-9.365z" />
|
337 |
<glyph unicode="🔍" glyph-name="search2" horiz-adv-x="950" d="M658.432 420.864q0 105.472-74.752 180.224t-181.248 75.776-181.248-75.776-74.752-180.224 74.752-181.248 181.248-74.752 181.248 74.752 74.752 181.248zM951.296-55.296q0-29.696-22.528-51.2t-51.2-21.504q-30.72 0-51.2 21.504l-195.584 195.584q-102.4-70.656-228.352-70.656-81.92 0-156.672 31.744t-128 86.016-86.016 128-31.744 156.672 31.744 155.648 86.016 129.024 128 86.016 156.672 31.744 156.672-31.744 128-86.016 86.016-129.024 31.744-155.648q0-125.952-70.656-228.352l195.584-195.584q21.504-21.504 21.504-52.224z" />
|
assets/fonts/wpDataTablesIcons.ttf
CHANGED
Binary file
|
assets/fonts/wpDataTablesIcons.woff
CHANGED
Binary file
|
assets/img/constructor/create-simple-table.png
ADDED
Binary file
|
assets/img/constructor/create-simple-table.svg
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<rect width="64" height="64" fill="white"/>
|
3 |
+
<path d="M7.37476 12.2258C7.37476 11.1213 8.27019 10.2258 9.37476 10.2258H28C29.1046 10.2258 30 11.1213 30 12.2258V16.1129C30 17.2175 29.1046 18.1129 28 18.1129H9.37475C8.27019 18.1129 7.37476 17.2175 7.37476 16.1129V12.2258Z" fill="#BDE1FF"/>
|
4 |
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.57477 12.2258C6.57477 10.6794 7.82837 9.42583 9.37477 9.42583H28C29.5464 9.42583 30.8 10.6794 30.8 12.2258V16.1129C30.8 17.6593 29.5464 18.9129 28 18.9129H9.37477C7.82837 18.9129 6.57477 17.6593 6.57477 16.1129V12.2258ZM9.37477 11.0258C8.71203 11.0258 8.17477 11.5631 8.17477 12.2258V16.1129C8.17477 16.7757 8.71203 17.3129 9.37477 17.3129H28C28.6627 17.3129 29.2 16.7757 29.2 16.1129V12.2258C29.2 11.5631 28.6627 11.0258 28 11.0258H9.37477Z" fill="#091E6F"/>
|
5 |
+
<path d="M36.2104 13.0445C36.2104 12.0368 36.2104 12.5555 36.2104 12.4182C36.2104 11.7864 37.6824 10.6952 38.9269 10.6H37.7493C36.0498 10.6 34.6715 10.9214 34.6715 11.3176V17.3953C34.6715 17.7916 36.0498 18.1129 37.7493 18.1129H38.9269C37.6824 18.0178 36.2104 16.7092 36.2104 16.0774C36.2104 15.9417 36.2104 15.9445 36.2104 14.9383C36.2104 14.0055 36.2104 13.1163 36.2104 13.0445Z" fill="#BDE1FF"/>
|
6 |
+
<path d="M36.2104 24.7445C36.2104 23.7368 36.2104 24.2555 36.2104 24.1182C36.2104 23.4864 37.6824 22.3952 38.9269 22.3H37.7493C36.0498 22.3 34.6715 22.6214 34.6715 23.0176V29.0953C34.6715 29.4915 36.0498 29.8129 37.7493 29.8129H38.9269C37.6824 29.7177 36.2104 28.4092 36.2104 27.7774C36.2104 27.6416 36.2104 27.6445 36.2104 26.6383C36.2104 25.7055 36.2104 24.8163 36.2104 24.7445Z" fill="#BDE1FF"/>
|
7 |
+
<path d="M9.61604 48.5187C9.61604 47.511 9.61604 48.0297 9.61604 47.8924C9.61604 47.2606 11.088 46.1694 12.3325 46.0742H11.1549C9.45547 46.0742 8.07715 46.3956 8.07715 46.7918V52.8695C8.07715 53.2657 9.45547 53.5871 11.1549 53.5871H12.3325C11.088 53.4919 9.61604 52.1834 9.61604 51.5516C9.61604 51.4158 9.61604 51.4187 9.61604 50.4125C9.61604 49.4797 9.61604 48.5905 9.61604 48.5187Z" fill="#BDE1FF"/>
|
8 |
+
<path d="M9.61604 36.8187C9.61604 35.811 9.61604 36.3297 9.61604 36.1924C9.61604 35.5606 11.088 34.4694 12.3325 34.3742H11.1549C9.45547 34.3742 8.07715 34.6956 8.07715 35.0918V41.1695C8.07715 41.5657 9.45547 41.8871 11.1549 41.8871H12.3325C11.088 41.7919 9.61604 40.4833 9.61604 39.8515C9.61604 39.7158 9.61604 39.7187 9.61604 38.7125C9.61604 37.7796 9.61604 36.8905 9.61604 36.8187Z" fill="#BDE1FF"/>
|
9 |
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.57477 24.1129C6.57477 22.5665 7.82837 21.3129 9.37477 21.3129H28C29.5464 21.3129 30.8 22.5665 30.8 24.1129V28C30.8 29.5464 29.5464 30.8 28 30.8H9.37477C7.82837 30.8 6.57477 29.5464 6.57477 28V24.1129ZM9.37477 22.9129C8.71203 22.9129 8.17477 23.4502 8.17477 24.1129V28C8.17477 28.6627 8.71203 29.2 9.37477 29.2H28C28.6627 29.2 29.2 28.6627 29.2 28V24.1129C29.2 23.4502 28.6627 22.9129 28 22.9129H9.37477Z" fill="#008CFF"/>
|
10 |
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.57477 36C6.57477 34.4536 7.82837 33.2 9.37477 33.2H28C29.5464 33.2 30.8 34.4536 30.8 36V39.8871C30.8 41.4335 29.5464 42.6871 28 42.6871H9.37477C7.82837 42.6871 6.57477 41.4335 6.57477 39.8871V36ZM9.37477 34.8C8.71203 34.8 8.17477 35.3373 8.17477 36V39.8871C8.17477 40.5498 8.71203 41.0871 9.37477 41.0871H28C28.6627 41.0871 29.2 40.5498 29.2 39.8871V36C29.2 35.3373 28.6627 34.8 28 34.8H9.37477Z" fill="#091E6F"/>
|
11 |
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.57477 47.8871C6.57477 46.3407 7.82837 45.0871 9.37477 45.0871H54.6252C56.1716 45.0871 57.4252 46.3407 57.4252 47.8871V51.7742C57.4252 53.3206 56.1716 54.5742 54.6252 54.5742H9.37477C7.82837 54.5742 6.57477 53.3206 6.57477 51.7742V47.8871ZM9.37477 46.6871C8.71203 46.6871 8.17477 47.2243 8.17477 47.8871V51.7742C8.17477 52.4369 8.71203 52.9742 9.37477 52.9742H54.6252C55.288 52.9742 55.8252 52.4369 55.8252 51.7742V47.8871C55.8252 47.2243 55.288 46.6871 54.6252 46.6871H9.37477Z" fill="#091E6F"/>
|
12 |
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M33.2 12.2258C33.2 10.6794 34.4536 9.42583 36 9.42583H54.6252C56.1716 9.42583 57.4252 10.6794 57.4252 12.2258V16.1129C57.4252 17.6593 56.1716 18.9129 54.6252 18.9129H36C34.4536 18.9129 33.2 17.6593 33.2 16.1129V12.2258ZM36 11.0258C35.3373 11.0258 34.8 11.5631 34.8 12.2258V16.1129C34.8 16.7757 35.3373 17.3129 36 17.3129H54.6252C55.288 17.3129 55.8252 16.7757 55.8252 16.1129V12.2258C55.8252 11.5631 55.288 11.0258 54.6252 11.0258H36Z" fill="#091E6F"/>
|
13 |
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M33.2 24.1129C33.2 22.5665 34.4536 21.3129 36 21.3129H54.6252C56.1716 21.3129 57.4252 22.5665 57.4252 24.1129V28C57.4252 29.5464 56.1716 30.8 54.6252 30.8H36C34.4536 30.8 33.2 29.5464 33.2 28V24.1129ZM36 22.9129C35.3373 22.9129 34.8 23.4502 34.8 24.1129V28C34.8 28.6627 35.3373 29.2 36 29.2H54.6252C55.288 29.2 55.8252 28.6627 55.8252 28V24.1129C55.8252 23.4502 55.288 22.9129 54.6252 22.9129H36Z" fill="#091E6F"/>
|
14 |
+
<path d="M34 36C34 34.8954 34.8954 34 36 34H54.6252C55.7298 34 56.6252 34.8954 56.6252 36V39.8871C56.6252 40.9917 55.7298 41.8871 54.6252 41.8871H36C34.8954 41.8871 34 40.9917 34 39.8871V36Z" fill="#BDE1FF"/>
|
15 |
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M33.2 36C33.2 34.4536 34.4536 33.2 36 33.2H54.6252C56.1716 33.2 57.4252 34.4536 57.4252 36V39.8871C57.4252 41.4335 56.1716 42.6871 54.6252 42.6871H36C34.4536 42.6871 33.2 41.4335 33.2 39.8871V36ZM36 34.8C35.3373 34.8 34.8 35.3373 34.8 36V39.8871C34.8 40.5498 35.3373 41.0871 36 41.0871H54.6252C55.288 41.0871 55.8252 40.5498 55.8252 39.8871V36C55.8252 35.3373 55.288 34.8 54.6252 34.8H36Z" fill="#091E6F"/>
|
16 |
+
<rect x="9.37195" y="24.171" width="14.8557" height="3.57151" rx="1.78576" fill="#008CFF"/>
|
17 |
+
<rect x="9.37195" y="36.4435" width="8.97256" height="3" rx="1.5" fill="#091E6F"/>
|
18 |
+
<rect x="10.2048" y="48.3306" width="17.1972" height="3" rx="1.5" fill="#091E6F"/>
|
19 |
+
<rect x="28.7808" y="48.3306" width="10.4385" height="3" rx="1.5" fill="#091E6F"/>
|
20 |
+
</svg>
|
assets/js/bootstrap/bootstrap-tour/bootstrap-tour-guide.js
CHANGED
@@ -1,7 +1,8 @@
|
|
1 |
(function ($) {
|
2 |
$(function () {
|
3 |
-
var $demo1, $demo2, tour1, tour2, invalidStep = -1;
|
4 |
|
|
|
5 |
$demo1 = $("#wdt-tutorial-data-source");
|
6 |
$demo2 = $("#wdt-tutorial-create-charts");
|
7 |
|
@@ -77,6 +78,276 @@
|
|
77 |
}
|
78 |
}
|
79 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
tour1 = new Tour({
|
82 |
name: "create-table-data-source",
|
@@ -104,8 +375,8 @@
|
|
104 |
}, {
|
105 |
// step 2
|
106 |
path: document.location.pathname + "?page=wpdatatables-constructor",
|
107 |
-
element: ".wdt-first-row .wdt-constructor-type-selecter-block:nth-child(
|
108 |
-
placement: "
|
109 |
title: wpdtTutorialStrings.tour1.step2.title,
|
110 |
content: wpdtTutorialStrings.tour1.step2.content,
|
111 |
reflex: true,
|
@@ -309,12 +580,14 @@
|
|
309 |
|
310 |
},
|
311 |
onStart: function () {
|
|
|
312 |
$demo1.addClass("disabled");
|
313 |
$demo2.addClass("disabled");
|
314 |
},
|
315 |
onEnd: function () {
|
316 |
window.localStorage.removeItem('create-table-data-source_current_step');
|
317 |
window.localStorage.removeItem('create-table-data-source_redirect_to');
|
|
|
318 |
$demo1.removeClass("disabled");
|
319 |
$demo2.removeClass("disabled");
|
320 |
$('.wdt-constructor-type-selecter-block .card:not([data-value="source"])').removeClass('disabled');
|
@@ -833,17 +1106,27 @@
|
|
833 |
|
834 |
},
|
835 |
onStart: function () {
|
|
|
836 |
$demo1.addClass("disabled");
|
837 |
$demo2.addClass("disabled");
|
838 |
},
|
839 |
onEnd: function () {
|
840 |
window.localStorage.removeItem('create-chart_current_step');
|
841 |
window.localStorage.removeItem('create-chart_redirect_to');
|
|
|
842 |
$demo1.removeClass("disabled");
|
843 |
$demo2.removeClass("disabled");
|
844 |
}
|
845 |
}).init();
|
846 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
847 |
$(document).on("click", "#wdt-tutorial-data-source", function (e) {
|
848 |
e.preventDefault();
|
849 |
if ($(this).hasClass("disabled")) {
|
@@ -865,10 +1148,14 @@
|
|
865 |
window.location.href.includes('wpdatatables-chart-wizard')) &&
|
866 |
(localStorage.getItem("create-table-data-source_redirect_to") !== null ||
|
867 |
localStorage.getItem("create-table-data-source_current_step") !== null ||
|
|
|
|
|
868 |
localStorage.getItem("create-chart_redirect_to") !== null ||
|
869 |
localStorage.getItem("create-chart_current_step") !== null)){
|
870 |
window.localStorage.removeItem('create-table-data-source_current_step');
|
871 |
window.localStorage.removeItem('create-table-data-source_redirect_to');
|
|
|
|
|
872 |
window.localStorage.removeItem('create-chart_current_step');
|
873 |
window.localStorage.removeItem('create-chart_redirect_to');
|
874 |
}
|
1 |
(function ($) {
|
2 |
$(function () {
|
3 |
+
var $demo0, $demo1, $demo2, tour0, tour1, tour2, invalidStep = -1;
|
4 |
|
5 |
+
$demo0 = $("#wdt-tutorial-simple-table");
|
6 |
$demo1 = $("#wdt-tutorial-data-source");
|
7 |
$demo2 = $("#wdt-tutorial-create-charts");
|
8 |
|
78 |
}
|
79 |
}
|
80 |
|
81 |
+
tour0 = new Tour({
|
82 |
+
name: "create-simple-table",
|
83 |
+
keyboard: false,
|
84 |
+
steps: [
|
85 |
+
{
|
86 |
+
// step 0
|
87 |
+
orphan: true,
|
88 |
+
placement: "bottom",
|
89 |
+
title: wpdtTutorialStrings.tour0.step0.title,
|
90 |
+
content: wpdtTutorialStrings.tour0.step0.content,
|
91 |
+
}, {
|
92 |
+
// step 1
|
93 |
+
element: "#toplevel_page_wpdatatables-dashboard ul li:nth-child(4) a",
|
94 |
+
placement: "right",
|
95 |
+
reflex: true,
|
96 |
+
title: wpdtTutorialStrings.tour0.step1.title,
|
97 |
+
content: wpdtTutorialStrings.tour0.step1.content,
|
98 |
+
onShown: function () {
|
99 |
+
$('#toplevel_page_wpdatatables-dashboard ul li:nth-child(4) a').css("background-color", "#F88F20");
|
100 |
+
},
|
101 |
+
onHidden: function () {
|
102 |
+
$('#toplevel_page_wpdatatables-dashboard ul li:nth-child(4) a').css("background-color", "inherit");
|
103 |
+
}
|
104 |
+
}, {
|
105 |
+
// step 2
|
106 |
+
path: document.location.pathname + "?page=wpdatatables-constructor",
|
107 |
+
element: ".wdt-first-row .wdt-constructor-type-selecter-block:nth-child(1) .card",
|
108 |
+
placement: "right",
|
109 |
+
title: wpdtTutorialStrings.tour0.step2.title,
|
110 |
+
content: wpdtTutorialStrings.tour0.step2.content,
|
111 |
+
reflex: true,
|
112 |
+
backdrop: true,
|
113 |
+
backdropContainer: 'body',
|
114 |
+
backdropPadding: 5,
|
115 |
+
onShown: function () {
|
116 |
+
$('.tour-step-background').css("background-color", "rgba(248, 143, 32, 0.5)");
|
117 |
+
$('.wdt-constructor-type-selecter-block .card:not([data-value="simple"])').addClass('disabled');
|
118 |
+
window.localStorage.removeItem('create-simple-table_redirect_to');
|
119 |
+
},
|
120 |
+
onHidden: function () {
|
121 |
+
$('.tour-step-background').css("background-color", "inherit");
|
122 |
+
}
|
123 |
+
}, {
|
124 |
+
// step 3
|
125 |
+
element: "#wdt-constructor-next-step",
|
126 |
+
placement: "left",
|
127 |
+
title: wpdtTutorialStrings.tour0.step3.title,
|
128 |
+
content: wpdtTutorialStrings.tour0.step3.content,
|
129 |
+
reflex: true,
|
130 |
+
backdrop: true,
|
131 |
+
backdropPadding: 5,
|
132 |
+
duration: 3000,
|
133 |
+
onShown: function () {
|
134 |
+
$('.tour-step-background').css("background-color", "rgba(248, 143, 32, 0.5)");
|
135 |
+
},
|
136 |
+
onHidden: function () {
|
137 |
+
$('.tour-step-background').css("background-color", "inherit");
|
138 |
+
$('.wdt-constructor-type-selecter-block .card:not([data-value="simple"])').addClass('disabled');
|
139 |
+
},
|
140 |
+
onNext: function () {
|
141 |
+
$('#wdt-constructor-next-step').click();
|
142 |
+
}
|
143 |
+
}, {
|
144 |
+
// step 4
|
145 |
+
orphan: true,
|
146 |
+
placement: "bottom",
|
147 |
+
title: wpdtTutorialStrings.tour0.step4.title,
|
148 |
+
content: wpdtTutorialStrings.tour0.step4.content,
|
149 |
+
}, {
|
150 |
+
// step 5
|
151 |
+
element: "#wdt-constructor-simple-table-name",
|
152 |
+
placement: "bottom",
|
153 |
+
title: wpdtTutorialStrings.tour0.step5.title,
|
154 |
+
content: wpdtTutorialStrings.tour0.step5.content,
|
155 |
+
onShown: function () {
|
156 |
+
$('.tour-step-background').css("background-color", "rgba(248, 143, 32, 0.5)");
|
157 |
+
},
|
158 |
+
onHidden: function () {
|
159 |
+
$('.tour-step-background').css("background-color", "inherit");
|
160 |
+
}
|
161 |
+
}, {
|
162 |
+
// step 6
|
163 |
+
element: "#wdt-simple-table-number-of-columns",
|
164 |
+
placement: "bottom",
|
165 |
+
title: wpdtTutorialStrings.tour0.step6.title,
|
166 |
+
content: wpdtTutorialStrings.tour0.step6.content,
|
167 |
+
backdrop: true,
|
168 |
+
backdropPadding: 5,
|
169 |
+
onShown: function () {
|
170 |
+
$('.tour-step-background').css("background-color", "rgba(248, 143, 32, 0.5)");
|
171 |
+
},
|
172 |
+
onHidden: function () {
|
173 |
+
$('.tour-step-background').css("background-color", "inherit");
|
174 |
+
}
|
175 |
+
}, {
|
176 |
+
// step 7
|
177 |
+
element: "#wdt-simple-table-number-of-rows",
|
178 |
+
placement: "bottom",
|
179 |
+
title: wpdtTutorialStrings.tour0.step7.title,
|
180 |
+
content: wpdtTutorialStrings.tour0.step7.content,
|
181 |
+
backdrop: true,
|
182 |
+
backdropPadding: 5,
|
183 |
+
onShown: function () {
|
184 |
+
$('.tour-step-background').css("background-color", "rgba(248, 143, 32, 0.5)");
|
185 |
+
},
|
186 |
+
onHidden: function () {
|
187 |
+
$('.tour-step-background').css("background-color", "inherit");
|
188 |
+
}
|
189 |
+
}, {
|
190 |
+
// step 8
|
191 |
+
element: "#wdt-simple-table-constructor",
|
192 |
+
placement: "left",
|
193 |
+
title: wpdtTutorialStrings.tour0.step8.title,
|
194 |
+
content: wpdtTutorialStrings.tour0.step8.content,
|
195 |
+
reflex: true,
|
196 |
+
backdrop: true,
|
197 |
+
redirect:false,
|
198 |
+
backdropContainer: '#wdt-tour-actions',
|
199 |
+
backdropPadding: 5,
|
200 |
+
onShown: function () {
|
201 |
+
$('.tour-step-background').css("background-color", "rgba(248, 143, 32, 0.5)");
|
202 |
+
},
|
203 |
+
onHidden: function () {
|
204 |
+
$('.tour-step-background').css("background-color", "inherit");
|
205 |
+
}
|
206 |
+
}, {
|
207 |
+
// step 9
|
208 |
+
redirect:false,
|
209 |
+
orphan: true,
|
210 |
+
element: "#edit-table-settings",
|
211 |
+
placement: "top",
|
212 |
+
title: wpdtTutorialStrings.tour0.step9.title,
|
213 |
+
content: wpdtTutorialStrings.tour0.step9.content,
|
214 |
+
|
215 |
+
}, {
|
216 |
+
// step 10
|
217 |
+
orphan: true,
|
218 |
+
placement: "top",
|
219 |
+
title: wpdtTutorialStrings.tour0.step10.title,
|
220 |
+
content: wpdtTutorialStrings.tour0.step10.content,
|
221 |
+
|
222 |
+
}, {
|
223 |
+
// step 11
|
224 |
+
element: "#wpdt-table-editor",
|
225 |
+
placement: "top",
|
226 |
+
title: wpdtTutorialStrings.tour0.step11.title,
|
227 |
+
content: wpdtTutorialStrings.tour0.step11.content,
|
228 |
+
reflex: true,
|
229 |
+
backdrop: true,
|
230 |
+
backdropContainer: 'body',
|
231 |
+
backdropPadding: 5,
|
232 |
+
onShown: function (tour) {
|
233 |
+
$('.tour-step-background').css("background-color", "rgba(248, 143, 32, 0.5)");
|
234 |
+
$('#wpdt-table-editor').css("z-index", "1101");
|
235 |
+
},
|
236 |
+
onHidden: function () {
|
237 |
+
$('.tour-step-background').css("background-color", "inherit");
|
238 |
+
$('#wpdt-table-editor').css("z-index", "10");
|
239 |
+
}
|
240 |
+
}, {
|
241 |
+
// step 11
|
242 |
+
element: "#wpdt-cell-action-buttons",
|
243 |
+
placement: "bottom",
|
244 |
+
title: wpdtTutorialStrings.tour0.step12.title,
|
245 |
+
content: wpdtTutorialStrings.tour0.step12.content,
|
246 |
+
reflex: true,
|
247 |
+
backdrop: true,
|
248 |
+
backdropContainer: 'body',
|
249 |
+
backdropPadding: 5,
|
250 |
+
onShown: function (tour) {
|
251 |
+
$('.tour-step-background').css("background-color", "rgba(248, 143, 32, 0.5)");
|
252 |
+
},
|
253 |
+
onHidden: function () {
|
254 |
+
$('.tour-step-background').css("background-color", "inherit");
|
255 |
+
},
|
256 |
+
}, {
|
257 |
+
// step 12
|
258 |
+
element: "#wpdt-views .nav.nav-pills",
|
259 |
+
placement: "right",
|
260 |
+
title: wpdtTutorialStrings.tour0.step13.title,
|
261 |
+
content: wpdtTutorialStrings.tour0.step13.content,
|
262 |
+
reflex: true,
|
263 |
+
backdrop: true,
|
264 |
+
backdropContainer: 'body',
|
265 |
+
backdropPadding: 5,
|
266 |
+
onShown: function (tour) {
|
267 |
+
$('.tour-step-background').css("background-color", "rgba(248, 143, 32, 0.5)");
|
268 |
+
},
|
269 |
+
onHidden: function () {
|
270 |
+
$('.tour-step-background').css("background-color", "inherit");
|
271 |
+
}
|
272 |
+
}, {
|
273 |
+
// step 13
|
274 |
+
element: "#wpdt-view-container",
|
275 |
+
placement: "top",
|
276 |
+
title: wpdtTutorialStrings.tour0.step14.title,
|
277 |
+
content: wpdtTutorialStrings.tour0.step14.content,
|
278 |
+
reflex: true,
|
279 |
+
backdrop: true,
|
280 |
+
backdropContainer: 'body',
|
281 |
+
backdropPadding: 5,
|
282 |
+
onShown: function (tour) {
|
283 |
+
$('.tour-step-background').css("background-color", "rgba(248, 143, 32, 0.5)");
|
284 |
+
},
|
285 |
+
onHidden: function () {
|
286 |
+
$('.tour-step-background').css("background-color", "inherit");
|
287 |
+
}
|
288 |
+
}, {
|
289 |
+
// step 14
|
290 |
+
element: "#wdt-table-id",
|
291 |
+
placement: "bottom",
|
292 |
+
title: wpdtTutorialStrings.tour0.step15.title,
|
293 |
+
content: wpdtTutorialStrings.tour0.step15.content,
|
294 |
+
reflex: true,
|
295 |
+
backdrop: true,
|
296 |
+
backdropContainer: 'body',
|
297 |
+
backdropPadding: 5,
|
298 |
+
onShown: function (tour) {
|
299 |
+
$('.tour-step-background').css("background-color", "rgba(248, 143, 32, 0.5)");
|
300 |
+
},
|
301 |
+
onHidden: function () {
|
302 |
+
$('.tour-step-background').css("background-color", "inherit");
|
303 |
+
}
|
304 |
+
},
|
305 |
+
],
|
306 |
+
template: function () {
|
307 |
+
var showButtons = '';
|
308 |
+
var tour0NextButtonSteps = [4, 5, 6, 7, 9, 10, 11, 12, 13, 14];
|
309 |
+
if (typeof tour0 == 'undefined' && localStorage.getItem("create-simple-table_current_step") !== null) {
|
310 |
+
window.localStorage.removeItem('create-simple-table_current_step');
|
311 |
+
window.localStorage.removeItem('create-simple-table_redirect_to');
|
312 |
+
return "<div class='popover tour'>" +
|
313 |
+
"<div class='arrow'></div>" +
|
314 |
+
"<p>" + wpdtTutorialStrings.cancel_tour + "</p>" +
|
315 |
+
"<div class='popover-navigation d-flex flex-nowrap'>" +
|
316 |
+
"<span class='popover-separator' data-role='separator'> </span>" +
|
317 |
+
"<button class='btn btn-warning float-left' data-role='end'>" + wpdtTutorialStrings.cancel_button + "</button></div></div>";
|
318 |
+
} else if (tour0.getCurrentStep() === 0) {
|
319 |
+
showButtons = "<button class='btn btn-warning float-left' data-role='end'>" + wpdtTutorialStrings.cancel_button + "</button><button class='btn btn-primary float-right' data-role='next'>" + wpdtTutorialStrings.start_button + " <i class='wpdt-icon-chevron-right m-l-5'></i></button>" + "</div></div>"
|
320 |
+
} else if (jQuery.inArray(tour0.getCurrentStep(), tour0NextButtonSteps) !== -1) {
|
321 |
+
showButtons = "<button class='btn btn-primary' data-role='next'>" + wpdtTutorialStrings.next_button + " <i class='wpdt-icon-chevron-right'></i></button>" + "<button class='btn btn-warning' data-role='end'> " + wpdtTutorialStrings.skip_button + " </button>" + "</div></div>";
|
322 |
+
} else if (tour0.getCurrentStep() === 15) {
|
323 |
+
showButtons = "<button class='btn btn-primary float-right' data-role='end'><i class='wpdt-icon-trophy m-r-5'></i> " + wpdtTutorialStrings.finish_button + " </button>" + "</div></div>";
|
324 |
+
} else {
|
325 |
+
showButtons = "<button class='btn btn-warning' data-role='end'> " + wpdtTutorialStrings.skip_button + " </button>" + "</div></div>";
|
326 |
+
}
|
327 |
+
|
328 |
+
return "<div class='popover tour'>" +
|
329 |
+
"<div class='arrow'></div>" +
|
330 |
+
"<h3 class='popover-title'></h3>" +
|
331 |
+
"<div class='popover-content'></div>" +
|
332 |
+
"<div class='popover-navigation d-flex flex-nowrap'>" +
|
333 |
+
"<span class='popover-separator' data-role='separator'> </span>" +
|
334 |
+
showButtons;
|
335 |
+
|
336 |
+
},
|
337 |
+
onStart: function () {
|
338 |
+
$demo0.addClass("disabled");
|
339 |
+
$demo1.addClass("disabled");
|
340 |
+
$demo2.addClass("disabled");
|
341 |
+
},
|
342 |
+
onEnd: function () {
|
343 |
+
window.localStorage.removeItem('create-simple-table_current_step');
|
344 |
+
window.localStorage.removeItem('create-simple-table_redirect_to');
|
345 |
+
$demo0.removeClass("disabled");
|
346 |
+
$demo1.removeClass("disabled");
|
347 |
+
$demo2.removeClass("disabled");
|
348 |
+
$('.wdt-constructor-type-selecter-block .card:not([data-value="simple"])').removeClass('disabled');
|
349 |
+
}
|
350 |
+
}).init();
|
351 |
|
352 |
tour1 = new Tour({
|
353 |
name: "create-table-data-source",
|
375 |
}, {
|
376 |
// step 2
|
377 |
path: document.location.pathname + "?page=wpdatatables-constructor",
|
378 |
+
element: ".wdt-first-row .wdt-constructor-type-selecter-block:nth-child(2) .card",
|
379 |
+
placement: "left",
|
380 |
title: wpdtTutorialStrings.tour1.step2.title,
|
381 |
content: wpdtTutorialStrings.tour1.step2.content,
|
382 |
reflex: true,
|
580 |
|
581 |
},
|
582 |
onStart: function () {
|
583 |
+
$demo0.addClass("disabled");
|
584 |
$demo1.addClass("disabled");
|
585 |
$demo2.addClass("disabled");
|
586 |
},
|
587 |
onEnd: function () {
|
588 |
window.localStorage.removeItem('create-table-data-source_current_step');
|
589 |
window.localStorage.removeItem('create-table-data-source_redirect_to');
|
590 |
+
$demo0.removeClass("disabled");
|
591 |
$demo1.removeClass("disabled");
|
592 |
$demo2.removeClass("disabled");
|
593 |
$('.wdt-constructor-type-selecter-block .card:not([data-value="source"])').removeClass('disabled');
|
1106 |
|
1107 |
},
|
1108 |
onStart: function () {
|
1109 |
+
$demo0.addClass("disabled");
|
1110 |
$demo1.addClass("disabled");
|
1111 |
$demo2.addClass("disabled");
|
1112 |
},
|
1113 |
onEnd: function () {
|
1114 |
window.localStorage.removeItem('create-chart_current_step');
|
1115 |
window.localStorage.removeItem('create-chart_redirect_to');
|
1116 |
+
$demo0.removeClass("disabled");
|
1117 |
$demo1.removeClass("disabled");
|
1118 |
$demo2.removeClass("disabled");
|
1119 |
}
|
1120 |
}).init();
|
1121 |
|
1122 |
+
$(document).on("click", "#wdt-tutorial-simple-table", function (e) {
|
1123 |
+
e.preventDefault();
|
1124 |
+
if ($(this).hasClass("disabled")) {
|
1125 |
+
return;
|
1126 |
+
}
|
1127 |
+
tour0.restart();
|
1128 |
+
});
|
1129 |
+
|
1130 |
$(document).on("click", "#wdt-tutorial-data-source", function (e) {
|
1131 |
e.preventDefault();
|
1132 |
if ($(this).hasClass("disabled")) {
|
1148 |
window.location.href.includes('wpdatatables-chart-wizard')) &&
|
1149 |
(localStorage.getItem("create-table-data-source_redirect_to") !== null ||
|
1150 |
localStorage.getItem("create-table-data-source_current_step") !== null ||
|
1151 |
+
localStorage.getItem("create-simple-table_current_step") !== null ||
|
1152 |
+
localStorage.getItem("create-simple-table_redirect_to") !== null ||
|
1153 |
localStorage.getItem("create-chart_redirect_to") !== null ||
|
1154 |
localStorage.getItem("create-chart_current_step") !== null)){
|
1155 |
window.localStorage.removeItem('create-table-data-source_current_step');
|
1156 |
window.localStorage.removeItem('create-table-data-source_redirect_to');
|
1157 |
+
window.localStorage.removeItem('create-simple-table_current_step');
|
1158 |
+
window.localStorage.removeItem('create-simple-table_redirect_to');
|
1159 |
window.localStorage.removeItem('create-chart_current_step');
|
1160 |
window.localStorage.removeItem('create-chart_redirect_to');
|
1161 |
}
|
assets/js/color-pickr/pickr.es5.min.js
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
/*! Pickr 1.7.1 MIT | https://github.com/Simonwep/pickr */
|
2 |
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Pickr=e():t.Pickr=e()}(window,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=145)}([function(t,e,r){var n=r(3),o=r(15).f,i=r(12),a=r(17),c=r(47),u=r(81),s=r(85);t.exports=function(t,e){var r,l,f,p,v,h=t.target,d=t.global,g=t.stat;if(r=d?n:g?n[h]||c(h,{}):(n[h]||{}).prototype)for(l in e){if(p=e[l],f=t.noTargetGet?(v=o(r,l))&&v.value:r[l],!s(d?l:h+(g?".":"#")+l,t.forced)&&void 0!==f){if(typeof p==typeof f)continue;u(p,f)}(t.sham||f&&f.sham)&&i(p,"sham",!0),a(r,l,p,t)}}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,r){var n=r(3),o=r(48),i=r(4),a=r(49),c=r(54),u=r(86),s=o("wks"),l=n.Symbol,f=u?l:l&&l.withoutSetter||a;t.exports=function(t){return i(s,t)||(c&&i(l,t)?s[t]=l[t]:s[t]=f("Symbol."+t)),s[t]}},function(t,e,r){(function(e){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")()}).call(this,r(111))},function(t,e){var r={}.hasOwnProperty;t.exports=function(t,e){return r.call(t,e)}},function(t,e,r){var n=r(1);t.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,e,r){var n=r(7);t.exports=function(t){if(!n(t))throw TypeError(String(t)+" is not an object");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,r){var n=r(18),o=Math.min;t.exports=function(t){return t>0?o(n(t),9007199254740991):0}},function(t,e,r){var n=r(5),o=r(77),i=r(6),a=r(22),c=Object.defineProperty;e.f=n?c:function(t,e,r){if(i(t),e=a(e,!0),i(r),o)try{return c(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},function(t,e,r){var n=r(21),o=r(11);t.exports=function(t){return n(o(t))}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,r){var n=r(5),o=r(9),i=r(20);t.exports=n?function(t,e,r){return o.f(t,e,i(1,r))}:function(t,e,r){return t[e]=r,t}},function(t,e,r){var n=r(11);t.exports=function(t){return Object(n(t))}},function(t,e,r){var n=r(5),o=r(1),i=r(4),a=Object.defineProperty,c={},u=function(t){throw t};t.exports=function(t,e){if(i(c,t))return c[t];e||(e={});var r=[][t],s=!!i(e,"ACCESSORS")&&e.ACCESSORS,l=i(e,0)?e[0]:u,f=i(e,1)?e[1]:void 0;return c[t]=!!r&&!o((function(){if(s&&!n)return!0;var t={length:-1};s?a(t,1,{enumerable:!0,get:u}):t[1]=1,r.call(t,l,f)}))}},function(t,e,r){var n=r(5),o=r(46),i=r(20),a=r(10),c=r(22),u=r(4),s=r(77),l=Object.getOwnPropertyDescriptor;e.f=n?l:function(t,e){if(t=a(t),e=c(e,!0),s)try{return l(t,e)}catch(t){}if(u(t,e))return i(!o.f.call(t,e),t[e])}},function(t,e){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},function(t,e,r){var n=r(3),o=r(12),i=r(4),a=r(47),c=r(79),u=r(31),s=u.get,l=u.enforce,f=String(String).split("String");(t.exports=function(t,e,r,c){var u=!!c&&!!c.unsafe,s=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof r&&("string"!=typeof e||i(r,"name")||o(r,"name",e),l(r).source=f.join("string"==typeof e?e:"")),t!==n?(u?!p&&t[e]&&(s=!0):delete t[e],s?t[e]=r:o(t,e,r)):s?t[e]=r:a(e,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||c(this)}))},function(t,e){var r=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?n:r)(t)}},function(t,e,r){var n=r(89),o=r(21),i=r(13),a=r(8),c=r(57),u=[].push,s=function(t){var e=1==t,r=2==t,s=3==t,l=4==t,f=6==t,p=5==t||f;return function(v,h,d,g){for(var y,b,m=i(v),x=o(m),S=n(h,d,3),w=a(x.length),O=0,_=g||c,A=e?_(v,w):r?_(v,0):void 0;w>O;O++)if((p||O in x)&&(b=S(y=x[O],O,m),t))if(e)A[O]=b;else if(b)switch(t){case 3:return!0;case 5:return y;case 6:return O;case 2:u.call(A,y)}else if(l)return!1;return f?-1:s||l?l:A}};t.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,r){var n=r(1),o=r(16),i="".split;t.exports=n((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,e,r){var n=r(7);t.exports=function(t,e){if(!n(t))return t;var r,o;if(e&&"function"==typeof(r=t.toString)&&!n(o=r.call(t)))return o;if("function"==typeof(r=t.valueOf)&&!n(o=r.call(t)))return o;if(!e&&"function"==typeof(r=t.toString)&&!n(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=!1},function(t,e,r){"use strict";var n=r(22),o=r(9),i=r(20);t.exports=function(t,e,r){var a=n(e);a in t?o.f(t,a,i(0,r)):t[a]=r}},function(t,e,r){var n=r(1),o=r(2),i=r(90),a=o("species");t.exports=function(t){return i>=51||!n((function(){var e=[];return(e.constructor={})[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},function(t,e,r){"use strict";var n=r(1);t.exports=function(t,e){var r=[][t];return!!r&&n((function(){r.call(null,e||function(){throw 1},1)}))}},function(t,e){t.exports={}},function(t,e,r){var n=r(64),o=r(17),i=r(130);n||o(Object.prototype,"toString",i,{unsafe:!0})},function(t,e,r){"use strict";var n=r(0),o=r(43);n({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(t,e,r){"use strict";var n=r(17),o=r(6),i=r(1),a=r(101),c=RegExp.prototype,u=c.toString,s=i((function(){return"/a/b"!=u.call({source:"a",flags:"b"})})),l="toString"!=u.name;(s||l)&&n(RegExp.prototype,"toString",(function(){var t=o(this),e=String(t.source),r=t.flags;return"/"+e+"/"+String(void 0===r&&t instanceof RegExp&&!("flags"in c)?a.call(t):r)}),{unsafe:!0})},function(t,e,r){var n,o,i,a=r(112),c=r(3),u=r(7),s=r(12),l=r(4),f=r(32),p=r(33),v=c.WeakMap;if(a){var h=new v,d=h.get,g=h.has,y=h.set;n=function(t,e){return y.call(h,t,e),e},o=function(t){return d.call(h,t)||{}},i=function(t){return g.call(h,t)}}else{var b=f("state");p[b]=!0,n=function(t,e){return s(t,b,e),e},o=function(t){return l(t,b)?t[b]:{}},i=function(t){return l(t,b)}}t.exports={set:n,get:o,has:i,enforce:function(t){return i(t)?o(t):n(t,{})},getterFor:function(t){return function(e){var r;if(!u(e)||(r=o(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}}},function(t,e,r){var n=r(48),o=r(49),i=n("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,e){t.exports={}},function(t,e,r){var n=r(83),o=r(3),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(n[t])||i(o[t]):n[t]&&n[t][e]||o[t]&&o[t][e]}},function(t,e,r){var n=r(84),o=r(52).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return n(t,o)}},function(t,e,r){var n=r(16);t.exports=Array.isArray||function(t){return"Array"==n(t)}},function(t,e,r){var n,o=r(6),i=r(113),a=r(52),c=r(33),u=r(114),s=r(78),l=r(32),f=l("IE_PROTO"),p=function(){},v=function(t){return"<script>"+t+"<\/script>"},h=function(){try{n=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;h=n?function(t){t.write(v("")),t.close();var e=t.parentWindow.Object;return t=null,e}(n):((e=s("iframe")).style.display="none",u.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(v("document.F=Object")),t.close(),t.F);for(var r=a.length;r--;)delete h.prototype[a[r]];return h()};c[f]=!0,t.exports=Object.create||function(t,e){var r;return null!==t?(p.prototype=o(t),r=new p,p.prototype=null,r[f]=t):r=h(),void 0===e?r:i(r,e)}},function(t,e,r){var n=r(84),o=r(52);t.exports=Object.keys||function(t){return n(t,o)}},function(t,e,r){"use strict";var n=r(0),o=r(93);n({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},function(t,e,r){"use strict";var n=r(10),o=r(62),i=r(27),a=r(31),c=r(95),u=a.set,s=a.getterFor("Array Iterator");t.exports=c(Array,"Array",(function(t,e){u(this,{type:"Array Iterator",target:n(t),index:0,kind:e})}),(function(){var t=s(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(t,e,r){"use strict";var n=r(5),o=r(3),i=r(85),a=r(17),c=r(4),u=r(16),s=r(128),l=r(22),f=r(1),p=r(37),v=r(35).f,h=r(15).f,d=r(9).f,g=r(99).trim,y=o.Number,b=y.prototype,m="Number"==u(p(b)),x=function(t){var e,r,n,o,i,a,c,u,s=l(t,!1);if("string"==typeof s&&s.length>2)if(43===(e=(s=g(s)).charCodeAt(0))||45===e){if(88===(r=s.charCodeAt(2))||120===r)return NaN}else if(48===e){switch(s.charCodeAt(1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+s}for(a=(i=s.slice(2)).length,c=0;c<a;c++)if((u=i.charCodeAt(c))<48||u>o)return NaN;return parseInt(i,n)}return+s};if(i("Number",!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var S,w=function(t){var e=arguments.length<1?0:t,r=this;return r instanceof w&&(m?f((function(){b.valueOf.call(r)})):"Number"!=u(r))?s(new y(x(e)),r,w):x(e)},O=n?v(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),_=0;O.length>_;_++)c(y,S=O[_])&&!c(w,S)&&d(w,S,h(y,S));w.prototype=b,b.constructor=w,a(o,"Number",w)}},function(t,e,r){var n=r(0),o=r(13),i=r(38);n({target:"Object",stat:!0,forced:r(1)((function(){i(1)}))},{keys:function(t){return i(o(t))}})},function(t,e,r){"use strict";var n,o,i=r(101),a=r(131),c=RegExp.prototype.exec,u=String.prototype.replace,s=c,l=(n=/a/,o=/b*/g,c.call(n,"a"),c.call(o,"a"),0!==n.lastIndex||0!==o.lastIndex),f=a.UNSUPPORTED_Y||a.BROKEN_CARET,p=void 0!==/()??/.exec("")[1];(l||p||f)&&(s=function(t){var e,r,n,o,a=this,s=f&&a.sticky,v=i.call(a),h=a.source,d=0,g=t;return s&&(-1===(v=v.replace("y","")).indexOf("g")&&(v+="g"),g=String(t).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(h="(?: "+h+")",g=" "+g,d++),r=new RegExp("^(?:"+h+")",v)),p&&(r=new RegExp("^"+h+"$(?!\\s)",v)),l&&(e=a.lastIndex),n=c.call(s?r:a,g),s?n?(n.input=n.input.slice(d),n[0]=n[0].slice(d),n.index=a.lastIndex,a.lastIndex+=n[0].length):a.lastIndex=0:l&&n&&(a.lastIndex=a.global?n.index+n[0].length:e),p&&n&&n.length>1&&u.call(n[0],r,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(n[o]=void 0)})),n}),t.exports=s},function(t,e,r){var n=r(3),o=r(106),i=r(93),a=r(12);for(var c in o){var u=n[c],s=u&&u.prototype;if(s&&s.forEach!==i)try{a(s,"forEach",i)}catch(t){s.forEach=i}}},function(t,e,r){"use strict";var n=r(0),o=r(3),i=r(34),a=r(23),c=r(5),u=r(54),s=r(86),l=r(1),f=r(4),p=r(36),v=r(7),h=r(6),d=r(13),g=r(10),y=r(22),b=r(20),m=r(37),x=r(38),S=r(35),w=r(115),O=r(53),_=r(15),A=r(9),E=r(46),j=r(12),C=r(17),P=r(48),k=r(32),I=r(33),R=r(49),T=r(2),L=r(87),N=r(88),F=r(55),M=r(31),D=r(19).forEach,B=k("hidden"),U=T("toPrimitive"),H=M.set,$=M.getterFor("Symbol"),V=Object.prototype,G=o.Symbol,W=i("JSON","stringify"),z=_.f,X=A.f,Y=w.f,K=E.f,q=P("symbols"),J=P("op-symbols"),Q=P("string-to-symbol-registry"),Z=P("symbol-to-string-registry"),tt=P("wks"),et=o.QObject,rt=!et||!et.prototype||!et.prototype.findChild,nt=c&&l((function(){return 7!=m(X({},"a",{get:function(){return X(this,"a",{value:7}).a}})).a}))?function(t,e,r){var n=z(V,e);n&&delete V[e],X(t,e,r),n&&t!==V&&X(V,e,n)}:X,ot=function(t,e){var r=q[t]=m(G.prototype);return H(r,{type:"Symbol",tag:t,description:e}),c||(r.description=e),r},it=s?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof G},at=function(t,e,r){t===V&&at(J,e,r),h(t);var n=y(e,!0);return h(r),f(q,n)?(r.enumerable?(f(t,B)&&t[B][n]&&(t[B][n]=!1),r=m(r,{enumerable:b(0,!1)})):(f(t,B)||X(t,B,b(1,{})),t[B][n]=!0),nt(t,n,r)):X(t,n,r)},ct=function(t,e){h(t);var r=g(e),n=x(r).concat(ft(r));return D(n,(function(e){c&&!ut.call(r,e)||at(t,e,r[e])})),t},ut=function(t){var e=y(t,!0),r=K.call(this,e);return!(this===V&&f(q,e)&&!f(J,e))&&(!(r||!f(this,e)||!f(q,e)||f(this,B)&&this[B][e])||r)},st=function(t,e){var r=g(t),n=y(e,!0);if(r!==V||!f(q,n)||f(J,n)){var o=z(r,n);return!o||!f(q,n)||f(r,B)&&r[B][n]||(o.enumerable=!0),o}},lt=function(t){var e=Y(g(t)),r=[];return D(e,(function(t){f(q,t)||f(I,t)||r.push(t)})),r},ft=function(t){var e=t===V,r=Y(e?J:g(t)),n=[];return D(r,(function(t){!f(q,t)||e&&!f(V,t)||n.push(q[t])})),n};(u||(C((G=function(){if(this instanceof G)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=R(t),r=function(t){this===V&&r.call(J,t),f(this,B)&&f(this[B],e)&&(this[B][e]=!1),nt(this,e,b(1,t))};return c&&rt&&nt(V,e,{configurable:!0,set:r}),ot(e,t)}).prototype,"toString",(function(){return $(this).tag})),C(G,"withoutSetter",(function(t){return ot(R(t),t)})),E.f=ut,A.f=at,_.f=st,S.f=w.f=lt,O.f=ft,L.f=function(t){return ot(T(t),t)},c&&(X(G.prototype,"description",{configurable:!0,get:function(){return $(this).description}}),a||C(V,"propertyIsEnumerable",ut,{unsafe:!0}))),n({global:!0,wrap:!0,forced:!u,sham:!u},{Symbol:G}),D(x(tt),(function(t){N(t)})),n({target:"Symbol",stat:!0,forced:!u},{for:function(t){var e=String(t);if(f(Q,e))return Q[e];var r=G(e);return Q[e]=r,Z[r]=e,r},keyFor:function(t){if(!it(t))throw TypeError(t+" is not a symbol");if(f(Z,t))return Z[t]},useSetter:function(){rt=!0},useSimple:function(){rt=!1}}),n({target:"Object",stat:!0,forced:!u,sham:!c},{create:function(t,e){return void 0===e?m(t):ct(m(t),e)},defineProperty:at,defineProperties:ct,getOwnPropertyDescriptor:st}),n({target:"Object",stat:!0,forced:!u},{getOwnPropertyNames:lt,getOwnPropertySymbols:ft}),n({target:"Object",stat:!0,forced:l((function(){O.f(1)}))},{getOwnPropertySymbols:function(t){return O.f(d(t))}}),W)&&n({target:"JSON",stat:!0,forced:!u||l((function(){var t=G();return"[null]"!=W([t])||"{}"!=W({a:t})||"{}"!=W(Object(t))}))},{stringify:function(t,e,r){for(var n,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(n=e,(v(e)||void 0!==t)&&!it(t))return p(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!it(e))return e}),o[1]=e,W.apply(null,o)}});G.prototype[U]||j(G.prototype,U,G.prototype.valueOf),F(G,"Symbol"),I[B]=!0},function(t,e,r){"use strict";var n={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!n.call({1:2},1);e.f=i?function(t){var e=o(this,t);return!!e&&e.enumerable}:n},function(t,e,r){var n=r(3),o=r(12);t.exports=function(t,e){try{o(n,t,e)}catch(r){n[t]=e}return e}},function(t,e,r){var n=r(23),o=r(80);(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:n?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,e){var r=0,n=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++r+n).toString(36)}},function(t,e,r){var n=r(10),o=r(8),i=r(51),a=function(t){return function(e,r,a){var c,u=n(e),s=o(u.length),l=i(a,s);if(t&&r!=r){for(;s>l;)if((c=u[l++])!=c)return!0}else for(;s>l;l++)if((t||l in u)&&u[l]===r)return t||l||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,e,r){var n=r(18),o=Math.max,i=Math.min;t.exports=function(t,e){var r=n(t);return r<0?o(r+e,0):i(r,e)}},function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,r){var n=r(1);t.exports=!!Object.getOwnPropertySymbols&&!n((function(){return!String(Symbol())}))},function(t,e,r){var n=r(9).f,o=r(4),i=r(2)("toStringTag");t.exports=function(t,e,r){t&&!o(t=r?t:t.prototype,i)&&n(t,i,{configurable:!0,value:e})}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,e,r){var n=r(7),o=r(36),i=r(2)("species");t.exports=function(t,e){var r;return o(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!o(r.prototype)?n(r)&&null===(r=r[i])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)}},function(t,e,r){"use strict";var n=r(0),o=r(5),i=r(3),a=r(4),c=r(7),u=r(9).f,s=r(81),l=i.Symbol;if(o&&"function"==typeof l&&(!("description"in l.prototype)||void 0!==l().description)){var f={},p=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof p?new l(t):void 0===t?l():l(t);return""===t&&(f[e]=!0),e};s(p,l);var v=p.prototype=l.prototype;v.constructor=p;var h=v.toString,d="Symbol(test)"==String(l("test")),g=/^Symbol\((.*)\)[^)]+$/;u(v,"description",{configurable:!0,get:function(){var t=c(this)?this.valueOf():this,e=h.call(t);if(a(f,t))return"";var r=d?e.slice(7,-1):e.replace(g,"$1");return""===r?void 0:r}}),n({global:!0,forced:!0},{Symbol:p})}},function(t,e,r){r(88)("iterator")},function(t,e,r){"use strict";var n=r(0),o=r(1),i=r(36),a=r(7),c=r(13),u=r(8),s=r(24),l=r(57),f=r(25),p=r(2),v=r(90),h=p("isConcatSpreadable"),d=v>=51||!o((function(){var t=[];return t[h]=!1,t.concat()[0]!==t})),g=f("concat"),y=function(t){if(!a(t))return!1;var e=t[h];return void 0!==e?!!e:i(t)};n({target:"Array",proto:!0,forced:!d||!g},{concat:function(t){var e,r,n,o,i,a=c(this),f=l(a,0),p=0;for(e=-1,n=arguments.length;e<n;e++)if(i=-1===e?a:arguments[e],y(i)){if(p+(o=u(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,p++)r in i&&s(f,p,i[r])}else{if(p>=9007199254740991)throw TypeError("Maximum allowed index exceeded");s(f,p++,i)}return f.length=p,f}})},function(t,e,r){"use strict";var n=r(0),o=r(19).filter,i=r(25),a=r(14),c=i("filter"),u=a("filter");n({target:"Array",proto:!0,forced:!c||!u},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,r){var n=r(2),o=r(37),i=r(9),a=n("unscopables"),c=Array.prototype;null==c[a]&&i.f(c,a,{configurable:!0,value:o(null)}),t.exports=function(t){c[a][t]=!0}},function(t,e,r){var n=r(0),o=r(116);n({target:"Array",stat:!0,forced:!r(120)((function(t){Array.from(t)}))},{from:o})},function(t,e,r){var n={};n[r(2)("toStringTag")]="z",t.exports="[object z]"===String(n)},function(t,e,r){"use strict";var n=r(0),o=r(7),i=r(36),a=r(51),c=r(8),u=r(10),s=r(24),l=r(2),f=r(25),p=r(14),v=f("slice"),h=p("slice",{ACCESSORS:!0,0:0,1:2}),d=l("species"),g=[].slice,y=Math.max;n({target:"Array",proto:!0,forced:!v||!h},{slice:function(t,e){var r,n,l,f=u(this),p=c(f.length),v=a(t,p),h=a(void 0===e?p:e,p);if(i(f)&&("function"!=typeof(r=f.constructor)||r!==Array&&!i(r.prototype)?o(r)&&null===(r=r[d])&&(r=void 0):r=void 0,r===Array||void 0===r))return g.call(f,v,h);for(n=new(void 0===r?Array:r)(y(h-v,0)),l=0;v<h;v++,l++)v in f&&s(n,l,f[v]);return n.length=l,n}})},function(t,e,r){var n=r(5),o=r(9).f,i=Function.prototype,a=i.toString,c=/^\s*function ([^ (]*)/;n&&!("name"in i)&&o(i,"name",{configurable:!0,get:function(){try{return a.call(this).match(c)[1]}catch(t){return""}}})},function(t,e,r){var n=r(0),o=r(129);n({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},function(t,e,r){var n=r(0),o=r(1),i=r(10),a=r(15).f,c=r(5),u=o((function(){a(1)}));n({target:"Object",stat:!0,forced:!c||u,sham:!c},{getOwnPropertyDescriptor:function(t,e){return a(i(t),e)}})},function(t,e,r){var n=r(0),o=r(5),i=r(82),a=r(10),c=r(15),u=r(24);n({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){for(var e,r,n=a(t),o=c.f,s=i(n),l={},f=0;s.length>f;)void 0!==(r=o(n,e=s[f++]))&&u(l,e,r);return l}})},function(t,e,r){"use strict";var n=r(102).charAt,o=r(31),i=r(95),a=o.set,c=o.getterFor("String Iterator");i(String,"String",(function(t){a(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=c(this),r=e.string,o=e.index;return o>=r.length?{value:void 0,done:!0}:(t=n(r,o),e.index+=t.length,{value:t,done:!1})}))},function(t,e,r){"use strict";r(29);var n=r(17),o=r(1),i=r(2),a=r(43),c=r(12),u=i("species"),s=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),l="$0"==="a".replace(/./,"$0"),f=i("replace"),p=!!/./[f]&&""===/./[f]("a","$0"),v=!o((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}));t.exports=function(t,e,r,f){var h=i(t),d=!o((function(){var e={};return e[h]=function(){return 7},7!=""[t](e)})),g=d&&!o((function(){var e=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[u]=function(){return r},r.flags="",r[h]=/./[h]),r.exec=function(){return e=!0,null},r[h](""),!e}));if(!d||!g||"replace"===t&&(!s||!l||p)||"split"===t&&!v){var y=/./[h],b=r(h,""[t],(function(t,e,r,n,o){return e.exec===a?d&&!o?{done:!0,value:y.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}}),{REPLACE_KEEPS_$0:l,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),m=b[0],x=b[1];n(String.prototype,t,m),n(RegExp.prototype,h,2==e?function(t,e){return x.call(t,this,e)}:function(t){return x.call(t,this)})}f&&c(RegExp.prototype[h],"sham",!0)}},function(t,e,r){"use strict";var n=r(102).charAt;t.exports=function(t,e,r){return e+(r?n(t,e).length:1)}},function(t,e,r){var n=r(16),o=r(43);t.exports=function(t,e){var r=t.exec;if("function"==typeof r){var i=r.call(t,e);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==n(t))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},function(t,e,r){"use strict";var n=r(18),o=r(11);t.exports="".repeat||function(t){var e=String(o(this)),r="",i=n(t);if(i<0||i==1/0)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(r+=e);return r}},function(t,e,r){var n=r(3),o=r(106),i=r(40),a=r(12),c=r(2),u=c("iterator"),s=c("toStringTag"),l=i.values;for(var f in o){var p=n[f],v=p&&p.prototype;if(v){if(v[u]!==l)try{a(v,u,l)}catch(t){v[u]=l}if(v[s]||a(v,s,f),o[f])for(var h in i)if(v[h]!==i[h])try{a(v,h,i[h])}catch(t){v[h]=i[h]}}}},function(t,e,r){"use strict";var n=r(71),o=r(105),i=r(6),a=r(11),c=r(138),u=r(72),s=r(8),l=r(73),f=r(43),p=r(1),v=[].push,h=Math.min,d=!p((function(){return!RegExp(4294967295,"y")}));n("split",2,(function(t,e,r){var n;return n="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,r){var n=String(a(this)),i=void 0===r?4294967295:r>>>0;if(0===i)return[];if(void 0===t)return[n];if(!o(t))return e.call(n,t,i);for(var c,u,s,l=[],p=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,d=new RegExp(t.source,p+"g");(c=f.call(d,n))&&!((u=d.lastIndex)>h&&(l.push(n.slice(h,c.index)),c.length>1&&c.index<n.length&&v.apply(l,c.slice(1)),s=c[0].length,h=u,l.length>=i));)d.lastIndex===c.index&&d.lastIndex++;return h===n.length?!s&&d.test("")||l.push(""):l.push(n.slice(h)),l.length>i?l.slice(0,i):l}:"0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:e.call(this,t,r)}:e,[function(e,r){var o=a(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,r):n.call(String(o),e,r)},function(t,o){var a=r(n,t,this,o,n!==e);if(a.done)return a.value;var f=i(t),p=String(this),v=c(f,RegExp),g=f.unicode,y=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(d?"y":"g"),b=new v(d?f:"^(?:"+f.source+")",y),m=void 0===o?4294967295:o>>>0;if(0===m)return[];if(0===p.length)return null===l(b,p)?[p]:[];for(var x=0,S=0,w=[];S<p.length;){b.lastIndex=d?S:0;var O,_=l(b,d?p:p.slice(S));if(null===_||(O=h(s(b.lastIndex+(d?0:S)),p.length))===x)S=u(p,S,g);else{if(w.push(p.slice(x,S)),w.length===m)return w;for(var A=1;A<=_.length-1;A++)if(w.push(_[A]),w.length===m)return w;S=x=O}}return w.push(p.slice(x)),w}]}),!d)},function(t,e,r){var n=r(5),o=r(1),i=r(78);t.exports=!n&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,e,r){var n=r(3),o=r(7),i=n.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},function(t,e,r){var n=r(80),o=Function.toString;"function"!=typeof n.inspectSource&&(n.inspectSource=function(t){return o.call(t)}),t.exports=n.inspectSource},function(t,e,r){var n=r(3),o=r(47),i=n["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,e,r){var n=r(4),o=r(82),i=r(15),a=r(9);t.exports=function(t,e){for(var r=o(e),c=a.f,u=i.f,s=0;s<r.length;s++){var l=r[s];n(t,l)||c(t,l,u(e,l))}}},function(t,e,r){var n=r(34),o=r(35),i=r(53),a=r(6);t.exports=n("Reflect","ownKeys")||function(t){var e=o.f(a(t)),r=i.f;return r?e.concat(r(t)):e}},function(t,e,r){var n=r(3);t.exports=n},function(t,e,r){var n=r(4),o=r(10),i=r(50).indexOf,a=r(33);t.exports=function(t,e){var r,c=o(t),u=0,s=[];for(r in c)!n(a,r)&&n(c,r)&&s.push(r);for(;e.length>u;)n(c,r=e[u++])&&(~i(s,r)||s.push(r));return s}},function(t,e,r){var n=r(1),o=/#|\.prototype\./,i=function(t,e){var r=c[a(t)];return r==s||r!=u&&("function"==typeof e?n(e):!!e)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},u=i.NATIVE="N",s=i.POLYFILL="P";t.exports=i},function(t,e,r){var n=r(54);t.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,e,r){var n=r(2);e.f=n},function(t,e,r){var n=r(83),o=r(4),i=r(87),a=r(9).f;t.exports=function(t){var e=n.Symbol||(n.Symbol={});o(e,t)||a(e,t,{value:i.f(t)})}},function(t,e,r){var n=r(56);t.exports=function(t,e,r){if(n(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}}},function(t,e,r){var n,o,i=r(3),a=r(91),c=i.process,u=c&&c.versions,s=u&&u.v8;s?o=(n=s.split("."))[0]+n[1]:a&&(!(n=a.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=a.match(/Chrome\/(\d+)/))&&(o=n[1]),t.exports=o&&+o},function(t,e,r){var n=r(34);t.exports=n("navigator","userAgent")||""},function(t,e,r){"use strict";var n=r(0),o=r(19).find,i=r(62),a=r(14),c=!0,u=a("find");"find"in[]&&Array(1).find((function(){c=!1})),n({target:"Array",proto:!0,forced:c||!u},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(t,e,r){"use strict";var n=r(19).forEach,o=r(26),i=r(14),a=o("forEach"),c=i("forEach");t.exports=a&&c?[].forEach:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}},function(t,e,r){var n=r(64),o=r(16),i=r(2)("toStringTag"),a="Arguments"==o(function(){return arguments}());t.exports=n?o:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?r:a?o(e):"Object"==(n=o(e))&&"function"==typeof e.callee?"Arguments":n}},function(t,e,r){"use strict";var n=r(0),o=r(123),i=r(97),a=r(98),c=r(55),u=r(12),s=r(17),l=r(2),f=r(23),p=r(27),v=r(96),h=v.IteratorPrototype,d=v.BUGGY_SAFARI_ITERATORS,g=l("iterator"),y=function(){return this};t.exports=function(t,e,r,l,v,b,m){o(r,e,l);var x,S,w,O=function(t){if(t===v&&C)return C;if(!d&&t in E)return E[t];switch(t){case"keys":case"values":case"entries":return function(){return new r(this,t)}}return function(){return new r(this)}},_=e+" Iterator",A=!1,E=t.prototype,j=E[g]||E["@@iterator"]||v&&E[v],C=!d&&j||O(v),P="Array"==e&&E.entries||j;if(P&&(x=i(P.call(new t)),h!==Object.prototype&&x.next&&(f||i(x)===h||(a?a(x,h):"function"!=typeof x[g]&&u(x,g,y)),c(x,_,!0,!0),f&&(p[_]=y))),"values"==v&&j&&"values"!==j.name&&(A=!0,C=function(){return j.call(this)}),f&&!m||E[g]===C||u(E,g,C),p[e]=C,v)if(S={values:O("values"),keys:b?C:O("keys"),entries:O("entries")},m)for(w in S)(d||A||!(w in E))&&s(E,w,S[w]);else n({target:e,proto:!0,forced:d||A},S);return S}},function(t,e,r){"use strict";var n,o,i,a=r(97),c=r(12),u=r(4),s=r(2),l=r(23),f=s("iterator"),p=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(n=o):p=!0),null==n&&(n={}),l||u(n,f)||c(n,f,(function(){return this})),t.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:p}},function(t,e,r){var n=r(4),o=r(13),i=r(32),a=r(124),c=i("IE_PROTO"),u=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=o(t),n(t,c)?t[c]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?u:null}},function(t,e,r){var n=r(6),o=r(125);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,i){return n(r),o(i),e?t.call(r,i):r.__proto__=i,r}}():void 0)},function(t,e,r){var n=r(11),o="["+r(100)+"]",i=RegExp("^"+o+o+"*"),a=RegExp(o+o+"*$"),c=function(t){return function(e){var r=String(n(e));return 1&t&&(r=r.replace(i,"")),2&t&&(r=r.replace(a,"")),r}};t.exports={start:c(1),end:c(2),trim:c(3)}},function(t,e){t.exports="\t\n\v\f\r \u2028\u2029\ufeff"},function(t,e,r){"use strict";var n=r(6);t.exports=function(){var t=n(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,r){var n=r(18),o=r(11),i=function(t){return function(e,r){var i,a,c=String(o(e)),u=n(r),s=c.length;return u<0||u>=s?t?"":void 0:(i=c.charCodeAt(u))<55296||i>56319||u+1===s||(a=c.charCodeAt(u+1))<56320||a>57343?t?c.charAt(u):i:t?c.slice(u,u+2):a-56320+(i-55296<<10)+65536}};t.exports={codeAt:i(!1),charAt:i(!0)}},function(t,e,r){"use strict";var n=r(71),o=r(6),i=r(8),a=r(11),c=r(72),u=r(73);n("match",1,(function(t,e,r){return[function(e){var r=a(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var a=o(t),s=String(this);if(!a.global)return u(a,s);var l=a.unicode;a.lastIndex=0;for(var f,p=[],v=0;null!==(f=u(a,s));){var h=String(f[0]);p[v]=h,""===h&&(a.lastIndex=c(s,i(a.lastIndex),l)),v++}return 0===v?null:p}]}))},function(t,e,r){"use strict";var n,o=r(0),i=r(15).f,a=r(8),c=r(133),u=r(11),s=r(134),l=r(23),f="".startsWith,p=Math.min,v=s("startsWith");o({target:"String",proto:!0,forced:!!(l||v||(n=i(String.prototype,"startsWith"),!n||n.writable))&&!v},{startsWith:function(t){var e=String(u(this));c(t);var r=a(p(arguments.length>1?arguments[1]:void 0,e.length)),n=String(t);return f?f.call(e,n,r):e.slice(r,r+n.length)===n}})},function(t,e,r){var n=r(7),o=r(16),i=r(2)("match");t.exports=function(t){var e;return n(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},function(t,e){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(t,e,r){"use strict";var n=r(0),o=r(21),i=r(10),a=r(26),c=[].join,u=o!=Object,s=a("join",",");n({target:"Array",proto:!0,forced:u||!s},{join:function(t){return c.call(i(this),void 0===t?",":t)}})},function(t,e,r){"use strict";var n=r(0),o=r(19).map,i=r(25),a=r(14),c=i("map"),u=a("map");n({target:"Array",proto:!0,forced:!c||!u},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,r){"use strict";var n=r(0),o=r(141).start;n({target:"String",proto:!0,forced:r(142)},{padStart:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t){t.exports=JSON.parse('{"a":"1.7.1"}')},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){var n=r(3),o=r(79),i=n.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},function(t,e,r){var n=r(5),o=r(9),i=r(6),a=r(38);t.exports=n?Object.defineProperties:function(t,e){i(t);for(var r,n=a(e),c=n.length,u=0;c>u;)o.f(t,r=n[u++],e[r]);return t}},function(t,e,r){var n=r(34);t.exports=n("document","documentElement")},function(t,e,r){var n=r(10),o=r(35).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(t){return a.slice()}}(t):o(n(t))}},function(t,e,r){"use strict";var n=r(89),o=r(13),i=r(117),a=r(118),c=r(8),u=r(24),s=r(119);t.exports=function(t){var e,r,l,f,p,v,h=o(t),d="function"==typeof this?this:Array,g=arguments.length,y=g>1?arguments[1]:void 0,b=void 0!==y,m=s(h),x=0;if(b&&(y=n(y,g>2?arguments[2]:void 0,2)),null==m||d==Array&&a(m))for(r=new d(e=c(h.length));e>x;x++)v=b?y(h[x],x):h[x],u(r,x,v);else for(p=(f=m.call(h)).next,r=new d;!(l=p.call(f)).done;x++)v=b?i(f,y,[l.value,x],!0):l.value,u(r,x,v);return r.length=x,r}},function(t,e,r){var n=r(6);t.exports=function(t,e,r,o){try{return o?e(n(r)[0],r[1]):e(r)}catch(e){var i=t.return;throw void 0!==i&&n(i.call(t)),e}}},function(t,e,r){var n=r(2),o=r(27),i=n("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},function(t,e,r){var n=r(94),o=r(27),i=r(2)("iterator");t.exports=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[n(t)]}},function(t,e,r){var n=r(2)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[n]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var r=!1;try{var i={};i[n]=function(){return{next:function(){return{done:r=!0}}}},t(i)}catch(t){}return r}},function(t,e,r){"use strict";var n=r(0),o=r(50).includes,i=r(62);n({target:"Array",proto:!0,forced:!r(14)("indexOf",{ACCESSORS:!0,1:0})},{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("includes")},function(t,e,r){"use strict";var n=r(0),o=r(50).indexOf,i=r(26),a=r(14),c=[].indexOf,u=!!c&&1/[1].indexOf(1,-0)<0,s=i("indexOf"),l=a("indexOf",{ACCESSORS:!0,1:0});n({target:"Array",proto:!0,forced:u||!s||!l},{indexOf:function(t){return u?c.apply(this,arguments)||0:o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,r){"use strict";var n=r(96).IteratorPrototype,o=r(37),i=r(20),a=r(55),c=r(27),u=function(){return this};t.exports=function(t,e,r){var s=e+" Iterator";return t.prototype=o(n,{next:i(1,r)}),a(t,s,!1,!0),c[s]=u,t}},function(t,e,r){var n=r(1);t.exports=!n((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},function(t,e,r){var n=r(7);t.exports=function(t){if(!n(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},function(t,e,r){"use strict";var n=r(0),o=r(19).some,i=r(26),a=r(14),c=i("some"),u=a("some");n({target:"Array",proto:!0,forced:!c||!u},{some:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,r){"use strict";var n=r(0),o=r(51),i=r(18),a=r(8),c=r(13),u=r(57),s=r(24),l=r(25),f=r(14),p=l("splice"),v=f("splice",{ACCESSORS:!0,0:0,1:2}),h=Math.max,d=Math.min;n({target:"Array",proto:!0,forced:!p||!v},{splice:function(t,e){var r,n,l,f,p,v,g=c(this),y=a(g.length),b=o(t,y),m=arguments.length;if(0===m?r=n=0:1===m?(r=0,n=y-b):(r=m-2,n=d(h(i(e),0),y-b)),y+r-n>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(l=u(g,n),f=0;f<n;f++)(p=b+f)in g&&s(l,f,g[p]);if(l.length=n,r<n){for(f=b;f<y-n;f++)v=f+r,(p=f+n)in g?g[v]=g[p]:delete g[v];for(f=y;f>y-n+r;f--)delete g[f-1]}else if(r>n)for(f=y-n;f>b;f--)v=f+r-1,(p=f+n-1)in g?g[v]=g[p]:delete g[v];for(f=0;f<r;f++)g[f+b]=arguments[f+2];return g.length=y-n+r,l}})},function(t,e,r){var n=r(7),o=r(98);t.exports=function(t,e,r){var i,a;return o&&"function"==typeof(i=e.constructor)&&i!==r&&n(a=i.prototype)&&a!==r.prototype&&o(t,a),t}},function(t,e,r){"use strict";var n=r(5),o=r(1),i=r(38),a=r(53),c=r(46),u=r(13),s=r(21),l=Object.assign,f=Object.defineProperty;t.exports=!l||o((function(){if(n&&1!==l({b:1},l(f({},"a",{enumerable:!0,get:function(){f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol();return t[r]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=l({},t)[r]||"abcdefghijklmnopqrst"!=i(l({},e)).join("")}))?function(t,e){for(var r=u(t),o=arguments.length,l=1,f=a.f,p=c.f;o>l;)for(var v,h=s(arguments[l++]),d=f?i(h).concat(f(h)):i(h),g=d.length,y=0;g>y;)v=d[y++],n&&!p.call(h,v)||(r[v]=h[v]);return r}:l},function(t,e,r){"use strict";var n=r(64),o=r(94);t.exports=n?{}.toString:function(){return"[object "+o(this)+"]"}},function(t,e,r){"use strict";var n=r(1);function o(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=n((function(){var t=o("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=n((function(){var t=o("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},function(t,e,r){r(0)({target:"String",proto:!0},{repeat:r(74)})},function(t,e,r){var n=r(105);t.exports=function(t){if(n(t))throw TypeError("The method doesn't accept regular expressions");return t}},function(t,e,r){var n=r(2)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[n]=!1,"/./"[t](e)}catch(t){}}return!1}},function(t,e,r){"use strict";var n=r(0),o=r(136).left,i=r(26),a=r(14),c=i("reduce"),u=a("reduce",{1:0});n({target:"Array",proto:!0,forced:!c||!u},{reduce:function(t){return o(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(t,e,r){var n=r(56),o=r(13),i=r(21),a=r(8),c=function(t){return function(e,r,c,u){n(r);var s=o(e),l=i(s),f=a(s.length),p=t?f-1:0,v=t?-1:1;if(c<2)for(;;){if(p in l){u=l[p],p+=v;break}if(p+=v,t?p<0:f<=p)throw TypeError("Reduce of empty array with no initial value")}for(;t?p>=0:f>p;p+=v)p in l&&(u=r(u,l[p],p,s));return u}};t.exports={left:c(!1),right:c(!0)}},function(t,e,r){"use strict";var n=r(71),o=r(6),i=r(13),a=r(8),c=r(18),u=r(11),s=r(72),l=r(73),f=Math.max,p=Math.min,v=Math.floor,h=/\$([$&'`]|\d\d?|<[^>]*>)/g,d=/\$([$&'`]|\d\d?)/g;n("replace",2,(function(t,e,r,n){var g=n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,y=n.REPLACE_KEEPS_$0,b=g?"$":"$0";return[function(r,n){var o=u(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,n):e.call(String(o),r,n)},function(t,n){if(!g&&y||"string"==typeof n&&-1===n.indexOf(b)){var i=r(e,t,this,n);if(i.done)return i.value}var u=o(t),v=String(this),h="function"==typeof n;h||(n=String(n));var d=u.global;if(d){var x=u.unicode;u.lastIndex=0}for(var S=[];;){var w=l(u,v);if(null===w)break;if(S.push(w),!d)break;""===String(w[0])&&(u.lastIndex=s(v,a(u.lastIndex),x))}for(var O,_="",A=0,E=0;E<S.length;E++){w=S[E];for(var j=String(w[0]),C=f(p(c(w.index),v.length),0),P=[],k=1;k<w.length;k++)P.push(void 0===(O=w[k])?O:String(O));var I=w.groups;if(h){var R=[j].concat(P,C,v);void 0!==I&&R.push(I);var T=String(n.apply(void 0,R))}else T=m(j,v,C,P,I,n);C>=A&&(_+=v.slice(A,C)+T,A=C+j.length)}return _+v.slice(A)}];function m(t,r,n,o,a,c){var u=n+t.length,s=o.length,l=d;return void 0!==a&&(a=i(a),l=h),e.call(c,l,(function(e,i){var c;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(u);case"<":c=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return e;if(l>s){var f=v(l/10);return 0===f?e:f<=s?void 0===o[f-1]?i.charAt(1):o[f-1]+i.charAt(1):e}c=o[l-1]}return void 0===c?"":c}))}}))},function(t,e,r){var n=r(6),o=r(56),i=r(2)("species");t.exports=function(t,e){var r,a=n(t).constructor;return void 0===a||null==(r=n(a)[i])?e:o(r)}},function(t,e,r){"use strict";var n=r(0),o=r(99).trim;n({target:"String",proto:!0,forced:r(140)("trim")},{trim:function(){return o(this)}})},function(t,e,r){var n=r(1),o=r(100);t.exports=function(t){return n((function(){return!!o[t]()||"
"!="
"[t]()||o[t].name!==t}))}},function(t,e,r){var n=r(8),o=r(74),i=r(11),a=Math.ceil,c=function(t){return function(e,r,c){var u,s,l=String(i(e)),f=l.length,p=void 0===c?" ":String(c),v=n(r);return v<=f||""==p?l:(u=v-f,(s=o.call(p,a(u/p.length))).length>u&&(s=s.slice(0,u)),t?l+s:s+l)}};t.exports={start:c(!1),end:c(!0)}},function(t,e,r){var n=r(91);t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(n)},function(t,e,r){"use strict";var n=r(0),o=r(18),i=r(144),a=r(74),c=r(1),u=1..toFixed,s=Math.floor,l=function(t,e,r){return 0===e?r:e%2==1?l(t,e-1,r*t):l(t*t,e/2,r)};n({target:"Number",proto:!0,forced:u&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c((function(){u.call({})}))},{toFixed:function(t){var e,r,n,c,u=i(this),f=o(t),p=[0,0,0,0,0,0],v="",h="0",d=function(t,e){for(var r=-1,n=e;++r<6;)n+=t*p[r],p[r]=n%1e7,n=s(n/1e7)},g=function(t){for(var e=6,r=0;--e>=0;)r+=p[e],p[e]=s(r/t),r=r%t*1e7},y=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==p[t]){var r=String(p[t]);e=""===e?r:e+a.call("0",7-r.length)+r}return e};if(f<0||f>20)throw RangeError("Incorrect fraction digits");if(u!=u)return"NaN";if(u<=-1e21||u>=1e21)return String(u);if(u<0&&(v="-",u=-u),u>1e-21)if(r=(e=function(t){for(var e=0,r=t;r>=4096;)e+=12,r/=4096;for(;r>=2;)e+=1,r/=2;return e}(u*l(2,69,1))-69)<0?u*l(2,-e,1):u/l(2,e,1),r*=4503599627370496,(e=52-e)>0){for(d(0,r),n=f;n>=7;)d(1e7,0),n-=7;for(d(l(10,n,1),0),n=e-1;n>=23;)g(1<<23),n-=23;g(1<<n),d(1,1),g(2),h=y()}else d(0,r),d(1<<-e,0),h=y()+a.call("0",f);return h=f>0?v+((c=h.length)<=f?"0."+a.call("0",f-c)+h:h.slice(0,c-f)+"."+h.slice(c-f)):v+h}})},function(t,e,r){var n=r(16);t.exports=function(t){if("number"!=typeof t&&"Number"!=n(t))throw TypeError("Incorrect invocation");return+t}},function(t,e,r){"use strict";r.r(e);var n={};r.r(n),r.d(n,"on",(function(){return l})),r.d(n,"off",(function(){return f})),r.d(n,"createElementFromString",(function(){return p})),r.d(n,"createFromTemplate",(function(){return v})),r.d(n,"eventPath",(function(){return h})),r.d(n,"resolveElement",(function(){return d})),r.d(n,"adjustableInputNumbers",(function(){return g}));r(45),r(58),r(59),r(60),r(61),r(92),r(39),r(63),r(121),r(122),r(40),r(65),r(126),r(127),r(66),r(41),r(67),r(68),r(69),r(42),r(28),r(29),r(30),r(70),r(103),r(132),r(104),r(44),r(75),r(135),r(137),r(76),r(139);function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(Object(r),!0).forEach((function(e){a(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(t){var e=0;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(t=function(t,e){if(!t)return;if("string"==typeof t)return u(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return u(t,e)}(t)))return function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(e=t[Symbol.iterator]()).next.bind(e)}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function s(t,e,r,n){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};e instanceof HTMLCollection||e instanceof NodeList?e=Array.from(e):Array.isArray(e)||(e=[e]),Array.isArray(r)||(r=[r]);for(var a,u=c(e);!(a=u()).done;)for(var s,l=a.value,f=c(r);!(s=f()).done;){var p=s.value;l[t](p,n,i({capture:!1},o))}return Array.prototype.slice.call(arguments,1)}var l=s.bind(null,"addEventListener"),f=s.bind(null,"removeEventListener");function p(t){var e=document.createElement("div");return e.innerHTML=t.trim(),e.firstElementChild}function v(t){var e=function(t,e){var r=t.getAttribute(e);return t.removeAttribute(e),r};return function t(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=e(r,":obj"),i=e(r,":ref"),a=o?n[o]={}:n;i&&(n[i]=r);for(var c=0,u=Array.from(r.children);c<u.length;c++){var s=u[c],l=e(s,":arr"),f=t(s,l?{}:a);l&&(a[l]||(a[l]=[])).push(Object.keys(f).length?f:s)}return n}(p(t))}function h(t){var e=t.path||t.composedPath&&t.composedPath();if(e)return e;var r=t.target.parentElement;for(e=[t.target,r];r=r.parentElement;)e.push(r);return e.push(document,window),e}function d(t){return t instanceof Element?t:"string"==typeof t?t.split(/>>/g).reduce((function(t,e,r,n){return t=t.querySelector(e),r<n.length-1?t.shadowRoot:t}),document):null}function g(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t){return t};function r(r){var n=[.001,.01,.1][Number(r.shiftKey||2*r.ctrlKey)]*(r.deltaY<0?1:-1),o=0,i=t.selectionStart;t.value=t.value.replace(/[\d.]+/g,(function(t,r){return r<=i&&r+t.length>=i?(i=r,e(Number(t),n,o)):(o++,t)})),t.focus(),t.setSelectionRange(i,i),r.preventDefault(),t.dispatchEvent(new Event("input"))}l(t,"focus",(function(){return l(window,"wheel",r,{passive:!1})})),l(t,"blur",(function(){return f(window,"wheel",r)}))}var y=r(110),b=(r(107),r(108),r(109),Math.min),m=Math.max,x=Math.floor,S=Math.round;function w(t,e,r){e/=100,r/=100;var n=x(t=t/360*6),o=t-n,i=r*(1-e),a=r*(1-o*e),c=r*(1-(1-o)*e),u=n%6;return[255*[r,a,i,i,c,r][u],255*[c,r,r,a,i,i][u],255*[i,i,c,r,r,a][u]]}function O(t,e,r){return w(t,e,r).map((function(t){return S(t).toString(16).padStart(2,"0")}))}function _(t,e,r){var n=w(t,e,r),o=n[0]/255,i=n[1]/255,a=n[2]/255,c=b(1-o,1-i,1-a);return[100*(1===c?0:(1-o-c)/(1-c)),100*(1===c?0:(1-i-c)/(1-c)),100*(1===c?0:(1-a-c)/(1-c)),100*c]}function A(t,e,r){var n=(2-(e/=100))*(r/=100)/2;return 0!==n&&(e=1===n?0:n<.5?e*r/(2*n):e*r/(2-2*n)),[t,100*e,100*n]}function E(t,e,r){var n,o,i=b(t/=255,e/=255,r/=255),a=m(t,e,r),c=a-i;if(0===c)n=o=0;else{o=c/a;var u=((a-t)/6+c/2)/c,s=((a-e)/6+c/2)/c,l=((a-r)/6+c/2)/c;t===a?n=l-s:e===a?n=1/3+u-l:r===a&&(n=2/3+s-u),n<0?n+=1:n>1&&(n-=1)}return[360*n,100*o,100*a]}function j(t,e,r,n){e/=100,r/=100;var o=255*(1-b(1,(t/=100)*(1-(n/=100))+n)),i=255*(1-b(1,e*(1-n)+n)),a=255*(1-b(1,r*(1-n)+n));return[].concat(E(o,i,a))}function C(t,e,r){e/=100;var n=2*(e*=(r/=100)<.5?r:1-r)/(r+e)*100,o=100*(r+e);return[t,isNaN(n)?0:n,o]}function P(t){return E.apply(void 0,t.match(/.{2}/g).map((function(t){return parseInt(t,16)})))}function k(t){t=t.match(/^[a-zA-Z]+$/)?function(t){if("black"===t.toLowerCase())return"#000";var e=document.createElement("canvas").getContext("2d");return e.fillStyle=t,"#000"===e.fillStyle?null:e.fillStyle}(t):t;var e,r={cmyk:/^cmyk[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)/i,rgba:/^((rgba)|rgb)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i,hsla:/^((hsla)|hsl)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i,hsva:/^((hsva)|hsv)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i,hexa:/^#?(([\dA-Fa-f]{3,4})|([\dA-Fa-f]{6})|([\dA-Fa-f]{8}))$/i},n=function(t){return t.map((function(t){return/^(|\d+)\.\d+|\d+$/.test(t)?Number(t):void 0}))};t:for(var o in r)if(e=r[o].exec(t)){var i=function(t){return!!e[2]==("number"==typeof t)};switch(o){case"cmyk":var a=n(e),c=a[1],u=a[2],s=a[3],l=a[4];if(c>100||u>100||s>100||l>100)break t;return{values:j(c,u,s,l),type:o};case"rgba":var f=n(e),p=f[3],v=f[4],h=f[5],d=f[6];if(p>255||v>255||h>255||d<0||d>1||!i(d))break t;return{values:[].concat(E(p,v,h),[d]),a:d,type:o};case"hexa":var g=e[1];4!==g.length&&3!==g.length||(g=g.split("").map((function(t){return t+t})).join(""));var y=g.substring(0,6),b=g.substring(6);return b=b?parseInt(b,16)/255:void 0,{values:[].concat(P(y),[b]),a:b,type:o};case"hsla":var m=n(e),x=m[3],S=m[4],w=m[5],O=m[6];if(x>360||S>100||w>100||O<0||O>1||!i(O))break t;return{values:[].concat(C(x,S,w),[O]),a:O,type:o};case"hsva":var _=n(e),A=_[3],k=_[4],I=_[5],R=_[6];if(A>360||k>100||I>100||R<0||R>1||!i(R))break t;return{values:[A,k,I,R],a:R,type:o}}}return{values:null,type:null}}r(143);function I(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=function(t,e){return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;return e(~r?t.map((function(t){return Number(t.toFixed(r))})):t)}},i={h:t,s:e,v:r,a:n,toHSVA:function(){var t=[i.h,i.s,i.v,i.a];return t.toString=o(t,(function(t){return"hsva("+t[0]+", "+t[1]+"%, "+t[2]+"%, "+i.a+")"})),t},toHSLA:function(){var t=[].concat(A(i.h,i.s,i.v),[i.a]);return t.toString=o(t,(function(t){return"hsla("+t[0]+", "+t[1]+"%, "+t[2]+"%, "+i.a+")"})),t},toRGBA:function(){var t=[].concat(w(i.h,i.s,i.v),[i.a]);return t.toString=o(t,(function(t){return"rgba("+t[0]+", "+t[1]+", "+t[2]+", "+i.a+")"})),t},toCMYK:function(){var t=_(i.h,i.s,i.v);return t.toString=o(t,(function(t){return"cmyk("+t[0]+"%, "+t[1]+"%, "+t[2]+"%, "+t[3]+"%)"})),t},toHEXA:function(){var t=O(i.h,i.s,i.v),e=i.a>=1?"":Number((255*i.a).toFixed(0)).toString(16).toUpperCase().padStart(2,"0");return e&&t.push(e),t.toString=function(){return"#"+t.join("").toUpperCase()},t},clone:function(){return I(i.h,i.s,i.v,i.a)}};return i}var R=function(t){return Math.max(Math.min(t,1),0)};function T(t){var e={options:Object.assign({lock:null,onchange:function(){return 0},onstop:function(){return 0}},t),_keyboard:function(t){var r=e.options,n=t.type,o=t.key;if(document.activeElement===r.wrapper){var i=e.options.lock,a="ArrowUp"===o,c="ArrowRight"===o,u="ArrowDown"===o,s="ArrowLeft"===o;if("keydown"===n&&(a||c||u||s)){var l=0,f=0;"v"===i?l=a||c?1:-1:"h"===i?l=a||c?-1:1:(f=a?-1:u?1:0,l=s?-1:c?1:0),e.update(R(e.cache.x+.01*l),R(e.cache.y+.01*f)),t.preventDefault()}else o.startsWith("Arrow")&&(e.options.onstop(),t.preventDefault())}},_tapstart:function(t){l(document,["mouseup","touchend","touchcancel"],e._tapstop),l(document,["mousemove","touchmove"],e._tapmove),t.cancelable&&t.preventDefault(),e._tapmove(t)},_tapmove:function(t){var r=e.options,n=e.cache,o=r.lock,i=r.element,a=r.wrapper.getBoundingClientRect(),c=0,u=0;if(t){var s=t&&t.touches&&t.touches[0];c=t?(s||t).clientX:0,u=t?(s||t).clientY:0,c<a.left?c=a.left:c>a.left+a.width&&(c=a.left+a.width),u<a.top?u=a.top:u>a.top+a.height&&(u=a.top+a.height),c-=a.left,u-=a.top}else n&&(c=n.x*a.width,u=n.y*a.height);"h"!==o&&(i.style.left="calc("+c/a.width*100+"% - "+i.offsetWidth/2+"px)"),"v"!==o&&(i.style.top="calc("+u/a.height*100+"% - "+i.offsetHeight/2+"px)"),e.cache={x:c/a.width,y:u/a.height};var l=R(c/a.width),f=R(u/a.height);switch(o){case"v":return r.onchange(l);case"h":return r.onchange(f);default:return r.onchange(l,f)}},_tapstop:function(){e.options.onstop(),f(document,["mouseup","touchend","touchcancel"],e._tapstop),f(document,["mousemove","touchmove"],e._tapmove)},trigger:function(){e._tapmove()},update:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=e.options.wrapper.getBoundingClientRect(),o=n.left,i=n.top,a=n.width,c=n.height;"h"===e.options.lock&&(r=t),e._tapmove({clientX:o+a*t,clientY:i+c*r})},destroy:function(){var t=e.options,r=e._tapstart,n=e._keyboard;f(document,["keydown","keyup"],n),f([t.wrapper,t.element],"mousedown",r),f([t.wrapper,t.element],"touchstart",r,{passive:!1})}},r=e.options,n=e._tapstart,o=e._keyboard;return l([r.wrapper,r.element],"mousedown",n),l([r.wrapper,r.element],"touchstart",n,{passive:!1}),l(document,["keydown","keyup"],o),e}function L(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t=Object.assign({onchange:function(){return 0},className:"",elements:[]},t);var e=l(t.elements,"click",(function(e){t.elements.forEach((function(r){return r.classList[e.target===r?"add":"remove"](t.className)})),t.onchange(e)}));return{destroy:function(){return f.apply(n,e)}}}function N(t){var e=0;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(t=function(t,e){if(!t)return;if("string"==typeof t)return F(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return F(t,e)}(t)))return function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(e=t[Symbol.iterator]()).next.bind(e)}function F(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function M(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function D(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?M(Object(r),!0).forEach((function(e){B(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):M(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function B(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}
|
3 |
+
/*! NanoPop 1.3.0 MIT | https://github.com/Simonwep/nanopop */var U,H=((U=function(){function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.positionFlipOrder,i=void 0===o?t.defaultPositionFlipOrder:o,a=n.variantFlipOrder,c=void 0===a?t.defaultVariantFlipOrder:a,u=n.container,s=void 0===u?document.documentElement.getBoundingClientRect():u,l=n.forceApplyOnFailure,f=void 0!==l&&l,p=n.margin,v=void 0===p?8:p,h=n.position,d=void 0===h?"bottom-start":h;this.o={positionFlipOrder:i,variantFlipOrder:c,reference:e,popper:r,position:d,container:s,forceApplyOnFailure:f,margin:v}}return t.prototype.update=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.o,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.o=D(D({},this.o),t),n=r.container,o=r.reference,i=r.popper,a=r.margin,c=r.position,u=r.forceApplyOnFailure,s=r.variantFlipOrder,l=r.positionFlipOrder;i.style.left="0",i.style.top="0";for(var f,p=o.getBoundingClientRect(),v=i.getBoundingClientRect(),h={t:p.top-v.height-a,b:p.bottom+a,r:p.right+a,l:p.left-v.width-a},d={vm:-v.width/2+(p.left+p.width/2),vs:p.left,ve:p.left+p.width-v.width,hs:p.bottom-p.height,he:p.bottom-v.height,hm:p.bottom-p.height/2-v.height/2},g=c.split("-"),y=g[0],b=g[1],m=void 0===b?"middle":b,x=l[y],S=s[m],w=n.top,O=n.left,_=n.bottom,A=n.right,E=N(x);!(f=E()).done;){var j=f.value,C="t"===j||"b"===j,P=h[j],k=C?["top","left"]:["left","top"],I=k[0],R=k[1],T=C?[v.height,v.width]:[v.width,v.height],L=T[0],F=T[1],M=C?[_,A]:[A,_],B=M[0],U=M[1],H=C?[w,O]:[O,w],$=H[0],V=H[1];if(e||!(P<$||P+L>B))for(var G,W=N(S);!(G=W()).done;){var z=G.value,X=d[(C?"v":"h")+z];if(e||!(X<V||X+F>U))return i.style[R]=X-v[R]+"px",i.style[I]=P-v[I]+"px",j+z}}return u?this.update(void 0,!0):null},t}()).version="1.3.0",U.defaultVariantFlipOrder={start:"sme",middle:"mse",end:"ems"},U.defaultPositionFlipOrder={top:"tbrl",right:"rltb",bottom:"btrl",left:"lrbt"},U);function $(t){var e=0;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(t=function(t,e){if(!t)return;if("string"==typeof t)return V(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return V(t,e)}(t)))return function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(e=t[Symbol.iterator]()).next.bind(e)}function V(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function G(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function W(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var z=function(){function t(e){var r=this;W(this,"_initializingActive",!0),W(this,"_recalc",!0),W(this,"_nanopop",null),W(this,"_root",null),W(this,"_color",I()),W(this,"_lastColor",I()),W(this,"_swatchColors",[]),W(this,"_eventListener",{init:[],save:[],hide:[],show:[],clear:[],change:[],changestop:[],cancel:[],swatchselect:[]}),this.options=e=Object.assign(function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?G(Object(r),!0).forEach((function(e){W(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},t.DEFAULT_OPTIONS),e);var n=e,o=n.swatches,i=n.components,a=n.theme,c=n.sliders,u=n.lockOpacity,s=n.padding;["nano","monolith"].includes(a)&&!c&&(e.sliders="h"),i.interaction||(i.interaction={});var l=i.preview,f=i.opacity,p=i.hue,v=i.palette;i.opacity=!u&&f,i.palette=v||l||f||p,this._preBuild(),this._buildComponents(),this._bindEvents(),this._finalBuild(),o&&o.length&&o.forEach((function(t){return r.addSwatch(t)}));var h=this._root,d=h.button,g=h.app;this._nanopop=new H(d,g,{margin:s}),d.setAttribute("role","button"),d.setAttribute("aria-label",this._t("btn:toggle"));var y=this;requestAnimationFrame((function t(){if(!g.offsetWidth&&g.parentElement!==e.container)return requestAnimationFrame(t);y.setColor(e.default),y._rePositioningPicker(),e.defaultRepresentation&&(y._representation=e.defaultRepresentation,y.setColorRepresentation(y._representation)),e.showAlways&&y.show(),y._initializingActive=!1,y._emit("init")}))}var e=t.prototype;return e._preBuild=function(){for(var t,e,r,n,o,i,a,c,u,s,l,f,p=this.options,h=0,g=["el","container"];h<g.length;h++){var y=g[h];p[y]=d(p[y])}this._root=(e=(t=this).options,r=e.components,n=e.useAsButton,o=e.inline,i=e.appClass,a=e.theme,c=e.lockOpacity,u=function(t){return t?"":'style="display:none" hidden'},l=v('\n <div :ref="root" class="pickr">\n\n '+(n?"":'<button type="button" :ref="button" class="pcr-button"></button>')+'\n\n <div :ref="app" class="pcr-app '+(i||"")+'" data-theme="'+a+'" '+(o?'style="position: unset"':"")+' aria-label="'+(s=function(e){return t._t(e)})("ui:dialog")+'" role="window">\n <div class="pcr-selection" '+u(r.palette)+'>\n <div :obj="preview" class="pcr-color-preview" '+u(r.preview)+'>\n <button type="button" :ref="lastColor" class="pcr-last-color" aria-label="'+s("btn:last-color")+'"></button>\n <div :ref="currentColor" class="pcr-current-color"></div>\n </div>\n\n <div :obj="palette" class="pcr-color-palette">\n <div :ref="picker" class="pcr-picker"></div>\n <div :ref="palette" class="pcr-palette" tabindex="0" aria-label="'+s("aria:palette")+'" role="listbox"></div>\n </div>\n\n <div :obj="hue" class="pcr-color-chooser" '+u(r.hue)+'>\n <div :ref="picker" class="pcr-picker"></div>\n <div :ref="slider" class="pcr-hue pcr-slider" tabindex="0" aria-label="'+s("aria:hue")+'" role="slider"></div>\n </div>\n\n <div :obj="opacity" class="pcr-color-opacity" '+u(r.opacity)+'>\n <div :ref="picker" class="pcr-picker"></div>\n <div :ref="slider" class="pcr-opacity pcr-slider" tabindex="0" aria-label="'+s("aria:opacity")+'" role="slider"></div>\n </div>\n </div>\n\n <div class="pcr-swatches '+(r.palette?"":"pcr-last")+'" :ref="swatches"></div>\n\n <div :obj="interaction" class="pcr-interaction" '+u(Object.keys(r.interaction).length)+'>\n <input :ref="result" class="pcr-result" type="text" spellcheck="false" '+u(r.interaction.input)+' aria-label="'+s("aria:input")+'">\n\n <input :arr="options" class="pcr-type" data-type="HEXA" value="'+(c?"HEX":"HEXA")+'" type="button" '+u(r.interaction.hex)+'>\n <input :arr="options" class="pcr-type" data-type="RGBA" value="'+(c?"RGB":"RGBA")+'" type="button" '+u(r.interaction.rgba)+'>\n <input :arr="options" class="pcr-type" data-type="HSLA" value="'+(c?"HSL":"HSLA")+'" type="button" '+u(r.interaction.hsla)+'>\n <input :arr="options" class="pcr-type" data-type="HSVA" value="'+(c?"HSV":"HSVA")+'" type="button" '+u(r.interaction.hsva)+'>\n <input :arr="options" class="pcr-type" data-type="CMYK" value="CMYK" type="button" '+u(r.interaction.cmyk)+'>\n\n <input :ref="save" class="pcr-save" value="'+s("btn:save")+'" type="button" '+u(r.interaction.save)+' aria-label="'+s("aria:btn:save")+'">\n <input :ref="cancel" class="pcr-cancel" value="'+s("btn:cancel")+'" type="button" '+u(r.interaction.cancel)+' aria-label="'+s("aria:btn:cancel")+'">\n <input :ref="clear" class="pcr-clear" value="'+s("btn:clear")+'" type="button" '+u(r.interaction.clear)+' aria-label="'+s("aria:btn:clear")+'">\n </div>\n </div>\n </div>\n '),(f=l.interaction).options.find((function(t){return!t.hidden&&!t.classList.add("active")})),f.type=function(){return f.options.find((function(t){return t.classList.contains("active")}))},l),p.useAsButton&&(this._root.button=p.el),p.container.appendChild(this._root.root)},e._finalBuild=function(){var t=this.options,e=this._root;if(t.container.removeChild(e.root),t.inline){var r=t.el.parentElement;t.el.nextSibling?r.insertBefore(e.app,t.el.nextSibling):r.appendChild(e.app)}else t.container.appendChild(e.app);t.useAsButton?t.inline&&t.el.remove():t.el.parentNode.replaceChild(e.root,t.el),t.disabled&&this.disable(),t.comparison||(e.button.style.transition="none",t.useAsButton||(e.preview.lastColor.style.transition="none")),this.hide()},e._buildComponents=function(){var t=this,e=this,r=this.options.components,n=(e.options.sliders||"v").repeat(2),o=n.match(/^[vh]+$/g)?n:[],i=o[0],a=o[1],c=function(){return t._color||(t._color=t._lastColor.clone())},u={palette:T({element:e._root.palette.picker,wrapper:e._root.palette.palette,onstop:function(){return e._emit("changestop",e)},onchange:function(t,n){if(r.palette){var o=c(),i=e._root,a=e.options,u=i.preview,s=u.lastColor,l=u.currentColor;e._recalc&&(o.s=100*t,o.v=100-100*n,o.v<0&&(o.v=0),e._updateOutput());var f=o.toRGBA().toString(0);this.element.style.background=f,this.wrapper.style.background="\n linear-gradient(to top, rgba(0, 0, 0, "+o.a+"), transparent),\n linear-gradient(to left, hsla("+o.h+", 100%, 50%, "+o.a+"), rgba(255, 255, 255, "+o.a+"))\n ",a.comparison?a.useAsButton||e._lastColor||(s.style.color=f):(i.button.style.color=f,i.button.classList.remove("clear"));for(var p,v=o.toHEXA().toString(),h=$(e._swatchColors);!(p=h()).done;){var d=p.value,g=d.el,y=d.color;g.classList[v===y.toHEXA().toString()?"add":"remove"]("pcr-active")}l.style.color=f}}}),hue:T({lock:"v"===a?"h":"v",element:e._root.hue.picker,wrapper:e._root.hue.slider,onstop:function(){return e._emit("changestop",e)},onchange:function(t){if(r.hue&&r.palette){var n=c();e._recalc&&(n.h=360*t),this.element.style.backgroundColor="hsl("+n.h+", 100%, 50%)",u.palette.trigger()}}}),opacity:T({lock:"v"===i?"h":"v",element:e._root.opacity.picker,wrapper:e._root.opacity.slider,onstop:function(){return e._emit("changestop",e)},onchange:function(t){if(r.opacity&&r.palette){var n=c();e._recalc&&(n.a=Math.round(100*t)/100),this.element.style.background="rgba(0, 0, 0, "+n.a+")",u.palette.trigger()}}}),selectable:L({elements:e._root.interaction.options,className:"active",onchange:function(t){e._representation=t.target.getAttribute("data-type").toUpperCase(),e._recalc&&e._updateOutput()}})};this._components=u},e._bindEvents=function(){var t=this,e=this._root,r=this.options,n=[l(e.interaction.clear,"click",(function(){return t._clearColor()})),l([e.interaction.cancel,e.preview.lastColor],"click",(function(){t._emit("cancel",t),t.setHSVA.apply(t,(t._lastColor||t._color).toHSVA().concat([!0]))})),l(e.interaction.save,"click",(function(){!t.applyColor()&&!r.showAlways&&t.hide()})),l(e.interaction.result,["keyup","input"],(function(e){t.setColor(e.target.value,!0)&&!t._initializingActive&&t._emit("change",t._color),e.stopImmediatePropagation()})),l(e.interaction.result,["focus","blur"],(function(e){t._recalc="blur"===e.type,t._recalc&&t._updateOutput()})),l([e.palette.palette,e.palette.picker,e.hue.slider,e.hue.picker,e.opacity.slider,e.opacity.picker],["mousedown","touchstart"],(function(){return t._recalc=!0}),{passive:!0})];if(!r.showAlways){var o=r.closeWithKey;n.push(l(e.button,"click",(function(){return t.isOpen()?t.hide():t.show()})),l(document,"keyup",(function(e){return t.isOpen()&&(e.key===o||e.code===o)&&t.hide()})),l(document,["touchstart","mousedown"],(function(r){t.isOpen()&&!h(r).some((function(t){return t===e.app||t===e.button}))&&t.hide()}),{capture:!0}))}if(r.adjustableNumbers){var i={rgba:[255,255,255,1],hsva:[360,100,100,1],hsla:[360,100,100,1],cmyk:[100,100,100,100]};g(e.interaction.result,(function(e,r,n){var o=i[t.getColorRepresentation().toLowerCase()];if(o){var a=o[n],c=e+(a>=100?1e3*r:r);return c<=0?0:Number((c<a?c:a).toPrecision(3))}return e}))}if(r.autoReposition&&!r.inline){var a=null,c=this;n.push(l(window,["scroll","resize"],(function(){c.isOpen()&&(r.closeOnScroll&&c.hide(),null===a?(a=setTimeout((function(){return a=null}),100),requestAnimationFrame((function t(){c._rePositioningPicker(),null!==a&&requestAnimationFrame(t)}))):(clearTimeout(a),a=setTimeout((function(){return a=null}),100)))}),{capture:!0}))}this._eventBindings=n},e._rePositioningPicker=function(){var t=this.options;if(!t.inline&&!this._nanopop.update({position:t.position,forceApplyOnFailure:!this._recalc})){var e=this._root.app,r=e.getBoundingClientRect();e.style.top=(window.innerHeight-r.height)/2+"px",e.style.left=(window.innerWidth-r.width)/2+"px"}},e._updateOutput=function(){var t=this._root,e=this._color,r=this.options;if(t.interaction.type()){var n="to"+t.interaction.type().getAttribute("data-type");t.interaction.result.value="function"==typeof e[n]?e[n]().toString(r.outputPrecision):""}!this._initializingActive&&this._recalc&&this._emit("change",e)},e._clearColor=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this._root,r=this.options;r.useAsButton||(e.button.style.color="rgba(0, 0, 0, 0.15)"),e.button.classList.add("clear"),r.showAlways||this.hide(),this._lastColor=null,this._initializingActive||t||(this._emit("save",null),this._emit("clear",this))},e._parseLocalColor=function(t){var e=k(t),r=e.values,n=e.type,o=e.a,i=this.options.lockOpacity,a=void 0!==o&&1!==o;return r&&3===r.length&&(r[3]=void 0),{values:!r||i&&a?null:r,type:n}},e._t=function(e){return this.options.i18n[e]||t.I18N_DEFAULTS[e]},e._emit=function(t){for(var e=this,r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];this._eventListener[t].forEach((function(t){return t.apply(void 0,n.concat([e]))}))},e.on=function(t,e){return this._eventListener[t].push(e),this},e.off=function(t,e){var r=this._eventListener[t]||[],n=r.indexOf(e);return~n&&r.splice(n,1),this},e.addSwatch=function(t){var e=this,r=this._parseLocalColor(t).values;if(r){var n=this._swatchColors,o=this._root,i=I.apply(void 0,r),a=p('<button type="button" style="color: '+i.toRGBA().toString(0)+'" aria-label="'+this._t("btn:swatch")+'"/>');return o.swatches.appendChild(a),n.push({el:a,color:i}),this._eventBindings.push(l(a,"click",(function(){e.setHSVA.apply(e,i.toHSVA().concat([!0])),e._emit("swatchselect",i),e._emit("change",i)}))),!0}return!1},e.removeSwatch=function(t){var e=this._swatchColors[t];if(e){var r=e.el;return this._root.swatches.removeChild(r),this._swatchColors.splice(t,1),!0}return!1},e.applyColor=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this._root,r=e.preview,n=e.button,o=this._color.toRGBA().toString(0);return r.lastColor.style.color=o,this.options.useAsButton||(n.style.color=o),n.classList.remove("clear"),this._lastColor=this._color.clone(),this._initializingActive||t||this._emit("save",this._color),this},e.destroy=function(){var t=this;this._eventBindings.forEach((function(t){return f.apply(n,t)})),Object.keys(this._components).forEach((function(e){return t._components[e].destroy()}))},e.destroyAndRemove=function(){var t=this;this.destroy();var e=this._root,r=e.root,n=e.app;r.parentElement&&r.parentElement.removeChild(r),n.parentElement.removeChild(n),Object.keys(this).forEach((function(e){return t[e]=null}))},e.hide=function(){return this._root.app.classList.remove("visible"),this._emit("hide",this),this},e.show=function(){return this.options.disabled||(this._root.app.classList.add("visible"),this._rePositioningPicker(),this._emit("show",this)),this},e.isOpen=function(){return this._root.app.classList.contains("visible")},e.setHSVA=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:360,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=this._recalc;if(this._recalc=!1,t<0||t>360||e<0||e>100||r<0||r>100||n<0||n>1)return!1;this._color=I(t,e,r,n);var a=this._components,c=a.hue,u=a.opacity,s=a.palette;return c.update(t/360),u.update(n),s.update(e/100,1-r/100),o||this.applyColor(),i&&this._updateOutput(),this._recalc=i,!0},e.setColor=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null===t)return this._clearColor(e),!0;var r=this._parseLocalColor(t),n=r.values,o=r.type;if(n){var i=o.toUpperCase(),a=this._root.interaction.options,c=a.find((function(t){return t.getAttribute("data-type")===i}));if(c&&!c.hidden)for(var u,s=$(a);!(u=s()).done;){var l=u.value;l.classList[l===c?"add":"remove"]("active")}return!!this.setHSVA.apply(this,n.concat([e]))&&this.setColorRepresentation(i)}return!1},e.setColorRepresentation=function(t){return t=t.toUpperCase(),!!this._root.interaction.options.find((function(e){return e.getAttribute("data-type").startsWith(t)&&!e.click()}))},e.getColorRepresentation=function(){return this._representation},e.getColor=function(){return this._color},e.getSelectedColor=function(){return this._lastColor},e.getRoot=function(){return this._root},e.disable=function(){return this.hide(),this.options.disabled=!0,this._root.button.classList.add("disabled"),this},e.enable=function(){return this.options.disabled=!1,this._root.button.classList.remove("disabled"),this},t}();W(z,"utils",n),W(z,"version",y.a),W(z,"I18N_DEFAULTS",{"ui:dialog":"color picker dialog","btn:toggle":"toggle color picker dialog","btn:swatch":"color swatch","btn:last-color":"use previous color","btn:save":"Save","btn:cancel":"Cancel","btn:clear":"Clear","aria:btn:save":"save and close","aria:btn:cancel":"cancel and close","aria:btn:clear":"clear and close","aria:input":"color input field","aria:palette":"color selection area","aria:hue":"hue selection slider","aria:opacity":"selection slider"}),W(z,"DEFAULT_OPTIONS",{appClass:null,theme:"classic",useAsButton:!1,padding:8,disabled:!1,comparison:!0,closeOnScroll:!1,outputPrecision:0,lockOpacity:!1,autoReposition:!0,container:"body",components:{interaction:{}},i18n:{},swatches:null,inline:!1,sliders:null,default:"#42445a",defaultRepresentation:null,position:"bottom-middle",adjustableNumbers:!0,showAlways:!1,closeWithKey:"Escape"}),W(z,"create",(function(t){return new z(t)}));e.default=z}]).default}));
|
4 |
+
//# sourceMappingURL=pickr.es5.min.js.map
|
assets/js/color-pickr/pickr.js
ADDED
@@ -0,0 +1,910 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! Pickr 1.7.1 MIT | https://github.com/Simonwep/pickr */
|
2 |
+
!(function (t, e) {
|
3 |
+
"object" == typeof exports && "object" == typeof module ? (module.exports = e()) : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? (exports.Pickr = e()) : (t.Pickr = e());
|
4 |
+
})(window, function () {
|
5 |
+
return (function (t) {
|
6 |
+
var e = {};
|
7 |
+
function o(n) {
|
8 |
+
if (e[n]) return e[n].exports;
|
9 |
+
var r = (e[n] = { i: n, l: !1, exports: {} });
|
10 |
+
return t[n].call(r.exports, r, r.exports, o), (r.l = !0), r.exports;
|
11 |
+
}
|
12 |
+
return (
|
13 |
+
(o.m = t),
|
14 |
+
(o.c = e),
|
15 |
+
(o.d = function (t, e, n) {
|
16 |
+
o.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: n });
|
17 |
+
}),
|
18 |
+
(o.r = function (t) {
|
19 |
+
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 });
|
20 |
+
}),
|
21 |
+
(o.t = function (t, e) {
|
22 |
+
if ((1 & e && (t = o(t)), 8 & e)) return t;
|
23 |
+
if (4 & e && "object" == typeof t && t && t.__esModule) return t;
|
24 |
+
var n = Object.create(null);
|
25 |
+
if ((o.r(n), Object.defineProperty(n, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t))
|
26 |
+
for (var r in t)
|
27 |
+
o.d(
|
28 |
+
n,
|
29 |
+
r,
|
30 |
+
function (e) {
|
31 |
+
return t[e];
|
32 |
+
}.bind(null, r)
|
33 |
+
);
|
34 |
+
return n;
|
35 |
+
}),
|
36 |
+
(o.n = function (t) {
|
37 |
+
var e =
|
38 |
+
t && t.__esModule
|
39 |
+
? function () {
|
40 |
+
return t.default;
|
41 |
+
}
|
42 |
+
: function () {
|
43 |
+
return t;
|
44 |
+
};
|
45 |
+
return o.d(e, "a", e), e;
|
46 |
+
}),
|
47 |
+
(o.o = function (t, e) {
|
48 |
+
return Object.prototype.hasOwnProperty.call(t, e);
|
49 |
+
}),
|
50 |
+
(o.p = ""),
|
51 |
+
o((o.s = 1))
|
52 |
+
);
|
53 |
+
})([
|
54 |
+
function (t) {
|
55 |
+
t.exports = JSON.parse('{"a":"1.7.1"}');
|
56 |
+
},
|
57 |
+
function (t, e, o) {
|
58 |
+
"use strict";
|
59 |
+
o.r(e);
|
60 |
+
var n = {};
|
61 |
+
function r(t, e) {
|
62 |
+
var o = Object.keys(t);
|
63 |
+
if (Object.getOwnPropertySymbols) {
|
64 |
+
var n = Object.getOwnPropertySymbols(t);
|
65 |
+
e &&
|
66 |
+
(n = n.filter(function (e) {
|
67 |
+
return Object.getOwnPropertyDescriptor(t, e).enumerable;
|
68 |
+
})),
|
69 |
+
o.push.apply(o, n);
|
70 |
+
}
|
71 |
+
return o;
|
72 |
+
}
|
73 |
+
function i(t) {
|
74 |
+
for (var e = 1; e < arguments.length; e++) {
|
75 |
+
var o = null != arguments[e] ? arguments[e] : {};
|
76 |
+
e % 2
|
77 |
+
? r(Object(o), !0).forEach(function (e) {
|
78 |
+
s(t, e, o[e]);
|
79 |
+
})
|
80 |
+
: Object.getOwnPropertyDescriptors
|
81 |
+
? Object.defineProperties(t, Object.getOwnPropertyDescriptors(o))
|
82 |
+
: r(Object(o)).forEach(function (e) {
|
83 |
+
Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(o, e));
|
84 |
+
});
|
85 |
+
}
|
86 |
+
return t;
|
87 |
+
}
|
88 |
+
function s(t, e, o) {
|
89 |
+
return e in t ? Object.defineProperty(t, e, { value: o, enumerable: !0, configurable: !0, writable: !0 }) : (t[e] = o), t;
|
90 |
+
}
|
91 |
+
function c(t, e, o, n, r = {}) {
|
92 |
+
e instanceof HTMLCollection || e instanceof NodeList ? (e = Array.from(e)) : Array.isArray(e) || (e = [e]), Array.isArray(o) || (o = [o]);
|
93 |
+
for (const s of e) for (const e of o) s[t](e, n, i({ capture: !1 }, r));
|
94 |
+
return Array.prototype.slice.call(arguments, 1);
|
95 |
+
}
|
96 |
+
o.r(n),
|
97 |
+
o.d(n, "on", function () {
|
98 |
+
return a;
|
99 |
+
}),
|
100 |
+
o.d(n, "off", function () {
|
101 |
+
return l;
|
102 |
+
}),
|
103 |
+
o.d(n, "createElementFromString", function () {
|
104 |
+
return p;
|
105 |
+
}),
|
106 |
+
o.d(n, "createFromTemplate", function () {
|
107 |
+
return u;
|
108 |
+
}),
|
109 |
+
o.d(n, "eventPath", function () {
|
110 |
+
return h;
|
111 |
+
}),
|
112 |
+
o.d(n, "resolveElement", function () {
|
113 |
+
return d;
|
114 |
+
}),
|
115 |
+
o.d(n, "adjustableInputNumbers", function () {
|
116 |
+
return f;
|
117 |
+
});
|
118 |
+
const a = c.bind(null, "addEventListener"),
|
119 |
+
l = c.bind(null, "removeEventListener");
|
120 |
+
function p(t) {
|
121 |
+
const e = document.createElement("div");
|
122 |
+
return (e.innerHTML = t.trim()), e.firstElementChild;
|
123 |
+
}
|
124 |
+
function u(t) {
|
125 |
+
const e = (t, e) => {
|
126 |
+
const o = t.getAttribute(e);
|
127 |
+
return t.removeAttribute(e), o;
|
128 |
+
},
|
129 |
+
o = (t, n = {}) => {
|
130 |
+
const r = e(t, ":obj"),
|
131 |
+
i = e(t, ":ref"),
|
132 |
+
s = r ? (n[r] = {}) : n;
|
133 |
+
i && (n[i] = t);
|
134 |
+
for (const n of Array.from(t.children)) {
|
135 |
+
const t = e(n, ":arr"),
|
136 |
+
r = o(n, t ? {} : s);
|
137 |
+
t && (s[t] || (s[t] = [])).push(Object.keys(r).length ? r : n);
|
138 |
+
}
|
139 |
+
return n;
|
140 |
+
};
|
141 |
+
return o(p(t));
|
142 |
+
}
|
143 |
+
function h(t) {
|
144 |
+
let e = t.path || (t.composedPath && t.composedPath());
|
145 |
+
if (e) return e;
|
146 |
+
let o = t.target.parentElement;
|
147 |
+
for (e = [t.target, o]; (o = o.parentElement); ) e.push(o);
|
148 |
+
return e.push(document, window), e;
|
149 |
+
}
|
150 |
+
function d(t) {
|
151 |
+
return t instanceof Element ? t : "string" == typeof t ? t.split(/>>/g).reduce((t, e, o, n) => ((t = t.querySelector(e)), o < n.length - 1 ? t.shadowRoot : t), document) : null;
|
152 |
+
}
|
153 |
+
function f(t, e = (t) => t) {
|
154 |
+
function o(o) {
|
155 |
+
const n = [0.001, 0.01, 0.1][Number(o.shiftKey || 2 * o.ctrlKey)] * (o.deltaY < 0 ? 1 : -1);
|
156 |
+
let r = 0,
|
157 |
+
i = t.selectionStart;
|
158 |
+
(t.value = t.value.replace(/[\d.]+/g, (t, o) => (o <= i && o + t.length >= i ? ((i = o), e(Number(t), n, r)) : (r++, t)))), t.focus(), t.setSelectionRange(i, i), o.preventDefault(), t.dispatchEvent(new Event("input"));
|
159 |
+
}
|
160 |
+
a(t, "focus", () => a(window, "wheel", o, { passive: !1 })), a(t, "blur", () => l(window, "wheel", o));
|
161 |
+
}
|
162 |
+
var b = o(0);
|
163 |
+
const { min: v, max: m, floor: y, round: g } = Math;
|
164 |
+
function _(t, e, o) {
|
165 |
+
(e /= 100), (o /= 100);
|
166 |
+
const n = y((t = (t / 360) * 6)),
|
167 |
+
r = t - n,
|
168 |
+
i = o * (1 - e),
|
169 |
+
s = o * (1 - r * e),
|
170 |
+
c = o * (1 - (1 - r) * e),
|
171 |
+
a = n % 6;
|
172 |
+
return [255 * [o, s, i, i, c, o][a], 255 * [c, o, o, s, i, i][a], 255 * [i, i, c, o, o, s][a]];
|
173 |
+
}
|
174 |
+
function w(t, e, o) {
|
175 |
+
const n = ((2 - (e /= 100)) * (o /= 100)) / 2;
|
176 |
+
return 0 !== n && (e = 1 === n ? 0 : n < 0.5 ? (e * o) / (2 * n) : (e * o) / (2 - 2 * n)), [t, 100 * e, 100 * n];
|
177 |
+
}
|
178 |
+
function O(t, e, o) {
|
179 |
+
const n = v((t /= 255), (e /= 255), (o /= 255)),
|
180 |
+
r = m(t, e, o),
|
181 |
+
i = r - n;
|
182 |
+
let s, c;
|
183 |
+
if (0 === i) s = c = 0;
|
184 |
+
else {
|
185 |
+
c = i / r;
|
186 |
+
const n = ((r - t) / 6 + i / 2) / i,
|
187 |
+
a = ((r - e) / 6 + i / 2) / i,
|
188 |
+
l = ((r - o) / 6 + i / 2) / i;
|
189 |
+
t === r ? (s = l - a) : e === r ? (s = 1 / 3 + n - l) : o === r && (s = 2 / 3 + a - n), s < 0 ? (s += 1) : s > 1 && (s -= 1);
|
190 |
+
}
|
191 |
+
return [360 * s, 100 * c, 100 * r];
|
192 |
+
}
|
193 |
+
function A(t, e, o, n) {
|
194 |
+
return (e /= 100), (o /= 100), [...O(255 * (1 - v(1, (t /= 100) * (1 - (n /= 100)) + n)), 255 * (1 - v(1, e * (1 - n) + n)), 255 * (1 - v(1, o * (1 - n) + n)))];
|
195 |
+
}
|
196 |
+
function k(t, e, o) {
|
197 |
+
e /= 100;
|
198 |
+
const n = ((2 * (e *= (o /= 100) < 0.5 ? o : 1 - o)) / (o + e)) * 100,
|
199 |
+
r = 100 * (o + e);
|
200 |
+
return [t, isNaN(n) ? 0 : n, r];
|
201 |
+
}
|
202 |
+
function C(t) {
|
203 |
+
return O(...t.match(/.{2}/g).map((t) => parseInt(t, 16)));
|
204 |
+
}
|
205 |
+
function j(t) {
|
206 |
+
t = t.match(/^[a-zA-Z]+$/)
|
207 |
+
? (function (t) {
|
208 |
+
if ("black" === t.toLowerCase()) return "#000";
|
209 |
+
const e = document.createElement("canvas").getContext("2d");
|
210 |
+
return (e.fillStyle = t), "#000" === e.fillStyle ? null : e.fillStyle;
|
211 |
+
})(t)
|
212 |
+
: t;
|
213 |
+
const e = {
|
214 |
+
cmyk: /^cmyk[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)/i,
|
215 |
+
rgba: /^((rgba)|rgb)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i,
|
216 |
+
hsla: /^((hsla)|hsl)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i,
|
217 |
+
hsva: /^((hsva)|hsv)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i,
|
218 |
+
hexa: /^#?(([\dA-Fa-f]{3,4})|([\dA-Fa-f]{6})|([\dA-Fa-f]{8}))$/i,
|
219 |
+
},
|
220 |
+
o = (t) => t.map((t) => (/^(|\d+)\.\d+|\d+$/.test(t) ? Number(t) : void 0));
|
221 |
+
let n;
|
222 |
+
t: for (const r in e) {
|
223 |
+
if (!(n = e[r].exec(t))) continue;
|
224 |
+
const i = (t) => !!n[2] == ("number" == typeof t);
|
225 |
+
switch (r) {
|
226 |
+
case "cmyk": {
|
227 |
+
const [, t, e, i, s] = o(n);
|
228 |
+
if (t > 100 || e > 100 || i > 100 || s > 100) break t;
|
229 |
+
return { values: A(t, e, i, s), type: r };
|
230 |
+
}
|
231 |
+
case "rgba": {
|
232 |
+
const [, , , t, e, s, c] = o(n);
|
233 |
+
if (t > 255 || e > 255 || s > 255 || c < 0 || c > 1 || !i(c)) break t;
|
234 |
+
return { values: [...O(t, e, s), c], a: c, type: r };
|
235 |
+
}
|
236 |
+
case "hexa": {
|
237 |
+
let [, t] = n;
|
238 |
+
(4 !== t.length && 3 !== t.length) ||
|
239 |
+
(t = t
|
240 |
+
.split("")
|
241 |
+
.map((t) => t + t)
|
242 |
+
.join(""));
|
243 |
+
const e = t.substring(0, 6);
|
244 |
+
let o = t.substring(6);
|
245 |
+
return (o = o ? parseInt(o, 16) / 255 : void 0), { values: [...C(e), o], a: o, type: r };
|
246 |
+
}
|
247 |
+
case "hsla": {
|
248 |
+
const [, , , t, e, s, c] = o(n);
|
249 |
+
if (t > 360 || e > 100 || s > 100 || c < 0 || c > 1 || !i(c)) break t;
|
250 |
+
return { values: [...k(t, e, s), c], a: c, type: r };
|
251 |
+
}
|
252 |
+
case "hsva": {
|
253 |
+
const [, , , t, e, s, c] = o(n);
|
254 |
+
if (t > 360 || e > 100 || s > 100 || c < 0 || c > 1 || !i(c)) break t;
|
255 |
+
return { values: [t, e, s, c], a: c, type: r };
|
256 |
+
}
|
257 |
+
}
|
258 |
+
}
|
259 |
+
return { values: null, type: null };
|
260 |
+
}
|
261 |
+
function S(t = 0, e = 0, o = 0, n = 1) {
|
262 |
+
const r = (t, e) => (o = -1) => e(~o ? t.map((t) => Number(t.toFixed(o))) : t),
|
263 |
+
i = {
|
264 |
+
h: t,
|
265 |
+
s: e,
|
266 |
+
v: o,
|
267 |
+
a: n,
|
268 |
+
toHSVA() {
|
269 |
+
const t = [i.h, i.s, i.v, i.a];
|
270 |
+
return (t.toString = r(t, (t) => "hsva(".concat(t[0], ", ").concat(t[1], "%, ").concat(t[2], "%, ").concat(i.a, ")"))), t;
|
271 |
+
},
|
272 |
+
toHSLA() {
|
273 |
+
const t = [...w(i.h, i.s, i.v), i.a];
|
274 |
+
return (t.toString = r(t, (t) => "hsla(".concat(t[0], ", ").concat(t[1], "%, ").concat(t[2], "%, ").concat(i.a, ")"))), t;
|
275 |
+
},
|
276 |
+
toRGBA() {
|
277 |
+
const t = [..._(i.h, i.s, i.v), i.a];
|
278 |
+
return (t.toString = r(t, (t) => "rgba(".concat(t[0], ", ").concat(t[1], ", ").concat(t[2], ", ").concat(i.a, ")"))), t;
|
279 |
+
},
|
280 |
+
toCMYK() {
|
281 |
+
const t = (function (t, e, o) {
|
282 |
+
const n = _(t, e, o),
|
283 |
+
r = n[0] / 255,
|
284 |
+
i = n[1] / 255,
|
285 |
+
s = n[2] / 255,
|
286 |
+
c = v(1 - r, 1 - i, 1 - s);
|
287 |
+
return [100 * (1 === c ? 0 : (1 - r - c) / (1 - c)), 100 * (1 === c ? 0 : (1 - i - c) / (1 - c)), 100 * (1 === c ? 0 : (1 - s - c) / (1 - c)), 100 * c];
|
288 |
+
})(i.h, i.s, i.v);
|
289 |
+
return (t.toString = r(t, (t) => "cmyk(".concat(t[0], "%, ").concat(t[1], "%, ").concat(t[2], "%, ").concat(t[3], "%)"))), t;
|
290 |
+
},
|
291 |
+
toHEXA() {
|
292 |
+
const t = (function (t, e, o) {
|
293 |
+
return _(t, e, o).map((t) => g(t).toString(16).padStart(2, "0"));
|
294 |
+
})(i.h, i.s, i.v),
|
295 |
+
e =
|
296 |
+
i.a >= 1
|
297 |
+
? ""
|
298 |
+
: Number((255 * i.a).toFixed(0))
|
299 |
+
.toString(16)
|
300 |
+
.toUpperCase()
|
301 |
+
.padStart(2, "0");
|
302 |
+
return e && t.push(e), (t.toString = () => "#".concat(t.join("").toUpperCase())), t;
|
303 |
+
},
|
304 |
+
clone: () => S(i.h, i.s, i.v, i.a),
|
305 |
+
};
|
306 |
+
return i;
|
307 |
+
}
|
308 |
+
const P = (t) => Math.max(Math.min(t, 1), 0);
|
309 |
+
function E(t) {
|
310 |
+
const e = {
|
311 |
+
options: Object.assign({ lock: null, onchange: () => 0, onstop: () => 0 }, t),
|
312 |
+
_keyboard(t) {
|
313 |
+
const { options: o } = e,
|
314 |
+
{ type: n, key: r } = t;
|
315 |
+
if (document.activeElement === o.wrapper) {
|
316 |
+
const { lock: o } = e.options,
|
317 |
+
i = "ArrowUp" === r,
|
318 |
+
s = "ArrowRight" === r,
|
319 |
+
c = "ArrowDown" === r,
|
320 |
+
a = "ArrowLeft" === r;
|
321 |
+
if ("keydown" === n && (i || s || c || a)) {
|
322 |
+
let n = 0,
|
323 |
+
r = 0;
|
324 |
+
"v" === o ? (n = i || s ? 1 : -1) : "h" === o ? (n = i || s ? -1 : 1) : ((r = i ? -1 : c ? 1 : 0), (n = a ? -1 : s ? 1 : 0)),
|
325 |
+
e.update(P(e.cache.x + 0.01 * n), P(e.cache.y + 0.01 * r)),
|
326 |
+
t.preventDefault();
|
327 |
+
} else r.startsWith("Arrow") && (e.options.onstop(), t.preventDefault());
|
328 |
+
}
|
329 |
+
},
|
330 |
+
_tapstart(t) {
|
331 |
+
a(document, ["mouseup", "touchend", "touchcancel"], e._tapstop), a(document, ["mousemove", "touchmove"], e._tapmove), t.cancelable && t.preventDefault(), e._tapmove(t);
|
332 |
+
},
|
333 |
+
_tapmove(t) {
|
334 |
+
const { options: o, cache: n } = e,
|
335 |
+
{ lock: r, element: i, wrapper: s } = o,
|
336 |
+
c = s.getBoundingClientRect();
|
337 |
+
let a = 0,
|
338 |
+
l = 0;
|
339 |
+
if (t) {
|
340 |
+
const e = t && t.touches && t.touches[0];
|
341 |
+
(a = t ? (e || t).clientX : 0),
|
342 |
+
(l = t ? (e || t).clientY : 0),
|
343 |
+
a < c.left ? (a = c.left) : a > c.left + c.width && (a = c.left + c.width),
|
344 |
+
l < c.top ? (l = c.top) : l > c.top + c.height && (l = c.top + c.height),
|
345 |
+
(a -= c.left),
|
346 |
+
(l -= c.top);
|
347 |
+
} else n && ((a = n.x * c.width), (l = n.y * c.height));
|
348 |
+
"h" !== r && (i.style.left = "calc(".concat((a / c.width) * 100, "% - ").concat(i.offsetWidth / 2, "px)")),
|
349 |
+
"v" !== r && (i.style.top = "calc(".concat((l / c.height) * 100, "% - ").concat(i.offsetHeight / 2, "px)")),
|
350 |
+
(e.cache = { x: a / c.width, y: l / c.height });
|
351 |
+
const p = P(a / c.width),
|
352 |
+
u = P(l / c.height);
|
353 |
+
switch (r) {
|
354 |
+
case "v":
|
355 |
+
return o.onchange(p);
|
356 |
+
case "h":
|
357 |
+
return o.onchange(u);
|
358 |
+
default:
|
359 |
+
return o.onchange(p, u);
|
360 |
+
}
|
361 |
+
},
|
362 |
+
_tapstop() {
|
363 |
+
e.options.onstop(), l(document, ["mouseup", "touchend", "touchcancel"], e._tapstop), l(document, ["mousemove", "touchmove"], e._tapmove);
|
364 |
+
},
|
365 |
+
trigger() {
|
366 |
+
e._tapmove();
|
367 |
+
},
|
368 |
+
update(t = 0, o = 0) {
|
369 |
+
const { left: n, top: r, width: i, height: s } = e.options.wrapper.getBoundingClientRect();
|
370 |
+
"h" === e.options.lock && (o = t), e._tapmove({ clientX: n + i * t, clientY: r + s * o });
|
371 |
+
},
|
372 |
+
destroy() {
|
373 |
+
const { options: t, _tapstart: o, _keyboard: n } = e;
|
374 |
+
l(document, ["keydown", "keyup"], n), l([t.wrapper, t.element], "mousedown", o), l([t.wrapper, t.element], "touchstart", o, { passive: !1 });
|
375 |
+
},
|
376 |
+
},
|
377 |
+
{ options: o, _tapstart: n, _keyboard: r } = e;
|
378 |
+
return a([o.wrapper, o.element], "mousedown", n), a([o.wrapper, o.element], "touchstart", n, { passive: !1 }), a(document, ["keydown", "keyup"], r), e;
|
379 |
+
}
|
380 |
+
function D(t = {}) {
|
381 |
+
t = Object.assign({ onchange: () => 0, className: "", elements: [] }, t);
|
382 |
+
const e = a(t.elements, "click", (e) => {
|
383 |
+
t.elements.forEach((o) => o.classList[e.target === o ? "add" : "remove"](t.className)), t.onchange(e);
|
384 |
+
});
|
385 |
+
return { destroy: () => l(...e) };
|
386 |
+
}
|
387 |
+
function x(t, e) {
|
388 |
+
var o = Object.keys(t);
|
389 |
+
if (Object.getOwnPropertySymbols) {
|
390 |
+
var n = Object.getOwnPropertySymbols(t);
|
391 |
+
e &&
|
392 |
+
(n = n.filter(function (e) {
|
393 |
+
return Object.getOwnPropertyDescriptor(t, e).enumerable;
|
394 |
+
})),
|
395 |
+
o.push.apply(o, n);
|
396 |
+
}
|
397 |
+
return o;
|
398 |
+
}
|
399 |
+
function L(t) {
|
400 |
+
for (var e = 1; e < arguments.length; e++) {
|
401 |
+
var o = null != arguments[e] ? arguments[e] : {};
|
402 |
+
e % 2
|
403 |
+
? x(Object(o), !0).forEach(function (e) {
|
404 |
+
B(t, e, o[e]);
|
405 |
+
})
|
406 |
+
: Object.getOwnPropertyDescriptors
|
407 |
+
? Object.defineProperties(t, Object.getOwnPropertyDescriptors(o))
|
408 |
+
: x(Object(o)).forEach(function (e) {
|
409 |
+
Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(o, e));
|
410 |
+
});
|
411 |
+
}
|
412 |
+
return t;
|
413 |
+
}
|
414 |
+
function B(t, e, o) {
|
415 |
+
return e in t ? Object.defineProperty(t, e, { value: o, enumerable: !0, configurable: !0, writable: !0 }) : (t[e] = o), t;
|
416 |
+
}
|
417 |
+
/*! NanoPop 1.3.0 MIT | https://github.com/Simonwep/nanopop */ let F = (() => {
|
418 |
+
class t {
|
419 |
+
constructor(
|
420 |
+
e,
|
421 |
+
o,
|
422 |
+
{
|
423 |
+
positionFlipOrder: n = t.defaultPositionFlipOrder,
|
424 |
+
variantFlipOrder: r = t.defaultVariantFlipOrder,
|
425 |
+
container: i = document.documentElement.getBoundingClientRect(),
|
426 |
+
forceApplyOnFailure: s = !1,
|
427 |
+
margin: c = 8,
|
428 |
+
position: a = "bottom-start",
|
429 |
+
} = {}
|
430 |
+
) {
|
431 |
+
this.o = { positionFlipOrder: n, variantFlipOrder: r, reference: e, popper: o, position: a, container: i, forceApplyOnFailure: s, margin: c };
|
432 |
+
}
|
433 |
+
update(t = this.o, e = !1) {
|
434 |
+
const { container: o, reference: n, popper: r, margin: i, position: s, forceApplyOnFailure: c, variantFlipOrder: a, positionFlipOrder: l } = (this.o = L(L({}, this.o), t));
|
435 |
+
(r.style.left = "0"), (r.style.top = "0");
|
436 |
+
const p = n.getBoundingClientRect(),
|
437 |
+
u = r.getBoundingClientRect(),
|
438 |
+
h = { t: p.top - u.height - i, b: p.bottom + i, r: p.right + i, l: p.left - u.width - i },
|
439 |
+
d = { vm: -u.width / 2 + (p.left + p.width / 2), vs: p.left, ve: p.left + p.width - u.width, hs: p.bottom - p.height, he: p.bottom - u.height, hm: p.bottom - p.height / 2 - u.height / 2 },
|
440 |
+
[f, b = "middle"] = s.split("-"),
|
441 |
+
v = l[f],
|
442 |
+
m = a[b],
|
443 |
+
{ top: y, left: g, bottom: _, right: w } = o;
|
444 |
+
for (const t of v) {
|
445 |
+
const o = "t" === t || "b" === t,
|
446 |
+
n = h[t],
|
447 |
+
[i, s] = o ? ["top", "left"] : ["left", "top"],
|
448 |
+
[c, a] = o ? [u.height, u.width] : [u.width, u.height],
|
449 |
+
[l, p] = o ? [_, w] : [w, _],
|
450 |
+
[f, b] = o ? [y, g] : [g, y];
|
451 |
+
if (e || !(n < f || n + c > l))
|
452 |
+
for (const c of m) {
|
453 |
+
const l = d[(o ? "v" : "h") + c];
|
454 |
+
if (e || !(l < b || l + a > p)) return (r.style[s] = l - u[s] + "px"), (r.style[i] = n - u[i] + "px"), t + c;
|
455 |
+
}
|
456 |
+
}
|
457 |
+
return c ? this.update(void 0, !0) : null;
|
458 |
+
}
|
459 |
+
}
|
460 |
+
return (t.version = "1.3.0"), (t.defaultVariantFlipOrder = { start: "sme", middle: "mse", end: "ems" }), (t.defaultPositionFlipOrder = { top: "tbrl", right: "rltb", bottom: "btrl", left: "lrbt" }), t;
|
461 |
+
})();
|
462 |
+
function R(t, e) {
|
463 |
+
var o = Object.keys(t);
|
464 |
+
if (Object.getOwnPropertySymbols) {
|
465 |
+
var n = Object.getOwnPropertySymbols(t);
|
466 |
+
e &&
|
467 |
+
(n = n.filter(function (e) {
|
468 |
+
return Object.getOwnPropertyDescriptor(t, e).enumerable;
|
469 |
+
})),
|
470 |
+
o.push.apply(o, n);
|
471 |
+
}
|
472 |
+
return o;
|
473 |
+
}
|
474 |
+
function H(t, e, o) {
|
475 |
+
return e in t ? Object.defineProperty(t, e, { value: o, enumerable: !0, configurable: !0, writable: !0 }) : (t[e] = o), t;
|
476 |
+
}
|
477 |
+
class N {
|
478 |
+
constructor(t) {
|
479 |
+
H(this, "_initializingActive", !0),
|
480 |
+
H(this, "_recalc", !0),
|
481 |
+
H(this, "_nanopop", null),
|
482 |
+
H(this, "_root", null),
|
483 |
+
H(this, "_color", S()),
|
484 |
+
H(this, "_lastColor", S()),
|
485 |
+
H(this, "_swatchColors", []),
|
486 |
+
H(this, "_eventListener", { init: [], save: [], hide: [], show: [], clear: [], change: [], changestop: [], cancel: [], swatchselect: [] }),
|
487 |
+
(this.options = t = Object.assign(
|
488 |
+
(function (t) {
|
489 |
+
for (var e = 1; e < arguments.length; e++) {
|
490 |
+
var o = null != arguments[e] ? arguments[e] : {};
|
491 |
+
e % 2
|
492 |
+
? R(Object(o), !0).forEach(function (e) {
|
493 |
+
H(t, e, o[e]);
|
494 |
+
})
|
495 |
+
: Object.getOwnPropertyDescriptors
|
496 |
+
? Object.defineProperties(t, Object.getOwnPropertyDescriptors(o))
|
497 |
+
: R(Object(o)).forEach(function (e) {
|
498 |
+
Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(o, e));
|
499 |
+
});
|
500 |
+
}
|
501 |
+
return t;
|
502 |
+
})({}, N.DEFAULT_OPTIONS),
|
503 |
+
t
|
504 |
+
));
|
505 |
+
const { swatches: e, components: o, theme: n, sliders: r, lockOpacity: i, padding: s } = t;
|
506 |
+
["nano", "monolith"].includes(n) && !r && (t.sliders = "h"), o.interaction || (o.interaction = {});
|
507 |
+
const { preview: c, opacity: a, hue: l, palette: p } = o;
|
508 |
+
(o.opacity = !i && a), (o.palette = p || c || a || l), this._preBuild(), this._buildComponents(), this._bindEvents(), this._finalBuild(), e && e.length && e.forEach((t) => this.addSwatch(t));
|
509 |
+
const { button: u, app: h } = this._root;
|
510 |
+
(this._nanopop = new F(u, h, { margin: s })), u.setAttribute("role", "button"), u.setAttribute("aria-label", this._t("btn:toggle"));
|
511 |
+
const d = this;
|
512 |
+
requestAnimationFrame(function e() {
|
513 |
+
if (!h.offsetWidth && h.parentElement !== t.container) return requestAnimationFrame(e);
|
514 |
+
d.setColor(t.default),
|
515 |
+
d._rePositioningPicker(),
|
516 |
+
t.defaultRepresentation && ((d._representation = t.defaultRepresentation), d.setColorRepresentation(d._representation)),
|
517 |
+
t.showAlways && d.show(),
|
518 |
+
(d._initializingActive = !1),
|
519 |
+
d._emit("init");
|
520 |
+
});
|
521 |
+
}
|
522 |
+
_preBuild() {
|
523 |
+
const { options: t } = this;
|
524 |
+
for (const e of ["el", "container"]) t[e] = d(t[e]);
|
525 |
+
(this._root = ((t) => {
|
526 |
+
const { components: e, useAsButton: o, inline: n, appClass: r, theme: i, lockOpacity: s } = t.options,
|
527 |
+
c = (t) => (t ? "" : 'style="display:none" hidden'),
|
528 |
+
a = (e) => t._t(e),
|
529 |
+
l = u(
|
530 |
+
'\n <div :ref="root" class="pickr">\n\n '
|
531 |
+
.concat(o ? "" : '<button type="button" :ref="button" class="pcr-button"></button>', '\n\n <div :ref="app" class="pcr-app ')
|
532 |
+
.concat(r || "", '" data-theme="')
|
533 |
+
.concat(i, '" ')
|
534 |
+
.concat(n ? 'style="position: unset"' : "", ' aria-label="')
|
535 |
+
.concat(a("ui:dialog"), '" role="window">\n <div class="pcr-selection" ')
|
536 |
+
.concat(c(e.palette), '>\n <div :obj="preview" class="pcr-color-preview" ')
|
537 |
+
.concat(c(e.preview), '>\n <button type="button" :ref="lastColor" class="pcr-last-color" aria-label="')
|
538 |
+
.concat(
|
539 |
+
a("btn:last-color"),
|
540 |
+
'"></button>\n <div :ref="currentColor" class="pcr-current-color"></div>\n </div>\n\n <div :obj="palette" class="pcr-color-palette">\n <div :ref="picker" class="pcr-picker"></div>\n <div :ref="palette" class="pcr-palette" tabindex="0" aria-label="'
|
541 |
+
)
|
542 |
+
.concat(a("aria:palette"), '" role="listbox"></div>\n </div>\n\n <div :obj="hue" class="pcr-color-chooser" ')
|
543 |
+
.concat(c(e.hue), '>\n <div :ref="picker" class="pcr-picker"></div>\n <div :ref="slider" class="pcr-hue pcr-slider" tabindex="0" aria-label="')
|
544 |
+
.concat(a("aria:hue"), '" role="slider"></div>\n </div>\n\n <div :obj="opacity" class="pcr-color-opacity" ')
|
545 |
+
.concat(c(e.opacity), '>\n <div :ref="picker" class="pcr-picker"></div>\n <div :ref="slider" class="pcr-opacity pcr-slider" tabindex="0" aria-label="')
|
546 |
+
.concat(a("aria:opacity"), '" role="slider"></div>\n </div>\n </div>\n\n <div class="pcr-swatches ')
|
547 |
+
.concat(e.palette ? "" : "pcr-last", '" :ref="swatches"></div>\n\n <div :obj="interaction" class="pcr-interaction" ')
|
548 |
+
.concat(c(Object.keys(e.interaction).length), '>\n <input :ref="result" class="pcr-result" type="text" spellcheck="false" ')
|
549 |
+
.concat(c(e.interaction.input), ' aria-label="')
|
550 |
+
.concat(a("aria:input"), '">\n\n <input :arr="options" class="pcr-type" data-type="HEXA" value="')
|
551 |
+
.concat(s ? "HEX" : "HEXA", '" type="button" ')
|
552 |
+
.concat(c(e.interaction.hex), '>\n <input :arr="options" class="pcr-type" data-type="RGBA" value="')
|
553 |
+
.concat(s ? "RGB" : "RGBA", '" type="button" ')
|
554 |
+
.concat(c(e.interaction.rgba), '>\n <input :arr="options" class="pcr-type" data-type="HSLA" value="')
|
555 |
+
.concat(s ? "HSL" : "HSLA", '" type="button" ')
|
556 |
+
.concat(c(e.interaction.hsla), '>\n <input :arr="options" class="pcr-type" data-type="HSVA" value="')
|
557 |
+
.concat(s ? "HSV" : "HSVA", '" type="button" ')
|
558 |
+
.concat(c(e.interaction.hsva), '>\n <input :arr="options" class="pcr-type" data-type="CMYK" value="CMYK" type="button" ')
|
559 |
+
.concat(c(e.interaction.cmyk), '>\n\n <input :ref="save" class="pcr-save" value="')
|
560 |
+
.concat(a("btn:save"), '" type="button" ')
|
561 |
+
.concat(c(e.interaction.save), ' aria-label="')
|
562 |
+
.concat(a("aria:btn:save"), '">\n <input :ref="cancel" class="pcr-cancel" value="')
|
563 |
+
.concat(a("btn:cancel"), '" type="button" ')
|
564 |
+
.concat(c(e.interaction.cancel), ' aria-label="')
|
565 |
+
.concat(a("aria:btn:cancel"), '">\n <input :ref="clear" class="pcr-clear" value="')
|
566 |
+
.concat(a("btn:clear"), '" type="button" ')
|
567 |
+
.concat(c(e.interaction.clear), ' aria-label="')
|
568 |
+
.concat(a("aria:btn:clear"), '">\n </div>\n </div>\n </div>\n ')
|
569 |
+
),
|
570 |
+
p = l.interaction;
|
571 |
+
return p.options.find((t) => !t.hidden && !t.classList.add("active")), (p.type = () => p.options.find((t) => t.classList.contains("active"))), l;
|
572 |
+
})(this)),
|
573 |
+
t.useAsButton && (this._root.button = t.el),
|
574 |
+
t.container.appendChild(this._root.root);
|
575 |
+
}
|
576 |
+
_finalBuild() {
|
577 |
+
const t = this.options,
|
578 |
+
e = this._root;
|
579 |
+
if ((t.container.removeChild(e.root), t.inline)) {
|
580 |
+
const o = t.el.parentElement;
|
581 |
+
t.el.nextSibling ? o.insertBefore(e.app, t.el.nextSibling) : o.appendChild(e.app);
|
582 |
+
} else t.container.appendChild(e.app);
|
583 |
+
t.useAsButton ? t.inline && t.el.remove() : t.el.parentNode.replaceChild(e.root, t.el),
|
584 |
+
t.disabled && this.disable(),
|
585 |
+
t.comparison || ((e.button.style.transition = "none"), t.useAsButton || (e.preview.lastColor.style.transition = "none")),
|
586 |
+
this.hide();
|
587 |
+
}
|
588 |
+
_buildComponents() {
|
589 |
+
const t = this,
|
590 |
+
e = this.options.components,
|
591 |
+
o = (t.options.sliders || "v").repeat(2),
|
592 |
+
[n, r] = o.match(/^[vh]+$/g) ? o : [],
|
593 |
+
i = () => this._color || (this._color = this._lastColor.clone()),
|
594 |
+
s = {
|
595 |
+
palette: E({
|
596 |
+
element: t._root.palette.picker,
|
597 |
+
wrapper: t._root.palette.palette,
|
598 |
+
onstop: () => t._emit("changestop", t),
|
599 |
+
onchange(o, n) {
|
600 |
+
if (!e.palette) return;
|
601 |
+
const r = i(),
|
602 |
+
{ _root: s, options: c } = t,
|
603 |
+
{ lastColor: a, currentColor: l } = s.preview;
|
604 |
+
t._recalc && ((r.s = 100 * o), (r.v = 100 - 100 * n), r.v < 0 && (r.v = 0), t._updateOutput());
|
605 |
+
const p = r.toRGBA().toString(0);
|
606 |
+
(this.element.style.background = p),
|
607 |
+
(this.wrapper.style.background = "\n linear-gradient(to top, rgba(0, 0, 0, "
|
608 |
+
.concat(r.a, "), transparent),\n linear-gradient(to left, hsla(")
|
609 |
+
.concat(r.h, ", 100%, 50%, ")
|
610 |
+
.concat(r.a, "), rgba(255, 255, 255, ")
|
611 |
+
.concat(r.a, "))\n ")),
|
612 |
+
c.comparison ? c.useAsButton || t._lastColor || (a.style.color = p) : ((s.button.style.color = p), s.button.classList.remove("clear"));
|
613 |
+
const u = r.toHEXA().toString();
|
614 |
+
for (const { el: e, color: o } of t._swatchColors) e.classList[u === o.toHEXA().toString() ? "add" : "remove"]("pcr-active");
|
615 |
+
l.style.color = p;
|
616 |
+
},
|
617 |
+
}),
|
618 |
+
hue: E({
|
619 |
+
lock: "v" === r ? "h" : "v",
|
620 |
+
element: t._root.hue.picker,
|
621 |
+
wrapper: t._root.hue.slider,
|
622 |
+
onstop: () => t._emit("changestop", t),
|
623 |
+
onchange(o) {
|
624 |
+
if (!e.hue || !e.palette) return;
|
625 |
+
const n = i();
|
626 |
+
t._recalc && (n.h = 360 * o), (this.element.style.backgroundColor = "hsl(".concat(n.h, ", 100%, 50%)")), s.palette.trigger();
|
627 |
+
},
|
628 |
+
}),
|
629 |
+
opacity: E({
|
630 |
+
lock: "v" === n ? "h" : "v",
|
631 |
+
element: t._root.opacity.picker,
|
632 |
+
wrapper: t._root.opacity.slider,
|
633 |
+
onstop: () => t._emit("changestop", t),
|
634 |
+
onchange(o) {
|
635 |
+
if (!e.opacity || !e.palette) return;
|
636 |
+
const n = i();
|
637 |
+
t._recalc && (n.a = Math.round(100 * o) / 100), (this.element.style.background = "rgba(0, 0, 0, ".concat(n.a, ")")), s.palette.trigger();
|
638 |
+
},
|
639 |
+
}),
|
640 |
+
selectable: D({
|
641 |
+
elements: t._root.interaction.options,
|
642 |
+
className: "active",
|
643 |
+
onchange(e) {
|
644 |
+
(t._representation = e.target.getAttribute("data-type").toUpperCase()), t._recalc && t._updateOutput();
|
645 |
+
},
|
646 |
+
}),
|
647 |
+
};
|
648 |
+
this._components = s;
|
649 |
+
}
|
650 |
+
_bindEvents() {
|
651 |
+
const { _root: t, options: e } = this,
|
652 |
+
o = [
|
653 |
+
a(t.interaction.clear, "click", () => this._clearColor()),
|
654 |
+
a([t.interaction.cancel, t.preview.lastColor], "click", () => {
|
655 |
+
this._emit("cancel", this), this.setHSVA(...(this._lastColor || this._color).toHSVA(), !0);
|
656 |
+
}),
|
657 |
+
a(t.interaction.save, "click", () => {
|
658 |
+
!this.applyColor() && !e.showAlways && this.hide();
|
659 |
+
}),
|
660 |
+
a(t.interaction.result, ["keyup", "input"], (t) => {
|
661 |
+
this.setColor(t.target.value, !0) && !this._initializingActive && this._emit("change", this._color), t.stopImmediatePropagation();
|
662 |
+
}),
|
663 |
+
a(t.interaction.result, ["focus", "blur"], (t) => {
|
664 |
+
(this._recalc = "blur" === t.type), this._recalc && this._updateOutput();
|
665 |
+
}),
|
666 |
+
a([t.palette.palette, t.palette.picker, t.hue.slider, t.hue.picker, t.opacity.slider, t.opacity.picker], ["mousedown", "touchstart"], () => (this._recalc = !0), { passive: !0 }),
|
667 |
+
];
|
668 |
+
if (!e.showAlways) {
|
669 |
+
const n = e.closeWithKey;
|
670 |
+
o.push(
|
671 |
+
a(t.button, "click", () => (this.isOpen() ? this.hide() : this.show())),
|
672 |
+
a(document, "keyup", (t) => this.isOpen() && (t.key === n || t.code === n) && this.hide()),
|
673 |
+
a(
|
674 |
+
document,
|
675 |
+
["touchstart", "mousedown"],
|
676 |
+
(e) => {
|
677 |
+
this.isOpen() && !h(e).some((e) => e === t.app || e === t.button) && this.hide();
|
678 |
+
},
|
679 |
+
{ capture: !0 }
|
680 |
+
)
|
681 |
+
);
|
682 |
+
}
|
683 |
+
if (e.adjustableNumbers) {
|
684 |
+
const e = { rgba: [255, 255, 255, 1], hsva: [360, 100, 100, 1], hsla: [360, 100, 100, 1], cmyk: [100, 100, 100, 100] };
|
685 |
+
f(t.interaction.result, (t, o, n) => {
|
686 |
+
const r = e[this.getColorRepresentation().toLowerCase()];
|
687 |
+
if (r) {
|
688 |
+
const e = r[n],
|
689 |
+
i = t + (e >= 100 ? 1e3 * o : o);
|
690 |
+
return i <= 0 ? 0 : Number((i < e ? i : e).toPrecision(3));
|
691 |
+
}
|
692 |
+
return t;
|
693 |
+
});
|
694 |
+
}
|
695 |
+
if (e.autoReposition && !e.inline) {
|
696 |
+
let t = null;
|
697 |
+
const n = this;
|
698 |
+
o.push(
|
699 |
+
a(
|
700 |
+
window,
|
701 |
+
["scroll", "resize"],
|
702 |
+
() => {
|
703 |
+
n.isOpen() &&
|
704 |
+
(e.closeOnScroll && n.hide(),
|
705 |
+
null === t
|
706 |
+
? ((t = setTimeout(() => (t = null), 100)),
|
707 |
+
requestAnimationFrame(function e() {
|
708 |
+
n._rePositioningPicker(), null !== t && requestAnimationFrame(e);
|
709 |
+
}))
|
710 |
+
: (clearTimeout(t), (t = setTimeout(() => (t = null), 100))));
|
711 |
+
},
|
712 |
+
{ capture: !0 }
|
713 |
+
)
|
714 |
+
);
|
715 |
+
}
|
716 |
+
this._eventBindings = o;
|
717 |
+
}
|
718 |
+
_rePositioningPicker() {
|
719 |
+
const { options: t } = this;
|
720 |
+
if (!t.inline) {
|
721 |
+
if (!this._nanopop.update({ position: t.position, forceApplyOnFailure: !this._recalc })) {
|
722 |
+
const t = this._root.app,
|
723 |
+
e = t.getBoundingClientRect(),
|
724 |
+
rt = this._root.button.getBoundingClientRect();
|
725 |
+
(t.style.top = "".concat(rt.bottom, "px")), (t.style.left = "".concat(rt.left, "px"));
|
726 |
+
|
727 |
+
}
|
728 |
+
}
|
729 |
+
}
|
730 |
+
_updateOutput() {
|
731 |
+
const { _root: t, _color: e, options: o } = this;
|
732 |
+
if (t.interaction.type()) {
|
733 |
+
const n = "to".concat(t.interaction.type().getAttribute("data-type"));
|
734 |
+
t.interaction.result.value = "function" == typeof e[n] ? e[n]().toString(o.outputPrecision) : "";
|
735 |
+
}
|
736 |
+
!this._initializingActive && this._recalc && this._emit("change", e);
|
737 |
+
}
|
738 |
+
_clearColor(t = !1) {
|
739 |
+
const { _root: e, options: o } = this;
|
740 |
+
o.useAsButton || (e.button.style.color = "rgba(0, 0, 0, 0.15)"),
|
741 |
+
e.button.classList.add("clear"),
|
742 |
+
o.showAlways || this.hide(),
|
743 |
+
(this._lastColor = null),
|
744 |
+
this._initializingActive || t || (this._emit("save", null), this._emit("clear", this));
|
745 |
+
}
|
746 |
+
_parseLocalColor(t) {
|
747 |
+
const { values: e, type: o, a: n } = j(t),
|
748 |
+
{ lockOpacity: r } = this.options,
|
749 |
+
i = void 0 !== n && 1 !== n;
|
750 |
+
return e && 3 === e.length && (e[3] = void 0), { values: !e || (r && i) ? null : e, type: o };
|
751 |
+
}
|
752 |
+
_t(t) {
|
753 |
+
return this.options.i18n[t] || N.I18N_DEFAULTS[t];
|
754 |
+
}
|
755 |
+
_emit(t, ...e) {
|
756 |
+
this._eventListener[t].forEach((t) => t(...e, this));
|
757 |
+
}
|
758 |
+
on(t, e) {
|
759 |
+
return this._eventListener[t].push(e), this;
|
760 |
+
}
|
761 |
+
off(t, e) {
|
762 |
+
const o = this._eventListener[t] || [],
|
763 |
+
n = o.indexOf(e);
|
764 |
+
return ~n && o.splice(n, 1), this;
|
765 |
+
}
|
766 |
+
addSwatch(t) {
|
767 |
+
const { values: e } = this._parseLocalColor(t);
|
768 |
+
if (e) {
|
769 |
+
const { _swatchColors: t, _root: o } = this,
|
770 |
+
n = S(...e),
|
771 |
+
r = p('<button type="button" style="color: '.concat(n.toRGBA().toString(0), '" aria-label="').concat(this._t("btn:swatch"), '"/>'));
|
772 |
+
return (
|
773 |
+
o.swatches.appendChild(r),
|
774 |
+
t.push({ el: r, color: n }),
|
775 |
+
this._eventBindings.push(
|
776 |
+
a(r, "click", () => {
|
777 |
+
this.setHSVA(...n.toHSVA(), !0), this._emit("swatchselect", n), this._emit("change", n);
|
778 |
+
})
|
779 |
+
),
|
780 |
+
!0
|
781 |
+
);
|
782 |
+
}
|
783 |
+
return !1;
|
784 |
+
}
|
785 |
+
removeSwatch(t) {
|
786 |
+
const e = this._swatchColors[t];
|
787 |
+
if (e) {
|
788 |
+
const { el: o } = e;
|
789 |
+
return this._root.swatches.removeChild(o), this._swatchColors.splice(t, 1), !0;
|
790 |
+
}
|
791 |
+
return !1;
|
792 |
+
}
|
793 |
+
applyColor(t = !1) {
|
794 |
+
const { preview: e, button: o } = this._root,
|
795 |
+
n = this._color.toRGBA().toString(0);
|
796 |
+
return (
|
797 |
+
(e.lastColor.style.color = n),
|
798 |
+
this.options.useAsButton || (o.style.color = n),
|
799 |
+
o.classList.remove("clear"),
|
800 |
+
(this._lastColor = this._color.clone()),
|
801 |
+
this._initializingActive || t || this._emit("save", this._color),
|
802 |
+
this
|
803 |
+
);
|
804 |
+
}
|
805 |
+
destroy() {
|
806 |
+
this._eventBindings.forEach((t) => l(...t)), Object.keys(this._components).forEach((t) => this._components[t].destroy());
|
807 |
+
}
|
808 |
+
destroyAndRemove() {
|
809 |
+
this.destroy();
|
810 |
+
const { root: t, app: e } = this._root;
|
811 |
+
t.parentElement && t.parentElement.removeChild(t), e.parentElement.removeChild(e), Object.keys(this).forEach((t) => (this[t] = null));
|
812 |
+
}
|
813 |
+
hide() {
|
814 |
+
return this._root.app.classList.remove("visible"), this._emit("hide", this), this;
|
815 |
+
}
|
816 |
+
show() {
|
817 |
+
return this.options.disabled || (this._root.app.classList.add("visible"), this._rePositioningPicker(), this._emit("show", this)), this;
|
818 |
+
}
|
819 |
+
isOpen() {
|
820 |
+
return this._root.app.classList.contains("visible");
|
821 |
+
}
|
822 |
+
setHSVA(t = 360, e = 0, o = 0, n = 1, r = !1) {
|
823 |
+
const i = this._recalc;
|
824 |
+
if (((this._recalc = !1), t < 0 || t > 360 || e < 0 || e > 100 || o < 0 || o > 100 || n < 0 || n > 1)) return !1;
|
825 |
+
this._color = S(t, e, o, n);
|
826 |
+
const { hue: s, opacity: c, palette: a } = this._components;
|
827 |
+
return s.update(t / 360), c.update(n), a.update(e / 100, 1 - o / 100), r || this.applyColor(), i && this._updateOutput(), (this._recalc = i), !0;
|
828 |
+
}
|
829 |
+
setColor(t, e = !1) {
|
830 |
+
if (null === t) return this._clearColor(e), !0;
|
831 |
+
const { values: o, type: n } = this._parseLocalColor(t);
|
832 |
+
if (o) {
|
833 |
+
const t = n.toUpperCase(),
|
834 |
+
{ options: r } = this._root.interaction,
|
835 |
+
i = r.find((e) => e.getAttribute("data-type") === t);
|
836 |
+
if (i && !i.hidden) for (const t of r) t.classList[t === i ? "add" : "remove"]("active");
|
837 |
+
return !!this.setHSVA(...o, e) && this.setColorRepresentation(t);
|
838 |
+
}
|
839 |
+
return !1;
|
840 |
+
}
|
841 |
+
setColorRepresentation(t) {
|
842 |
+
return (t = t.toUpperCase()), !!this._root.interaction.options.find((e) => e.getAttribute("data-type").startsWith(t) && !e.click());
|
843 |
+
}
|
844 |
+
getColorRepresentation() {
|
845 |
+
return this._representation;
|
846 |
+
}
|
847 |
+
getColor() {
|
848 |
+
return this._color;
|
849 |
+
}
|
850 |
+
getSelectedColor() {
|
851 |
+
return this._lastColor;
|
852 |
+
}
|
853 |
+
getRoot() {
|
854 |
+
return this._root;
|
855 |
+
}
|
856 |
+
disable() {
|
857 |
+
return this.hide(), (this.options.disabled = !0), this._root.button.classList.add("disabled"), this;
|
858 |
+
}
|
859 |
+
enable() {
|
860 |
+
return (this.options.disabled = !1), this._root.button.classList.remove("disabled"), this;
|
861 |
+
}
|
862 |
+
}
|
863 |
+
H(N, "utils", n),
|
864 |
+
H(N, "version", b.a),
|
865 |
+
H(N, "I18N_DEFAULTS", {
|
866 |
+
"ui:dialog": "color picker dialog",
|
867 |
+
"btn:toggle": "toggle color picker dialog",
|
868 |
+
"btn:swatch": "color swatch",
|
869 |
+
"btn:last-color": "use previous color",
|
870 |
+
"btn:save": "Save",
|
871 |
+
"btn:cancel": "Cancel",
|
872 |
+
"btn:clear": "Clear",
|
873 |
+
"aria:btn:save": "save and close",
|
874 |
+
"aria:btn:cancel": "cancel and close",
|
875 |
+
"aria:btn:clear": "clear and close",
|
876 |
+
"aria:input": "color input field",
|
877 |
+
"aria:palette": "color selection area",
|
878 |
+
"aria:hue": "hue selection slider",
|
879 |
+
"aria:opacity": "selection slider",
|
880 |
+
}),
|
881 |
+
H(N, "DEFAULT_OPTIONS", {
|
882 |
+
appClass: null,
|
883 |
+
theme: "classic",
|
884 |
+
useAsButton: !1,
|
885 |
+
padding: 8,
|
886 |
+
disabled: !1,
|
887 |
+
comparison: !0,
|
888 |
+
closeOnScroll: !1,
|
889 |
+
outputPrecision: 0,
|
890 |
+
lockOpacity: !1,
|
891 |
+
autoReposition: !0,
|
892 |
+
container: "body",
|
893 |
+
components: { interaction: {} },
|
894 |
+
i18n: {},
|
895 |
+
swatches: null,
|
896 |
+
inline: !1,
|
897 |
+
sliders: null,
|
898 |
+
default: "",
|
899 |
+
defaultRepresentation: null,
|
900 |
+
position: "bottom-middle",
|
901 |
+
adjustableNumbers: !0,
|
902 |
+
showAlways: !1,
|
903 |
+
closeWithKey: "Escape",
|
904 |
+
}),
|
905 |
+
H(N, "create", (t) => new N(t));
|
906 |
+
e.default = N;
|
907 |
+
},
|
908 |
+
]).default;
|
909 |
+
});
|
910 |
+
|
assets/js/color-pickr/pickr.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Pickr=e():t.Pickr=e()}(window,function(){return function(t){var e={};function o(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}return o.m=t,o.c=e,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=1)}([function(t){t.exports=JSON.parse('{"a":"1.7.1"}')},function(t,e,o){"use strict";o.r(e);var n={};function r(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),o.push.apply(o,n)}return o}function i(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?r(Object(o),!0).forEach(function(e){s(t,e,o[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):r(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})}return t}function s(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function c(t,e,o,n,r={}){e instanceof HTMLCollection||e instanceof NodeList?e=Array.from(e):Array.isArray(e)||(e=[e]),Array.isArray(o)||(o=[o]);for(const s of e)for(const e of o)s[t](e,n,i({capture:!1},r));return Array.prototype.slice.call(arguments,1)}o.r(n),o.d(n,"on",function(){return a}),o.d(n,"off",function(){return l}),o.d(n,"createElementFromString",function(){return p}),o.d(n,"createFromTemplate",function(){return u}),o.d(n,"eventPath",function(){return h}),o.d(n,"resolveElement",function(){return d}),o.d(n,"adjustableInputNumbers",function(){return f});const a=c.bind(null,"addEventListener"),l=c.bind(null,"removeEventListener");function p(t){const e=document.createElement("div");return e.innerHTML=t.trim(),e.firstElementChild}function u(t){const e=(t,e)=>{const o=t.getAttribute(e);return t.removeAttribute(e),o},o=(t,n={})=>{const r=e(t,":obj"),i=e(t,":ref"),s=r?n[r]={}:n;i&&(n[i]=t);for(const n of Array.from(t.children)){const t=e(n,":arr"),r=o(n,t?{}:s);t&&(s[t]||(s[t]=[])).push(Object.keys(r).length?r:n)}return n};return o(p(t))}function h(t){let e=t.path||t.composedPath&&t.composedPath();if(e)return e;let o=t.target.parentElement;for(e=[t.target,o];o=o.parentElement;)e.push(o);return e.push(document,window),e}function d(t){return t instanceof Element?t:"string"==typeof t?t.split(/>>/g).reduce((t,e,o,n)=>(t=t.querySelector(e),o<n.length-1?t.shadowRoot:t),document):null}function f(t,e=(t=>t)){function o(o){const n=[.001,.01,.1][Number(o.shiftKey||2*o.ctrlKey)]*(o.deltaY<0?1:-1);let r=0,i=t.selectionStart;t.value=t.value.replace(/[\d.]+/g,(t,o)=>o<=i&&o+t.length>=i?(i=o,e(Number(t),n,r)):(r++,t)),t.focus(),t.setSelectionRange(i,i),o.preventDefault(),t.dispatchEvent(new Event("input"))}a(t,"focus",()=>a(window,"wheel",o,{passive:!1})),a(t,"blur",()=>l(window,"wheel",o))}var b=o(0);const{min:m,max:v,floor:y,round:g}=Math;function _(t,e,o){e/=100,o/=100;const n=y(t=t/360*6),r=t-n,i=o*(1-e),s=o*(1-r*e),c=o*(1-(1-r)*e),a=n%6;return[255*[o,s,i,i,c,o][a],255*[c,o,o,s,i,i][a],255*[i,i,c,o,o,s][a]]}function w(t,e,o){const n=(2-(e/=100))*(o/=100)/2;return 0!==n&&(e=1===n?0:n<.5?e*o/(2*n):e*o/(2-2*n)),[t,100*e,100*n]}function O(t,e,o){const n=m(t/=255,e/=255,o/=255),r=v(t,e,o),i=r-n;let s,c;if(0===i)s=c=0;else{c=i/r;const n=((r-t)/6+i/2)/i,a=((r-e)/6+i/2)/i,l=((r-o)/6+i/2)/i;t===r?s=l-a:e===r?s=1/3+n-l:o===r&&(s=2/3+a-n),s<0?s+=1:s>1&&(s-=1)}return[360*s,100*c,100*r]}function A(t,e,o,n){return e/=100,o/=100,[...O(255*(1-m(1,(t/=100)*(1-(n/=100))+n)),255*(1-m(1,e*(1-n)+n)),255*(1-m(1,o*(1-n)+n)))]}function C(t,e,o){e/=100;const n=2*(e*=(o/=100)<.5?o:1-o)/(o+e)*100,r=100*(o+e);return[t,isNaN(n)?0:n,r]}function k(t){return O(...t.match(/.{2}/g).map(t=>parseInt(t,16)))}function j(t=0,e=0,o=0,n=1){const r=(t,e)=>(o=-1)=>e(~o?t.map(t=>Number(t.toFixed(o))):t),i={h:t,s:e,v:o,a:n,toHSVA(){const t=[i.h,i.s,i.v,i.a];return t.toString=r(t,t=>"hsva(".concat(t[0],", ").concat(t[1],"%, ").concat(t[2],"%, ").concat(i.a,")")),t},toHSLA(){const t=[...w(i.h,i.s,i.v),i.a];return t.toString=r(t,t=>"hsla(".concat(t[0],", ").concat(t[1],"%, ").concat(t[2],"%, ").concat(i.a,")")),t},toRGBA(){const t=[..._(i.h,i.s,i.v),i.a];return t.toString=r(t,t=>"rgba(".concat(t[0],", ").concat(t[1],", ").concat(t[2],", ").concat(i.a,")")),t},toCMYK(){const t=function(t,e,o){const n=_(t,e,o),r=n[0]/255,i=n[1]/255,s=n[2]/255,c=m(1-r,1-i,1-s);return[100*(1===c?0:(1-r-c)/(1-c)),100*(1===c?0:(1-i-c)/(1-c)),100*(1===c?0:(1-s-c)/(1-c)),100*c]}(i.h,i.s,i.v);return t.toString=r(t,t=>"cmyk(".concat(t[0],"%, ").concat(t[1],"%, ").concat(t[2],"%, ").concat(t[3],"%)")),t},toHEXA(){const t=_(i.h,i.s,i.v).map(t=>g(t).toString(16).padStart(2,"0")),e=i.a>=1?"":Number((255*i.a).toFixed(0)).toString(16).toUpperCase().padStart(2,"0");return e&&t.push(e),t.toString=(()=>"#".concat(t.join("").toUpperCase())),t},clone:()=>j(i.h,i.s,i.v,i.a)};return i}const S=t=>Math.max(Math.min(t,1),0);function P(t){const e={options:Object.assign({lock:null,onchange:()=>0,onstop:()=>0},t),_keyboard(t){const{options:o}=e,{type:n,key:r}=t;if(document.activeElement===o.wrapper){const{lock:o}=e.options,i="ArrowUp"===r,s="ArrowRight"===r,c="ArrowDown"===r,a="ArrowLeft"===r;if("keydown"===n&&(i||s||c||a)){let n=0,r=0;"v"===o?n=i||s?1:-1:"h"===o?n=i||s?-1:1:(r=i?-1:c?1:0,n=a?-1:s?1:0),e.update(S(e.cache.x+.01*n),S(e.cache.y+.01*r)),t.preventDefault()}else r.startsWith("Arrow")&&(e.options.onstop(),t.preventDefault())}},_tapstart(t){a(document,["mouseup","touchend","touchcancel"],e._tapstop),a(document,["mousemove","touchmove"],e._tapmove),t.cancelable&&t.preventDefault(),e._tapmove(t)},_tapmove(t){const{options:o,cache:n}=e,{lock:r,element:i,wrapper:s}=o,c=s.getBoundingClientRect();let a=0,l=0;if(t){const e=t&&t.touches&&t.touches[0];a=t?(e||t).clientX:0,l=t?(e||t).clientY:0,a<c.left?a=c.left:a>c.left+c.width&&(a=c.left+c.width),l<c.top?l=c.top:l>c.top+c.height&&(l=c.top+c.height),a-=c.left,l-=c.top}else n&&(a=n.x*c.width,l=n.y*c.height);"h"!==r&&(i.style.left="calc(".concat(a/c.width*100,"% - ").concat(i.offsetWidth/2,"px)")),"v"!==r&&(i.style.top="calc(".concat(l/c.height*100,"% - ").concat(i.offsetHeight/2,"px)")),e.cache={x:a/c.width,y:l/c.height};const p=S(a/c.width),u=S(l/c.height);switch(r){case"v":return o.onchange(p);case"h":return o.onchange(u);default:return o.onchange(p,u)}},_tapstop(){e.options.onstop(),l(document,["mouseup","touchend","touchcancel"],e._tapstop),l(document,["mousemove","touchmove"],e._tapmove)},trigger(){e._tapmove()},update(t=0,o=0){const{left:n,top:r,width:i,height:s}=e.options.wrapper.getBoundingClientRect();"h"===e.options.lock&&(o=t),e._tapmove({clientX:n+i*t,clientY:r+s*o})},destroy(){const{options:t,_tapstart:o,_keyboard:n}=e;l(document,["keydown","keyup"],n),l([t.wrapper,t.element],"mousedown",o),l([t.wrapper,t.element],"touchstart",o,{passive:!1})}},{options:o,_tapstart:n,_keyboard:r}=e;return a([o.wrapper,o.element],"mousedown",n),a([o.wrapper,o.element],"touchstart",n,{passive:!1}),a(document,["keydown","keyup"],r),e}function E(t={}){t=Object.assign({onchange:()=>0,className:"",elements:[]},t);const e=a(t.elements,"click",e=>{t.elements.forEach(o=>o.classList[e.target===o?"add":"remove"](t.className)),t.onchange(e)});return{destroy:()=>l(...e)}}function D(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),o.push.apply(o,n)}return o}function x(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?D(Object(o),!0).forEach(function(e){L(t,e,o[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):D(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})}return t}function L(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}let B=(()=>{class t{constructor(e,o,{positionFlipOrder:n=t.defaultPositionFlipOrder,variantFlipOrder:r=t.defaultVariantFlipOrder,container:i=document.documentElement.getBoundingClientRect(),forceApplyOnFailure:s=!1,margin:c=8,position:a="bottom-start"}={}){this.o={positionFlipOrder:n,variantFlipOrder:r,reference:e,popper:o,position:a,container:i,forceApplyOnFailure:s,margin:c}}update(t=this.o,e=!1){const{container:o,reference:n,popper:r,margin:i,position:s,forceApplyOnFailure:c,variantFlipOrder:a,positionFlipOrder:l}=this.o=x(x({},this.o),t);r.style.left="0",r.style.top="0";const p=n.getBoundingClientRect(),u=r.getBoundingClientRect(),h={t:p.top-u.height-i,b:p.bottom+i,r:p.right+i,l:p.left-u.width-i},d={vm:-u.width/2+(p.left+p.width/2),vs:p.left,ve:p.left+p.width-u.width,hs:p.bottom-p.height,he:p.bottom-u.height,hm:p.bottom-p.height/2-u.height/2},[f,b="middle"]=s.split("-"),m=l[f],v=a[b],{top:y,left:g,bottom:_,right:w}=o;for(const t of m){const o="t"===t||"b"===t,n=h[t],[i,s]=o?["top","left"]:["left","top"],[c,a]=o?[u.height,u.width]:[u.width,u.height],[l,p]=o?[_,w]:[w,_],[f,b]=o?[y,g]:[g,y];if(e||!(n<f||n+c>l))for(const c of v){const l=d[(o?"v":"h")+c];if(e||!(l<b||l+a>p))return r.style[s]=l-u[s]+"px",r.style[i]=n-u[i]+"px",t+c}}return c?this.update(void 0,!0):null}}return t.version="1.3.0",t.defaultVariantFlipOrder={start:"sme",middle:"mse",end:"ems"},t.defaultPositionFlipOrder={top:"tbrl",right:"rltb",bottom:"btrl",left:"lrbt"},t})();function F(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),o.push.apply(o,n)}return o}function R(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class H{constructor(t){R(this,"_initializingActive",!0),R(this,"_recalc",!0),R(this,"_nanopop",null),R(this,"_root",null),R(this,"_color",j()),R(this,"_lastColor",j()),R(this,"_swatchColors",[]),R(this,"_eventListener",{init:[],save:[],hide:[],show:[],clear:[],change:[],changestop:[],cancel:[],swatchselect:[]}),this.options=t=Object.assign(function(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?F(Object(o),!0).forEach(function(e){R(t,e,o[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):F(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})}return t}({},H.DEFAULT_OPTIONS),t);const{swatches:e,components:o,theme:n,sliders:r,lockOpacity:i,padding:s}=t;["nano","monolith"].includes(n)&&!r&&(t.sliders="h"),o.interaction||(o.interaction={});const{preview:c,opacity:a,hue:l,palette:p}=o;o.opacity=!i&&a,o.palette=p||c||a||l,this._preBuild(),this._buildComponents(),this._bindEvents(),this._finalBuild(),e&&e.length&&e.forEach(t=>this.addSwatch(t));const{button:u,app:h}=this._root;this._nanopop=new B(u,h,{margin:s}),u.setAttribute("role","button"),u.setAttribute("aria-label",this._t("btn:toggle"));const d=this;requestAnimationFrame(function e(){if(!h.offsetWidth&&h.parentElement!==t.container)return requestAnimationFrame(e);d.setColor(t.default),d._rePositioningPicker(),t.defaultRepresentation&&(d._representation=t.defaultRepresentation,d.setColorRepresentation(d._representation)),t.showAlways&&d.show(),d._initializingActive=!1,d._emit("init")})}_preBuild(){const{options:t}=this;for(const e of["el","container"])t[e]=d(t[e]);this._root=(t=>{const{components:e,useAsButton:o,inline:n,appClass:r,theme:i,lockOpacity:s}=t.options,c=t=>t?"":'style="display:none" hidden',a=e=>t._t(e),l=u('\n <div :ref="root" class="pickr">\n\n '.concat(o?"":'<button type="button" :ref="button" class="pcr-button"></button>','\n\n <div :ref="app" class="pcr-app ').concat(r||"",'" data-theme="').concat(i,'" ').concat(n?'style="position: unset"':"",' aria-label="').concat(a("ui:dialog"),'" role="window">\n <div class="pcr-selection" ').concat(c(e.palette),'>\n <div :obj="preview" class="pcr-color-preview" ').concat(c(e.preview),'>\n <button type="button" :ref="lastColor" class="pcr-last-color" aria-label="').concat(a("btn:last-color"),'"></button>\n <div :ref="currentColor" class="pcr-current-color"></div>\n </div>\n\n <div :obj="palette" class="pcr-color-palette">\n <div :ref="picker" class="pcr-picker"></div>\n <div :ref="palette" class="pcr-palette" tabindex="0" aria-label="').concat(a("aria:palette"),'" role="listbox"></div>\n </div>\n\n <div :obj="hue" class="pcr-color-chooser" ').concat(c(e.hue),'>\n <div :ref="picker" class="pcr-picker"></div>\n <div :ref="slider" class="pcr-hue pcr-slider" tabindex="0" aria-label="').concat(a("aria:hue"),'" role="slider"></div>\n </div>\n\n <div :obj="opacity" class="pcr-color-opacity" ').concat(c(e.opacity),'>\n <div :ref="picker" class="pcr-picker"></div>\n <div :ref="slider" class="pcr-opacity pcr-slider" tabindex="0" aria-label="').concat(a("aria:opacity"),'" role="slider"></div>\n </div>\n </div>\n\n <div class="pcr-swatches ').concat(e.palette?"":"pcr-last",'" :ref="swatches"></div>\n\n <div :obj="interaction" class="pcr-interaction" ').concat(c(Object.keys(e.interaction).length),'>\n <input :ref="result" class="pcr-result" type="text" spellcheck="false" ').concat(c(e.interaction.input),' aria-label="').concat(a("aria:input"),'">\n\n <input :arr="options" class="pcr-type" data-type="HEXA" value="').concat(s?"HEX":"HEXA",'" type="button" ').concat(c(e.interaction.hex),'>\n <input :arr="options" class="pcr-type" data-type="RGBA" value="').concat(s?"RGB":"RGBA",'" type="button" ').concat(c(e.interaction.rgba),'>\n <input :arr="options" class="pcr-type" data-type="HSLA" value="').concat(s?"HSL":"HSLA",'" type="button" ').concat(c(e.interaction.hsla),'>\n <input :arr="options" class="pcr-type" data-type="HSVA" value="').concat(s?"HSV":"HSVA",'" type="button" ').concat(c(e.interaction.hsva),'>\n <input :arr="options" class="pcr-type" data-type="CMYK" value="CMYK" type="button" ').concat(c(e.interaction.cmyk),'>\n\n <input :ref="save" class="pcr-save" value="').concat(a("btn:save"),'" type="button" ').concat(c(e.interaction.save),' aria-label="').concat(a("aria:btn:save"),'">\n <input :ref="cancel" class="pcr-cancel" value="').concat(a("btn:cancel"),'" type="button" ').concat(c(e.interaction.cancel),' aria-label="').concat(a("aria:btn:cancel"),'">\n <input :ref="clear" class="pcr-clear" value="').concat(a("btn:clear"),'" type="button" ').concat(c(e.interaction.clear),' aria-label="').concat(a("aria:btn:clear"),'">\n </div>\n </div>\n </div>\n ')),p=l.interaction;return p.options.find(t=>!t.hidden&&!t.classList.add("active")),p.type=(()=>p.options.find(t=>t.classList.contains("active"))),l})(this),t.useAsButton&&(this._root.button=t.el),t.container.appendChild(this._root.root)}_finalBuild(){const t=this.options,e=this._root;if(t.container.removeChild(e.root),t.inline){const o=t.el.parentElement;t.el.nextSibling?o.insertBefore(e.app,t.el.nextSibling):o.appendChild(e.app)}else t.container.appendChild(e.app);t.useAsButton?t.inline&&t.el.remove():t.el.parentNode.replaceChild(e.root,t.el),t.disabled&&this.disable(),t.comparison||(e.button.style.transition="none",t.useAsButton||(e.preview.lastColor.style.transition="none")),this.hide()}_buildComponents(){const t=this,e=this.options.components,o=(t.options.sliders||"v").repeat(2),[n,r]=o.match(/^[vh]+$/g)?o:[],i=()=>this._color||(this._color=this._lastColor.clone()),s={palette:P({element:t._root.palette.picker,wrapper:t._root.palette.palette,onstop:()=>t._emit("changestop",t),onchange(o,n){if(!e.palette)return;const r=i(),{_root:s,options:c}=t,{lastColor:a,currentColor:l}=s.preview;t._recalc&&(r.s=100*o,r.v=100-100*n,r.v<0&&(r.v=0),t._updateOutput());const p=r.toRGBA().toString(0);this.element.style.background=p,this.wrapper.style.background="\n linear-gradient(to top, rgba(0, 0, 0, ".concat(r.a,"), transparent),\n linear-gradient(to left, hsla(").concat(r.h,", 100%, 50%, ").concat(r.a,"), rgba(255, 255, 255, ").concat(r.a,"))\n "),c.comparison?c.useAsButton||t._lastColor||(a.style.color=p):(s.button.style.color=p,s.button.classList.remove("clear"));const u=r.toHEXA().toString();for(const{el:e,color:o}of t._swatchColors)e.classList[u===o.toHEXA().toString()?"add":"remove"]("pcr-active");l.style.color=p}}),hue:P({lock:"v"===r?"h":"v",element:t._root.hue.picker,wrapper:t._root.hue.slider,onstop:()=>t._emit("changestop",t),onchange(o){if(!e.hue||!e.palette)return;const n=i();t._recalc&&(n.h=360*o),this.element.style.backgroundColor="hsl(".concat(n.h,", 100%, 50%)"),s.palette.trigger()}}),opacity:P({lock:"v"===n?"h":"v",element:t._root.opacity.picker,wrapper:t._root.opacity.slider,onstop:()=>t._emit("changestop",t),onchange(o){if(!e.opacity||!e.palette)return;const n=i();t._recalc&&(n.a=Math.round(100*o)/100),this.element.style.background="rgba(0, 0, 0, ".concat(n.a,")"),s.palette.trigger()}}),selectable:E({elements:t._root.interaction.options,className:"active",onchange(e){t._representation=e.target.getAttribute("data-type").toUpperCase(),t._recalc&&t._updateOutput()}})};this._components=s}_bindEvents(){const{_root:t,options:e}=this,o=[a(t.interaction.clear,"click",()=>this._clearColor()),a([t.interaction.cancel,t.preview.lastColor],"click",()=>{this._emit("cancel",this),this.setHSVA(...(this._lastColor||this._color).toHSVA(),!0)}),a(t.interaction.save,"click",()=>{!this.applyColor()&&!e.showAlways&&this.hide()}),a(t.interaction.result,["keyup","input"],t=>{this.setColor(t.target.value,!0)&&!this._initializingActive&&this._emit("change",this._color),t.stopImmediatePropagation()}),a(t.interaction.result,["focus","blur"],t=>{this._recalc="blur"===t.type,this._recalc&&this._updateOutput()}),a([t.palette.palette,t.palette.picker,t.hue.slider,t.hue.picker,t.opacity.slider,t.opacity.picker],["mousedown","touchstart"],()=>this._recalc=!0,{passive:!0})];if(!e.showAlways){const n=e.closeWithKey;o.push(a(t.button,"click",()=>this.isOpen()?this.hide():this.show()),a(document,"keyup",t=>this.isOpen()&&(t.key===n||t.code===n)&&this.hide()),a(document,["touchstart","mousedown"],e=>{this.isOpen()&&!h(e).some(e=>e===t.app||e===t.button)&&this.hide()},{capture:!0}))}if(e.adjustableNumbers){const e={rgba:[255,255,255,1],hsva:[360,100,100,1],hsla:[360,100,100,1],cmyk:[100,100,100,100]};f(t.interaction.result,(t,o,n)=>{const r=e[this.getColorRepresentation().toLowerCase()];if(r){const e=r[n],i=t+(e>=100?1e3*o:o);return i<=0?0:Number((i<e?i:e).toPrecision(3))}return t})}if(e.autoReposition&&!e.inline){let t=null;const n=this;o.push(a(window,["scroll","resize"],()=>{n.isOpen()&&(e.closeOnScroll&&n.hide(),null===t?(t=setTimeout(()=>t=null,100),requestAnimationFrame(function e(){n._rePositioningPicker(),null!==t&&requestAnimationFrame(e)})):(clearTimeout(t),t=setTimeout(()=>t=null,100)))},{capture:!0}))}this._eventBindings=o}_rePositioningPicker(){const{options:t}=this;if(!t.inline&&!this._nanopop.update({position:t.position,forceApplyOnFailure:!this._recalc})){const t=this._root.app,e=(t.getBoundingClientRect(),this._root.button.getBoundingClientRect());t.style.top="".concat(e.bottom,"px"),t.style.left="".concat(e.left,"px")}}_updateOutput(){const{_root:t,_color:e,options:o}=this;if(t.interaction.type()){const n="to".concat(t.interaction.type().getAttribute("data-type"));t.interaction.result.value="function"==typeof e[n]?e[n]().toString(o.outputPrecision):""}!this._initializingActive&&this._recalc&&this._emit("change",e)}_clearColor(t=!1){const{_root:e,options:o}=this;o.useAsButton||(e.button.style.color="rgba(0, 0, 0, 0.15)"),e.button.classList.add("clear"),o.showAlways||this.hide(),this._lastColor=null,this._initializingActive||t||(this._emit("save",null),this._emit("clear",this))}_parseLocalColor(t){const{values:e,type:o,a:n}=function(t){t=t.match(/^[a-zA-Z]+$/)?function(t){if("black"===t.toLowerCase())return"#000";const e=document.createElement("canvas").getContext("2d");return e.fillStyle=t,"#000"===e.fillStyle?null:e.fillStyle}(t):t;const e={cmyk:/^cmyk[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)/i,rgba:/^((rgba)|rgb)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i,hsla:/^((hsla)|hsl)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i,hsva:/^((hsva)|hsv)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i,hexa:/^#?(([\dA-Fa-f]{3,4})|([\dA-Fa-f]{6})|([\dA-Fa-f]{8}))$/i},o=t=>t.map(t=>/^(|\d+)\.\d+|\d+$/.test(t)?Number(t):void 0);let n;t:for(const r in e){if(!(n=e[r].exec(t)))continue;const i=t=>!!n[2]==("number"==typeof t);switch(r){case"cmyk":{const[,t,e,i,s]=o(n);if(t>100||e>100||i>100||s>100)break t;return{values:A(t,e,i,s),type:r}}case"rgba":{const[,,,t,e,s,c]=o(n);if(t>255||e>255||s>255||c<0||c>1||!i(c))break t;return{values:[...O(t,e,s),c],a:c,type:r}}case"hexa":{let[,t]=n;4!==t.length&&3!==t.length||(t=t.split("").map(t=>t+t).join(""));const e=t.substring(0,6);let o=t.substring(6);return o=o?parseInt(o,16)/255:void 0,{values:[...k(e),o],a:o,type:r}}case"hsla":{const[,,,t,e,s,c]=o(n);if(t>360||e>100||s>100||c<0||c>1||!i(c))break t;return{values:[...C(t,e,s),c],a:c,type:r}}case"hsva":{const[,,,t,e,s,c]=o(n);if(t>360||e>100||s>100||c<0||c>1||!i(c))break t;return{values:[t,e,s,c],a:c,type:r}}}}return{values:null,type:null}}(t),{lockOpacity:r}=this.options,i=void 0!==n&&1!==n;return e&&3===e.length&&(e[3]=void 0),{values:!e||r&&i?null:e,type:o}}_t(t){return this.options.i18n[t]||H.I18N_DEFAULTS[t]}_emit(t,...e){this._eventListener[t].forEach(t=>t(...e,this))}on(t,e){return this._eventListener[t].push(e),this}off(t,e){const o=this._eventListener[t]||[],n=o.indexOf(e);return~n&&o.splice(n,1),this}addSwatch(t){const{values:e}=this._parseLocalColor(t);if(e){const{_swatchColors:t,_root:o}=this,n=j(...e),r=p('<button type="button" style="color: '.concat(n.toRGBA().toString(0),'" aria-label="').concat(this._t("btn:swatch"),'"/>'));return o.swatches.appendChild(r),t.push({el:r,color:n}),this._eventBindings.push(a(r,"click",()=>{this.setHSVA(...n.toHSVA(),!0),this._emit("swatchselect",n),this._emit("change",n)})),!0}return!1}removeSwatch(t){const e=this._swatchColors[t];if(e){const{el:o}=e;return this._root.swatches.removeChild(o),this._swatchColors.splice(t,1),!0}return!1}applyColor(t=!1){const{preview:e,button:o}=this._root,n=this._color.toRGBA().toString(0);return e.lastColor.style.color=n,this.options.useAsButton||(o.style.color=n),o.classList.remove("clear"),this._lastColor=this._color.clone(),this._initializingActive||t||this._emit("save",this._color),this}destroy(){this._eventBindings.forEach(t=>l(...t)),Object.keys(this._components).forEach(t=>this._components[t].destroy())}destroyAndRemove(){this.destroy();const{root:t,app:e}=this._root;t.parentElement&&t.parentElement.removeChild(t),e.parentElement.removeChild(e),Object.keys(this).forEach(t=>this[t]=null)}hide(){return this._root.app.classList.remove("visible"),this._emit("hide",this),this}show(){return this.options.disabled||(this._root.app.classList.add("visible"),this._rePositioningPicker(),this._emit("show",this)),this}isOpen(){return this._root.app.classList.contains("visible")}setHSVA(t=360,e=0,o=0,n=1,r=!1){const i=this._recalc;if(this._recalc=!1,t<0||t>360||e<0||e>100||o<0||o>100||n<0||n>1)return!1;this._color=j(t,e,o,n);const{hue:s,opacity:c,palette:a}=this._components;return s.update(t/360),c.update(n),a.update(e/100,1-o/100),r||this.applyColor(),i&&this._updateOutput(),this._recalc=i,!0}setColor(t,e=!1){if(null===t)return this._clearColor(e),!0;const{values:o,type:n}=this._parseLocalColor(t);if(o){const t=n.toUpperCase(),{options:r}=this._root.interaction,i=r.find(e=>e.getAttribute("data-type")===t);if(i&&!i.hidden)for(const t of r)t.classList[t===i?"add":"remove"]("active");return!!this.setHSVA(...o,e)&&this.setColorRepresentation(t)}return!1}setColorRepresentation(t){return t=t.toUpperCase(),!!this._root.interaction.options.find(e=>e.getAttribute("data-type").startsWith(t)&&!e.click())}getColorRepresentation(){return this._representation}getColor(){return this._color}getSelectedColor(){return this._lastColor}getRoot(){return this._root}disable(){return this.hide(),this.options.disabled=!0,this._root.button.classList.add("disabled"),this}enable(){return this.options.disabled=!1,this._root.button.classList.remove("disabled"),this}}R(H,"utils",n),R(H,"version",b.a),R(H,"I18N_DEFAULTS",{"ui:dialog":"color picker dialog","btn:toggle":"toggle color picker dialog","btn:swatch":"color swatch","btn:last-color":"use previous color","btn:save":"Save","btn:cancel":"Cancel","btn:clear":"Clear","aria:btn:save":"save and close","aria:btn:cancel":"cancel and close","aria:btn:clear":"clear and close","aria:input":"color input field","aria:palette":"color selection area","aria:hue":"hue selection slider","aria:opacity":"selection slider"}),R(H,"DEFAULT_OPTIONS",{appClass:null,theme:"classic",useAsButton:!1,padding:8,disabled:!1,comparison:!0,closeOnScroll:!1,outputPrecision:0,lockOpacity:!1,autoReposition:!0,container:"body",components:{interaction:{}},i18n:{},swatches:null,inline:!1,sliders:null,default:"",defaultRepresentation:null,position:"bottom-middle",adjustableNumbers:!0,showAlways:!1,closeWithKey:"Escape"}),R(H,"create",t=>new H(t)),e.default=H}]).default});
|
assets/js/editor-plugins/code/plugin.js
ADDED
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function () {
|
2 |
+
var code = (function () {
|
3 |
+
'use strict';
|
4 |
+
|
5 |
+
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
6 |
+
|
7 |
+
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
|
8 |
+
|
9 |
+
var getMinWidth = function (editor) {
|
10 |
+
return editor.getParam('code_dialog_width', 600);
|
11 |
+
};
|
12 |
+
var getMinHeight = function (editor) {
|
13 |
+
return editor.getParam('code_dialog_height', Math.min(global$1.DOM.getViewPort().h - 200, 500));
|
14 |
+
};
|
15 |
+
var Settings = {
|
16 |
+
getMinWidth: getMinWidth,
|
17 |
+
getMinHeight: getMinHeight
|
18 |
+
};
|
19 |
+
|
20 |
+
var setContent = function (editor, html) {
|
21 |
+
editor.focus();
|
22 |
+
editor.undoManager.transact(function () {
|
23 |
+
editor.setContent(html);
|
24 |
+
});
|
25 |
+
editor.selection.setCursorLocation();
|
26 |
+
editor.nodeChanged();
|
27 |
+
};
|
28 |
+
var getContent = function (editor) {
|
29 |
+
return editor.getContent({ source_view: true });
|
30 |
+
};
|
31 |
+
var Content = {
|
32 |
+
setContent: setContent,
|
33 |
+
getContent: getContent
|
34 |
+
};
|
35 |
+
|
36 |
+
var open = function (editor) {
|
37 |
+
var minWidth = Settings.getMinWidth(editor);
|
38 |
+
var minHeight = Settings.getMinHeight(editor);
|
39 |
+
var win = editor.windowManager.open({
|
40 |
+
title: 'Source code',
|
41 |
+
body: {
|
42 |
+
type: 'textbox',
|
43 |
+
name: 'code',
|
44 |
+
multiline: true,
|
45 |
+
minWidth: minWidth,
|
46 |
+
minHeight: minHeight,
|
47 |
+
spellcheck: false,
|
48 |
+
style: 'direction: ltr; text-align: left'
|
49 |
+
},
|
50 |
+
onSubmit: function (e) {
|
51 |
+
Content.setContent(editor, e.data.code);
|
52 |
+
}
|
53 |
+
});
|
54 |
+
win.find('#code').value(Content.getContent(editor));
|
55 |
+
};
|
56 |
+
var Dialog = { open: open };
|
57 |
+
|
58 |
+
var register = function (editor) {
|
59 |
+
editor.addCommand('mceCodeEditor', function () {
|
60 |
+
Dialog.open(editor);
|
61 |
+
});
|
62 |
+
};
|
63 |
+
var Commands = { register: register };
|
64 |
+
|
65 |
+
var register$1 = function (editor) {
|
66 |
+
editor.addButton('code', {
|
67 |
+
icon: 'code',
|
68 |
+
tooltip: 'Source code',
|
69 |
+
onclick: function () {
|
70 |
+
Dialog.open(editor);
|
71 |
+
}
|
72 |
+
});
|
73 |
+
editor.addMenuItem('code', {
|
74 |
+
icon: 'code',
|
75 |
+
text: 'Source code',
|
76 |
+
onclick: function () {
|
77 |
+
Dialog.open(editor);
|
78 |
+
}
|
79 |
+
});
|
80 |
+
};
|
81 |
+
var Buttons = { register: register$1 };
|
82 |
+
|
83 |
+
global.add('code', function (editor) {
|
84 |
+
Commands.register(editor);
|
85 |
+
Buttons.register(editor);
|
86 |
+
return {};
|
87 |
+
});
|
88 |
+
function Plugin () {
|
89 |
+
}
|
90 |
+
|
91 |
+
return Plugin;
|
92 |
+
|
93 |
+
}());
|
94 |
+
})();
|
assets/js/editor-plugins/code/plugin.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),o=function(t){return t.getParam("code_dialog_width",600)},i=function(t){return t.getParam("code_dialog_height",Math.min(n.DOM.getViewPort().h-200,500))},c=function(t,n){t.focus(),t.undoManager.transact(function(){t.setContent(n)}),t.selection.setCursorLocation(),t.nodeChanged()},d=function(t){return t.getContent({source_view:!0})},e=function(n){var t=o(n),e=i(n);n.windowManager.open({title:"Source code",body:{type:"textbox",name:"code",multiline:!0,minWidth:t,minHeight:e,spellcheck:!1,style:"direction: ltr; text-align: left"},onSubmit:function(t){c(n,t.data.code)}}).find("#code").value(d(n))},u=function(t){t.addCommand("mceCodeEditor",function(){e(t)})},a=function(t){t.addButton("code",{icon:"code",tooltip:"Source code",onclick:function(){e(t)}}),t.addMenuItem("code",{icon:"code",text:"Source code",onclick:function(){e(t)}})};t.add("code",function(t){return u(t),a(t),{}})}();
|
assets/js/handsontable/handsontable.full.6.2.2.js
ADDED
@@ -0,0 +1,75997 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* (The MIT License)
|
3 |
+
*
|
4 |
+
* Copyright (c) 2012-2014 Marcin Warpechowski
|
5 |
+
* Copyright (c) 2015 Handsoncode sp. z o.o. <hello@handsoncode.net>
|
6 |
+
*
|
7 |
+
* Permission is hereby granted, free of charge, to any person obtaining
|
8 |
+
* a copy of this software and associated documentation files (the
|
9 |
+
* 'Software'), to deal in the Software without restriction, including
|
10 |
+
* without limitation the rights to use, copy, modify, merge, publish,
|
11 |
+
* distribute, sublicense, and/or sell copies of the Software, and to
|
12 |
+
* permit persons to whom the Software is furnished to do so, subject to
|
13 |
+
* the following conditions:
|
14 |
+
*
|
15 |
+
* The above copyright notice and this permission notice shall be
|
16 |
+
* included in all copies or substantial portions of the Software.
|
17 |
+
*
|
18 |
+
* THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
19 |
+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
20 |
+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
21 |
+
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
22 |
+
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
23 |
+
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
24 |
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
25 |
+
*
|
26 |
+
* Version: 6.2.2
|
27 |
+
* Release date: 19/12/2018 (built at 18/12/2018 14:40:17)
|
28 |
+
*/
|
29 |
+
(function webpackUniversalModuleDefinition(root, factory) {
|
30 |
+
if(typeof exports === 'object' && typeof module === 'object')
|
31 |
+
module.exports = factory();
|
32 |
+
else if(typeof define === 'function' && define.amd)
|
33 |
+
define("Handsontable", [], factory);
|
34 |
+
else if(typeof exports === 'object')
|
35 |
+
exports["Handsontable"] = factory();
|
36 |
+
else
|
37 |
+
root["Handsontable"] = factory();
|
38 |
+
})(typeof self !== 'undefined' ? self : this, function() {
|
39 |
+
return /******/ (function(modules) { // webpackBootstrap
|
40 |
+
/******/ // The module cache
|
41 |
+
/******/ var installedModules = {};
|
42 |
+
/******/
|
43 |
+
/******/ // The require function
|
44 |
+
/******/ function __webpack_require__(moduleId) {
|
45 |
+
/******/
|
46 |
+
/******/ // Check if module is in cache
|
47 |
+
/******/ if(installedModules[moduleId]) {
|
48 |
+
/******/ return installedModules[moduleId].exports;
|
49 |
+
/******/ }
|
50 |
+
/******/ // Create a new module (and put it into the cache)
|
51 |
+
/******/ var module = installedModules[moduleId] = {
|
52 |
+
/******/ i: moduleId,
|
53 |
+
/******/ l: false,
|
54 |
+
/******/ exports: {}
|
55 |
+
/******/ };
|
56 |
+
/******/
|
57 |
+
/******/ // Execute the module function
|
58 |
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
59 |
+
/******/
|
60 |
+
/******/ // Flag the module as loaded
|
61 |
+
/******/ module.l = true;
|
62 |
+
/******/
|
63 |
+
/******/ // Return the exports of the module
|
64 |
+
/******/ return module.exports;
|
65 |
+
/******/ }
|
66 |
+
/******/
|
67 |
+
/******/
|
68 |
+
/******/ // expose the modules object (__webpack_modules__)
|
69 |
+
/******/ __webpack_require__.m = modules;
|
70 |
+
/******/
|
71 |
+
/******/ // expose the module cache
|
72 |
+
/******/ __webpack_require__.c = installedModules;
|
73 |
+
/******/
|
74 |
+
/******/ // define getter function for harmony exports
|
75 |
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
76 |
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
77 |
+
/******/ Object.defineProperty(exports, name, {
|
78 |
+
/******/ configurable: false,
|
79 |
+
/******/ enumerable: true,
|
80 |
+
/******/ get: getter
|
81 |
+
/******/ });
|
82 |
+
/******/ }
|
83 |
+
/******/ };
|
84 |
+
/******/
|
85 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
86 |
+
/******/ __webpack_require__.n = function(module) {
|
87 |
+
/******/ var getter = module && module.__esModule ?
|
88 |
+
/******/ function getDefault() { return module['default']; } :
|
89 |
+
/******/ function getModuleExports() { return module; };
|
90 |
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
91 |
+
/******/ return getter;
|
92 |
+
/******/ };
|
93 |
+
/******/
|
94 |
+
/******/ // Object.prototype.hasOwnProperty.call
|
95 |
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
96 |
+
/******/
|
97 |
+
/******/ // __webpack_public_path__
|
98 |
+
/******/ __webpack_require__.p = "";
|
99 |
+
/******/
|
100 |
+
/******/ // Load entry module and return exports
|
101 |
+
/******/ return __webpack_require__(__webpack_require__.s = 437);
|
102 |
+
/******/ })
|
103 |
+
/************************************************************************/
|
104 |
+
/******/ ([
|
105 |
+
/* 0 */
|
106 |
+
/***/ (function(module, exports, __webpack_require__) {
|
107 |
+
|
108 |
+
var global = __webpack_require__(6);
|
109 |
+
var core = __webpack_require__(21);
|
110 |
+
var hide = __webpack_require__(28);
|
111 |
+
var redefine = __webpack_require__(23);
|
112 |
+
var ctx = __webpack_require__(37);
|
113 |
+
var PROTOTYPE = 'prototype';
|
114 |
+
|
115 |
+
var $export = function (type, name, source) {
|
116 |
+
var IS_FORCED = type & $export.F;
|
117 |
+
var IS_GLOBAL = type & $export.G;
|
118 |
+
var IS_STATIC = type & $export.S;
|
119 |
+
var IS_PROTO = type & $export.P;
|
120 |
+
var IS_BIND = type & $export.B;
|
121 |
+
var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];
|
122 |
+
var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
|
123 |
+
var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});
|
124 |
+
var key, own, out, exp;
|
125 |
+
if (IS_GLOBAL) source = name;
|
126 |
+
for (key in source) {
|
127 |
+
// contains in native
|
128 |
+
own = !IS_FORCED && target && target[key] !== undefined;
|
129 |
+
// export native or passed
|
130 |
+
out = (own ? target : source)[key];
|
131 |
+
// bind timers to global for call from export context
|
132 |
+
exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
|
133 |
+
// extend global
|
134 |
+
if (target) redefine(target, key, out, type & $export.U);
|
135 |
+
// export
|
136 |
+
if (exports[key] != out) hide(exports, key, exp);
|
137 |
+
if (IS_PROTO && expProto[key] != out) expProto[key] = out;
|
138 |
+
}
|
139 |
+
};
|
140 |
+
global.core = core;
|
141 |
+
// type bitmap
|
142 |
+
$export.F = 1; // forced
|
143 |
+
$export.G = 2; // global
|
144 |
+
$export.S = 4; // static
|
145 |
+
$export.P = 8; // proto
|
146 |
+
$export.B = 16; // bind
|
147 |
+
$export.W = 32; // wrap
|
148 |
+
$export.U = 64; // safe
|
149 |
+
$export.R = 128; // real proto method for `library`
|
150 |
+
module.exports = $export;
|
151 |
+
|
152 |
+
|
153 |
+
/***/ }),
|
154 |
+
/* 1 */
|
155 |
+
/***/ (function(module, exports, __webpack_require__) {
|
156 |
+
|
157 |
+
"use strict";
|
158 |
+
|
159 |
+
|
160 |
+
exports.__esModule = true;
|
161 |
+
exports.getParent = getParent;
|
162 |
+
exports.closest = closest;
|
163 |
+
exports.closestDown = closestDown;
|
164 |
+
exports.isChildOf = isChildOf;
|
165 |
+
exports.isChildOfWebComponentTable = isChildOfWebComponentTable;
|
166 |
+
exports.polymerWrap = polymerWrap;
|
167 |
+
exports.polymerUnwrap = polymerUnwrap;
|
168 |
+
exports.index = index;
|
169 |
+
exports.overlayContainsElement = overlayContainsElement;
|
170 |
+
exports.hasClass = hasClass;
|
171 |
+
exports.addClass = addClass;
|
172 |
+
exports.removeClass = removeClass;
|
173 |
+
exports.removeTextNodes = removeTextNodes;
|
174 |
+
exports.empty = empty;
|
175 |
+
exports.fastInnerHTML = fastInnerHTML;
|
176 |
+
exports.fastInnerText = fastInnerText;
|
177 |
+
exports.isVisible = isVisible;
|
178 |
+
exports.offset = offset;
|
179 |
+
exports.getWindowScrollTop = getWindowScrollTop;
|
180 |
+
exports.getWindowScrollLeft = getWindowScrollLeft;
|
181 |
+
exports.getScrollTop = getScrollTop;
|
182 |
+
exports.getScrollLeft = getScrollLeft;
|
183 |
+
exports.getScrollableElement = getScrollableElement;
|
184 |
+
exports.getTrimmingContainer = getTrimmingContainer;
|
185 |
+
exports.getStyle = getStyle;
|
186 |
+
exports.getComputedStyle = getComputedStyle;
|
187 |
+
exports.outerWidth = outerWidth;
|
188 |
+
exports.outerHeight = outerHeight;
|
189 |
+
exports.innerHeight = innerHeight;
|
190 |
+
exports.innerWidth = innerWidth;
|
191 |
+
exports.addEvent = addEvent;
|
192 |
+
exports.removeEvent = removeEvent;
|
193 |
+
exports.getCaretPosition = getCaretPosition;
|
194 |
+
exports.getSelectionEndPosition = getSelectionEndPosition;
|
195 |
+
exports.getSelectionText = getSelectionText;
|
196 |
+
exports.setCaretPosition = setCaretPosition;
|
197 |
+
exports.getScrollbarWidth = getScrollbarWidth;
|
198 |
+
exports.hasVerticalScrollbar = hasVerticalScrollbar;
|
199 |
+
exports.hasHorizontalScrollbar = hasHorizontalScrollbar;
|
200 |
+
exports.setOverlayPosition = setOverlayPosition;
|
201 |
+
exports.getCssTransform = getCssTransform;
|
202 |
+
exports.resetCssTransform = resetCssTransform;
|
203 |
+
exports.isInput = isInput;
|
204 |
+
exports.isOutsideInput = isOutsideInput;
|
205 |
+
exports.HTML_CHARACTERS = void 0;
|
206 |
+
|
207 |
+
var _browser = __webpack_require__(42);
|
208 |
+
|
209 |
+
var _feature = __webpack_require__(47);
|
210 |
+
|
211 |
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
|
212 |
+
|
213 |
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
|
214 |
+
|
215 |
+
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
|
216 |
+
|
217 |
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
|
218 |
+
|
219 |
+
/**
|
220 |
+
* Get the parent of the specified node in the DOM tree.
|
221 |
+
*
|
222 |
+
* @param {HTMLElement} element Element from which traversing is started.
|
223 |
+
* @param {Number} [level=0] Traversing deep level.
|
224 |
+
* @return {HTMLElement|null}
|
225 |
+
*/
|
226 |
+
function getParent(element) {
|
227 |
+
var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
228 |
+
var iteration = -1;
|
229 |
+
var parent = null;
|
230 |
+
var elementToCheck = element;
|
231 |
+
|
232 |
+
while (elementToCheck !== null) {
|
233 |
+
if (iteration === level) {
|
234 |
+
parent = elementToCheck;
|
235 |
+
break;
|
236 |
+
}
|
237 |
+
|
238 |
+
if (elementToCheck.host && elementToCheck.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
239 |
+
elementToCheck = elementToCheck.host;
|
240 |
+
} else {
|
241 |
+
iteration += 1;
|
242 |
+
elementToCheck = elementToCheck.parentNode;
|
243 |
+
}
|
244 |
+
}
|
245 |
+
|
246 |
+
return parent;
|
247 |
+
}
|
248 |
+
/**
|
249 |
+
* Goes up the DOM tree (including given element) until it finds an element that matches the nodes or nodes name.
|
250 |
+
* This method goes up through web components.
|
251 |
+
*
|
252 |
+
* @param {HTMLElement} element Element from which traversing is started
|
253 |
+
* @param {Array} nodes Array of elements or Array of elements name
|
254 |
+
* @param {HTMLElement} [until]
|
255 |
+
* @returns {HTMLElement|null}
|
256 |
+
*/
|
257 |
+
|
258 |
+
|
259 |
+
function closest(element, nodes, until) {
|
260 |
+
var elementToCheck = element;
|
261 |
+
|
262 |
+
while (elementToCheck !== null && elementToCheck !== until) {
|
263 |
+
if (elementToCheck.nodeType === Node.ELEMENT_NODE && (nodes.indexOf(elementToCheck.nodeName) > -1 || nodes.indexOf(elementToCheck) > -1)) {
|
264 |
+
return elementToCheck;
|
265 |
+
}
|
266 |
+
|
267 |
+
if (elementToCheck.host && elementToCheck.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
268 |
+
elementToCheck = elementToCheck.host;
|
269 |
+
} else {
|
270 |
+
elementToCheck = elementToCheck.parentNode;
|
271 |
+
}
|
272 |
+
}
|
273 |
+
|
274 |
+
return null;
|
275 |
+
}
|
276 |
+
/**
|
277 |
+
* Goes "down" the DOM tree (including given element) until it finds an element that matches the nodes or nodes name.
|
278 |
+
*
|
279 |
+
* @param {HTMLElement} element Element from which traversing is started
|
280 |
+
* @param {Array} nodes Array of elements or Array of elements name
|
281 |
+
* @param {HTMLElement} [until]
|
282 |
+
* @returns {HTMLElement|null}
|
283 |
+
*/
|
284 |
+
|
285 |
+
|
286 |
+
function closestDown(element, nodes, until) {
|
287 |
+
var matched = [];
|
288 |
+
var elementToCheck = element;
|
289 |
+
|
290 |
+
while (elementToCheck) {
|
291 |
+
elementToCheck = closest(elementToCheck, nodes, until);
|
292 |
+
|
293 |
+
if (!elementToCheck || until && !until.contains(elementToCheck)) {
|
294 |
+
break;
|
295 |
+
}
|
296 |
+
|
297 |
+
matched.push(elementToCheck);
|
298 |
+
|
299 |
+
if (elementToCheck.host && elementToCheck.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
300 |
+
elementToCheck = elementToCheck.host;
|
301 |
+
} else {
|
302 |
+
elementToCheck = elementToCheck.parentNode;
|
303 |
+
}
|
304 |
+
}
|
305 |
+
|
306 |
+
var length = matched.length;
|
307 |
+
return length ? matched[length - 1] : null;
|
308 |
+
}
|
309 |
+
/**
|
310 |
+
* Goes up the DOM tree and checks if element is child of another element.
|
311 |
+
*
|
312 |
+
* @param child Child element
|
313 |
+
* @param {Object|String} parent Parent element OR selector of the parent element.
|
314 |
+
* If string provided, function returns `true` for the first occurrence of element with that class.
|
315 |
+
* @returns {Boolean}
|
316 |
+
*/
|
317 |
+
|
318 |
+
|
319 |
+
function isChildOf(child, parent) {
|
320 |
+
var node = child.parentNode;
|
321 |
+
var queriedParents = [];
|
322 |
+
|
323 |
+
if (typeof parent === 'string') {
|
324 |
+
queriedParents = Array.prototype.slice.call(document.querySelectorAll(parent), 0);
|
325 |
+
} else {
|
326 |
+
queriedParents.push(parent);
|
327 |
+
}
|
328 |
+
|
329 |
+
while (node !== null) {
|
330 |
+
if (queriedParents.indexOf(node) > -1) {
|
331 |
+
return true;
|
332 |
+
}
|
333 |
+
|
334 |
+
node = node.parentNode;
|
335 |
+
}
|
336 |
+
|
337 |
+
return false;
|
338 |
+
}
|
339 |
+
/**
|
340 |
+
* Check if an element is part of `hot-table` web component.
|
341 |
+
*
|
342 |
+
* @param {Element} element
|
343 |
+
* @returns {Boolean}
|
344 |
+
*/
|
345 |
+
|
346 |
+
|
347 |
+
function isChildOfWebComponentTable(element) {
|
348 |
+
var hotTableName = 'hot-table';
|
349 |
+
var result = false;
|
350 |
+
var parentNode = polymerWrap(element);
|
351 |
+
|
352 |
+
function isHotTable(testElement) {
|
353 |
+
return testElement.nodeType === Node.ELEMENT_NODE && testElement.nodeName === hotTableName.toUpperCase();
|
354 |
+
}
|
355 |
+
|
356 |
+
while (parentNode !== null) {
|
357 |
+
if (isHotTable(parentNode)) {
|
358 |
+
result = true;
|
359 |
+
break;
|
360 |
+
} else if (parentNode.host && parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
361 |
+
result = isHotTable(parentNode.host);
|
362 |
+
|
363 |
+
if (result) {
|
364 |
+
break;
|
365 |
+
}
|
366 |
+
|
367 |
+
parentNode = parentNode.host;
|
368 |
+
}
|
369 |
+
|
370 |
+
parentNode = parentNode.parentNode;
|
371 |
+
}
|
372 |
+
|
373 |
+
return result;
|
374 |
+
}
|
375 |
+
/* global Polymer wrap unwrap */
|
376 |
+
|
377 |
+
/**
|
378 |
+
* Wrap element into polymer/webcomponent container if exists
|
379 |
+
*
|
380 |
+
* @param element
|
381 |
+
* @returns {*}
|
382 |
+
*/
|
383 |
+
|
384 |
+
|
385 |
+
function polymerWrap(element) {
|
386 |
+
return typeof Polymer !== 'undefined' && typeof wrap === 'function' ? wrap(element) : element;
|
387 |
+
}
|
388 |
+
/**
|
389 |
+
* Unwrap element from polymer/webcomponent container if exists
|
390 |
+
*
|
391 |
+
* @param element
|
392 |
+
* @returns {*}
|
393 |
+
*/
|
394 |
+
|
395 |
+
|
396 |
+
function polymerUnwrap(element) {
|
397 |
+
return typeof Polymer !== 'undefined' && typeof unwrap === 'function' ? unwrap(element) : element;
|
398 |
+
}
|
399 |
+
/**
|
400 |
+
* Counts index of element within its parent
|
401 |
+
* WARNING: for performance reasons, assumes there are only element nodes (no text nodes). This is true for Walkotnable
|
402 |
+
* Otherwise would need to check for nodeType or use previousElementSibling
|
403 |
+
*
|
404 |
+
* @see http://jsperf.com/sibling-index/10
|
405 |
+
* @param {Element} element
|
406 |
+
* @return {Number}
|
407 |
+
*/
|
408 |
+
|
409 |
+
|
410 |
+
function index(element) {
|
411 |
+
var i = 0;
|
412 |
+
var elementToCheck = element;
|
413 |
+
|
414 |
+
if (elementToCheck.previousSibling) {
|
415 |
+
/* eslint-disable no-cond-assign */
|
416 |
+
while (elementToCheck = elementToCheck.previousSibling) {
|
417 |
+
i += 1;
|
418 |
+
}
|
419 |
+
}
|
420 |
+
|
421 |
+
return i;
|
422 |
+
}
|
423 |
+
/**
|
424 |
+
* Check if the provided overlay contains the provided element
|
425 |
+
*
|
426 |
+
* @param {String} overlay
|
427 |
+
* @param {HTMLElement} element
|
428 |
+
* @returns {boolean}
|
429 |
+
*/
|
430 |
+
|
431 |
+
|
432 |
+
function overlayContainsElement(overlayType, element) {
|
433 |
+
var overlayElement = document.querySelector(".ht_clone_".concat(overlayType));
|
434 |
+
return overlayElement ? overlayElement.contains(element) : null;
|
435 |
+
}
|
436 |
+
|
437 |
+
var classListSupport = !!document.documentElement.classList;
|
438 |
+
|
439 |
+
var _hasClass;
|
440 |
+
|
441 |
+
var _addClass;
|
442 |
+
|
443 |
+
var _removeClass;
|
444 |
+
|
445 |
+
function filterEmptyClassNames(classNames) {
|
446 |
+
var result = [];
|
447 |
+
|
448 |
+
if (!classNames || !classNames.length) {
|
449 |
+
return result;
|
450 |
+
}
|
451 |
+
|
452 |
+
var len = 0;
|
453 |
+
|
454 |
+
while (classNames[len]) {
|
455 |
+
result.push(classNames[len]);
|
456 |
+
len += 1;
|
457 |
+
}
|
458 |
+
|
459 |
+
return result;
|
460 |
+
}
|
461 |
+
|
462 |
+
if (classListSupport) {
|
463 |
+
var isSupportMultipleClassesArg = function () {
|
464 |
+
var element = document.createElement('div');
|
465 |
+
element.classList.add('test', 'test2');
|
466 |
+
return element.classList.contains('test2');
|
467 |
+
}();
|
468 |
+
|
469 |
+
_hasClass = function _hasClass(element, className) {
|
470 |
+
if (element.classList === void 0 || typeof className !== 'string' || className === '') {
|
471 |
+
return false;
|
472 |
+
}
|
473 |
+
|
474 |
+
return element.classList.contains(className);
|
475 |
+
};
|
476 |
+
|
477 |
+
_addClass = function _addClass(element, classes) {
|
478 |
+
var className = classes;
|
479 |
+
|
480 |
+
if (typeof className === 'string') {
|
481 |
+
className = className.split(' ');
|
482 |
+
}
|
483 |
+
|
484 |
+
className = filterEmptyClassNames(className);
|
485 |
+
|
486 |
+
if (className.length > 0) {
|
487 |
+
if (isSupportMultipleClassesArg) {
|
488 |
+
var _element$classList;
|
489 |
+
|
490 |
+
(_element$classList = element.classList).add.apply(_element$classList, _toConsumableArray(className));
|
491 |
+
} else {
|
492 |
+
var len = 0;
|
493 |
+
|
494 |
+
while (className && className[len]) {
|
495 |
+
element.classList.add(className[len]);
|
496 |
+
len += 1;
|
497 |
+
}
|
498 |
+
}
|
499 |
+
}
|
500 |
+
};
|
501 |
+
|
502 |
+
_removeClass = function _removeClass(element, classes) {
|
503 |
+
var className = classes;
|
504 |
+
|
505 |
+
if (typeof className === 'string') {
|
506 |
+
className = className.split(' ');
|
507 |
+
}
|
508 |
+
|
509 |
+
className = filterEmptyClassNames(className);
|
510 |
+
|
511 |
+
if (className.length > 0) {
|
512 |
+
if (isSupportMultipleClassesArg) {
|
513 |
+
var _element$classList2;
|
514 |
+
|
515 |
+
(_element$classList2 = element.classList).remove.apply(_element$classList2, _toConsumableArray(className));
|
516 |
+
} else {
|
517 |
+
var len = 0;
|
518 |
+
|
519 |
+
while (className && className[len]) {
|
520 |
+
element.classList.remove(className[len]);
|
521 |
+
len += 1;
|
522 |
+
}
|
523 |
+
}
|
524 |
+
}
|
525 |
+
};
|
526 |
+
} else {
|
527 |
+
var createClassNameRegExp = function createClassNameRegExp(className) {
|
528 |
+
return new RegExp("(\\s|^)".concat(className, "(\\s|$)"));
|
529 |
+
};
|
530 |
+
|
531 |
+
_hasClass = function _hasClass(element, className) {
|
532 |
+
// http://snipplr.com/view/3561/addclass-removeclass-hasclass/
|
533 |
+
return element.className !== void 0 && createClassNameRegExp(className).test(element.className);
|
534 |
+
};
|
535 |
+
|
536 |
+
_addClass = function _addClass(element, classes) {
|
537 |
+
var len = 0;
|
538 |
+
var _className = element.className;
|
539 |
+
var className = classes;
|
540 |
+
|
541 |
+
if (typeof className === 'string') {
|
542 |
+
className = className.split(' ');
|
543 |
+
}
|
544 |
+
|
545 |
+
if (_className === '') {
|
546 |
+
_className = className.join(' ');
|
547 |
+
} else {
|
548 |
+
while (className && className[len]) {
|
549 |
+
if (!createClassNameRegExp(className[len]).test(_className)) {
|
550 |
+
_className += " ".concat(className[len]);
|
551 |
+
}
|
552 |
+
|
553 |
+
len += 1;
|
554 |
+
}
|
555 |
+
}
|
556 |
+
|
557 |
+
element.className = _className;
|
558 |
+
};
|
559 |
+
|
560 |
+
_removeClass = function _removeClass(element, classes) {
|
561 |
+
var len = 0;
|
562 |
+
var _className = element.className;
|
563 |
+
var className = classes;
|
564 |
+
|
565 |
+
if (typeof className === 'string') {
|
566 |
+
className = className.split(' ');
|
567 |
+
}
|
568 |
+
|
569 |
+
while (className && className[len]) {
|
570 |
+
// String.prototype.trim is defined in polyfill.js
|
571 |
+
_className = _className.replace(createClassNameRegExp(className[len]), ' ').trim();
|
572 |
+
len += 1;
|
573 |
+
}
|
574 |
+
|
575 |
+
if (element.className !== _className) {
|
576 |
+
element.className = _className;
|
577 |
+
}
|
578 |
+
};
|
579 |
+
}
|
580 |
+
/**
|
581 |
+
* Checks if element has class name
|
582 |
+
*
|
583 |
+
* @param {HTMLElement} element
|
584 |
+
* @param {String} className Class name to check
|
585 |
+
* @returns {Boolean}
|
586 |
+
*/
|
587 |
+
|
588 |
+
|
589 |
+
function hasClass(element, className) {
|
590 |
+
return _hasClass(element, className);
|
591 |
+
}
|
592 |
+
/**
|
593 |
+
* Add class name to an element
|
594 |
+
*
|
595 |
+
* @param {HTMLElement} element
|
596 |
+
* @param {String|Array} className Class name as string or array of strings
|
597 |
+
*/
|
598 |
+
|
599 |
+
|
600 |
+
function addClass(element, className) {
|
601 |
+
return _addClass(element, className);
|
602 |
+
}
|
603 |
+
/**
|
604 |
+
* Remove class name from an element
|
605 |
+
*
|
606 |
+
* @param {HTMLElement} element
|
607 |
+
* @param {String|Array} className Class name as string or array of strings
|
608 |
+
*/
|
609 |
+
|
610 |
+
|
611 |
+
function removeClass(element, className) {
|
612 |
+
return _removeClass(element, className);
|
613 |
+
}
|
614 |
+
|
615 |
+
function removeTextNodes(element, parent) {
|
616 |
+
if (element.nodeType === 3) {
|
617 |
+
parent.removeChild(element); // bye text nodes!
|
618 |
+
} else if (['TABLE', 'THEAD', 'TBODY', 'TFOOT', 'TR'].indexOf(element.nodeName) > -1) {
|
619 |
+
var childs = element.childNodes;
|
620 |
+
|
621 |
+
for (var i = childs.length - 1; i >= 0; i--) {
|
622 |
+
removeTextNodes(childs[i], element);
|
623 |
+
}
|
624 |
+
}
|
625 |
+
}
|
626 |
+
/**
|
627 |
+
* Remove childs function
|
628 |
+
* WARNING - this doesn't unload events and data attached by jQuery
|
629 |
+
* http://jsperf.com/jquery-html-vs-empty-vs-innerhtml/9
|
630 |
+
* http://jsperf.com/jquery-html-vs-empty-vs-innerhtml/11 - no siginificant improvement with Chrome remove() method
|
631 |
+
*
|
632 |
+
* @param element
|
633 |
+
* @returns {void}
|
634 |
+
*/
|
635 |
+
//
|
636 |
+
|
637 |
+
|
638 |
+
function empty(element) {
|
639 |
+
var child;
|
640 |
+
/* eslint-disable no-cond-assign */
|
641 |
+
|
642 |
+
while (child = element.lastChild) {
|
643 |
+
element.removeChild(child);
|
644 |
+
}
|
645 |
+
}
|
646 |
+
|
647 |
+
var HTML_CHARACTERS = /(<(.*)>|&(.*);)/;
|
648 |
+
/**
|
649 |
+
* Insert content into element trying avoid innerHTML method.
|
650 |
+
* @return {void}
|
651 |
+
*/
|
652 |
+
|
653 |
+
exports.HTML_CHARACTERS = HTML_CHARACTERS;
|
654 |
+
|
655 |
+
function fastInnerHTML(element, content) {
|
656 |
+
if (HTML_CHARACTERS.test(content)) {
|
657 |
+
element.innerHTML = content;
|
658 |
+
} else {
|
659 |
+
fastInnerText(element, content);
|
660 |
+
}
|
661 |
+
}
|
662 |
+
/**
|
663 |
+
* Insert text content into element
|
664 |
+
* @return {void}
|
665 |
+
*/
|
666 |
+
|
667 |
+
|
668 |
+
var textContextSupport = !!document.createTextNode('test').textContent;
|
669 |
+
|
670 |
+
function fastInnerText(element, content) {
|
671 |
+
var child = element.firstChild;
|
672 |
+
|
673 |
+
if (child && child.nodeType === 3 && child.nextSibling === null) {
|
674 |
+
// fast lane - replace existing text node
|
675 |
+
if (textContextSupport) {
|
676 |
+
// http://jsperf.com/replace-text-vs-reuse
|
677 |
+
child.textContent = content;
|
678 |
+
} else {
|
679 |
+
// http://jsperf.com/replace-text-vs-reuse
|
680 |
+
child.data = content;
|
681 |
+
}
|
682 |
+
} else {
|
683 |
+
// slow lane - empty element and insert a text node
|
684 |
+
empty(element);
|
685 |
+
element.appendChild(document.createTextNode(content));
|
686 |
+
}
|
687 |
+
}
|
688 |
+
/**
|
689 |
+
* Returns true if element is attached to the DOM and visible, false otherwise
|
690 |
+
* @param elem
|
691 |
+
* @returns {boolean}
|
692 |
+
*/
|
693 |
+
|
694 |
+
|
695 |
+
function isVisible(elem) {
|
696 |
+
var next = elem;
|
697 |
+
|
698 |
+
while (polymerUnwrap(next) !== document.documentElement) {
|
699 |
+
// until <html> reached
|
700 |
+
if (next === null) {
|
701 |
+
// parent detached from DOM
|
702 |
+
return false;
|
703 |
+
} else if (next.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
704 |
+
if (next.host) {
|
705 |
+
// this is Web Components Shadow DOM
|
706 |
+
// see: http://w3c.github.io/webcomponents/spec/shadow/#encapsulation
|
707 |
+
// according to spec, should be if (next.ownerDocument !== window.document), but that doesn't work yet
|
708 |
+
if (next.host.impl) {
|
709 |
+
// Chrome 33.0.1723.0 canary (2013-11-29) Web Platform features disabled
|
710 |
+
return isVisible(next.host.impl);
|
711 |
+
} else if (next.host) {
|
712 |
+
// Chrome 33.0.1723.0 canary (2013-11-29) Web Platform features enabled
|
713 |
+
return isVisible(next.host);
|
714 |
+
}
|
715 |
+
|
716 |
+
throw new Error('Lost in Web Components world');
|
717 |
+
} else {
|
718 |
+
return false; // this is a node detached from document in IE8
|
719 |
+
}
|
720 |
+
} else if (next.style.display === 'none') {
|
721 |
+
return false;
|
722 |
+
}
|
723 |
+
|
724 |
+
next = next.parentNode;
|
725 |
+
}
|
726 |
+
|
727 |
+
return true;
|
728 |
+
}
|
729 |
+
/**
|
730 |
+
* Returns elements top and left offset relative to the document. Function is not compatible with jQuery offset.
|
731 |
+
*
|
732 |
+
* @param {HTMLElement} elem
|
733 |
+
* @return {Object} Returns object with `top` and `left` props
|
734 |
+
*/
|
735 |
+
|
736 |
+
|
737 |
+
function offset(elem) {
|
738 |
+
var docElem = document.documentElement;
|
739 |
+
var elementToCheck = elem;
|
740 |
+
var offsetLeft;
|
741 |
+
var offsetTop;
|
742 |
+
var lastElem;
|
743 |
+
var box;
|
744 |
+
|
745 |
+
if ((0, _feature.hasCaptionProblem)() && elementToCheck.firstChild && elementToCheck.firstChild.nodeName === 'CAPTION') {
|
746 |
+
// fixes problem with Firefox ignoring <caption> in TABLE offset (see also export outerHeight)
|
747 |
+
// http://jsperf.com/offset-vs-getboundingclientrect/8
|
748 |
+
box = elementToCheck.getBoundingClientRect();
|
749 |
+
return {
|
750 |
+
top: box.top + (window.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0),
|
751 |
+
left: box.left + (window.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0)
|
752 |
+
};
|
753 |
+
}
|
754 |
+
|
755 |
+
offsetLeft = elementToCheck.offsetLeft;
|
756 |
+
offsetTop = elementToCheck.offsetTop;
|
757 |
+
lastElem = elementToCheck;
|
758 |
+
/* eslint-disable no-cond-assign */
|
759 |
+
|
760 |
+
while (elementToCheck = elementToCheck.offsetParent) {
|
761 |
+
// from my observation, document.body always has scrollLeft/scrollTop == 0
|
762 |
+
if (elementToCheck === document.body) {
|
763 |
+
break;
|
764 |
+
}
|
765 |
+
|
766 |
+
offsetLeft += elementToCheck.offsetLeft;
|
767 |
+
offsetTop += elementToCheck.offsetTop;
|
768 |
+
lastElem = elementToCheck;
|
769 |
+
} // slow - http://jsperf.com/offset-vs-getboundingclientrect/6
|
770 |
+
|
771 |
+
|
772 |
+
if (lastElem && lastElem.style.position === 'fixed') {
|
773 |
+
// if(lastElem !== document.body) { //faster but does gives false positive in Firefox
|
774 |
+
offsetLeft += window.pageXOffset || docElem.scrollLeft;
|
775 |
+
offsetTop += window.pageYOffset || docElem.scrollTop;
|
776 |
+
}
|
777 |
+
|
778 |
+
return {
|
779 |
+
left: offsetLeft,
|
780 |
+
top: offsetTop
|
781 |
+
};
|
782 |
+
}
|
783 |
+
/**
|
784 |
+
* Returns the document's scrollTop property.
|
785 |
+
*
|
786 |
+
* @returns {Number}
|
787 |
+
*/
|
788 |
+
|
789 |
+
|
790 |
+
function getWindowScrollTop() {
|
791 |
+
var res = window.scrollY;
|
792 |
+
|
793 |
+
if (res === void 0) {
|
794 |
+
// IE8-11
|
795 |
+
res = document.documentElement.scrollTop;
|
796 |
+
}
|
797 |
+
|
798 |
+
return res;
|
799 |
+
}
|
800 |
+
/**
|
801 |
+
* Returns the document's scrollLeft property.
|
802 |
+
*
|
803 |
+
* @returns {Number}
|
804 |
+
*/
|
805 |
+
|
806 |
+
|
807 |
+
function getWindowScrollLeft() {
|
808 |
+
var res = window.scrollX;
|
809 |
+
|
810 |
+
if (res === void 0) {
|
811 |
+
// IE8-11
|
812 |
+
res = document.documentElement.scrollLeft;
|
813 |
+
}
|
814 |
+
|
815 |
+
return res;
|
816 |
+
}
|
817 |
+
/**
|
818 |
+
* Returns the provided element's scrollTop property.
|
819 |
+
*
|
820 |
+
* @param element
|
821 |
+
* @returns {Number}
|
822 |
+
*/
|
823 |
+
|
824 |
+
|
825 |
+
function getScrollTop(element) {
|
826 |
+
if (element === window) {
|
827 |
+
return getWindowScrollTop();
|
828 |
+
}
|
829 |
+
|
830 |
+
return element.scrollTop;
|
831 |
+
}
|
832 |
+
/**
|
833 |
+
* Returns the provided element's scrollLeft property.
|
834 |
+
*
|
835 |
+
* @param element
|
836 |
+
* @returns {Number}
|
837 |
+
*/
|
838 |
+
|
839 |
+
|
840 |
+
function getScrollLeft(element) {
|
841 |
+
if (element === window) {
|
842 |
+
return getWindowScrollLeft();
|
843 |
+
}
|
844 |
+
|
845 |
+
return element.scrollLeft;
|
846 |
+
}
|
847 |
+
/**
|
848 |
+
* Returns a DOM element responsible for scrolling of the provided element.
|
849 |
+
*
|
850 |
+
* @param {HTMLElement} element
|
851 |
+
* @returns {HTMLElement} Element's scrollable parent
|
852 |
+
*/
|
853 |
+
|
854 |
+
|
855 |
+
function getScrollableElement(element) {
|
856 |
+
var props = ['auto', 'scroll'];
|
857 |
+
var el = element.parentNode;
|
858 |
+
var overflow;
|
859 |
+
var overflowX;
|
860 |
+
var overflowY;
|
861 |
+
var computedStyle = '';
|
862 |
+
var computedOverflow = '';
|
863 |
+
var computedOverflowY = '';
|
864 |
+
var computedOverflowX = '';
|
865 |
+
|
866 |
+
while (el && el.style && document.body !== el) {
|
867 |
+
overflow = el.style.overflow;
|
868 |
+
overflowX = el.style.overflowX;
|
869 |
+
overflowY = el.style.overflowY;
|
870 |
+
|
871 |
+
if (overflow === 'scroll' || overflowX === 'scroll' || overflowY === 'scroll') {
|
872 |
+
return el;
|
873 |
+
} else if (window.getComputedStyle) {
|
874 |
+
computedStyle = window.getComputedStyle(el);
|
875 |
+
computedOverflow = computedStyle.getPropertyValue('overflow');
|
876 |
+
computedOverflowY = computedStyle.getPropertyValue('overflow-y');
|
877 |
+
computedOverflowX = computedStyle.getPropertyValue('overflow-x');
|
878 |
+
|
879 |
+
if (computedOverflow === 'scroll' || computedOverflowX === 'scroll' || computedOverflowY === 'scroll') {
|
880 |
+
return el;
|
881 |
+
}
|
882 |
+
} // The '+ 1' after the scrollHeight/scrollWidth is to prevent problems with zoomed out Chrome.
|
883 |
+
|
884 |
+
|
885 |
+
if (el.clientHeight <= el.scrollHeight + 1 && (props.indexOf(overflowY) !== -1 || props.indexOf(overflow) !== -1 || props.indexOf(computedOverflow) !== -1 || props.indexOf(computedOverflowY) !== -1)) {
|
886 |
+
return el;
|
887 |
+
}
|
888 |
+
|
889 |
+
if (el.clientWidth <= el.scrollWidth + 1 && (props.indexOf(overflowX) !== -1 || props.indexOf(overflow) !== -1 || props.indexOf(computedOverflow) !== -1 || props.indexOf(computedOverflowX) !== -1)) {
|
890 |
+
return el;
|
891 |
+
}
|
892 |
+
|
893 |
+
el = el.parentNode;
|
894 |
+
}
|
895 |
+
|
896 |
+
return window;
|
897 |
+
}
|
898 |
+
/**
|
899 |
+
* Returns a DOM element responsible for trimming the provided element.
|
900 |
+
*
|
901 |
+
* @param {HTMLElement} base Base element
|
902 |
+
* @returns {HTMLElement} Base element's trimming parent
|
903 |
+
*/
|
904 |
+
|
905 |
+
|
906 |
+
function getTrimmingContainer(base) {
|
907 |
+
var el = base.parentNode;
|
908 |
+
|
909 |
+
while (el && el.style && document.body !== el) {
|
910 |
+
if (el.style.overflow !== 'visible' && el.style.overflow !== '') {
|
911 |
+
return el;
|
912 |
+
}
|
913 |
+
|
914 |
+
var computedStyle = getComputedStyle(el);
|
915 |
+
var allowedProperties = ['scroll', 'hidden', 'auto'];
|
916 |
+
var property = computedStyle.getPropertyValue('overflow');
|
917 |
+
var propertyY = computedStyle.getPropertyValue('overflow-y');
|
918 |
+
var propertyX = computedStyle.getPropertyValue('overflow-x');
|
919 |
+
|
920 |
+
if (allowedProperties.includes(property) || allowedProperties.includes(propertyY) || allowedProperties.includes(propertyX)) {
|
921 |
+
return el;
|
922 |
+
}
|
923 |
+
|
924 |
+
el = el.parentNode;
|
925 |
+
}
|
926 |
+
|
927 |
+
return window;
|
928 |
+
}
|
929 |
+
/**
|
930 |
+
* Returns a style property for the provided element. (Be it an inline or external style).
|
931 |
+
*
|
932 |
+
* @param {HTMLElement} element
|
933 |
+
* @param {String} prop Wanted property
|
934 |
+
* @returns {String|undefined} Element's style property
|
935 |
+
*/
|
936 |
+
|
937 |
+
|
938 |
+
function getStyle(element, prop) {
|
939 |
+
/* eslint-disable */
|
940 |
+
if (!element) {
|
941 |
+
return;
|
942 |
+
} else if (element === window) {
|
943 |
+
if (prop === 'width') {
|
944 |
+
return window.innerWidth + 'px';
|
945 |
+
} else if (prop === 'height') {
|
946 |
+
return window.innerHeight + 'px';
|
947 |
+
}
|
948 |
+
|
949 |
+
return;
|
950 |
+
}
|
951 |
+
|
952 |
+
var styleProp = element.style[prop],
|
953 |
+
computedStyle;
|
954 |
+
|
955 |
+
if (styleProp !== '' && styleProp !== void 0) {
|
956 |
+
return styleProp;
|
957 |
+
} else {
|
958 |
+
computedStyle = getComputedStyle(element);
|
959 |
+
|
960 |
+
if (computedStyle[prop] !== '' && computedStyle[prop] !== void 0) {
|
961 |
+
return computedStyle[prop];
|
962 |
+
}
|
963 |
+
}
|
964 |
+
}
|
965 |
+
/**
|
966 |
+
* Returns a computed style object for the provided element. (Needed if style is declared in external stylesheet).
|
967 |
+
*
|
968 |
+
* @param element
|
969 |
+
* @returns {IEElementStyle|CssStyle} Elements computed style object
|
970 |
+
*/
|
971 |
+
|
972 |
+
|
973 |
+
function getComputedStyle(element) {
|
974 |
+
return element.currentStyle || document.defaultView.getComputedStyle(element);
|
975 |
+
}
|
976 |
+
/**
|
977 |
+
* Returns the element's outer width.
|
978 |
+
*
|
979 |
+
* @param element
|
980 |
+
* @returns {number} Element's outer width
|
981 |
+
*/
|
982 |
+
|
983 |
+
|
984 |
+
function outerWidth(element) {
|
985 |
+
return element.offsetWidth;
|
986 |
+
}
|
987 |
+
/**
|
988 |
+
* Returns the element's outer height
|
989 |
+
*
|
990 |
+
* @param elem
|
991 |
+
* @returns {number} Element's outer height
|
992 |
+
*/
|
993 |
+
|
994 |
+
|
995 |
+
function outerHeight(elem) {
|
996 |
+
if ((0, _feature.hasCaptionProblem)() && elem.firstChild && elem.firstChild.nodeName === 'CAPTION') {
|
997 |
+
// fixes problem with Firefox ignoring <caption> in TABLE.offsetHeight
|
998 |
+
// jQuery (1.10.1) still has this unsolved
|
999 |
+
// may be better to just switch to getBoundingClientRect
|
1000 |
+
// http://bililite.com/blog/2009/03/27/finding-the-size-of-a-table/
|
1001 |
+
// http://lists.w3.org/Archives/Public/www-style/2009Oct/0089.html
|
1002 |
+
// http://bugs.jquery.com/ticket/2196
|
1003 |
+
// http://lists.w3.org/Archives/Public/www-style/2009Oct/0140.html#start140
|
1004 |
+
return elem.offsetHeight + elem.firstChild.offsetHeight;
|
1005 |
+
}
|
1006 |
+
|
1007 |
+
return elem.offsetHeight;
|
1008 |
+
}
|
1009 |
+
/**
|
1010 |
+
* Returns the element's inner height.
|
1011 |
+
*
|
1012 |
+
* @param element
|
1013 |
+
* @returns {number} Element's inner height
|
1014 |
+
*/
|
1015 |
+
|
1016 |
+
|
1017 |
+
function innerHeight(element) {
|
1018 |
+
return element.clientHeight || element.innerHeight;
|
1019 |
+
}
|
1020 |
+
/**
|
1021 |
+
* Returns the element's inner width.
|
1022 |
+
*
|
1023 |
+
* @param element
|
1024 |
+
* @returns {number} Element's inner width
|
1025 |
+
*/
|
1026 |
+
|
1027 |
+
|
1028 |
+
function innerWidth(element) {
|
1029 |
+
return element.clientWidth || element.innerWidth;
|
1030 |
+
}
|
1031 |
+
|
1032 |
+
function addEvent(element, event, callback) {
|
1033 |
+
if (window.addEventListener) {
|
1034 |
+
element.addEventListener(event, callback, false);
|
1035 |
+
} else {
|
1036 |
+
element.attachEvent('on' + event, callback);
|
1037 |
+
}
|
1038 |
+
}
|
1039 |
+
|
1040 |
+
function removeEvent(element, event, callback) {
|
1041 |
+
if (window.removeEventListener) {
|
1042 |
+
element.removeEventListener(event, callback, false);
|
1043 |
+
} else {
|
1044 |
+
element.detachEvent('on' + event, callback);
|
1045 |
+
}
|
1046 |
+
}
|
1047 |
+
/**
|
1048 |
+
* Returns caret position in text input
|
1049 |
+
*
|
1050 |
+
* @author http://stackoverflow.com/questions/263743/how-to-get-caret-position-in-textarea
|
1051 |
+
* @return {Number}
|
1052 |
+
*/
|
1053 |
+
|
1054 |
+
|
1055 |
+
function getCaretPosition(el) {
|
1056 |
+
if (el.selectionStart) {
|
1057 |
+
return el.selectionStart;
|
1058 |
+
} else if (document.selection) {
|
1059 |
+
// IE8
|
1060 |
+
el.focus();
|
1061 |
+
var r = document.selection.createRange();
|
1062 |
+
|
1063 |
+
if (r == null) {
|
1064 |
+
return 0;
|
1065 |
+
}
|
1066 |
+
|
1067 |
+
var re = el.createTextRange();
|
1068 |
+
var rc = re.duplicate();
|
1069 |
+
re.moveToBookmark(r.getBookmark());
|
1070 |
+
rc.setEndPoint('EndToStart', re);
|
1071 |
+
return rc.text.length;
|
1072 |
+
}
|
1073 |
+
|
1074 |
+
return 0;
|
1075 |
+
}
|
1076 |
+
/**
|
1077 |
+
* Returns end of the selection in text input
|
1078 |
+
*
|
1079 |
+
* @return {Number}
|
1080 |
+
*/
|
1081 |
+
|
1082 |
+
|
1083 |
+
function getSelectionEndPosition(el) {
|
1084 |
+
if (el.selectionEnd) {
|
1085 |
+
return el.selectionEnd;
|
1086 |
+
} else if (document.selection) {
|
1087 |
+
// IE8
|
1088 |
+
var r = document.selection.createRange();
|
1089 |
+
|
1090 |
+
if (r == null) {
|
1091 |
+
return 0;
|
1092 |
+
}
|
1093 |
+
|
1094 |
+
var re = el.createTextRange();
|
1095 |
+
return re.text.indexOf(r.text) + r.text.length;
|
1096 |
+
}
|
1097 |
+
|
1098 |
+
return 0;
|
1099 |
+
}
|
1100 |
+
/**
|
1101 |
+
* Returns text under selection.
|
1102 |
+
*
|
1103 |
+
* @returns {String}
|
1104 |
+
*/
|
1105 |
+
|
1106 |
+
|
1107 |
+
function getSelectionText() {
|
1108 |
+
var text = '';
|
1109 |
+
|
1110 |
+
if (window.getSelection) {
|
1111 |
+
text = window.getSelection().toString();
|
1112 |
+
} else if (document.selection && document.selection.type !== 'Control') {
|
1113 |
+
text = document.selection.createRange().text;
|
1114 |
+
}
|
1115 |
+
|
1116 |
+
return text;
|
1117 |
+
}
|
1118 |
+
/**
|
1119 |
+
* Sets caret position in text input.
|
1120 |
+
*
|
1121 |
+
* @author http://blog.vishalon.net/index.php/javascript-getting-and-setting-caret-position-in-textarea/
|
1122 |
+
* @param {Element} element
|
1123 |
+
* @param {Number} pos
|
1124 |
+
* @param {Number} endPos
|
1125 |
+
*/
|
1126 |
+
|
1127 |
+
|
1128 |
+
function setCaretPosition(element, pos, endPos) {
|
1129 |
+
if (endPos === void 0) {
|
1130 |
+
endPos = pos;
|
1131 |
+
}
|
1132 |
+
|
1133 |
+
if (element.setSelectionRange) {
|
1134 |
+
element.focus();
|
1135 |
+
|
1136 |
+
try {
|
1137 |
+
element.setSelectionRange(pos, endPos);
|
1138 |
+
} catch (err) {
|
1139 |
+
var elementParent = element.parentNode;
|
1140 |
+
var parentDisplayValue = elementParent.style.display;
|
1141 |
+
elementParent.style.display = 'block';
|
1142 |
+
element.setSelectionRange(pos, endPos);
|
1143 |
+
elementParent.style.display = parentDisplayValue;
|
1144 |
+
}
|
1145 |
+
} else if (element.createTextRange) {
|
1146 |
+
// IE8
|
1147 |
+
var range = element.createTextRange();
|
1148 |
+
range.collapse(true);
|
1149 |
+
range.moveEnd('character', endPos);
|
1150 |
+
range.moveStart('character', pos);
|
1151 |
+
range.select();
|
1152 |
+
}
|
1153 |
+
}
|
1154 |
+
|
1155 |
+
var cachedScrollbarWidth; // http://stackoverflow.com/questions/986937/how-can-i-get-the-browsers-scrollbar-sizes
|
1156 |
+
|
1157 |
+
function walkontableCalculateScrollbarWidth() {
|
1158 |
+
var inner = document.createElement('div');
|
1159 |
+
inner.style.height = '200px';
|
1160 |
+
inner.style.width = '100%';
|
1161 |
+
var outer = document.createElement('div');
|
1162 |
+
outer.style.boxSizing = 'content-box';
|
1163 |
+
outer.style.height = '150px';
|
1164 |
+
outer.style.left = '0px';
|
1165 |
+
outer.style.overflow = 'hidden';
|
1166 |
+
outer.style.position = 'absolute';
|
1167 |
+
outer.style.top = '0px';
|
1168 |
+
outer.style.width = '200px';
|
1169 |
+
outer.style.visibility = 'hidden';
|
1170 |
+
outer.appendChild(inner);
|
1171 |
+
(document.body || document.documentElement).appendChild(outer);
|
1172 |
+
var w1 = inner.offsetWidth;
|
1173 |
+
outer.style.overflow = 'scroll';
|
1174 |
+
var w2 = inner.offsetWidth;
|
1175 |
+
|
1176 |
+
if (w1 == w2) {
|
1177 |
+
w2 = outer.clientWidth;
|
1178 |
+
}
|
1179 |
+
|
1180 |
+
(document.body || document.documentElement).removeChild(outer);
|
1181 |
+
return w1 - w2;
|
1182 |
+
}
|
1183 |
+
/**
|
1184 |
+
* Returns the computed width of the native browser scroll bar.
|
1185 |
+
*
|
1186 |
+
* @return {Number} width
|
1187 |
+
*/
|
1188 |
+
|
1189 |
+
|
1190 |
+
function getScrollbarWidth() {
|
1191 |
+
if (cachedScrollbarWidth === void 0) {
|
1192 |
+
cachedScrollbarWidth = walkontableCalculateScrollbarWidth();
|
1193 |
+
}
|
1194 |
+
|
1195 |
+
return cachedScrollbarWidth;
|
1196 |
+
}
|
1197 |
+
/**
|
1198 |
+
* Checks if the provided element has a vertical scrollbar.
|
1199 |
+
*
|
1200 |
+
* @param {HTMLElement} element
|
1201 |
+
* @returns {Boolean}
|
1202 |
+
*/
|
1203 |
+
|
1204 |
+
|
1205 |
+
function hasVerticalScrollbar(element) {
|
1206 |
+
return element.offsetWidth !== element.clientWidth;
|
1207 |
+
}
|
1208 |
+
/**
|
1209 |
+
* Checks if the provided element has a vertical scrollbar.
|
1210 |
+
*
|
1211 |
+
* @param {HTMLElement} element
|
1212 |
+
* @returns {Boolean}
|
1213 |
+
*/
|
1214 |
+
|
1215 |
+
|
1216 |
+
function hasHorizontalScrollbar(element) {
|
1217 |
+
return element.offsetHeight !== element.clientHeight;
|
1218 |
+
}
|
1219 |
+
/**
|
1220 |
+
* Sets overlay position depending on it's type and used browser
|
1221 |
+
*/
|
1222 |
+
|
1223 |
+
|
1224 |
+
function setOverlayPosition(overlayElem, left, top) {
|
1225 |
+
if ((0, _browser.isIE8)() || (0, _browser.isIE9)()) {
|
1226 |
+
overlayElem.style.top = top;
|
1227 |
+
overlayElem.style.left = left;
|
1228 |
+
} else if ((0, _browser.isSafari)()) {
|
1229 |
+
overlayElem.style['-webkit-transform'] = 'translate3d(' + left + ',' + top + ',0)';
|
1230 |
+
} else {
|
1231 |
+
overlayElem.style.transform = 'translate3d(' + left + ',' + top + ',0)';
|
1232 |
+
}
|
1233 |
+
}
|
1234 |
+
|
1235 |
+
function getCssTransform(element) {
|
1236 |
+
var transform;
|
1237 |
+
|
1238 |
+
if (element.style.transform && (transform = element.style.transform) !== '') {
|
1239 |
+
return ['transform', transform];
|
1240 |
+
} else if (element.style['-webkit-transform'] && (transform = element.style['-webkit-transform']) !== '') {
|
1241 |
+
return ['-webkit-transform', transform];
|
1242 |
+
}
|
1243 |
+
|
1244 |
+
return -1;
|
1245 |
+
}
|
1246 |
+
|
1247 |
+
function resetCssTransform(element) {
|
1248 |
+
if (element.style.transform && element.style.transform !== '') {
|
1249 |
+
element.style.transform = '';
|
1250 |
+
} else if (element.style['-webkit-transform'] && element.style['-webkit-transform'] !== '') {
|
1251 |
+
element.style['-webkit-transform'] = '';
|
1252 |
+
}
|
1253 |
+
}
|
1254 |
+
/**
|
1255 |
+
* Determines if the given DOM element is an input field.
|
1256 |
+
* Notice: By 'input' we mean input, textarea and select nodes
|
1257 |
+
*
|
1258 |
+
* @param {HTMLElement} element - DOM element
|
1259 |
+
* @returns {Boolean}
|
1260 |
+
*/
|
1261 |
+
|
1262 |
+
|
1263 |
+
function isInput(element) {
|
1264 |
+
var inputs = ['INPUT', 'SELECT', 'TEXTAREA'];
|
1265 |
+
return element && (inputs.indexOf(element.nodeName) > -1 || element.contentEditable === 'true');
|
1266 |
+
}
|
1267 |
+
/**
|
1268 |
+
* Determines if the given DOM element is an input field placed OUTSIDE of HOT.
|
1269 |
+
* Notice: By 'input' we mean input, textarea and select nodes
|
1270 |
+
*
|
1271 |
+
* @param {HTMLElement} element - DOM element
|
1272 |
+
* @returns {Boolean}
|
1273 |
+
*/
|
1274 |
+
|
1275 |
+
|
1276 |
+
function isOutsideInput(element) {
|
1277 |
+
return isInput(element) && element.className.indexOf('handsontableInput') == -1 && element.className.indexOf('copyPaste') == -1;
|
1278 |
+
}
|
1279 |
+
|
1280 |
+
/***/ }),
|
1281 |
+
/* 2 */
|
1282 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1283 |
+
|
1284 |
+
"use strict";
|
1285 |
+
|
1286 |
+
|
1287 |
+
exports.__esModule = true;
|
1288 |
+
exports.duckSchema = duckSchema;
|
1289 |
+
exports.inherit = inherit;
|
1290 |
+
exports.extend = extend;
|
1291 |
+
exports.deepExtend = deepExtend;
|
1292 |
+
exports.deepClone = deepClone;
|
1293 |
+
exports.clone = clone;
|
1294 |
+
exports.mixin = mixin;
|
1295 |
+
exports.isObjectEqual = isObjectEqual;
|
1296 |
+
exports.isObject = isObject;
|
1297 |
+
exports.defineGetter = defineGetter;
|
1298 |
+
exports.objectEach = objectEach;
|
1299 |
+
exports.getProperty = getProperty;
|
1300 |
+
exports.deepObjectSize = deepObjectSize;
|
1301 |
+
exports.createObjectPropListener = createObjectPropListener;
|
1302 |
+
exports.hasOwnProperty = hasOwnProperty;
|
1303 |
+
|
1304 |
+
var _array = __webpack_require__(3);
|
1305 |
+
|
1306 |
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
1307 |
+
|
1308 |
+
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
1309 |
+
|
1310 |
+
/**
|
1311 |
+
* Generate schema for passed object.
|
1312 |
+
*
|
1313 |
+
* @param {Array|Object} object
|
1314 |
+
* @returns {Array|Object}
|
1315 |
+
*/
|
1316 |
+
function duckSchema(object) {
|
1317 |
+
var schema;
|
1318 |
+
|
1319 |
+
if (Array.isArray(object)) {
|
1320 |
+
schema = [];
|
1321 |
+
} else {
|
1322 |
+
schema = {};
|
1323 |
+
objectEach(object, function (value, key) {
|
1324 |
+
if (key === '__children') {
|
1325 |
+
return;
|
1326 |
+
}
|
1327 |
+
|
1328 |
+
if (value && _typeof(value) === 'object' && !Array.isArray(value)) {
|
1329 |
+
schema[key] = duckSchema(value);
|
1330 |
+
} else if (Array.isArray(value)) {
|
1331 |
+
if (value.length && _typeof(value[0]) === 'object' && !Array.isArray(value[0])) {
|
1332 |
+
schema[key] = [duckSchema(value[0])];
|
1333 |
+
} else {
|
1334 |
+
schema[key] = [];
|
1335 |
+
}
|
1336 |
+
} else {
|
1337 |
+
schema[key] = null;
|
1338 |
+
}
|
1339 |
+
});
|
1340 |
+
}
|
1341 |
+
|
1342 |
+
return schema;
|
1343 |
+
}
|
1344 |
+
/**
|
1345 |
+
* Inherit without without calling parent constructor, and setting `Child.prototype.constructor` to `Child` instead of `Parent`.
|
1346 |
+
* Creates temporary dummy function to call it as constructor.
|
1347 |
+
* Described in ticket: https://github.com/handsontable/handsontable/pull/516
|
1348 |
+
*
|
1349 |
+
* @param {Object} Child child class
|
1350 |
+
* @param {Object} Parent parent class
|
1351 |
+
* @return {Object} extended Child
|
1352 |
+
*/
|
1353 |
+
|
1354 |
+
|
1355 |
+
function inherit(Child, Parent) {
|
1356 |
+
Parent.prototype.constructor = Parent;
|
1357 |
+
Child.prototype = new Parent();
|
1358 |
+
Child.prototype.constructor = Child;
|
1359 |
+
return Child;
|
1360 |
+
}
|
1361 |
+
/**
|
1362 |
+
* Perform shallow extend of a target object with extension's own properties.
|
1363 |
+
*
|
1364 |
+
* @param {Object} target An object that will receive the new properties.
|
1365 |
+
* @param {Object} extension An object containing additional properties to merge into the target.
|
1366 |
+
*/
|
1367 |
+
|
1368 |
+
|
1369 |
+
function extend(target, extension) {
|
1370 |
+
objectEach(extension, function (value, key) {
|
1371 |
+
target[key] = value;
|
1372 |
+
});
|
1373 |
+
return target;
|
1374 |
+
}
|
1375 |
+
/**
|
1376 |
+
* Perform deep extend of a target object with extension's own properties.
|
1377 |
+
*
|
1378 |
+
* @param {Object} target An object that will receive the new properties.
|
1379 |
+
* @param {Object} extension An object containing additional properties to merge into the target.
|
1380 |
+
*/
|
1381 |
+
|
1382 |
+
|
1383 |
+
function deepExtend(target, extension) {
|
1384 |
+
objectEach(extension, function (value, key) {
|
1385 |
+
if (extension[key] && _typeof(extension[key]) === 'object') {
|
1386 |
+
if (!target[key]) {
|
1387 |
+
if (Array.isArray(extension[key])) {
|
1388 |
+
target[key] = [];
|
1389 |
+
} else if (Object.prototype.toString.call(extension[key]) === '[object Date]') {
|
1390 |
+
target[key] = extension[key];
|
1391 |
+
} else {
|
1392 |
+
target[key] = {};
|
1393 |
+
}
|
1394 |
+
}
|
1395 |
+
|
1396 |
+
deepExtend(target[key], extension[key]);
|
1397 |
+
} else {
|
1398 |
+
target[key] = extension[key];
|
1399 |
+
}
|
1400 |
+
});
|
1401 |
+
}
|
1402 |
+
/**
|
1403 |
+
* Perform deep clone of an object.
|
1404 |
+
* WARNING! Only clones JSON properties. Will cause error when `obj` contains a function, Date, etc.
|
1405 |
+
*
|
1406 |
+
* @param {Object} obj An object that will be cloned
|
1407 |
+
* @return {Object}
|
1408 |
+
*/
|
1409 |
+
|
1410 |
+
|
1411 |
+
function deepClone(obj) {
|
1412 |
+
if (_typeof(obj) === 'object') {
|
1413 |
+
return JSON.parse(JSON.stringify(obj));
|
1414 |
+
}
|
1415 |
+
|
1416 |
+
return obj;
|
1417 |
+
}
|
1418 |
+
/**
|
1419 |
+
* Shallow clone object.
|
1420 |
+
*
|
1421 |
+
* @param {Object} object
|
1422 |
+
* @returns {Object}
|
1423 |
+
*/
|
1424 |
+
|
1425 |
+
|
1426 |
+
function clone(object) {
|
1427 |
+
var result = {};
|
1428 |
+
objectEach(object, function (value, key) {
|
1429 |
+
result[key] = value;
|
1430 |
+
});
|
1431 |
+
return result;
|
1432 |
+
}
|
1433 |
+
/**
|
1434 |
+
* Extend the Base object (usually prototype) of the functionality the `mixins` objects.
|
1435 |
+
*
|
1436 |
+
* @param {Object} Base Base object which will be extended.
|
1437 |
+
* @param {Object} mixins The object of the functionality will be "copied".
|
1438 |
+
* @returns {Object}
|
1439 |
+
*/
|
1440 |
+
|
1441 |
+
|
1442 |
+
function mixin(Base) {
|
1443 |
+
if (!Base.MIXINS) {
|
1444 |
+
Base.MIXINS = [];
|
1445 |
+
}
|
1446 |
+
|
1447 |
+
for (var _len = arguments.length, mixins = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
1448 |
+
mixins[_key - 1] = arguments[_key];
|
1449 |
+
}
|
1450 |
+
|
1451 |
+
(0, _array.arrayEach)(mixins, function (mixinItem) {
|
1452 |
+
Base.MIXINS.push(mixinItem.MIXIN_NAME);
|
1453 |
+
objectEach(mixinItem, function (value, key) {
|
1454 |
+
if (Base.prototype[key] !== void 0) {
|
1455 |
+
throw new Error("Mixin conflict. Property '".concat(key, "' already exist and cannot be overwritten."));
|
1456 |
+
}
|
1457 |
+
|
1458 |
+
if (typeof value === 'function') {
|
1459 |
+
Base.prototype[key] = value;
|
1460 |
+
} else {
|
1461 |
+
var getter = function _getter(property, initialValue) {
|
1462 |
+
var propertyName = "_".concat(property);
|
1463 |
+
|
1464 |
+
var initValue = function initValue(newValue) {
|
1465 |
+
var result = newValue;
|
1466 |
+
|
1467 |
+
if (Array.isArray(result) || isObject(result)) {
|
1468 |
+
result = deepClone(result);
|
1469 |
+
}
|
1470 |
+
|
1471 |
+
return result;
|
1472 |
+
};
|
1473 |
+
|
1474 |
+
return function () {
|
1475 |
+
if (this[propertyName] === void 0) {
|
1476 |
+
this[propertyName] = initValue(initialValue);
|
1477 |
+
}
|
1478 |
+
|
1479 |
+
return this[propertyName];
|
1480 |
+
};
|
1481 |
+
};
|
1482 |
+
|
1483 |
+
var setter = function _setter(property) {
|
1484 |
+
var propertyName = "_".concat(property);
|
1485 |
+
return function (newValue) {
|
1486 |
+
this[propertyName] = newValue;
|
1487 |
+
};
|
1488 |
+
};
|
1489 |
+
|
1490 |
+
Object.defineProperty(Base.prototype, key, {
|
1491 |
+
get: getter(key, value),
|
1492 |
+
set: setter(key),
|
1493 |
+
configurable: true
|
1494 |
+
});
|
1495 |
+
}
|
1496 |
+
});
|
1497 |
+
});
|
1498 |
+
return Base;
|
1499 |
+
}
|
1500 |
+
/**
|
1501 |
+
* Checks if two objects or arrays are (deep) equal
|
1502 |
+
*
|
1503 |
+
* @param {Object|Array} object1
|
1504 |
+
* @param {Object|Array} object2
|
1505 |
+
* @returns {Boolean}
|
1506 |
+
*/
|
1507 |
+
|
1508 |
+
|
1509 |
+
function isObjectEqual(object1, object2) {
|
1510 |
+
return JSON.stringify(object1) === JSON.stringify(object2);
|
1511 |
+
}
|
1512 |
+
/**
|
1513 |
+
* Determines whether given object is a plain Object.
|
1514 |
+
* Note: String and Array are not plain Objects
|
1515 |
+
* @param {*} obj
|
1516 |
+
* @returns {boolean}
|
1517 |
+
*/
|
1518 |
+
|
1519 |
+
|
1520 |
+
function isObject(obj) {
|
1521 |
+
return Object.prototype.toString.call(obj) === '[object Object]';
|
1522 |
+
}
|
1523 |
+
|
1524 |
+
function defineGetter(object, property, value, options) {
|
1525 |
+
options.value = value;
|
1526 |
+
options.writable = options.writable !== false;
|
1527 |
+
options.enumerable = options.enumerable !== false;
|
1528 |
+
options.configurable = options.configurable !== false;
|
1529 |
+
Object.defineProperty(object, property, options);
|
1530 |
+
}
|
1531 |
+
/**
|
1532 |
+
* A specialized version of `.forEach` for objects.
|
1533 |
+
*
|
1534 |
+
* @param {Object} object The object to iterate over.
|
1535 |
+
* @param {Function} iteratee The function invoked per iteration.
|
1536 |
+
* @returns {Object} Returns `object`.
|
1537 |
+
*/
|
1538 |
+
|
1539 |
+
|
1540 |
+
function objectEach(object, iteratee) {
|
1541 |
+
// eslint-disable-next-line no-restricted-syntax
|
1542 |
+
for (var key in object) {
|
1543 |
+
if (!object.hasOwnProperty || object.hasOwnProperty && Object.prototype.hasOwnProperty.call(object, key)) {
|
1544 |
+
if (iteratee(object[key], key, object) === false) {
|
1545 |
+
break;
|
1546 |
+
}
|
1547 |
+
}
|
1548 |
+
}
|
1549 |
+
|
1550 |
+
return object;
|
1551 |
+
}
|
1552 |
+
/**
|
1553 |
+
* Get object property by its name. Access to sub properties can be achieved by dot notation (e.q. `'foo.bar.baz'`).
|
1554 |
+
*
|
1555 |
+
* @param {Object} object Object which value will be exported.
|
1556 |
+
* @param {String} name Object property name.
|
1557 |
+
* @returns {*}
|
1558 |
+
*/
|
1559 |
+
|
1560 |
+
|
1561 |
+
function getProperty(object, name) {
|
1562 |
+
var names = name.split('.');
|
1563 |
+
var result = object;
|
1564 |
+
objectEach(names, function (nameItem) {
|
1565 |
+
result = result[nameItem];
|
1566 |
+
|
1567 |
+
if (result === void 0) {
|
1568 |
+
result = void 0;
|
1569 |
+
return false;
|
1570 |
+
}
|
1571 |
+
});
|
1572 |
+
return result;
|
1573 |
+
}
|
1574 |
+
/**
|
1575 |
+
* Return object length (recursively).
|
1576 |
+
*
|
1577 |
+
* @param {*} object Object for which we want get length.
|
1578 |
+
* @returns {Number}
|
1579 |
+
*/
|
1580 |
+
|
1581 |
+
|
1582 |
+
function deepObjectSize(object) {
|
1583 |
+
if (!isObject(object)) {
|
1584 |
+
return 0;
|
1585 |
+
}
|
1586 |
+
|
1587 |
+
var recursObjLen = function recursObjLen(obj) {
|
1588 |
+
var result = 0;
|
1589 |
+
|
1590 |
+
if (isObject(obj)) {
|
1591 |
+
objectEach(obj, function (key) {
|
1592 |
+
result += recursObjLen(key);
|
1593 |
+
});
|
1594 |
+
} else {
|
1595 |
+
result += 1;
|
1596 |
+
}
|
1597 |
+
|
1598 |
+
return result;
|
1599 |
+
};
|
1600 |
+
|
1601 |
+
return recursObjLen(object);
|
1602 |
+
}
|
1603 |
+
/**
|
1604 |
+
* Create object with property where its value change will be observed.
|
1605 |
+
*
|
1606 |
+
* @param {*} [defaultValue=undefined] Default value.
|
1607 |
+
* @param {String} [propertyToListen='value'] Property to listen.
|
1608 |
+
* @returns {Object}
|
1609 |
+
*/
|
1610 |
+
|
1611 |
+
|
1612 |
+
function createObjectPropListener(defaultValue) {
|
1613 |
+
var _holder;
|
1614 |
+
|
1615 |
+
var propertyToListen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'value';
|
1616 |
+
var privateProperty = "_".concat(propertyToListen);
|
1617 |
+
var holder = (_holder = {
|
1618 |
+
_touched: false
|
1619 |
+
}, _defineProperty(_holder, privateProperty, defaultValue), _defineProperty(_holder, "isTouched", function isTouched() {
|
1620 |
+
return this._touched;
|
1621 |
+
}), _holder);
|
1622 |
+
Object.defineProperty(holder, propertyToListen, {
|
1623 |
+
get: function get() {
|
1624 |
+
return this[privateProperty];
|
1625 |
+
},
|
1626 |
+
set: function set(value) {
|
1627 |
+
this._touched = true;
|
1628 |
+
this[privateProperty] = value;
|
1629 |
+
},
|
1630 |
+
enumerable: true,
|
1631 |
+
configurable: true
|
1632 |
+
});
|
1633 |
+
return holder;
|
1634 |
+
}
|
1635 |
+
/**
|
1636 |
+
* Check if at specified `key` there is any value for `object`.
|
1637 |
+
*
|
1638 |
+
* @param {Object} object Object to search value at specyfic key.
|
1639 |
+
* @param {String} key String key to check.
|
1640 |
+
*/
|
1641 |
+
|
1642 |
+
|
1643 |
+
function hasOwnProperty(object, key) {
|
1644 |
+
return Object.prototype.hasOwnProperty.call(object, key);
|
1645 |
+
}
|
1646 |
+
|
1647 |
+
/***/ }),
|
1648 |
+
/* 3 */
|
1649 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1650 |
+
|
1651 |
+
"use strict";
|
1652 |
+
|
1653 |
+
|
1654 |
+
exports.__esModule = true;
|
1655 |
+
exports.to2dArray = to2dArray;
|
1656 |
+
exports.extendArray = extendArray;
|
1657 |
+
exports.pivot = pivot;
|
1658 |
+
exports.arrayReduce = arrayReduce;
|
1659 |
+
exports.arrayFilter = arrayFilter;
|
1660 |
+
exports.arrayMap = arrayMap;
|
1661 |
+
exports.arrayEach = arrayEach;
|
1662 |
+
exports.arraySum = arraySum;
|
1663 |
+
exports.arrayMax = arrayMax;
|
1664 |
+
exports.arrayMin = arrayMin;
|
1665 |
+
exports.arrayAvg = arrayAvg;
|
1666 |
+
exports.arrayFlatten = arrayFlatten;
|
1667 |
+
exports.arrayUnique = arrayUnique;
|
1668 |
+
|
1669 |
+
function to2dArray(arr) {
|
1670 |
+
var ilen = arr.length;
|
1671 |
+
var i = 0;
|
1672 |
+
|
1673 |
+
while (i < ilen) {
|
1674 |
+
arr[i] = [arr[i]];
|
1675 |
+
i += 1;
|
1676 |
+
}
|
1677 |
+
}
|
1678 |
+
|
1679 |
+
function extendArray(arr, extension) {
|
1680 |
+
var ilen = extension.length;
|
1681 |
+
var i = 0;
|
1682 |
+
|
1683 |
+
while (i < ilen) {
|
1684 |
+
arr.push(extension[i]);
|
1685 |
+
i += 1;
|
1686 |
+
}
|
1687 |
+
}
|
1688 |
+
|
1689 |
+
function pivot(arr) {
|
1690 |
+
var pivotedArr = [];
|
1691 |
+
|
1692 |
+
if (!arr || arr.length === 0 || !arr[0] || arr[0].length === 0) {
|
1693 |
+
return pivotedArr;
|
1694 |
+
}
|
1695 |
+
|
1696 |
+
var rowCount = arr.length;
|
1697 |
+
var colCount = arr[0].length;
|
1698 |
+
|
1699 |
+
for (var i = 0; i < rowCount; i++) {
|
1700 |
+
for (var j = 0; j < colCount; j++) {
|
1701 |
+
if (!pivotedArr[j]) {
|
1702 |
+
pivotedArr[j] = [];
|
1703 |
+
}
|
1704 |
+
|
1705 |
+
pivotedArr[j][i] = arr[i][j];
|
1706 |
+
}
|
1707 |
+
}
|
1708 |
+
|
1709 |
+
return pivotedArr;
|
1710 |
+
}
|
1711 |
+
/**
|
1712 |
+
* A specialized version of `.reduce` for arrays without support for callback
|
1713 |
+
* shorthands and `this` binding.
|
1714 |
+
*
|
1715 |
+
* {@link https://github.com/lodash/lodash/blob/master/lodash.js}
|
1716 |
+
*
|
1717 |
+
* @param {Array} array The array to iterate over.
|
1718 |
+
* @param {Function} iteratee The function invoked per iteration.
|
1719 |
+
* @param {*} [accumulator] The initial value.
|
1720 |
+
* @param {Boolean} [initFromArray] Specify using the first element of `array` as the initial value.
|
1721 |
+
* @returns {*} Returns the accumulated value.
|
1722 |
+
*/
|
1723 |
+
|
1724 |
+
|
1725 |
+
function arrayReduce(array, iteratee, accumulator, initFromArray) {
|
1726 |
+
var index = -1;
|
1727 |
+
var iterable = array;
|
1728 |
+
var result = accumulator;
|
1729 |
+
|
1730 |
+
if (!Array.isArray(array)) {
|
1731 |
+
iterable = Array.from(array);
|
1732 |
+
}
|
1733 |
+
|
1734 |
+
var length = iterable.length;
|
1735 |
+
|
1736 |
+
if (initFromArray && length) {
|
1737 |
+
index += 1;
|
1738 |
+
result = iterable[index];
|
1739 |
+
}
|
1740 |
+
|
1741 |
+
index += 1;
|
1742 |
+
|
1743 |
+
while (index < length) {
|
1744 |
+
result = iteratee(result, iterable[index], index, iterable);
|
1745 |
+
index += 1;
|
1746 |
+
}
|
1747 |
+
|
1748 |
+
return result;
|
1749 |
+
}
|
1750 |
+
/**
|
1751 |
+
* A specialized version of `.filter` for arrays without support for callback
|
1752 |
+
* shorthands and `this` binding.
|
1753 |
+
*
|
1754 |
+
* {@link https://github.com/lodash/lodash/blob/master/lodash.js}
|
1755 |
+
*
|
1756 |
+
* @param {Array} array The array to iterate over.
|
1757 |
+
* @param {Function} predicate The function invoked per iteration.
|
1758 |
+
* @returns {Array} Returns the new filtered array.
|
1759 |
+
*/
|
1760 |
+
|
1761 |
+
|
1762 |
+
function arrayFilter(array, predicate) {
|
1763 |
+
var index = 0;
|
1764 |
+
var iterable = array;
|
1765 |
+
|
1766 |
+
if (!Array.isArray(array)) {
|
1767 |
+
iterable = Array.from(array);
|
1768 |
+
}
|
1769 |
+
|
1770 |
+
var length = iterable.length;
|
1771 |
+
var result = [];
|
1772 |
+
var resIndex = -1;
|
1773 |
+
|
1774 |
+
while (index < length) {
|
1775 |
+
var value = iterable[index];
|
1776 |
+
|
1777 |
+
if (predicate(value, index, iterable)) {
|
1778 |
+
resIndex += 1;
|
1779 |
+
result[resIndex] = value;
|
1780 |
+
}
|
1781 |
+
|
1782 |
+
index += 1;
|
1783 |
+
}
|
1784 |
+
|
1785 |
+
return result;
|
1786 |
+
}
|
1787 |
+
/**
|
1788 |
+
* A specialized version of `.map` for arrays without support for callback
|
1789 |
+
* shorthands and `this` binding.
|
1790 |
+
*
|
1791 |
+
* @param {Array} array The array to iterate over.
|
1792 |
+
* @param {Function} iteratee The function invoked per iteration.
|
1793 |
+
* @returns {Array} Returns the new filtered array.
|
1794 |
+
*/
|
1795 |
+
|
1796 |
+
|
1797 |
+
function arrayMap(array, iteratee) {
|
1798 |
+
var index = 0;
|
1799 |
+
var iterable = array;
|
1800 |
+
|
1801 |
+
if (!Array.isArray(array)) {
|
1802 |
+
iterable = Array.from(array);
|
1803 |
+
}
|
1804 |
+
|
1805 |
+
var length = iterable.length;
|
1806 |
+
var result = [];
|
1807 |
+
var resIndex = -1;
|
1808 |
+
|
1809 |
+
while (index < length) {
|
1810 |
+
var value = iterable[index];
|
1811 |
+
resIndex += 1;
|
1812 |
+
result[resIndex] = iteratee(value, index, iterable);
|
1813 |
+
index += 1;
|
1814 |
+
}
|
1815 |
+
|
1816 |
+
return result;
|
1817 |
+
}
|
1818 |
+
/**
|
1819 |
+
* A specialized version of `.forEach` for arrays without support for callback
|
1820 |
+
* shorthands and `this` binding.
|
1821 |
+
*
|
1822 |
+
* {@link https://github.com/lodash/lodash/blob/master/lodash.js}
|
1823 |
+
*
|
1824 |
+
* @param {Array|*} array The array to iterate over or an any element with implemented iterator protocol.
|
1825 |
+
* @param {Function} iteratee The function invoked per iteration.
|
1826 |
+
* @returns {Array} Returns `array`.
|
1827 |
+
*/
|
1828 |
+
|
1829 |
+
|
1830 |
+
function arrayEach(array, iteratee) {
|
1831 |
+
var index = 0;
|
1832 |
+
var iterable = array;
|
1833 |
+
|
1834 |
+
if (!Array.isArray(array)) {
|
1835 |
+
iterable = Array.from(array);
|
1836 |
+
}
|
1837 |
+
|
1838 |
+
var length = iterable.length;
|
1839 |
+
|
1840 |
+
while (index < length) {
|
1841 |
+
if (iteratee(iterable[index], index, iterable) === false) {
|
1842 |
+
break;
|
1843 |
+
}
|
1844 |
+
|
1845 |
+
index += 1;
|
1846 |
+
}
|
1847 |
+
|
1848 |
+
return array;
|
1849 |
+
}
|
1850 |
+
/**
|
1851 |
+
* Calculate sum value for each item of the array.
|
1852 |
+
*
|
1853 |
+
* @param {Array} array The array to process.
|
1854 |
+
* @returns {Number} Returns calculated sum value.
|
1855 |
+
*/
|
1856 |
+
|
1857 |
+
|
1858 |
+
function arraySum(array) {
|
1859 |
+
return arrayReduce(array, function (a, b) {
|
1860 |
+
return a + b;
|
1861 |
+
}, 0);
|
1862 |
+
}
|
1863 |
+
/**
|
1864 |
+
* Returns the highest value from an array. Can be array of numbers or array of strings.
|
1865 |
+
* NOTICE: Mixed values is not supported.
|
1866 |
+
*
|
1867 |
+
* @param {Array} array The array to process.
|
1868 |
+
* @returns {Number} Returns the highest value from an array.
|
1869 |
+
*/
|
1870 |
+
|
1871 |
+
|
1872 |
+
function arrayMax(array) {
|
1873 |
+
return arrayReduce(array, function (a, b) {
|
1874 |
+
return a > b ? a : b;
|
1875 |
+
}, Array.isArray(array) ? array[0] : void 0);
|
1876 |
+
}
|
1877 |
+
/**
|
1878 |
+
* Returns the lowest value from an array. Can be array of numbers or array of strings.
|
1879 |
+
* NOTICE: Mixed values is not supported.
|
1880 |
+
*
|
1881 |
+
* @param {Array} array The array to process.
|
1882 |
+
* @returns {Number} Returns the lowest value from an array.
|
1883 |
+
*/
|
1884 |
+
|
1885 |
+
|
1886 |
+
function arrayMin(array) {
|
1887 |
+
return arrayReduce(array, function (a, b) {
|
1888 |
+
return a < b ? a : b;
|
1889 |
+
}, Array.isArray(array) ? array[0] : void 0);
|
1890 |
+
}
|
1891 |
+
/**
|
1892 |
+
* Calculate average value for each item of the array.
|
1893 |
+
*
|
1894 |
+
* @param {Array} array The array to process.
|
1895 |
+
* @returns {Number} Returns calculated average value.
|
1896 |
+
*/
|
1897 |
+
|
1898 |
+
|
1899 |
+
function arrayAvg(array) {
|
1900 |
+
if (!array.length) {
|
1901 |
+
return 0;
|
1902 |
+
}
|
1903 |
+
|
1904 |
+
return arraySum(array) / array.length;
|
1905 |
+
}
|
1906 |
+
/**
|
1907 |
+
* Flatten multidimensional array.
|
1908 |
+
*
|
1909 |
+
* @param {Array} array Array of Arrays
|
1910 |
+
* @returns {Array}
|
1911 |
+
*/
|
1912 |
+
|
1913 |
+
|
1914 |
+
function arrayFlatten(array) {
|
1915 |
+
return arrayReduce(array, function (initial, value) {
|
1916 |
+
return initial.concat(Array.isArray(value) ? arrayFlatten(value) : value);
|
1917 |
+
}, []);
|
1918 |
+
}
|
1919 |
+
/**
|
1920 |
+
* Unique values in the array.
|
1921 |
+
*
|
1922 |
+
* @param {Array} array The array to process.
|
1923 |
+
* @returns {Array}
|
1924 |
+
*/
|
1925 |
+
|
1926 |
+
|
1927 |
+
function arrayUnique(array) {
|
1928 |
+
var unique = [];
|
1929 |
+
arrayEach(array, function (value) {
|
1930 |
+
if (unique.indexOf(value) === -1) {
|
1931 |
+
unique.push(value);
|
1932 |
+
}
|
1933 |
+
});
|
1934 |
+
return unique;
|
1935 |
+
}
|
1936 |
+
|
1937 |
+
/***/ }),
|
1938 |
+
/* 4 */
|
1939 |
+
/***/ (function(module, exports) {
|
1940 |
+
|
1941 |
+
module.exports = function (exec) {
|
1942 |
+
try {
|
1943 |
+
return !!exec();
|
1944 |
+
} catch (e) {
|
1945 |
+
return true;
|
1946 |
+
}
|
1947 |
+
};
|
1948 |
+
|
1949 |
+
|
1950 |
+
/***/ }),
|
1951 |
+
/* 5 */
|
1952 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1953 |
+
|
1954 |
+
var isObject = __webpack_require__(7);
|
1955 |
+
module.exports = function (it) {
|
1956 |
+
if (!isObject(it)) throw TypeError(it + ' is not an object!');
|
1957 |
+
return it;
|
1958 |
+
};
|
1959 |
+
|
1960 |
+
|
1961 |
+
/***/ }),
|
1962 |
+
/* 6 */
|
1963 |
+
/***/ (function(module, exports) {
|
1964 |
+
|
1965 |
+
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
1966 |
+
var global = module.exports = typeof window != 'undefined' && window.Math == Math
|
1967 |
+
? window : typeof self != 'undefined' && self.Math == Math ? self
|
1968 |
+
// eslint-disable-next-line no-new-func
|
1969 |
+
: Function('return this')();
|
1970 |
+
if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
|
1971 |
+
|
1972 |
+
|
1973 |
+
/***/ }),
|
1974 |
+
/* 7 */
|
1975 |
+
/***/ (function(module, exports) {
|
1976 |
+
|
1977 |
+
module.exports = function (it) {
|
1978 |
+
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
1979 |
+
};
|
1980 |
+
|
1981 |
+
|
1982 |
+
/***/ }),
|
1983 |
+
/* 8 */
|
1984 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1985 |
+
|
1986 |
+
"use strict";
|
1987 |
+
|
1988 |
+
|
1989 |
+
exports.__esModule = true;
|
1990 |
+
|
1991 |
+
__webpack_require__(129);
|
1992 |
+
|
1993 |
+
var _viewportColumns = _interopRequireDefault(__webpack_require__(160));
|
1994 |
+
|
1995 |
+
exports.ViewportColumnsCalculator = _viewportColumns.default;
|
1996 |
+
|
1997 |
+
var _viewportRows = _interopRequireDefault(__webpack_require__(161));
|
1998 |
+
|
1999 |
+
exports.ViewportRowsCalculator = _viewportRows.default;
|
2000 |
+
|
2001 |
+
var _coords = _interopRequireDefault(__webpack_require__(75));
|
2002 |
+
|
2003 |
+
exports.CellCoords = _coords.default;
|
2004 |
+
|
2005 |
+
var _range = _interopRequireDefault(__webpack_require__(162));
|
2006 |
+
|
2007 |
+
exports.CellRange = _range.default;
|
2008 |
+
|
2009 |
+
var _column = _interopRequireDefault(__webpack_require__(163));
|
2010 |
+
|
2011 |
+
exports.ColumnFilter = _column.default;
|
2012 |
+
|
2013 |
+
var _row = _interopRequireDefault(__webpack_require__(164));
|
2014 |
+
|
2015 |
+
exports.RowFilter = _row.default;
|
2016 |
+
|
2017 |
+
var _debug = _interopRequireDefault(__webpack_require__(605));
|
2018 |
+
|
2019 |
+
exports.DebugOverlay = _debug.default;
|
2020 |
+
|
2021 |
+
var _left = _interopRequireDefault(__webpack_require__(607));
|
2022 |
+
|
2023 |
+
exports.LeftOverlay = _left.default;
|
2024 |
+
|
2025 |
+
var _top = _interopRequireDefault(__webpack_require__(608));
|
2026 |
+
|
2027 |
+
exports.TopOverlay = _top.default;
|
2028 |
+
|
2029 |
+
var _topLeftCorner = _interopRequireDefault(__webpack_require__(609));
|
2030 |
+
|
2031 |
+
exports.TopLeftCornerOverlay = _topLeftCorner.default;
|
2032 |
+
|
2033 |
+
var _bottom = _interopRequireDefault(__webpack_require__(610));
|
2034 |
+
|
2035 |
+
exports.BottomOverlay = _bottom.default;
|
2036 |
+
|
2037 |
+
var _bottomLeftCorner = _interopRequireDefault(__webpack_require__(611));
|
2038 |
+
|
2039 |
+
exports.BottomLeftCornerOverlay = _bottomLeftCorner.default;
|
2040 |
+
|
2041 |
+
var _border = _interopRequireDefault(__webpack_require__(293));
|
2042 |
+
|
2043 |
+
exports.Border = _border.default;
|
2044 |
+
|
2045 |
+
var _core = _interopRequireDefault(__webpack_require__(165));
|
2046 |
+
|
2047 |
+
exports.default = _core.default;
|
2048 |
+
exports.Core = _core.default;
|
2049 |
+
|
2050 |
+
var _event = _interopRequireDefault(__webpack_require__(286));
|
2051 |
+
|
2052 |
+
exports.Event = _event.default;
|
2053 |
+
|
2054 |
+
var _overlays = _interopRequireDefault(__webpack_require__(287));
|
2055 |
+
|
2056 |
+
exports.Overlays = _overlays.default;
|
2057 |
+
|
2058 |
+
var _scroll = _interopRequireDefault(__webpack_require__(288));
|
2059 |
+
|
2060 |
+
exports.Scroll = _scroll.default;
|
2061 |
+
|
2062 |
+
var _selection = _interopRequireDefault(__webpack_require__(612));
|
2063 |
+
|
2064 |
+
exports.Selection = _selection.default;
|
2065 |
+
|
2066 |
+
var _settings = _interopRequireDefault(__webpack_require__(289));
|
2067 |
+
|
2068 |
+
exports.Settings = _settings.default;
|
2069 |
+
|
2070 |
+
var _table = _interopRequireDefault(__webpack_require__(290));
|
2071 |
+
|
2072 |
+
exports.Table = _table.default;
|
2073 |
+
|
2074 |
+
var _tableRenderer = _interopRequireDefault(__webpack_require__(291));
|
2075 |
+
|
2076 |
+
exports.TableRenderer = _tableRenderer.default;
|
2077 |
+
|
2078 |
+
var _viewport = _interopRequireDefault(__webpack_require__(292));
|
2079 |
+
|
2080 |
+
exports.Viewport = _viewport.default;
|
2081 |
+
|
2082 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
2083 |
+
|
2084 |
+
/***/ }),
|
2085 |
+
/* 9 */
|
2086 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2087 |
+
|
2088 |
+
"use strict";
|
2089 |
+
|
2090 |
+
|
2091 |
+
exports.__esModule = true;
|
2092 |
+
exports.isNumeric = isNumeric;
|
2093 |
+
exports.rangeEach = rangeEach;
|
2094 |
+
exports.rangeEachReverse = rangeEachReverse;
|
2095 |
+
exports.valueAccordingPercent = valueAccordingPercent;
|
2096 |
+
|
2097 |
+
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
2098 |
+
|
2099 |
+
/**
|
2100 |
+
* Checks if value of n is a numeric one
|
2101 |
+
* http://jsperf.com/isnan-vs-isnumeric/4
|
2102 |
+
* @param n
|
2103 |
+
* @returns {boolean}
|
2104 |
+
*/
|
2105 |
+
function isNumeric(n) {
|
2106 |
+
/* eslint-disable */
|
2107 |
+
var t = _typeof(n);
|
2108 |
+
|
2109 |
+
return t == 'number' ? !isNaN(n) && isFinite(n) : t == 'string' ? !n.length ? false : n.length == 1 ? /\d/.test(n) : /^\s*[+-]?\s*(?:(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?)|(?:0x[a-f\d]+))\s*$/i.test(n) : t == 'object' ? !!n && typeof n.valueOf() == 'number' && !(n instanceof Date) : false;
|
2110 |
+
}
|
2111 |
+
/**
|
2112 |
+
* A specialized version of `.forEach` defined by ranges.
|
2113 |
+
*
|
2114 |
+
* @param {Number} rangeFrom The number from start iterate.
|
2115 |
+
* @param {Number|Function} rangeTo The number where finish iterate or function as a iteratee.
|
2116 |
+
* @param {Function} [iteratee] The function invoked per iteration.
|
2117 |
+
*/
|
2118 |
+
|
2119 |
+
|
2120 |
+
function rangeEach(rangeFrom, rangeTo, iteratee) {
|
2121 |
+
var index = -1;
|
2122 |
+
|
2123 |
+
if (typeof rangeTo === 'function') {
|
2124 |
+
iteratee = rangeTo;
|
2125 |
+
rangeTo = rangeFrom;
|
2126 |
+
} else {
|
2127 |
+
index = rangeFrom - 1;
|
2128 |
+
}
|
2129 |
+
|
2130 |
+
while (++index <= rangeTo) {
|
2131 |
+
if (iteratee(index) === false) {
|
2132 |
+
break;
|
2133 |
+
}
|
2134 |
+
}
|
2135 |
+
}
|
2136 |
+
/**
|
2137 |
+
* A specialized version of `.forEach` defined by ranges iterable in reverse order.
|
2138 |
+
*
|
2139 |
+
* @param {Number} rangeFrom The number from start iterate.
|
2140 |
+
* @param {Number|Function} rangeTo The number where finish iterate or function as a iteratee.
|
2141 |
+
* @param {Function} [iteratee] The function invoked per iteration.
|
2142 |
+
*/
|
2143 |
+
|
2144 |
+
|
2145 |
+
function rangeEachReverse(rangeFrom, rangeTo, iteratee) {
|
2146 |
+
var index = rangeFrom + 1;
|
2147 |
+
|
2148 |
+
if (typeof rangeTo === 'function') {
|
2149 |
+
iteratee = rangeTo;
|
2150 |
+
rangeTo = 0;
|
2151 |
+
}
|
2152 |
+
|
2153 |
+
while (--index >= rangeTo) {
|
2154 |
+
if (iteratee(index) === false) {
|
2155 |
+
break;
|
2156 |
+
}
|
2157 |
+
}
|
2158 |
+
}
|
2159 |
+
/**
|
2160 |
+
* Calculate value from percent.
|
2161 |
+
*
|
2162 |
+
* @param {Number} value Base value from percent will be calculated.
|
2163 |
+
* @param {String|Number} percent Can be Number or String (eq. `'33%'`).
|
2164 |
+
* @returns {Number}
|
2165 |
+
*/
|
2166 |
+
|
2167 |
+
|
2168 |
+
function valueAccordingPercent(value, percent) {
|
2169 |
+
percent = parseInt(percent.toString().replace('%', ''), 10);
|
2170 |
+
percent = parseInt(value * percent / 100, 10);
|
2171 |
+
return percent;
|
2172 |
+
}
|
2173 |
+
|
2174 |
+
/***/ }),
|
2175 |
+
/* 10 */
|
2176 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2177 |
+
|
2178 |
+
"use strict";
|
2179 |
+
|
2180 |
+
|
2181 |
+
exports.__esModule = true;
|
2182 |
+
exports.getListenersCounter = getListenersCounter;
|
2183 |
+
exports.default = void 0;
|
2184 |
+
|
2185 |
+
var _element = __webpack_require__(1);
|
2186 |
+
|
2187 |
+
var _object = __webpack_require__(2);
|
2188 |
+
|
2189 |
+
var _feature = __webpack_require__(47);
|
2190 |
+
|
2191 |
+
var _event = __webpack_require__(18);
|
2192 |
+
|
2193 |
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
2194 |
+
|
2195 |
+
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); } }
|
2196 |
+
|
2197 |
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
2198 |
+
|
2199 |
+
/**
|
2200 |
+
* Counter which tracks unregistered listeners (useful for detecting memory leaks).
|
2201 |
+
*
|
2202 |
+
* @type {Number}
|
2203 |
+
*/
|
2204 |
+
var listenersCounter = 0;
|
2205 |
+
/**
|
2206 |
+
* Event DOM manager for internal use in Handsontable.
|
2207 |
+
*
|
2208 |
+
* @class EventManager
|
2209 |
+
* @util
|
2210 |
+
*/
|
2211 |
+
|
2212 |
+
var EventManager =
|
2213 |
+
/*#__PURE__*/
|
2214 |
+
function () {
|
2215 |
+
/**
|
2216 |
+
* @param {Object} [context=null]
|
2217 |
+
* @private
|
2218 |
+
*/
|
2219 |
+
function EventManager() {
|
2220 |
+
var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
2221 |
+
|
2222 |
+
_classCallCheck(this, EventManager);
|
2223 |
+
|
2224 |
+
this.context = context || this;
|
2225 |
+
|
2226 |
+
if (!this.context.eventListeners) {
|
2227 |
+
this.context.eventListeners = [];
|
2228 |
+
}
|
2229 |
+
}
|
2230 |
+
/**
|
2231 |
+
* Register specified listener (`eventName`) to the element.
|
2232 |
+
*
|
2233 |
+
* @param {Element} element Target element.
|
2234 |
+
* @param {String} eventName Event name.
|
2235 |
+
* @param {Function} callback Function which will be called after event occur.
|
2236 |
+
* @returns {Function} Returns function which you can easily call to remove that event
|
2237 |
+
*/
|
2238 |
+
|
2239 |
+
|
2240 |
+
_createClass(EventManager, [{
|
2241 |
+
key: "addEventListener",
|
2242 |
+
value: function addEventListener(element, eventName, callback) {
|
2243 |
+
var _this = this;
|
2244 |
+
|
2245 |
+
var context = this.context;
|
2246 |
+
|
2247 |
+
function callbackProxy(event) {
|
2248 |
+
callback.call(this, extendEvent(context, event));
|
2249 |
+
}
|
2250 |
+
|
2251 |
+
this.context.eventListeners.push({
|
2252 |
+
element: element,
|
2253 |
+
event: eventName,
|
2254 |
+
callback: callback,
|
2255 |
+
callbackProxy: callbackProxy
|
2256 |
+
});
|
2257 |
+
element.addEventListener(eventName, callbackProxy, false);
|
2258 |
+
listenersCounter += 1;
|
2259 |
+
return function () {
|
2260 |
+
_this.removeEventListener(element, eventName, callback);
|
2261 |
+
};
|
2262 |
+
}
|
2263 |
+
/**
|
2264 |
+
* Remove the event listener previously registered.
|
2265 |
+
*
|
2266 |
+
* @param {Element} element Target element.
|
2267 |
+
* @param {String} eventName Event name.
|
2268 |
+
* @param {Function} callback Function to remove from the event target. It must be the same as during registration listener.
|
2269 |
+
*/
|
2270 |
+
|
2271 |
+
}, {
|
2272 |
+
key: "removeEventListener",
|
2273 |
+
value: function removeEventListener(element, eventName, callback) {
|
2274 |
+
var len = this.context.eventListeners.length;
|
2275 |
+
var tmpEvent;
|
2276 |
+
|
2277 |
+
while (len) {
|
2278 |
+
len -= 1;
|
2279 |
+
tmpEvent = this.context.eventListeners[len];
|
2280 |
+
|
2281 |
+
if (tmpEvent.event === eventName && tmpEvent.element === element) {
|
2282 |
+
if (callback && callback !== tmpEvent.callback) {
|
2283 |
+
/* eslint-disable no-continue */
|
2284 |
+
continue;
|
2285 |
+
}
|
2286 |
+
|
2287 |
+
this.context.eventListeners.splice(len, 1);
|
2288 |
+
tmpEvent.element.removeEventListener(tmpEvent.event, tmpEvent.callbackProxy, false);
|
2289 |
+
listenersCounter -= 1;
|
2290 |
+
}
|
2291 |
+
}
|
2292 |
+
}
|
2293 |
+
/**
|
2294 |
+
* Clear all previously registered events.
|
2295 |
+
*
|
2296 |
+
* @private
|
2297 |
+
* @since 0.15.0-beta3
|
2298 |
+
*/
|
2299 |
+
|
2300 |
+
}, {
|
2301 |
+
key: "clearEvents",
|
2302 |
+
value: function clearEvents() {
|
2303 |
+
if (!this.context) {
|
2304 |
+
return;
|
2305 |
+
}
|
2306 |
+
|
2307 |
+
var len = this.context.eventListeners.length;
|
2308 |
+
|
2309 |
+
while (len) {
|
2310 |
+
len -= 1;
|
2311 |
+
var event = this.context.eventListeners[len];
|
2312 |
+
|
2313 |
+
if (event) {
|
2314 |
+
this.removeEventListener(event.element, event.event, event.callback);
|
2315 |
+
}
|
2316 |
+
}
|
2317 |
+
}
|
2318 |
+
/**
|
2319 |
+
* Clear all previously registered events.
|
2320 |
+
*/
|
2321 |
+
|
2322 |
+
}, {
|
2323 |
+
key: "clear",
|
2324 |
+
value: function clear() {
|
2325 |
+
this.clearEvents();
|
2326 |
+
}
|
2327 |
+
/**
|
2328 |
+
* Destroy instance of EventManager.
|
2329 |
+
*/
|
2330 |
+
|
2331 |
+
}, {
|
2332 |
+
key: "destroy",
|
2333 |
+
value: function destroy() {
|
2334 |
+
this.clearEvents();
|
2335 |
+
this.context = null;
|
2336 |
+
}
|
2337 |
+
/**
|
2338 |
+
* Trigger event at the specified target element.
|
2339 |
+
*
|
2340 |
+
* @param {Element} element Target element.
|
2341 |
+
* @param {String} eventName Event name.
|
2342 |
+
*/
|
2343 |
+
|
2344 |
+
}, {
|
2345 |
+
key: "fireEvent",
|
2346 |
+
value: function fireEvent(element, eventName) {
|
2347 |
+
var options = {
|
2348 |
+
bubbles: true,
|
2349 |
+
cancelable: eventName !== 'mousemove',
|
2350 |
+
view: window,
|
2351 |
+
detail: 0,
|
2352 |
+
screenX: 0,
|
2353 |
+
screenY: 0,
|
2354 |
+
clientX: 1,
|
2355 |
+
clientY: 1,
|
2356 |
+
ctrlKey: false,
|
2357 |
+
altKey: false,
|
2358 |
+
shiftKey: false,
|
2359 |
+
metaKey: false,
|
2360 |
+
button: 0,
|
2361 |
+
relatedTarget: undefined
|
2362 |
+
};
|
2363 |
+
var event;
|
2364 |
+
|
2365 |
+
if (document.createEvent) {
|
2366 |
+
event = document.createEvent('MouseEvents');
|
2367 |
+
event.initMouseEvent(eventName, options.bubbles, options.cancelable, options.view, options.detail, options.screenX, options.screenY, options.clientX, options.clientY, options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.button, options.relatedTarget || document.body.parentNode);
|
2368 |
+
} else {
|
2369 |
+
event = document.createEventObject();
|
2370 |
+
}
|
2371 |
+
|
2372 |
+
if (element.dispatchEvent) {
|
2373 |
+
element.dispatchEvent(event);
|
2374 |
+
} else {
|
2375 |
+
element.fireEvent("on".concat(eventName), event);
|
2376 |
+
}
|
2377 |
+
}
|
2378 |
+
}]);
|
2379 |
+
|
2380 |
+
return EventManager;
|
2381 |
+
}();
|
2382 |
+
/**
|
2383 |
+
* @param {Object} context
|
2384 |
+
* @param {Event} event
|
2385 |
+
* @private
|
2386 |
+
* @returns {*}
|
2387 |
+
*/
|
2388 |
+
|
2389 |
+
|
2390 |
+
function extendEvent(context, event) {
|
2391 |
+
var componentName = 'HOT-TABLE';
|
2392 |
+
var isHotTableSpotted;
|
2393 |
+
var fromElement;
|
2394 |
+
var realTarget;
|
2395 |
+
var target;
|
2396 |
+
var len;
|
2397 |
+
event.isTargetWebComponent = false;
|
2398 |
+
event.realTarget = event.target;
|
2399 |
+
var nativeStopImmediatePropagation = event.stopImmediatePropagation;
|
2400 |
+
|
2401 |
+
event.stopImmediatePropagation = function () {
|
2402 |
+
nativeStopImmediatePropagation.apply(this);
|
2403 |
+
(0, _event.stopImmediatePropagation)(this);
|
2404 |
+
};
|
2405 |
+
|
2406 |
+
if (!EventManager.isHotTableEnv) {
|
2407 |
+
return event;
|
2408 |
+
} // eslint-disable-next-line no-param-reassign
|
2409 |
+
|
2410 |
+
|
2411 |
+
event = (0, _element.polymerWrap)(event);
|
2412 |
+
len = event.path ? event.path.length : 0;
|
2413 |
+
|
2414 |
+
while (len) {
|
2415 |
+
len -= 1;
|
2416 |
+
|
2417 |
+
if (event.path[len].nodeName === componentName) {
|
2418 |
+
isHotTableSpotted = true;
|
2419 |
+
} else if (isHotTableSpotted && event.path[len].shadowRoot) {
|
2420 |
+
target = event.path[len];
|
2421 |
+
break;
|
2422 |
+
}
|
2423 |
+
|
2424 |
+
if (len === 0 && !target) {
|
2425 |
+
target = event.path[len];
|
2426 |
+
}
|
2427 |
+
}
|
2428 |
+
|
2429 |
+
if (!target) {
|
2430 |
+
target = event.target;
|
2431 |
+
}
|
2432 |
+
|
2433 |
+
event.isTargetWebComponent = true;
|
2434 |
+
|
2435 |
+
if ((0, _feature.isWebComponentSupportedNatively)()) {
|
2436 |
+
event.realTarget = event.srcElement || event.toElement;
|
2437 |
+
} else if ((0, _object.hasOwnProperty)(context, 'hot') || context.isHotTableEnv || context.wtTable) {
|
2438 |
+
// Polymer doesn't support `event.target` property properly we must emulate it ourselves
|
2439 |
+
if ((0, _object.hasOwnProperty)(context, 'hot')) {
|
2440 |
+
// Custom element
|
2441 |
+
fromElement = context.hot ? context.hot.view.wt.wtTable.TABLE : null;
|
2442 |
+
} else if (context.isHotTableEnv) {
|
2443 |
+
// Handsontable.Core
|
2444 |
+
fromElement = context.view.activeWt.wtTable.TABLE.parentNode.parentNode;
|
2445 |
+
} else if (context.wtTable) {
|
2446 |
+
// Walkontable
|
2447 |
+
fromElement = context.wtTable.TABLE.parentNode.parentNode;
|
2448 |
+
}
|
2449 |
+
|
2450 |
+
realTarget = (0, _element.closest)(event.target, [componentName], fromElement);
|
2451 |
+
|
2452 |
+
if (realTarget) {
|
2453 |
+
event.realTarget = fromElement.querySelector(componentName) || event.target;
|
2454 |
+
} else {
|
2455 |
+
event.realTarget = event.target;
|
2456 |
+
}
|
2457 |
+
}
|
2458 |
+
|
2459 |
+
Object.defineProperty(event, 'target', {
|
2460 |
+
get: function get() {
|
2461 |
+
return (0, _element.polymerWrap)(target);
|
2462 |
+
},
|
2463 |
+
enumerable: true,
|
2464 |
+
configurable: true
|
2465 |
+
});
|
2466 |
+
return event;
|
2467 |
+
}
|
2468 |
+
|
2469 |
+
var _default = EventManager;
|
2470 |
+
exports.default = _default;
|
2471 |
+
|
2472 |
+
function getListenersCounter() {
|
2473 |
+
return listenersCounter;
|
2474 |
+
}
|
2475 |
+
|
2476 |
+
/***/ }),
|
2477 |
+
/* 11 */
|
2478 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2479 |
+
|
2480 |
+
"use strict";
|
2481 |
+
|
2482 |
+
|
2483 |
+
exports.__esModule = true;
|
2484 |
+
exports.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = exports.FILTERS_BUTTONS_PLACEHOLDER_VALUE = exports.FILTERS_BUTTONS_PLACEHOLDER_SEARCH = exports.FILTERS_BUTTONS_CANCEL = exports.FILTERS_BUTTONS_OK = exports.FILTERS_BUTTONS_CLEAR = exports.FILTERS_BUTTONS_SELECT_ALL = exports.FILTERS_VALUES_BLANK_CELLS = exports.FILTERS_LABELS_DISJUNCTION = exports.FILTERS_LABELS_CONJUNCTION = exports.FILTERS_DIVS_FILTER_BY_VALUE = exports.FILTERS_DIVS_FILTER_BY_CONDITION = exports.FILTERS_CONDITIONS_YESTERDAY = exports.FILTERS_CONDITIONS_TOMORROW = exports.FILTERS_CONDITIONS_TODAY = exports.FILTERS_CONDITIONS_BEFORE = exports.FILTERS_CONDITIONS_AFTER = exports.FILTERS_CONDITIONS_NOT_BETWEEN = exports.FILTERS_CONDITIONS_BETWEEN = exports.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL = exports.FILTERS_CONDITIONS_LESS_THAN = exports.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL = exports.FILTERS_CONDITIONS_GREATER_THAN = exports.FILTERS_CONDITIONS_BY_VALUE = exports.FILTERS_CONDITIONS_NOT_CONTAIN = exports.FILTERS_CONDITIONS_CONTAINS = exports.FILTERS_CONDITIONS_ENDS_WITH = exports.FILTERS_CONDITIONS_BEGINS_WITH = exports.FILTERS_CONDITIONS_NOT_EQUAL = exports.FILTERS_CONDITIONS_EQUAL = exports.FILTERS_CONDITIONS_NOT_EMPTY = exports.FILTERS_CONDITIONS_EMPTY = exports.FILTERS_CONDITIONS_NONE = exports.FILTERS_CONDITIONS_NAMESPACE = exports.FILTERS_NAMESPACE = exports.CONTEXTMENU_ITEMS_SHOW_ROW = exports.CONTEXTMENU_ITEMS_HIDE_ROW = exports.CONTEXTMENU_ITEMS_SHOW_COLUMN = exports.CONTEXTMENU_ITEMS_HIDE_COLUMN = exports.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD = exports.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD = exports.CONTEXTMENU_ITEMS_REMOVE_BORDERS = exports.CONTEXTMENU_ITEMS_BORDERS_LEFT = exports.CONTEXTMENU_ITEMS_BORDERS_BOTTOM = exports.CONTEXTMENU_ITEMS_BORDERS_RIGHT = exports.CONTEXTMENU_ITEMS_BORDERS_TOP = exports.CONTEXTMENU_ITEMS_BORDERS = exports.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM = exports.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE = exports.CONTEXTMENU_ITEMS_ALIGNMENT_TOP = exports.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY = exports.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT = exports.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER = exports.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT = exports.CONTEXTMENU_ITEMS_ALIGNMENT = exports.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT = exports.CONTEXTMENU_ITEMS_REMOVE_COMMENT = exports.CONTEXTMENU_ITEMS_EDIT_COMMENT = exports.CONTEXTMENU_ITEMS_ADD_COMMENT = exports.CONTEXTMENU_ITEMS_UNMERGE_CELLS = exports.CONTEXTMENU_ITEMS_MERGE_CELLS = exports.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN = exports.CONTEXTMENU_ITEMS_FREEZE_COLUMN = exports.CONTEXTMENU_ITEMS_CUT = exports.CONTEXTMENU_ITEMS_COPY = exports.CONTEXTMENU_ITEMS_CLEAR_COLUMN = exports.CONTEXTMENU_ITEMS_READ_ONLY = exports.CONTEXTMENU_ITEMS_REDO = exports.CONTEXTMENU_ITEMS_UNDO = exports.CONTEXTMENU_ITEMS_REMOVE_COLUMN = exports.CONTEXTMENU_ITEMS_REMOVE_ROW = exports.CONTEXTMENU_ITEMS_INSERT_RIGHT = exports.CONTEXTMENU_ITEMS_INSERT_LEFT = exports.CONTEXTMENU_ITEMS_ROW_BELOW = exports.CONTEXTMENU_ITEMS_ROW_ABOVE = exports.CONTEXT_MENU_ITEMS_NAMESPACE = void 0;
|
2485 |
+
|
2486 |
+
/**
|
2487 |
+
* Constants for parts of translation.
|
2488 |
+
*/
|
2489 |
+
var CONTEXT_MENU_ITEMS_NAMESPACE = 'ContextMenu:items';
|
2490 |
+
exports.CONTEXT_MENU_ITEMS_NAMESPACE = CONTEXT_MENU_ITEMS_NAMESPACE;
|
2491 |
+
var CONTEXTMENU_ITEMS_ROW_ABOVE = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".insertRowAbove");
|
2492 |
+
exports.CONTEXTMENU_ITEMS_ROW_ABOVE = CONTEXTMENU_ITEMS_ROW_ABOVE;
|
2493 |
+
var CONTEXTMENU_ITEMS_ROW_BELOW = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".insertRowBelow");
|
2494 |
+
exports.CONTEXTMENU_ITEMS_ROW_BELOW = CONTEXTMENU_ITEMS_ROW_BELOW;
|
2495 |
+
var CONTEXTMENU_ITEMS_INSERT_LEFT = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".insertColumnOnTheLeft");
|
2496 |
+
exports.CONTEXTMENU_ITEMS_INSERT_LEFT = CONTEXTMENU_ITEMS_INSERT_LEFT;
|
2497 |
+
var CONTEXTMENU_ITEMS_INSERT_RIGHT = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".insertColumnOnTheRight");
|
2498 |
+
exports.CONTEXTMENU_ITEMS_INSERT_RIGHT = CONTEXTMENU_ITEMS_INSERT_RIGHT;
|
2499 |
+
var CONTEXTMENU_ITEMS_REMOVE_ROW = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".removeRow");
|
2500 |
+
exports.CONTEXTMENU_ITEMS_REMOVE_ROW = CONTEXTMENU_ITEMS_REMOVE_ROW;
|
2501 |
+
var CONTEXTMENU_ITEMS_REMOVE_COLUMN = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".removeColumn");
|
2502 |
+
exports.CONTEXTMENU_ITEMS_REMOVE_COLUMN = CONTEXTMENU_ITEMS_REMOVE_COLUMN;
|
2503 |
+
var CONTEXTMENU_ITEMS_UNDO = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".undo");
|
2504 |
+
exports.CONTEXTMENU_ITEMS_UNDO = CONTEXTMENU_ITEMS_UNDO;
|
2505 |
+
var CONTEXTMENU_ITEMS_REDO = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".redo");
|
2506 |
+
exports.CONTEXTMENU_ITEMS_REDO = CONTEXTMENU_ITEMS_REDO;
|
2507 |
+
var CONTEXTMENU_ITEMS_READ_ONLY = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".readOnly");
|
2508 |
+
exports.CONTEXTMENU_ITEMS_READ_ONLY = CONTEXTMENU_ITEMS_READ_ONLY;
|
2509 |
+
var CONTEXTMENU_ITEMS_CLEAR_COLUMN = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".clearColumn");
|
2510 |
+
exports.CONTEXTMENU_ITEMS_CLEAR_COLUMN = CONTEXTMENU_ITEMS_CLEAR_COLUMN;
|
2511 |
+
var CONTEXTMENU_ITEMS_COPY = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".copy");
|
2512 |
+
exports.CONTEXTMENU_ITEMS_COPY = CONTEXTMENU_ITEMS_COPY;
|
2513 |
+
var CONTEXTMENU_ITEMS_CUT = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".cut");
|
2514 |
+
exports.CONTEXTMENU_ITEMS_CUT = CONTEXTMENU_ITEMS_CUT;
|
2515 |
+
var CONTEXTMENU_ITEMS_FREEZE_COLUMN = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".freezeColumn");
|
2516 |
+
exports.CONTEXTMENU_ITEMS_FREEZE_COLUMN = CONTEXTMENU_ITEMS_FREEZE_COLUMN;
|
2517 |
+
var CONTEXTMENU_ITEMS_UNFREEZE_COLUMN = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".unfreezeColumn");
|
2518 |
+
exports.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN = CONTEXTMENU_ITEMS_UNFREEZE_COLUMN;
|
2519 |
+
var CONTEXTMENU_ITEMS_MERGE_CELLS = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".mergeCells");
|
2520 |
+
exports.CONTEXTMENU_ITEMS_MERGE_CELLS = CONTEXTMENU_ITEMS_MERGE_CELLS;
|
2521 |
+
var CONTEXTMENU_ITEMS_UNMERGE_CELLS = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".unmergeCells");
|
2522 |
+
exports.CONTEXTMENU_ITEMS_UNMERGE_CELLS = CONTEXTMENU_ITEMS_UNMERGE_CELLS;
|
2523 |
+
var CONTEXTMENU_ITEMS_ADD_COMMENT = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".addComment");
|
2524 |
+
exports.CONTEXTMENU_ITEMS_ADD_COMMENT = CONTEXTMENU_ITEMS_ADD_COMMENT;
|
2525 |
+
var CONTEXTMENU_ITEMS_EDIT_COMMENT = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".editComment");
|
2526 |
+
exports.CONTEXTMENU_ITEMS_EDIT_COMMENT = CONTEXTMENU_ITEMS_EDIT_COMMENT;
|
2527 |
+
var CONTEXTMENU_ITEMS_REMOVE_COMMENT = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".removeComment");
|
2528 |
+
exports.CONTEXTMENU_ITEMS_REMOVE_COMMENT = CONTEXTMENU_ITEMS_REMOVE_COMMENT;
|
2529 |
+
var CONTEXTMENU_ITEMS_READ_ONLY_COMMENT = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".readOnlyComment");
|
2530 |
+
exports.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT = CONTEXTMENU_ITEMS_READ_ONLY_COMMENT;
|
2531 |
+
var CONTEXTMENU_ITEMS_ALIGNMENT = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".align");
|
2532 |
+
exports.CONTEXTMENU_ITEMS_ALIGNMENT = CONTEXTMENU_ITEMS_ALIGNMENT;
|
2533 |
+
var CONTEXTMENU_ITEMS_ALIGNMENT_LEFT = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".align.left");
|
2534 |
+
exports.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT = CONTEXTMENU_ITEMS_ALIGNMENT_LEFT;
|
2535 |
+
var CONTEXTMENU_ITEMS_ALIGNMENT_CENTER = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".align.center");
|
2536 |
+
exports.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER = CONTEXTMENU_ITEMS_ALIGNMENT_CENTER;
|
2537 |
+
var CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".align.right");
|
2538 |
+
exports.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT = CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT;
|
2539 |
+
var CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".align.justify");
|
2540 |
+
exports.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY = CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY;
|
2541 |
+
var CONTEXTMENU_ITEMS_ALIGNMENT_TOP = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".align.top");
|
2542 |
+
exports.CONTEXTMENU_ITEMS_ALIGNMENT_TOP = CONTEXTMENU_ITEMS_ALIGNMENT_TOP;
|
2543 |
+
var CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".align.middle");
|
2544 |
+
exports.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE = CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE;
|
2545 |
+
var CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".align.bottom");
|
2546 |
+
exports.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM = CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM;
|
2547 |
+
var CONTEXTMENU_ITEMS_BORDERS = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".borders");
|
2548 |
+
exports.CONTEXTMENU_ITEMS_BORDERS = CONTEXTMENU_ITEMS_BORDERS;
|
2549 |
+
var CONTEXTMENU_ITEMS_BORDERS_TOP = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".borders.top");
|
2550 |
+
exports.CONTEXTMENU_ITEMS_BORDERS_TOP = CONTEXTMENU_ITEMS_BORDERS_TOP;
|
2551 |
+
var CONTEXTMENU_ITEMS_BORDERS_RIGHT = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".borders.right");
|
2552 |
+
exports.CONTEXTMENU_ITEMS_BORDERS_RIGHT = CONTEXTMENU_ITEMS_BORDERS_RIGHT;
|
2553 |
+
var CONTEXTMENU_ITEMS_BORDERS_BOTTOM = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".borders.bottom");
|
2554 |
+
exports.CONTEXTMENU_ITEMS_BORDERS_BOTTOM = CONTEXTMENU_ITEMS_BORDERS_BOTTOM;
|
2555 |
+
var CONTEXTMENU_ITEMS_BORDERS_LEFT = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".borders.left");
|
2556 |
+
exports.CONTEXTMENU_ITEMS_BORDERS_LEFT = CONTEXTMENU_ITEMS_BORDERS_LEFT;
|
2557 |
+
var CONTEXTMENU_ITEMS_REMOVE_BORDERS = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".borders.remove");
|
2558 |
+
exports.CONTEXTMENU_ITEMS_REMOVE_BORDERS = CONTEXTMENU_ITEMS_REMOVE_BORDERS;
|
2559 |
+
var CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".nestedHeaders.insertChildRow");
|
2560 |
+
exports.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD = CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD;
|
2561 |
+
var CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".nestedHeaders.detachFromParent");
|
2562 |
+
exports.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD = CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD;
|
2563 |
+
var CONTEXTMENU_ITEMS_HIDE_COLUMN = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".hideColumn");
|
2564 |
+
exports.CONTEXTMENU_ITEMS_HIDE_COLUMN = CONTEXTMENU_ITEMS_HIDE_COLUMN;
|
2565 |
+
var CONTEXTMENU_ITEMS_SHOW_COLUMN = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".showColumn");
|
2566 |
+
exports.CONTEXTMENU_ITEMS_SHOW_COLUMN = CONTEXTMENU_ITEMS_SHOW_COLUMN;
|
2567 |
+
var CONTEXTMENU_ITEMS_HIDE_ROW = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".hideRow");
|
2568 |
+
exports.CONTEXTMENU_ITEMS_HIDE_ROW = CONTEXTMENU_ITEMS_HIDE_ROW;
|
2569 |
+
var CONTEXTMENU_ITEMS_SHOW_ROW = "".concat(CONTEXT_MENU_ITEMS_NAMESPACE, ".showRow");
|
2570 |
+
exports.CONTEXTMENU_ITEMS_SHOW_ROW = CONTEXTMENU_ITEMS_SHOW_ROW;
|
2571 |
+
var FILTERS_NAMESPACE = 'Filters:';
|
2572 |
+
exports.FILTERS_NAMESPACE = FILTERS_NAMESPACE;
|
2573 |
+
var FILTERS_CONDITIONS_NAMESPACE = "".concat(FILTERS_NAMESPACE, "conditions");
|
2574 |
+
exports.FILTERS_CONDITIONS_NAMESPACE = FILTERS_CONDITIONS_NAMESPACE;
|
2575 |
+
var FILTERS_CONDITIONS_NONE = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".none");
|
2576 |
+
exports.FILTERS_CONDITIONS_NONE = FILTERS_CONDITIONS_NONE;
|
2577 |
+
var FILTERS_CONDITIONS_EMPTY = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".isEmpty");
|
2578 |
+
exports.FILTERS_CONDITIONS_EMPTY = FILTERS_CONDITIONS_EMPTY;
|
2579 |
+
var FILTERS_CONDITIONS_NOT_EMPTY = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".isNotEmpty");
|
2580 |
+
exports.FILTERS_CONDITIONS_NOT_EMPTY = FILTERS_CONDITIONS_NOT_EMPTY;
|
2581 |
+
var FILTERS_CONDITIONS_EQUAL = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".isEqualTo");
|
2582 |
+
exports.FILTERS_CONDITIONS_EQUAL = FILTERS_CONDITIONS_EQUAL;
|
2583 |
+
var FILTERS_CONDITIONS_NOT_EQUAL = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".isNotEqualTo");
|
2584 |
+
exports.FILTERS_CONDITIONS_NOT_EQUAL = FILTERS_CONDITIONS_NOT_EQUAL;
|
2585 |
+
var FILTERS_CONDITIONS_BEGINS_WITH = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".beginsWith");
|
2586 |
+
exports.FILTERS_CONDITIONS_BEGINS_WITH = FILTERS_CONDITIONS_BEGINS_WITH;
|
2587 |
+
var FILTERS_CONDITIONS_ENDS_WITH = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".endsWith");
|
2588 |
+
exports.FILTERS_CONDITIONS_ENDS_WITH = FILTERS_CONDITIONS_ENDS_WITH;
|
2589 |
+
var FILTERS_CONDITIONS_CONTAINS = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".contains");
|
2590 |
+
exports.FILTERS_CONDITIONS_CONTAINS = FILTERS_CONDITIONS_CONTAINS;
|
2591 |
+
var FILTERS_CONDITIONS_NOT_CONTAIN = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".doesNotContain");
|
2592 |
+
exports.FILTERS_CONDITIONS_NOT_CONTAIN = FILTERS_CONDITIONS_NOT_CONTAIN;
|
2593 |
+
var FILTERS_CONDITIONS_BY_VALUE = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".byValue");
|
2594 |
+
exports.FILTERS_CONDITIONS_BY_VALUE = FILTERS_CONDITIONS_BY_VALUE;
|
2595 |
+
var FILTERS_CONDITIONS_GREATER_THAN = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".greaterThan");
|
2596 |
+
exports.FILTERS_CONDITIONS_GREATER_THAN = FILTERS_CONDITIONS_GREATER_THAN;
|
2597 |
+
var FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".greaterThanOrEqualTo");
|
2598 |
+
exports.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL = FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL;
|
2599 |
+
var FILTERS_CONDITIONS_LESS_THAN = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".lessThan");
|
2600 |
+
exports.FILTERS_CONDITIONS_LESS_THAN = FILTERS_CONDITIONS_LESS_THAN;
|
2601 |
+
var FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".lessThanOrEqualTo");
|
2602 |
+
exports.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL = FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL;
|
2603 |
+
var FILTERS_CONDITIONS_BETWEEN = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".isBetween");
|
2604 |
+
exports.FILTERS_CONDITIONS_BETWEEN = FILTERS_CONDITIONS_BETWEEN;
|
2605 |
+
var FILTERS_CONDITIONS_NOT_BETWEEN = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".isNotBetween");
|
2606 |
+
exports.FILTERS_CONDITIONS_NOT_BETWEEN = FILTERS_CONDITIONS_NOT_BETWEEN;
|
2607 |
+
var FILTERS_CONDITIONS_AFTER = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".after");
|
2608 |
+
exports.FILTERS_CONDITIONS_AFTER = FILTERS_CONDITIONS_AFTER;
|
2609 |
+
var FILTERS_CONDITIONS_BEFORE = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".before");
|
2610 |
+
exports.FILTERS_CONDITIONS_BEFORE = FILTERS_CONDITIONS_BEFORE;
|
2611 |
+
var FILTERS_CONDITIONS_TODAY = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".today");
|
2612 |
+
exports.FILTERS_CONDITIONS_TODAY = FILTERS_CONDITIONS_TODAY;
|
2613 |
+
var FILTERS_CONDITIONS_TOMORROW = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".tomorrow");
|
2614 |
+
exports.FILTERS_CONDITIONS_TOMORROW = FILTERS_CONDITIONS_TOMORROW;
|
2615 |
+
var FILTERS_CONDITIONS_YESTERDAY = "".concat(FILTERS_CONDITIONS_NAMESPACE, ".yesterday");
|
2616 |
+
exports.FILTERS_CONDITIONS_YESTERDAY = FILTERS_CONDITIONS_YESTERDAY;
|
2617 |
+
var FILTERS_DIVS_FILTER_BY_CONDITION = "".concat(FILTERS_NAMESPACE, "labels.filterByCondition");
|
2618 |
+
exports.FILTERS_DIVS_FILTER_BY_CONDITION = FILTERS_DIVS_FILTER_BY_CONDITION;
|
2619 |
+
var FILTERS_DIVS_FILTER_BY_VALUE = "".concat(FILTERS_NAMESPACE, "labels.filterByValue");
|
2620 |
+
exports.FILTERS_DIVS_FILTER_BY_VALUE = FILTERS_DIVS_FILTER_BY_VALUE;
|
2621 |
+
var FILTERS_LABELS_CONJUNCTION = "".concat(FILTERS_NAMESPACE, "labels.conjunction");
|
2622 |
+
exports.FILTERS_LABELS_CONJUNCTION = FILTERS_LABELS_CONJUNCTION;
|
2623 |
+
var FILTERS_LABELS_DISJUNCTION = "".concat(FILTERS_NAMESPACE, "labels.disjunction");
|
2624 |
+
exports.FILTERS_LABELS_DISJUNCTION = FILTERS_LABELS_DISJUNCTION;
|
2625 |
+
var FILTERS_VALUES_BLANK_CELLS = "".concat(FILTERS_NAMESPACE, "values.blankCells");
|
2626 |
+
exports.FILTERS_VALUES_BLANK_CELLS = FILTERS_VALUES_BLANK_CELLS;
|
2627 |
+
var FILTERS_BUTTONS_SELECT_ALL = "".concat(FILTERS_NAMESPACE, "buttons.selectAll");
|
2628 |
+
exports.FILTERS_BUTTONS_SELECT_ALL = FILTERS_BUTTONS_SELECT_ALL;
|
2629 |
+
var FILTERS_BUTTONS_CLEAR = "".concat(FILTERS_NAMESPACE, "buttons.clear");
|
2630 |
+
exports.FILTERS_BUTTONS_CLEAR = FILTERS_BUTTONS_CLEAR;
|
2631 |
+
var FILTERS_BUTTONS_OK = "".concat(FILTERS_NAMESPACE, "buttons.ok");
|
2632 |
+
exports.FILTERS_BUTTONS_OK = FILTERS_BUTTONS_OK;
|
2633 |
+
var FILTERS_BUTTONS_CANCEL = "".concat(FILTERS_NAMESPACE, "buttons.cancel");
|
2634 |
+
exports.FILTERS_BUTTONS_CANCEL = FILTERS_BUTTONS_CANCEL;
|
2635 |
+
var FILTERS_BUTTONS_PLACEHOLDER_SEARCH = "".concat(FILTERS_NAMESPACE, "buttons.placeholder.search");
|
2636 |
+
exports.FILTERS_BUTTONS_PLACEHOLDER_SEARCH = FILTERS_BUTTONS_PLACEHOLDER_SEARCH;
|
2637 |
+
var FILTERS_BUTTONS_PLACEHOLDER_VALUE = "".concat(FILTERS_NAMESPACE, "buttons.placeholder.value");
|
2638 |
+
exports.FILTERS_BUTTONS_PLACEHOLDER_VALUE = FILTERS_BUTTONS_PLACEHOLDER_VALUE;
|
2639 |
+
var FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = "".concat(FILTERS_NAMESPACE, "buttons.placeholder.secondValue");
|
2640 |
+
exports.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE = FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE;
|
2641 |
+
|
2642 |
+
/***/ }),
|
2643 |
+
/* 12 */
|
2644 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2645 |
+
|
2646 |
+
var store = __webpack_require__(93)('wks');
|
2647 |
+
var uid = __webpack_require__(51);
|
2648 |
+
var Symbol = __webpack_require__(6).Symbol;
|
2649 |
+
var USE_SYMBOL = typeof Symbol == 'function';
|
2650 |
+
|
2651 |
+
var $exports = module.exports = function (name) {
|
2652 |
+
return store[name] || (store[name] =
|
2653 |
+
USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
|
2654 |
+
};
|
2655 |
+
|
2656 |
+
$exports.store = store;
|
2657 |
+
|
2658 |
+
|
2659 |
+
/***/ }),
|
2660 |
+
/* 13 */
|
2661 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2662 |
+
|
2663 |
+
"use strict";
|
2664 |
+
|
2665 |
+
|
2666 |
+
exports.__esModule = true;
|
2667 |
+
exports.registerPlugin = registerPlugin;
|
2668 |
+
exports.getPlugin = getPlugin;
|
2669 |
+
exports.getRegistredPluginNames = getRegistredPluginNames;
|
2670 |
+
exports.getPluginName = getPluginName;
|
2671 |
+
|
2672 |
+
var _pluginHooks = _interopRequireDefault(__webpack_require__(22));
|
2673 |
+
|
2674 |
+
var _object = __webpack_require__(2);
|
2675 |
+
|
2676 |
+
var _string = __webpack_require__(48);
|
2677 |
+
|
2678 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
2679 |
+
|
2680 |
+
/**
|
2681 |
+
* Utility to register plugins and common namespace for keeping reference to all plugins classes
|
2682 |
+
*/
|
2683 |
+
var registeredPlugins = new WeakMap();
|
2684 |
+
/**
|
2685 |
+
* Registers plugin under given name
|
2686 |
+
*
|
2687 |
+
* @param {String} pluginName
|
2688 |
+
* @param {Function} PluginClass
|
2689 |
+
*/
|
2690 |
+
|
2691 |
+
function registerPlugin(pluginName, PluginClass) {
|
2692 |
+
var correctedPluginName = (0, _string.toUpperCaseFirst)(pluginName);
|
2693 |
+
|
2694 |
+
_pluginHooks.default.getSingleton().add('construct', function () {
|
2695 |
+
if (!registeredPlugins.has(this)) {
|
2696 |
+
registeredPlugins.set(this, {});
|
2697 |
+
}
|
2698 |
+
|
2699 |
+
var holder = registeredPlugins.get(this);
|
2700 |
+
|
2701 |
+
if (!holder[correctedPluginName]) {
|
2702 |
+
holder[correctedPluginName] = new PluginClass(this);
|
2703 |
+
}
|
2704 |
+
});
|
2705 |
+
|
2706 |
+
_pluginHooks.default.getSingleton().add('afterDestroy', function () {
|
2707 |
+
if (registeredPlugins.has(this)) {
|
2708 |
+
var pluginsHolder = registeredPlugins.get(this);
|
2709 |
+
(0, _object.objectEach)(pluginsHolder, function (plugin) {
|
2710 |
+
return plugin.destroy();
|
2711 |
+
});
|
2712 |
+
registeredPlugins.delete(this);
|
2713 |
+
}
|
2714 |
+
});
|
2715 |
+
}
|
2716 |
+
/**
|
2717 |
+
* @param {Object} instance
|
2718 |
+
* @param {String|Function} pluginName
|
2719 |
+
* @returns {Function} pluginClass Returns plugin instance if exists or `undefined` if not exists.
|
2720 |
+
*/
|
2721 |
+
|
2722 |
+
|
2723 |
+
function getPlugin(instance, pluginName) {
|
2724 |
+
if (typeof pluginName !== 'string') {
|
2725 |
+
throw Error('Only strings can be passed as "plugin" parameter');
|
2726 |
+
}
|
2727 |
+
|
2728 |
+
var _pluginName = (0, _string.toUpperCaseFirst)(pluginName);
|
2729 |
+
|
2730 |
+
if (!registeredPlugins.has(instance) || !registeredPlugins.get(instance)[_pluginName]) {
|
2731 |
+
return void 0;
|
2732 |
+
}
|
2733 |
+
|
2734 |
+
return registeredPlugins.get(instance)[_pluginName];
|
2735 |
+
}
|
2736 |
+
/**
|
2737 |
+
* Get all registred plugins names for concrete Handsontable instance.
|
2738 |
+
*
|
2739 |
+
* @param {Object} hotInstance
|
2740 |
+
* @returns {Array}
|
2741 |
+
*/
|
2742 |
+
|
2743 |
+
|
2744 |
+
function getRegistredPluginNames(hotInstance) {
|
2745 |
+
return registeredPlugins.has(hotInstance) ? Object.keys(registeredPlugins.get(hotInstance)) : [];
|
2746 |
+
}
|
2747 |
+
/**
|
2748 |
+
* Get plugin name.
|
2749 |
+
*
|
2750 |
+
* @param {Object} hotInstance
|
2751 |
+
* @param {Object} plugin
|
2752 |
+
* @returns {String|null}
|
2753 |
+
*/
|
2754 |
+
|
2755 |
+
|
2756 |
+
function getPluginName(hotInstance, plugin) {
|
2757 |
+
var pluginName = null;
|
2758 |
+
|
2759 |
+
if (registeredPlugins.has(hotInstance)) {
|
2760 |
+
(0, _object.objectEach)(registeredPlugins.get(hotInstance), function (pluginInstance, name) {
|
2761 |
+
if (pluginInstance === plugin) {
|
2762 |
+
pluginName = name;
|
2763 |
+
}
|
2764 |
+
});
|
2765 |
+
}
|
2766 |
+
|
2767 |
+
return pluginName;
|
2768 |
+
}
|
2769 |
+
|
2770 |
+
/***/ }),
|
2771 |
+
/* 14 */
|
2772 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2773 |
+
|
2774 |
+
"use strict";
|
2775 |
+
|
2776 |
+
|
2777 |
+
exports.__esModule = true;
|
2778 |
+
exports.stringify = stringify;
|
2779 |
+
exports.isDefined = isDefined;
|
2780 |
+
exports.isUndefined = isUndefined;
|
2781 |
+
exports.isEmpty = isEmpty;
|
2782 |
+
exports.isRegExp = isRegExp;
|
2783 |
+
exports._injectProductInfo = _injectProductInfo;
|
2784 |
+
|
2785 |
+
var _moment = _interopRequireDefault(__webpack_require__(67));
|
2786 |
+
|
2787 |
+
var _templateLiteralTag = __webpack_require__(58);
|
2788 |
+
|
2789 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
2790 |
+
|
2791 |
+
function _templateObject() {
|
2792 |
+
var data = _taggedTemplateLiteral(["\n Your license key of Handsontable Pro has expired.\u200C\u200C\u200C\u200C \n Renew your maintenance plan at https://handsontable.com or downgrade to the previous version of the software.\n "]);
|
2793 |
+
|
2794 |
+
_templateObject = function _templateObject() {
|
2795 |
+
return data;
|
2796 |
+
};
|
2797 |
+
|
2798 |
+
return data;
|
2799 |
+
}
|
2800 |
+
|
2801 |
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
2802 |
+
|
2803 |
+
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
2804 |
+
|
2805 |
+
/**
|
2806 |
+
* Converts any value to string.
|
2807 |
+
*
|
2808 |
+
* @param {*} value
|
2809 |
+
* @returns {String}
|
2810 |
+
*/
|
2811 |
+
function stringify(value) {
|
2812 |
+
var result;
|
2813 |
+
|
2814 |
+
switch (_typeof(value)) {
|
2815 |
+
case 'string':
|
2816 |
+
case 'number':
|
2817 |
+
result = "".concat(value);
|
2818 |
+
break;
|
2819 |
+
|
2820 |
+
case 'object':
|
2821 |
+
result = value === null ? '' : value.toString();
|
2822 |
+
break;
|
2823 |
+
|
2824 |
+
case 'undefined':
|
2825 |
+
result = '';
|
2826 |
+
break;
|
2827 |
+
|
2828 |
+
default:
|
2829 |
+
result = value.toString();
|
2830 |
+
break;
|
2831 |
+
}
|
2832 |
+
|
2833 |
+
return result;
|
2834 |
+
}
|
2835 |
+
/**
|
2836 |
+
* Checks if given variable is defined.
|
2837 |
+
*
|
2838 |
+
* @param {*} variable Variable to check.
|
2839 |
+
* @returns {Boolean}
|
2840 |
+
*/
|
2841 |
+
|
2842 |
+
|
2843 |
+
function isDefined(variable) {
|
2844 |
+
return typeof variable !== 'undefined';
|
2845 |
+
}
|
2846 |
+
/**
|
2847 |
+
* Checks if given variable is undefined.
|
2848 |
+
*
|
2849 |
+
* @param {*} variable Variable to check.
|
2850 |
+
* @returns {Boolean}
|
2851 |
+
*/
|
2852 |
+
|
2853 |
+
|
2854 |
+
function isUndefined(variable) {
|
2855 |
+
return typeof variable === 'undefined';
|
2856 |
+
}
|
2857 |
+
/**
|
2858 |
+
* Check if given variable is null, empty string or undefined.
|
2859 |
+
*
|
2860 |
+
* @param {*} variable Variable to check.
|
2861 |
+
* @returns {Boolean}
|
2862 |
+
*/
|
2863 |
+
|
2864 |
+
|
2865 |
+
function isEmpty(variable) {
|
2866 |
+
return variable === null || variable === '' || isUndefined(variable);
|
2867 |
+
}
|
2868 |
+
/**
|
2869 |
+
* Check if given variable is a regular expression.
|
2870 |
+
*
|
2871 |
+
* @param {*} variable Variable to check.
|
2872 |
+
* @returns {Boolean}
|
2873 |
+
*/
|
2874 |
+
|
2875 |
+
|
2876 |
+
function isRegExp(variable) {
|
2877 |
+
return Object.prototype.toString.call(variable) === '[object RegExp]';
|
2878 |
+
}
|
2879 |
+
/* eslint-disable */
|
2880 |
+
|
2881 |
+
|
2882 |
+
var _m = '\x6C\x65\x6E\x67\x74\x68';
|
2883 |
+
|
2884 |
+
var _hd = function _hd(v) {
|
2885 |
+
return parseInt(v, 16);
|
2886 |
+
};
|
2887 |
+
|
2888 |
+
var _pi = function _pi(v) {
|
2889 |
+
return parseInt(v, 10);
|
2890 |
+
};
|
2891 |
+
|
2892 |
+
var _ss = function _ss(v, s, l) {
|
2893 |
+
return v['\x73\x75\x62\x73\x74\x72'](s, l);
|
2894 |
+
};
|
2895 |
+
|
2896 |
+
var _cp = function _cp(v) {
|
2897 |
+
return v['\x63\x6F\x64\x65\x50\x6F\x69\x6E\x74\x41\x74'](0) - 65;
|
2898 |
+
};
|
2899 |
+
|
2900 |
+
var _norm = function _norm(v) {
|
2901 |
+
return "".concat(v).replace(/\-/g, '');
|
2902 |
+
};
|
2903 |
+
|
2904 |
+
var _extractTime = function _extractTime(v) {
|
2905 |
+
return _hd(_ss(_norm(v), _hd('12'), _cp('\x46'))) / (_hd(_ss(_norm(v), _cp('\x42'), ~~![][_m])) || 9);
|
2906 |
+
};
|
2907 |
+
|
2908 |
+
var _ignored = function _ignored() {
|
2909 |
+
return typeof location !== 'undefined' && /^([a-z0-9\-]+\.)?\x68\x61\x6E\x64\x73\x6F\x6E\x74\x61\x62\x6C\x65\x2E\x63\x6F\x6D$/i.test(location.host);
|
2910 |
+
};
|
2911 |
+
|
2912 |
+
var _notified = false;
|
2913 |
+
|
2914 |
+
function _injectProductInfo(key, element) {
|
2915 |
+
key = _norm(key || '');
|
2916 |
+
var warningMessage = '';
|
2917 |
+
var showDomMessage = true;
|
2918 |
+
|
2919 |
+
var schemaValidity = _checkKeySchema(key);
|
2920 |
+
|
2921 |
+
var ignored = _ignored();
|
2922 |
+
|
2923 |
+
var trial = isEmpty(key) || key === 'trial';
|
2924 |
+
|
2925 |
+
if (trial || schemaValidity) {
|
2926 |
+
if (schemaValidity) {
|
2927 |
+
var releaseTime = Math.floor((0, _moment.default)("19/12/2018", 'DD/MM/YYYY').toDate().getTime() / 8.64e7);
|
2928 |
+
|
2929 |
+
var keyGenTime = _extractTime(key);
|
2930 |
+
|
2931 |
+
if (keyGenTime > 45000 || keyGenTime !== parseInt(keyGenTime, 10)) {
|
2932 |
+
warningMessage = 'The license key provided to Handsontable Pro is invalid. Make sure you pass it correctly.';
|
2933 |
+
}
|
2934 |
+
|
2935 |
+
if (!warningMessage) {
|
2936 |
+
if (releaseTime > keyGenTime + 1) {
|
2937 |
+
warningMessage = (0, _templateLiteralTag.toSingleLine)(_templateObject());
|
2938 |
+
}
|
2939 |
+
|
2940 |
+
showDomMessage = releaseTime > keyGenTime + 15;
|
2941 |
+
}
|
2942 |
+
} else {
|
2943 |
+
warningMessage = 'Evaluation version of Handsontable Pro. Not licensed for use in a production environment.';
|
2944 |
+
}
|
2945 |
+
} else {
|
2946 |
+
warningMessage = 'The license key provided to Handsontable Pro is invalid. Make sure you pass it correctly.';
|
2947 |
+
}
|
2948 |
+
|
2949 |
+
if (ignored) {
|
2950 |
+
warningMessage = false;
|
2951 |
+
showDomMessage = false;
|
2952 |
+
}
|
2953 |
+
|
2954 |
+
if (warningMessage && !_notified) {
|
2955 |
+
console[trial ? 'info' : 'warn'](warningMessage);
|
2956 |
+
_notified = true;
|
2957 |
+
}
|
2958 |
+
|
2959 |
+
if (showDomMessage && element.parentNode) {
|
2960 |
+
var message = document.createElement('div');
|
2961 |
+
message.id = 'hot-display-license-info';
|
2962 |
+
message.appendChild(document.createTextNode('Evaluation version of Handsontable Pro.'));
|
2963 |
+
message.appendChild(document.createElement('br'));
|
2964 |
+
message.appendChild(document.createTextNode('Not licensed for production use.'));
|
2965 |
+
element.parentNode.insertBefore(message, element.nextSibling);
|
2966 |
+
}
|
2967 |
+
}
|
2968 |
+
|
2969 |
+
function _checkKeySchema(v) {
|
2970 |
+
var z = [][_m];
|
2971 |
+
var p = z;
|
2972 |
+
|
2973 |
+
if (v[_m] !== _cp('\x5A')) {
|
2974 |
+
return false;
|
2975 |
+
}
|
2976 |
+
|
2977 |
+
for (var c = '', i = '\x42\x3C\x48\x34\x50\x2B'.split(''), j = _cp(i.shift()); j; j = _cp(i.shift() || 'A')) {
|
2978 |
+
--j < ''[_m] ? p = p | (_pi("".concat(_pi(_hd(c) + (_hd(_ss(v, Math.abs(j), 2)) + []).padStart(2, '0')))) % 97 || 2) >> 1 : c = _ss(v, j, !j ? 6 : i[_m] === 1 ? 9 : 8);
|
2979 |
+
}
|
2980 |
+
|
2981 |
+
return p === z;
|
2982 |
+
}
|
2983 |
+
/* eslint-enable */
|
2984 |
+
|
2985 |
+
/***/ }),
|
2986 |
+
/* 15 */
|
2987 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2988 |
+
|
2989 |
+
"use strict";
|
2990 |
+
|
2991 |
+
|
2992 |
+
exports.__esModule = true;
|
2993 |
+
exports.default = void 0;
|
2994 |
+
|
2995 |
+
var _object = __webpack_require__(2);
|
2996 |
+
|
2997 |
+
var _array = __webpack_require__(3);
|
2998 |
+
|
2999 |
+
var _recordTranslator = __webpack_require__(424);
|
3000 |
+
|
3001 |
+
var _plugins = __webpack_require__(13);
|
3002 |
+
|
3003 |
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
3004 |
+
|
3005 |
+
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); } }
|
3006 |
+
|
3007 |
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
3008 |
+
|
3009 |
+
var privatePool = new WeakMap();
|
3010 |
+
var initializedPlugins = null;
|
3011 |
+
/**
|
3012 |
+
* @util
|
3013 |
+
*/
|
3014 |
+
|
3015 |
+
var BasePlugin =
|
3016 |
+
/*#__PURE__*/
|
3017 |
+
function () {
|
3018 |
+
/**
|
3019 |
+
* @param {Object} hotInstance Handsontable instance.
|
3020 |
+
*/
|
3021 |
+
function BasePlugin(hotInstance) {
|
3022 |
+
var _this = this;
|
3023 |
+
|
3024 |
+
_classCallCheck(this, BasePlugin);
|
3025 |
+
|
3026 |
+
/**
|
3027 |
+
* Handsontable instance.
|
3028 |
+
*
|
3029 |
+
* @type {Core}
|
3030 |
+
*/
|
3031 |
+
(0, _object.defineGetter)(this, 'hot', hotInstance, {
|
3032 |
+
writable: false
|
3033 |
+
});
|
3034 |
+
(0, _object.defineGetter)(this, 't', (0, _recordTranslator.getTranslator)(hotInstance), {
|
3035 |
+
writable: false
|
3036 |
+
});
|
3037 |
+
privatePool.set(this, {
|
3038 |
+
hooks: {}
|
3039 |
+
});
|
3040 |
+
initializedPlugins = null;
|
3041 |
+
this.pluginName = null;
|
3042 |
+
this.pluginsInitializedCallbacks = [];
|
3043 |
+
this.isPluginsReady = false;
|
3044 |
+
this.enabled = false;
|
3045 |
+
this.initialized = false;
|
3046 |
+
this.hot.addHook('afterPluginsInitialized', function () {
|
3047 |
+
return _this.onAfterPluginsInitialized();
|
3048 |
+
});
|
3049 |
+
this.hot.addHook('afterUpdateSettings', function (newSettings) {
|
3050 |
+
return _this.onUpdateSettings(newSettings);
|
3051 |
+
});
|
3052 |
+
this.hot.addHook('beforeInit', function () {
|
3053 |
+
return _this.init();
|
3054 |
+
});
|
3055 |
+
}
|
3056 |
+
|
3057 |
+
_createClass(BasePlugin, [{
|
3058 |
+
key: "init",
|
3059 |
+
value: function init() {
|
3060 |
+
this.pluginName = (0, _plugins.getPluginName)(this.hot, this);
|
3061 |
+
|
3062 |
+
if (this.isEnabled && this.isEnabled()) {
|
3063 |
+
this.enablePlugin();
|
3064 |
+
}
|
3065 |
+
|
3066 |
+
if (!initializedPlugins) {
|
3067 |
+
initializedPlugins = (0, _plugins.getRegistredPluginNames)(this.hot);
|
3068 |
+
}
|
3069 |
+
|
3070 |
+
if (initializedPlugins.indexOf(this.pluginName) >= 0) {
|
3071 |
+
initializedPlugins.splice(initializedPlugins.indexOf(this.pluginName), 1);
|
3072 |
+
}
|
3073 |
+
|
3074 |
+
if (!initializedPlugins.length) {
|
3075 |
+
this.hot.runHooks('afterPluginsInitialized');
|
3076 |
+
}
|
3077 |
+
|
3078 |
+
this.initialized = true;
|
3079 |
+
}
|
3080 |
+
/**
|
3081 |
+
* Enable plugin for this Handsontable instance.
|
3082 |
+
*/
|
3083 |
+
|
3084 |
+
}, {
|
3085 |
+
key: "enablePlugin",
|
3086 |
+
value: function enablePlugin() {
|
3087 |
+
this.enabled = true;
|
3088 |
+
}
|
3089 |
+
/**
|
3090 |
+
* Disable plugin for this Handsontable instance.
|
3091 |
+
*/
|
3092 |
+
|
3093 |
+
}, {
|
3094 |
+
key: "disablePlugin",
|
3095 |
+
value: function disablePlugin() {
|
3096 |
+
if (this.eventManager) {
|
3097 |
+
this.eventManager.clear();
|
3098 |
+
}
|
3099 |
+
|
3100 |
+
this.clearHooks();
|
3101 |
+
this.enabled = false;
|
3102 |
+
}
|
3103 |
+
/**
|
3104 |
+
* Add listener to plugin hooks system.
|
3105 |
+
*
|
3106 |
+
* @param {String} name
|
3107 |
+
* @param {Function} callback
|
3108 |
+
*/
|
3109 |
+
|
3110 |
+
}, {
|
3111 |
+
key: "addHook",
|
3112 |
+
value: function addHook(name, callback) {
|
3113 |
+
privatePool.get(this).hooks[name] = privatePool.get(this).hooks[name] || [];
|
3114 |
+
var hooks = privatePool.get(this).hooks[name];
|
3115 |
+
this.hot.addHook(name, callback);
|
3116 |
+
hooks.push(callback);
|
3117 |
+
privatePool.get(this).hooks[name] = hooks;
|
3118 |
+
}
|
3119 |
+
/**
|
3120 |
+
* Remove all hooks listeners by hook name.
|
3121 |
+
*
|
3122 |
+
* @param {String} name
|
3123 |
+
*/
|
3124 |
+
|
3125 |
+
}, {
|
3126 |
+
key: "removeHooks",
|
3127 |
+
value: function removeHooks(name) {
|
3128 |
+
var _this2 = this;
|
3129 |
+
|
3130 |
+
(0, _array.arrayEach)(privatePool.get(this).hooks[name] || [], function (callback) {
|
3131 |
+
_this2.hot.removeHook(name, callback);
|
3132 |
+
});
|
3133 |
+
}
|
3134 |
+
/**
|
3135 |
+
* Clear all hooks.
|
3136 |
+
*/
|
3137 |
+
|
3138 |
+
}, {
|
3139 |
+
key: "clearHooks",
|
3140 |
+
value: function clearHooks() {
|
3141 |
+
var _this3 = this;
|
3142 |
+
|
3143 |
+
var hooks = privatePool.get(this).hooks;
|
3144 |
+
(0, _object.objectEach)(hooks, function (callbacks, name) {
|
3145 |
+
return _this3.removeHooks(name);
|
3146 |
+
});
|
3147 |
+
hooks.length = 0;
|
3148 |
+
}
|
3149 |
+
/**
|
3150 |
+
* Register function which will be immediately called after all plugins initialized.
|
3151 |
+
*
|
3152 |
+
* @param {Function} callback
|
3153 |
+
*/
|
3154 |
+
|
3155 |
+
}, {
|
3156 |
+
key: "callOnPluginsReady",
|
3157 |
+
value: function callOnPluginsReady(callback) {
|
3158 |
+
if (this.isPluginsReady) {
|
3159 |
+
callback();
|
3160 |
+
} else {
|
3161 |
+
this.pluginsInitializedCallbacks.push(callback);
|
3162 |
+
}
|
3163 |
+
}
|
3164 |
+
/**
|
3165 |
+
* On after plugins initialized listener.
|
3166 |
+
*
|
3167 |
+
* @private
|
3168 |
+
*/
|
3169 |
+
|
3170 |
+
}, {
|
3171 |
+
key: "onAfterPluginsInitialized",
|
3172 |
+
value: function onAfterPluginsInitialized() {
|
3173 |
+
(0, _array.arrayEach)(this.pluginsInitializedCallbacks, function (callback) {
|
3174 |
+
return callback();
|
3175 |
+
});
|
3176 |
+
this.pluginsInitializedCallbacks.length = 0;
|
3177 |
+
this.isPluginsReady = true;
|
3178 |
+
}
|
3179 |
+
/**
|
3180 |
+
* On update settings listener.
|
3181 |
+
*
|
3182 |
+
* @private
|
3183 |
+
*/
|
3184 |
+
|
3185 |
+
}, {
|
3186 |
+
key: "onUpdateSettings",
|
3187 |
+
value: function onUpdateSettings() {
|
3188 |
+
if (this.isEnabled) {
|
3189 |
+
if (this.enabled && !this.isEnabled()) {
|
3190 |
+
this.disablePlugin();
|
3191 |
+
}
|
3192 |
+
|
3193 |
+
if (!this.enabled && this.isEnabled()) {
|
3194 |
+
this.enablePlugin();
|
3195 |
+
}
|
3196 |
+
|
3197 |
+
if (this.enabled && this.isEnabled()) {
|
3198 |
+
this.updatePlugin();
|
3199 |
+
}
|
3200 |
+
}
|
3201 |
+
}
|
3202 |
+
/**
|
3203 |
+
* Updates the plugin to use the latest options you have specified.
|
3204 |
+
*
|
3205 |
+
* @private
|
3206 |
+
*/
|
3207 |
+
|
3208 |
+
}, {
|
3209 |
+
key: "updatePlugin",
|
3210 |
+
value: function updatePlugin() {}
|
3211 |
+
/**
|
3212 |
+
* Destroy plugin.
|
3213 |
+
*/
|
3214 |
+
|
3215 |
+
}, {
|
3216 |
+
key: "destroy",
|
3217 |
+
value: function destroy() {
|
3218 |
+
var _this4 = this;
|
3219 |
+
|
3220 |
+
if (this.eventManager) {
|
3221 |
+
this.eventManager.destroy();
|
3222 |
+
}
|
3223 |
+
|
3224 |
+
this.clearHooks();
|
3225 |
+
(0, _object.objectEach)(this, function (value, property) {
|
3226 |
+
if (property !== 'hot' && property !== 't') {
|
3227 |
+
_this4[property] = null;
|
3228 |
+
}
|
3229 |
+
});
|
3230 |
+
delete this.t;
|
3231 |
+
delete this.hot;
|
3232 |
+
}
|
3233 |
+
}]);
|
3234 |
+
|
3235 |
+
return BasePlugin;
|
3236 |
+
}();
|
3237 |
+
|
3238 |
+
var _default = BasePlugin;
|
3239 |
+
exports.default = _default;
|
3240 |
+
|
3241 |
+
/***/ }),
|
3242 |
+
/* 16 */
|
3243 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3244 |
+
|
3245 |
+
// 7.1.15 ToLength
|
3246 |
+
var toInteger = __webpack_require__(33);
|
3247 |
+
var min = Math.min;
|
3248 |
+
module.exports = function (it) {
|
3249 |
+
return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
|
3250 |
+
};
|
3251 |
+
|
3252 |
+
|
3253 |
+
/***/ }),
|
3254 |
+
/* 17 */
|
3255 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3256 |
+
|
3257 |
+
var anObject = __webpack_require__(5);
|
3258 |
+
var IE8_DOM_DEFINE = __webpack_require__(130);
|
3259 |
+
var toPrimitive = __webpack_require__(44);
|
3260 |
+
var dP = Object.defineProperty;
|
3261 |
+
|
3262 |
+
exports.f = __webpack_require__(20) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
|
3263 |
+
anObject(O);
|
3264 |
+
P = toPrimitive(P, true);
|
3265 |
+
anObject(Attributes);
|
3266 |
+
if (IE8_DOM_DEFINE) try {
|
3267 |
+
return dP(O, P, Attributes);
|
3268 |
+
} catch (e) { /* empty */ }
|
3269 |
+
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
|
3270 |
+
if ('value' in Attributes) O[P] = Attributes.value;
|
3271 |
+
return O;
|
3272 |
+
};
|
3273 |
+
|
3274 |
+
|
3275 |
+
/***/ }),
|
3276 |
+
/* 18 */
|
3277 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3278 |
+
|
3279 |
+
"use strict";
|
3280 |
+
|
3281 |
+
|
3282 |
+
exports.__esModule = true;
|
3283 |
+
exports.stopImmediatePropagation = stopImmediatePropagation;
|
3284 |
+
exports.isImmediatePropagationStopped = isImmediatePropagationStopped;
|
3285 |
+
exports.stopPropagation = stopPropagation;
|
3286 |
+
exports.pageX = pageX;
|
3287 |
+
exports.pageY = pageY;
|
3288 |
+
exports.isRightClick = isRightClick;
|
3289 |
+
exports.isLeftClick = isLeftClick;
|
3290 |
+
|
3291 |
+
var _element = __webpack_require__(1);
|
3292 |
+
|
3293 |
+
/**
|
3294 |
+
* Prevent other listeners of the same event from being called.
|
3295 |
+
*
|
3296 |
+
* @param {Event} event
|
3297 |
+
*/
|
3298 |
+
function stopImmediatePropagation(event) {
|
3299 |
+
event.isImmediatePropagationEnabled = false;
|
3300 |
+
event.cancelBubble = true;
|
3301 |
+
}
|
3302 |
+
/**
|
3303 |
+
* Check if event was stopped by `stopImmediatePropagation`.
|
3304 |
+
*
|
3305 |
+
* @param event {Event}
|
3306 |
+
* @returns {Boolean}
|
3307 |
+
*/
|
3308 |
+
|
3309 |
+
|
3310 |
+
function isImmediatePropagationStopped(event) {
|
3311 |
+
return event.isImmediatePropagationEnabled === false;
|
3312 |
+
}
|
3313 |
+
/**
|
3314 |
+
* Prevent further propagation of the current event (prevent bubbling).
|
3315 |
+
*
|
3316 |
+
* @param event {Event}
|
3317 |
+
*/
|
3318 |
+
|
3319 |
+
|
3320 |
+
function stopPropagation(event) {
|
3321 |
+
// ie8
|
3322 |
+
// http://msdn.microsoft.com/en-us/library/ie/ff975462(v=vs.85).aspx
|
3323 |
+
if (typeof event.stopPropagation === 'function') {
|
3324 |
+
event.stopPropagation();
|
3325 |
+
} else {
|
3326 |
+
event.cancelBubble = true;
|
3327 |
+
}
|
3328 |
+
}
|
3329 |
+
/**
|
3330 |
+
* Get horizontal coordinate of the event object relative to the whole document.
|
3331 |
+
*
|
3332 |
+
* @param {Event} event
|
3333 |
+
* @returns {Number}
|
3334 |
+
*/
|
3335 |
+
|
3336 |
+
|
3337 |
+
function pageX(event) {
|
3338 |
+
if (event.pageX) {
|
3339 |
+
return event.pageX;
|
3340 |
+
}
|
3341 |
+
|
3342 |
+
return event.clientX + (0, _element.getWindowScrollLeft)();
|
3343 |
+
}
|
3344 |
+
/**
|
3345 |
+
* Get vertical coordinate of the event object relative to the whole document.
|
3346 |
+
*
|
3347 |
+
* @param {Event} event
|
3348 |
+
* @returns {Number}
|
3349 |
+
*/
|
3350 |
+
|
3351 |
+
|
3352 |
+
function pageY(event) {
|
3353 |
+
if (event.pageY) {
|
3354 |
+
return event.pageY;
|
3355 |
+
}
|
3356 |
+
|
3357 |
+
return event.clientY + (0, _element.getWindowScrollTop)();
|
3358 |
+
}
|
3359 |
+
/**
|
3360 |
+
* Check if provided event was triggered by clicking the right mouse button.
|
3361 |
+
*
|
3362 |
+
* @param {Event} event DOM Event.
|
3363 |
+
* @returns {Boolean}
|
3364 |
+
*/
|
3365 |
+
|
3366 |
+
|
3367 |
+
function isRightClick(event) {
|
3368 |
+
return event.button === 2;
|
3369 |
+
}
|
3370 |
+
/**
|
3371 |
+
* Check if provided event was triggered by clicking the left mouse button.
|
3372 |
+
*
|
3373 |
+
* @param {Event} event DOM Event.
|
3374 |
+
* @returns {Boolean}
|
3375 |
+
*/
|
3376 |
+
|
3377 |
+
|
3378 |
+
function isLeftClick(event) {
|
3379 |
+
return event.button === 0;
|
3380 |
+
}
|
3381 |
+
|
3382 |
+
/***/ }),
|
3383 |
+
/* 19 */
|
3384 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3385 |
+
|
3386 |
+
"use strict";
|
3387 |
+
|
3388 |
+
|
3389 |
+
exports.__esModule = true;
|
3390 |
+
exports.getRenderer = _getItem;
|
3391 |
+
exports.getRegisteredRenderers = exports.getRegisteredRendererNames = exports.hasRenderer = exports.registerRenderer = void 0;
|
3392 |
+
|
3393 |
+
var _staticRegister2 = _interopRequireDefault(__webpack_require__(46));
|
3394 |
+
|
3395 |
+
var _cellDecorator = _interopRequireDefault(__webpack_require__(624));
|
3396 |
+
|
3397 |
+
var _autocompleteRenderer = _interopRequireDefault(__webpack_require__(625));
|
3398 |
+
|
3399 |
+
var _checkboxRenderer = _interopRequireDefault(__webpack_require__(626));
|
3400 |
+
|
3401 |
+
var _htmlRenderer = _interopRequireDefault(__webpack_require__(627));
|
3402 |
+
|
3403 |
+
var _numericRenderer = _interopRequireDefault(__webpack_require__(628));
|
3404 |
+
|
3405 |
+
var _passwordRenderer = _interopRequireDefault(__webpack_require__(629));
|
3406 |
+
|
3407 |
+
var _textRenderer = _interopRequireDefault(__webpack_require__(630));
|
3408 |
+
|
3409 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
3410 |
+
|
3411 |
+
var _staticRegister = (0, _staticRegister2.default)('renderers'),
|
3412 |
+
register = _staticRegister.register,
|
3413 |
+
getItem = _staticRegister.getItem,
|
3414 |
+
hasItem = _staticRegister.hasItem,
|
3415 |
+
getNames = _staticRegister.getNames,
|
3416 |
+
getValues = _staticRegister.getValues;
|
3417 |
+
|
3418 |
+
exports.getRegisteredRenderers = getValues;
|
3419 |
+
exports.getRegisteredRendererNames = getNames;
|
3420 |
+
exports.hasRenderer = hasItem;
|
3421 |
+
exports.registerRenderer = register;
|
3422 |
+
register('base', _cellDecorator.default);
|
3423 |
+
register('autocomplete', _autocompleteRenderer.default);
|
3424 |
+
register('checkbox', _checkboxRenderer.default);
|
3425 |
+
register('html', _htmlRenderer.default);
|
3426 |
+
register('numeric', _numericRenderer.default);
|
3427 |
+
register('password', _passwordRenderer.default);
|
3428 |
+
register('text', _textRenderer.default);
|
3429 |
+
/**
|
3430 |
+
* Retrieve renderer function.
|
3431 |
+
*
|
3432 |
+
* @param {String} name Renderer identification.
|
3433 |
+
* @returns {Function} Returns renderer function.
|
3434 |
+
*/
|
3435 |
+
|
3436 |
+
function _getItem(name) {
|
3437 |
+
if (typeof name === 'function') {
|
3438 |
+
return name;
|
3439 |
+
}
|
3440 |
+
|
3441 |
+
if (!hasItem(name)) {
|
3442 |
+
throw Error("No registered renderer found under \"".concat(name, "\" name"));
|
3443 |
+
}
|
3444 |
+
|
3445 |
+
return getItem(name);
|
3446 |
+
}
|
3447 |
+
|
3448 |
+
/***/ }),
|
3449 |
+
/* 20 */
|
3450 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3451 |
+
|
3452 |
+
// Thank's IE8 for his funny defineProperty
|
3453 |
+
module.exports = !__webpack_require__(4)(function () {
|
3454 |
+
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
3455 |
+
});
|
3456 |
+
|
3457 |
+
|
3458 |
+
/***/ }),
|
3459 |
+
/* 21 */
|
3460 |
+
/***/ (function(module, exports) {
|
3461 |
+
|
3462 |
+
var core = module.exports = { version: '2.6.1' };
|
3463 |
+
if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
|
3464 |
+
|
3465 |
+
|
3466 |
+
/***/ }),
|
3467 |
+
/* 22 */
|
3468 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3469 |
+
|
3470 |
+
"use strict";
|
3471 |
+
|
3472 |
+
|
3473 |
+
exports.__esModule = true;
|
3474 |
+
exports.default = void 0;
|
3475 |
+
|
3476 |
+
var _array = __webpack_require__(3);
|
3477 |
+
|
3478 |
+
var _object = __webpack_require__(2);
|
3479 |
+
|
3480 |
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
3481 |
+
|
3482 |
+
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); } }
|
3483 |
+
|
3484 |
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
3485 |
+
|
3486 |
+
/**
|
3487 |
+
* @description
|
3488 |
+
* Handsontable events are the common interface that function in 2 ways: as __callbacks__ and as __hooks__.
|
3489 |
+
*
|
3490 |
+
* @example
|
3491 |
+
*
|
3492 |
+
* ```js
|
3493 |
+
* // Using events as callbacks:
|
3494 |
+
* ...
|
3495 |
+
* const hot1 = new Handsontable(document.getElementById('example1'), {
|
3496 |
+
* afterChange: function(changes, source) {
|
3497 |
+
* $.ajax({
|
3498 |
+
* url: "save.php',
|
3499 |
+
* data: change
|
3500 |
+
* });
|
3501 |
+
* }
|
3502 |
+
* });
|
3503 |
+
* ...
|
3504 |
+
* ```
|
3505 |
+
*
|
3506 |
+
* ```js
|
3507 |
+
* // Using events as plugin hooks:
|
3508 |
+
* ...
|
3509 |
+
* const hot1 = new Handsontable(document.getElementById('example1'), {
|
3510 |
+
* myPlugin: true
|
3511 |
+
* });
|
3512 |
+
*
|
3513 |
+
* const hot2 = new Handsontable(document.getElementById('example2'), {
|
3514 |
+
* myPlugin: false
|
3515 |
+
* });
|
3516 |
+
*
|
3517 |
+
* // global hook
|
3518 |
+
* Handsontable.hooks.add('afterChange', function() {
|
3519 |
+
* // Fired twice - for hot1 and hot2
|
3520 |
+
* if (this.getSettings().myPlugin) {
|
3521 |
+
* // function body - will only run for hot1
|
3522 |
+
* }
|
3523 |
+
* });
|
3524 |
+
*
|
3525 |
+
* // local hook (has same effect as a callback)
|
3526 |
+
* hot2.addHook('afterChange', function() {
|
3527 |
+
* // function body - will only run in #example2
|
3528 |
+
* });
|
3529 |
+
* ```
|
3530 |
+
* ...
|
3531 |
+
*/
|
3532 |
+
// @TODO: Move plugin description hooks to plugin?
|
3533 |
+
var REGISTERED_HOOKS = [
|
3534 |
+
/**
|
3535 |
+
* Fired after resetting a cell's meta. This happens when the {@link Core#updateSettings} method is called.
|
3536 |
+
*
|
3537 |
+
* @event Hooks#afterCellMetaReset
|
3538 |
+
*/
|
3539 |
+
'afterCellMetaReset',
|
3540 |
+
/**
|
3541 |
+
* Fired after one or more cells has been changed. The changes are triggered in any situation when the
|
3542 |
+
* value is entered using an editor or changed using API (e.q setDataAtCell)
|
3543 |
+
*
|
3544 |
+
* __Note:__ For performance reasons, the `changes` array is null for `"loadData"` source.
|
3545 |
+
*
|
3546 |
+
* @event Hooks#afterChange
|
3547 |
+
* @param {Array} changes 2D array containing information about each of the edited cells `[[row, prop, oldVal, newVal], ...]`.
|
3548 |
+
* @param {String} [source] String that identifies source of hook call ([list of all available sources]{@link https://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
3549 |
+
* @example
|
3550 |
+
* ```js
|
3551 |
+
* new Handsontable(element, {
|
3552 |
+
* afterChange: (changes) => {
|
3553 |
+
* changes.forEach(([row, prop, oldValue, newValue]) => {
|
3554 |
+
* // Some logic...
|
3555 |
+
* });
|
3556 |
+
* }
|
3557 |
+
* })
|
3558 |
+
* ```
|
3559 |
+
*/
|
3560 |
+
'afterChange',
|
3561 |
+
/**
|
3562 |
+
* Fired by {@link ObserveChanges} plugin after detecting changes in the data source. This hook is fired when
|
3563 |
+
* {@link Options#observeChanges} option is enabled.
|
3564 |
+
*
|
3565 |
+
* @event Hooks#afterChangesObserved
|
3566 |
+
*/
|
3567 |
+
'afterChangesObserved',
|
3568 |
+
/**
|
3569 |
+
* Fired by {@link ContextMenu} after setting up the Context Menu's default options. These options are a collection
|
3570 |
+
* which user can select by setting an array of keys or an array of objects in {@link Options#contextMenu} option.
|
3571 |
+
*
|
3572 |
+
* @event Hooks#afterContextMenuDefaultOptions
|
3573 |
+
* @param {Array} predefinedItems An array of objects containing information about the pre-defined Context Menu items.
|
3574 |
+
*/
|
3575 |
+
'afterContextMenuDefaultOptions',
|
3576 |
+
/**
|
3577 |
+
* Fired by {@link ContextMenu} plugin before setting up the Context Menu's items but after filtering these options by
|
3578 |
+
* user (`contextMenu` option). This hook can by helpful to determine if user use specified menu item or to set up
|
3579 |
+
* one of the menu item to by always visible.
|
3580 |
+
*
|
3581 |
+
* @event Hooks#beforeContextMenuSetItems
|
3582 |
+
* @param {Object[]} menuItems An array of objects containing information about to generated Context Menu items.
|
3583 |
+
*/
|
3584 |
+
'beforeContextMenuSetItems',
|
3585 |
+
/**
|
3586 |
+
* Fired by {@link DropdownMenu} plugin after setting up the Dropdown Menu's default options. These options are a
|
3587 |
+
* collection which user can select by setting an array of keys or an array of objects in {@link Options#dropdownMenu}
|
3588 |
+
* option.
|
3589 |
+
*
|
3590 |
+
* @pro
|
3591 |
+
* @event Hooks#afterDropdownMenuDefaultOptions
|
3592 |
+
* @param {Object[]} predefinedItems An array of objects containing information about the pre-defined Context Menu items.
|
3593 |
+
*/
|
3594 |
+
'afterDropdownMenuDefaultOptions',
|
3595 |
+
/**
|
3596 |
+
* Fired by {@link DropdownMenu} plugin before setting up the Dropdown Menu's items but after filtering these options
|
3597 |
+
* by user (`dropdownMenu` option). This hook can by helpful to determine if user use specified menu item or to set
|
3598 |
+
* up one of the menu item to by always visible.
|
3599 |
+
*
|
3600 |
+
* @pro
|
3601 |
+
* @event Hooks#beforeDropdownMenuSetItems
|
3602 |
+
* @param {Object[]} menuItems An array of objects containing information about to generated Dropdown Menu items.
|
3603 |
+
*/
|
3604 |
+
'beforeDropdownMenuSetItems',
|
3605 |
+
/**
|
3606 |
+
* Fired by {@link ContextMenu} plugin after hiding the Context Menu. This hook is fired when {@link Options#contextMenu}
|
3607 |
+
* option is enabled.
|
3608 |
+
*
|
3609 |
+
* @event Hooks#afterContextMenuHide
|
3610 |
+
* @param {Object} context The Context Menu plugin instance.
|
3611 |
+
*/
|
3612 |
+
'afterContextMenuHide',
|
3613 |
+
/**
|
3614 |
+
* Fired by {@link ContextMenu} plugin before opening the Context Menu. This hook is fired when {@link Options#contextMenu}
|
3615 |
+
* option is enabled.
|
3616 |
+
*
|
3617 |
+
* @event Hooks#beforeContextMenuShow
|
3618 |
+
* @param {Object} context The Context Menu instance.
|
3619 |
+
*/
|
3620 |
+
'beforeContextMenuShow',
|
3621 |
+
/**
|
3622 |
+
* Fired by {@link ContextMenu} plugin after opening the Context Menu. This hook is fired when {@link Options#contextMenu}
|
3623 |
+
* option is enabled.
|
3624 |
+
*
|
3625 |
+
* @event Hooks#afterContextMenuShow
|
3626 |
+
* @param {Object} context The Context Menu plugin instance.
|
3627 |
+
*/
|
3628 |
+
'afterContextMenuShow',
|
3629 |
+
/**
|
3630 |
+
* Fired by {@link CopyPaste} plugin after reaching the copy limit while copying data. This hook is fired when
|
3631 |
+
* {@link Options#copyPaste} option is enabled.
|
3632 |
+
*
|
3633 |
+
* @event Hooks#afterCopyLimit
|
3634 |
+
* @param {Number} selectedRows Count of selected copyable rows.
|
3635 |
+
* @param {Number} selectedColumns Count of selected copyable columns.
|
3636 |
+
* @param {Number} copyRowsLimit Current copy rows limit.
|
3637 |
+
* @param {Number} copyColumnsLimit Current copy columns limit.
|
3638 |
+
*/
|
3639 |
+
'afterCopyLimit',
|
3640 |
+
/**
|
3641 |
+
* Fired before created a new column.
|
3642 |
+
*
|
3643 |
+
* @event Hooks#beforeCreateCol
|
3644 |
+
* @param {Number} index Represents the visual index of first newly created column in the data source array.
|
3645 |
+
* @param {Number} amount Number of newly created columns in the data source array.
|
3646 |
+
* @param {String} [source] String that identifies source of hook call
|
3647 |
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
3648 |
+
*/
|
3649 |
+
'beforeCreateCol',
|
3650 |
+
/**
|
3651 |
+
* Fired after created a new column.
|
3652 |
+
*
|
3653 |
+
* @event Hooks#afterCreateCol
|
3654 |
+
* @param {Number} index Represents the visual index of first newly created column in the data source.
|
3655 |
+
* @param {Number} amount Number of newly created columns in the data source.
|
3656 |
+
* @param {String} [source] String that identifies source of hook call
|
3657 |
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
3658 |
+
*/
|
3659 |
+
'afterCreateCol',
|
3660 |
+
/**
|
3661 |
+
* Fired before created a new row.
|
3662 |
+
*
|
3663 |
+
* @event Hooks#beforeCreateRow
|
3664 |
+
* @param {Number} index Represents the visual index of first newly created row in the data source array.
|
3665 |
+
* @param {Number} amount Number of newly created rows in the data source array.
|
3666 |
+
* @param {String} [source] String that identifies source of hook call
|
3667 |
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
3668 |
+
*/
|
3669 |
+
'beforeCreateRow',
|
3670 |
+
/**
|
3671 |
+
* Fired after created a new row.
|
3672 |
+
*
|
3673 |
+
* @event Hooks#afterCreateRow
|
3674 |
+
* @param {Number} index Represents the visual index of first newly created row in the data source array.
|
3675 |
+
* @param {Number} amount Number of newly created rows in the data source array.
|
3676 |
+
* @param {String} [source] String that identifies source of hook call
|
3677 |
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
3678 |
+
*/
|
3679 |
+
'afterCreateRow',
|
3680 |
+
/**
|
3681 |
+
* Fired after the current cell is deselected.
|
3682 |
+
*
|
3683 |
+
* @event Hooks#afterDeselect
|
3684 |
+
*/
|
3685 |
+
'afterDeselect',
|
3686 |
+
/**
|
3687 |
+
* Fired after destroying the Handsontable instance.
|
3688 |
+
*
|
3689 |
+
* @event Hooks#afterDestroy
|
3690 |
+
*/
|
3691 |
+
'afterDestroy',
|
3692 |
+
/**
|
3693 |
+
* General hook which captures `keydown` events attached to the document body. These events are delegated to the
|
3694 |
+
* hooks system and consumed by Core and internal modules (e.g plugins, editors).
|
3695 |
+
*
|
3696 |
+
* @event Hooks#afterDocumentKeyDown
|
3697 |
+
* @param {Event} event A native `keydown` event object.
|
3698 |
+
*/
|
3699 |
+
'afterDocumentKeyDown',
|
3700 |
+
/**
|
3701 |
+
* Fired inside the Walkontable's selection `draw` method. Can be used to add additional class names to cells, depending on the current selection.
|
3702 |
+
*
|
3703 |
+
* @event Hooks#afterDrawSelection
|
3704 |
+
* @param {Number} currentRow Row index of the currently processed cell.
|
3705 |
+
* @param {Number} currentColumn Column index of the currently cell.
|
3706 |
+
* @param {Number[]} cornersOfSelection Array of the current selection in a form of `[startRow, startColumn, endRow, endColumn]`.
|
3707 |
+
* @param {Number|undefined} layerLevel Number indicating which layer of selection is currently processed.
|
3708 |
+
* @since 0.38.1
|
3709 |
+
* @returns {String|undefined} Can return a `String`, which will act as an additional `className` to be added to the currently processed cell.
|
3710 |
+
*/
|
3711 |
+
'afterDrawSelection',
|
3712 |
+
/**
|
3713 |
+
* Fired inside the Walkontable's `refreshSelections` method. Can be used to remove additional class names from all cells in the table.
|
3714 |
+
*
|
3715 |
+
* @event Hooks#beforeRemoveCellClassNames
|
3716 |
+
* @since 0.38.1
|
3717 |
+
* @returns {String[]|undefined} Can return an `Array` of `String`s. Each of these strings will act like class names to be removed from all the cells in the table.
|
3718 |
+
*/
|
3719 |
+
'beforeRemoveCellClassNames',
|
3720 |
+
/**
|
3721 |
+
* Fired after getting the cell settings.
|
3722 |
+
*
|
3723 |
+
* @event Hooks#afterGetCellMeta
|
3724 |
+
* @param {Number} row Visual row index.
|
3725 |
+
* @param {Number} column Visual column index.
|
3726 |
+
* @param {Object} cellProperties Object containing the cell properties.
|
3727 |
+
*/
|
3728 |
+
'afterGetCellMeta',
|
3729 |
+
/**
|
3730 |
+
* Fired after retrieving information about a column header and appending it to the table header.
|
3731 |
+
*
|
3732 |
+
* @event Hooks#afterGetColHeader
|
3733 |
+
* @param {Number} column Visual column index.
|
3734 |
+
* @param {HTMLTableCellElement} TH Header's TH element.
|
3735 |
+
*/
|
3736 |
+
'afterGetColHeader',
|
3737 |
+
/**
|
3738 |
+
* Fired after retrieving information about a row header and appending it to the table header.
|
3739 |
+
*
|
3740 |
+
* @event Hooks#afterGetRowHeader
|
3741 |
+
* @param {Number} row Visual row index.
|
3742 |
+
* @param {HTMLTableCellElement} TH Header's TH element.
|
3743 |
+
*/
|
3744 |
+
'afterGetRowHeader',
|
3745 |
+
/**
|
3746 |
+
* Fired after the Handsontable instance is initiated.
|
3747 |
+
*
|
3748 |
+
* @event Hooks#afterInit
|
3749 |
+
*/
|
3750 |
+
'afterInit',
|
3751 |
+
/**
|
3752 |
+
* Fired after new data is loaded (by `loadData` or `updateSettings` method) into the data source array.
|
3753 |
+
*
|
3754 |
+
* @event Hooks#afterLoadData
|
3755 |
+
* @param {Boolean} initialLoad flag that determines whether the data has been loaded during the initialization.
|
3756 |
+
*/
|
3757 |
+
'afterLoadData',
|
3758 |
+
/**
|
3759 |
+
* Fired after a scroll event, which is identified as a momentum scroll (e.g. on an iPad).
|
3760 |
+
*
|
3761 |
+
* @event Hooks#afterMomentumScroll
|
3762 |
+
*/
|
3763 |
+
'afterMomentumScroll',
|
3764 |
+
/**
|
3765 |
+
* Fired after a `mousedown` event is triggered on the cell corner (the drag handle).
|
3766 |
+
*
|
3767 |
+
* @event Hooks#afterOnCellCornerMouseDown
|
3768 |
+
* @param {Event} event `mousedown` event object.
|
3769 |
+
*/
|
3770 |
+
'afterOnCellCornerMouseDown',
|
3771 |
+
/**
|
3772 |
+
* Fired after a `dblclick` event is triggered on the cell corner (the drag handle).
|
3773 |
+
*
|
3774 |
+
* @event Hooks#afterOnCellCornerDblClick
|
3775 |
+
* @param {Event} event `dblclick` event object.
|
3776 |
+
*/
|
3777 |
+
'afterOnCellCornerDblClick',
|
3778 |
+
/**
|
3779 |
+
* Fired after clicking on a cell or row/column header. In case the row/column header was clicked, the coordinate
|
3780 |
+
* indexes are negative.
|
3781 |
+
*
|
3782 |
+
* For example clicking on the row header of cell (0, 0) results with `afterOnCellMouseDown` called
|
3783 |
+
* with coordinates `{row: 0, col: -1}`.
|
3784 |
+
*
|
3785 |
+
* @event Hooks#afterOnCellMouseDown
|
3786 |
+
* @param {Event} event `mousedown` event object.
|
3787 |
+
* @param {CellCoords} coords Coordinates object containing the visual row and visual column indexes of the clicked cell.
|
3788 |
+
* @param {HTMLTableCellElement} TD Cell's TD (or TH) element.
|
3789 |
+
*/
|
3790 |
+
'afterOnCellMouseDown',
|
3791 |
+
/**
|
3792 |
+
* Fired after clicking on a cell or row/column header. In case the row/column header was clicked, the coordinate
|
3793 |
+
* indexes are negative.
|
3794 |
+
*
|
3795 |
+
* For example clicking on the row header of cell (0, 0) results with `afterOnCellMouseUp` called
|
3796 |
+
* with coordinates `{row: 0, col: -1}`.
|
3797 |
+
*
|
3798 |
+
* @event Hooks#afterOnCellMouseUp
|
3799 |
+
* @param {Event} event `mouseup` event object.
|
3800 |
+
* @param {CellCoords} coords Coordinates object containing the visual row and visual column indexes of the clicked cell.
|
3801 |
+
* @param {HTMLTableCellElement} TD Cell's TD (or TH) element.
|
3802 |
+
*/
|
3803 |
+
'afterOnCellMouseUp',
|
3804 |
+
/**
|
3805 |
+
* Fired after clicking right mouse button on a cell or row/column header.
|
3806 |
+
*
|
3807 |
+
* For example clicking on the row header of cell (0, 0) results with `afterOnCellContextMenu` called
|
3808 |
+
* with coordinates `{row: 0, col: -1}`.
|
3809 |
+
*
|
3810 |
+
* @event Hooks#afterOnCellContextMenu
|
3811 |
+
* @since 4.1.0
|
3812 |
+
* @param {Event} event `contextmenu` event object.
|
3813 |
+
* @param {CellCoords} coords Coordinates object containing the visual row and visual column indexes of the clicked cell.
|
3814 |
+
* @param {HTMLTableCellElement} TD Cell's TD (or TH) element.
|
3815 |
+
*/
|
3816 |
+
'afterOnCellContextMenu',
|
3817 |
+
/**
|
3818 |
+
* Fired after hovering a cell or row/column header with the mouse cursor. In case the row/column header was
|
3819 |
+
* hovered, the index is negative.
|
3820 |
+
*
|
3821 |
+
* For example, hovering over the row header of cell (0, 0) results with `afterOnCellMouseOver` called
|
3822 |
+
* with coords `{row: 0, col: -1}`.
|
3823 |
+
*
|
3824 |
+
* @event Hooks#afterOnCellMouseOver
|
3825 |
+
* @param {Event} event `mouseover` event object.
|
3826 |
+
* @param {CellCoords} coords Hovered cell's visual coordinate object.
|
3827 |
+
* @param {HTMLTableCellElement} TD Cell's TD (or TH) element.
|
3828 |
+
*/
|
3829 |
+
'afterOnCellMouseOver',
|
3830 |
+
/**
|
3831 |
+
* Fired after leaving a cell or row/column header with the mouse cursor.
|
3832 |
+
*
|
3833 |
+
* @event Hooks#afterOnCellMouseOut
|
3834 |
+
* @param {Event} event `mouseout` event object.
|
3835 |
+
* @param {CellCoords} coords Leaved cell's visual coordinate object.
|
3836 |
+
* @param {HTMLTableCellElement} TD Cell's TD (or TH) element.
|
3837 |
+
*/
|
3838 |
+
'afterOnCellMouseOut',
|
3839 |
+
/**
|
3840 |
+
* Fired after one or more columns are removed.
|
3841 |
+
*
|
3842 |
+
* @event Hooks#afterRemoveCol
|
3843 |
+
* @param {Number} index Visual index of starter column.
|
3844 |
+
* @param {Number} amount An amount of removed columns.
|
3845 |
+
* @param {Number[]} physicalColumns An array of physical columns removed from the data source.
|
3846 |
+
* @param {String} [source] String that identifies source of hook call ([list of all available sources]{@link https://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
3847 |
+
*/
|
3848 |
+
'afterRemoveCol',
|
3849 |
+
/**
|
3850 |
+
* Fired after one or more rows are removed.
|
3851 |
+
*
|
3852 |
+
* @event Hooks#afterRemoveRow
|
3853 |
+
* @param {Number} index Visual index of starter row.
|
3854 |
+
* @param {Number} amount An amount of removed rows.
|
3855 |
+
* @param {Number[]} physicalRows An array of physical rows removed from the data source.
|
3856 |
+
* @param {String} [source] String that identifies source of hook call ([list of all available sources]{@link https://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
3857 |
+
*/
|
3858 |
+
'afterRemoveRow',
|
3859 |
+
/**
|
3860 |
+
* Fired after the Handsontable table is rendered.
|
3861 |
+
*
|
3862 |
+
* @event Hooks#afterRender
|
3863 |
+
* @param {Boolean} isForced Is `true` if rendering was triggered by a change of settings or data; or `false` if
|
3864 |
+
* rendering was triggered by scrolling or moving selection.
|
3865 |
+
*/
|
3866 |
+
'afterRender',
|
3867 |
+
/**
|
3868 |
+
* Fired before starting rendering the cell.
|
3869 |
+
*
|
3870 |
+
* @event Hooks#beforeRenderer
|
3871 |
+
* @param {HTMLTableCellElement} TD Currently rendered cell's TD element.
|
3872 |
+
* @param {Number} row Visual row index.
|
3873 |
+
* @param {Number} column Visual column index.
|
3874 |
+
* @param {String|Number} prop Column property name or a column index, if datasource is an array of arrays.
|
3875 |
+
* @param {*} value Value of the rendered cell.
|
3876 |
+
* @param {Object} cellProperties Object containing the cell's properties.
|
3877 |
+
*/
|
3878 |
+
'beforeRenderer',
|
3879 |
+
/**
|
3880 |
+
* Fired after finishing rendering the cell (after the renderer finishes).
|
3881 |
+
*
|
3882 |
+
* @event Hooks#afterRenderer
|
3883 |
+
* @param {HTMLTableCellElement} TD Currently rendered cell's TD element.
|
3884 |
+
* @param {Number} row Visual row index.
|
3885 |
+
* @param {Number} column Visual column index.
|
3886 |
+
* @param {String|Number} prop Column property name or a column index, if datasource is an array of arrays.
|
3887 |
+
* @param {*} value Value of the rendered cell.
|
3888 |
+
* @param {Object} cellProperties Object containing the cell's properties.
|
3889 |
+
*/
|
3890 |
+
'afterRenderer',
|
3891 |
+
/**
|
3892 |
+
* Fired after the horizontal scroll event.
|
3893 |
+
*
|
3894 |
+
* @event Hooks#afterScrollHorizontally
|
3895 |
+
*/
|
3896 |
+
'afterScrollHorizontally',
|
3897 |
+
/**
|
3898 |
+
* Fired after the vertical scroll event.
|
3899 |
+
*
|
3900 |
+
* @event Hooks#afterScrollVertically
|
3901 |
+
*/
|
3902 |
+
'afterScrollVertically',
|
3903 |
+
/**
|
3904 |
+
* Fired after one or more cells are selected (e.g. during mouse move).
|
3905 |
+
*
|
3906 |
+
* @event Hooks#afterSelection
|
3907 |
+
* @param {Number} row Selection start visual row index.
|
3908 |
+
* @param {Number} column Selection start visual column index.
|
3909 |
+
* @param {Number} row2 Selection end visual row index.
|
3910 |
+
* @param {Number} column2 Selection end visual column index.
|
3911 |
+
* @param {Object} preventScrolling Object with `value` property where its value change will be observed.
|
3912 |
+
* @param {Number} selectionLayerLevel The number which indicates what selection layer is currently modified.
|
3913 |
+
* @example
|
3914 |
+
* ```js
|
3915 |
+
* new Handsontable(element, {
|
3916 |
+
* afterSelection: (row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
3917 |
+
* // setting if prevent scrolling after selection
|
3918 |
+
* preventScrolling.value = true;
|
3919 |
+
* }
|
3920 |
+
* })
|
3921 |
+
* ```
|
3922 |
+
*/
|
3923 |
+
'afterSelection',
|
3924 |
+
/**
|
3925 |
+
* Fired after one or more cells are selected.
|
3926 |
+
*
|
3927 |
+
* The `prop` and `prop2` arguments represent the source object property name instead of the column number.
|
3928 |
+
*
|
3929 |
+
* @event Hooks#afterSelectionByProp
|
3930 |
+
* @param {Number} row Selection start visual row index.
|
3931 |
+
* @param {String} prop Selection start data source object property name.
|
3932 |
+
* @param {Number} row2 Selection end visual row index.
|
3933 |
+
* @param {String} prop2 Selection end data source object property name.
|
3934 |
+
* @param {Object} preventScrolling Object with `value` property where its value change will be observed.
|
3935 |
+
* @param {Number} selectionLayerLevel The number which indicates what selection layer is currently modified.
|
3936 |
+
* @example
|
3937 |
+
* ```js
|
3938 |
+
* new Handsontable(element, {
|
3939 |
+
* afterSelectionByProp: (row, column, row2, column2, preventScrolling, selectionLayerLevel) => {
|
3940 |
+
* // setting if prevent scrolling after selection
|
3941 |
+
* preventScrolling.value = true;
|
3942 |
+
* }
|
3943 |
+
* })
|
3944 |
+
* ```
|
3945 |
+
*/
|
3946 |
+
'afterSelectionByProp',
|
3947 |
+
/**
|
3948 |
+
* Fired after one or more cells are selected (e.g. on mouse up).
|
3949 |
+
*
|
3950 |
+
* @event Hooks#afterSelectionEnd
|
3951 |
+
* @param {Number} row Selection start visual row index.
|
3952 |
+
* @param {Number} column Selection start visual column index.
|
3953 |
+
* @param {Number} row2 Selection end visual row index.
|
3954 |
+
* @param {Number} column2 Selection end visual column index.
|
3955 |
+
* @param {Number} selectionLayerLevel The number which indicates what selection layer is currently modified.
|
3956 |
+
*/
|
3957 |
+
'afterSelectionEnd',
|
3958 |
+
/**
|
3959 |
+
* Fired after one or more cells are selected (e.g. on mouse up).
|
3960 |
+
*
|
3961 |
+
* The `prop` and `prop2` arguments represent the source object property name instead of the column number.
|
3962 |
+
*
|
3963 |
+
* @event Hooks#afterSelectionEndByProp
|
3964 |
+
* @param {Number} row Selection start visual row index.
|
3965 |
+
* @param {String} prop Selection start data source object property index.
|
3966 |
+
* @param {Number} row2 Selection end visual row index.
|
3967 |
+
* @param {String} prop2 Selection end data source object property index.
|
3968 |
+
* @param {Number} selectionLayerLevel The number which indicates what selection layer is currently modified.
|
3969 |
+
*/
|
3970 |
+
'afterSelectionEndByProp',
|
3971 |
+
/**
|
3972 |
+
* Fired after cell meta is changed.
|
3973 |
+
*
|
3974 |
+
* @event Hooks#afterSetCellMeta
|
3975 |
+
* @param {Number} row Visual row index.
|
3976 |
+
* @param {Number} column Visual column index.
|
3977 |
+
* @param {String} key The updated meta key.
|
3978 |
+
* @param {*} value The updated meta value.
|
3979 |
+
*/
|
3980 |
+
'afterSetCellMeta',
|
3981 |
+
/**
|
3982 |
+
* Fired after cell meta is removed.
|
3983 |
+
*
|
3984 |
+
* @event Hooks#afterRemoveCellMeta
|
3985 |
+
* @param {Number} row Visual row index.
|
3986 |
+
* @param {Number} column Visual column index.
|
3987 |
+
* @param {String} key The removed meta key.
|
3988 |
+
* @param {*} value Value which was under removed key of cell meta.
|
3989 |
+
*/
|
3990 |
+
'afterRemoveCellMeta',
|
3991 |
+
/**
|
3992 |
+
* Fired after cell data was changed.
|
3993 |
+
*
|
3994 |
+
* @event Hooks#afterSetDataAtCell
|
3995 |
+
* @param {Array} changes An array of changes in format `[[row, column, oldValue, value], ...]`.
|
3996 |
+
* @param {String} [source] String that identifies source of hook call
|
3997 |
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
3998 |
+
*/
|
3999 |
+
'afterSetDataAtCell',
|
4000 |
+
/**
|
4001 |
+
* Fired after cell data was changed.
|
4002 |
+
*
|
4003 |
+
* @event Hooks#afterSetDataAtRowProp
|
4004 |
+
* @param {Array} changes An array of changes in format `[[row, prop, oldValue, value], ...]`.
|
4005 |
+
* @param {String} [source] String that identifies source of hook call
|
4006 |
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
4007 |
+
*/
|
4008 |
+
'afterSetDataAtRowProp',
|
4009 |
+
/**
|
4010 |
+
* Fired after calling the `updateSettings` method.
|
4011 |
+
*
|
4012 |
+
* @event Hooks#afterUpdateSettings
|
4013 |
+
* @param {Object} newSettings New settings object.
|
4014 |
+
*/
|
4015 |
+
'afterUpdateSettings',
|
4016 |
+
/**
|
4017 |
+
* @description
|
4018 |
+
* A plugin hook executed after validator function, only if validator function is defined.
|
4019 |
+
* Validation result is the first parameter. This can be used to determinate if validation passed successfully or not.
|
4020 |
+
*
|
4021 |
+
* __Returning false from the callback will mark the cell as invalid.__
|
4022 |
+
*
|
4023 |
+
* @event Hooks#afterValidate
|
4024 |
+
* @param {Boolean} isValid `true` if valid, `false` if not.
|
4025 |
+
* @param {*} value The value in question.
|
4026 |
+
* @param {Number} row Visual row index.
|
4027 |
+
* @param {String|Number} prop Property name / visual column index.
|
4028 |
+
* @param {String} [source] String that identifies source of hook call
|
4029 |
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
4030 |
+
*/
|
4031 |
+
'afterValidate',
|
4032 |
+
/**
|
4033 |
+
* Fired before successful change of language (when proper language code was set)
|
4034 |
+
*
|
4035 |
+
* @event Hooks#beforeLanguageChange
|
4036 |
+
* @since 0.35.0
|
4037 |
+
* @param {String} languageCode New language code.
|
4038 |
+
*/
|
4039 |
+
'beforeLanguageChange',
|
4040 |
+
/**
|
4041 |
+
* Fired after successful change of language (when proper language code was set).
|
4042 |
+
*
|
4043 |
+
* @event Hooks#afterLanguageChange
|
4044 |
+
* @since 0.35.0
|
4045 |
+
* @param {String} languageCode New language code.
|
4046 |
+
*/
|
4047 |
+
'afterLanguageChange',
|
4048 |
+
/**
|
4049 |
+
* Fired by {@link Autofill} plugin before populating the data in the autofill feature. This hook is fired when
|
4050 |
+
* {@link Options#fillHandle} option is enabled.
|
4051 |
+
*
|
4052 |
+
* @event Hooks#beforeAutofill
|
4053 |
+
* @param {CellCoords} start Object containing information about first filled cell: `{row: 2, col: 0}`.
|
4054 |
+
* @param {CellCoords} end Object containing information about last filled cell: `{row: 4, col: 1}`.
|
4055 |
+
* @param {Array[]} data 2D array containing information about fill pattern: `[["1", "Ted"], ["1", "John"]]`.
|
4056 |
+
*/
|
4057 |
+
'beforeAutofill',
|
4058 |
+
/**
|
4059 |
+
* Fired before aligning the cell contents.
|
4060 |
+
*
|
4061 |
+
* @event Hooks#beforeCellAlignment
|
4062 |
+
* @param {Object} stateBefore An object with class names defining the cell alignment.
|
4063 |
+
* @param {CellRange[]} range An array of CellRange coordinates where the alignment will be applied.
|
4064 |
+
* @param {String} type Type of the alignment - either `horizontal` or `vertical`.
|
4065 |
+
* @param {String} alignmentClass String defining the alignment class added to the cell.
|
4066 |
+
* Possible values:
|
4067 |
+
* * `htLeft`
|
4068 |
+
* * `htCenter`
|
4069 |
+
* * `htRight`
|
4070 |
+
* * `htJustify`
|
4071 |
+
* * `htTop`
|
4072 |
+
* * `htMiddle`
|
4073 |
+
* * `htBottom`
|
4074 |
+
*/
|
4075 |
+
'beforeCellAlignment',
|
4076 |
+
/**
|
4077 |
+
* Fired before one or more cells is changed. Its main purpose is to alter changes silently after input and before
|
4078 |
+
* table rendering.
|
4079 |
+
*
|
4080 |
+
* @event Hooks#beforeChange
|
4081 |
+
* @param {Array[]} changes 2D array containing information about each of the edited cells.
|
4082 |
+
* @param {String} [source] String that identifies source of hook call
|
4083 |
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
4084 |
+
* @example
|
4085 |
+
* ```js
|
4086 |
+
* // To disregard a single change, set changes[i] to null or remove it from array using changes.splice(i, 1).
|
4087 |
+
* new Handsontable(element, {
|
4088 |
+
* beforeChange: (changes, source) => {
|
4089 |
+
* // [[row, prop, oldVal, newVal], ...]
|
4090 |
+
* changes[0] = null;
|
4091 |
+
* }
|
4092 |
+
* });
|
4093 |
+
* // To alter a single change, overwrite the desired value to changes[i][3].
|
4094 |
+
* new Handsontable(element, {
|
4095 |
+
* beforeChange: (changes, source) => {
|
4096 |
+
* // [[row, prop, oldVal, newVal], ...]
|
4097 |
+
* changes[0][3] = 10;
|
4098 |
+
* }
|
4099 |
+
* });
|
4100 |
+
* // To cancel all edit, return false from the callback or set array length to 0 (changes.length = 0).
|
4101 |
+
* new Handsontable(element, {
|
4102 |
+
* beforeChange: (changes, source) => {
|
4103 |
+
* // [[row, prop, oldVal, newVal], ...]
|
4104 |
+
* return false;
|
4105 |
+
* }
|
4106 |
+
* });
|
4107 |
+
* ```
|
4108 |
+
*/
|
4109 |
+
'beforeChange',
|
4110 |
+
/**
|
4111 |
+
* Fired right before rendering the changes.
|
4112 |
+
*
|
4113 |
+
* @event Hooks#beforeChangeRender
|
4114 |
+
* @param {Array[]} changes Array in form of `[row, prop, oldValue, newValue]`.
|
4115 |
+
* @param {String} [source] String that identifies source of hook call
|
4116 |
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
4117 |
+
*/
|
4118 |
+
'beforeChangeRender',
|
4119 |
+
/**
|
4120 |
+
* Fired before drawing the borders.
|
4121 |
+
*
|
4122 |
+
* @event Hooks#beforeDrawBorders
|
4123 |
+
* @param {Array} corners Array specifying the current selection borders.
|
4124 |
+
* @param {String} borderClassName Specifies the border class name.
|
4125 |
+
*/
|
4126 |
+
'beforeDrawBorders',
|
4127 |
+
/**
|
4128 |
+
* Fired before getting cell settings.
|
4129 |
+
*
|
4130 |
+
* @event Hooks#beforeGetCellMeta
|
4131 |
+
* @param {Number} row Visual row index.
|
4132 |
+
* @param {Number} column Visual column index.
|
4133 |
+
* @param {Object} cellProperties Object containing the cell's properties.
|
4134 |
+
*/
|
4135 |
+
'beforeGetCellMeta',
|
4136 |
+
/**
|
4137 |
+
* Fired before cell meta is removed.
|
4138 |
+
*
|
4139 |
+
* @event Hooks#beforeRemoveCellMeta
|
4140 |
+
* @param {Number} row Visual row index.
|
4141 |
+
* @param {Number} column Visual column index.
|
4142 |
+
* @param {String} key The removed meta key.
|
4143 |
+
* @param {*} value Value which is under removed key of cell meta.
|
4144 |
+
*/
|
4145 |
+
'beforeRemoveCellMeta',
|
4146 |
+
/**
|
4147 |
+
* Fired before the Handsontable instance is initiated.
|
4148 |
+
*
|
4149 |
+
* @event Hooks#beforeInit
|
4150 |
+
*/
|
4151 |
+
'beforeInit',
|
4152 |
+
/**
|
4153 |
+
* Fired before the Walkontable instance is initiated.
|
4154 |
+
*
|
4155 |
+
* @event Hooks#beforeInitWalkontable
|
4156 |
+
* @param {Object} walkontableConfig Walkontable configuration object.
|
4157 |
+
*/
|
4158 |
+
'beforeInitWalkontable',
|
4159 |
+
/**
|
4160 |
+
* Fired before keydown event is handled. It can be used to overwrite default key bindings.
|
4161 |
+
*
|
4162 |
+
* __Note__: To prevent default behavior you need to call `event.stopImmediatePropagation()` in your `beforeKeyDown`
|
4163 |
+
* handler.
|
4164 |
+
*
|
4165 |
+
* @event Hooks#beforeKeyDown
|
4166 |
+
* @param {Event} event Original DOM event.
|
4167 |
+
*/
|
4168 |
+
'beforeKeyDown',
|
4169 |
+
/**
|
4170 |
+
* Fired after the user clicked a cell, but before all the calculations related with it.
|
4171 |
+
*
|
4172 |
+
* @event Hooks#beforeOnCellMouseDown
|
4173 |
+
* @param {Event} event The `mousedown` event object.
|
4174 |
+
* @param {CellCoords} coords Cell coords object containing the visual coordinates of the clicked cell.
|
4175 |
+
* @param {HTMLTableCellElement} TD TD element.
|
4176 |
+
* @param {Object} controller An object with keys `row`, `column` and `cells` which contains boolean values. This
|
4177 |
+
* object allows or disallows changing the selection for the particular axies.
|
4178 |
+
*/
|
4179 |
+
'beforeOnCellMouseDown',
|
4180 |
+
/**
|
4181 |
+
* Fired after the user clicked a cell.
|
4182 |
+
*
|
4183 |
+
* @event Hooks#beforeOnCellMouseUp
|
4184 |
+
* @param {Event} event The `mouseup` event object.
|
4185 |
+
* @param {CellCoords} coords Cell coords object containing the visual coordinates of the clicked cell.
|
4186 |
+
* @param {HTMLTableCellElement} TD TD element.
|
4187 |
+
* @param {Object} controller An object with keys `row`, `column` and `cells` which contains boolean values. This
|
4188 |
+
* object allows or disallows changing the selection for the particular axies.
|
4189 |
+
*/
|
4190 |
+
'beforeOnCellMouseUp',
|
4191 |
+
/**
|
4192 |
+
* Fired after the user clicked a cell, but before all the calculations related with it.
|
4193 |
+
*
|
4194 |
+
* @event Hooks#beforeOnCellContextMenu
|
4195 |
+
* @since 4.1.0
|
4196 |
+
* @param {Event} event The `contextmenu` event object.
|
4197 |
+
* @param {CellCoords} coords Cell coords object containing the visual coordinates of the clicked cell.
|
4198 |
+
* @param {HTMLTableCellElement} TD TD element.
|
4199 |
+
*/
|
4200 |
+
'beforeOnCellContextMenu',
|
4201 |
+
/**
|
4202 |
+
* Fired after the user moved cursor over a cell, but before all the calculations related with it.
|
4203 |
+
*
|
4204 |
+
* @event Hooks#beforeOnCellMouseOver
|
4205 |
+
* @param {Event} event The `mouseover` event object.
|
4206 |
+
* @param {CellCoords} coords CellCoords object containing the visual coordinates of the clicked cell.
|
4207 |
+
* @param {HTMLTableCellElement} TD TD element.
|
4208 |
+
* @param {Object} controller An object with keys `row`, `column` and `cells` which contains boolean values. This
|
4209 |
+
* object allows or disallows changing the selection for the particular axies.
|
4210 |
+
*/
|
4211 |
+
'beforeOnCellMouseOver',
|
4212 |
+
/**
|
4213 |
+
* Fired after the user moved cursor out from a cell, but before all the calculations related with it.
|
4214 |
+
*
|
4215 |
+
* @event Hooks#beforeOnCellMouseOut
|
4216 |
+
* @param {Event} event The `mouseout` event object.
|
4217 |
+
* @param {CellCoords} coords CellCoords object containing the visual coordinates of the leaved cell.
|
4218 |
+
* @param {HTMLTableCellElement} TD TD element.
|
4219 |
+
*/
|
4220 |
+
'beforeOnCellMouseOut',
|
4221 |
+
/**
|
4222 |
+
* Fired before one or more columns are about to be removed.
|
4223 |
+
*
|
4224 |
+
* @event Hooks#beforeRemoveCol
|
4225 |
+
* @param {Number} index Visual index of starter column.
|
4226 |
+
* @param {Number} amount Amount of columns to be removed.
|
4227 |
+
* @param {Number[]} physicalColumns An array of physical columns removed from the data source.
|
4228 |
+
* @param {String} [source] String that identifies source of hook call ([list of all available sources]{@link https://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
4229 |
+
*/
|
4230 |
+
'beforeRemoveCol',
|
4231 |
+
/**
|
4232 |
+
* Fired when one or more rows are about to be removed.
|
4233 |
+
*
|
4234 |
+
* @event Hooks#beforeRemoveRow
|
4235 |
+
* @param {Number} index Visual index of starter column.
|
4236 |
+
* @param {Number} amount Amount of columns to be removed.
|
4237 |
+
* @param {Number[]} physicalRows An array of physical rows removed from the data source.
|
4238 |
+
* @param {String} [source] String that identifies source of hook call ([list of all available sources]{@link https://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
4239 |
+
*/
|
4240 |
+
'beforeRemoveRow',
|
4241 |
+
/**
|
4242 |
+
* Fired before the Handsontable table is rendered.
|
4243 |
+
*
|
4244 |
+
* @event Hooks#beforeRender
|
4245 |
+
* @param {Boolean} isForced If `true` rendering was triggered by a change of settings or data; or `false` if
|
4246 |
+
* rendering was triggered by scrolling or moving selection.
|
4247 |
+
*/
|
4248 |
+
'beforeRender',
|
4249 |
+
/**
|
4250 |
+
* Fired before setting range is started but not finished yet.
|
4251 |
+
*
|
4252 |
+
* @event Hooks#beforeSetRangeStartOnly
|
4253 |
+
* @param {CellCoords} coords CellCoords instance.
|
4254 |
+
*/
|
4255 |
+
'beforeSetRangeStartOnly',
|
4256 |
+
/**
|
4257 |
+
* Fired before setting range is started.
|
4258 |
+
*
|
4259 |
+
* @event Hooks#beforeSetRangeStart
|
4260 |
+
* @param {CellCoords} coords CellCoords instance.
|
4261 |
+
*/
|
4262 |
+
'beforeSetRangeStart',
|
4263 |
+
/**
|
4264 |
+
* Fired before setting range is ended.
|
4265 |
+
*
|
4266 |
+
* @event Hooks#beforeSetRangeEnd
|
4267 |
+
* @param {CellCoords} coords CellCoords instance.
|
4268 |
+
*/
|
4269 |
+
'beforeSetRangeEnd',
|
4270 |
+
/**
|
4271 |
+
* Fired before the logic of handling a touch scroll, when user started scrolling on a touch-enabled device.
|
4272 |
+
*
|
4273 |
+
* @event Hooks#beforeTouchScroll
|
4274 |
+
*/
|
4275 |
+
'beforeTouchScroll',
|
4276 |
+
/**
|
4277 |
+
* Fired before cell validation, only if validator function is defined. This can be used to manipulate the value
|
4278 |
+
* of changed cell before it is applied to the validator function.
|
4279 |
+
*
|
4280 |
+
* __Note:__ this will not affect values of changes. This will change value *ONLY* for validation
|
4281 |
+
*
|
4282 |
+
* @event Hooks#beforeValidate
|
4283 |
+
* @param {*} value Value of the cell.
|
4284 |
+
* @param {Number} row Visual row index.
|
4285 |
+
* @param {String|Number} prop Property name / column index.
|
4286 |
+
* @param {String} [source] String that identifies source of hook call
|
4287 |
+
* ([list of all available sources]{@link http://docs.handsontable.com/tutorial-using-callbacks.html#page-source-definition}).
|
4288 |
+
*/
|
4289 |
+
'beforeValidate',
|
4290 |
+
/**
|
4291 |
+
* Fired before cell value is rendered into the DOM (through renderer function). This can be used to manipulate the
|
4292 |
+
* value which is passed to the renderer without modifying the renderer itself.
|
4293 |
+
*
|
4294 |
+
* @event Hooks#beforeValueRender
|
4295 |
+
* @param {*} value Cell value to render.
|
4296 |
+
* @param {Object} cellProperties An object containing the cell properties.
|
4297 |
+
*/
|
4298 |
+
'beforeValueRender',
|
4299 |
+
/**
|
4300 |
+
* Fired after Handsontable instance is constructed (using `new` operator).
|
4301 |
+
*
|
4302 |
+
* @event Hooks#construct
|
4303 |
+
*/
|
4304 |
+
'construct',
|
4305 |
+
/**
|
4306 |
+
* Fired after Handsontable instance is initiated but before table is rendered.
|
4307 |
+
*
|
4308 |
+
* @event Hooks#init
|
4309 |
+
*/
|
4310 |
+
'init',
|
4311 |
+
/**
|
4312 |
+
* Fired when a column index is about to be modified by a callback function.
|
4313 |
+
*
|
4314 |
+
* @event Hooks#modifyCol
|
4315 |
+
* @param {Number} column Visual column index.
|
4316 |
+
*/
|
4317 |
+
'modifyCol',
|
4318 |
+
/**
|
4319 |
+
* Fired when a column index is about to be de-modified by a callback function.
|
4320 |
+
*
|
4321 |
+
* @event Hooks#unmodifyCol
|
4322 |
+
* @param {Number} column Physical column index.
|
4323 |
+
*/
|
4324 |
+
'unmodifyCol',
|
4325 |
+
/**
|
4326 |
+
* Fired when a physical row index is about to be de-modified by a callback function.
|
4327 |
+
*
|
4328 |
+
* @event Hooks#unmodifyRow
|
4329 |
+
* @param {Number} row Physical row index.
|
4330 |
+
*/
|
4331 |
+
'unmodifyRow',
|
4332 |
+
/**
|
4333 |
+
* Fired when a column header index is about to be modified by a callback function.
|
4334 |
+
*
|
4335 |
+
* @event Hooks#modifyColHeader
|
4336 |
+
* @param {Number} column Visual column header index.
|
4337 |
+
*/
|
4338 |
+
'modifyColHeader',
|
4339 |
+
/**
|
4340 |
+
* Fired when a column width is about to be modified by a callback function.
|
4341 |
+
*
|
4342 |
+
* @event Hooks#modifyColWidth
|
4343 |
+
* @param {Number} width Current column width.
|
4344 |
+
* @param {Number} column Visual column index.
|
4345 |
+
*/
|
4346 |
+
'modifyColWidth',
|
4347 |
+
/**
|
4348 |
+
* Fired when a row index is about to be modified by a callback function.
|
4349 |
+
*
|
4350 |
+
* @event Hooks#modifyRow
|
4351 |
+
* @param {Number} row Visual row index.
|
4352 |
+
*/
|
4353 |
+
'modifyRow',
|
4354 |
+
/**
|
4355 |
+
* Fired when a row header index is about to be modified by a callback function.
|
4356 |
+
*
|
4357 |
+
* @event Hooks#modifyRowHeader
|
4358 |
+
* @param {Number} row Visual row header index.
|
4359 |
+
*/
|
4360 |
+
'modifyRowHeader',
|
4361 |
+
/**
|
4362 |
+
* Fired when a row height is about to be modified by a callback function.
|
4363 |
+
*
|
4364 |
+
* @event Hooks#modifyRowHeight
|
4365 |
+
* @param {Number} height Row height.
|
4366 |
+
* @param {Number} row Visual row index.
|
4367 |
+
*/
|
4368 |
+
'modifyRowHeight',
|
4369 |
+
/**
|
4370 |
+
* Fired when a data was retrieved or modified.
|
4371 |
+
*
|
4372 |
+
* @event Hooks#modifyData
|
4373 |
+
* @param {Number} row Row height.
|
4374 |
+
* @param {Number} column Column index.
|
4375 |
+
* @param {Object} valueHolder Object which contains original value which can be modified by overwriting `.value` property.
|
4376 |
+
* @param {String} ioMode String which indicates for what operation hook is fired (`get` or `set`).
|
4377 |
+
*/
|
4378 |
+
'modifyData',
|
4379 |
+
/**
|
4380 |
+
* Fired when a data was retrieved or modified.
|
4381 |
+
*
|
4382 |
+
* @event Hooks#modifyRowData
|
4383 |
+
* @param {Number} row Physical row index.
|
4384 |
+
*/
|
4385 |
+
'modifyRowData',
|
4386 |
+
/**
|
4387 |
+
* Used to modify the cell coordinates when using the `getCell` method.
|
4388 |
+
*
|
4389 |
+
* @event Hooks#modifyGetCellCoords
|
4390 |
+
* @since 0.36.0
|
4391 |
+
* @param {Number} row Visual row index.
|
4392 |
+
* @param {Number} column Visual column index.
|
4393 |
+
* @param {Boolean} topmost If set to `true`, it returns the TD element from the topmost overlay. For example,
|
4394 |
+
* if the wanted cell is in the range of fixed rows, it will return a TD element
|
4395 |
+
* from the `top` overlay.
|
4396 |
+
*/
|
4397 |
+
'modifyGetCellCoords',
|
4398 |
+
/**
|
4399 |
+
* Fired by {@link PersistentState} plugin, after loading value, saved under given key, from browser local storage. This hook is fired when
|
4400 |
+
* {@link Options#persistentState} option is enabled.
|
4401 |
+
*
|
4402 |
+
* @event Hooks#persistentStateLoad
|
4403 |
+
* @param {String} key Key.
|
4404 |
+
* @param {Object} valuePlaceholder Object containing the loaded value under `valuePlaceholder.value` (if no value have been saved, `value` key will be undefined).
|
4405 |
+
*/
|
4406 |
+
'persistentStateLoad',
|
4407 |
+
/**
|
4408 |
+
* Fired by {@link PersistentState} plugin after resetting data from local storage. If no key is given, all values associated with table will be cleared.
|
4409 |
+
* This hook is fired when {@link Options#persistentState} option is enabled.
|
4410 |
+
*
|
4411 |
+
* @event Hooks#persistentStateReset
|
4412 |
+
* @param {String} [key] Key.
|
4413 |
+
*/
|
4414 |
+
'persistentStateReset',
|
4415 |
+
/**
|
4416 |
+
* Fired by {@link PersistentState} plugin, after saving value under given key in browser local storage. This hook is fired when
|
4417 |
+
* {@link Options#persistentState} option is enabled.
|
4418 |
+
*
|
4419 |
+
* @event Hooks#persistentStateSave
|
4420 |
+
* @param {String} key Key.
|
4421 |
+
* @param {Mixed} value Value to save.
|
4422 |
+
*/
|
4423 |
+
'persistentStateSave',
|
4424 |
+
/**
|
4425 |
+
* Fired by {@link ColumnSorting} and {@link MultiColumnSorting} plugins before sorting the column. If you return `false` value inside callback for hook, then sorting
|
4426 |
+
* will be not applied by the Handsontable (useful for server-side sorting).
|
4427 |
+
*
|
4428 |
+
* This hook is fired when {@link Options#columnSorting} or {@link Options#multiColumnSorting} option is enabled.
|
4429 |
+
*
|
4430 |
+
* @event Hooks#beforeColumnSort
|
4431 |
+
* @param {Array} currentSortConfig Current sort configuration (for all sorted columns).
|
4432 |
+
* @param {Array} destinationSortConfigs Destination sort configuration (for all sorted columns).
|
4433 |
+
*/
|
4434 |
+
'beforeColumnSort',
|
4435 |
+
/**
|
4436 |
+
* Fired by {@link ColumnSorting} and {@link MultiColumnSorting} plugins after sorting the column. This hook is fired when {@link Options#columnSorting}
|
4437 |
+
* or {@link Options#multiColumnSorting} option is enabled.
|
4438 |
+
*
|
4439 |
+
* @event Hooks#afterColumnSort
|
4440 |
+
* @param {Array} currentSortConfig Current sort configuration (for all sorted columns).
|
4441 |
+
* @param {Array} destinationSortConfigs Destination sort configuration (for all sorted columns).
|
4442 |
+
*/
|
4443 |
+
'afterColumnSort',
|
4444 |
+
/**
|
4445 |
+
* Fired by {@link Autofill} plugin after setting range of autofill. This hook is fired when {@link Options#fillHandle}
|
4446 |
+
* option is enabled.
|
4447 |
+
*
|
4448 |
+
* @event Hooks#modifyAutofillRange
|
4449 |
+
* @param {Array} startArea Array of visual coordinates of the starting point for the drag-down operation (`[startRow, startColumn, endRow, endColumn]`).
|
4450 |
+
* @param {Array} entireArea Array of visual coordinates of the entire area of the drag-down operation (`[startRow, startColumn, endRow, endColumn]`).
|
4451 |
+
*/
|
4452 |
+
'modifyAutofillRange',
|
4453 |
+
/**
|
4454 |
+
* Fired to allow modifying the copyable range with a callback function.
|
4455 |
+
*
|
4456 |
+
* @event Hooks#modifyCopyableRange
|
4457 |
+
* @param {Array[]} copyableRanges Array of objects defining copyable cells.
|
4458 |
+
*/
|
4459 |
+
'modifyCopyableRange',
|
4460 |
+
/**
|
4461 |
+
* Fired by {@link CopyPaste} plugin before copying the values into clipboard and before clearing values of
|
4462 |
+
* the selected cells. This hook is fired when {@link Options#copyPaste} option is enabled.
|
4463 |
+
*
|
4464 |
+
* @event Hooks#beforeCut
|
4465 |
+
* @param {Array[]} data An array of arrays which contains data to cut.
|
4466 |
+
* @param {Object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
|
4467 |
+
* which will be cut out.
|
4468 |
+
* @returns {*} If returns `false` then operation of the cutting out is canceled.
|
4469 |
+
* @example
|
4470 |
+
* ```js
|
4471 |
+
* // To disregard a single row, remove it from the array using data.splice(i, 1).
|
4472 |
+
* new Handsontable(element, {
|
4473 |
+
* beforeCut: function(data, coords) {
|
4474 |
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
4475 |
+
* data.splice(0, 1);
|
4476 |
+
* // data -> [[4, 5, 6]]
|
4477 |
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
4478 |
+
* }
|
4479 |
+
* });
|
4480 |
+
* // To cancel a cutting action, just return `false`.
|
4481 |
+
* new Handsontable(element, {
|
4482 |
+
* beforeCut: function(data, coords) {
|
4483 |
+
* return false;
|
4484 |
+
* }
|
4485 |
+
* });
|
4486 |
+
* ```
|
4487 |
+
*/
|
4488 |
+
'beforeCut',
|
4489 |
+
/**
|
4490 |
+
* Fired by {@link CopyPaste} plugin after data was cut out from the table. This hook is fired when
|
4491 |
+
* {@link Options#copyPaste} option is enabled.
|
4492 |
+
*
|
4493 |
+
* @event Hooks#afterCut
|
4494 |
+
* @param {Array[]} data An array of arrays which contains the cutted out data.
|
4495 |
+
* @param {Object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
|
4496 |
+
* which was cut out.
|
4497 |
+
*/
|
4498 |
+
'afterCut',
|
4499 |
+
/**
|
4500 |
+
* Fired before values are copied into clipboard.
|
4501 |
+
*
|
4502 |
+
* @event Hooks#beforeCopy
|
4503 |
+
* @param {Array[]} data An array of arrays which contains data to copied.
|
4504 |
+
* @param {Object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
|
4505 |
+
* which will copied.
|
4506 |
+
* @returns {*} If returns `false` then copying is canceled.
|
4507 |
+
*
|
4508 |
+
* @example
|
4509 |
+
* ```js
|
4510 |
+
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
4511 |
+
* ...
|
4512 |
+
* new Handsontable(document.getElementById('example'), {
|
4513 |
+
* beforeCopy: (data, coords) => {
|
4514 |
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
4515 |
+
* data.splice(0, 1);
|
4516 |
+
* // data -> [[4, 5, 6]]
|
4517 |
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
4518 |
+
* }
|
4519 |
+
* });
|
4520 |
+
* ...
|
4521 |
+
*
|
4522 |
+
* // To cancel copying, return false from the callback.
|
4523 |
+
* ...
|
4524 |
+
* new Handsontable(document.getElementById('example'), {
|
4525 |
+
* beforeCopy: (data, coords) => {
|
4526 |
+
* return false;
|
4527 |
+
* }
|
4528 |
+
* });
|
4529 |
+
* ...
|
4530 |
+
* ```
|
4531 |
+
*/
|
4532 |
+
'beforeCopy',
|
4533 |
+
/**
|
4534 |
+
* Fired by {@link CopyPaste} plugin after data are pasted into table. This hook is fired when {@link Options#copyPaste}
|
4535 |
+
* option is enabled.
|
4536 |
+
*
|
4537 |
+
* @event Hooks#afterCopy
|
4538 |
+
* @param {Array[]} data An array of arrays which contains the copied data.
|
4539 |
+
* @param {Object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
|
4540 |
+
* which was copied.
|
4541 |
+
*/
|
4542 |
+
'afterCopy',
|
4543 |
+
/**
|
4544 |
+
* Fired by {@link CopyPaste} plugin before values are pasted into table. This hook is fired when
|
4545 |
+
* {@link Options#copyPaste} option is enabled.
|
4546 |
+
*
|
4547 |
+
* @event Hooks#beforePaste
|
4548 |
+
* @param {Array[]} data An array of arrays which contains data to paste.
|
4549 |
+
* @param {Object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
|
4550 |
+
* that correspond to the previously selected area.
|
4551 |
+
* @returns {*} If returns `false` then pasting is canceled.
|
4552 |
+
* @example
|
4553 |
+
* ```js
|
4554 |
+
* // To disregard a single row, remove it from array using data.splice(i, 1).
|
4555 |
+
* new Handsontable(example, {
|
4556 |
+
* beforePaste: (data, coords) => {
|
4557 |
+
* // data -> [[1, 2, 3], [4, 5, 6]]
|
4558 |
+
* data.splice(0, 1);
|
4559 |
+
* // data -> [[4, 5, 6]]
|
4560 |
+
* // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
|
4561 |
+
* }
|
4562 |
+
* });
|
4563 |
+
* // To cancel pasting, return false from the callback.
|
4564 |
+
* new Handsontable(example, {
|
4565 |
+
* beforePaste: (data, coords) => {
|
4566 |
+
* return false;
|
4567 |
+
* }
|
4568 |
+
* });
|
4569 |
+
* ```
|
4570 |
+
*/
|
4571 |
+
'beforePaste',
|
4572 |
+
/**
|
4573 |
+
* Fired by {@link CopyPaste} plugin after values are pasted into table. This hook is fired when
|
4574 |
+
* {@link Options#copyPaste} option is enabled.
|
4575 |
+
*
|
4576 |
+
* @event Hooks#afterPaste
|
4577 |
+
* @param {Array[]} data An array of arrays which contains the pasted data.
|
4578 |
+
* @param {Object[]} coords An array of objects with ranges of the visual indexes (`startRow`, `startCol`, `endRow`, `endCol`)
|
4579 |
+
* that correspond to the previously selected area.
|
4580 |
+
*/
|
4581 |
+
'afterPaste',
|
4582 |
+
/**
|
4583 |
+
* Fired by {@link ManualColumnMove} plugin before change order of the visual indexes. This hook is fired when
|
4584 |
+
* {@link Options#manualColumnMove} option is enabled.
|
4585 |
+
*
|
4586 |
+
* @event Hooks#beforeColumnMove
|
4587 |
+
* @param {Number[]} columns Array of visual column indexes to be moved.
|
4588 |
+
* @param {Number} target Visual column index being a target for moved columns.
|
4589 |
+
*/
|
4590 |
+
'beforeColumnMove',
|
4591 |
+
/**
|
4592 |
+
* Fired by {@link ManualColumnMove} plugin after changing order of the visual indexes. This hook is fired when
|
4593 |
+
* {@link Options#manualColumnMove} option is enabled.
|
4594 |
+
*
|
4595 |
+
* @event Hooks#afterColumnMove
|
4596 |
+
* @param {Number[]} columns Array of visual column indexes that were moved.
|
4597 |
+
* @param {Number} target Visual column index being a target for moved columns.
|
4598 |
+
*/
|
4599 |
+
'afterColumnMove',
|
4600 |
+
/**
|
4601 |
+
* Fired by {@link ManualRowMove} plugin before change order of the visual indexes. This hook is fired when
|
4602 |
+
* {@link Options#manualRowMove} option is enabled.
|
4603 |
+
*
|
4604 |
+
* @event Hooks#beforeRowMove
|
4605 |
+
* @param {Number[]} rows An array of visual row indexes to be moved.
|
4606 |
+
* @param {Number} target Visual row index being a target for moved rows.
|
4607 |
+
*/
|
4608 |
+
'beforeRowMove',
|
4609 |
+
/**
|
4610 |
+
* Fired by {@link ManualRowMove} plugin after change order of the visual indexes. This hook is fired when
|
4611 |
+
* {@link Options#manualRowMove} option is enabled.
|
4612 |
+
*
|
4613 |
+
* @event Hooks#afterRowMove
|
4614 |
+
* @param {Number[]} rows An array of visual row indexes that were moved.
|
4615 |
+
* @param {Number} target Visual row index being a target for moved rows.
|
4616 |
+
*/
|
4617 |
+
'afterRowMove',
|
4618 |
+
/**
|
4619 |
+
* Fired by {@link ManualColumnResize} plugin before rendering the table with modified column sizes. This hook is
|
4620 |
+
* fired when {@link Options#manualColumnResize} option is enabled.
|
4621 |
+
*
|
4622 |
+
* @event Hooks#beforeColumnResize
|
4623 |
+
* @param {Number} currentColumn Visual index of the resized column.
|
4624 |
+
* @param {Number} newSize Calculated new column width.
|
4625 |
+
* @param {Boolean} isDoubleClick Flag that determines whether there was a double-click.
|
4626 |
+
* @returns {Number} Returns a new column size or `undefined`, if column size should be calculated automatically.
|
4627 |
+
*/
|
4628 |
+
'beforeColumnResize',
|
4629 |
+
/**
|
4630 |
+
* Fired by {@link ManualColumnResize} plugin after rendering the table with modified column sizes. This hook is
|
4631 |
+
* fired when {@link Options#manualColumnResize} option is enabled.
|
4632 |
+
*
|
4633 |
+
* @event Hooks#afterColumnResize
|
4634 |
+
* @param {Number} currentColumn Visual index of the resized column.
|
4635 |
+
* @param {Number} newSize Calculated new column width.
|
4636 |
+
* @param {Boolean} isDoubleClick Flag that determines whether there was a double-click.
|
4637 |
+
*/
|
4638 |
+
'afterColumnResize',
|
4639 |
+
/**
|
4640 |
+
* Fired by {@link ManualRowResize} plugin before rendering the table with modified row sizes. This hook is
|
4641 |
+
* fired when {@link Options#manualRowResize} option is enabled.
|
4642 |
+
*
|
4643 |
+
* @event Hooks#beforeRowResize
|
4644 |
+
* @param {Number} currentRow Visual index of the resized row.
|
4645 |
+
* @param {Number} newSize Calculated new row height.
|
4646 |
+
* @param {Boolean} isDoubleClick Flag that determines whether there was a double-click.
|
4647 |
+
* @returns {Number} Returns the new row size or `undefined` if row size should be calculated automatically.
|
4648 |
+
*/
|
4649 |
+
'beforeRowResize',
|
4650 |
+
/**
|
4651 |
+
* Fired by {@link ManualRowResize} plugin after rendering the table with modified row sizes. This hook is
|
4652 |
+
* fired when {@link Options#manualRowResize} option is enabled.
|
4653 |
+
*
|
4654 |
+
* @event Hooks#afterRowResize
|
4655 |
+
* @param {Number} currentRow Visual index of the resized row.
|
4656 |
+
* @param {Number} newSize Calculated new row height.
|
4657 |
+
* @param {Boolean} isDoubleClick Flag that determines whether there was a double-click.
|
4658 |
+
*/
|
4659 |
+
'afterRowResize',
|
4660 |
+
/**
|
4661 |
+
* Fired after getting the column header renderers.
|
4662 |
+
*
|
4663 |
+
* @event Hooks#afterGetColumnHeaderRenderers
|
4664 |
+
* @param {Function[]} renderers An array of the column header renderers.
|
4665 |
+
*/
|
4666 |
+
'afterGetColumnHeaderRenderers',
|
4667 |
+
/**
|
4668 |
+
* Fired after getting the row header renderers.
|
4669 |
+
*
|
4670 |
+
* @event Hooks#afterGetRowHeaderRenderers
|
4671 |
+
* @param {Function[]} renderers An array of the row header renderers.
|
4672 |
+
*/
|
4673 |
+
'afterGetRowHeaderRenderers',
|
4674 |
+
/**
|
4675 |
+
* Fired before applying stretched column width to column.
|
4676 |
+
*
|
4677 |
+
* @event Hooks#beforeStretchingColumnWidth
|
4678 |
+
* @param {Number} stretchedWidth Calculated width.
|
4679 |
+
* @param {Number} column Visual column index.
|
4680 |
+
* @returns {Number} Returns new width which will be applied to the column element.
|
4681 |
+
*/
|
4682 |
+
'beforeStretchingColumnWidth',
|
4683 |
+
/**
|
4684 |
+
* Fired by {@link Filters} plugin before applying [filtering]{@link http://docs.handsontable.com/pro/demo-filtering.html}. This hook is fired when
|
4685 |
+
* {@link Options#filters} option is enabled.
|
4686 |
+
*
|
4687 |
+
* @pro
|
4688 |
+
* @event Hooks#beforeFilter
|
4689 |
+
* @param {Object[]} conditionsStack An array of objects with added formulas.
|
4690 |
+
* ```js
|
4691 |
+
* // Example format of the conditionsStack argument:
|
4692 |
+
* [
|
4693 |
+
* {
|
4694 |
+
* column: 2,
|
4695 |
+
* conditions: [
|
4696 |
+
* {name: 'begins_with', args: [['S']]}
|
4697 |
+
* ],
|
4698 |
+
* operation: 'conjunction'
|
4699 |
+
* },
|
4700 |
+
* {
|
4701 |
+
* column: 4,
|
4702 |
+
* conditions: [
|
4703 |
+
* {name: 'not_empty', args: []}
|
4704 |
+
* ],
|
4705 |
+
* operation: 'conjunction'
|
4706 |
+
* },
|
4707 |
+
* ]
|
4708 |
+
* ```
|
4709 |
+
* @returns {Boolean} If hook returns `false` value then filtering won't be applied on the UI side (server-side filtering).
|
4710 |
+
*/
|
4711 |
+
'beforeFilter',
|
4712 |
+
/**
|
4713 |
+
* Fired by {@link Filters} plugin after applying [filtering]{@link http://docs.handsontable.com/pro/demo-filtering.html}. This hook is fired when
|
4714 |
+
* {@link Options#filters} option is enabled.
|
4715 |
+
*
|
4716 |
+
* @pro
|
4717 |
+
* @event Hooks#afterFilter
|
4718 |
+
* @param {Object[]} conditionsStack An array of objects with added conditions.
|
4719 |
+
* ```js
|
4720 |
+
* // Example format of the conditionsStack argument:
|
4721 |
+
* [
|
4722 |
+
* {
|
4723 |
+
* column: 2,
|
4724 |
+
* conditions: [
|
4725 |
+
* {name: 'begins_with', args: [['S']]}
|
4726 |
+
* ],
|
4727 |
+
* operation: 'conjunction'
|
4728 |
+
* },
|
4729 |
+
* {
|
4730 |
+
* column: 4,
|
4731 |
+
* conditions: [
|
4732 |
+
* {name: 'not_empty', args: []}
|
4733 |
+
* ],
|
4734 |
+
* operation: 'conjunction'
|
4735 |
+
* },
|
4736 |
+
* ]
|
4737 |
+
* ```
|
4738 |
+
*/
|
4739 |
+
'afterFilter',
|
4740 |
+
/**
|
4741 |
+
* Fired while retrieving the column header height.
|
4742 |
+
*
|
4743 |
+
* @event Hooks#modifyColumnHeaderHeight
|
4744 |
+
*/
|
4745 |
+
'modifyColumnHeaderHeight',
|
4746 |
+
/**
|
4747 |
+
* Fired by {@link UndoRedo} plugin before the undo action. Contains information about the action that is being undone.
|
4748 |
+
* This hook is fired when {@link Options#undo} option is enabled.
|
4749 |
+
*
|
4750 |
+
* @event Hooks#beforeUndo
|
4751 |
+
* @param {Object} action The action object. Contains information about the action being undone. The `actionType`
|
4752 |
+
* property of the object specifies the type of the action in a String format. (e.g. `'remove_row'`).
|
4753 |
+
*/
|
4754 |
+
'beforeUndo',
|
4755 |
+
/**
|
4756 |
+
* Fired by {@link UndoRedo} plugin after the undo action. Contains information about the action that is being undone.
|
4757 |
+
* This hook is fired when {@link Options#undo} option is enabled.
|
4758 |
+
*
|
4759 |
+
* @event Hooks#afterUndo
|
4760 |
+
* @param {Object} action The action object. Contains information about the action being undone. The `actionType`
|
4761 |
+
* property of the object specifies the type of the action in a String format. (e.g. `'remove_row'`).
|
4762 |
+
*/
|
4763 |
+
'afterUndo',
|
4764 |
+
/**
|
4765 |
+
* Fired by {@link UndoRedo} plugin before the redo action. Contains information about the action that is being redone.
|
4766 |
+
* This hook is fired when {@link Options#undo} option is enabled.
|
4767 |
+
*
|
4768 |
+
* @event Hooks#beforeRedo
|
4769 |
+
* @param {Object} action The action object. Contains information about the action being redone. The `actionType`
|
4770 |
+
* property of the object specifies the type of the action in a String format (e.g. `'remove_row'`).
|
4771 |
+
*/
|
4772 |
+
'beforeRedo',
|
4773 |
+
/**
|
4774 |
+
* Fired by {@link UndoRedo} plugin after the redo action. Contains information about the action that is being redone.
|
4775 |
+
* This hook is fired when {@link Options#undo} option is enabled.
|
4776 |
+
*
|
4777 |
+
* @event Hooks#afterRedo
|
4778 |
+
* @param {Object} action The action object. Contains information about the action being redone. The `actionType`
|
4779 |
+
* property of the object specifies the type of the action in a String format (e.g. `'remove_row'`).
|
4780 |
+
*/
|
4781 |
+
'afterRedo',
|
4782 |
+
/**
|
4783 |
+
* Fired while retrieving the row header width.
|
4784 |
+
*
|
4785 |
+
* @event Hooks#modifyRowHeaderWidth
|
4786 |
+
* @param {Number} rowHeaderWidth Row header width.
|
4787 |
+
*/
|
4788 |
+
'modifyRowHeaderWidth',
|
4789 |
+
/**
|
4790 |
+
* Fired from the `populateFromArray` method during the `autofill` process. Fired for each "autofilled" cell individually.
|
4791 |
+
*
|
4792 |
+
* @event Hooks#beforeAutofillInsidePopulate
|
4793 |
+
* @param {Object} index Object containing `row` and `col` properties, defining the number of rows/columns from the initial cell of the autofill.
|
4794 |
+
* @param {String} direction Declares the direction of the autofill. Possible values: `up`, `down`, `left`, `right`.
|
4795 |
+
* @param {Array[]} input Contains an array of rows with data being used in the autofill.
|
4796 |
+
* @param {Array} deltas The deltas array passed to the `populateFromArray` method.
|
4797 |
+
*/
|
4798 |
+
'beforeAutofillInsidePopulate',
|
4799 |
+
/**
|
4800 |
+
* Fired when the start of the selection is being modified (e.g. moving the selection with the arrow keys).
|
4801 |
+
*
|
4802 |
+
* @event Hooks#modifyTransformStart
|
4803 |
+
* @param {CellCoords} delta Cell coords object declaring the delta of the new selection relative to the previous one.
|
4804 |
+
*/
|
4805 |
+
'modifyTransformStart',
|
4806 |
+
/**
|
4807 |
+
* Fired when the end of the selection is being modified (e.g. moving the selection with the arrow keys).
|
4808 |
+
*
|
4809 |
+
* @event Hooks#modifyTransformEnd
|
4810 |
+
* @param {CellCoords} delta Cell coords object declaring the delta of the new selection relative to the previous one.
|
4811 |
+
*/
|
4812 |
+
'modifyTransformEnd',
|
4813 |
+
/**
|
4814 |
+
* Fired after the start of the selection is being modified (e.g. moving the selection with the arrow keys).
|
4815 |
+
*
|
4816 |
+
* @event Hooks#afterModifyTransformStart
|
4817 |
+
* @param {CellCoords} coords Coords of the freshly selected cell.
|
4818 |
+
* @param {Number} rowTransformDir `-1` if trying to select a cell with a negative row index. `0` otherwise.
|
4819 |
+
* @param {Number} colTransformDir `-1` if trying to select a cell with a negative column index. `0` otherwise.
|
4820 |
+
*/
|
4821 |
+
'afterModifyTransformStart',
|
4822 |
+
/**
|
4823 |
+
* Fired after the end of the selection is being modified (e.g. moving the selection with the arrow keys).
|
4824 |
+
*
|
4825 |
+
* @event Hooks#afterModifyTransformEnd
|
4826 |
+
* @param {CellCoords} coords Visual coords of the freshly selected cell.
|
4827 |
+
* @param {Number} rowTransformDir `-1` if trying to select a cell with a negative row index. `0` otherwise.
|
4828 |
+
* @param {Number} colTransformDir `-1` if trying to select a cell with a negative column index. `0` otherwise.
|
4829 |
+
*/
|
4830 |
+
'afterModifyTransformEnd',
|
4831 |
+
/**
|
4832 |
+
* Fired inside the `viewportRowCalculatorOverride` method. Allows modifying the row calculator parameters.
|
4833 |
+
*
|
4834 |
+
* @event Hooks#afterViewportRowCalculatorOverride
|
4835 |
+
* @param {Object} calc The row calculator.
|
4836 |
+
*/
|
4837 |
+
'afterViewportRowCalculatorOverride',
|
4838 |
+
/**
|
4839 |
+
* Fired inside the `viewportColumnCalculatorOverride` method. Allows modifying the row calculator parameters.
|
4840 |
+
*
|
4841 |
+
* @event Hooks#afterViewportColumnCalculatorOverride
|
4842 |
+
* @param {Object} calc The row calculator.
|
4843 |
+
*/
|
4844 |
+
'afterViewportColumnCalculatorOverride',
|
4845 |
+
/**
|
4846 |
+
* Fired after initializing all the plugins.
|
4847 |
+
*
|
4848 |
+
* @event Hooks#afterPluginsInitialized
|
4849 |
+
*/
|
4850 |
+
'afterPluginsInitialized',
|
4851 |
+
/**
|
4852 |
+
* Used to skip the length cache calculation for a defined period of time.
|
4853 |
+
*
|
4854 |
+
* @event Hooks#skipLengthCache
|
4855 |
+
* @param {Number} delay The delay in milliseconds.
|
4856 |
+
*/
|
4857 |
+
'skipLengthCache',
|
4858 |
+
/**
|
4859 |
+
* Fired by {@link TrimRows} plugin after trimming rows. This hook is fired when {@link Options#trimRows} option is enabled.
|
4860 |
+
*
|
4861 |
+
* @pro
|
4862 |
+
* @event Hooks#afterTrimRow
|
4863 |
+
* @param {Number[]} rows Physical indexes of trimmed rows.
|
4864 |
+
*/
|
4865 |
+
'afterTrimRow',
|
4866 |
+
/**
|
4867 |
+
* Fired by {@link TrimRows} plugin after untrimming rows. This hook is fired when {@link Options#trimRows} option is enabled.
|
4868 |
+
*
|
4869 |
+
* @pro
|
4870 |
+
* @event Hooks#afterUntrimRow
|
4871 |
+
* @param {Number[]} rows Physical indexes of untrimmed rows.
|
4872 |
+
*/
|
4873 |
+
'afterUntrimRow',
|
4874 |
+
/**
|
4875 |
+
* Fired by {@link DropdownMenu} plugin before opening the dropdown menu. This hook is fired when {@link Options#dropdownMenu}
|
4876 |
+
* option is enabled.
|
4877 |
+
*
|
4878 |
+
* @pro
|
4879 |
+
* @event Hooks#beforeDropdownMenuShow
|
4880 |
+
* @param {DropdownMenu} dropdownMenu The DropdownMenu instance.
|
4881 |
+
*/
|
4882 |
+
'beforeDropdownMenuShow',
|
4883 |
+
/**
|
4884 |
+
* Fired by {@link DropdownMenu} plugin after opening the Dropdown Menu. This hook is fired when {@link Options#dropdownMenu}
|
4885 |
+
* option is enabled.
|
4886 |
+
*
|
4887 |
+
* @pro
|
4888 |
+
* @event Hooks#afterDropdownMenuShow
|
4889 |
+
* @param {DropdownMenu} dropdownMenu The DropdownMenu instance.
|
4890 |
+
*/
|
4891 |
+
'afterDropdownMenuShow',
|
4892 |
+
/**
|
4893 |
+
* Fired by {@link DropdownMenu} plugin after hiding the Dropdown Menu. This hook is fired when {@link Options#dropdownMenu}
|
4894 |
+
* option is enabled.
|
4895 |
+
*
|
4896 |
+
* @pro
|
4897 |
+
* @event Hooks#afterDropdownMenuHide
|
4898 |
+
* @param {DropdownMenu} instance The DropdownMenu instance.
|
4899 |
+
*/
|
4900 |
+
'afterDropdownMenuHide',
|
4901 |
+
/**
|
4902 |
+
* Fired by {@link HiddenRows} plugin to check whether the provided row index is hidden. This hook is fired when
|
4903 |
+
* {@link Options#hiddenRows} option is enabled.
|
4904 |
+
*
|
4905 |
+
* @pro
|
4906 |
+
* @event Hooks#hiddenRow
|
4907 |
+
* @param {Number} row The visual row index in question.
|
4908 |
+
*/
|
4909 |
+
'hiddenRow',
|
4910 |
+
/**
|
4911 |
+
* Fired by {@link HiddenColumns} plugin to check whether the provided column index is hidden. This hook is fired when
|
4912 |
+
* {@link Options#hiddenColumns} option is enabled.
|
4913 |
+
*
|
4914 |
+
* @pro
|
4915 |
+
* @event Hooks#hiddenColumn
|
4916 |
+
* @param {Number} column The visual column index in question.
|
4917 |
+
*/
|
4918 |
+
'hiddenColumn',
|
4919 |
+
/**
|
4920 |
+
* Fired by {@link NestedRows} plugin before adding a children to the NestedRows structure. This hook is fired when
|
4921 |
+
* {@link Options#nestedRows} option is enabled.
|
4922 |
+
*
|
4923 |
+
* @pro
|
4924 |
+
* @event Hooks#beforeAddChild
|
4925 |
+
* @param {Object} parent The parent object.
|
4926 |
+
* @param {Object|undefined} element The element added as a child. If `undefined`, a blank child was added.
|
4927 |
+
* @param {Number|undefined} index The index within the parent where the new child was added. If `undefined`, the element was added as the last child.
|
4928 |
+
*/
|
4929 |
+
'beforeAddChild',
|
4930 |
+
/**
|
4931 |
+
* Fired by {@link NestedRows} plugin after adding a children to the NestedRows structure. This hook is fired when
|
4932 |
+
* {@link Options#nestedRows} option is enabled.
|
4933 |
+
*
|
4934 |
+
* @pro
|
4935 |
+
* @event Hooks#afterAddChild
|
4936 |
+
* @param {Object} parent The parent object.
|
4937 |
+
* @param {Object|undefined} element The element added as a child. If `undefined`, a blank child was added.
|
4938 |
+
* @param {Number|undefined} index The index within the parent where the new child was added. If `undefined`, the element was added as the last child.
|
4939 |
+
*/
|
4940 |
+
'afterAddChild',
|
4941 |
+
/**
|
4942 |
+
* Fired by {@link NestedRows} plugin before detaching a child from its parent. This hook is fired when
|
4943 |
+
* {@link Options#nestedRows} option is enabled.
|
4944 |
+
*
|
4945 |
+
* @pro
|
4946 |
+
* @event Hooks#beforeDetachChild
|
4947 |
+
* @param {Object} parent An object representing the parent from which the element is to be detached.
|
4948 |
+
* @param {Object} element The detached element.
|
4949 |
+
*/
|
4950 |
+
'beforeDetachChild',
|
4951 |
+
/**
|
4952 |
+
* Fired by {@link NestedRows} plugin after detaching a child from its parent. This hook is fired when
|
4953 |
+
* {@link Options#nestedRows} option is enabled.
|
4954 |
+
*
|
4955 |
+
* @pro
|
4956 |
+
* @event Hooks#afterDetachChild
|
4957 |
+
* @param {Object} parent An object representing the parent from which the element was detached.
|
4958 |
+
* @param {Object} element The detached element.
|
4959 |
+
*/
|
4960 |
+
'afterDetachChild',
|
4961 |
+
/**
|
4962 |
+
* Fired after the editor is opened and rendered.
|
4963 |
+
*
|
4964 |
+
* @event Hooks#afterBeginEditing
|
4965 |
+
* @param {Number} row Visual row index of the edited cell.
|
4966 |
+
* @param {Number} column Visual column index of the edited cell.
|
4967 |
+
*/
|
4968 |
+
'afterBeginEditing',
|
4969 |
+
/**
|
4970 |
+
* Fired by {@link MergeCells} plugin before cell merging. This hook is fired when {@link Options#mergeCells}
|
4971 |
+
* option is enabled.
|
4972 |
+
*
|
4973 |
+
* @event Hooks#beforeMergeCells
|
4974 |
+
* @param {CellRange} cellRange Selection cell range.
|
4975 |
+
* @param {Boolean} [auto=false] `true` if called automatically by the plugin.
|
4976 |
+
*/
|
4977 |
+
'beforeMergeCells',
|
4978 |
+
/**
|
4979 |
+
* Fired by {@link MergeCells} plugin after cell merging. This hook is fired when {@link Options#mergeCells}
|
4980 |
+
* option is enabled.
|
4981 |
+
*
|
4982 |
+
* @event Hooks#afterMergeCells
|
4983 |
+
* @param {CellRange} cellRange Selection cell range.
|
4984 |
+
* @param {Object} mergeParent The parent collection of the provided cell range.
|
4985 |
+
* @param {Boolean} [auto=false] `true` if called automatically by the plugin.
|
4986 |
+
*/
|
4987 |
+
'afterMergeCells',
|
4988 |
+
/**
|
4989 |
+
* Fired by {@link MergeCells} plugin before unmerging the cells. This hook is fired when {@link Options#mergeCells}
|
4990 |
+
* option is enabled.
|
4991 |
+
*
|
4992 |
+
* @event Hooks#beforeUnmergeCells
|
4993 |
+
* @param {CellRange} cellRange Selection cell range.
|
4994 |
+
* @param {Boolean} [auto=false] `true` if called automatically by the plugin.
|
4995 |
+
*/
|
4996 |
+
'beforeUnmergeCells',
|
4997 |
+
/**
|
4998 |
+
* Fired by {@link MergeCells} plugin after unmerging the cells. This hook is fired when {@link Options#mergeCells}
|
4999 |
+
* option is enabled.
|
5000 |
+
*
|
5001 |
+
* @event Hooks#afterUnmergeCells
|
5002 |
+
* @param {CellRange} cellRange Selection cell range.
|
5003 |
+
* @param {Boolean} [auto=false] `true` if called automatically by the plugin.
|
5004 |
+
*/
|
5005 |
+
'afterUnmergeCells',
|
5006 |
+
/**
|
5007 |
+
* Fired after the table was switched into listening mode. This allows Handsontable to capture keyboard events and
|
5008 |
+
* respond in the right way.
|
5009 |
+
*
|
5010 |
+
* @event Hooks#afterListen
|
5011 |
+
*/
|
5012 |
+
'afterListen',
|
5013 |
+
/**
|
5014 |
+
* Fired after the table was switched off from the listening mode. This makes the Handsontable inert for any
|
5015 |
+
* keyboard events.
|
5016 |
+
*
|
5017 |
+
* @event Hooks#afterUnlisten
|
5018 |
+
*/
|
5019 |
+
'afterUnlisten'];
|
5020 |
+
|
5021 |
+
var Hooks =
|
5022 |
+
/*#__PURE__*/
|
5023 |
+
function () {
|
5024 |
+
_createClass(Hooks, null, [{
|
5025 |
+
key: "getSingleton",
|
5026 |
+
value: function getSingleton() {
|
5027 |
+
return getGlobalSingleton();
|
5028 |
+
}
|
5029 |
+
/**
|
5030 |
+
*
|
5031 |
+
*/
|
5032 |
+
|
5033 |
+
}]);
|
5034 |
+
|
5035 |
+
function Hooks() {
|
5036 |
+
_classCallCheck(this, Hooks);
|
5037 |
+
|
5038 |
+
this.globalBucket = this.createEmptyBucket();
|
5039 |
+
}
|
5040 |
+
/**
|
5041 |
+
* Returns a new object with empty handlers related to every registered hook name.
|
5042 |
+
*
|
5043 |
+
* @returns {Object} The empty bucket object.
|
5044 |
+
*
|
5045 |
+
* @example
|
5046 |
+
* ```js
|
5047 |
+
* Handsontable.hooks.createEmptyBucket();
|
5048 |
+
* // Results:
|
5049 |
+
* {
|
5050 |
+
* ...
|
5051 |
+
* afterCreateCol: [],
|
5052 |
+
* afterCreateRow: [],
|
5053 |
+
* beforeInit: [],
|
5054 |
+
* ...
|
5055 |
+
* }
|
5056 |
+
* ```
|
5057 |
+
*/
|
5058 |
+
|
5059 |
+
|
5060 |
+
_createClass(Hooks, [{
|
5061 |
+
key: "createEmptyBucket",
|
5062 |
+
value: function createEmptyBucket() {
|
5063 |
+
var bucket = Object.create(null); // eslint-disable-next-line no-return-assign
|
5064 |
+
|
5065 |
+
(0, _array.arrayEach)(REGISTERED_HOOKS, function (hook) {
|
5066 |
+
return bucket[hook] = [];
|
5067 |
+
});
|
5068 |
+
return bucket;
|
5069 |
+
}
|
5070 |
+
/**
|
5071 |
+
* Get hook bucket based on the context of the object or if argument is `undefined`, get the global hook bucket.
|
5072 |
+
*
|
5073 |
+
* @param {Object} [context=null] A Handsontable instance.
|
5074 |
+
* @returns {Object} Returns a global or Handsontable instance bucket.
|
5075 |
+
*/
|
5076 |
+
|
5077 |
+
}, {
|
5078 |
+
key: "getBucket",
|
5079 |
+
value: function getBucket() {
|
5080 |
+
var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
5081 |
+
|
5082 |
+
if (context) {
|
5083 |
+
if (!context.pluginHookBucket) {
|
5084 |
+
context.pluginHookBucket = this.createEmptyBucket();
|
5085 |
+
}
|
5086 |
+
|
5087 |
+
return context.pluginHookBucket;
|
5088 |
+
}
|
5089 |
+
|
5090 |
+
return this.globalBucket;
|
5091 |
+
}
|
5092 |
+
/**
|
5093 |
+
* Adds a listener (globally or locally) to a specified hook name.
|
5094 |
+
* If the `context` parameter is provided, the hook will be added only to the instance it references.
|
5095 |
+
* Otherwise, the callback will be used everytime the hook fires on any Handsontable instance.
|
5096 |
+
* You can provide an array of callback functions as the `callback` argument, this way they will all be fired
|
5097 |
+
* once the hook is triggered.
|
5098 |
+
*
|
5099 |
+
* @see Core#addHook
|
5100 |
+
* @param {String} key Hook name.
|
5101 |
+
* @param {Function|Array} callback Callback function or an array of functions.
|
5102 |
+
* @param {Object} [context=null] The context for the hook callback to be added - a Handsontable instance or leave empty.
|
5103 |
+
* @returns {Hooks} Instance of Hooks.
|
5104 |
+
*
|
5105 |
+
* @example
|
5106 |
+
* ```js
|
5107 |
+
* // single callback, added locally
|
5108 |
+
* Handsontable.hooks.add('beforeInit', myCallback, hotInstance);
|
5109 |
+
*
|
5110 |
+
* // single callback, added globally
|
5111 |
+
* Handsontable.hooks.add('beforeInit', myCallback);
|
5112 |
+
*
|
5113 |
+
* // multiple callbacks, added locally
|
5114 |
+
* Handsontable.hooks.add('beforeInit', [myCallback, anotherCallback], hotInstance);
|
5115 |
+
*
|
5116 |
+
* // multiple callbacks, added globally
|
5117 |
+
* Handsontable.hooks.add('beforeInit', [myCallback, anotherCallback]);
|
5118 |
+
* ```
|
5119 |
+
*/
|
5120 |
+
|
5121 |
+
}, {
|
5122 |
+
key: "add",
|
5123 |
+
value: function add(key, callback) {
|
5124 |
+
var _this = this;
|
5125 |
+
|
5126 |
+
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
5127 |
+
|
5128 |
+
if (Array.isArray(callback)) {
|
5129 |
+
(0, _array.arrayEach)(callback, function (c) {
|
5130 |
+
return _this.add(key, c, context);
|
5131 |
+
});
|
5132 |
+
} else {
|
5133 |
+
var bucket = this.getBucket(context);
|
5134 |
+
|
5135 |
+
if (typeof bucket[key] === 'undefined') {
|
5136 |
+
this.register(key);
|
5137 |
+
bucket[key] = [];
|
5138 |
+
}
|
5139 |
+
|
5140 |
+
callback.skip = false;
|
5141 |
+
|
5142 |
+
if (bucket[key].indexOf(callback) === -1) {
|
5143 |
+
// only add a hook if it has not already been added (adding the same hook twice is now silently ignored)
|
5144 |
+
var foundInitialHook = false;
|
5145 |
+
|
5146 |
+
if (callback.initialHook) {
|
5147 |
+
(0, _array.arrayEach)(bucket[key], function (cb, i) {
|
5148 |
+
if (cb.initialHook) {
|
5149 |
+
bucket[key][i] = callback;
|
5150 |
+
foundInitialHook = true;
|
5151 |
+
return false;
|
5152 |
+
}
|
5153 |
+
});
|
5154 |
+
}
|
5155 |
+
|
5156 |
+
if (!foundInitialHook) {
|
5157 |
+
bucket[key].push(callback);
|
5158 |
+
}
|
5159 |
+
}
|
5160 |
+
}
|
5161 |
+
|
5162 |
+
return this;
|
5163 |
+
}
|
5164 |
+
/**
|
5165 |
+
* Adds a listener to a specified hook. After the hook runs this listener will be automatically removed from the bucket.
|
5166 |
+
*
|
5167 |
+
* @see Core#addHookOnce
|
5168 |
+
* @param {String} key Hook/Event name.
|
5169 |
+
* @param {Function|Array} callback Callback function.
|
5170 |
+
* @param {Object} [context=null] A Handsontable instance.
|
5171 |
+
*
|
5172 |
+
* @example
|
5173 |
+
* ```js
|
5174 |
+
* Handsontable.hooks.once('beforeInit', myCallback, hotInstance);
|
5175 |
+
* ```
|
5176 |
+
*/
|
5177 |
+
|
5178 |
+
}, {
|
5179 |
+
key: "once",
|
5180 |
+
value: function once(key, callback) {
|
5181 |
+
var _this2 = this;
|
5182 |
+
|
5183 |
+
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
5184 |
+
|
5185 |
+
if (Array.isArray(callback)) {
|
5186 |
+
(0, _array.arrayEach)(callback, function (c) {
|
5187 |
+
return _this2.once(key, c, context);
|
5188 |
+
});
|
5189 |
+
} else {
|
5190 |
+
callback.runOnce = true;
|
5191 |
+
this.add(key, callback, context);
|
5192 |
+
}
|
5193 |
+
}
|
5194 |
+
/**
|
5195 |
+
* Removes a listener from a hook with a given name. If the `context` argument is provided, it removes a listener from a local hook assigned to the given Handsontable instance.
|
5196 |
+
*
|
5197 |
+
* @see Core#removeHook
|
5198 |
+
* @param {String} key Hook/Event name.
|
5199 |
+
* @param {Function} callback Callback function (needs the be the function that was previously added to the hook).
|
5200 |
+
* @param {Object} [context=null] Handsontable instance.
|
5201 |
+
* @return {Boolean} Returns `true` if hook was removed, `false` otherwise.
|
5202 |
+
*
|
5203 |
+
* @example
|
5204 |
+
* ```js
|
5205 |
+
* Handsontable.hooks.remove('beforeInit', myCallback);
|
5206 |
+
* ```
|
5207 |
+
*/
|
5208 |
+
|
5209 |
+
}, {
|
5210 |
+
key: "remove",
|
5211 |
+
value: function remove(key, callback) {
|
5212 |
+
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
5213 |
+
var bucket = this.getBucket(context);
|
5214 |
+
|
5215 |
+
if (typeof bucket[key] !== 'undefined') {
|
5216 |
+
if (bucket[key].indexOf(callback) >= 0) {
|
5217 |
+
callback.skip = true;
|
5218 |
+
return true;
|
5219 |
+
}
|
5220 |
+
}
|
5221 |
+
|
5222 |
+
return false;
|
5223 |
+
}
|
5224 |
+
/**
|
5225 |
+
* Checks whether there are any registered listeners for the provided hook name.
|
5226 |
+
* If the `context` parameter is provided, it only checks for listeners assigned to the given Handsontable instance.
|
5227 |
+
*
|
5228 |
+
* @param {String} key Hook name.
|
5229 |
+
* @param {Object} [context=null] A Handsontable instance.
|
5230 |
+
* @returns {Boolean} `true` for success, `false` otherwise.
|
5231 |
+
*/
|
5232 |
+
|
5233 |
+
}, {
|
5234 |
+
key: "has",
|
5235 |
+
value: function has(key) {
|
5236 |
+
var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
5237 |
+
var bucket = this.getBucket(context);
|
5238 |
+
return !!(bucket[key] !== void 0 && bucket[key].length);
|
5239 |
+
}
|
5240 |
+
/**
|
5241 |
+
* Runs all local and global callbacks assigned to the hook identified by the `key` parameter.
|
5242 |
+
* It returns either a return value from the last called callback or the first parameter (`p1`) passed to the `run` function.
|
5243 |
+
*
|
5244 |
+
* @see Core#runHooks
|
5245 |
+
* @param {Object} context Handsontable instance.
|
5246 |
+
* @param {String} key Hook/Event name.
|
5247 |
+
* @param {*} [p1] Parameter to be passed as an argument to the callback function.
|
5248 |
+
* @param {*} [p2] Parameter to be passed as an argument to the callback function.
|
5249 |
+
* @param {*} [p3] Parameter to be passed as an argument to the callback function.
|
5250 |
+
* @param {*} [p4] Parameter to be passed as an argument to the callback function.
|
5251 |
+
* @param {*} [p5] Parameter to be passed as an argument to the callback function.
|
5252 |
+
* @param {*} [p6] Parameter to be passed as an argument to the callback function.
|
5253 |
+
* @returns {*} Either a return value from the last called callback or `p1`.
|
5254 |
+
*
|
5255 |
+
* @example
|
5256 |
+
* ```js
|
5257 |
+
* Handsontable.hooks.run(hot, 'beforeInit');
|
5258 |
+
* ```
|
5259 |
+
*/
|
5260 |
+
|
5261 |
+
}, {
|
5262 |
+
key: "run",
|
5263 |
+
value: function run(context, key, p1, p2, p3, p4, p5, p6) {
|
5264 |
+
{
|
5265 |
+
var globalHandlers = this.globalBucket[key];
|
5266 |
+
var length = globalHandlers ? globalHandlers.length : 0;
|
5267 |
+
var index = 0;
|
5268 |
+
|
5269 |
+
if (length) {
|
5270 |
+
// Do not optimise this loop with arrayEach or arrow function! If you do You'll decrease perf because of GC.
|
5271 |
+
while (index < length) {
|
5272 |
+
if (!globalHandlers[index] || globalHandlers[index].skip) {
|
5273 |
+
index += 1;
|
5274 |
+
/* eslint-disable no-continue */
|
5275 |
+
|
5276 |
+
continue;
|
5277 |
+
} // performance considerations - http://jsperf.com/call-vs-apply-for-a-plugin-architecture
|
5278 |
+
|
5279 |
+
|
5280 |
+
var res = globalHandlers[index].call(context, p1, p2, p3, p4, p5, p6);
|
5281 |
+
|
5282 |
+
if (res !== void 0) {
|
5283 |
+
// eslint-disable-next-line no-param-reassign
|
5284 |
+
p1 = res;
|
5285 |
+
}
|
5286 |
+
|
5287 |
+
if (globalHandlers[index] && globalHandlers[index].runOnce) {
|
5288 |
+
this.remove(key, globalHandlers[index]);
|
5289 |
+
}
|
5290 |
+
|
5291 |
+
index += 1;
|
5292 |
+
}
|
5293 |
+
}
|
5294 |
+
}
|
5295 |
+
{
|
5296 |
+
var localHandlers = this.getBucket(context)[key];
|
5297 |
+
|
5298 |
+
var _length = localHandlers ? localHandlers.length : 0;
|
5299 |
+
|
5300 |
+
var _index = 0;
|
5301 |
+
|
5302 |
+
if (_length) {
|
5303 |
+
// Do not optimise this loop with arrayEach or arrow function! If you do You'll decrease perf because of GC.
|
5304 |
+
while (_index < _length) {
|
5305 |
+
if (!localHandlers[_index] || localHandlers[_index].skip) {
|
5306 |
+
_index += 1;
|
5307 |
+
/* eslint-disable no-continue */
|
5308 |
+
|
5309 |
+
continue;
|
5310 |
+
} // performance considerations - http://jsperf.com/call-vs-apply-for-a-plugin-architecture
|
5311 |
+
|
5312 |
+
|
5313 |
+
var _res = localHandlers[_index].call(context, p1, p2, p3, p4, p5, p6);
|
5314 |
+
|
5315 |
+
if (_res !== void 0) {
|
5316 |
+
// eslint-disable-next-line no-param-reassign
|
5317 |
+
p1 = _res;
|
5318 |
+
}
|
5319 |
+
|
5320 |
+
if (localHandlers[_index] && localHandlers[_index].runOnce) {
|
5321 |
+
this.remove(key, localHandlers[_index], context);
|
5322 |
+
}
|
5323 |
+
|
5324 |
+
_index += 1;
|
5325 |
+
}
|
5326 |
+
}
|
5327 |
+
}
|
5328 |
+
return p1;
|
5329 |
+
}
|
5330 |
+
/**
|
5331 |
+
* Destroy all listeners connected to the context. If no context is provided, the global listeners will be destroyed.
|
5332 |
+
*
|
5333 |
+
* @param {Object} [context=null] A Handsontable instance.
|
5334 |
+
* @example
|
5335 |
+
* ```js
|
5336 |
+
* // destroy the global listeners
|
5337 |
+
* Handsontable.hooks.destroy();
|
5338 |
+
*
|
5339 |
+
* // destroy the local listeners
|
5340 |
+
* Handsontable.hooks.destroy(hotInstance);
|
5341 |
+
* ```
|
5342 |
+
*/
|
5343 |
+
|
5344 |
+
}, {
|
5345 |
+
key: "destroy",
|
5346 |
+
value: function destroy() {
|
5347 |
+
var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
5348 |
+
// eslint-disable-next-line no-return-assign
|
5349 |
+
(0, _object.objectEach)(this.getBucket(context), function (value, key, bucket) {
|
5350 |
+
return bucket[key].length = 0;
|
5351 |
+
});
|
5352 |
+
}
|
5353 |
+
/**
|
5354 |
+
* Registers a hook name (adds it to the list of the known hook names). Used by plugins.
|
5355 |
+
* It is not necessary to call register, but if you use it, your plugin hook will be used returned by
|
5356 |
+
* the `getRegistered` method. (which itself is used in the demo http://docs.handsontable.com/tutorial-callbacks.html).
|
5357 |
+
*
|
5358 |
+
* @param key {String} The hook name.
|
5359 |
+
*
|
5360 |
+
* @example
|
5361 |
+
* ```js
|
5362 |
+
* Handsontable.hooks.register('myHook');
|
5363 |
+
* ```
|
5364 |
+
*/
|
5365 |
+
|
5366 |
+
}, {
|
5367 |
+
key: "register",
|
5368 |
+
value: function register(key) {
|
5369 |
+
if (!this.isRegistered(key)) {
|
5370 |
+
REGISTERED_HOOKS.push(key);
|
5371 |
+
}
|
5372 |
+
}
|
5373 |
+
/**
|
5374 |
+
* Deregisters a hook name (removes it from the list of known hook names).
|
5375 |
+
*
|
5376 |
+
* @param key {String} Hook name.
|
5377 |
+
*
|
5378 |
+
* @example
|
5379 |
+
* ```js
|
5380 |
+
* Handsontable.hooks.deregister('myHook');
|
5381 |
+
* ```
|
5382 |
+
*/
|
5383 |
+
|
5384 |
+
}, {
|
5385 |
+
key: "deregister",
|
5386 |
+
value: function deregister(key) {
|
5387 |
+
if (this.isRegistered(key)) {
|
5388 |
+
REGISTERED_HOOKS.splice(REGISTERED_HOOKS.indexOf(key), 1);
|
5389 |
+
}
|
5390 |
+
}
|
5391 |
+
/**
|
5392 |
+
* Returns a boolean depending on if a hook by such name has been registered.
|
5393 |
+
*
|
5394 |
+
* @param key {String} Hook name.
|
5395 |
+
* @returns {Boolean} `true` for success, `false` otherwise.
|
5396 |
+
*
|
5397 |
+
* @example
|
5398 |
+
* ```js
|
5399 |
+
* Handsontable.hooks.isRegistered('beforeInit');
|
5400 |
+
*
|
5401 |
+
* // Results:
|
5402 |
+
* true
|
5403 |
+
* ```
|
5404 |
+
*/
|
5405 |
+
|
5406 |
+
}, {
|
5407 |
+
key: "isRegistered",
|
5408 |
+
value: function isRegistered(key) {
|
5409 |
+
return REGISTERED_HOOKS.indexOf(key) >= 0;
|
5410 |
+
}
|
5411 |
+
/**
|
5412 |
+
* Returns an array of registered hooks.
|
5413 |
+
*
|
5414 |
+
* @returns {Array} An array of registered hooks.
|
5415 |
+
*
|
5416 |
+
* @example
|
5417 |
+
* ```js
|
5418 |
+
* Handsontable.hooks.getRegistered();
|
5419 |
+
*
|
5420 |
+
* // Results:
|
5421 |
+
* [
|
5422 |
+
* ...
|
5423 |
+
* 'beforeInit',
|
5424 |
+
* 'beforeRender',
|
5425 |
+
* 'beforeSetRangeEnd',
|
5426 |
+
* 'beforeDrawBorders',
|
5427 |
+
* 'beforeChange',
|
5428 |
+
* ...
|
5429 |
+
* ]
|
5430 |
+
* ```
|
5431 |
+
*/
|
5432 |
+
|
5433 |
+
}, {
|
5434 |
+
key: "getRegistered",
|
5435 |
+
value: function getRegistered() {
|
5436 |
+
return REGISTERED_HOOKS;
|
5437 |
+
}
|
5438 |
+
}]);
|
5439 |
+
|
5440 |
+
return Hooks;
|
5441 |
+
}();
|
5442 |
+
|
5443 |
+
var globalSingleton = new Hooks();
|
5444 |
+
|
5445 |
+
function getGlobalSingleton() {
|
5446 |
+
return globalSingleton;
|
5447 |
+
}
|
5448 |
+
|
5449 |
+
var _default = Hooks;
|
5450 |
+
exports.default = _default;
|
5451 |
+
|
5452 |
+
/***/ }),
|
5453 |
+
/* 23 */
|
5454 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5455 |
+
|
5456 |
+
var global = __webpack_require__(6);
|
5457 |
+
var hide = __webpack_require__(28);
|
5458 |
+
var has = __webpack_require__(27);
|
5459 |
+
var SRC = __webpack_require__(51)('src');
|
5460 |
+
var TO_STRING = 'toString';
|
5461 |
+
var $toString = Function[TO_STRING];
|
5462 |
+
var TPL = ('' + $toString).split(TO_STRING);
|
5463 |
+
|
5464 |
+
__webpack_require__(21).inspectSource = function (it) {
|
5465 |
+
return $toString.call(it);
|
5466 |
+
};
|
5467 |
+
|
5468 |
+
(module.exports = function (O, key, val, safe) {
|
5469 |
+
var isFunction = typeof val == 'function';
|
5470 |
+
if (isFunction) has(val, 'name') || hide(val, 'name', key);
|
5471 |
+
if (O[key] === val) return;
|
5472 |
+
if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
|
5473 |
+
if (O === global) {
|
5474 |
+
O[key] = val;
|
5475 |
+
} else if (!safe) {
|
5476 |
+
delete O[key];
|
5477 |
+
hide(O, key, val);
|
5478 |
+
} else if (O[key]) {
|
5479 |
+
O[key] = val;
|
5480 |
+
} else {
|
5481 |
+
hide(O, key, val);
|
5482 |
+
}
|
5483 |
+
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
5484 |
+
})(Function.prototype, TO_STRING, function toString() {
|
5485 |
+
return typeof this == 'function' && this[SRC] || $toString.call(this);
|
5486 |
+
});
|
5487 |
+
|
5488 |
+
|
5489 |
+
/***/ }),
|
5490 |
+
/* 24 */
|
5491 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5492 |
+
|
5493 |
+
// 7.1.13 ToObject(argument)
|
5494 |
+
var defined = __webpack_require__(40);
|
5495 |
+
module.exports = function (it) {
|
5496 |
+
return Object(defined(it));
|
5497 |
+
};
|
5498 |
+
|
5499 |
+
|
5500 |
+
/***/ }),
|
5501 |
+
/* 25 */
|
5502 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5503 |
+
|
5504 |
+
var $export = __webpack_require__(0);
|
5505 |
+
var fails = __webpack_require__(4);
|
5506 |
+
var defined = __webpack_require__(40);
|
5507 |
+
var quot = /"/g;
|
5508 |
+
// B.2.3.2.1 CreateHTML(string, tag, attribute, value)
|
5509 |
+
var createHTML = function (string, tag, attribute, value) {
|
5510 |
+
var S = String(defined(string));
|
5511 |
+
var p1 = '<' + tag;
|
5512 |
+
if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"';
|
5513 |
+
return p1 + '>' + S + '</' + tag + '>';
|
5514 |
+
};
|
5515 |
+
module.exports = function (NAME, exec) {
|
5516 |
+
var O = {};
|
5517 |
+
O[NAME] = exec(createHTML);
|
5518 |
+
$export($export.P + $export.F * fails(function () {
|
5519 |
+
var test = ''[NAME]('"');
|
5520 |
+
return test !== test.toLowerCase() || test.split('"').length > 3;
|
5521 |
+
}), 'String', O);
|
5522 |
+
};
|
5523 |
+
|
5524 |
+
|
5525 |
+
/***/ }),
|
5526 |
+
/* 26 */
|
5527 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5528 |
+
|
5529 |
+
"use strict";
|
5530 |
+
|
5531 |
+
|
5532 |
+
exports.__esModule = true;
|
5533 |
+
exports.RegisteredEditor = RegisteredEditor;
|
5534 |
+
exports.getEditorInstance = exports._getEditorInstance = _getEditorInstance;
|
5535 |
+
exports.registerEditor = _register;
|
5536 |
+
exports.getEditor = _getItem;
|
5537 |
+
exports.getRegisteredEditors = exports.getRegisteredEditorNames = exports.hasEditor = void 0;
|
5538 |
+
|
5539 |
+
var _staticRegister2 = _interopRequireDefault(__webpack_require__(46));
|
5540 |
+
|
5541 |
+
var _pluginHooks = _interopRequireDefault(__webpack_require__(22));
|
5542 |
+
|
5543 |
+
var _baseEditor = _interopRequireDefault(__webpack_require__(74));
|
5544 |
+
|
5545 |
+
var _autocompleteEditor = _interopRequireDefault(__webpack_require__(294));
|
5546 |
+
|
5547 |
+
var _checkboxEditor = _interopRequireDefault(__webpack_require__(614));
|
5548 |
+
|
5549 |
+
var _dateEditor = _interopRequireDefault(__webpack_require__(615));
|
5550 |
+
|
5551 |
+
var _dropdownEditor = _interopRequireDefault(__webpack_require__(620));
|
5552 |
+
|
5553 |
+
var _handsontableEditor = _interopRequireDefault(__webpack_require__(295));
|
5554 |
+
|
5555 |
+
var _numericEditor = _interopRequireDefault(__webpack_require__(621));
|
5556 |
+
|
5557 |
+
var _passwordEditor = _interopRequireDefault(__webpack_require__(622));
|
5558 |
+
|
5559 |
+
var _selectEditor = _interopRequireDefault(__webpack_require__(623));
|
5560 |
+
|
5561 |
+
var _textEditor = _interopRequireDefault(__webpack_require__(77));
|
5562 |
+
|
5563 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
5564 |
+
|
5565 |
+
/**
|
5566 |
+
* Utility to register editors and common namespace for keeping reference to all editor classes
|
5567 |
+
*/
|
5568 |
+
var registeredEditorClasses = new WeakMap();
|
5569 |
+
|
5570 |
+
var _staticRegister = (0, _staticRegister2.default)('editors'),
|
5571 |
+
register = _staticRegister.register,
|
5572 |
+
getItem = _staticRegister.getItem,
|
5573 |
+
hasItem = _staticRegister.hasItem,
|
5574 |
+
getNames = _staticRegister.getNames,
|
5575 |
+
getValues = _staticRegister.getValues;
|
5576 |
+
|
5577 |
+
exports.getRegisteredEditors = getValues;
|
5578 |
+
exports.getRegisteredEditorNames = getNames;
|
5579 |
+
exports.hasEditor = hasItem;
|
5580 |
+
|
5581 |
+
_register('base', _baseEditor.default);
|
5582 |
+
|
5583 |
+
_register('autocomplete', _autocompleteEditor.default);
|
5584 |
+
|
5585 |
+
_register('checkbox', _checkboxEditor.default);
|
5586 |
+
|
5587 |
+
_register('date', _dateEditor.default);
|
5588 |
+
|
5589 |
+
_register('dropdown', _dropdownEditor.default);
|
5590 |
+
|
5591 |
+
_register('handsontable', _handsontableEditor.default);
|
5592 |
+
|
5593 |
+
_register('numeric', _numericEditor.default);
|
5594 |
+
|
5595 |
+
_register('password', _passwordEditor.default);
|
5596 |
+
|
5597 |
+
_register('select', _selectEditor.default);
|
5598 |
+
|
5599 |
+
_register('text', _textEditor.default);
|
5600 |
+
|
5601 |
+
function RegisteredEditor(editorClass) {
|
5602 |
+
var instances = {};
|
5603 |
+
var Clazz = editorClass;
|
5604 |
+
|
5605 |
+
this.getConstructor = function () {
|
5606 |
+
return editorClass;
|
5607 |
+
};
|
5608 |
+
|
5609 |
+
this.getInstance = function (hotInstance) {
|
5610 |
+
if (!(hotInstance.guid in instances)) {
|
5611 |
+
instances[hotInstance.guid] = new Clazz(hotInstance);
|
5612 |
+
}
|
5613 |
+
|
5614 |
+
return instances[hotInstance.guid];
|
5615 |
+
};
|
5616 |
+
|
5617 |
+
_pluginHooks.default.getSingleton().add('afterDestroy', function () {
|
5618 |
+
instances[this.guid] = null;
|
5619 |
+
});
|
5620 |
+
}
|
5621 |
+
/**
|
5622 |
+
* Returns instance (singleton) of editor class.
|
5623 |
+
*
|
5624 |
+
* @param {String} name Name of an editor under which it has been stored.
|
5625 |
+
* @param {Object} hotInstance Instance of Handsontable.
|
5626 |
+
* @returns {Function} Returns instance of editor.
|
5627 |
+
*/
|
5628 |
+
|
5629 |
+
|
5630 |
+
function _getEditorInstance(name, hotInstance) {
|
5631 |
+
var editor;
|
5632 |
+
|
5633 |
+
if (typeof name === 'function') {
|
5634 |
+
if (!registeredEditorClasses.get(name)) {
|
5635 |
+
_register(null, name);
|
5636 |
+
}
|
5637 |
+
|
5638 |
+
editor = registeredEditorClasses.get(name);
|
5639 |
+
} else if (typeof name === 'string') {
|
5640 |
+
editor = getItem(name);
|
5641 |
+
} else {
|
5642 |
+
throw Error('Only strings and functions can be passed as "editor" parameter');
|
5643 |
+
}
|
5644 |
+
|
5645 |
+
if (!editor) {
|
5646 |
+
throw Error("No editor registered under name \"".concat(name, "\""));
|
5647 |
+
}
|
5648 |
+
|
5649 |
+
return editor.getInstance(hotInstance);
|
5650 |
+
}
|
5651 |
+
/**
|
5652 |
+
* Retrieve editor class.
|
5653 |
+
*
|
5654 |
+
* @param {String} name Editor identification.
|
5655 |
+
* @returns {Function} Returns editor class.
|
5656 |
+
*/
|
5657 |
+
|
5658 |
+
|
5659 |
+
function _getItem(name) {
|
5660 |
+
if (!hasItem(name)) {
|
5661 |
+
throw Error("No registered editor found under \"".concat(name, "\" name"));
|
5662 |
+
}
|
5663 |
+
|
5664 |
+
return getItem(name).getConstructor();
|
5665 |
+
}
|
5666 |
+
/**
|
5667 |
+
* Register editor class under specified name.
|
5668 |
+
*
|
5669 |
+
* @param {String} name Editor identification.
|
5670 |
+
* @param {Function} editorClass Editor class.
|
5671 |
+
*/
|
5672 |
+
|
5673 |
+
|
5674 |
+
function _register(name, editorClass) {
|
5675 |
+
var editorWrapper = new RegisteredEditor(editorClass);
|
5676 |
+
|
5677 |
+
if (typeof name === 'string') {
|
5678 |
+
register(name, editorWrapper);
|
5679 |
+
}
|
5680 |
+
|
5681 |
+
registeredEditorClasses.set(editorClass, editorWrapper);
|
5682 |
+
}
|
5683 |
+
|
5684 |
+
/***/ }),
|
5685 |
+
/* 27 */
|
5686 |
+
/***/ (function(module, exports) {
|
5687 |
+
|
5688 |
+
var hasOwnProperty = {}.hasOwnProperty;
|
5689 |
+
module.exports = function (it, key) {
|
5690 |
+
return hasOwnProperty.call(it, key);
|
5691 |
+
};
|
5692 |
+
|
5693 |
+
|
5694 |
+
/***/ }),
|
5695 |
+
/* 28 */
|
5696 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5697 |
+
|
5698 |
+
var dP = __webpack_require__(17);
|
5699 |
+
var createDesc = __webpack_require__(50);
|
5700 |
+
module.exports = __webpack_require__(20) ? function (object, key, value) {
|
5701 |
+
return dP.f(object, key, createDesc(1, value));
|
5702 |
+
} : function (object, key, value) {
|
5703 |
+
object[key] = value;
|
5704 |
+
return object;
|
5705 |
+
};
|
5706 |
+
|
5707 |
+
|
5708 |
+
/***/ }),
|
5709 |
+
/* 29 */
|
5710 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5711 |
+
|
5712 |
+
// to indexed object, toObject with fallback for non-array-like ES3 strings
|
5713 |
+
var IObject = __webpack_require__(70);
|
5714 |
+
var defined = __webpack_require__(40);
|
5715 |
+
module.exports = function (it) {
|
5716 |
+
return IObject(defined(it));
|
5717 |
+
};
|
5718 |
+
|
5719 |
+
|
5720 |
+
/***/ }),
|
5721 |
+
/* 30 */
|
5722 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5723 |
+
|
5724 |
+
"use strict";
|
5725 |
+
|
5726 |
+
|
5727 |
+
exports.__esModule = true;
|
5728 |
+
exports.normalizeSelection = normalizeSelection;
|
5729 |
+
exports.isSeparator = isSeparator;
|
5730 |
+
exports.hasSubMenu = hasSubMenu;
|
5731 |
+
exports.isDisabled = isDisabled;
|
5732 |
+
exports.isSelectionDisabled = isSelectionDisabled;
|
5733 |
+
exports.getValidSelection = getValidSelection;
|
5734 |
+
exports.prepareVerticalAlignClass = prepareVerticalAlignClass;
|
5735 |
+
exports.prepareHorizontalAlignClass = prepareHorizontalAlignClass;
|
5736 |
+
exports.getAlignmentClasses = getAlignmentClasses;
|
5737 |
+
exports.align = align;
|
5738 |
+
exports.checkSelectionConsistency = checkSelectionConsistency;
|
5739 |
+
exports.markLabelAsSelected = markLabelAsSelected;
|
5740 |
+
exports.isItemHidden = isItemHidden;
|
5741 |
+
exports.filterSeparators = filterSeparators;
|
5742 |
+
|
5743 |
+
var _array = __webpack_require__(3);
|
5744 |
+
|
5745 |
+
var _element = __webpack_require__(1);
|
5746 |
+
|
5747 |
+
var _separator = __webpack_require__(126);
|
5748 |
+
|
5749 |
+
function normalizeSelection(selRanges) {
|
5750 |
+
return (0, _array.arrayMap)(selRanges, function (range) {
|
5751 |
+
return {
|
5752 |
+
start: range.getTopLeftCorner(),
|
5753 |
+
end: range.getBottomRightCorner()
|
5754 |
+
};
|
5755 |
+
});
|
5756 |
+
}
|
5757 |
+
|
5758 |
+
function isSeparator(cell) {
|
5759 |
+
return (0, _element.hasClass)(cell, 'htSeparator');
|
5760 |
+
}
|
5761 |
+
|
5762 |
+
function hasSubMenu(cell) {
|
5763 |
+
return (0, _element.hasClass)(cell, 'htSubmenu');
|
5764 |
+
}
|
5765 |
+
|
5766 |
+
function isDisabled(cell) {
|
5767 |
+
return (0, _element.hasClass)(cell, 'htDisabled');
|
5768 |
+
}
|
5769 |
+
|
5770 |
+
function isSelectionDisabled(cell) {
|
5771 |
+
return (0, _element.hasClass)(cell, 'htSelectionDisabled');
|
5772 |
+
}
|
5773 |
+
|
5774 |
+
function getValidSelection(hot) {
|
5775 |
+
var selected = hot.getSelected();
|
5776 |
+
|
5777 |
+
if (!selected) {
|
5778 |
+
return null;
|
5779 |
+
}
|
5780 |
+
|
5781 |
+
if (selected[0] < 0) {
|
5782 |
+
return null;
|
5783 |
+
}
|
5784 |
+
|
5785 |
+
return selected;
|
5786 |
+
}
|
5787 |
+
|
5788 |
+
function prepareVerticalAlignClass(className, alignment) {
|
5789 |
+
if (className.indexOf(alignment) !== -1) {
|
5790 |
+
return className;
|
5791 |
+
}
|
5792 |
+
|
5793 |
+
var replacedClassName = className.replace('htTop', '').replace('htMiddle', '').replace('htBottom', '').replace(' ', '');
|
5794 |
+
return "".concat(replacedClassName, " ").concat(alignment);
|
5795 |
+
}
|
5796 |
+
|
5797 |
+
function prepareHorizontalAlignClass(className, alignment) {
|
5798 |
+
if (className.indexOf(alignment) !== -1) {
|
5799 |
+
return className;
|
5800 |
+
}
|
5801 |
+
|
5802 |
+
var replacedClassName = className.replace('htLeft', '').replace('htCenter', '').replace('htRight', '').replace('htJustify', '').replace(' ', '');
|
5803 |
+
return "".concat(replacedClassName, " ").concat(alignment);
|
5804 |
+
}
|
5805 |
+
|
5806 |
+
function getAlignmentClasses(ranges, callback) {
|
5807 |
+
var classes = {};
|
5808 |
+
(0, _array.arrayEach)(ranges, function (_ref) {
|
5809 |
+
var from = _ref.from,
|
5810 |
+
to = _ref.to;
|
5811 |
+
|
5812 |
+
for (var row = from.row; row <= to.row; row++) {
|
5813 |
+
for (var col = from.col; col <= to.col; col++) {
|
5814 |
+
if (!classes[row]) {
|
5815 |
+
classes[row] = [];
|
5816 |
+
}
|
5817 |
+
|
5818 |
+
classes[row][col] = callback(row, col);
|
5819 |
+
}
|
5820 |
+
}
|
5821 |
+
});
|
5822 |
+
return classes;
|
5823 |
+
}
|
5824 |
+
|
5825 |
+
function align(ranges, type, alignment, cellDescriptor, propertySetter) {
|
5826 |
+
(0, _array.arrayEach)(ranges, function (_ref2) {
|
5827 |
+
var from = _ref2.from,
|
5828 |
+
to = _ref2.to;
|
5829 |
+
|
5830 |
+
if (from.row === to.row && from.col === to.col) {
|
5831 |
+
applyAlignClassName(from.row, from.col, type, alignment, cellDescriptor, propertySetter);
|
5832 |
+
} else {
|
5833 |
+
for (var row = from.row; row <= to.row; row++) {
|
5834 |
+
for (var col = from.col; col <= to.col; col++) {
|
5835 |
+
applyAlignClassName(row, col, type, alignment, cellDescriptor, propertySetter);
|
5836 |
+
}
|
5837 |
+
}
|
5838 |
+
}
|
5839 |
+
});
|
5840 |
+
}
|
5841 |
+
|
5842 |
+
function applyAlignClassName(row, col, type, alignment, cellDescriptor, propertySetter) {
|
5843 |
+
var cellMeta = cellDescriptor(row, col);
|
5844 |
+
var className = alignment;
|
5845 |
+
|
5846 |
+
if (cellMeta.className) {
|
5847 |
+
if (type === 'vertical') {
|
5848 |
+
className = prepareVerticalAlignClass(cellMeta.className, alignment);
|
5849 |
+
} else {
|
5850 |
+
className = prepareHorizontalAlignClass(cellMeta.className, alignment);
|
5851 |
+
}
|
5852 |
+
}
|
5853 |
+
|
5854 |
+
propertySetter(row, col, 'className', className);
|
5855 |
+
}
|
5856 |
+
|
5857 |
+
function checkSelectionConsistency(ranges, comparator) {
|
5858 |
+
var result = false;
|
5859 |
+
|
5860 |
+
if (Array.isArray(ranges)) {
|
5861 |
+
(0, _array.arrayEach)(ranges, function (range) {
|
5862 |
+
range.forAll(function (row, col) {
|
5863 |
+
if (comparator(row, col)) {
|
5864 |
+
result = true;
|
5865 |
+
return false;
|
5866 |
+
}
|
5867 |
+
});
|
5868 |
+
return result;
|
5869 |
+
});
|
5870 |
+
}
|
5871 |
+
|
5872 |
+
return result;
|
5873 |
+
}
|
5874 |
+
|
5875 |
+
function markLabelAsSelected(label) {
|
5876 |
+
// workaround for https://github.com/handsontable/handsontable/issues/1946
|
5877 |
+
return "<span class=\"selected\">".concat(String.fromCharCode(10003), "</span>").concat(label);
|
5878 |
+
}
|
5879 |
+
|
5880 |
+
function isItemHidden(item, instance) {
|
5881 |
+
return !item.hidden || !(typeof item.hidden === 'function' && item.hidden.call(instance));
|
5882 |
+
}
|
5883 |
+
|
5884 |
+
function shiftSeparators(items, separator) {
|
5885 |
+
var result = items.slice(0);
|
5886 |
+
|
5887 |
+
for (var i = 0; i < result.length;) {
|
5888 |
+
if (result[i].name === separator) {
|
5889 |
+
result.shift();
|
5890 |
+
} else {
|
5891 |
+
break;
|
5892 |
+
}
|
5893 |
+
}
|
5894 |
+
|
5895 |
+
return result;
|
5896 |
+
}
|
5897 |
+
|
5898 |
+
function popSeparators(items, separator) {
|
5899 |
+
var result = items.slice(0);
|
5900 |
+
result.reverse();
|
5901 |
+
result = shiftSeparators(result, separator);
|
5902 |
+
result.reverse();
|
5903 |
+
return result;
|
5904 |
+
}
|
5905 |
+
|
5906 |
+
function removeDuplicatedSeparators(items) {
|
5907 |
+
var result = [];
|
5908 |
+
(0, _array.arrayEach)(items, function (value, index) {
|
5909 |
+
if (index > 0) {
|
5910 |
+
if (result[result.length - 1].name !== value.name) {
|
5911 |
+
result.push(value);
|
5912 |
+
}
|
5913 |
+
} else {
|
5914 |
+
result.push(value);
|
5915 |
+
}
|
5916 |
+
});
|
5917 |
+
return result;
|
5918 |
+
}
|
5919 |
+
|
5920 |
+
function filterSeparators(items) {
|
5921 |
+
var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _separator.KEY;
|
5922 |
+
var result = items.slice(0);
|
5923 |
+
result = shiftSeparators(result, separator);
|
5924 |
+
result = popSeparators(result, separator);
|
5925 |
+
result = removeDuplicatedSeparators(result);
|
5926 |
+
return result;
|
5927 |
+
}
|
5928 |
+
|
5929 |
+
/***/ }),
|
5930 |
+
/* 31 */
|
5931 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5932 |
+
|
5933 |
+
"use strict";
|
5934 |
+
|
5935 |
+
var fails = __webpack_require__(4);
|
5936 |
+
|
5937 |
+
module.exports = function (method, arg) {
|
5938 |
+
return !!method && fails(function () {
|
5939 |
+
// eslint-disable-next-line no-useless-call
|
5940 |
+
arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);
|
5941 |
+
});
|
5942 |
+
};
|
5943 |
+
|
5944 |
+
|
5945 |
+
/***/ }),
|
5946 |
+
/* 32 */
|
5947 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5948 |
+
|
5949 |
+
"use strict";
|
5950 |
+
|
5951 |
+
|
5952 |
+
exports.__esModule = true;
|
5953 |
+
exports.isPrintableChar = isPrintableChar;
|
5954 |
+
exports.isMetaKey = isMetaKey;
|
5955 |
+
exports.isCtrlKey = isCtrlKey;
|
5956 |
+
exports.isCtrlMetaKey = isCtrlMetaKey;
|
5957 |
+
exports.isKey = isKey;
|
5958 |
+
exports.KEY_CODES = void 0;
|
5959 |
+
|
5960 |
+
var _array = __webpack_require__(3);
|
5961 |
+
|
5962 |
+
var KEY_CODES = {
|
5963 |
+
MOUSE_LEFT: 1,
|
5964 |
+
MOUSE_RIGHT: 3,
|
5965 |
+
MOUSE_MIDDLE: 2,
|
5966 |
+
BACKSPACE: 8,
|
5967 |
+
COMMA: 188,
|
5968 |
+
INSERT: 45,
|
5969 |
+
DELETE: 46,
|
5970 |
+
END: 35,
|
5971 |
+
ENTER: 13,
|
5972 |
+
ESCAPE: 27,
|
5973 |
+
CONTROL: 17,
|
5974 |
+
COMMAND_LEFT: 91,
|
5975 |
+
COMMAND_RIGHT: 93,
|
5976 |
+
COMMAND_FIREFOX: 224,
|
5977 |
+
ALT: 18,
|
5978 |
+
HOME: 36,
|
5979 |
+
PAGE_DOWN: 34,
|
5980 |
+
PAGE_UP: 33,
|
5981 |
+
PERIOD: 190,
|
5982 |
+
SPACE: 32,
|
5983 |
+
SHIFT: 16,
|
5984 |
+
CAPS_LOCK: 20,
|
5985 |
+
TAB: 9,
|
5986 |
+
ARROW_RIGHT: 39,
|
5987 |
+
ARROW_LEFT: 37,
|
5988 |
+
ARROW_UP: 38,
|
5989 |
+
ARROW_DOWN: 40,
|
5990 |
+
F1: 112,
|
5991 |
+
F2: 113,
|
5992 |
+
F3: 114,
|
5993 |
+
F4: 115,
|
5994 |
+
F5: 116,
|
5995 |
+
F6: 117,
|
5996 |
+
F7: 118,
|
5997 |
+
F8: 119,
|
5998 |
+
F9: 120,
|
5999 |
+
F10: 121,
|
6000 |
+
F11: 122,
|
6001 |
+
F12: 123,
|
6002 |
+
A: 65,
|
6003 |
+
C: 67,
|
6004 |
+
D: 68,
|
6005 |
+
F: 70,
|
6006 |
+
L: 76,
|
6007 |
+
O: 79,
|
6008 |
+
P: 80,
|
6009 |
+
S: 83,
|
6010 |
+
V: 86,
|
6011 |
+
X: 88
|
6012 |
+
};
|
6013 |
+
/**
|
6014 |
+
* Returns true if keyCode represents a printable character.
|
6015 |
+
*
|
6016 |
+
* @param {Number} keyCode
|
6017 |
+
* @returns {Boolean}
|
6018 |
+
*/
|
6019 |
+
|
6020 |
+
exports.KEY_CODES = KEY_CODES;
|
6021 |
+
|
6022 |
+
function isPrintableChar(keyCode) {
|
6023 |
+
return keyCode === 32 || // space
|
6024 |
+
keyCode >= 48 && keyCode <= 57 || // 0-9
|
6025 |
+
keyCode >= 96 && keyCode <= 111 || // numpad
|
6026 |
+
keyCode >= 186 && keyCode <= 192 || // ;=,-./`
|
6027 |
+
keyCode >= 219 && keyCode <= 222 || // []{}\|"'
|
6028 |
+
keyCode >= 226 || // special chars (229 for Asian chars)
|
6029 |
+
keyCode >= 65 && keyCode <= 90; // a-z
|
6030 |
+
}
|
6031 |
+
/**
|
6032 |
+
* @param {Number} keyCode
|
6033 |
+
* @returns {Boolean}
|
6034 |
+
*/
|
6035 |
+
|
6036 |
+
|
6037 |
+
function isMetaKey(keyCode) {
|
6038 |
+
var metaKeys = [KEY_CODES.ARROW_DOWN, KEY_CODES.ARROW_UP, KEY_CODES.ARROW_LEFT, KEY_CODES.ARROW_RIGHT, KEY_CODES.HOME, KEY_CODES.END, KEY_CODES.DELETE, KEY_CODES.BACKSPACE, KEY_CODES.F1, KEY_CODES.F2, KEY_CODES.F3, KEY_CODES.F4, KEY_CODES.F5, KEY_CODES.F6, KEY_CODES.F7, KEY_CODES.F8, KEY_CODES.F9, KEY_CODES.F10, KEY_CODES.F11, KEY_CODES.F12, KEY_CODES.TAB, KEY_CODES.PAGE_DOWN, KEY_CODES.PAGE_UP, KEY_CODES.ENTER, KEY_CODES.ESCAPE, KEY_CODES.SHIFT, KEY_CODES.CAPS_LOCK, KEY_CODES.ALT];
|
6039 |
+
return metaKeys.indexOf(keyCode) !== -1;
|
6040 |
+
}
|
6041 |
+
/**
|
6042 |
+
* Checks if passed key code is ctrl or cmd key. Depends on what OS the code runs it check key code based on
|
6043 |
+
* different meta key codes.
|
6044 |
+
*
|
6045 |
+
* @param {Number} keyCode Key code to check.
|
6046 |
+
* @returns {Boolean}
|
6047 |
+
*/
|
6048 |
+
|
6049 |
+
|
6050 |
+
function isCtrlKey(keyCode) {
|
6051 |
+
var keys = [];
|
6052 |
+
|
6053 |
+
if (window.navigator.platform.includes('Mac')) {
|
6054 |
+
keys.push(KEY_CODES.COMMAND_LEFT, KEY_CODES.COMMAND_RIGHT, KEY_CODES.COMMAND_FIREFOX);
|
6055 |
+
} else {
|
6056 |
+
keys.push(KEY_CODES.CONTROL);
|
6057 |
+
}
|
6058 |
+
|
6059 |
+
return keys.includes(keyCode);
|
6060 |
+
}
|
6061 |
+
/**
|
6062 |
+
* Checks if passed key code is ctrl or cmd key. This helper checks if the key code matches to meta keys
|
6063 |
+
* regardless of the OS on which it is running.
|
6064 |
+
*
|
6065 |
+
* @param {Number} keyCode Key code to check.
|
6066 |
+
* @returns {Boolean}
|
6067 |
+
*/
|
6068 |
+
|
6069 |
+
|
6070 |
+
function isCtrlMetaKey(keyCode) {
|
6071 |
+
return [KEY_CODES.CONTROL, KEY_CODES.COMMAND_LEFT, KEY_CODES.COMMAND_RIGHT, KEY_CODES.COMMAND_FIREFOX].includes(keyCode);
|
6072 |
+
}
|
6073 |
+
/**
|
6074 |
+
* @param {Number} keyCode
|
6075 |
+
* @param {String} baseCode
|
6076 |
+
* @returns {Boolean}
|
6077 |
+
*/
|
6078 |
+
|
6079 |
+
|
6080 |
+
function isKey(keyCode, baseCode) {
|
6081 |
+
var keys = baseCode.split('|');
|
6082 |
+
var result = false;
|
6083 |
+
(0, _array.arrayEach)(keys, function (key) {
|
6084 |
+
if (keyCode === KEY_CODES[key]) {
|
6085 |
+
result = true;
|
6086 |
+
return false;
|
6087 |
+
}
|
6088 |
+
});
|
6089 |
+
return result;
|
6090 |
+
}
|
6091 |
+
|
6092 |
+
/***/ }),
|
6093 |
+
/* 33 */
|
6094 |
+
/***/ (function(module, exports) {
|
6095 |
+
|
6096 |
+
// 7.1.4 ToInteger
|
6097 |
+
var ceil = Math.ceil;
|
6098 |
+
var floor = Math.floor;
|
6099 |
+
module.exports = function (it) {
|
6100 |
+
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
|
6101 |
+
};
|
6102 |
+
|
6103 |
+
|
6104 |
+
/***/ }),
|
6105 |
+
/* 34 */
|
6106 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6107 |
+
|
6108 |
+
var pIE = __webpack_require__(71);
|
6109 |
+
var createDesc = __webpack_require__(50);
|
6110 |
+
var toIObject = __webpack_require__(29);
|
6111 |
+
var toPrimitive = __webpack_require__(44);
|
6112 |
+
var has = __webpack_require__(27);
|
6113 |
+
var IE8_DOM_DEFINE = __webpack_require__(130);
|
6114 |
+
var gOPD = Object.getOwnPropertyDescriptor;
|
6115 |
+
|
6116 |
+
exports.f = __webpack_require__(20) ? gOPD : function getOwnPropertyDescriptor(O, P) {
|
6117 |
+
O = toIObject(O);
|
6118 |
+
P = toPrimitive(P, true);
|
6119 |
+
if (IE8_DOM_DEFINE) try {
|
6120 |
+
return gOPD(O, P);
|
6121 |
+
} catch (e) { /* empty */ }
|
6122 |
+
if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
|
6123 |
+
};
|
6124 |
+
|
6125 |
+
|
6126 |
+
/***/ }),
|
6127 |
+
/* 35 */
|
6128 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6129 |
+
|
6130 |
+
// most Object methods by ES6 should accept primitives
|
6131 |
+
var $export = __webpack_require__(0);
|
6132 |
+
var core = __webpack_require__(21);
|
6133 |
+
var fails = __webpack_require__(4);
|
6134 |
+
module.exports = function (KEY, exec) {
|
6135 |
+
var fn = (core.Object || {})[KEY] || Object[KEY];
|
6136 |
+
var exp = {};
|
6137 |
+
exp[KEY] = exec(fn);
|
6138 |
+
$export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
|
6139 |
+
};
|
6140 |
+
|
6141 |
+
|
6142 |
+
/***/ }),
|
6143 |
+
/* 36 */
|
6144 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6145 |
+
|
6146 |
+
// 0 -> Array#forEach
|
6147 |
+
// 1 -> Array#map
|
6148 |
+
// 2 -> Array#filter
|
6149 |
+
// 3 -> Array#some
|
6150 |
+
// 4 -> Array#every
|
6151 |
+
// 5 -> Array#find
|
6152 |
+
// 6 -> Array#findIndex
|
6153 |
+
var ctx = __webpack_require__(37);
|
6154 |
+
var IObject = __webpack_require__(70);
|
6155 |
+
var toObject = __webpack_require__(24);
|
6156 |
+
var toLength = __webpack_require__(16);
|
6157 |
+
var asc = __webpack_require__(529);
|
6158 |
+
module.exports = function (TYPE, $create) {
|
6159 |
+
var IS_MAP = TYPE == 1;
|
6160 |
+
var IS_FILTER = TYPE == 2;
|
6161 |
+
var IS_SOME = TYPE == 3;
|
6162 |
+
var IS_EVERY = TYPE == 4;
|
6163 |
+
var IS_FIND_INDEX = TYPE == 6;
|
6164 |
+
var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
|
6165 |
+
var create = $create || asc;
|
6166 |
+
return function ($this, callbackfn, that) {
|
6167 |
+
var O = toObject($this);
|
6168 |
+
var self = IObject(O);
|
6169 |
+
var f = ctx(callbackfn, that, 3);
|
6170 |
+
var length = toLength(self.length);
|
6171 |
+
var index = 0;
|
6172 |
+
var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
|
6173 |
+
var val, res;
|
6174 |
+
for (;length > index; index++) if (NO_HOLES || index in self) {
|
6175 |
+
val = self[index];
|
6176 |
+
res = f(val, index, O);
|
6177 |
+
if (TYPE) {
|
6178 |
+
if (IS_MAP) result[index] = res; // map
|
6179 |
+
else if (res) switch (TYPE) {
|
6180 |
+
case 3: return true; // some
|
6181 |
+
case 5: return val; // find
|
6182 |
+
case 6: return index; // findIndex
|
6183 |
+
case 2: result.push(val); // filter
|
6184 |
+
} else if (IS_EVERY) return false; // every
|
6185 |
+
}
|
6186 |
+
}
|
6187 |
+
return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
|
6188 |
+
};
|
6189 |
+
};
|
6190 |
+
|
6191 |
+
|
6192 |
+
/***/ }),
|
6193 |
+
/* 37 */
|
6194 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6195 |
+
|
6196 |
+
// optional / simple context binding
|
6197 |
+
var aFunction = __webpack_require__(38);
|
6198 |
+
module.exports = function (fn, that, length) {
|
6199 |
+
aFunction(fn);
|
6200 |
+
if (that === undefined) return fn;
|
6201 |
+
switch (length) {
|
6202 |
+
case 1: return function (a) {
|
6203 |
+
return fn.call(that, a);
|
6204 |
+
};
|
6205 |
+
case 2: return function (a, b) {
|
6206 |
+
return fn.call(that, a, b);
|
6207 |
+
};
|
6208 |
+
case 3: return function (a, b, c) {
|
6209 |
+
return fn.call(that, a, b, c);
|
6210 |
+
};
|
6211 |
+
}
|
6212 |
+
return function (/* ...args */) {
|
6213 |
+
return fn.apply(that, arguments);
|
6214 |
+
};
|
6215 |
+
};
|
6216 |
+
|
6217 |
+
|
6218 |
+
/***/ }),
|
6219 |
+
/* 38 */
|
6220 |
+
/***/ (function(module, exports) {
|
6221 |
+
|
6222 |
+
module.exports = function (it) {
|
6223 |
+
if (typeof it != 'function') throw TypeError(it + ' is not a function!');
|
6224 |
+
return it;
|
6225 |
+
};
|
6226 |
+
|
6227 |
+
|
6228 |
+
/***/ }),
|
6229 |
+
/* 39 */
|
6230 |
+
/***/ (function(module, exports) {
|
6231 |
+
|
6232 |
+
var toString = {}.toString;
|
6233 |
+
|
6234 |
+
module.exports = function (it) {
|
6235 |
+
return toString.call(it).slice(8, -1);
|
6236 |
+
};
|
6237 |
+
|
6238 |
+
|
6239 |
+
/***/ }),
|
6240 |
+
/* 40 */
|
6241 |
+
/***/ (function(module, exports) {
|
6242 |
+
|
6243 |
+
// 7.2.1 RequireObjectCoercible(argument)
|
6244 |
+
module.exports = function (it) {
|
6245 |
+
if (it == undefined) throw TypeError("Can't call method on " + it);
|
6246 |
+
return it;
|
6247 |
+
};
|
6248 |
+
|
6249 |
+
|
6250 |
+
/***/ }),
|
6251 |
+
/* 41 */
|
6252 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6253 |
+
|
6254 |
+
"use strict";
|
6255 |
+
|
6256 |
+
if (__webpack_require__(20)) {
|
6257 |
+
var LIBRARY = __webpack_require__(52);
|
6258 |
+
var global = __webpack_require__(6);
|
6259 |
+
var fails = __webpack_require__(4);
|
6260 |
+
var $export = __webpack_require__(0);
|
6261 |
+
var $typed = __webpack_require__(89);
|
6262 |
+
var $buffer = __webpack_require__(118);
|
6263 |
+
var ctx = __webpack_require__(37);
|
6264 |
+
var anInstance = __webpack_require__(64);
|
6265 |
+
var propertyDesc = __webpack_require__(50);
|
6266 |
+
var hide = __webpack_require__(28);
|
6267 |
+
var redefineAll = __webpack_require__(65);
|
6268 |
+
var toInteger = __webpack_require__(33);
|
6269 |
+
var toLength = __webpack_require__(16);
|
6270 |
+
var toIndex = __webpack_require__(156);
|
6271 |
+
var toAbsoluteIndex = __webpack_require__(54);
|
6272 |
+
var toPrimitive = __webpack_require__(44);
|
6273 |
+
var has = __webpack_require__(27);
|
6274 |
+
var classof = __webpack_require__(72);
|
6275 |
+
var isObject = __webpack_require__(7);
|
6276 |
+
var toObject = __webpack_require__(24);
|
6277 |
+
var isArrayIter = __webpack_require__(110);
|
6278 |
+
var create = __webpack_require__(55);
|
6279 |
+
var getPrototypeOf = __webpack_require__(57);
|
6280 |
+
var gOPN = __webpack_require__(56).f;
|
6281 |
+
var getIterFn = __webpack_require__(112);
|
6282 |
+
var uid = __webpack_require__(51);
|
6283 |
+
var wks = __webpack_require__(12);
|
6284 |
+
var createArrayMethod = __webpack_require__(36);
|
6285 |
+
var createArrayIncludes = __webpack_require__(79);
|
6286 |
+
var speciesConstructor = __webpack_require__(73);
|
6287 |
+
var ArrayIterators = __webpack_require__(114);
|
6288 |
+
var Iterators = __webpack_require__(61);
|
6289 |
+
var $iterDetect = __webpack_require__(82);
|
6290 |
+
var setSpecies = __webpack_require__(63);
|
6291 |
+
var arrayFill = __webpack_require__(113);
|
6292 |
+
var arrayCopyWithin = __webpack_require__(147);
|
6293 |
+
var $DP = __webpack_require__(17);
|
6294 |
+
var $GOPD = __webpack_require__(34);
|
6295 |
+
var dP = $DP.f;
|
6296 |
+
var gOPD = $GOPD.f;
|
6297 |
+
var RangeError = global.RangeError;
|
6298 |
+
var TypeError = global.TypeError;
|
6299 |
+
var Uint8Array = global.Uint8Array;
|
6300 |
+
var ARRAY_BUFFER = 'ArrayBuffer';
|
6301 |
+
var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;
|
6302 |
+
var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';
|
6303 |
+
var PROTOTYPE = 'prototype';
|
6304 |
+
var ArrayProto = Array[PROTOTYPE];
|
6305 |
+
var $ArrayBuffer = $buffer.ArrayBuffer;
|
6306 |
+
var $DataView = $buffer.DataView;
|
6307 |
+
var arrayForEach = createArrayMethod(0);
|
6308 |
+
var arrayFilter = createArrayMethod(2);
|
6309 |
+
var arraySome = createArrayMethod(3);
|
6310 |
+
var arrayEvery = createArrayMethod(4);
|
6311 |
+
var arrayFind = createArrayMethod(5);
|
6312 |
+
var arrayFindIndex = createArrayMethod(6);
|
6313 |
+
var arrayIncludes = createArrayIncludes(true);
|
6314 |
+
var arrayIndexOf = createArrayIncludes(false);
|
6315 |
+
var arrayValues = ArrayIterators.values;
|
6316 |
+
var arrayKeys = ArrayIterators.keys;
|
6317 |
+
var arrayEntries = ArrayIterators.entries;
|
6318 |
+
var arrayLastIndexOf = ArrayProto.lastIndexOf;
|
6319 |
+
var arrayReduce = ArrayProto.reduce;
|
6320 |
+
var arrayReduceRight = ArrayProto.reduceRight;
|
6321 |
+
var arrayJoin = ArrayProto.join;
|
6322 |
+
var arraySort = ArrayProto.sort;
|
6323 |
+
var arraySlice = ArrayProto.slice;
|
6324 |
+
var arrayToString = ArrayProto.toString;
|
6325 |
+
var arrayToLocaleString = ArrayProto.toLocaleString;
|
6326 |
+
var ITERATOR = wks('iterator');
|
6327 |
+
var TAG = wks('toStringTag');
|
6328 |
+
var TYPED_CONSTRUCTOR = uid('typed_constructor');
|
6329 |
+
var DEF_CONSTRUCTOR = uid('def_constructor');
|
6330 |
+
var ALL_CONSTRUCTORS = $typed.CONSTR;
|
6331 |
+
var TYPED_ARRAY = $typed.TYPED;
|
6332 |
+
var VIEW = $typed.VIEW;
|
6333 |
+
var WRONG_LENGTH = 'Wrong length!';
|
6334 |
+
|
6335 |
+
var $map = createArrayMethod(1, function (O, length) {
|
6336 |
+
return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);
|
6337 |
+
});
|
6338 |
+
|
6339 |
+
var LITTLE_ENDIAN = fails(function () {
|
6340 |
+
// eslint-disable-next-line no-undef
|
6341 |
+
return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;
|
6342 |
+
});
|
6343 |
+
|
6344 |
+
var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {
|
6345 |
+
new Uint8Array(1).set({});
|
6346 |
+
});
|
6347 |
+
|
6348 |
+
var toOffset = function (it, BYTES) {
|
6349 |
+
var offset = toInteger(it);
|
6350 |
+
if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');
|
6351 |
+
return offset;
|
6352 |
+
};
|
6353 |
+
|
6354 |
+
var validate = function (it) {
|
6355 |
+
if (isObject(it) && TYPED_ARRAY in it) return it;
|
6356 |
+
throw TypeError(it + ' is not a typed array!');
|
6357 |
+
};
|
6358 |
+
|
6359 |
+
var allocate = function (C, length) {
|
6360 |
+
if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {
|
6361 |
+
throw TypeError('It is not a typed array constructor!');
|
6362 |
+
} return new C(length);
|
6363 |
+
};
|
6364 |
+
|
6365 |
+
var speciesFromList = function (O, list) {
|
6366 |
+
return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);
|
6367 |
+
};
|
6368 |
+
|
6369 |
+
var fromList = function (C, list) {
|
6370 |
+
var index = 0;
|
6371 |
+
var length = list.length;
|
6372 |
+
var result = allocate(C, length);
|
6373 |
+
while (length > index) result[index] = list[index++];
|
6374 |
+
return result;
|
6375 |
+
};
|
6376 |
+
|
6377 |
+
var addGetter = function (it, key, internal) {
|
6378 |
+
dP(it, key, { get: function () { return this._d[internal]; } });
|
6379 |
+
};
|
6380 |
+
|
6381 |
+
var $from = function from(source /* , mapfn, thisArg */) {
|
6382 |
+
var O = toObject(source);
|
6383 |
+
var aLen = arguments.length;
|
6384 |
+
var mapfn = aLen > 1 ? arguments[1] : undefined;
|
6385 |
+
var mapping = mapfn !== undefined;
|
6386 |
+
var iterFn = getIterFn(O);
|
6387 |
+
var i, length, values, result, step, iterator;
|
6388 |
+
if (iterFn != undefined && !isArrayIter(iterFn)) {
|
6389 |
+
for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {
|
6390 |
+
values.push(step.value);
|
6391 |
+
} O = values;
|
6392 |
+
}
|
6393 |
+
if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);
|
6394 |
+
for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {
|
6395 |
+
result[i] = mapping ? mapfn(O[i], i) : O[i];
|
6396 |
+
}
|
6397 |
+
return result;
|
6398 |
+
};
|
6399 |
+
|
6400 |
+
var $of = function of(/* ...items */) {
|
6401 |
+
var index = 0;
|
6402 |
+
var length = arguments.length;
|
6403 |
+
var result = allocate(this, length);
|
6404 |
+
while (length > index) result[index] = arguments[index++];
|
6405 |
+
return result;
|
6406 |
+
};
|
6407 |
+
|
6408 |
+
// iOS Safari 6.x fails here
|
6409 |
+
var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });
|
6410 |
+
|
6411 |
+
var $toLocaleString = function toLocaleString() {
|
6412 |
+
return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);
|
6413 |
+
};
|
6414 |
+
|
6415 |
+
var proto = {
|
6416 |
+
copyWithin: function copyWithin(target, start /* , end */) {
|
6417 |
+
return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
|
6418 |
+
},
|
6419 |
+
every: function every(callbackfn /* , thisArg */) {
|
6420 |
+
return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
6421 |
+
},
|
6422 |
+
fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars
|
6423 |
+
return arrayFill.apply(validate(this), arguments);
|
6424 |
+
},
|
6425 |
+
filter: function filter(callbackfn /* , thisArg */) {
|
6426 |
+
return speciesFromList(this, arrayFilter(validate(this), callbackfn,
|
6427 |
+
arguments.length > 1 ? arguments[1] : undefined));
|
6428 |
+
},
|
6429 |
+
find: function find(predicate /* , thisArg */) {
|
6430 |
+
return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
|
6431 |
+
},
|
6432 |
+
findIndex: function findIndex(predicate /* , thisArg */) {
|
6433 |
+
return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
|
6434 |
+
},
|
6435 |
+
forEach: function forEach(callbackfn /* , thisArg */) {
|
6436 |
+
arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
6437 |
+
},
|
6438 |
+
indexOf: function indexOf(searchElement /* , fromIndex */) {
|
6439 |
+
return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
|
6440 |
+
},
|
6441 |
+
includes: function includes(searchElement /* , fromIndex */) {
|
6442 |
+
return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
|
6443 |
+
},
|
6444 |
+
join: function join(separator) { // eslint-disable-line no-unused-vars
|
6445 |
+
return arrayJoin.apply(validate(this), arguments);
|
6446 |
+
},
|
6447 |
+
lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars
|
6448 |
+
return arrayLastIndexOf.apply(validate(this), arguments);
|
6449 |
+
},
|
6450 |
+
map: function map(mapfn /* , thisArg */) {
|
6451 |
+
return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);
|
6452 |
+
},
|
6453 |
+
reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars
|
6454 |
+
return arrayReduce.apply(validate(this), arguments);
|
6455 |
+
},
|
6456 |
+
reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars
|
6457 |
+
return arrayReduceRight.apply(validate(this), arguments);
|
6458 |
+
},
|
6459 |
+
reverse: function reverse() {
|
6460 |
+
var that = this;
|
6461 |
+
var length = validate(that).length;
|
6462 |
+
var middle = Math.floor(length / 2);
|
6463 |
+
var index = 0;
|
6464 |
+
var value;
|
6465 |
+
while (index < middle) {
|
6466 |
+
value = that[index];
|
6467 |
+
that[index++] = that[--length];
|
6468 |
+
that[length] = value;
|
6469 |
+
} return that;
|
6470 |
+
},
|
6471 |
+
some: function some(callbackfn /* , thisArg */) {
|
6472 |
+
return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
6473 |
+
},
|
6474 |
+
sort: function sort(comparefn) {
|
6475 |
+
return arraySort.call(validate(this), comparefn);
|
6476 |
+
},
|
6477 |
+
subarray: function subarray(begin, end) {
|
6478 |
+
var O = validate(this);
|
6479 |
+
var length = O.length;
|
6480 |
+
var $begin = toAbsoluteIndex(begin, length);
|
6481 |
+
return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(
|
6482 |
+
O.buffer,
|
6483 |
+
O.byteOffset + $begin * O.BYTES_PER_ELEMENT,
|
6484 |
+
toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)
|
6485 |
+
);
|
6486 |
+
}
|
6487 |
+
};
|
6488 |
+
|
6489 |
+
var $slice = function slice(start, end) {
|
6490 |
+
return speciesFromList(this, arraySlice.call(validate(this), start, end));
|
6491 |
+
};
|
6492 |
+
|
6493 |
+
var $set = function set(arrayLike /* , offset */) {
|
6494 |
+
validate(this);
|
6495 |
+
var offset = toOffset(arguments[1], 1);
|
6496 |
+
var length = this.length;
|
6497 |
+
var src = toObject(arrayLike);
|
6498 |
+
var len = toLength(src.length);
|
6499 |
+
var index = 0;
|
6500 |
+
if (len + offset > length) throw RangeError(WRONG_LENGTH);
|
6501 |
+
while (index < len) this[offset + index] = src[index++];
|
6502 |
+
};
|
6503 |
+
|
6504 |
+
var $iterators = {
|
6505 |
+
entries: function entries() {
|
6506 |
+
return arrayEntries.call(validate(this));
|
6507 |
+
},
|
6508 |
+
keys: function keys() {
|
6509 |
+
return arrayKeys.call(validate(this));
|
6510 |
+
},
|
6511 |
+
values: function values() {
|
6512 |
+
return arrayValues.call(validate(this));
|
6513 |
+
}
|
6514 |
+
};
|
6515 |
+
|
6516 |
+
var isTAIndex = function (target, key) {
|
6517 |
+
return isObject(target)
|
6518 |
+
&& target[TYPED_ARRAY]
|
6519 |
+
&& typeof key != 'symbol'
|
6520 |
+
&& key in target
|
6521 |
+
&& String(+key) == String(key);
|
6522 |
+
};
|
6523 |
+
var $getDesc = function getOwnPropertyDescriptor(target, key) {
|
6524 |
+
return isTAIndex(target, key = toPrimitive(key, true))
|
6525 |
+
? propertyDesc(2, target[key])
|
6526 |
+
: gOPD(target, key);
|
6527 |
+
};
|
6528 |
+
var $setDesc = function defineProperty(target, key, desc) {
|
6529 |
+
if (isTAIndex(target, key = toPrimitive(key, true))
|
6530 |
+
&& isObject(desc)
|
6531 |
+
&& has(desc, 'value')
|
6532 |
+
&& !has(desc, 'get')
|
6533 |
+
&& !has(desc, 'set')
|
6534 |
+
// TODO: add validation descriptor w/o calling accessors
|
6535 |
+
&& !desc.configurable
|
6536 |
+
&& (!has(desc, 'writable') || desc.writable)
|
6537 |
+
&& (!has(desc, 'enumerable') || desc.enumerable)
|
6538 |
+
) {
|
6539 |
+
target[key] = desc.value;
|
6540 |
+
return target;
|
6541 |
+
} return dP(target, key, desc);
|
6542 |
+
};
|
6543 |
+
|
6544 |
+
if (!ALL_CONSTRUCTORS) {
|
6545 |
+
$GOPD.f = $getDesc;
|
6546 |
+
$DP.f = $setDesc;
|
6547 |
+
}
|
6548 |
+
|
6549 |
+
$export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {
|
6550 |
+
getOwnPropertyDescriptor: $getDesc,
|
6551 |
+
defineProperty: $setDesc
|
6552 |
+
});
|
6553 |
+
|
6554 |
+
if (fails(function () { arrayToString.call({}); })) {
|
6555 |
+
arrayToString = arrayToLocaleString = function toString() {
|
6556 |
+
return arrayJoin.call(this);
|
6557 |
+
};
|
6558 |
+
}
|
6559 |
+
|
6560 |
+
var $TypedArrayPrototype$ = redefineAll({}, proto);
|
6561 |
+
redefineAll($TypedArrayPrototype$, $iterators);
|
6562 |
+
hide($TypedArrayPrototype$, ITERATOR, $iterators.values);
|
6563 |
+
redefineAll($TypedArrayPrototype$, {
|
6564 |
+
slice: $slice,
|
6565 |
+
set: $set,
|
6566 |
+
constructor: function () { /* noop */ },
|
6567 |
+
toString: arrayToString,
|
6568 |
+
toLocaleString: $toLocaleString
|
6569 |
+
});
|
6570 |
+
addGetter($TypedArrayPrototype$, 'buffer', 'b');
|
6571 |
+
addGetter($TypedArrayPrototype$, 'byteOffset', 'o');
|
6572 |
+
addGetter($TypedArrayPrototype$, 'byteLength', 'l');
|
6573 |
+
addGetter($TypedArrayPrototype$, 'length', 'e');
|
6574 |
+
dP($TypedArrayPrototype$, TAG, {
|
6575 |
+
get: function () { return this[TYPED_ARRAY]; }
|
6576 |
+
});
|
6577 |
+
|
6578 |
+
// eslint-disable-next-line max-statements
|
6579 |
+
module.exports = function (KEY, BYTES, wrapper, CLAMPED) {
|
6580 |
+
CLAMPED = !!CLAMPED;
|
6581 |
+
var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';
|
6582 |
+
var GETTER = 'get' + KEY;
|
6583 |
+
var SETTER = 'set' + KEY;
|
6584 |
+
var TypedArray = global[NAME];
|
6585 |
+
var Base = TypedArray || {};
|
6586 |
+
var TAC = TypedArray && getPrototypeOf(TypedArray);
|
6587 |
+
var FORCED = !TypedArray || !$typed.ABV;
|
6588 |
+
var O = {};
|
6589 |
+
var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];
|
6590 |
+
var getter = function (that, index) {
|
6591 |
+
var data = that._d;
|
6592 |
+
return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);
|
6593 |
+
};
|
6594 |
+
var setter = function (that, index, value) {
|
6595 |
+
var data = that._d;
|
6596 |
+
if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;
|
6597 |
+
data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);
|
6598 |
+
};
|
6599 |
+
var addElement = function (that, index) {
|
6600 |
+
dP(that, index, {
|
6601 |
+
get: function () {
|
6602 |
+
return getter(this, index);
|
6603 |
+
},
|
6604 |
+
set: function (value) {
|
6605 |
+
return setter(this, index, value);
|
6606 |
+
},
|
6607 |
+
enumerable: true
|
6608 |
+
});
|
6609 |
+
};
|
6610 |
+
if (FORCED) {
|
6611 |
+
TypedArray = wrapper(function (that, data, $offset, $length) {
|
6612 |
+
anInstance(that, TypedArray, NAME, '_d');
|
6613 |
+
var index = 0;
|
6614 |
+
var offset = 0;
|
6615 |
+
var buffer, byteLength, length, klass;
|
6616 |
+
if (!isObject(data)) {
|
6617 |
+
length = toIndex(data);
|
6618 |
+
byteLength = length * BYTES;
|
6619 |
+
buffer = new $ArrayBuffer(byteLength);
|
6620 |
+
} else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {
|
6621 |
+
buffer = data;
|
6622 |
+
offset = toOffset($offset, BYTES);
|
6623 |
+
var $len = data.byteLength;
|
6624 |
+
if ($length === undefined) {
|
6625 |
+
if ($len % BYTES) throw RangeError(WRONG_LENGTH);
|
6626 |
+
byteLength = $len - offset;
|
6627 |
+
if (byteLength < 0) throw RangeError(WRONG_LENGTH);
|
6628 |
+
} else {
|
6629 |
+
byteLength = toLength($length) * BYTES;
|
6630 |
+
if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);
|
6631 |
+
}
|
6632 |
+
length = byteLength / BYTES;
|
6633 |
+
} else if (TYPED_ARRAY in data) {
|
6634 |
+
return fromList(TypedArray, data);
|
6635 |
+
} else {
|
6636 |
+
return $from.call(TypedArray, data);
|
6637 |
+
}
|
6638 |
+
hide(that, '_d', {
|
6639 |
+
b: buffer,
|
6640 |
+
o: offset,
|
6641 |
+
l: byteLength,
|
6642 |
+
e: length,
|
6643 |
+
v: new $DataView(buffer)
|
6644 |
+
});
|
6645 |
+
while (index < length) addElement(that, index++);
|
6646 |
+
});
|
6647 |
+
TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);
|
6648 |
+
hide(TypedArrayPrototype, 'constructor', TypedArray);
|
6649 |
+
} else if (!fails(function () {
|
6650 |
+
TypedArray(1);
|
6651 |
+
}) || !fails(function () {
|
6652 |
+
new TypedArray(-1); // eslint-disable-line no-new
|
6653 |
+
}) || !$iterDetect(function (iter) {
|
6654 |
+
new TypedArray(); // eslint-disable-line no-new
|
6655 |
+
new TypedArray(null); // eslint-disable-line no-new
|
6656 |
+
new TypedArray(1.5); // eslint-disable-line no-new
|
6657 |
+
new TypedArray(iter); // eslint-disable-line no-new
|
6658 |
+
}, true)) {
|
6659 |
+
TypedArray = wrapper(function (that, data, $offset, $length) {
|
6660 |
+
anInstance(that, TypedArray, NAME);
|
6661 |
+
var klass;
|
6662 |
+
// `ws` module bug, temporarily remove validation length for Uint8Array
|
6663 |
+
// https://github.com/websockets/ws/pull/645
|
6664 |
+
if (!isObject(data)) return new Base(toIndex(data));
|
6665 |
+
if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {
|
6666 |
+
return $length !== undefined
|
6667 |
+
? new Base(data, toOffset($offset, BYTES), $length)
|
6668 |
+
: $offset !== undefined
|
6669 |
+
? new Base(data, toOffset($offset, BYTES))
|
6670 |
+
: new Base(data);
|
6671 |
+
}
|
6672 |
+
if (TYPED_ARRAY in data) return fromList(TypedArray, data);
|
6673 |
+
return $from.call(TypedArray, data);
|
6674 |
+
});
|
6675 |
+
arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {
|
6676 |
+
if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);
|
6677 |
+
});
|
6678 |
+
TypedArray[PROTOTYPE] = TypedArrayPrototype;
|
6679 |
+
if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;
|
6680 |
+
}
|
6681 |
+
var $nativeIterator = TypedArrayPrototype[ITERATOR];
|
6682 |
+
var CORRECT_ITER_NAME = !!$nativeIterator
|
6683 |
+
&& ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);
|
6684 |
+
var $iterator = $iterators.values;
|
6685 |
+
hide(TypedArray, TYPED_CONSTRUCTOR, true);
|
6686 |
+
hide(TypedArrayPrototype, TYPED_ARRAY, NAME);
|
6687 |
+
hide(TypedArrayPrototype, VIEW, true);
|
6688 |
+
hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);
|
6689 |
+
|
6690 |
+
if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {
|
6691 |
+
dP(TypedArrayPrototype, TAG, {
|
6692 |
+
get: function () { return NAME; }
|
6693 |
+
});
|
6694 |
+
}
|
6695 |
+
|
6696 |
+
O[NAME] = TypedArray;
|
6697 |
+
|
6698 |
+
$export($export.G + $export.W + $export.F * (TypedArray != Base), O);
|
6699 |
+
|
6700 |
+
$export($export.S, NAME, {
|
6701 |
+
BYTES_PER_ELEMENT: BYTES
|
6702 |
+
});
|
6703 |
+
|
6704 |
+
$export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {
|
6705 |
+
from: $from,
|
6706 |
+
of: $of
|
6707 |
+
});
|
6708 |
+
|
6709 |
+
if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);
|
6710 |
+
|
6711 |
+
$export($export.P, NAME, proto);
|
6712 |
+
|
6713 |
+
setSpecies(NAME);
|
6714 |
+
|
6715 |
+
$export($export.P + $export.F * FORCED_SET, NAME, { set: $set });
|
6716 |
+
|
6717 |
+
$export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);
|
6718 |
+
|
6719 |
+
if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;
|
6720 |
+
|
6721 |
+
$export($export.P + $export.F * fails(function () {
|
6722 |
+
new TypedArray(1).slice();
|
6723 |
+
}), NAME, { slice: $slice });
|
6724 |
+
|
6725 |
+
$export($export.P + $export.F * (fails(function () {
|
6726 |
+
return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();
|
6727 |
+
}) || !fails(function () {
|
6728 |
+
TypedArrayPrototype.toLocaleString.call([1, 2]);
|
6729 |
+
})), NAME, { toLocaleString: $toLocaleString });
|
6730 |
+
|
6731 |
+
Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;
|
6732 |
+
if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);
|
6733 |
+
};
|
6734 |
+
} else module.exports = function () { /* empty */ };
|
6735 |
+
|
6736 |
+
|
6737 |
+
/***/ }),
|
6738 |
+
/* 42 */
|
6739 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6740 |
+
|
6741 |
+
"use strict";
|
6742 |
+
|
6743 |
+
|
6744 |
+
exports.__esModule = true;
|
6745 |
+
exports.setBrowserMeta = setBrowserMeta;
|
6746 |
+
exports.isChrome = isChrome;
|
6747 |
+
exports.isEdge = isEdge;
|
6748 |
+
exports.isIE = isIE;
|
6749 |
+
exports.isIE8 = isIE8;
|
6750 |
+
exports.isIE9 = isIE9;
|
6751 |
+
exports.isMSBrowser = isMSBrowser;
|
6752 |
+
exports.isMobileBrowser = isMobileBrowser;
|
6753 |
+
exports.isSafari = isSafari;
|
6754 |
+
|
6755 |
+
var _object = __webpack_require__(2);
|
6756 |
+
|
6757 |
+
var tester = function tester(testerFunc) {
|
6758 |
+
var result = {
|
6759 |
+
value: false
|
6760 |
+
};
|
6761 |
+
|
6762 |
+
result.test = function (ua, vendor) {
|
6763 |
+
result.value = testerFunc(ua, vendor);
|
6764 |
+
};
|
6765 |
+
|
6766 |
+
return result;
|
6767 |
+
};
|
6768 |
+
|
6769 |
+
var browsers = {
|
6770 |
+
chrome: tester(function (ua, vendor) {
|
6771 |
+
return /Chrome/.test(ua) && /Google/.test(vendor);
|
6772 |
+
}),
|
6773 |
+
edge: tester(function (ua) {
|
6774 |
+
return /Edge/.test(ua);
|
6775 |
+
}),
|
6776 |
+
ie: tester(function (ua) {
|
6777 |
+
return /Trident/.test(ua);
|
6778 |
+
}),
|
6779 |
+
ie8: tester(function () {
|
6780 |
+
return !document.createTextNode('test').textContent;
|
6781 |
+
}),
|
6782 |
+
ie9: tester(function () {
|
6783 |
+
return !!document.documentMode;
|
6784 |
+
}),
|
6785 |
+
mobile: tester(function (ua) {
|
6786 |
+
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(ua);
|
6787 |
+
}),
|
6788 |
+
safari: tester(function (ua, vendor) {
|
6789 |
+
return /Safari/.test(ua) && /Apple Computer/.test(vendor);
|
6790 |
+
})
|
6791 |
+
};
|
6792 |
+
|
6793 |
+
function setBrowserMeta() {
|
6794 |
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
6795 |
+
_ref$userAgent = _ref.userAgent,
|
6796 |
+
userAgent = _ref$userAgent === void 0 ? navigator.userAgent : _ref$userAgent,
|
6797 |
+
_ref$vendor = _ref.vendor,
|
6798 |
+
vendor = _ref$vendor === void 0 ? navigator.vendor : _ref$vendor;
|
6799 |
+
|
6800 |
+
(0, _object.objectEach)(browsers, function (_ref2) {
|
6801 |
+
var test = _ref2.test;
|
6802 |
+
return void test(userAgent, vendor);
|
6803 |
+
});
|
6804 |
+
}
|
6805 |
+
|
6806 |
+
setBrowserMeta();
|
6807 |
+
|
6808 |
+
function isChrome() {
|
6809 |
+
return browsers.chrome.value;
|
6810 |
+
}
|
6811 |
+
|
6812 |
+
function isEdge() {
|
6813 |
+
return browsers.edge.value;
|
6814 |
+
}
|
6815 |
+
|
6816 |
+
function isIE() {
|
6817 |
+
return browsers.ie.value;
|
6818 |
+
}
|
6819 |
+
|
6820 |
+
function isIE8() {
|
6821 |
+
return browsers.ie8.value;
|
6822 |
+
}
|
6823 |
+
|
6824 |
+
function isIE9() {
|
6825 |
+
return browsers.ie9.value;
|
6826 |
+
}
|
6827 |
+
|
6828 |
+
function isMSBrowser() {
|
6829 |
+
return browsers.ie.value || browsers.edge.value;
|
6830 |
+
}
|
6831 |
+
|
6832 |
+
function isMobileBrowser() {
|
6833 |
+
return browsers.mobile.value;
|
6834 |
+
}
|
6835 |
+
|
6836 |
+
function isSafari() {
|
6837 |
+
return browsers.safari.value;
|
6838 |
+
}
|
6839 |
+
|
6840 |
+
/***/ }),
|
6841 |
+
/* 43 */
|
6842 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6843 |
+
|
6844 |
+
"use strict";
|
6845 |
+
|
6846 |
+
|
6847 |
+
exports.__esModule = true;
|
6848 |
+
exports.default = void 0;
|
6849 |
+
|
6850 |
+
var _element = __webpack_require__(1);
|
6851 |
+
|
6852 |
+
var _object = __webpack_require__(2);
|
6853 |
+
|
6854 |
+
var _array = __webpack_require__(3);
|
6855 |
+
|
6856 |
+
var _eventManager = _interopRequireDefault(__webpack_require__(10));
|
6857 |
+
|
6858 |
+
var _core = _interopRequireDefault(__webpack_require__(165));
|
6859 |
+
|
6860 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
6861 |
+
|
6862 |
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
6863 |
+
|
6864 |
+
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); } }
|
6865 |
+
|
6866 |
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
6867 |
+
|
6868 |
+
var registeredOverlays = {};
|
6869 |
+
/**
|
6870 |
+
* Creates an overlay over the original Walkontable instance. The overlay renders the clone of the original Walkontable
|
6871 |
+
* and (optionally) implements behavior needed for native horizontal and vertical scrolling.
|
6872 |
+
*
|
6873 |
+
* @class Overlay
|
6874 |
+
*/
|
6875 |
+
|
6876 |
+
var Overlay =
|
6877 |
+
/*#__PURE__*/
|
6878 |
+
function () {
|
6879 |
+
_createClass(Overlay, null, [{
|
6880 |
+
key: "registerOverlay",
|
6881 |
+
|
6882 |
+
/**
|
6883 |
+
* Register overlay class.
|
6884 |
+
*
|
6885 |
+
* @param {String} type Overlay type, one of the CLONE_TYPES value
|
6886 |
+
* @param {Overlay} overlayClass Overlay class extended from base overlay class {@link Overlay}
|
6887 |
+
*/
|
6888 |
+
value: function registerOverlay(type, overlayClass) {
|
6889 |
+
if (Overlay.CLONE_TYPES.indexOf(type) === -1) {
|
6890 |
+
throw new Error("Unsupported overlay (".concat(type, ")."));
|
6891 |
+
}
|
6892 |
+
|
6893 |
+
registeredOverlays[type] = overlayClass;
|
6894 |
+
}
|
6895 |
+
/**
|
6896 |
+
* Create new instance of overlay type.
|
6897 |
+
*
|
6898 |
+
* @param {String} type Overlay type, one of the CLONE_TYPES value
|
6899 |
+
* @param {Walkontable} wot Walkontable instance
|
6900 |
+
*/
|
6901 |
+
|
6902 |
+
}, {
|
6903 |
+
key: "createOverlay",
|
6904 |
+
value: function createOverlay(type, wot) {
|
6905 |
+
return new registeredOverlays[type](wot);
|
6906 |
+
}
|
6907 |
+
/**
|
6908 |
+
* Check if specified overlay was registered.
|
6909 |
+
*
|
6910 |
+
* @param {String} type Overlay type, one of the CLONE_TYPES value
|
6911 |
+
* @returns {Boolean}
|
6912 |
+
*/
|
6913 |
+
|
6914 |
+
}, {
|
6915 |
+
key: "hasOverlay",
|
6916 |
+
value: function hasOverlay(type) {
|
6917 |
+
return registeredOverlays[type] !== void 0;
|
6918 |
+
}
|
6919 |
+
/**
|
6920 |
+
* Checks if overlay object (`overlay`) is instance of overlay type (`type`).
|
6921 |
+
*
|
6922 |
+
* @param {Overlay} overlay Overlay object
|
6923 |
+
* @param {String} type Overlay type, one of the CLONE_TYPES value
|
6924 |
+
* @returns {Boolean}
|
6925 |
+
*/
|
6926 |
+
|
6927 |
+
}, {
|
6928 |
+
key: "isOverlayTypeOf",
|
6929 |
+
value: function isOverlayTypeOf(overlay, type) {
|
6930 |
+
if (!overlay || !registeredOverlays[type]) {
|
6931 |
+
return false;
|
6932 |
+
}
|
6933 |
+
|
6934 |
+
return overlay instanceof registeredOverlays[type];
|
6935 |
+
}
|
6936 |
+
/**
|
6937 |
+
* @param {Walkontable} wotInstance
|
6938 |
+
*/
|
6939 |
+
|
6940 |
+
}, {
|
6941 |
+
key: "CLONE_TOP",
|
6942 |
+
|
6943 |
+
/**
|
6944 |
+
* @type {String}
|
6945 |
+
*/
|
6946 |
+
get: function get() {
|
6947 |
+
return 'top';
|
6948 |
+
}
|
6949 |
+
/**
|
6950 |
+
* @type {String}
|
6951 |
+
*/
|
6952 |
+
|
6953 |
+
}, {
|
6954 |
+
key: "CLONE_BOTTOM",
|
6955 |
+
get: function get() {
|
6956 |
+
return 'bottom';
|
6957 |
+
}
|
6958 |
+
/**
|
6959 |
+
* @type {String}
|
6960 |
+
*/
|
6961 |
+
|
6962 |
+
}, {
|
6963 |
+
key: "CLONE_LEFT",
|
6964 |
+
get: function get() {
|
6965 |
+
return 'left';
|
6966 |
+
}
|
6967 |
+
/**
|
6968 |
+
* @type {String}
|
6969 |
+
*/
|
6970 |
+
|
6971 |
+
}, {
|
6972 |
+
key: "CLONE_TOP_LEFT_CORNER",
|
6973 |
+
get: function get() {
|
6974 |
+
return 'top_left_corner';
|
6975 |
+
}
|
6976 |
+
/**
|
6977 |
+
* @type {String}
|
6978 |
+
*/
|
6979 |
+
|
6980 |
+
}, {
|
6981 |
+
key: "CLONE_BOTTOM_LEFT_CORNER",
|
6982 |
+
get: function get() {
|
6983 |
+
return 'bottom_left_corner';
|
6984 |
+
}
|
6985 |
+
/**
|
6986 |
+
* @type {String}
|
6987 |
+
*/
|
6988 |
+
|
6989 |
+
}, {
|
6990 |
+
key: "CLONE_DEBUG",
|
6991 |
+
get: function get() {
|
6992 |
+
return 'debug';
|
6993 |
+
}
|
6994 |
+
/**
|
6995 |
+
* List of all availables clone types
|
6996 |
+
*
|
6997 |
+
* @type {Array}
|
6998 |
+
*/
|
6999 |
+
|
7000 |
+
}, {
|
7001 |
+
key: "CLONE_TYPES",
|
7002 |
+
get: function get() {
|
7003 |
+
return [Overlay.CLONE_TOP, Overlay.CLONE_BOTTOM, Overlay.CLONE_LEFT, Overlay.CLONE_TOP_LEFT_CORNER, Overlay.CLONE_BOTTOM_LEFT_CORNER, Overlay.CLONE_DEBUG];
|
7004 |
+
}
|
7005 |
+
}]);
|
7006 |
+
|
7007 |
+
function Overlay(wotInstance) {
|
7008 |
+
_classCallCheck(this, Overlay);
|
7009 |
+
|
7010 |
+
(0, _object.defineGetter)(this, 'wot', wotInstance, {
|
7011 |
+
writable: false
|
7012 |
+
}); // legacy support, deprecated in the future
|
7013 |
+
|
7014 |
+
this.instance = this.wot;
|
7015 |
+
this.type = '';
|
7016 |
+
this.mainTableScrollableElement = null;
|
7017 |
+
this.TABLE = this.wot.wtTable.TABLE;
|
7018 |
+
this.hider = this.wot.wtTable.hider;
|
7019 |
+
this.spreader = this.wot.wtTable.spreader;
|
7020 |
+
this.holder = this.wot.wtTable.holder;
|
7021 |
+
this.wtRootElement = this.wot.wtTable.wtRootElement;
|
7022 |
+
this.trimmingContainer = (0, _element.getTrimmingContainer)(this.hider.parentNode.parentNode);
|
7023 |
+
this.areElementSizesAdjusted = false;
|
7024 |
+
this.updateStateOfRendering();
|
7025 |
+
}
|
7026 |
+
/**
|
7027 |
+
* Update internal state of object with an information about the need of full rendering of the overlay.
|
7028 |
+
*
|
7029 |
+
* @returns {Boolean} Returns `true` if the state has changed since the last check.
|
7030 |
+
*/
|
7031 |
+
|
7032 |
+
|
7033 |
+
_createClass(Overlay, [{
|
7034 |
+
key: "updateStateOfRendering",
|
7035 |
+
value: function updateStateOfRendering() {
|
7036 |
+
var previousState = this.needFullRender;
|
7037 |
+
this.needFullRender = this.shouldBeRendered();
|
7038 |
+
var changed = previousState !== this.needFullRender;
|
7039 |
+
|
7040 |
+
if (changed && !this.needFullRender) {
|
7041 |
+
this.reset();
|
7042 |
+
}
|
7043 |
+
|
7044 |
+
return changed;
|
7045 |
+
}
|
7046 |
+
/**
|
7047 |
+
* Checks if overlay should be fully rendered
|
7048 |
+
*
|
7049 |
+
* @returns {Boolean}
|
7050 |
+
*/
|
7051 |
+
|
7052 |
+
}, {
|
7053 |
+
key: "shouldBeRendered",
|
7054 |
+
value: function shouldBeRendered() {
|
7055 |
+
return true;
|
7056 |
+
}
|
7057 |
+
/**
|
7058 |
+
* Update the trimming container.
|
7059 |
+
*/
|
7060 |
+
|
7061 |
+
}, {
|
7062 |
+
key: "updateTrimmingContainer",
|
7063 |
+
value: function updateTrimmingContainer() {
|
7064 |
+
this.trimmingContainer = (0, _element.getTrimmingContainer)(this.hider.parentNode.parentNode);
|
7065 |
+
}
|
7066 |
+
/**
|
7067 |
+
* Update the main scrollable element.
|
7068 |
+
*/
|
7069 |
+
|
7070 |
+
}, {
|
7071 |
+
key: "updateMainScrollableElement",
|
7072 |
+
value: function updateMainScrollableElement() {
|
7073 |
+
this.mainTableScrollableElement = (0, _element.getScrollableElement)(this.wot.wtTable.TABLE);
|
7074 |
+
}
|
7075 |
+
/**
|
7076 |
+
* Make a clone of table for overlay
|
7077 |
+
*
|
7078 |
+
* @param {String} direction Can be `Overlay.CLONE_TOP`, `Overlay.CLONE_LEFT`,
|
7079 |
+
* `Overlay.CLONE_TOP_LEFT_CORNER`, `Overlay.CLONE_DEBUG`
|
7080 |
+
* @returns {Walkontable}
|
7081 |
+
*/
|
7082 |
+
|
7083 |
+
}, {
|
7084 |
+
key: "makeClone",
|
7085 |
+
value: function makeClone(direction) {
|
7086 |
+
if (Overlay.CLONE_TYPES.indexOf(direction) === -1) {
|
7087 |
+
throw new Error("Clone type \"".concat(direction, "\" is not supported."));
|
7088 |
+
}
|
7089 |
+
|
7090 |
+
var clone = document.createElement('DIV');
|
7091 |
+
var clonedTable = document.createElement('TABLE');
|
7092 |
+
clone.className = "ht_clone_".concat(direction, " handsontable");
|
7093 |
+
clone.style.position = 'absolute';
|
7094 |
+
clone.style.top = 0;
|
7095 |
+
clone.style.left = 0;
|
7096 |
+
clone.style.overflow = 'hidden';
|
7097 |
+
clonedTable.className = this.wot.wtTable.TABLE.className;
|
7098 |
+
clone.appendChild(clonedTable);
|
7099 |
+
this.type = direction;
|
7100 |
+
this.wot.wtTable.wtRootElement.parentNode.appendChild(clone);
|
7101 |
+
var preventOverflow = this.wot.getSetting('preventOverflow');
|
7102 |
+
|
7103 |
+
if (preventOverflow === true || preventOverflow === 'horizontal' && this.type === Overlay.CLONE_TOP || preventOverflow === 'vertical' && this.type === Overlay.CLONE_LEFT) {
|
7104 |
+
this.mainTableScrollableElement = window;
|
7105 |
+
} else {
|
7106 |
+
this.mainTableScrollableElement = (0, _element.getScrollableElement)(this.wot.wtTable.TABLE);
|
7107 |
+
}
|
7108 |
+
|
7109 |
+
return new _core.default({
|
7110 |
+
cloneSource: this.wot,
|
7111 |
+
cloneOverlay: this,
|
7112 |
+
table: clonedTable
|
7113 |
+
});
|
7114 |
+
}
|
7115 |
+
/**
|
7116 |
+
* Refresh/Redraw overlay
|
7117 |
+
*
|
7118 |
+
* @param {Boolean} [fastDraw=false]
|
7119 |
+
*/
|
7120 |
+
|
7121 |
+
}, {
|
7122 |
+
key: "refresh",
|
7123 |
+
value: function refresh() {
|
7124 |
+
var fastDraw = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
7125 |
+
// When hot settings are changed we allow to refresh overlay once before blocking
|
7126 |
+
var nextCycleRenderFlag = this.shouldBeRendered();
|
7127 |
+
|
7128 |
+
if (this.clone && (this.needFullRender || nextCycleRenderFlag)) {
|
7129 |
+
this.clone.draw(fastDraw);
|
7130 |
+
}
|
7131 |
+
|
7132 |
+
this.needFullRender = nextCycleRenderFlag;
|
7133 |
+
}
|
7134 |
+
/**
|
7135 |
+
* Reset overlay styles to initial values.
|
7136 |
+
*/
|
7137 |
+
|
7138 |
+
}, {
|
7139 |
+
key: "reset",
|
7140 |
+
value: function reset() {
|
7141 |
+
if (!this.clone) {
|
7142 |
+
return;
|
7143 |
+
}
|
7144 |
+
|
7145 |
+
var holder = this.clone.wtTable.holder;
|
7146 |
+
var hider = this.clone.wtTable.hider;
|
7147 |
+
var holderStyle = holder.style;
|
7148 |
+
var hidderStyle = hider.style;
|
7149 |
+
var rootStyle = holder.parentNode.style;
|
7150 |
+
(0, _array.arrayEach)([holderStyle, hidderStyle, rootStyle], function (style) {
|
7151 |
+
style.width = '';
|
7152 |
+
style.height = '';
|
7153 |
+
});
|
7154 |
+
}
|
7155 |
+
/**
|
7156 |
+
* Destroy overlay instance
|
7157 |
+
*/
|
7158 |
+
|
7159 |
+
}, {
|
7160 |
+
key: "destroy",
|
7161 |
+
value: function destroy() {
|
7162 |
+
new _eventManager.default(this.clone).destroy();
|
7163 |
+
}
|
7164 |
+
}]);
|
7165 |
+
|
7166 |
+
return Overlay;
|
7167 |
+
}();
|
7168 |
+
|
7169 |
+
var _default = Overlay;
|
7170 |
+
exports.default = _default;
|
7171 |
+
|
7172 |
+
/***/ }),
|
7173 |
+
/* 44 */
|
7174 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7175 |
+
|
7176 |
+
// 7.1.1 ToPrimitive(input [, PreferredType])
|
7177 |
+
var isObject = __webpack_require__(7);
|
7178 |
+
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
7179 |
+
// and the second argument - flag - preferred type is a string
|
7180 |
+
module.exports = function (it, S) {
|
7181 |
+
if (!isObject(it)) return it;
|
7182 |
+
var fn, val;
|
7183 |
+
if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
7184 |
+
if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
|
7185 |
+
if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
7186 |
+
throw TypeError("Can't convert object to primitive value");
|
7187 |
+
};
|
7188 |
+
|
7189 |
+
|
7190 |
+
/***/ }),
|
7191 |
+
/* 45 */
|
7192 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7193 |
+
|
7194 |
+
var META = __webpack_require__(51)('meta');
|
7195 |
+
var isObject = __webpack_require__(7);
|
7196 |
+
var has = __webpack_require__(27);
|
7197 |
+
var setDesc = __webpack_require__(17).f;
|
7198 |
+
var id = 0;
|
7199 |
+
var isExtensible = Object.isExtensible || function () {
|
7200 |
+
return true;
|
7201 |
+
};
|
7202 |
+
var FREEZE = !__webpack_require__(4)(function () {
|
7203 |
+
return isExtensible(Object.preventExtensions({}));
|
7204 |
+
});
|
7205 |
+
var setMeta = function (it) {
|
7206 |
+
setDesc(it, META, { value: {
|
7207 |
+
i: 'O' + ++id, // object ID
|
7208 |
+
w: {} // weak collections IDs
|
7209 |
+
} });
|
7210 |
+
};
|
7211 |
+
var fastKey = function (it, create) {
|
7212 |
+
// return primitive with prefix
|
7213 |
+
if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
|
7214 |
+
if (!has(it, META)) {
|
7215 |
+
// can't set metadata to uncaught frozen object
|
7216 |
+
if (!isExtensible(it)) return 'F';
|
7217 |
+
// not necessary to add metadata
|
7218 |
+
if (!create) return 'E';
|
7219 |
+
// add missing metadata
|
7220 |
+
setMeta(it);
|
7221 |
+
// return object ID
|
7222 |
+
} return it[META].i;
|
7223 |
+
};
|
7224 |
+
var getWeak = function (it, create) {
|
7225 |
+
if (!has(it, META)) {
|
7226 |
+
// can't set metadata to uncaught frozen object
|
7227 |
+
if (!isExtensible(it)) return true;
|
7228 |
+
// not necessary to add metadata
|
7229 |
+
if (!create) return false;
|
7230 |
+
// add missing metadata
|
7231 |
+
setMeta(it);
|
7232 |
+
// return hash weak collections IDs
|
7233 |
+
} return it[META].w;
|
7234 |
+
};
|
7235 |
+
// add metadata on freeze-family methods calling
|
7236 |
+
var onFreeze = function (it) {
|
7237 |
+
if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
|
7238 |
+
return it;
|
7239 |
+
};
|
7240 |
+
var meta = module.exports = {
|
7241 |
+
KEY: META,
|
7242 |
+
NEED: false,
|
7243 |
+
fastKey: fastKey,
|
7244 |
+
getWeak: getWeak,
|
7245 |
+
onFreeze: onFreeze
|
7246 |
+
};
|
7247 |
+
|
7248 |
+
|
7249 |
+
/***/ }),
|
7250 |
+
/* 46 */
|
7251 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7252 |
+
|
7253 |
+
"use strict";
|
7254 |
+
|
7255 |
+
|
7256 |
+
exports.__esModule = true;
|
7257 |
+
exports.default = staticRegister;
|
7258 |
+
exports.collection = void 0;
|
7259 |
+
|
7260 |
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
|
7261 |
+
|
7262 |
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
|
7263 |
+
|
7264 |
+
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
|
7265 |
+
|
7266 |
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
|
7267 |
+
|
7268 |
+
var collection = new Map();
|
7269 |
+
exports.collection = collection;
|
7270 |
+
|
7271 |
+
function staticRegister() {
|
7272 |
+
var namespace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'common';
|
7273 |
+
|
7274 |
+
if (!collection.has(namespace)) {
|
7275 |
+
collection.set(namespace, new Map());
|
7276 |
+
}
|
7277 |
+
|
7278 |
+
var subCollection = collection.get(namespace);
|
7279 |
+
/**
|
7280 |
+
* Register an item to the collection. If the item under the same was exist earlier then this item will be replaced with new one.
|
7281 |
+
*
|
7282 |
+
* @param {String} name Identification of the item.
|
7283 |
+
* @param {*} item Item to save in the collection.
|
7284 |
+
*/
|
7285 |
+
|
7286 |
+
function register(name, item) {
|
7287 |
+
subCollection.set(name, item);
|
7288 |
+
}
|
7289 |
+
/**
|
7290 |
+
* Retrieve the item from the collection.
|
7291 |
+
*
|
7292 |
+
* @param {String} name Identification of the item.
|
7293 |
+
* @returns {*} Returns item which was saved in the collection.
|
7294 |
+
*/
|
7295 |
+
|
7296 |
+
|
7297 |
+
function getItem(name) {
|
7298 |
+
return subCollection.get(name);
|
7299 |
+
}
|
7300 |
+
/**
|
7301 |
+
* Check if item under specyfied name is exists.
|
7302 |
+
*
|
7303 |
+
* @param {String} name Identification of the item.
|
7304 |
+
* @returns {Boolean} Returns `true` or `false` depends on if element exists in the collection.
|
7305 |
+
*/
|
7306 |
+
|
7307 |
+
|
7308 |
+
function hasItem(name) {
|
7309 |
+
return subCollection.has(name);
|
7310 |
+
}
|
7311 |
+
/**
|
7312 |
+
* Retrieve list of names registered from the collection.
|
7313 |
+
*
|
7314 |
+
* @returns {Array} Returns an array of strings with all names under which objects are stored.
|
7315 |
+
*/
|
7316 |
+
|
7317 |
+
|
7318 |
+
function getNames() {
|
7319 |
+
return _toConsumableArray(subCollection.keys());
|
7320 |
+
}
|
7321 |
+
/**
|
7322 |
+
* Retrieve all registered values from the collection.
|
7323 |
+
*
|
7324 |
+
* @returns {Array} Returns an array with all values stored in the collection.
|
7325 |
+
*/
|
7326 |
+
|
7327 |
+
|
7328 |
+
function getValues() {
|
7329 |
+
return _toConsumableArray(subCollection.values());
|
7330 |
+
}
|
7331 |
+
|
7332 |
+
return {
|
7333 |
+
register: register,
|
7334 |
+
getItem: getItem,
|
7335 |
+
hasItem: hasItem,
|
7336 |
+
getNames: getNames,
|
7337 |
+
getValues: getValues
|
7338 |
+
};
|
7339 |
+
}
|
7340 |
+
|
7341 |
+
/***/ }),
|
7342 |
+
/* 47 */
|
7343 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7344 |
+
|
7345 |
+
"use strict";
|
7346 |
+
|
7347 |
+
|
7348 |
+
exports.__esModule = true;
|
7349 |
+
exports.requestAnimationFrame = requestAnimationFrame;
|
7350 |
+
exports.cancelAnimationFrame = cancelAnimationFrame;
|
7351 |
+
exports.isTouchSupported = isTouchSupported;
|
7352 |
+
exports.isWebComponentSupportedNatively = isWebComponentSupportedNatively;
|
7353 |
+
exports.hasCaptionProblem = hasCaptionProblem;
|
7354 |
+
exports.getComparisonFunction = getComparisonFunction;
|
7355 |
+
|
7356 |
+
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
7357 |
+
|
7358 |
+
// https://gist.github.com/paulirish/1579671
|
7359 |
+
var lastTime = 0;
|
7360 |
+
var vendors = ['ms', 'moz', 'webkit', 'o'];
|
7361 |
+
var _requestAnimationFrame = window.requestAnimationFrame;
|
7362 |
+
var _cancelAnimationFrame = window.cancelAnimationFrame;
|
7363 |
+
|
7364 |
+
for (var x = 0; x < vendors.length && !_requestAnimationFrame; ++x) {
|
7365 |
+
_requestAnimationFrame = window["".concat(vendors[x], "RequestAnimationFrame")];
|
7366 |
+
_cancelAnimationFrame = window["".concat(vendors[x], "CancelAnimationFrame")] || window["".concat(vendors[x], "CancelRequestAnimationFrame")];
|
7367 |
+
}
|
7368 |
+
|
7369 |
+
if (!_requestAnimationFrame) {
|
7370 |
+
_requestAnimationFrame = function _requestAnimationFrame(callback) {
|
7371 |
+
var currTime = new Date().getTime();
|
7372 |
+
var timeToCall = Math.max(0, 16 - (currTime - lastTime));
|
7373 |
+
var id = window.setTimeout(function () {
|
7374 |
+
callback(currTime + timeToCall);
|
7375 |
+
}, timeToCall);
|
7376 |
+
lastTime = currTime + timeToCall;
|
7377 |
+
return id;
|
7378 |
+
};
|
7379 |
+
}
|
7380 |
+
|
7381 |
+
if (!_cancelAnimationFrame) {
|
7382 |
+
_cancelAnimationFrame = function _cancelAnimationFrame(id) {
|
7383 |
+
clearTimeout(id);
|
7384 |
+
};
|
7385 |
+
}
|
7386 |
+
/**
|
7387 |
+
* Polyfill for requestAnimationFrame
|
7388 |
+
*
|
7389 |
+
* @param {Function} callback
|
7390 |
+
* @returns {Number}
|
7391 |
+
*/
|
7392 |
+
|
7393 |
+
|
7394 |
+
function requestAnimationFrame(callback) {
|
7395 |
+
return _requestAnimationFrame.call(window, callback);
|
7396 |
+
}
|
7397 |
+
/**
|
7398 |
+
* Polyfill for cancelAnimationFrame
|
7399 |
+
*
|
7400 |
+
* @param {Number} id
|
7401 |
+
*/
|
7402 |
+
|
7403 |
+
|
7404 |
+
function cancelAnimationFrame(id) {
|
7405 |
+
_cancelAnimationFrame.call(window, id);
|
7406 |
+
}
|
7407 |
+
|
7408 |
+
function isTouchSupported() {
|
7409 |
+
return 'ontouchstart' in window;
|
7410 |
+
}
|
7411 |
+
/**
|
7412 |
+
* Checks if browser is support web components natively
|
7413 |
+
*
|
7414 |
+
* @returns {Boolean}
|
7415 |
+
*/
|
7416 |
+
|
7417 |
+
|
7418 |
+
function isWebComponentSupportedNatively() {
|
7419 |
+
var test = document.createElement('div');
|
7420 |
+
return !!(test.createShadowRoot && test.createShadowRoot.toString().match(/\[native code\]/));
|
7421 |
+
}
|
7422 |
+
|
7423 |
+
var _hasCaptionProblem;
|
7424 |
+
|
7425 |
+
function detectCaptionProblem() {
|
7426 |
+
var TABLE = document.createElement('TABLE');
|
7427 |
+
TABLE.style.borderSpacing = '0';
|
7428 |
+
TABLE.style.borderWidth = '0';
|
7429 |
+
TABLE.style.padding = '0';
|
7430 |
+
var TBODY = document.createElement('TBODY');
|
7431 |
+
TABLE.appendChild(TBODY);
|
7432 |
+
TBODY.appendChild(document.createElement('TR'));
|
7433 |
+
TBODY.firstChild.appendChild(document.createElement('TD'));
|
7434 |
+
TBODY.firstChild.firstChild.innerHTML = '<tr><td>t<br>t</td></tr>';
|
7435 |
+
var CAPTION = document.createElement('CAPTION');
|
7436 |
+
CAPTION.innerHTML = 'c<br>c<br>c<br>c';
|
7437 |
+
CAPTION.style.padding = '0';
|
7438 |
+
CAPTION.style.margin = '0';
|
7439 |
+
TABLE.insertBefore(CAPTION, TBODY);
|
7440 |
+
document.body.appendChild(TABLE);
|
7441 |
+
_hasCaptionProblem = TABLE.offsetHeight < 2 * TABLE.lastChild.offsetHeight; // boolean
|
7442 |
+
|
7443 |
+
document.body.removeChild(TABLE);
|
7444 |
+
}
|
7445 |
+
|
7446 |
+
function hasCaptionProblem() {
|
7447 |
+
if (_hasCaptionProblem === void 0) {
|
7448 |
+
detectCaptionProblem();
|
7449 |
+
}
|
7450 |
+
|
7451 |
+
return _hasCaptionProblem;
|
7452 |
+
}
|
7453 |
+
|
7454 |
+
var comparisonFunction;
|
7455 |
+
/**
|
7456 |
+
* Get string comparison function for sorting purposes. It supports multilingual string comparison base on Internationalization API.
|
7457 |
+
*
|
7458 |
+
* @param {String} [language]
|
7459 |
+
* @param {Object} [options]
|
7460 |
+
* @returns {*}
|
7461 |
+
*/
|
7462 |
+
|
7463 |
+
function getComparisonFunction(language) {
|
7464 |
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
7465 |
+
|
7466 |
+
if (comparisonFunction) {
|
7467 |
+
return comparisonFunction;
|
7468 |
+
}
|
7469 |
+
|
7470 |
+
if ((typeof Intl === "undefined" ? "undefined" : _typeof(Intl)) === 'object') {
|
7471 |
+
comparisonFunction = new Intl.Collator(language, options).compare;
|
7472 |
+
} else if (typeof String.prototype.localeCompare === 'function') {
|
7473 |
+
comparisonFunction = function comparisonFunction(a, b) {
|
7474 |
+
return "".concat(a).localeCompare(b);
|
7475 |
+
};
|
7476 |
+
} else {
|
7477 |
+
comparisonFunction = function comparisonFunction(a, b) {
|
7478 |
+
if (a === b) {
|
7479 |
+
return 0;
|
7480 |
+
}
|
7481 |
+
|
7482 |
+
return a > b ? -1 : 1;
|
7483 |
+
};
|
7484 |
+
}
|
7485 |
+
|
7486 |
+
return comparisonFunction;
|
7487 |
+
}
|
7488 |
+
|
7489 |
+
/***/ }),
|
7490 |
+
/* 48 */
|
7491 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7492 |
+
|
7493 |
+
"use strict";
|
7494 |
+
|
7495 |
+
|
7496 |
+
exports.__esModule = true;
|
7497 |
+
exports.toUpperCaseFirst = toUpperCaseFirst;
|
7498 |
+
exports.equalsIgnoreCase = equalsIgnoreCase;
|
7499 |
+
exports.randomString = randomString;
|
7500 |
+
exports.isPercentValue = isPercentValue;
|
7501 |
+
exports.substitute = substitute;
|
7502 |
+
exports.stripTags = stripTags;
|
7503 |
+
|
7504 |
+
var _mixed = __webpack_require__(14);
|
7505 |
+
|
7506 |
+
/**
|
7507 |
+
* Convert string to upper case first letter.
|
7508 |
+
*
|
7509 |
+
* @param {String} string String to convert.
|
7510 |
+
* @returns {String}
|
7511 |
+
*/
|
7512 |
+
function toUpperCaseFirst(string) {
|
7513 |
+
return string[0].toUpperCase() + string.substr(1);
|
7514 |
+
}
|
7515 |
+
/**
|
7516 |
+
* Compare strings case insensitively.
|
7517 |
+
*
|
7518 |
+
* @param {...String} strings Strings to compare.
|
7519 |
+
* @returns {Boolean}
|
7520 |
+
*/
|
7521 |
+
|
7522 |
+
|
7523 |
+
function equalsIgnoreCase() {
|
7524 |
+
var unique = [];
|
7525 |
+
|
7526 |
+
for (var _len = arguments.length, strings = new Array(_len), _key = 0; _key < _len; _key++) {
|
7527 |
+
strings[_key] = arguments[_key];
|
7528 |
+
}
|
7529 |
+
|
7530 |
+
var length = strings.length;
|
7531 |
+
|
7532 |
+
while (length) {
|
7533 |
+
length -= 1;
|
7534 |
+
var string = (0, _mixed.stringify)(strings[length]).toLowerCase();
|
7535 |
+
|
7536 |
+
if (unique.indexOf(string) === -1) {
|
7537 |
+
unique.push(string);
|
7538 |
+
}
|
7539 |
+
}
|
7540 |
+
|
7541 |
+
return unique.length === 1;
|
7542 |
+
}
|
7543 |
+
/**
|
7544 |
+
* Generates a random hex string. Used as namespace for Handsontable instance events.
|
7545 |
+
*
|
7546 |
+
* @return {String} Returns 16-long character random string (eq. `'92b1bfc74ec4'`).
|
7547 |
+
*/
|
7548 |
+
|
7549 |
+
|
7550 |
+
function randomString() {
|
7551 |
+
function s4() {
|
7552 |
+
return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
|
7553 |
+
}
|
7554 |
+
|
7555 |
+
return s4() + s4() + s4() + s4();
|
7556 |
+
}
|
7557 |
+
/**
|
7558 |
+
* Checks if value is valid percent.
|
7559 |
+
*
|
7560 |
+
* @param {String} value
|
7561 |
+
* @returns {Boolean}
|
7562 |
+
*/
|
7563 |
+
|
7564 |
+
|
7565 |
+
function isPercentValue(value) {
|
7566 |
+
return /^([0-9][0-9]?%$)|(^100%$)/.test(value);
|
7567 |
+
}
|
7568 |
+
/**
|
7569 |
+
* Substitute strings placed beetwen square brackets into value defined in `variables` object. String names defined in
|
7570 |
+
* square brackets must be the same as property name of `variables` object.
|
7571 |
+
*
|
7572 |
+
* @param {String} template Template string.
|
7573 |
+
* @param {Object} variables Object which contains all available values which can be injected into template.
|
7574 |
+
* @returns {String}
|
7575 |
+
*/
|
7576 |
+
|
7577 |
+
|
7578 |
+
function substitute(template) {
|
7579 |
+
var variables = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
7580 |
+
return "".concat(template).replace(/(?:\\)?\[([^[\]]+)]/g, function (match, name) {
|
7581 |
+
if (match.charAt(0) === '\\') {
|
7582 |
+
return match.substr(1, match.length - 1);
|
7583 |
+
}
|
7584 |
+
|
7585 |
+
return variables[name] === void 0 ? '' : variables[name];
|
7586 |
+
});
|
7587 |
+
}
|
7588 |
+
|
7589 |
+
var STRIP_TAGS_REGEX = /<\/?\w+\/?>|<\w+[\s|/][^>]*>/gi;
|
7590 |
+
/**
|
7591 |
+
* Strip any HTML tag from the string.
|
7592 |
+
*
|
7593 |
+
* @param {String} string String to cut HTML from.
|
7594 |
+
* @return {String}
|
7595 |
+
*/
|
7596 |
+
|
7597 |
+
function stripTags(string) {
|
7598 |
+
return "".concat(string).replace(STRIP_TAGS_REGEX, '');
|
7599 |
+
}
|
7600 |
+
|
7601 |
+
/***/ }),
|
7602 |
+
/* 49 */
|
7603 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7604 |
+
|
7605 |
+
"use strict";
|
7606 |
+
|
7607 |
+
|
7608 |
+
exports.__esModule = true;
|
7609 |
+
exports.getValidator = _getItem;
|
7610 |
+
exports.getRegisteredValidators = exports.getRegisteredValidatorNames = exports.hasValidator = exports.registerValidator = void 0;
|
7611 |
+
|
7612 |
+
var _staticRegister2 = _interopRequireDefault(__webpack_require__(46));
|
7613 |
+
|
7614 |
+
var _autocompleteValidator = _interopRequireDefault(__webpack_require__(631));
|
7615 |
+
|
7616 |
+
var _dateValidator = _interopRequireDefault(__webpack_require__(632));
|
7617 |
+
|
7618 |
+
var _numericValidator = _interopRequireDefault(__webpack_require__(633));
|
7619 |
+
|
7620 |
+
var _timeValidator = _interopRequireDefault(__webpack_require__(634));
|
7621 |
+
|
7622 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
7623 |
+
|
7624 |
+
var _staticRegister = (0, _staticRegister2.default)('validators'),
|
7625 |
+
register = _staticRegister.register,
|
7626 |
+
getItem = _staticRegister.getItem,
|
7627 |
+
hasItem = _staticRegister.hasItem,
|
7628 |
+
getNames = _staticRegister.getNames,
|
7629 |
+
getValues = _staticRegister.getValues;
|
7630 |
+
|
7631 |
+
exports.getRegisteredValidators = getValues;
|
7632 |
+
exports.getRegisteredValidatorNames = getNames;
|
7633 |
+
exports.hasValidator = hasItem;
|
7634 |
+
exports.registerValidator = register;
|
7635 |
+
register('autocomplete', _autocompleteValidator.default);
|
7636 |
+
register('date', _dateValidator.default);
|
7637 |
+
register('numeric', _numericValidator.default);
|
7638 |
+
register('time', _timeValidator.default);
|
7639 |
+
/**
|
7640 |
+
* Retrieve validator function.
|
7641 |
+
*
|
7642 |
+
* @param {String} name Validator identification.
|
7643 |
+
* @returns {Function} Returns validator function.
|
7644 |
+
*/
|
7645 |
+
|
7646 |
+
function _getItem(name) {
|
7647 |
+
if (typeof name === 'function') {
|
7648 |
+
return name;
|
7649 |
+
}
|
7650 |
+
|
7651 |
+
if (!hasItem(name)) {
|
7652 |
+
throw Error("No registered validator found under \"".concat(name, "\" name"));
|
7653 |
+
}
|
7654 |
+
|
7655 |
+
return getItem(name);
|
7656 |
+
}
|
7657 |
+
|
7658 |
+
/***/ }),
|
7659 |
+
/* 50 */
|
7660 |
+
/***/ (function(module, exports) {
|
7661 |
+
|
7662 |
+
module.exports = function (bitmap, value) {
|
7663 |
+
return {
|
7664 |
+
enumerable: !(bitmap & 1),
|
7665 |
+
configurable: !(bitmap & 2),
|
7666 |
+
writable: !(bitmap & 4),
|
7667 |
+
value: value
|
7668 |
+
};
|
7669 |
+
};
|
7670 |
+
|
7671 |
+
|
7672 |
+
/***/ }),
|
7673 |
+
/* 51 */
|
7674 |
+
/***/ (function(module, exports) {
|
7675 |
+
|
7676 |
+
var id = 0;
|
7677 |
+
var px = Math.random();
|
7678 |
+
module.exports = function (key) {
|
7679 |
+
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
|
7680 |
+
};
|
7681 |
+
|
7682 |
+
|
7683 |
+
/***/ }),
|
7684 |
+
/* 52 */
|
7685 |
+
/***/ (function(module, exports) {
|
7686 |
+
|
7687 |
+
module.exports = false;
|
7688 |
+
|
7689 |
+
|
7690 |
+
/***/ }),
|
7691 |
+
/* 53 */
|
7692 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7693 |
+
|
7694 |
+
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
|
7695 |
+
var $keys = __webpack_require__(132);
|
7696 |
+
var enumBugKeys = __webpack_require__(96);
|
7697 |
+
|
7698 |
+
module.exports = Object.keys || function keys(O) {
|
7699 |
+
return $keys(O, enumBugKeys);
|
7700 |
+
};
|
7701 |
+
|
7702 |
+
|
7703 |
+
/***/ }),
|
7704 |
+
/* 54 */
|
7705 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7706 |
+
|
7707 |
+
var toInteger = __webpack_require__(33);
|
7708 |
+
var max = Math.max;
|
7709 |
+
var min = Math.min;
|
7710 |
+
module.exports = function (index, length) {
|
7711 |
+
index = toInteger(index);
|
7712 |
+
return index < 0 ? max(index + length, 0) : min(index, length);
|
7713 |
+
};
|
7714 |
+
|
7715 |
+
|
7716 |
+
/***/ }),
|
7717 |
+
/* 55 */
|
7718 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7719 |
+
|
7720 |
+
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
|
7721 |
+
var anObject = __webpack_require__(5);
|
7722 |
+
var dPs = __webpack_require__(133);
|
7723 |
+
var enumBugKeys = __webpack_require__(96);
|
7724 |
+
var IE_PROTO = __webpack_require__(95)('IE_PROTO');
|
7725 |
+
var Empty = function () { /* empty */ };
|
7726 |
+
var PROTOTYPE = 'prototype';
|
7727 |
+
|
7728 |
+
// Create object with fake `null` prototype: use iframe Object with cleared prototype
|
7729 |
+
var createDict = function () {
|
7730 |
+
// Thrash, waste and sodomy: IE GC bug
|
7731 |
+
var iframe = __webpack_require__(92)('iframe');
|
7732 |
+
var i = enumBugKeys.length;
|
7733 |
+
var lt = '<';
|
7734 |
+
var gt = '>';
|
7735 |
+
var iframeDocument;
|
7736 |
+
iframe.style.display = 'none';
|
7737 |
+
__webpack_require__(98).appendChild(iframe);
|
7738 |
+
iframe.src = 'javascript:'; // eslint-disable-line no-script-url
|
7739 |
+
// createDict = iframe.contentWindow.Object;
|
7740 |
+
// html.removeChild(iframe);
|
7741 |
+
iframeDocument = iframe.contentWindow.document;
|
7742 |
+
iframeDocument.open();
|
7743 |
+
iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
|
7744 |
+
iframeDocument.close();
|
7745 |
+
createDict = iframeDocument.F;
|
7746 |
+
while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
|
7747 |
+
return createDict();
|
7748 |
+
};
|
7749 |
+
|
7750 |
+
module.exports = Object.create || function create(O, Properties) {
|
7751 |
+
var result;
|
7752 |
+
if (O !== null) {
|
7753 |
+
Empty[PROTOTYPE] = anObject(O);
|
7754 |
+
result = new Empty();
|
7755 |
+
Empty[PROTOTYPE] = null;
|
7756 |
+
// add "__proto__" for Object.getPrototypeOf polyfill
|
7757 |
+
result[IE_PROTO] = O;
|
7758 |
+
} else result = createDict();
|
7759 |
+
return Properties === undefined ? result : dPs(result, Properties);
|
7760 |
+
};
|
7761 |
+
|
7762 |
+
|
7763 |
+
/***/ }),
|
7764 |
+
/* 56 */
|
7765 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7766 |
+
|
7767 |
+
// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
|
7768 |
+
var $keys = __webpack_require__(132);
|
7769 |
+
var hiddenKeys = __webpack_require__(96).concat('length', 'prototype');
|
7770 |
+
|
7771 |
+
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
7772 |
+
return $keys(O, hiddenKeys);
|
7773 |
+
};
|
7774 |
+
|
7775 |
+
|
7776 |
+
/***/ }),
|
7777 |
+
/* 57 */
|
7778 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7779 |
+
|
7780 |
+
// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
|
7781 |
+
var has = __webpack_require__(27);
|
7782 |
+
var toObject = __webpack_require__(24);
|
7783 |
+
var IE_PROTO = __webpack_require__(95)('IE_PROTO');
|
7784 |
+
var ObjectProto = Object.prototype;
|
7785 |
+
|
7786 |
+
module.exports = Object.getPrototypeOf || function (O) {
|
7787 |
+
O = toObject(O);
|
7788 |
+
if (has(O, IE_PROTO)) return O[IE_PROTO];
|
7789 |
+
if (typeof O.constructor == 'function' && O instanceof O.constructor) {
|
7790 |
+
return O.constructor.prototype;
|
7791 |
+
} return O instanceof Object ? ObjectProto : null;
|
7792 |
+
};
|
7793 |
+
|
7794 |
+
|
7795 |
+
/***/ }),
|
7796 |
+
/* 58 */
|
7797 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7798 |
+
|
7799 |
+
"use strict";
|
7800 |
+
|
7801 |
+
|
7802 |
+
exports.__esModule = true;
|
7803 |
+
exports.toSingleLine = toSingleLine;
|
7804 |
+
|
7805 |
+
var _array = __webpack_require__(3);
|
7806 |
+
|
7807 |
+
/* eslint-disable import/prefer-default-export */
|
7808 |
+
|
7809 |
+
/**
|
7810 |
+
* Tags a multiline string and return new one without line break characters and following spaces.
|
7811 |
+
*
|
7812 |
+
* @param {Array} strings Parts of the entire string without expressions.
|
7813 |
+
* @param {...String} expressions Expressions converted to strings, which are added to the entire string.
|
7814 |
+
* @returns {String}
|
7815 |
+
*/
|
7816 |
+
function toSingleLine(strings) {
|
7817 |
+
for (var _len = arguments.length, expressions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
7818 |
+
expressions[_key - 1] = arguments[_key];
|
7819 |
+
}
|
7820 |
+
|
7821 |
+
var result = (0, _array.arrayReduce)(strings, function (previousValue, currentValue, index) {
|
7822 |
+
var valueWithoutWhiteSpaces = currentValue.replace(/(?:\r?\n\s+)/g, '');
|
7823 |
+
var expressionForIndex = expressions[index] ? expressions[index] : '';
|
7824 |
+
return previousValue + valueWithoutWhiteSpaces + expressionForIndex;
|
7825 |
+
}, '');
|
7826 |
+
return result.trim();
|
7827 |
+
}
|
7828 |
+
|
7829 |
+
/***/ }),
|
7830 |
+
/* 59 */
|
7831 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7832 |
+
|
7833 |
+
"use strict";
|
7834 |
+
|
7835 |
+
|
7836 |
+
exports.__esModule = true;
|
7837 |
+
exports.isFunction = isFunction;
|
7838 |
+
exports.throttle = throttle;
|
7839 |
+
exports.throttleAfterHits = throttleAfterHits;
|
7840 |
+
exports.debounce = debounce;
|
7841 |
+
exports.pipe = pipe;
|
7842 |
+
exports.partial = partial;
|
7843 |
+
exports.curry = curry;
|
7844 |
+
exports.curryRight = curryRight;
|
7845 |
+
|
7846 |
+
var _array = __webpack_require__(3);
|
7847 |
+
|
7848 |
+
/**
|
7849 |
+
* Checks if given variable is function.
|
7850 |
+
*
|
7851 |
+
* @param {*} func Variable to check.
|
7852 |
+
* @returns {Boolean}
|
7853 |
+
*/
|
7854 |
+
function isFunction(func) {
|
7855 |
+
return typeof func === 'function';
|
7856 |
+
}
|
7857 |
+
/**
|
7858 |
+
* Creates throttle function that enforces a maximum number of times a function (`func`) can be called over time (`wait`).
|
7859 |
+
*
|
7860 |
+
* @param {Function} func Function to invoke.
|
7861 |
+
* @param {Number} wait Delay in miliseconds.
|
7862 |
+
* @returns {Function}
|
7863 |
+
*/
|
7864 |
+
|
7865 |
+
|
7866 |
+
function throttle(func) {
|
7867 |
+
var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200;
|
7868 |
+
var lastCalled = 0;
|
7869 |
+
var result = {
|
7870 |
+
lastCallThrottled: true
|
7871 |
+
};
|
7872 |
+
var lastTimer = null;
|
7873 |
+
|
7874 |
+
function _throttle() {
|
7875 |
+
var _this = this;
|
7876 |
+
|
7877 |
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
7878 |
+
args[_key] = arguments[_key];
|
7879 |
+
}
|
7880 |
+
|
7881 |
+
var stamp = Date.now();
|
7882 |
+
var needCall = false;
|
7883 |
+
result.lastCallThrottled = true;
|
7884 |
+
|
7885 |
+
if (!lastCalled) {
|
7886 |
+
lastCalled = stamp;
|
7887 |
+
needCall = true;
|
7888 |
+
}
|
7889 |
+
|
7890 |
+
var remaining = wait - (stamp - lastCalled);
|
7891 |
+
|
7892 |
+
if (needCall) {
|
7893 |
+
result.lastCallThrottled = false;
|
7894 |
+
func.apply(this, args);
|
7895 |
+
} else {
|
7896 |
+
if (lastTimer) {
|
7897 |
+
clearTimeout(lastTimer);
|
7898 |
+
}
|
7899 |
+
|
7900 |
+
lastTimer = setTimeout(function () {
|
7901 |
+
result.lastCallThrottled = false;
|
7902 |
+
func.apply(_this, args);
|
7903 |
+
lastCalled = 0;
|
7904 |
+
lastTimer = void 0;
|
7905 |
+
}, remaining);
|
7906 |
+
}
|
7907 |
+
|
7908 |
+
return result;
|
7909 |
+
}
|
7910 |
+
|
7911 |
+
return _throttle;
|
7912 |
+
}
|
7913 |
+
/**
|
7914 |
+
* Creates throttle function that enforces a maximum number of times a function (`func`) can be called over
|
7915 |
+
* time (`wait`) after specified hits.
|
7916 |
+
*
|
7917 |
+
* @param {Function} func Function to invoke.
|
7918 |
+
* @param {Number} wait Delay in miliseconds.
|
7919 |
+
* @param {Number} hits Number of hits after throttling will be applied.
|
7920 |
+
* @returns {Function}
|
7921 |
+
*/
|
7922 |
+
|
7923 |
+
|
7924 |
+
function throttleAfterHits(func) {
|
7925 |
+
var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200;
|
7926 |
+
var hits = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
|
7927 |
+
var funcThrottle = throttle(func, wait);
|
7928 |
+
var remainHits = hits;
|
7929 |
+
|
7930 |
+
function _clearHits() {
|
7931 |
+
remainHits = hits;
|
7932 |
+
}
|
7933 |
+
|
7934 |
+
function _throttleAfterHits() {
|
7935 |
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
7936 |
+
args[_key2] = arguments[_key2];
|
7937 |
+
}
|
7938 |
+
|
7939 |
+
if (remainHits) {
|
7940 |
+
remainHits -= 1;
|
7941 |
+
return func.apply(this, args);
|
7942 |
+
}
|
7943 |
+
|
7944 |
+
return funcThrottle.apply(this, args);
|
7945 |
+
}
|
7946 |
+
|
7947 |
+
_throttleAfterHits.clearHits = _clearHits;
|
7948 |
+
return _throttleAfterHits;
|
7949 |
+
}
|
7950 |
+
/**
|
7951 |
+
* Creates debounce function that enforces a function (`func`) not be called again until a certain amount of time (`wait`)
|
7952 |
+
* has passed without it being called.
|
7953 |
+
*
|
7954 |
+
* @param {Function} func Function to invoke.
|
7955 |
+
* @param {Number} wait Delay in milliseconds.
|
7956 |
+
* @returns {Function}
|
7957 |
+
*/
|
7958 |
+
|
7959 |
+
|
7960 |
+
function debounce(func) {
|
7961 |
+
var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200;
|
7962 |
+
var lastTimer = null;
|
7963 |
+
var result;
|
7964 |
+
|
7965 |
+
function _debounce() {
|
7966 |
+
var _this2 = this;
|
7967 |
+
|
7968 |
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
7969 |
+
args[_key3] = arguments[_key3];
|
7970 |
+
}
|
7971 |
+
|
7972 |
+
if (lastTimer) {
|
7973 |
+
clearTimeout(lastTimer);
|
7974 |
+
}
|
7975 |
+
|
7976 |
+
lastTimer = setTimeout(function () {
|
7977 |
+
result = func.apply(_this2, args);
|
7978 |
+
}, wait);
|
7979 |
+
return result;
|
7980 |
+
}
|
7981 |
+
|
7982 |
+
return _debounce;
|
7983 |
+
}
|
7984 |
+
/**
|
7985 |
+
* Creates the function that returns the result of calling the given functions. Result of the first function is passed to
|
7986 |
+
* the second as an argument and so on. Only first function in the chain can handle multiple arguments.
|
7987 |
+
*
|
7988 |
+
* @param {Function} functions Functions to compose.
|
7989 |
+
* @returns {Function}
|
7990 |
+
*/
|
7991 |
+
|
7992 |
+
|
7993 |
+
function pipe() {
|
7994 |
+
for (var _len4 = arguments.length, functions = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
7995 |
+
functions[_key4] = arguments[_key4];
|
7996 |
+
}
|
7997 |
+
|
7998 |
+
var firstFunc = functions[0],
|
7999 |
+
restFunc = functions.slice(1);
|
8000 |
+
return function _pipe() {
|
8001 |
+
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
8002 |
+
args[_key5] = arguments[_key5];
|
8003 |
+
}
|
8004 |
+
|
8005 |
+
return (0, _array.arrayReduce)(restFunc, function (acc, fn) {
|
8006 |
+
return fn(acc);
|
8007 |
+
}, firstFunc.apply(this, args));
|
8008 |
+
};
|
8009 |
+
}
|
8010 |
+
/**
|
8011 |
+
* Creates the function that returns the function with cached arguments.
|
8012 |
+
*
|
8013 |
+
* @param {Function} func Function to partialization.
|
8014 |
+
* @param {Array} params Function arguments to cache.
|
8015 |
+
* @returns {Function}
|
8016 |
+
*/
|
8017 |
+
|
8018 |
+
|
8019 |
+
function partial(func) {
|
8020 |
+
for (var _len6 = arguments.length, params = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {
|
8021 |
+
params[_key6 - 1] = arguments[_key6];
|
8022 |
+
}
|
8023 |
+
|
8024 |
+
return function _partial() {
|
8025 |
+
for (var _len7 = arguments.length, restParams = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
|
8026 |
+
restParams[_key7] = arguments[_key7];
|
8027 |
+
}
|
8028 |
+
|
8029 |
+
return func.apply(this, params.concat(restParams));
|
8030 |
+
};
|
8031 |
+
}
|
8032 |
+
/**
|
8033 |
+
* Creates the functions that returns the function with cached arguments. If count if passed arguments will be matched
|
8034 |
+
* to the arguments defined in `func` then function will be invoked.
|
8035 |
+
* Arguments are added to the stack in direction from the left to the right.
|
8036 |
+
*
|
8037 |
+
* @example
|
8038 |
+
* ```
|
8039 |
+
* var replace = curry(function(find, replace, string) {
|
8040 |
+
* return string.replace(find, replace);
|
8041 |
+
* });
|
8042 |
+
*
|
8043 |
+
* // returns function with bounded first argument
|
8044 |
+
* var replace = replace('foo')
|
8045 |
+
*
|
8046 |
+
* // returns replaced string - all arguments was passed so function was invoked
|
8047 |
+
* replace('bar', 'Some test with foo...');
|
8048 |
+
*
|
8049 |
+
* ```
|
8050 |
+
*
|
8051 |
+
* @param {Function} func Function to currying.
|
8052 |
+
* @returns {Function}
|
8053 |
+
*/
|
8054 |
+
|
8055 |
+
|
8056 |
+
function curry(func) {
|
8057 |
+
var argsLength = func.length;
|
8058 |
+
|
8059 |
+
function given(argsSoFar) {
|
8060 |
+
return function _curry() {
|
8061 |
+
for (var _len8 = arguments.length, params = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
|
8062 |
+
params[_key8] = arguments[_key8];
|
8063 |
+
}
|
8064 |
+
|
8065 |
+
var passedArgsSoFar = argsSoFar.concat(params);
|
8066 |
+
var result;
|
8067 |
+
|
8068 |
+
if (passedArgsSoFar.length >= argsLength) {
|
8069 |
+
result = func.apply(this, passedArgsSoFar);
|
8070 |
+
} else {
|
8071 |
+
result = given(passedArgsSoFar);
|
8072 |
+
}
|
8073 |
+
|
8074 |
+
return result;
|
8075 |
+
};
|
8076 |
+
}
|
8077 |
+
|
8078 |
+
return given([]);
|
8079 |
+
}
|
8080 |
+
/**
|
8081 |
+
* Creates the functions that returns the function with cached arguments. If count if passed arguments will be matched
|
8082 |
+
* to the arguments defined in `func` then function will be invoked.
|
8083 |
+
* Arguments are added to the stack in direction from the right to the left.
|
8084 |
+
*
|
8085 |
+
* @example
|
8086 |
+
* ```
|
8087 |
+
* var replace = curry(function(find, replace, string) {
|
8088 |
+
* return string.replace(find, replace);
|
8089 |
+
* });
|
8090 |
+
*
|
8091 |
+
* // returns function with bounded first argument
|
8092 |
+
* var replace = replace('Some test with foo...')
|
8093 |
+
*
|
8094 |
+
* // returns replaced string - all arguments was passed so function was invoked
|
8095 |
+
* replace('bar', 'foo');
|
8096 |
+
*
|
8097 |
+
* ```
|
8098 |
+
*
|
8099 |
+
* @param {Function} func Function to currying.
|
8100 |
+
* @returns {Function}
|
8101 |
+
*/
|
8102 |
+
|
8103 |
+
|
8104 |
+
function curryRight(func) {
|
8105 |
+
var argsLength = func.length;
|
8106 |
+
|
8107 |
+
function given(argsSoFar) {
|
8108 |
+
return function _curry() {
|
8109 |
+
for (var _len9 = arguments.length, params = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
|
8110 |
+
params[_key9] = arguments[_key9];
|
8111 |
+
}
|
8112 |
+
|
8113 |
+
var passedArgsSoFar = argsSoFar.concat(params.reverse());
|
8114 |
+
var result;
|
8115 |
+
|
8116 |
+
if (passedArgsSoFar.length >= argsLength) {
|
8117 |
+
result = func.apply(this, passedArgsSoFar);
|
8118 |
+
} else {
|
8119 |
+
result = given(passedArgsSoFar);
|
8120 |
+
}
|
8121 |
+
|
8122 |
+
return result;
|
8123 |
+
};
|
8124 |
+
}
|
8125 |
+
|
8126 |
+
return given([]);
|
8127 |
+
}
|
8128 |
+
|
8129 |
+
/***/ }),
|
8130 |
+
/* 60 */
|
8131 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8132 |
+
|
8133 |
+
var def = __webpack_require__(17).f;
|
8134 |
+
var has = __webpack_require__(27);
|
8135 |
+
var TAG = __webpack_require__(12)('toStringTag');
|
8136 |
+
|
8137 |
+
module.exports = function (it, tag, stat) {
|
8138 |
+
if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
|
8139 |
+
};
|
8140 |
+
|
8141 |
+
|
8142 |
+
/***/ }),
|
8143 |
+
/* 61 */
|
8144 |
+
/***/ (function(module, exports) {
|
8145 |
+
|
8146 |
+
module.exports = {};
|
8147 |
+
|
8148 |
+
|
8149 |
+
/***/ }),
|
8150 |
+
/* 62 */
|
8151 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8152 |
+
|
8153 |
+
// 22.1.3.31 Array.prototype[@@unscopables]
|
8154 |
+
var UNSCOPABLES = __webpack_require__(12)('unscopables');
|
8155 |
+
var ArrayProto = Array.prototype;
|
8156 |
+
if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(28)(ArrayProto, UNSCOPABLES, {});
|
8157 |
+
module.exports = function (key) {
|
8158 |
+
ArrayProto[UNSCOPABLES][key] = true;
|
8159 |
+
};
|
8160 |
+
|
8161 |
+
|
8162 |
+
/***/ }),
|
8163 |
+
/* 63 */
|
8164 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8165 |
+
|
8166 |
+
"use strict";
|
8167 |
+
|
8168 |
+
var global = __webpack_require__(6);
|
8169 |
+
var dP = __webpack_require__(17);
|
8170 |
+
var DESCRIPTORS = __webpack_require__(20);
|
8171 |
+
var SPECIES = __webpack_require__(12)('species');
|
8172 |
+
|
8173 |
+
module.exports = function (KEY) {
|
8174 |
+
var C = global[KEY];
|
8175 |
+
if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
|
8176 |
+
configurable: true,
|
8177 |
+
get: function () { return this; }
|
8178 |
+
});
|
8179 |
+
};
|
8180 |
+
|
8181 |
+
|
8182 |
+
/***/ }),
|
8183 |
+
/* 64 */
|
8184 |
+
/***/ (function(module, exports) {
|
8185 |
+
|
8186 |
+
module.exports = function (it, Constructor, name, forbiddenField) {
|
8187 |
+
if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
|
8188 |
+
throw TypeError(name + ': incorrect invocation!');
|
8189 |
+
} return it;
|
8190 |
+
};
|
8191 |
+
|
8192 |
+
|
8193 |
+
/***/ }),
|
8194 |
+
/* 65 */
|
8195 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8196 |
+
|
8197 |
+
var redefine = __webpack_require__(23);
|
8198 |
+
module.exports = function (target, src, safe) {
|
8199 |
+
for (var key in src) redefine(target, key, src[key], safe);
|
8200 |
+
return target;
|
8201 |
+
};
|
8202 |
+
|
8203 |
+
|
8204 |
+
/***/ }),
|
8205 |
+
/* 66 */
|
8206 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8207 |
+
|
8208 |
+
var isObject = __webpack_require__(7);
|
8209 |
+
module.exports = function (it, TYPE) {
|
8210 |
+
if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
|
8211 |
+
return it;
|
8212 |
+
};
|
8213 |
+
|
8214 |
+
|
8215 |
+
/***/ }),
|
8216 |
+
/* 67 */
|
8217 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8218 |
+
|
8219 |
+
/* WEBPACK VAR INJECTION */(function(module) {var require;//! moment.js
|
8220 |
+
//! version : 2.20.1
|
8221 |
+
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
8222 |
+
//! license : MIT
|
8223 |
+
//! momentjs.com
|
8224 |
+
|
8225 |
+
;(function (global, factory) {
|
8226 |
+
true ? module.exports = factory() :
|
8227 |
+
typeof define === 'function' && define.amd ? define(factory) :
|
8228 |
+
global.moment = factory()
|
8229 |
+
}(this, (function () { 'use strict';
|
8230 |
+
|
8231 |
+
var hookCallback;
|
8232 |
+
|
8233 |
+
function hooks () {
|
8234 |
+
return hookCallback.apply(null, arguments);
|
8235 |
+
}
|
8236 |
+
|
8237 |
+
// This is done to register the method called with moment()
|
8238 |
+
// without creating circular dependencies.
|
8239 |
+
function setHookCallback (callback) {
|
8240 |
+
hookCallback = callback;
|
8241 |
+
}
|
8242 |
+
|
8243 |
+
function isArray(input) {
|
8244 |
+
return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
|
8245 |
+
}
|
8246 |
+
|
8247 |
+
function isObject(input) {
|
8248 |
+
// IE8 will treat undefined and null as object if it wasn't for
|
8249 |
+
// input != null
|
8250 |
+
return input != null && Object.prototype.toString.call(input) === '[object Object]';
|
8251 |
+
}
|
8252 |
+
|
8253 |
+
function isObjectEmpty(obj) {
|
8254 |
+
if (Object.getOwnPropertyNames) {
|
8255 |
+
return (Object.getOwnPropertyNames(obj).length === 0);
|
8256 |
+
} else {
|
8257 |
+
var k;
|
8258 |
+
for (k in obj) {
|
8259 |
+
if (obj.hasOwnProperty(k)) {
|
8260 |
+
return false;
|
8261 |
+
}
|
8262 |
+
}
|
8263 |
+
return true;
|
8264 |
+
}
|
8265 |
+
}
|
8266 |
+
|
8267 |
+
function isUndefined(input) {
|
8268 |
+
return input === void 0;
|
8269 |
+
}
|
8270 |
+
|
8271 |
+
function isNumber(input) {
|
8272 |
+
return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';
|
8273 |
+
}
|
8274 |
+
|
8275 |
+
function isDate(input) {
|
8276 |
+
return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
|
8277 |
+
}
|
8278 |
+
|
8279 |
+
function map(arr, fn) {
|
8280 |
+
var res = [], i;
|
8281 |
+
for (i = 0; i < arr.length; ++i) {
|
8282 |
+
res.push(fn(arr[i], i));
|
8283 |
+
}
|
8284 |
+
return res;
|
8285 |
+
}
|
8286 |
+
|
8287 |
+
function hasOwnProp(a, b) {
|
8288 |
+
return Object.prototype.hasOwnProperty.call(a, b);
|
8289 |
+
}
|
8290 |
+
|
8291 |
+
function extend(a, b) {
|
8292 |
+
for (var i in b) {
|
8293 |
+
if (hasOwnProp(b, i)) {
|
8294 |
+
a[i] = b[i];
|
8295 |
+
}
|
8296 |
+
}
|
8297 |
+
|
8298 |
+
if (hasOwnProp(b, 'toString')) {
|
8299 |
+
a.toString = b.toString;
|
8300 |
+
}
|
8301 |
+
|
8302 |
+
if (hasOwnProp(b, 'valueOf')) {
|
8303 |
+
a.valueOf = b.valueOf;
|
8304 |
+
}
|
8305 |
+
|
8306 |
+
return a;
|
8307 |
+
}
|
8308 |
+
|
8309 |
+
function createUTC (input, format, locale, strict) {
|
8310 |
+
return createLocalOrUTC(input, format, locale, strict, true).utc();
|
8311 |
+
}
|
8312 |
+
|
8313 |
+
function defaultParsingFlags() {
|
8314 |
+
// We need to deep clone this object.
|
8315 |
+
return {
|
8316 |
+
empty : false,
|
8317 |
+
unusedTokens : [],
|
8318 |
+
unusedInput : [],
|
8319 |
+
overflow : -2,
|
8320 |
+
charsLeftOver : 0,
|
8321 |
+
nullInput : false,
|
8322 |
+
invalidMonth : null,
|
8323 |
+
invalidFormat : false,
|
8324 |
+
userInvalidated : false,
|
8325 |
+
iso : false,
|
8326 |
+
parsedDateParts : [],
|
8327 |
+
meridiem : null,
|
8328 |
+
rfc2822 : false,
|
8329 |
+
weekdayMismatch : false
|
8330 |
+
};
|
8331 |
+
}
|
8332 |
+
|
8333 |
+
function getParsingFlags(m) {
|
8334 |
+
if (m._pf == null) {
|
8335 |
+
m._pf = defaultParsingFlags();
|
8336 |
+
}
|
8337 |
+
return m._pf;
|
8338 |
+
}
|
8339 |
+
|
8340 |
+
var some;
|
8341 |
+
if (Array.prototype.some) {
|
8342 |
+
some = Array.prototype.some;
|
8343 |
+
} else {
|
8344 |
+
some = function (fun) {
|
8345 |
+
var t = Object(this);
|
8346 |
+
var len = t.length >>> 0;
|
8347 |
+
|
8348 |
+
for (var i = 0; i < len; i++) {
|
8349 |
+
if (i in t && fun.call(this, t[i], i, t)) {
|
8350 |
+
return true;
|
8351 |
+
}
|
8352 |
+
}
|
8353 |
+
|
8354 |
+
return false;
|
8355 |
+
};
|
8356 |
+
}
|
8357 |
+
|
8358 |
+
function isValid(m) {
|
8359 |
+
if (m._isValid == null) {
|
8360 |
+
var flags = getParsingFlags(m);
|
8361 |
+
var parsedParts = some.call(flags.parsedDateParts, function (i) {
|
8362 |
+
return i != null;
|
8363 |
+
});
|
8364 |
+
var isNowValid = !isNaN(m._d.getTime()) &&
|
8365 |
+
flags.overflow < 0 &&
|
8366 |
+
!flags.empty &&
|
8367 |
+
!flags.invalidMonth &&
|
8368 |
+
!flags.invalidWeekday &&
|
8369 |
+
!flags.weekdayMismatch &&
|
8370 |
+
!flags.nullInput &&
|
8371 |
+
!flags.invalidFormat &&
|
8372 |
+
!flags.userInvalidated &&
|
8373 |
+
(!flags.meridiem || (flags.meridiem && parsedParts));
|
8374 |
+
|
8375 |
+
if (m._strict) {
|
8376 |
+
isNowValid = isNowValid &&
|
8377 |
+
flags.charsLeftOver === 0 &&
|
8378 |
+
flags.unusedTokens.length === 0 &&
|
8379 |
+
flags.bigHour === undefined;
|
8380 |
+
}
|
8381 |
+
|
8382 |
+
if (Object.isFrozen == null || !Object.isFrozen(m)) {
|
8383 |
+
m._isValid = isNowValid;
|
8384 |
+
}
|
8385 |
+
else {
|
8386 |
+
return isNowValid;
|
8387 |
+
}
|
8388 |
+
}
|
8389 |
+
return m._isValid;
|
8390 |
+
}
|
8391 |
+
|
8392 |
+
function createInvalid (flags) {
|
8393 |
+
var m = createUTC(NaN);
|
8394 |
+
if (flags != null) {
|
8395 |
+
extend(getParsingFlags(m), flags);
|
8396 |
+
}
|
8397 |
+
else {
|
8398 |
+
getParsingFlags(m).userInvalidated = true;
|
8399 |
+
}
|
8400 |
+
|
8401 |
+
return m;
|
8402 |
+
}
|
8403 |
+
|
8404 |
+
// Plugins that add properties should also add the key here (null value),
|
8405 |
+
// so we can properly clone ourselves.
|
8406 |
+
var momentProperties = hooks.momentProperties = [];
|
8407 |
+
|
8408 |
+
function copyConfig(to, from) {
|
8409 |
+
var i, prop, val;
|
8410 |
+
|
8411 |
+
if (!isUndefined(from._isAMomentObject)) {
|
8412 |
+
to._isAMomentObject = from._isAMomentObject;
|
8413 |
+
}
|
8414 |
+
if (!isUndefined(from._i)) {
|
8415 |
+
to._i = from._i;
|
8416 |
+
}
|
8417 |
+
if (!isUndefined(from._f)) {
|
8418 |
+
to._f = from._f;
|
8419 |
+
}
|
8420 |
+
if (!isUndefined(from._l)) {
|
8421 |
+
to._l = from._l;
|
8422 |
+
}
|
8423 |
+
if (!isUndefined(from._strict)) {
|
8424 |
+
to._strict = from._strict;
|
8425 |
+
}
|
8426 |
+
if (!isUndefined(from._tzm)) {
|
8427 |
+
to._tzm = from._tzm;
|
8428 |
+
}
|
8429 |
+
if (!isUndefined(from._isUTC)) {
|
8430 |
+
to._isUTC = from._isUTC;
|
8431 |
+
}
|
8432 |
+
if (!isUndefined(from._offset)) {
|
8433 |
+
to._offset = from._offset;
|
8434 |
+
}
|
8435 |
+
if (!isUndefined(from._pf)) {
|
8436 |
+
to._pf = getParsingFlags(from);
|
8437 |
+
}
|
8438 |
+
if (!isUndefined(from._locale)) {
|
8439 |
+
to._locale = from._locale;
|
8440 |
+
}
|
8441 |
+
|
8442 |
+
if (momentProperties.length > 0) {
|
8443 |
+
for (i = 0; i < momentProperties.length; i++) {
|
8444 |
+
prop = momentProperties[i];
|
8445 |
+
val = from[prop];
|
8446 |
+
if (!isUndefined(val)) {
|
8447 |
+
to[prop] = val;
|
8448 |
+
}
|
8449 |
+
}
|
8450 |
+
}
|
8451 |
+
|
8452 |
+
return to;
|
8453 |
+
}
|
8454 |
+
|
8455 |
+
var updateInProgress = false;
|
8456 |
+
|
8457 |
+
// Moment prototype object
|
8458 |
+
function Moment(config) {
|
8459 |
+
copyConfig(this, config);
|
8460 |
+
this._d = new Date(config._d != null ? config._d.getTime() : NaN);
|
8461 |
+
if (!this.isValid()) {
|
8462 |
+
this._d = new Date(NaN);
|
8463 |
+
}
|
8464 |
+
// Prevent infinite loop in case updateOffset creates new moment
|
8465 |
+
// objects.
|
8466 |
+
if (updateInProgress === false) {
|
8467 |
+
updateInProgress = true;
|
8468 |
+
hooks.updateOffset(this);
|
8469 |
+
updateInProgress = false;
|
8470 |
+
}
|
8471 |
+
}
|
8472 |
+
|
8473 |
+
function isMoment (obj) {
|
8474 |
+
return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);
|
8475 |
+
}
|
8476 |
+
|
8477 |
+
function absFloor (number) {
|
8478 |
+
if (number < 0) {
|
8479 |
+
// -0 -> 0
|
8480 |
+
return Math.ceil(number) || 0;
|
8481 |
+
} else {
|
8482 |
+
return Math.floor(number);
|
8483 |
+
}
|
8484 |
+
}
|
8485 |
+
|
8486 |
+
function toInt(argumentForCoercion) {
|
8487 |
+
var coercedNumber = +argumentForCoercion,
|
8488 |
+
value = 0;
|
8489 |
+
|
8490 |
+
if (coercedNumber !== 0 && isFinite(coercedNumber)) {
|
8491 |
+
value = absFloor(coercedNumber);
|
8492 |
+
}
|
8493 |
+
|
8494 |
+
return value;
|
8495 |
+
}
|
8496 |
+
|
8497 |
+
// compare two arrays, return the number of differences
|
8498 |
+
function compareArrays(array1, array2, dontConvert) {
|
8499 |
+
var len = Math.min(array1.length, array2.length),
|
8500 |
+
lengthDiff = Math.abs(array1.length - array2.length),
|
8501 |
+
diffs = 0,
|
8502 |
+
i;
|
8503 |
+
for (i = 0; i < len; i++) {
|
8504 |
+
if ((dontConvert && array1[i] !== array2[i]) ||
|
8505 |
+
(!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
|
8506 |
+
diffs++;
|
8507 |
+
}
|
8508 |
+
}
|
8509 |
+
return diffs + lengthDiff;
|
8510 |
+
}
|
8511 |
+
|
8512 |
+
function warn(msg) {
|
8513 |
+
if (hooks.suppressDeprecationWarnings === false &&
|
8514 |
+
(typeof console !== 'undefined') && console.warn) {
|
8515 |
+
console.warn('Deprecation warning: ' + msg);
|
8516 |
+
}
|
8517 |
+
}
|
8518 |
+
|
8519 |
+
function deprecate(msg, fn) {
|
8520 |
+
var firstTime = true;
|
8521 |
+
|
8522 |
+
return extend(function () {
|
8523 |
+
if (hooks.deprecationHandler != null) {
|
8524 |
+
hooks.deprecationHandler(null, msg);
|
8525 |
+
}
|
8526 |
+
if (firstTime) {
|
8527 |
+
var args = [];
|
8528 |
+
var arg;
|
8529 |
+
for (var i = 0; i < arguments.length; i++) {
|
8530 |
+
arg = '';
|
8531 |
+
if (typeof arguments[i] === 'object') {
|
8532 |
+
arg += '\n[' + i + '] ';
|
8533 |
+
for (var key in arguments[0]) {
|
8534 |
+
arg += key + ': ' + arguments[0][key] + ', ';
|
8535 |
+
}
|
8536 |
+
arg = arg.slice(0, -2); // Remove trailing comma and space
|
8537 |
+
} else {
|
8538 |
+
arg = arguments[i];
|
8539 |
+
}
|
8540 |
+
args.push(arg);
|
8541 |
+
}
|
8542 |
+
warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack);
|
8543 |
+
firstTime = false;
|
8544 |
+
}
|
8545 |
+
return fn.apply(this, arguments);
|
8546 |
+
}, fn);
|
8547 |
+
}
|
8548 |
+
|
8549 |
+
var deprecations = {};
|
8550 |
+
|
8551 |
+
function deprecateSimple(name, msg) {
|
8552 |
+
if (hooks.deprecationHandler != null) {
|
8553 |
+
hooks.deprecationHandler(name, msg);
|
8554 |
+
}
|
8555 |
+
if (!deprecations[name]) {
|
8556 |
+
warn(msg);
|
8557 |
+
deprecations[name] = true;
|
8558 |
+
}
|
8559 |
+
}
|
8560 |
+
|
8561 |
+
hooks.suppressDeprecationWarnings = false;
|
8562 |
+
hooks.deprecationHandler = null;
|
8563 |
+
|
8564 |
+
function isFunction(input) {
|
8565 |
+
return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
|
8566 |
+
}
|
8567 |
+
|
8568 |
+
function set (config) {
|
8569 |
+
var prop, i;
|
8570 |
+
for (i in config) {
|
8571 |
+
prop = config[i];
|
8572 |
+
if (isFunction(prop)) {
|
8573 |
+
this[i] = prop;
|
8574 |
+
} else {
|
8575 |
+
this['_' + i] = prop;
|
8576 |
+
}
|
8577 |
+
}
|
8578 |
+
this._config = config;
|
8579 |
+
// Lenient ordinal parsing accepts just a number in addition to
|
8580 |
+
// number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
|
8581 |
+
// TODO: Remove "ordinalParse" fallback in next major release.
|
8582 |
+
this._dayOfMonthOrdinalParseLenient = new RegExp(
|
8583 |
+
(this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
|
8584 |
+
'|' + (/\d{1,2}/).source);
|
8585 |
+
}
|
8586 |
+
|
8587 |
+
function mergeConfigs(parentConfig, childConfig) {
|
8588 |
+
var res = extend({}, parentConfig), prop;
|
8589 |
+
for (prop in childConfig) {
|
8590 |
+
if (hasOwnProp(childConfig, prop)) {
|
8591 |
+
if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
|
8592 |
+
res[prop] = {};
|
8593 |
+
extend(res[prop], parentConfig[prop]);
|
8594 |
+
extend(res[prop], childConfig[prop]);
|
8595 |
+
} else if (childConfig[prop] != null) {
|
8596 |
+
res[prop] = childConfig[prop];
|
8597 |
+
} else {
|
8598 |
+
delete res[prop];
|
8599 |
+
}
|
8600 |
+
}
|
8601 |
+
}
|
8602 |
+
for (prop in parentConfig) {
|
8603 |
+
if (hasOwnProp(parentConfig, prop) &&
|
8604 |
+
!hasOwnProp(childConfig, prop) &&
|
8605 |
+
isObject(parentConfig[prop])) {
|
8606 |
+
// make sure changes to properties don't modify parent config
|
8607 |
+
res[prop] = extend({}, res[prop]);
|
8608 |
+
}
|
8609 |
+
}
|
8610 |
+
return res;
|
8611 |
+
}
|
8612 |
+
|
8613 |
+
function Locale(config) {
|
8614 |
+
if (config != null) {
|
8615 |
+
this.set(config);
|
8616 |
+
}
|
8617 |
+
}
|
8618 |
+
|
8619 |
+
var keys;
|
8620 |
+
|
8621 |
+
if (Object.keys) {
|
8622 |
+
keys = Object.keys;
|
8623 |
+
} else {
|
8624 |
+
keys = function (obj) {
|
8625 |
+
var i, res = [];
|
8626 |
+
for (i in obj) {
|
8627 |
+
if (hasOwnProp(obj, i)) {
|
8628 |
+
res.push(i);
|
8629 |
+
}
|
8630 |
+
}
|
8631 |
+
return res;
|
8632 |
+
};
|
8633 |
+
}
|
8634 |
+
|
8635 |
+
var defaultCalendar = {
|
8636 |
+
sameDay : '[Today at] LT',
|
8637 |
+
nextDay : '[Tomorrow at] LT',
|
8638 |
+
nextWeek : 'dddd [at] LT',
|
8639 |
+
lastDay : '[Yesterday at] LT',
|
8640 |
+
lastWeek : '[Last] dddd [at] LT',
|
8641 |
+
sameElse : 'L'
|
8642 |
+
};
|
8643 |
+
|
8644 |
+
function calendar (key, mom, now) {
|
8645 |
+
var output = this._calendar[key] || this._calendar['sameElse'];
|
8646 |
+
return isFunction(output) ? output.call(mom, now) : output;
|
8647 |
+
}
|
8648 |
+
|
8649 |
+
var defaultLongDateFormat = {
|
8650 |
+
LTS : 'h:mm:ss A',
|
8651 |
+
LT : 'h:mm A',
|
8652 |
+
L : 'MM/DD/YYYY',
|
8653 |
+
LL : 'MMMM D, YYYY',
|
8654 |
+
LLL : 'MMMM D, YYYY h:mm A',
|
8655 |
+
LLLL : 'dddd, MMMM D, YYYY h:mm A'
|
8656 |
+
};
|
8657 |
+
|
8658 |
+
function longDateFormat (key) {
|
8659 |
+
var format = this._longDateFormat[key],
|
8660 |
+
formatUpper = this._longDateFormat[key.toUpperCase()];
|
8661 |
+
|
8662 |
+
if (format || !formatUpper) {
|
8663 |
+
return format;
|
8664 |
+
}
|
8665 |
+
|
8666 |
+
this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {
|
8667 |
+
return val.slice(1);
|
8668 |
+
});
|
8669 |
+
|
8670 |
+
return this._longDateFormat[key];
|
8671 |
+
}
|
8672 |
+
|
8673 |
+
var defaultInvalidDate = 'Invalid date';
|
8674 |
+
|
8675 |
+
function invalidDate () {
|
8676 |
+
return this._invalidDate;
|
8677 |
+
}
|
8678 |
+
|
8679 |
+
var defaultOrdinal = '%d';
|
8680 |
+
var defaultDayOfMonthOrdinalParse = /\d{1,2}/;
|
8681 |
+
|
8682 |
+
function ordinal (number) {
|
8683 |
+
return this._ordinal.replace('%d', number);
|
8684 |
+
}
|
8685 |
+
|
8686 |
+
var defaultRelativeTime = {
|
8687 |
+
future : 'in %s',
|
8688 |
+
past : '%s ago',
|
8689 |
+
s : 'a few seconds',
|
8690 |
+
ss : '%d seconds',
|
8691 |
+
m : 'a minute',
|
8692 |
+
mm : '%d minutes',
|
8693 |
+
h : 'an hour',
|
8694 |
+
hh : '%d hours',
|
8695 |
+
d : 'a day',
|
8696 |
+
dd : '%d days',
|
8697 |
+
M : 'a month',
|
8698 |
+
MM : '%d months',
|
8699 |
+
y : 'a year',
|
8700 |
+
yy : '%d years'
|
8701 |
+
};
|
8702 |
+
|
8703 |
+
function relativeTime (number, withoutSuffix, string, isFuture) {
|
8704 |
+
var output = this._relativeTime[string];
|
8705 |
+
return (isFunction(output)) ?
|
8706 |
+
output(number, withoutSuffix, string, isFuture) :
|
8707 |
+
output.replace(/%d/i, number);
|
8708 |
+
}
|
8709 |
+
|
8710 |
+
function pastFuture (diff, output) {
|
8711 |
+
var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
|
8712 |
+
return isFunction(format) ? format(output) : format.replace(/%s/i, output);
|
8713 |
+
}
|
8714 |
+
|
8715 |
+
var aliases = {};
|
8716 |
+
|
8717 |
+
function addUnitAlias (unit, shorthand) {
|
8718 |
+
var lowerCase = unit.toLowerCase();
|
8719 |
+
aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
|
8720 |
+
}
|
8721 |
+
|
8722 |
+
function normalizeUnits(units) {
|
8723 |
+
return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;
|
8724 |
+
}
|
8725 |
+
|
8726 |
+
function normalizeObjectUnits(inputObject) {
|
8727 |
+
var normalizedInput = {},
|
8728 |
+
normalizedProp,
|
8729 |
+
prop;
|
8730 |
+
|
8731 |
+
for (prop in inputObject) {
|
8732 |
+
if (hasOwnProp(inputObject, prop)) {
|
8733 |
+
normalizedProp = normalizeUnits(prop);
|
8734 |
+
if (normalizedProp) {
|
8735 |
+
normalizedInput[normalizedProp] = inputObject[prop];
|
8736 |
+
}
|
8737 |
+
}
|
8738 |
+
}
|
8739 |
+
|
8740 |
+
return normalizedInput;
|
8741 |
+
}
|
8742 |
+
|
8743 |
+
var priorities = {};
|
8744 |
+
|
8745 |
+
function addUnitPriority(unit, priority) {
|
8746 |
+
priorities[unit] = priority;
|
8747 |
+
}
|
8748 |
+
|
8749 |
+
function getPrioritizedUnits(unitsObj) {
|
8750 |
+
var units = [];
|
8751 |
+
for (var u in unitsObj) {
|
8752 |
+
units.push({unit: u, priority: priorities[u]});
|
8753 |
+
}
|
8754 |
+
units.sort(function (a, b) {
|
8755 |
+
return a.priority - b.priority;
|
8756 |
+
});
|
8757 |
+
return units;
|
8758 |
+
}
|
8759 |
+
|
8760 |
+
function zeroFill(number, targetLength, forceSign) {
|
8761 |
+
var absNumber = '' + Math.abs(number),
|
8762 |
+
zerosToFill = targetLength - absNumber.length,
|
8763 |
+
sign = number >= 0;
|
8764 |
+
return (sign ? (forceSign ? '+' : '') : '-') +
|
8765 |
+
Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
|
8766 |
+
}
|
8767 |
+
|
8768 |
+
var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
|
8769 |
+
|
8770 |
+
var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;
|
8771 |
+
|
8772 |
+
var formatFunctions = {};
|
8773 |
+
|
8774 |
+
var formatTokenFunctions = {};
|
8775 |
+
|
8776 |
+
// token: 'M'
|
8777 |
+
// padded: ['MM', 2]
|
8778 |
+
// ordinal: 'Mo'
|
8779 |
+
// callback: function () { this.month() + 1 }
|
8780 |
+
function addFormatToken (token, padded, ordinal, callback) {
|
8781 |
+
var func = callback;
|
8782 |
+
if (typeof callback === 'string') {
|
8783 |
+
func = function () {
|
8784 |
+
return this[callback]();
|
8785 |
+
};
|
8786 |
+
}
|
8787 |
+
if (token) {
|
8788 |
+
formatTokenFunctions[token] = func;
|
8789 |
+
}
|
8790 |
+
if (padded) {
|
8791 |
+
formatTokenFunctions[padded[0]] = function () {
|
8792 |
+
return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
|
8793 |
+
};
|
8794 |
+
}
|
8795 |
+
if (ordinal) {
|
8796 |
+
formatTokenFunctions[ordinal] = function () {
|
8797 |
+
return this.localeData().ordinal(func.apply(this, arguments), token);
|
8798 |
+
};
|
8799 |
+
}
|
8800 |
+
}
|
8801 |
+
|
8802 |
+
function removeFormattingTokens(input) {
|
8803 |
+
if (input.match(/\[[\s\S]/)) {
|
8804 |
+
return input.replace(/^\[|\]$/g, '');
|
8805 |
+
}
|
8806 |
+
return input.replace(/\\/g, '');
|
8807 |
+
}
|
8808 |
+
|
8809 |
+
function makeFormatFunction(format) {
|
8810 |
+
var array = format.match(formattingTokens), i, length;
|
8811 |
+
|
8812 |
+
for (i = 0, length = array.length; i < length; i++) {
|
8813 |
+
if (formatTokenFunctions[array[i]]) {
|
8814 |
+
array[i] = formatTokenFunctions[array[i]];
|
8815 |
+
} else {
|
8816 |
+
array[i] = removeFormattingTokens(array[i]);
|
8817 |
+
}
|
8818 |
+
}
|
8819 |
+
|
8820 |
+
return function (mom) {
|
8821 |
+
var output = '', i;
|
8822 |
+
for (i = 0; i < length; i++) {
|
8823 |
+
output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];
|
8824 |
+
}
|
8825 |
+
return output;
|
8826 |
+
};
|
8827 |
+
}
|
8828 |
+
|
8829 |
+
// format date using native date object
|
8830 |
+
function formatMoment(m, format) {
|
8831 |
+
if (!m.isValid()) {
|
8832 |
+
return m.localeData().invalidDate();
|
8833 |
+
}
|
8834 |
+
|
8835 |
+
format = expandFormat(format, m.localeData());
|
8836 |
+
formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);
|
8837 |
+
|
8838 |
+
return formatFunctions[format](m);
|
8839 |
+
}
|
8840 |
+
|
8841 |
+
function expandFormat(format, locale) {
|
8842 |
+
var i = 5;
|
8843 |
+
|
8844 |
+
function replaceLongDateFormatTokens(input) {
|
8845 |
+
return locale.longDateFormat(input) || input;
|
8846 |
+
}
|
8847 |
+
|
8848 |
+
localFormattingTokens.lastIndex = 0;
|
8849 |
+
while (i >= 0 && localFormattingTokens.test(format)) {
|
8850 |
+
format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
|
8851 |
+
localFormattingTokens.lastIndex = 0;
|
8852 |
+
i -= 1;
|
8853 |
+
}
|
8854 |
+
|
8855 |
+
return format;
|
8856 |
+
}
|
8857 |
+
|
8858 |
+
var match1 = /\d/; // 0 - 9
|
8859 |
+
var match2 = /\d\d/; // 00 - 99
|
8860 |
+
var match3 = /\d{3}/; // 000 - 999
|
8861 |
+
var match4 = /\d{4}/; // 0000 - 9999
|
8862 |
+
var match6 = /[+-]?\d{6}/; // -999999 - 999999
|
8863 |
+
var match1to2 = /\d\d?/; // 0 - 99
|
8864 |
+
var match3to4 = /\d\d\d\d?/; // 999 - 9999
|
8865 |
+
var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999
|
8866 |
+
var match1to3 = /\d{1,3}/; // 0 - 999
|
8867 |
+
var match1to4 = /\d{1,4}/; // 0 - 9999
|
8868 |
+
var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999
|
8869 |
+
|
8870 |
+
var matchUnsigned = /\d+/; // 0 - inf
|
8871 |
+
var matchSigned = /[+-]?\d+/; // -inf - inf
|
8872 |
+
|
8873 |
+
var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z
|
8874 |
+
var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z
|
8875 |
+
|
8876 |
+
var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123
|
8877 |
+
|
8878 |
+
// any word (or two) characters or numbers including two/three word month in arabic.
|
8879 |
+
// includes scottish gaelic two word and hyphenated months
|
8880 |
+
var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;
|
8881 |
+
|
8882 |
+
|
8883 |
+
var regexes = {};
|
8884 |
+
|
8885 |
+
function addRegexToken (token, regex, strictRegex) {
|
8886 |
+
regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {
|
8887 |
+
return (isStrict && strictRegex) ? strictRegex : regex;
|
8888 |
+
};
|
8889 |
+
}
|
8890 |
+
|
8891 |
+
function getParseRegexForToken (token, config) {
|
8892 |
+
if (!hasOwnProp(regexes, token)) {
|
8893 |
+
return new RegExp(unescapeFormat(token));
|
8894 |
+
}
|
8895 |
+
|
8896 |
+
return regexes[token](config._strict, config._locale);
|
8897 |
+
}
|
8898 |
+
|
8899 |
+
// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
|
8900 |
+
function unescapeFormat(s) {
|
8901 |
+
return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
|
8902 |
+
return p1 || p2 || p3 || p4;
|
8903 |
+
}));
|
8904 |
+
}
|
8905 |
+
|
8906 |
+
function regexEscape(s) {
|
8907 |
+
return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
8908 |
+
}
|
8909 |
+
|
8910 |
+
var tokens = {};
|
8911 |
+
|
8912 |
+
function addParseToken (token, callback) {
|
8913 |
+
var i, func = callback;
|
8914 |
+
if (typeof token === 'string') {
|
8915 |
+
token = [token];
|
8916 |
+
}
|
8917 |
+
if (isNumber(callback)) {
|
8918 |
+
func = function (input, array) {
|
8919 |
+
array[callback] = toInt(input);
|
8920 |
+
};
|
8921 |
+
}
|
8922 |
+
for (i = 0; i < token.length; i++) {
|
8923 |
+
tokens[token[i]] = func;
|
8924 |
+
}
|
8925 |
+
}
|
8926 |
+
|
8927 |
+
function addWeekParseToken (token, callback) {
|
8928 |
+
addParseToken(token, function (input, array, config, token) {
|
8929 |
+
config._w = config._w || {};
|
8930 |
+
callback(input, config._w, config, token);
|
8931 |
+
});
|
8932 |
+
}
|
8933 |
+
|
8934 |
+
function addTimeToArrayFromToken(token, input, config) {
|
8935 |
+
if (input != null && hasOwnProp(tokens, token)) {
|
8936 |
+
tokens[token](input, config._a, config, token);
|
8937 |
+
}
|
8938 |
+
}
|
8939 |
+
|
8940 |
+
var YEAR = 0;
|
8941 |
+
var MONTH = 1;
|
8942 |
+
var DATE = 2;
|
8943 |
+
var HOUR = 3;
|
8944 |
+
var MINUTE = 4;
|
8945 |
+
var SECOND = 5;
|
8946 |
+
var MILLISECOND = 6;
|
8947 |
+
var WEEK = 7;
|
8948 |
+
var WEEKDAY = 8;
|
8949 |
+
|
8950 |
+
// FORMATTING
|
8951 |
+
|
8952 |
+
addFormatToken('Y', 0, 0, function () {
|
8953 |
+
var y = this.year();
|
8954 |
+
return y <= 9999 ? '' + y : '+' + y;
|
8955 |
+
});
|
8956 |
+
|
8957 |
+
addFormatToken(0, ['YY', 2], 0, function () {
|
8958 |
+
return this.year() % 100;
|
8959 |
+
});
|
8960 |
+
|
8961 |
+
addFormatToken(0, ['YYYY', 4], 0, 'year');
|
8962 |
+
addFormatToken(0, ['YYYYY', 5], 0, 'year');
|
8963 |
+
addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
|
8964 |
+
|
8965 |
+
// ALIASES
|
8966 |
+
|
8967 |
+
addUnitAlias('year', 'y');
|
8968 |
+
|
8969 |
+
// PRIORITIES
|
8970 |
+
|
8971 |
+
addUnitPriority('year', 1);
|
8972 |
+
|
8973 |
+
// PARSING
|
8974 |
+
|
8975 |
+
addRegexToken('Y', matchSigned);
|
8976 |
+
addRegexToken('YY', match1to2, match2);
|
8977 |
+
addRegexToken('YYYY', match1to4, match4);
|
8978 |
+
addRegexToken('YYYYY', match1to6, match6);
|
8979 |
+
addRegexToken('YYYYYY', match1to6, match6);
|
8980 |
+
|
8981 |
+
addParseToken(['YYYYY', 'YYYYYY'], YEAR);
|
8982 |
+
addParseToken('YYYY', function (input, array) {
|
8983 |
+
array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
|
8984 |
+
});
|
8985 |
+
addParseToken('YY', function (input, array) {
|
8986 |
+
array[YEAR] = hooks.parseTwoDigitYear(input);
|
8987 |
+
});
|
8988 |
+
addParseToken('Y', function (input, array) {
|
8989 |
+
array[YEAR] = parseInt(input, 10);
|
8990 |
+
});
|
8991 |
+
|
8992 |
+
// HELPERS
|
8993 |
+
|
8994 |
+
function daysInYear(year) {
|
8995 |
+
return isLeapYear(year) ? 366 : 365;
|
8996 |
+
}
|
8997 |
+
|
8998 |
+
function isLeapYear(year) {
|
8999 |
+
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
|
9000 |
+
}
|
9001 |
+
|
9002 |
+
// HOOKS
|
9003 |
+
|
9004 |
+
hooks.parseTwoDigitYear = function (input) {
|
9005 |
+
return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
|
9006 |
+
};
|
9007 |
+
|
9008 |
+
// MOMENTS
|
9009 |
+
|
9010 |
+
var getSetYear = makeGetSet('FullYear', true);
|
9011 |
+
|
9012 |
+
function getIsLeapYear () {
|
9013 |
+
return isLeapYear(this.year());
|
9014 |
+
}
|
9015 |
+
|
9016 |
+
function makeGetSet (unit, keepTime) {
|
9017 |
+
return function (value) {
|
9018 |
+
if (value != null) {
|
9019 |
+
set$1(this, unit, value);
|
9020 |
+
hooks.updateOffset(this, keepTime);
|
9021 |
+
return this;
|
9022 |
+
} else {
|
9023 |
+
return get(this, unit);
|
9024 |
+
}
|
9025 |
+
};
|
9026 |
+
}
|
9027 |
+
|
9028 |
+
function get (mom, unit) {
|
9029 |
+
return mom.isValid() ?
|
9030 |
+
mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;
|
9031 |
+
}
|
9032 |
+
|
9033 |
+
function set$1 (mom, unit, value) {
|
9034 |
+
if (mom.isValid() && !isNaN(value)) {
|
9035 |
+
if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {
|
9036 |
+
mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));
|
9037 |
+
}
|
9038 |
+
else {
|
9039 |
+
mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
|
9040 |
+
}
|
9041 |
+
}
|
9042 |
+
}
|
9043 |
+
|
9044 |
+
// MOMENTS
|
9045 |
+
|
9046 |
+
function stringGet (units) {
|
9047 |
+
units = normalizeUnits(units);
|
9048 |
+
if (isFunction(this[units])) {
|
9049 |
+
return this[units]();
|
9050 |
+
}
|
9051 |
+
return this;
|
9052 |
+
}
|
9053 |
+
|
9054 |
+
|
9055 |
+
function stringSet (units, value) {
|
9056 |
+
if (typeof units === 'object') {
|
9057 |
+
units = normalizeObjectUnits(units);
|
9058 |
+
var prioritized = getPrioritizedUnits(units);
|
9059 |
+
for (var i = 0; i < prioritized.length; i++) {
|
9060 |
+
this[prioritized[i].unit](units[prioritized[i].unit]);
|
9061 |
+
}
|
9062 |
+
} else {
|
9063 |
+
units = normalizeUnits(units);
|
9064 |
+
if (isFunction(this[units])) {
|
9065 |
+
return this[units](value);
|
9066 |
+
}
|
9067 |
+
}
|
9068 |
+
return this;
|
9069 |
+
}
|
9070 |
+
|
9071 |
+
function mod(n, x) {
|
9072 |
+
return ((n % x) + x) % x;
|
9073 |
+
}
|
9074 |
+
|
9075 |
+
var indexOf;
|
9076 |
+
|
9077 |
+
if (Array.prototype.indexOf) {
|
9078 |
+
indexOf = Array.prototype.indexOf;
|
9079 |
+
} else {
|
9080 |
+
indexOf = function (o) {
|
9081 |
+
// I know
|
9082 |
+
var i;
|
9083 |
+
for (i = 0; i < this.length; ++i) {
|
9084 |
+
if (this[i] === o) {
|
9085 |
+
return i;
|
9086 |
+
}
|
9087 |
+
}
|
9088 |
+
return -1;
|
9089 |
+
};
|
9090 |
+
}
|
9091 |
+
|
9092 |
+
function daysInMonth(year, month) {
|
9093 |
+
if (isNaN(year) || isNaN(month)) {
|
9094 |
+
return NaN;
|
9095 |
+
}
|
9096 |
+
var modMonth = mod(month, 12);
|
9097 |
+
year += (month - modMonth) / 12;
|
9098 |
+
return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);
|
9099 |
+
}
|
9100 |
+
|
9101 |
+
// FORMATTING
|
9102 |
+
|
9103 |
+
addFormatToken('M', ['MM', 2], 'Mo', function () {
|
9104 |
+
return this.month() + 1;
|
9105 |
+
});
|
9106 |
+
|
9107 |
+
addFormatToken('MMM', 0, 0, function (format) {
|
9108 |
+
return this.localeData().monthsShort(this, format);
|
9109 |
+
});
|
9110 |
+
|
9111 |
+
addFormatToken('MMMM', 0, 0, function (format) {
|
9112 |
+
return this.localeData().months(this, format);
|
9113 |
+
});
|
9114 |
+
|
9115 |
+
// ALIASES
|
9116 |
+
|
9117 |
+
addUnitAlias('month', 'M');
|
9118 |
+
|
9119 |
+
// PRIORITY
|
9120 |
+
|
9121 |
+
addUnitPriority('month', 8);
|
9122 |
+
|
9123 |
+
// PARSING
|
9124 |
+
|
9125 |
+
addRegexToken('M', match1to2);
|
9126 |
+
addRegexToken('MM', match1to2, match2);
|
9127 |
+
addRegexToken('MMM', function (isStrict, locale) {
|
9128 |
+
return locale.monthsShortRegex(isStrict);
|
9129 |
+
});
|
9130 |
+
addRegexToken('MMMM', function (isStrict, locale) {
|
9131 |
+
return locale.monthsRegex(isStrict);
|
9132 |
+
});
|
9133 |
+
|
9134 |
+
addParseToken(['M', 'MM'], function (input, array) {
|
9135 |
+
array[MONTH] = toInt(input) - 1;
|
9136 |
+
});
|
9137 |
+
|
9138 |
+
addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
|
9139 |
+
var month = config._locale.monthsParse(input, token, config._strict);
|
9140 |
+
// if we didn't find a month name, mark the date as invalid.
|
9141 |
+
if (month != null) {
|
9142 |
+
array[MONTH] = month;
|
9143 |
+
} else {
|
9144 |
+
getParsingFlags(config).invalidMonth = input;
|
9145 |
+
}
|
9146 |
+
});
|
9147 |
+
|
9148 |
+
// LOCALES
|
9149 |
+
|
9150 |
+
var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/;
|
9151 |
+
var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');
|
9152 |
+
function localeMonths (m, format) {
|
9153 |
+
if (!m) {
|
9154 |
+
return isArray(this._months) ? this._months :
|
9155 |
+
this._months['standalone'];
|
9156 |
+
}
|
9157 |
+
return isArray(this._months) ? this._months[m.month()] :
|
9158 |
+
this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];
|
9159 |
+
}
|
9160 |
+
|
9161 |
+
var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');
|
9162 |
+
function localeMonthsShort (m, format) {
|
9163 |
+
if (!m) {
|
9164 |
+
return isArray(this._monthsShort) ? this._monthsShort :
|
9165 |
+
this._monthsShort['standalone'];
|
9166 |
+
}
|
9167 |
+
return isArray(this._monthsShort) ? this._monthsShort[m.month()] :
|
9168 |
+
this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
|
9169 |
+
}
|
9170 |
+
|
9171 |
+
function handleStrictParse(monthName, format, strict) {
|
9172 |
+
var i, ii, mom, llc = monthName.toLocaleLowerCase();
|
9173 |
+
if (!this._monthsParse) {
|
9174 |
+
// this is not used
|
9175 |
+
this._monthsParse = [];
|
9176 |
+
this._longMonthsParse = [];
|
9177 |
+
this._shortMonthsParse = [];
|
9178 |
+
for (i = 0; i < 12; ++i) {
|
9179 |
+
mom = createUTC([2000, i]);
|
9180 |
+
this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();
|
9181 |
+
this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
|
9182 |
+
}
|
9183 |
+
}
|
9184 |
+
|
9185 |
+
if (strict) {
|
9186 |
+
if (format === 'MMM') {
|
9187 |
+
ii = indexOf.call(this._shortMonthsParse, llc);
|
9188 |
+
return ii !== -1 ? ii : null;
|
9189 |
+
} else {
|
9190 |
+
ii = indexOf.call(this._longMonthsParse, llc);
|
9191 |
+
return ii !== -1 ? ii : null;
|
9192 |
+
}
|
9193 |
+
} else {
|
9194 |
+
if (format === 'MMM') {
|
9195 |
+
ii = indexOf.call(this._shortMonthsParse, llc);
|
9196 |
+
if (ii !== -1) {
|
9197 |
+
return ii;
|
9198 |
+
}
|
9199 |
+
ii = indexOf.call(this._longMonthsParse, llc);
|
9200 |
+
return ii !== -1 ? ii : null;
|
9201 |
+
} else {
|
9202 |
+
ii = indexOf.call(this._longMonthsParse, llc);
|
9203 |
+
if (ii !== -1) {
|
9204 |
+
return ii;
|
9205 |
+
}
|
9206 |
+
ii = indexOf.call(this._shortMonthsParse, llc);
|
9207 |
+
return ii !== -1 ? ii : null;
|
9208 |
+
}
|
9209 |
+
}
|
9210 |
+
}
|
9211 |
+
|
9212 |
+
function localeMonthsParse (monthName, format, strict) {
|
9213 |
+
var i, mom, regex;
|
9214 |
+
|
9215 |
+
if (this._monthsParseExact) {
|
9216 |
+
return handleStrictParse.call(this, monthName, format, strict);
|
9217 |
+
}
|
9218 |
+
|
9219 |
+
if (!this._monthsParse) {
|
9220 |
+
this._monthsParse = [];
|
9221 |
+
this._longMonthsParse = [];
|
9222 |
+
this._shortMonthsParse = [];
|
9223 |
+
}
|
9224 |
+
|
9225 |
+
// TODO: add sorting
|
9226 |
+
// Sorting makes sure if one month (or abbr) is a prefix of another
|
9227 |
+
// see sorting in computeMonthsParse
|
9228 |
+
for (i = 0; i < 12; i++) {
|
9229 |
+
// make the regex if we don't have it already
|
9230 |
+
mom = createUTC([2000, i]);
|
9231 |
+
if (strict && !this._longMonthsParse[i]) {
|
9232 |
+
this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
|
9233 |
+
this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
|
9234 |
+
}
|
9235 |
+
if (!strict && !this._monthsParse[i]) {
|
9236 |
+
regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
|
9237 |
+
this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
|
9238 |
+
}
|
9239 |
+
// test the regex
|
9240 |
+
if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
|
9241 |
+
return i;
|
9242 |
+
} else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
|
9243 |
+
return i;
|
9244 |
+
} else if (!strict && this._monthsParse[i].test(monthName)) {
|
9245 |
+
return i;
|
9246 |
+
}
|
9247 |
+
}
|
9248 |
+
}
|
9249 |
+
|
9250 |
+
// MOMENTS
|
9251 |
+
|
9252 |
+
function setMonth (mom, value) {
|
9253 |
+
var dayOfMonth;
|
9254 |
+
|
9255 |
+
if (!mom.isValid()) {
|
9256 |
+
// No op
|
9257 |
+
return mom;
|
9258 |
+
}
|
9259 |
+
|
9260 |
+
if (typeof value === 'string') {
|
9261 |
+
if (/^\d+$/.test(value)) {
|
9262 |
+
value = toInt(value);
|
9263 |
+
} else {
|
9264 |
+
value = mom.localeData().monthsParse(value);
|
9265 |
+
// TODO: Another silent failure?
|
9266 |
+
if (!isNumber(value)) {
|
9267 |
+
return mom;
|
9268 |
+
}
|
9269 |
+
}
|
9270 |
+
}
|
9271 |
+
|
9272 |
+
dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
|
9273 |
+
mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
|
9274 |
+
return mom;
|
9275 |
+
}
|
9276 |
+
|
9277 |
+
function getSetMonth (value) {
|
9278 |
+
if (value != null) {
|
9279 |
+
setMonth(this, value);
|
9280 |
+
hooks.updateOffset(this, true);
|
9281 |
+
return this;
|
9282 |
+
} else {
|
9283 |
+
return get(this, 'Month');
|
9284 |
+
}
|
9285 |
+
}
|
9286 |
+
|
9287 |
+
function getDaysInMonth () {
|
9288 |
+
return daysInMonth(this.year(), this.month());
|
9289 |
+
}
|
9290 |
+
|
9291 |
+
var defaultMonthsShortRegex = matchWord;
|
9292 |
+
function monthsShortRegex (isStrict) {
|
9293 |
+
if (this._monthsParseExact) {
|
9294 |
+
if (!hasOwnProp(this, '_monthsRegex')) {
|
9295 |
+
computeMonthsParse.call(this);
|
9296 |
+
}
|
9297 |
+
if (isStrict) {
|
9298 |
+
return this._monthsShortStrictRegex;
|
9299 |
+
} else {
|
9300 |
+
return this._monthsShortRegex;
|
9301 |
+
}
|
9302 |
+
} else {
|
9303 |
+
if (!hasOwnProp(this, '_monthsShortRegex')) {
|
9304 |
+
this._monthsShortRegex = defaultMonthsShortRegex;
|
9305 |
+
}
|
9306 |
+
return this._monthsShortStrictRegex && isStrict ?
|
9307 |
+
this._monthsShortStrictRegex : this._monthsShortRegex;
|
9308 |
+
}
|
9309 |
+
}
|
9310 |
+
|
9311 |
+
var defaultMonthsRegex = matchWord;
|
9312 |
+
function monthsRegex (isStrict) {
|
9313 |
+
if (this._monthsParseExact) {
|
9314 |
+
if (!hasOwnProp(this, '_monthsRegex')) {
|
9315 |
+
computeMonthsParse.call(this);
|
9316 |
+
}
|
9317 |
+
if (isStrict) {
|
9318 |
+
return this._monthsStrictRegex;
|
9319 |
+
} else {
|
9320 |
+
return this._monthsRegex;
|
9321 |
+
}
|
9322 |
+
} else {
|
9323 |
+
if (!hasOwnProp(this, '_monthsRegex')) {
|
9324 |
+
this._monthsRegex = defaultMonthsRegex;
|
9325 |
+
}
|
9326 |
+
return this._monthsStrictRegex && isStrict ?
|
9327 |
+
this._monthsStrictRegex : this._monthsRegex;
|
9328 |
+
}
|
9329 |
+
}
|
9330 |
+
|
9331 |
+
function computeMonthsParse () {
|
9332 |
+
function cmpLenRev(a, b) {
|
9333 |
+
return b.length - a.length;
|
9334 |
+
}
|
9335 |
+
|
9336 |
+
var shortPieces = [], longPieces = [], mixedPieces = [],
|
9337 |
+
i, mom;
|
9338 |
+
for (i = 0; i < 12; i++) {
|
9339 |
+
// make the regex if we don't have it already
|
9340 |
+
mom = createUTC([2000, i]);
|
9341 |
+
shortPieces.push(this.monthsShort(mom, ''));
|
9342 |
+
longPieces.push(this.months(mom, ''));
|
9343 |
+
mixedPieces.push(this.months(mom, ''));
|
9344 |
+
mixedPieces.push(this.monthsShort(mom, ''));
|
9345 |
+
}
|
9346 |
+
// Sorting makes sure if one month (or abbr) is a prefix of another it
|
9347 |
+
// will match the longer piece.
|
9348 |
+
shortPieces.sort(cmpLenRev);
|
9349 |
+
longPieces.sort(cmpLenRev);
|
9350 |
+
mixedPieces.sort(cmpLenRev);
|
9351 |
+
for (i = 0; i < 12; i++) {
|
9352 |
+
shortPieces[i] = regexEscape(shortPieces[i]);
|
9353 |
+
longPieces[i] = regexEscape(longPieces[i]);
|
9354 |
+
}
|
9355 |
+
for (i = 0; i < 24; i++) {
|
9356 |
+
mixedPieces[i] = regexEscape(mixedPieces[i]);
|
9357 |
+
}
|
9358 |
+
|
9359 |
+
this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
|
9360 |
+
this._monthsShortRegex = this._monthsRegex;
|
9361 |
+
this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
|
9362 |
+
this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
|
9363 |
+
}
|
9364 |
+
|
9365 |
+
function createDate (y, m, d, h, M, s, ms) {
|
9366 |
+
// can't just apply() to create a date:
|
9367 |
+
// https://stackoverflow.com/q/181348
|
9368 |
+
var date = new Date(y, m, d, h, M, s, ms);
|
9369 |
+
|
9370 |
+
// the date constructor remaps years 0-99 to 1900-1999
|
9371 |
+
if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {
|
9372 |
+
date.setFullYear(y);
|
9373 |
+
}
|
9374 |
+
return date;
|
9375 |
+
}
|
9376 |
+
|
9377 |
+
function createUTCDate (y) {
|
9378 |
+
var date = new Date(Date.UTC.apply(null, arguments));
|
9379 |
+
|
9380 |
+
// the Date.UTC function remaps years 0-99 to 1900-1999
|
9381 |
+
if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {
|
9382 |
+
date.setUTCFullYear(y);
|
9383 |
+
}
|
9384 |
+
return date;
|
9385 |
+
}
|
9386 |
+
|
9387 |
+
// start-of-first-week - start-of-year
|
9388 |
+
function firstWeekOffset(year, dow, doy) {
|
9389 |
+
var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
|
9390 |
+
fwd = 7 + dow - doy,
|
9391 |
+
// first-week day local weekday -- which local weekday is fwd
|
9392 |
+
fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
|
9393 |
+
|
9394 |
+
return -fwdlw + fwd - 1;
|
9395 |
+
}
|
9396 |
+
|
9397 |
+
// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
|
9398 |
+
function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
|
9399 |
+
var localWeekday = (7 + weekday - dow) % 7,
|
9400 |
+
weekOffset = firstWeekOffset(year, dow, doy),
|
9401 |
+
dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
|
9402 |
+
resYear, resDayOfYear;
|
9403 |
+
|
9404 |
+
if (dayOfYear <= 0) {
|
9405 |
+
resYear = year - 1;
|
9406 |
+
resDayOfYear = daysInYear(resYear) + dayOfYear;
|
9407 |
+
} else if (dayOfYear > daysInYear(year)) {
|
9408 |
+
resYear = year + 1;
|
9409 |
+
resDayOfYear = dayOfYear - daysInYear(year);
|
9410 |
+
} else {
|
9411 |
+
resYear = year;
|
9412 |
+
resDayOfYear = dayOfYear;
|
9413 |
+
}
|
9414 |
+
|
9415 |
+
return {
|
9416 |
+
year: resYear,
|
9417 |
+
dayOfYear: resDayOfYear
|
9418 |
+
};
|
9419 |
+
}
|
9420 |
+
|
9421 |
+
function weekOfYear(mom, dow, doy) {
|
9422 |
+
var weekOffset = firstWeekOffset(mom.year(), dow, doy),
|
9423 |
+
week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
|
9424 |
+
resWeek, resYear;
|
9425 |
+
|
9426 |
+
if (week < 1) {
|
9427 |
+
resYear = mom.year() - 1;
|
9428 |
+
resWeek = week + weeksInYear(resYear, dow, doy);
|
9429 |
+
} else if (week > weeksInYear(mom.year(), dow, doy)) {
|
9430 |
+
resWeek = week - weeksInYear(mom.year(), dow, doy);
|
9431 |
+
resYear = mom.year() + 1;
|
9432 |
+
} else {
|
9433 |
+
resYear = mom.year();
|
9434 |
+
resWeek = week;
|
9435 |
+
}
|
9436 |
+
|
9437 |
+
return {
|
9438 |
+
week: resWeek,
|
9439 |
+
year: resYear
|
9440 |
+
};
|
9441 |
+
}
|
9442 |
+
|
9443 |
+
function weeksInYear(year, dow, doy) {
|
9444 |
+
var weekOffset = firstWeekOffset(year, dow, doy),
|
9445 |
+
weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
|
9446 |
+
return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
|
9447 |
+
}
|
9448 |
+
|
9449 |
+
// FORMATTING
|
9450 |
+
|
9451 |
+
addFormatToken('w', ['ww', 2], 'wo', 'week');
|
9452 |
+
addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
|
9453 |
+
|
9454 |
+
// ALIASES
|
9455 |
+
|
9456 |
+
addUnitAlias('week', 'w');
|
9457 |
+
addUnitAlias('isoWeek', 'W');
|
9458 |
+
|
9459 |
+
// PRIORITIES
|
9460 |
+
|
9461 |
+
addUnitPriority('week', 5);
|
9462 |
+
addUnitPriority('isoWeek', 5);
|
9463 |
+
|
9464 |
+
// PARSING
|
9465 |
+
|
9466 |
+
addRegexToken('w', match1to2);
|
9467 |
+
addRegexToken('ww', match1to2, match2);
|
9468 |
+
addRegexToken('W', match1to2);
|
9469 |
+
addRegexToken('WW', match1to2, match2);
|
9470 |
+
|
9471 |
+
addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
|
9472 |
+
week[token.substr(0, 1)] = toInt(input);
|
9473 |
+
});
|
9474 |
+
|
9475 |
+
// HELPERS
|
9476 |
+
|
9477 |
+
// LOCALES
|
9478 |
+
|
9479 |
+
function localeWeek (mom) {
|
9480 |
+
return weekOfYear(mom, this._week.dow, this._week.doy).week;
|
9481 |
+
}
|
9482 |
+
|
9483 |
+
var defaultLocaleWeek = {
|
9484 |
+
dow : 0, // Sunday is the first day of the week.
|
9485 |
+
doy : 6 // The week that contains Jan 1st is the first week of the year.
|
9486 |
+
};
|
9487 |
+
|
9488 |
+
function localeFirstDayOfWeek () {
|
9489 |
+
return this._week.dow;
|
9490 |
+
}
|
9491 |
+
|
9492 |
+
function localeFirstDayOfYear () {
|
9493 |
+
return this._week.doy;
|
9494 |
+
}
|
9495 |
+
|
9496 |
+
// MOMENTS
|
9497 |
+
|
9498 |
+
function getSetWeek (input) {
|
9499 |
+
var week = this.localeData().week(this);
|
9500 |
+
return input == null ? week : this.add((input - week) * 7, 'd');
|
9501 |
+
}
|
9502 |
+
|
9503 |
+
function getSetISOWeek (input) {
|
9504 |
+
var week = weekOfYear(this, 1, 4).week;
|
9505 |
+
return input == null ? week : this.add((input - week) * 7, 'd');
|
9506 |
+
}
|
9507 |
+
|
9508 |
+
// FORMATTING
|
9509 |
+
|
9510 |
+
addFormatToken('d', 0, 'do', 'day');
|
9511 |
+
|
9512 |
+
addFormatToken('dd', 0, 0, function (format) {
|
9513 |
+
return this.localeData().weekdaysMin(this, format);
|
9514 |
+
});
|
9515 |
+
|
9516 |
+
addFormatToken('ddd', 0, 0, function (format) {
|
9517 |
+
return this.localeData().weekdaysShort(this, format);
|
9518 |
+
});
|
9519 |
+
|
9520 |
+
addFormatToken('dddd', 0, 0, function (format) {
|
9521 |
+
return this.localeData().weekdays(this, format);
|
9522 |
+
});
|
9523 |
+
|
9524 |
+
addFormatToken('e', 0, 0, 'weekday');
|
9525 |
+
addFormatToken('E', 0, 0, 'isoWeekday');
|
9526 |
+
|
9527 |
+
// ALIASES
|
9528 |
+
|
9529 |
+
addUnitAlias('day', 'd');
|
9530 |
+
addUnitAlias('weekday', 'e');
|
9531 |
+
addUnitAlias('isoWeekday', 'E');
|
9532 |
+
|
9533 |
+
// PRIORITY
|
9534 |
+
addUnitPriority('day', 11);
|
9535 |
+
addUnitPriority('weekday', 11);
|
9536 |
+
addUnitPriority('isoWeekday', 11);
|
9537 |
+
|
9538 |
+
// PARSING
|
9539 |
+
|
9540 |
+
addRegexToken('d', match1to2);
|
9541 |
+
addRegexToken('e', match1to2);
|
9542 |
+
addRegexToken('E', match1to2);
|
9543 |
+
addRegexToken('dd', function (isStrict, locale) {
|
9544 |
+
return locale.weekdaysMinRegex(isStrict);
|
9545 |
+
});
|
9546 |
+
addRegexToken('ddd', function (isStrict, locale) {
|
9547 |
+
return locale.weekdaysShortRegex(isStrict);
|
9548 |
+
});
|
9549 |
+
addRegexToken('dddd', function (isStrict, locale) {
|
9550 |
+
return locale.weekdaysRegex(isStrict);
|
9551 |
+
});
|
9552 |
+
|
9553 |
+
addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
|
9554 |
+
var weekday = config._locale.weekdaysParse(input, token, config._strict);
|
9555 |
+
// if we didn't get a weekday name, mark the date as invalid
|
9556 |
+
if (weekday != null) {
|
9557 |
+
week.d = weekday;
|
9558 |
+
} else {
|
9559 |
+
getParsingFlags(config).invalidWeekday = input;
|
9560 |
+
}
|
9561 |
+
});
|
9562 |
+
|
9563 |
+
addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
|
9564 |
+
week[token] = toInt(input);
|
9565 |
+
});
|
9566 |
+
|
9567 |
+
// HELPERS
|
9568 |
+
|
9569 |
+
function parseWeekday(input, locale) {
|
9570 |
+
if (typeof input !== 'string') {
|
9571 |
+
return input;
|
9572 |
+
}
|
9573 |
+
|
9574 |
+
if (!isNaN(input)) {
|
9575 |
+
return parseInt(input, 10);
|
9576 |
+
}
|
9577 |
+
|
9578 |
+
input = locale.weekdaysParse(input);
|
9579 |
+
if (typeof input === 'number') {
|
9580 |
+
return input;
|
9581 |
+
}
|
9582 |
+
|
9583 |
+
return null;
|
9584 |
+
}
|
9585 |
+
|
9586 |
+
function parseIsoWeekday(input, locale) {
|
9587 |
+
if (typeof input === 'string') {
|
9588 |
+
return locale.weekdaysParse(input) % 7 || 7;
|
9589 |
+
}
|
9590 |
+
return isNaN(input) ? null : input;
|
9591 |
+
}
|
9592 |
+
|
9593 |
+
// LOCALES
|
9594 |
+
|
9595 |
+
var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');
|
9596 |
+
function localeWeekdays (m, format) {
|
9597 |
+
if (!m) {
|
9598 |
+
return isArray(this._weekdays) ? this._weekdays :
|
9599 |
+
this._weekdays['standalone'];
|
9600 |
+
}
|
9601 |
+
return isArray(this._weekdays) ? this._weekdays[m.day()] :
|
9602 |
+
this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];
|
9603 |
+
}
|
9604 |
+
|
9605 |
+
var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');
|
9606 |
+
function localeWeekdaysShort (m) {
|
9607 |
+
return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;
|
9608 |
+
}
|
9609 |
+
|
9610 |
+
var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');
|
9611 |
+
function localeWeekdaysMin (m) {
|
9612 |
+
return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;
|
9613 |
+
}
|
9614 |
+
|
9615 |
+
function handleStrictParse$1(weekdayName, format, strict) {
|
9616 |
+
var i, ii, mom, llc = weekdayName.toLocaleLowerCase();
|
9617 |
+
if (!this._weekdaysParse) {
|
9618 |
+
this._weekdaysParse = [];
|
9619 |
+
this._shortWeekdaysParse = [];
|
9620 |
+
this._minWeekdaysParse = [];
|
9621 |
+
|
9622 |
+
for (i = 0; i < 7; ++i) {
|
9623 |
+
mom = createUTC([2000, 1]).day(i);
|
9624 |
+
this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();
|
9625 |
+
this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();
|
9626 |
+
this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
|
9627 |
+
}
|
9628 |
+
}
|
9629 |
+
|
9630 |
+
if (strict) {
|
9631 |
+
if (format === 'dddd') {
|
9632 |
+
ii = indexOf.call(this._weekdaysParse, llc);
|
9633 |
+
return ii !== -1 ? ii : null;
|
9634 |
+
} else if (format === 'ddd') {
|
9635 |
+
ii = indexOf.call(this._shortWeekdaysParse, llc);
|
9636 |
+
return ii !== -1 ? ii : null;
|
9637 |
+
} else {
|
9638 |
+
ii = indexOf.call(this._minWeekdaysParse, llc);
|
9639 |
+
return ii !== -1 ? ii : null;
|
9640 |
+
}
|
9641 |
+
} else {
|
9642 |
+
if (format === 'dddd') {
|
9643 |
+
ii = indexOf.call(this._weekdaysParse, llc);
|
9644 |
+
if (ii !== -1) {
|
9645 |
+
return ii;
|
9646 |
+
}
|
9647 |
+
ii = indexOf.call(this._shortWeekdaysParse, llc);
|
9648 |
+
if (ii !== -1) {
|
9649 |
+
return ii;
|
9650 |
+
}
|
9651 |
+
ii = indexOf.call(this._minWeekdaysParse, llc);
|
9652 |
+
return ii !== -1 ? ii : null;
|
9653 |
+
} else if (format === 'ddd') {
|
9654 |
+
ii = indexOf.call(this._shortWeekdaysParse, llc);
|
9655 |
+
if (ii !== -1) {
|
9656 |
+
return ii;
|
9657 |
+
}
|
9658 |
+
ii = indexOf.call(this._weekdaysParse, llc);
|
9659 |
+
if (ii !== -1) {
|
9660 |
+
return ii;
|
9661 |
+
}
|
9662 |
+
ii = indexOf.call(this._minWeekdaysParse, llc);
|
9663 |
+
return ii !== -1 ? ii : null;
|
9664 |
+
} else {
|
9665 |
+
ii = indexOf.call(this._minWeekdaysParse, llc);
|
9666 |
+
if (ii !== -1) {
|
9667 |
+
return ii;
|
9668 |
+
}
|
9669 |
+
ii = indexOf.call(this._weekdaysParse, llc);
|
9670 |
+
if (ii !== -1) {
|
9671 |
+
return ii;
|
9672 |
+
}
|
9673 |
+
ii = indexOf.call(this._shortWeekdaysParse, llc);
|
9674 |
+
return ii !== -1 ? ii : null;
|
9675 |
+
}
|
9676 |
+
}
|
9677 |
+
}
|
9678 |
+
|
9679 |
+
function localeWeekdaysParse (weekdayName, format, strict) {
|
9680 |
+
var i, mom, regex;
|
9681 |
+
|
9682 |
+
if (this._weekdaysParseExact) {
|
9683 |
+
return handleStrictParse$1.call(this, weekdayName, format, strict);
|
9684 |
+
}
|
9685 |
+
|
9686 |
+
if (!this._weekdaysParse) {
|
9687 |
+
this._weekdaysParse = [];
|
9688 |
+
this._minWeekdaysParse = [];
|
9689 |
+
this._shortWeekdaysParse = [];
|
9690 |
+
this._fullWeekdaysParse = [];
|
9691 |
+
}
|
9692 |
+
|
9693 |
+
for (i = 0; i < 7; i++) {
|
9694 |
+
// make the regex if we don't have it already
|
9695 |
+
|
9696 |
+
mom = createUTC([2000, 1]).day(i);
|
9697 |
+
if (strict && !this._fullWeekdaysParse[i]) {
|
9698 |
+
this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\.?') + '$', 'i');
|
9699 |
+
this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\.?') + '$', 'i');
|
9700 |
+
this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\.?') + '$', 'i');
|
9701 |
+
}
|
9702 |
+
if (!this._weekdaysParse[i]) {
|
9703 |
+
regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
|
9704 |
+
this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
|
9705 |
+
}
|
9706 |
+
// test the regex
|
9707 |
+
if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {
|
9708 |
+
return i;
|
9709 |
+
} else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {
|
9710 |
+
return i;
|
9711 |
+
} else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {
|
9712 |
+
return i;
|
9713 |
+
} else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
|
9714 |
+
return i;
|
9715 |
+
}
|
9716 |
+
}
|
9717 |
+
}
|
9718 |
+
|
9719 |
+
// MOMENTS
|
9720 |
+
|
9721 |
+
function getSetDayOfWeek (input) {
|
9722 |
+
if (!this.isValid()) {
|
9723 |
+
return input != null ? this : NaN;
|
9724 |
+
}
|
9725 |
+
var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
|
9726 |
+
if (input != null) {
|
9727 |
+
input = parseWeekday(input, this.localeData());
|
9728 |
+
return this.add(input - day, 'd');
|
9729 |
+
} else {
|
9730 |
+
return day;
|
9731 |
+
}
|
9732 |
+
}
|
9733 |
+
|
9734 |
+
function getSetLocaleDayOfWeek (input) {
|
9735 |
+
if (!this.isValid()) {
|
9736 |
+
return input != null ? this : NaN;
|
9737 |
+
}
|
9738 |
+
var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
|
9739 |
+
return input == null ? weekday : this.add(input - weekday, 'd');
|
9740 |
+
}
|
9741 |
+
|
9742 |
+
function getSetISODayOfWeek (input) {
|
9743 |
+
if (!this.isValid()) {
|
9744 |
+
return input != null ? this : NaN;
|
9745 |
+
}
|
9746 |
+
|
9747 |
+
// behaves the same as moment#day except
|
9748 |
+
// as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
|
9749 |
+
// as a setter, sunday should belong to the previous week.
|
9750 |
+
|
9751 |
+
if (input != null) {
|
9752 |
+
var weekday = parseIsoWeekday(input, this.localeData());
|
9753 |
+
return this.day(this.day() % 7 ? weekday : weekday - 7);
|
9754 |
+
} else {
|
9755 |
+
return this.day() || 7;
|
9756 |
+
}
|
9757 |
+
}
|
9758 |
+
|
9759 |
+
var defaultWeekdaysRegex = matchWord;
|
9760 |
+
function weekdaysRegex (isStrict) {
|
9761 |
+
if (this._weekdaysParseExact) {
|
9762 |
+
if (!hasOwnProp(this, '_weekdaysRegex')) {
|
9763 |
+
computeWeekdaysParse.call(this);
|
9764 |
+
}
|
9765 |
+
if (isStrict) {
|
9766 |
+
return this._weekdaysStrictRegex;
|
9767 |
+
} else {
|
9768 |
+
return this._weekdaysRegex;
|
9769 |
+
}
|
9770 |
+
} else {
|
9771 |
+
if (!hasOwnProp(this, '_weekdaysRegex')) {
|
9772 |
+
this._weekdaysRegex = defaultWeekdaysRegex;
|
9773 |
+
}
|
9774 |
+
return this._weekdaysStrictRegex && isStrict ?
|
9775 |
+
this._weekdaysStrictRegex : this._weekdaysRegex;
|
9776 |
+
}
|
9777 |
+
}
|
9778 |
+
|
9779 |
+
var defaultWeekdaysShortRegex = matchWord;
|
9780 |
+
function weekdaysShortRegex (isStrict) {
|
9781 |
+
if (this._weekdaysParseExact) {
|
9782 |
+
if (!hasOwnProp(this, '_weekdaysRegex')) {
|
9783 |
+
computeWeekdaysParse.call(this);
|
9784 |
+
}
|
9785 |
+
if (isStrict) {
|
9786 |
+
return this._weekdaysShortStrictRegex;
|
9787 |
+
} else {
|
9788 |
+
return this._weekdaysShortRegex;
|
9789 |
+
}
|
9790 |
+
} else {
|
9791 |
+
if (!hasOwnProp(this, '_weekdaysShortRegex')) {
|
9792 |
+
this._weekdaysShortRegex = defaultWeekdaysShortRegex;
|
9793 |
+
}
|
9794 |
+
return this._weekdaysShortStrictRegex && isStrict ?
|
9795 |
+
this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
|
9796 |
+
}
|
9797 |
+
}
|
9798 |
+
|
9799 |
+
var defaultWeekdaysMinRegex = matchWord;
|
9800 |
+
function weekdaysMinRegex (isStrict) {
|
9801 |
+
if (this._weekdaysParseExact) {
|
9802 |
+
if (!hasOwnProp(this, '_weekdaysRegex')) {
|
9803 |
+
computeWeekdaysParse.call(this);
|
9804 |
+
}
|
9805 |
+
if (isStrict) {
|
9806 |
+
return this._weekdaysMinStrictRegex;
|
9807 |
+
} else {
|
9808 |
+
return this._weekdaysMinRegex;
|
9809 |
+
}
|
9810 |
+
} else {
|
9811 |
+
if (!hasOwnProp(this, '_weekdaysMinRegex')) {
|
9812 |
+
this._weekdaysMinRegex = defaultWeekdaysMinRegex;
|
9813 |
+
}
|
9814 |
+
return this._weekdaysMinStrictRegex && isStrict ?
|
9815 |
+
this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
|
9816 |
+
}
|
9817 |
+
}
|
9818 |
+
|
9819 |
+
|
9820 |
+
function computeWeekdaysParse () {
|
9821 |
+
function cmpLenRev(a, b) {
|
9822 |
+
return b.length - a.length;
|
9823 |
+
}
|
9824 |
+
|
9825 |
+
var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],
|
9826 |
+
i, mom, minp, shortp, longp;
|
9827 |
+
for (i = 0; i < 7; i++) {
|
9828 |
+
// make the regex if we don't have it already
|
9829 |
+
mom = createUTC([2000, 1]).day(i);
|
9830 |
+
minp = this.weekdaysMin(mom, '');
|
9831 |
+
shortp = this.weekdaysShort(mom, '');
|
9832 |
+
longp = this.weekdays(mom, '');
|
9833 |
+
minPieces.push(minp);
|
9834 |
+
shortPieces.push(shortp);
|
9835 |
+
longPieces.push(longp);
|
9836 |
+
mixedPieces.push(minp);
|
9837 |
+
mixedPieces.push(shortp);
|
9838 |
+
mixedPieces.push(longp);
|
9839 |
+
}
|
9840 |
+
// Sorting makes sure if one weekday (or abbr) is a prefix of another it
|
9841 |
+
// will match the longer piece.
|
9842 |
+
minPieces.sort(cmpLenRev);
|
9843 |
+
shortPieces.sort(cmpLenRev);
|
9844 |
+
longPieces.sort(cmpLenRev);
|
9845 |
+
mixedPieces.sort(cmpLenRev);
|
9846 |
+
for (i = 0; i < 7; i++) {
|
9847 |
+
shortPieces[i] = regexEscape(shortPieces[i]);
|
9848 |
+
longPieces[i] = regexEscape(longPieces[i]);
|
9849 |
+
mixedPieces[i] = regexEscape(mixedPieces[i]);
|
9850 |
+
}
|
9851 |
+
|
9852 |
+
this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
|
9853 |
+
this._weekdaysShortRegex = this._weekdaysRegex;
|
9854 |
+
this._weekdaysMinRegex = this._weekdaysRegex;
|
9855 |
+
|
9856 |
+
this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
|
9857 |
+
this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
|
9858 |
+
this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');
|
9859 |
+
}
|
9860 |
+
|
9861 |
+
// FORMATTING
|
9862 |
+
|
9863 |
+
function hFormat() {
|
9864 |
+
return this.hours() % 12 || 12;
|
9865 |
+
}
|
9866 |
+
|
9867 |
+
function kFormat() {
|
9868 |
+
return this.hours() || 24;
|
9869 |
+
}
|
9870 |
+
|
9871 |
+
addFormatToken('H', ['HH', 2], 0, 'hour');
|
9872 |
+
addFormatToken('h', ['hh', 2], 0, hFormat);
|
9873 |
+
addFormatToken('k', ['kk', 2], 0, kFormat);
|
9874 |
+
|
9875 |
+
addFormatToken('hmm', 0, 0, function () {
|
9876 |
+
return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
|
9877 |
+
});
|
9878 |
+
|
9879 |
+
addFormatToken('hmmss', 0, 0, function () {
|
9880 |
+
return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +
|
9881 |
+
zeroFill(this.seconds(), 2);
|
9882 |
+
});
|
9883 |
+
|
9884 |
+
addFormatToken('Hmm', 0, 0, function () {
|
9885 |
+
return '' + this.hours() + zeroFill(this.minutes(), 2);
|
9886 |
+
});
|
9887 |
+
|
9888 |
+
addFormatToken('Hmmss', 0, 0, function () {
|
9889 |
+
return '' + this.hours() + zeroFill(this.minutes(), 2) +
|
9890 |
+
zeroFill(this.seconds(), 2);
|
9891 |
+
});
|
9892 |
+
|
9893 |
+
function meridiem (token, lowercase) {
|
9894 |
+
addFormatToken(token, 0, 0, function () {
|
9895 |
+
return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
|
9896 |
+
});
|
9897 |
+
}
|
9898 |
+
|
9899 |
+
meridiem('a', true);
|
9900 |
+
meridiem('A', false);
|
9901 |
+
|
9902 |
+
// ALIASES
|
9903 |
+
|
9904 |
+
addUnitAlias('hour', 'h');
|
9905 |
+
|
9906 |
+
// PRIORITY
|
9907 |
+
addUnitPriority('hour', 13);
|
9908 |
+
|
9909 |
+
// PARSING
|
9910 |
+
|
9911 |
+
function matchMeridiem (isStrict, locale) {
|
9912 |
+
return locale._meridiemParse;
|
9913 |
+
}
|
9914 |
+
|
9915 |
+
addRegexToken('a', matchMeridiem);
|
9916 |
+
addRegexToken('A', matchMeridiem);
|
9917 |
+
addRegexToken('H', match1to2);
|
9918 |
+
addRegexToken('h', match1to2);
|
9919 |
+
addRegexToken('k', match1to2);
|
9920 |
+
addRegexToken('HH', match1to2, match2);
|
9921 |
+
addRegexToken('hh', match1to2, match2);
|
9922 |
+
addRegexToken('kk', match1to2, match2);
|
9923 |
+
|
9924 |
+
addRegexToken('hmm', match3to4);
|
9925 |
+
addRegexToken('hmmss', match5to6);
|
9926 |
+
addRegexToken('Hmm', match3to4);
|
9927 |
+
addRegexToken('Hmmss', match5to6);
|
9928 |
+
|
9929 |
+
addParseToken(['H', 'HH'], HOUR);
|
9930 |
+
addParseToken(['k', 'kk'], function (input, array, config) {
|
9931 |
+
var kInput = toInt(input);
|
9932 |
+
array[HOUR] = kInput === 24 ? 0 : kInput;
|
9933 |
+
});
|
9934 |
+
addParseToken(['a', 'A'], function (input, array, config) {
|
9935 |
+
config._isPm = config._locale.isPM(input);
|
9936 |
+
config._meridiem = input;
|
9937 |
+
});
|
9938 |
+
addParseToken(['h', 'hh'], function (input, array, config) {
|
9939 |
+
array[HOUR] = toInt(input);
|
9940 |
+
getParsingFlags(config).bigHour = true;
|
9941 |
+
});
|
9942 |
+
addParseToken('hmm', function (input, array, config) {
|
9943 |
+
var pos = input.length - 2;
|
9944 |
+
array[HOUR] = toInt(input.substr(0, pos));
|
9945 |
+
array[MINUTE] = toInt(input.substr(pos));
|
9946 |
+
getParsingFlags(config).bigHour = true;
|
9947 |
+
});
|
9948 |
+
addParseToken('hmmss', function (input, array, config) {
|
9949 |
+
var pos1 = input.length - 4;
|
9950 |
+
var pos2 = input.length - 2;
|
9951 |
+
array[HOUR] = toInt(input.substr(0, pos1));
|
9952 |
+
array[MINUTE] = toInt(input.substr(pos1, 2));
|
9953 |
+
array[SECOND] = toInt(input.substr(pos2));
|
9954 |
+
getParsingFlags(config).bigHour = true;
|
9955 |
+
});
|
9956 |
+
addParseToken('Hmm', function (input, array, config) {
|
9957 |
+
var pos = input.length - 2;
|
9958 |
+
array[HOUR] = toInt(input.substr(0, pos));
|
9959 |
+
array[MINUTE] = toInt(input.substr(pos));
|
9960 |
+
});
|
9961 |
+
addParseToken('Hmmss', function (input, array, config) {
|
9962 |
+
var pos1 = input.length - 4;
|
9963 |
+
var pos2 = input.length - 2;
|
9964 |
+
array[HOUR] = toInt(input.substr(0, pos1));
|
9965 |
+
array[MINUTE] = toInt(input.substr(pos1, 2));
|
9966 |
+
array[SECOND] = toInt(input.substr(pos2));
|
9967 |
+
});
|
9968 |
+
|
9969 |
+
// LOCALES
|
9970 |
+
|
9971 |
+
function localeIsPM (input) {
|
9972 |
+
// IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
|
9973 |
+
// Using charAt should be more compatible.
|
9974 |
+
return ((input + '').toLowerCase().charAt(0) === 'p');
|
9975 |
+
}
|
9976 |
+
|
9977 |
+
var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i;
|
9978 |
+
function localeMeridiem (hours, minutes, isLower) {
|
9979 |
+
if (hours > 11) {
|
9980 |
+
return isLower ? 'pm' : 'PM';
|
9981 |
+
} else {
|
9982 |
+
return isLower ? 'am' : 'AM';
|
9983 |
+
}
|
9984 |
+
}
|
9985 |
+
|
9986 |
+
|
9987 |
+
// MOMENTS
|
9988 |
+
|
9989 |
+
// Setting the hour should keep the time, because the user explicitly
|
9990 |
+
// specified which hour he wants. So trying to maintain the same hour (in
|
9991 |
+
// a new timezone) makes sense. Adding/subtracting hours does not follow
|
9992 |
+
// this rule.
|
9993 |
+
var getSetHour = makeGetSet('Hours', true);
|
9994 |
+
|
9995 |
+
// months
|
9996 |
+
// week
|
9997 |
+
// weekdays
|
9998 |
+
// meridiem
|
9999 |
+
var baseConfig = {
|
10000 |
+
calendar: defaultCalendar,
|
10001 |
+
longDateFormat: defaultLongDateFormat,
|
10002 |
+
invalidDate: defaultInvalidDate,
|
10003 |
+
ordinal: defaultOrdinal,
|
10004 |
+
dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
|
10005 |
+
relativeTime: defaultRelativeTime,
|
10006 |
+
|
10007 |
+
months: defaultLocaleMonths,
|
10008 |
+
monthsShort: defaultLocaleMonthsShort,
|
10009 |
+
|
10010 |
+
week: defaultLocaleWeek,
|
10011 |
+
|
10012 |
+
weekdays: defaultLocaleWeekdays,
|
10013 |
+
weekdaysMin: defaultLocaleWeekdaysMin,
|
10014 |
+
weekdaysShort: defaultLocaleWeekdaysShort,
|
10015 |
+
|
10016 |
+
meridiemParse: defaultLocaleMeridiemParse
|
10017 |
+
};
|
10018 |
+
|
10019 |
+
// internal storage for locale config files
|
10020 |
+
var locales = {};
|
10021 |
+
var localeFamilies = {};
|
10022 |
+
var globalLocale;
|
10023 |
+
|
10024 |
+
function normalizeLocale(key) {
|
10025 |
+
return key ? key.toLowerCase().replace('_', '-') : key;
|
10026 |
+
}
|
10027 |
+
|
10028 |
+
// pick the locale from the array
|
10029 |
+
// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
|
10030 |
+
// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
|
10031 |
+
function chooseLocale(names) {
|
10032 |
+
var i = 0, j, next, locale, split;
|
10033 |
+
|
10034 |
+
while (i < names.length) {
|
10035 |
+
split = normalizeLocale(names[i]).split('-');
|
10036 |
+
j = split.length;
|
10037 |
+
next = normalizeLocale(names[i + 1]);
|
10038 |
+
next = next ? next.split('-') : null;
|
10039 |
+
while (j > 0) {
|
10040 |
+
locale = loadLocale(split.slice(0, j).join('-'));
|
10041 |
+
if (locale) {
|
10042 |
+
return locale;
|
10043 |
+
}
|
10044 |
+
if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
|
10045 |
+
//the next array item is better than a shallower substring of this one
|
10046 |
+
break;
|
10047 |
+
}
|
10048 |
+
j--;
|
10049 |
+
}
|
10050 |
+
i++;
|
10051 |
+
}
|
10052 |
+
return null;
|
10053 |
+
}
|
10054 |
+
|
10055 |
+
function loadLocale(name) {
|
10056 |
+
var oldLocale = null;
|
10057 |
+
// TODO: Find a better way to register and load all the locales in Node
|
10058 |
+
if (!locales[name] && (typeof module !== 'undefined') &&
|
10059 |
+
module && module.exports) {
|
10060 |
+
try {
|
10061 |
+
oldLocale = globalLocale._abbr;
|
10062 |
+
var aliasedRequire = require;
|
10063 |
+
__webpack_require__(606)("./" + name);
|
10064 |
+
getSetGlobalLocale(oldLocale);
|
10065 |
+
} catch (e) {}
|
10066 |
+
}
|
10067 |
+
return locales[name];
|
10068 |
+
}
|
10069 |
+
|
10070 |
+
// This function will load locale and then set the global locale. If
|
10071 |
+
// no arguments are passed in, it will simply return the current global
|
10072 |
+
// locale key.
|
10073 |
+
function getSetGlobalLocale (key, values) {
|
10074 |
+
var data;
|
10075 |
+
if (key) {
|
10076 |
+
if (isUndefined(values)) {
|
10077 |
+
data = getLocale(key);
|
10078 |
+
}
|
10079 |
+
else {
|
10080 |
+
data = defineLocale(key, values);
|
10081 |
+
}
|
10082 |
+
|
10083 |
+
if (data) {
|
10084 |
+
// moment.duration._locale = moment._locale = data;
|
10085 |
+
globalLocale = data;
|
10086 |
+
}
|
10087 |
+
}
|
10088 |
+
|
10089 |
+
return globalLocale._abbr;
|
10090 |
+
}
|
10091 |
+
|
10092 |
+
function defineLocale (name, config) {
|
10093 |
+
if (config !== null) {
|
10094 |
+
var parentConfig = baseConfig;
|
10095 |
+
config.abbr = name;
|
10096 |
+
if (locales[name] != null) {
|
10097 |
+
deprecateSimple('defineLocaleOverride',
|
10098 |
+
'use moment.updateLocale(localeName, config) to change ' +
|
10099 |
+
'an existing locale. moment.defineLocale(localeName, ' +
|
10100 |
+
'config) should only be used for creating a new locale ' +
|
10101 |
+
'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');
|
10102 |
+
parentConfig = locales[name]._config;
|
10103 |
+
} else if (config.parentLocale != null) {
|
10104 |
+
if (locales[config.parentLocale] != null) {
|
10105 |
+
parentConfig = locales[config.parentLocale]._config;
|
10106 |
+
} else {
|
10107 |
+
if (!localeFamilies[config.parentLocale]) {
|
10108 |
+
localeFamilies[config.parentLocale] = [];
|
10109 |
+
}
|
10110 |
+
localeFamilies[config.parentLocale].push({
|
10111 |
+
name: name,
|
10112 |
+
config: config
|
10113 |
+
});
|
10114 |
+
return null;
|
10115 |
+
}
|
10116 |
+
}
|
10117 |
+
locales[name] = new Locale(mergeConfigs(parentConfig, config));
|
10118 |
+
|
10119 |
+
if (localeFamilies[name]) {
|
10120 |
+
localeFamilies[name].forEach(function (x) {
|
10121 |
+
defineLocale(x.name, x.config);
|
10122 |
+
});
|
10123 |
+
}
|
10124 |
+
|
10125 |
+
// backwards compat for now: also set the locale
|
10126 |
+
// make sure we set the locale AFTER all child locales have been
|
10127 |
+
// created, so we won't end up with the child locale set.
|
10128 |
+
getSetGlobalLocale(name);
|
10129 |
+
|
10130 |
+
|
10131 |
+
return locales[name];
|
10132 |
+
} else {
|
10133 |
+
// useful for testing
|
10134 |
+
delete locales[name];
|
10135 |
+
return null;
|
10136 |
+
}
|
10137 |
+
}
|
10138 |
+
|
10139 |
+
function updateLocale(name, config) {
|
10140 |
+
if (config != null) {
|
10141 |
+
var locale, tmpLocale, parentConfig = baseConfig;
|
10142 |
+
// MERGE
|
10143 |
+
tmpLocale = loadLocale(name);
|
10144 |
+
if (tmpLocale != null) {
|
10145 |
+
parentConfig = tmpLocale._config;
|
10146 |
+
}
|
10147 |
+
config = mergeConfigs(parentConfig, config);
|
10148 |
+
locale = new Locale(config);
|
10149 |
+
locale.parentLocale = locales[name];
|
10150 |
+
locales[name] = locale;
|
10151 |
+
|
10152 |
+
// backwards compat for now: also set the locale
|
10153 |
+
getSetGlobalLocale(name);
|
10154 |
+
} else {
|
10155 |
+
// pass null for config to unupdate, useful for tests
|
10156 |
+
if (locales[name] != null) {
|
10157 |
+
if (locales[name].parentLocale != null) {
|
10158 |
+
locales[name] = locales[name].parentLocale;
|
10159 |
+
} else if (locales[name] != null) {
|
10160 |
+
delete locales[name];
|
10161 |
+
}
|
10162 |
+
}
|
10163 |
+
}
|
10164 |
+
return locales[name];
|
10165 |
+
}
|
10166 |
+
|
10167 |
+
// returns locale data
|
10168 |
+
function getLocale (key) {
|
10169 |
+
var locale;
|
10170 |
+
|
10171 |
+
if (key && key._locale && key._locale._abbr) {
|
10172 |
+
key = key._locale._abbr;
|
10173 |
+
}
|
10174 |
+
|
10175 |
+
if (!key) {
|
10176 |
+
return globalLocale;
|
10177 |
+
}
|
10178 |
+
|
10179 |
+
if (!isArray(key)) {
|
10180 |
+
//short-circuit everything else
|
10181 |
+
locale = loadLocale(key);
|
10182 |
+
if (locale) {
|
10183 |
+
return locale;
|
10184 |
+
}
|
10185 |
+
key = [key];
|
10186 |
+
}
|
10187 |
+
|
10188 |
+
return chooseLocale(key);
|
10189 |
+
}
|
10190 |
+
|
10191 |
+
function listLocales() {
|
10192 |
+
return keys(locales);
|
10193 |
+
}
|
10194 |
+
|
10195 |
+
function checkOverflow (m) {
|
10196 |
+
var overflow;
|
10197 |
+
var a = m._a;
|
10198 |
+
|
10199 |
+
if (a && getParsingFlags(m).overflow === -2) {
|
10200 |
+
overflow =
|
10201 |
+
a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :
|
10202 |
+
a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
|
10203 |
+
a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :
|
10204 |
+
a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :
|
10205 |
+
a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :
|
10206 |
+
a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
|
10207 |
+
-1;
|
10208 |
+
|
10209 |
+
if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
|
10210 |
+
overflow = DATE;
|
10211 |
+
}
|
10212 |
+
if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
|
10213 |
+
overflow = WEEK;
|
10214 |
+
}
|
10215 |
+
if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
|
10216 |
+
overflow = WEEKDAY;
|
10217 |
+
}
|
10218 |
+
|
10219 |
+
getParsingFlags(m).overflow = overflow;
|
10220 |
+
}
|
10221 |
+
|
10222 |
+
return m;
|
10223 |
+
}
|
10224 |
+
|
10225 |
+
// Pick the first defined of two or three arguments.
|
10226 |
+
function defaults(a, b, c) {
|
10227 |
+
if (a != null) {
|
10228 |
+
return a;
|
10229 |
+
}
|
10230 |
+
if (b != null) {
|
10231 |
+
return b;
|
10232 |
+
}
|
10233 |
+
return c;
|
10234 |
+
}
|
10235 |
+
|
10236 |
+
function currentDateArray(config) {
|
10237 |
+
// hooks is actually the exported moment object
|
10238 |
+
var nowValue = new Date(hooks.now());
|
10239 |
+
if (config._useUTC) {
|
10240 |
+
return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];
|
10241 |
+
}
|
10242 |
+
return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
|
10243 |
+
}
|
10244 |
+
|
10245 |
+
// convert an array to a date.
|
10246 |
+
// the array should mirror the parameters below
|
10247 |
+
// note: all values past the year are optional and will default to the lowest possible value.
|
10248 |
+
// [year, month, day , hour, minute, second, millisecond]
|
10249 |
+
function configFromArray (config) {
|
10250 |
+
var i, date, input = [], currentDate, expectedWeekday, yearToUse;
|
10251 |
+
|
10252 |
+
if (config._d) {
|
10253 |
+
return;
|
10254 |
+
}
|
10255 |
+
|
10256 |
+
currentDate = currentDateArray(config);
|
10257 |
+
|
10258 |
+
//compute day of the year from weeks and weekdays
|
10259 |
+
if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
|
10260 |
+
dayOfYearFromWeekInfo(config);
|
10261 |
+
}
|
10262 |
+
|
10263 |
+
//if the day of the year is set, figure out what it is
|
10264 |
+
if (config._dayOfYear != null) {
|
10265 |
+
yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
|
10266 |
+
|
10267 |
+
if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {
|
10268 |
+
getParsingFlags(config)._overflowDayOfYear = true;
|
10269 |
+
}
|
10270 |
+
|
10271 |
+
date = createUTCDate(yearToUse, 0, config._dayOfYear);
|
10272 |
+
config._a[MONTH] = date.getUTCMonth();
|
10273 |
+
config._a[DATE] = date.getUTCDate();
|
10274 |
+
}
|
10275 |
+
|
10276 |
+
// Default to current date.
|
10277 |
+
// * if no year, month, day of month are given, default to today
|
10278 |
+
// * if day of month is given, default month and year
|
10279 |
+
// * if month is given, default only year
|
10280 |
+
// * if year is given, don't default anything
|
10281 |
+
for (i = 0; i < 3 && config._a[i] == null; ++i) {
|
10282 |
+
config._a[i] = input[i] = currentDate[i];
|
10283 |
+
}
|
10284 |
+
|
10285 |
+
// Zero out whatever was not defaulted, including time
|
10286 |
+
for (; i < 7; i++) {
|
10287 |
+
config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
|
10288 |
+
}
|
10289 |
+
|
10290 |
+
// Check for 24:00:00.000
|
10291 |
+
if (config._a[HOUR] === 24 &&
|
10292 |
+
config._a[MINUTE] === 0 &&
|
10293 |
+
config._a[SECOND] === 0 &&
|
10294 |
+
config._a[MILLISECOND] === 0) {
|
10295 |
+
config._nextDay = true;
|
10296 |
+
config._a[HOUR] = 0;
|
10297 |
+
}
|
10298 |
+
|
10299 |
+
config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
|
10300 |
+
expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();
|
10301 |
+
|
10302 |
+
// Apply timezone offset from input. The actual utcOffset can be changed
|
10303 |
+
// with parseZone.
|
10304 |
+
if (config._tzm != null) {
|
10305 |
+
config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
|
10306 |
+
}
|
10307 |
+
|
10308 |
+
if (config._nextDay) {
|
10309 |
+
config._a[HOUR] = 24;
|
10310 |
+
}
|
10311 |
+
|
10312 |
+
// check for mismatching day of week
|
10313 |
+
if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {
|
10314 |
+
getParsingFlags(config).weekdayMismatch = true;
|
10315 |
+
}
|
10316 |
+
}
|
10317 |
+
|
10318 |
+
function dayOfYearFromWeekInfo(config) {
|
10319 |
+
var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;
|
10320 |
+
|
10321 |
+
w = config._w;
|
10322 |
+
if (w.GG != null || w.W != null || w.E != null) {
|
10323 |
+
dow = 1;
|
10324 |
+
doy = 4;
|
10325 |
+
|
10326 |
+
// TODO: We need to take the current isoWeekYear, but that depends on
|
10327 |
+
// how we interpret now (local, utc, fixed offset). So create
|
10328 |
+
// a now version of current config (take local/utc/offset flags, and
|
10329 |
+
// create now).
|
10330 |
+
weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);
|
10331 |
+
week = defaults(w.W, 1);
|
10332 |
+
weekday = defaults(w.E, 1);
|
10333 |
+
if (weekday < 1 || weekday > 7) {
|
10334 |
+
weekdayOverflow = true;
|
10335 |
+
}
|
10336 |
+
} else {
|
10337 |
+
dow = config._locale._week.dow;
|
10338 |
+
doy = config._locale._week.doy;
|
10339 |
+
|
10340 |
+
var curWeek = weekOfYear(createLocal(), dow, doy);
|
10341 |
+
|
10342 |
+
weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
|
10343 |
+
|
10344 |
+
// Default to current week.
|
10345 |
+
week = defaults(w.w, curWeek.week);
|
10346 |
+
|
10347 |
+
if (w.d != null) {
|
10348 |
+
// weekday -- low day numbers are considered next week
|
10349 |
+
weekday = w.d;
|
10350 |
+
if (weekday < 0 || weekday > 6) {
|
10351 |
+
weekdayOverflow = true;
|
10352 |
+
}
|
10353 |
+
} else if (w.e != null) {
|
10354 |
+
// local weekday -- counting starts from begining of week
|
10355 |
+
weekday = w.e + dow;
|
10356 |
+
if (w.e < 0 || w.e > 6) {
|
10357 |
+
weekdayOverflow = true;
|
10358 |
+
}
|
10359 |
+
} else {
|
10360 |
+
// default to begining of week
|
10361 |
+
weekday = dow;
|
10362 |
+
}
|
10363 |
+
}
|
10364 |
+
if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
|
10365 |
+
getParsingFlags(config)._overflowWeeks = true;
|
10366 |
+
} else if (weekdayOverflow != null) {
|
10367 |
+
getParsingFlags(config)._overflowWeekday = true;
|
10368 |
+
} else {
|
10369 |
+
temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
|
10370 |
+
config._a[YEAR] = temp.year;
|
10371 |
+
config._dayOfYear = temp.dayOfYear;
|
10372 |
+
}
|
10373 |
+
}
|
10374 |
+
|
10375 |
+
// iso 8601 regex
|
10376 |
+
// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
|
10377 |
+
var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
|
10378 |
+
var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
|
10379 |
+
|
10380 |
+
var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/;
|
10381 |
+
|
10382 |
+
var isoDates = [
|
10383 |
+
['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
|
10384 |
+
['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
|
10385 |
+
['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
|
10386 |
+
['GGGG-[W]WW', /\d{4}-W\d\d/, false],
|
10387 |
+
['YYYY-DDD', /\d{4}-\d{3}/],
|
10388 |
+
['YYYY-MM', /\d{4}-\d\d/, false],
|
10389 |
+
['YYYYYYMMDD', /[+-]\d{10}/],
|
10390 |
+
['YYYYMMDD', /\d{8}/],
|
10391 |
+
// YYYYMM is NOT allowed by the standard
|
10392 |
+
['GGGG[W]WWE', /\d{4}W\d{3}/],
|
10393 |
+
['GGGG[W]WW', /\d{4}W\d{2}/, false],
|
10394 |
+
['YYYYDDD', /\d{7}/]
|
10395 |
+
];
|
10396 |
+
|
10397 |
+
// iso time formats and regexes
|
10398 |
+
var isoTimes = [
|
10399 |
+
['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
|
10400 |
+
['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
|
10401 |
+
['HH:mm:ss', /\d\d:\d\d:\d\d/],
|
10402 |
+
['HH:mm', /\d\d:\d\d/],
|
10403 |
+
['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
|
10404 |
+
['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
|
10405 |
+
['HHmmss', /\d\d\d\d\d\d/],
|
10406 |
+
['HHmm', /\d\d\d\d/],
|
10407 |
+
['HH', /\d\d/]
|
10408 |
+
];
|
10409 |
+
|
10410 |
+
var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
|
10411 |
+
|
10412 |
+
// date from iso format
|
10413 |
+
function configFromISO(config) {
|
10414 |
+
var i, l,
|
10415 |
+
string = config._i,
|
10416 |
+
match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
|
10417 |
+
allowTime, dateFormat, timeFormat, tzFormat;
|
10418 |
+
|
10419 |
+
if (match) {
|
10420 |
+
getParsingFlags(config).iso = true;
|
10421 |
+
|
10422 |
+
for (i = 0, l = isoDates.length; i < l; i++) {
|
10423 |
+
if (isoDates[i][1].exec(match[1])) {
|
10424 |
+
dateFormat = isoDates[i][0];
|
10425 |
+
allowTime = isoDates[i][2] !== false;
|
10426 |
+
break;
|
10427 |
+
}
|
10428 |
+
}
|
10429 |
+
if (dateFormat == null) {
|
10430 |
+
config._isValid = false;
|
10431 |
+
return;
|
10432 |
+
}
|
10433 |
+
if (match[3]) {
|
10434 |
+
for (i = 0, l = isoTimes.length; i < l; i++) {
|
10435 |
+
if (isoTimes[i][1].exec(match[3])) {
|
10436 |
+
// match[2] should be 'T' or space
|
10437 |
+
timeFormat = (match[2] || ' ') + isoTimes[i][0];
|
10438 |
+
break;
|
10439 |
+
}
|
10440 |
+
}
|
10441 |
+
if (timeFormat == null) {
|
10442 |
+
config._isValid = false;
|
10443 |
+
return;
|
10444 |
+
}
|
10445 |
+
}
|
10446 |
+
if (!allowTime && timeFormat != null) {
|
10447 |
+
config._isValid = false;
|
10448 |
+
return;
|
10449 |
+
}
|
10450 |
+
if (match[4]) {
|
10451 |
+
if (tzRegex.exec(match[4])) {
|
10452 |
+
tzFormat = 'Z';
|
10453 |
+
} else {
|
10454 |
+
config._isValid = false;
|
10455 |
+
return;
|
10456 |
+
}
|
10457 |
+
}
|
10458 |
+
config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
|
10459 |
+
configFromStringAndFormat(config);
|
10460 |
+
} else {
|
10461 |
+
config._isValid = false;
|
10462 |
+
}
|
10463 |
+
}
|
10464 |
+
|
10465 |
+
// RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
|
10466 |
+
var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;
|
10467 |
+
|
10468 |
+
function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
|
10469 |
+
var result = [
|
10470 |
+
untruncateYear(yearStr),
|
10471 |
+
defaultLocaleMonthsShort.indexOf(monthStr),
|
10472 |
+
parseInt(dayStr, 10),
|
10473 |
+
parseInt(hourStr, 10),
|
10474 |
+
parseInt(minuteStr, 10)
|
10475 |
+
];
|
10476 |
+
|
10477 |
+
if (secondStr) {
|
10478 |
+
result.push(parseInt(secondStr, 10));
|
10479 |
+
}
|
10480 |
+
|
10481 |
+
return result;
|
10482 |
+
}
|
10483 |
+
|
10484 |
+
function untruncateYear(yearStr) {
|
10485 |
+
var year = parseInt(yearStr, 10);
|
10486 |
+
if (year <= 49) {
|
10487 |
+
return 2000 + year;
|
10488 |
+
} else if (year <= 999) {
|
10489 |
+
return 1900 + year;
|
10490 |
+
}
|
10491 |
+
return year;
|
10492 |
+
}
|
10493 |
+
|
10494 |
+
function preprocessRFC2822(s) {
|
10495 |
+
// Remove comments and folding whitespace and replace multiple-spaces with a single space
|
10496 |
+
return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').trim();
|
10497 |
+
}
|
10498 |
+
|
10499 |
+
function checkWeekday(weekdayStr, parsedInput, config) {
|
10500 |
+
if (weekdayStr) {
|
10501 |
+
// TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.
|
10502 |
+
var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
|
10503 |
+
weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();
|
10504 |
+
if (weekdayProvided !== weekdayActual) {
|
10505 |
+
getParsingFlags(config).weekdayMismatch = true;
|
10506 |
+
config._isValid = false;
|
10507 |
+
return false;
|
10508 |
+
}
|
10509 |
+
}
|
10510 |
+
return true;
|
10511 |
+
}
|
10512 |
+
|
10513 |
+
var obsOffsets = {
|
10514 |
+
UT: 0,
|
10515 |
+
GMT: 0,
|
10516 |
+
EDT: -4 * 60,
|
10517 |
+
EST: -5 * 60,
|
10518 |
+
CDT: -5 * 60,
|
10519 |
+
CST: -6 * 60,
|
10520 |
+
MDT: -6 * 60,
|
10521 |
+
MST: -7 * 60,
|
10522 |
+
PDT: -7 * 60,
|
10523 |
+
PST: -8 * 60
|
10524 |
+
};
|
10525 |
+
|
10526 |
+
function calculateOffset(obsOffset, militaryOffset, numOffset) {
|
10527 |
+
if (obsOffset) {
|
10528 |
+
return obsOffsets[obsOffset];
|
10529 |
+
} else if (militaryOffset) {
|
10530 |
+
// the only allowed military tz is Z
|
10531 |
+
return 0;
|
10532 |
+
} else {
|
10533 |
+
var hm = parseInt(numOffset, 10);
|
10534 |
+
var m = hm % 100, h = (hm - m) / 100;
|
10535 |
+
return h * 60 + m;
|
10536 |
+
}
|
10537 |
+
}
|
10538 |
+
|
10539 |
+
// date and time from ref 2822 format
|
10540 |
+
function configFromRFC2822(config) {
|
10541 |
+
var match = rfc2822.exec(preprocessRFC2822(config._i));
|
10542 |
+
if (match) {
|
10543 |
+
var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);
|
10544 |
+
if (!checkWeekday(match[1], parsedArray, config)) {
|
10545 |
+
return;
|
10546 |
+
}
|
10547 |
+
|
10548 |
+
config._a = parsedArray;
|
10549 |
+
config._tzm = calculateOffset(match[8], match[9], match[10]);
|
10550 |
+
|
10551 |
+
config._d = createUTCDate.apply(null, config._a);
|
10552 |
+
config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
|
10553 |
+
|
10554 |
+
getParsingFlags(config).rfc2822 = true;
|
10555 |
+
} else {
|
10556 |
+
config._isValid = false;
|
10557 |
+
}
|
10558 |
+
}
|
10559 |
+
|
10560 |
+
// date from iso format or fallback
|
10561 |
+
function configFromString(config) {
|
10562 |
+
var matched = aspNetJsonRegex.exec(config._i);
|
10563 |
+
|
10564 |
+
if (matched !== null) {
|
10565 |
+
config._d = new Date(+matched[1]);
|
10566 |
+
return;
|
10567 |
+
}
|
10568 |
+
|
10569 |
+
configFromISO(config);
|
10570 |
+
if (config._isValid === false) {
|
10571 |
+
delete config._isValid;
|
10572 |
+
} else {
|
10573 |
+
return;
|
10574 |
+
}
|
10575 |
+
|
10576 |
+
configFromRFC2822(config);
|
10577 |
+
if (config._isValid === false) {
|
10578 |
+
delete config._isValid;
|
10579 |
+
} else {
|
10580 |
+
return;
|
10581 |
+
}
|
10582 |
+
|
10583 |
+
// Final attempt, use Input Fallback
|
10584 |
+
hooks.createFromInputFallback(config);
|
10585 |
+
}
|
10586 |
+
|
10587 |
+
hooks.createFromInputFallback = deprecate(
|
10588 |
+
'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +
|
10589 |
+
'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +
|
10590 |
+
'discouraged and will be removed in an upcoming major release. Please refer to ' +
|
10591 |
+
'http://momentjs.com/guides/#/warnings/js-date/ for more info.',
|
10592 |
+
function (config) {
|
10593 |
+
config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
|
10594 |
+
}
|
10595 |
+
);
|
10596 |
+
|
10597 |
+
// constant that refers to the ISO standard
|
10598 |
+
hooks.ISO_8601 = function () {};
|
10599 |
+
|
10600 |
+
// constant that refers to the RFC 2822 form
|
10601 |
+
hooks.RFC_2822 = function () {};
|
10602 |
+
|
10603 |
+
// date from string and format string
|
10604 |
+
function configFromStringAndFormat(config) {
|
10605 |
+
// TODO: Move this to another part of the creation flow to prevent circular deps
|
10606 |
+
if (config._f === hooks.ISO_8601) {
|
10607 |
+
configFromISO(config);
|
10608 |
+
return;
|
10609 |
+
}
|
10610 |
+
if (config._f === hooks.RFC_2822) {
|
10611 |
+
configFromRFC2822(config);
|
10612 |
+
return;
|
10613 |
+
}
|
10614 |
+
config._a = [];
|
10615 |
+
getParsingFlags(config).empty = true;
|
10616 |
+
|
10617 |
+
// This array is used to make a Date, either with `new Date` or `Date.UTC`
|
10618 |
+
var string = '' + config._i,
|
10619 |
+
i, parsedInput, tokens, token, skipped,
|
10620 |
+
stringLength = string.length,
|
10621 |
+
totalParsedInputLength = 0;
|
10622 |
+
|
10623 |
+
tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
|
10624 |
+
|
10625 |
+
for (i = 0; i < tokens.length; i++) {
|
10626 |
+
token = tokens[i];
|
10627 |
+
parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
|
10628 |
+
// console.log('token', token, 'parsedInput', parsedInput,
|
10629 |
+
// 'regex', getParseRegexForToken(token, config));
|
10630 |
+
if (parsedInput) {
|
10631 |
+
skipped = string.substr(0, string.indexOf(parsedInput));
|
10632 |
+
if (skipped.length > 0) {
|
10633 |
+
getParsingFlags(config).unusedInput.push(skipped);
|
10634 |
+
}
|
10635 |
+
string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
|
10636 |
+
totalParsedInputLength += parsedInput.length;
|
10637 |
+
}
|
10638 |
+
// don't parse if it's not a known token
|
10639 |
+
if (formatTokenFunctions[token]) {
|
10640 |
+
if (parsedInput) {
|
10641 |
+
getParsingFlags(config).empty = false;
|
10642 |
+
}
|
10643 |
+
else {
|
10644 |
+
getParsingFlags(config).unusedTokens.push(token);
|
10645 |
+
}
|
10646 |
+
addTimeToArrayFromToken(token, parsedInput, config);
|
10647 |
+
}
|
10648 |
+
else if (config._strict && !parsedInput) {
|
10649 |
+
getParsingFlags(config).unusedTokens.push(token);
|
10650 |
+
}
|
10651 |
+
}
|
10652 |
+
|
10653 |
+
// add remaining unparsed input length to the string
|
10654 |
+
getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
|
10655 |
+
if (string.length > 0) {
|
10656 |
+
getParsingFlags(config).unusedInput.push(string);
|
10657 |
+
}
|
10658 |
+
|
10659 |
+
// clear _12h flag if hour is <= 12
|
10660 |
+
if (config._a[HOUR] <= 12 &&
|
10661 |
+
getParsingFlags(config).bigHour === true &&
|
10662 |
+
config._a[HOUR] > 0) {
|
10663 |
+
getParsingFlags(config).bigHour = undefined;
|
10664 |
+
}
|
10665 |
+
|
10666 |
+
getParsingFlags(config).parsedDateParts = config._a.slice(0);
|
10667 |
+
getParsingFlags(config).meridiem = config._meridiem;
|
10668 |
+
// handle meridiem
|
10669 |
+
config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
|
10670 |
+
|
10671 |
+
configFromArray(config);
|
10672 |
+
checkOverflow(config);
|
10673 |
+
}
|
10674 |
+
|
10675 |
+
|
10676 |
+
function meridiemFixWrap (locale, hour, meridiem) {
|
10677 |
+
var isPm;
|
10678 |
+
|
10679 |
+
if (meridiem == null) {
|
10680 |
+
// nothing to do
|
10681 |
+
return hour;
|
10682 |
+
}
|
10683 |
+
if (locale.meridiemHour != null) {
|
10684 |
+
return locale.meridiemHour(hour, meridiem);
|
10685 |
+
} else if (locale.isPM != null) {
|
10686 |
+
// Fallback
|
10687 |
+
isPm = locale.isPM(meridiem);
|
10688 |
+
if (isPm && hour < 12) {
|
10689 |
+
hour += 12;
|
10690 |
+
}
|
10691 |
+
if (!isPm && hour === 12) {
|
10692 |
+
hour = 0;
|
10693 |
+
}
|
10694 |
+
return hour;
|
10695 |
+
} else {
|
10696 |
+
// this is not supposed to happen
|
10697 |
+
return hour;
|
10698 |
+
}
|
10699 |
+
}
|
10700 |
+
|
10701 |
+
// date from string and array of format strings
|
10702 |
+
function configFromStringAndArray(config) {
|
10703 |
+
var tempConfig,
|
10704 |
+
bestMoment,
|
10705 |
+
|
10706 |
+
scoreToBeat,
|
10707 |
+
i,
|
10708 |
+
currentScore;
|
10709 |
+
|
10710 |
+
if (config._f.length === 0) {
|
10711 |
+
getParsingFlags(config).invalidFormat = true;
|
10712 |
+
config._d = new Date(NaN);
|
10713 |
+
return;
|
10714 |
+
}
|
10715 |
+
|
10716 |
+
for (i = 0; i < config._f.length; i++) {
|
10717 |
+
currentScore = 0;
|
10718 |
+
tempConfig = copyConfig({}, config);
|
10719 |
+
if (config._useUTC != null) {
|
10720 |
+
tempConfig._useUTC = config._useUTC;
|
10721 |
+
}
|
10722 |
+
tempConfig._f = config._f[i];
|
10723 |
+
configFromStringAndFormat(tempConfig);
|
10724 |
+
|
10725 |
+
if (!isValid(tempConfig)) {
|
10726 |
+
continue;
|
10727 |
+
}
|
10728 |
+
|
10729 |
+
// if there is any input that was not parsed add a penalty for that format
|
10730 |
+
currentScore += getParsingFlags(tempConfig).charsLeftOver;
|
10731 |
+
|
10732 |
+
//or tokens
|
10733 |
+
currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
|
10734 |
+
|
10735 |
+
getParsingFlags(tempConfig).score = currentScore;
|
10736 |
+
|
10737 |
+
if (scoreToBeat == null || currentScore < scoreToBeat) {
|
10738 |
+
scoreToBeat = currentScore;
|
10739 |
+
bestMoment = tempConfig;
|
10740 |
+
}
|
10741 |
+
}
|
10742 |
+
|
10743 |
+
extend(config, bestMoment || tempConfig);
|
10744 |
+
}
|
10745 |
+
|
10746 |
+
function configFromObject(config) {
|
10747 |
+
if (config._d) {
|
10748 |
+
return;
|
10749 |
+
}
|
10750 |
+
|
10751 |
+
var i = normalizeObjectUnits(config._i);
|
10752 |
+
config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {
|
10753 |
+
return obj && parseInt(obj, 10);
|
10754 |
+
});
|
10755 |
+
|
10756 |
+
configFromArray(config);
|
10757 |
+
}
|
10758 |
+
|
10759 |
+
function createFromConfig (config) {
|
10760 |
+
var res = new Moment(checkOverflow(prepareConfig(config)));
|
10761 |
+
if (res._nextDay) {
|
10762 |
+
// Adding is smart enough around DST
|
10763 |
+
res.add(1, 'd');
|
10764 |
+
res._nextDay = undefined;
|
10765 |
+
}
|
10766 |
+
|
10767 |
+
return res;
|
10768 |
+
}
|
10769 |
+
|
10770 |
+
function prepareConfig (config) {
|
10771 |
+
var input = config._i,
|
10772 |
+
format = config._f;
|
10773 |
+
|
10774 |
+
config._locale = config._locale || getLocale(config._l);
|
10775 |
+
|
10776 |
+
if (input === null || (format === undefined && input === '')) {
|
10777 |
+
return createInvalid({nullInput: true});
|
10778 |
+
}
|
10779 |
+
|
10780 |
+
if (typeof input === 'string') {
|
10781 |
+
config._i = input = config._locale.preparse(input);
|
10782 |
+
}
|
10783 |
+
|
10784 |
+
if (isMoment(input)) {
|
10785 |
+
return new Moment(checkOverflow(input));
|
10786 |
+
} else if (isDate(input)) {
|
10787 |
+
config._d = input;
|
10788 |
+
} else if (isArray(format)) {
|
10789 |
+
configFromStringAndArray(config);
|
10790 |
+
} else if (format) {
|
10791 |
+
configFromStringAndFormat(config);
|
10792 |
+
} else {
|
10793 |
+
configFromInput(config);
|
10794 |
+
}
|
10795 |
+
|
10796 |
+
if (!isValid(config)) {
|
10797 |
+
config._d = null;
|
10798 |
+
}
|
10799 |
+
|
10800 |
+
return config;
|
10801 |
+
}
|
10802 |
+
|
10803 |
+
function configFromInput(config) {
|
10804 |
+
var input = config._i;
|
10805 |
+
if (isUndefined(input)) {
|
10806 |
+
config._d = new Date(hooks.now());
|
10807 |
+
} else if (isDate(input)) {
|
10808 |
+
config._d = new Date(input.valueOf());
|
10809 |
+
} else if (typeof input === 'string') {
|
10810 |
+
configFromString(config);
|
10811 |
+
} else if (isArray(input)) {
|
10812 |
+
config._a = map(input.slice(0), function (obj) {
|
10813 |
+
return parseInt(obj, 10);
|
10814 |
+
});
|
10815 |
+
configFromArray(config);
|
10816 |
+
} else if (isObject(input)) {
|
10817 |
+
configFromObject(config);
|
10818 |
+
} else if (isNumber(input)) {
|
10819 |
+
// from milliseconds
|
10820 |
+
config._d = new Date(input);
|
10821 |
+
} else {
|
10822 |
+
hooks.createFromInputFallback(config);
|
10823 |
+
}
|
10824 |
+
}
|
10825 |
+
|
10826 |
+
function createLocalOrUTC (input, format, locale, strict, isUTC) {
|
10827 |
+
var c = {};
|
10828 |
+
|
10829 |
+
if (locale === true || locale === false) {
|
10830 |
+
strict = locale;
|
10831 |
+
locale = undefined;
|
10832 |
+
}
|
10833 |
+
|
10834 |
+
if ((isObject(input) && isObjectEmpty(input)) ||
|
10835 |
+
(isArray(input) && input.length === 0)) {
|
10836 |
+
input = undefined;
|
10837 |
+
}
|
10838 |
+
// object construction must be done this way.
|
10839 |
+
// https://github.com/moment/moment/issues/1423
|
10840 |
+
c._isAMomentObject = true;
|
10841 |
+
c._useUTC = c._isUTC = isUTC;
|
10842 |
+
c._l = locale;
|
10843 |
+
c._i = input;
|
10844 |
+
c._f = format;
|
10845 |
+
c._strict = strict;
|
10846 |
+
|
10847 |
+
return createFromConfig(c);
|
10848 |
+
}
|
10849 |
+
|
10850 |
+
function createLocal (input, format, locale, strict) {
|
10851 |
+
return createLocalOrUTC(input, format, locale, strict, false);
|
10852 |
+
}
|
10853 |
+
|
10854 |
+
var prototypeMin = deprecate(
|
10855 |
+
'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',
|
10856 |
+
function () {
|
10857 |
+
var other = createLocal.apply(null, arguments);
|
10858 |
+
if (this.isValid() && other.isValid()) {
|
10859 |
+
return other < this ? this : other;
|
10860 |
+
} else {
|
10861 |
+
return createInvalid();
|
10862 |
+
}
|
10863 |
+
}
|
10864 |
+
);
|
10865 |
+
|
10866 |
+
var prototypeMax = deprecate(
|
10867 |
+
'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',
|
10868 |
+
function () {
|
10869 |
+
var other = createLocal.apply(null, arguments);
|
10870 |
+
if (this.isValid() && other.isValid()) {
|
10871 |
+
return other > this ? this : other;
|
10872 |
+
} else {
|
10873 |
+
return createInvalid();
|
10874 |
+
}
|
10875 |
+
}
|
10876 |
+
);
|
10877 |
+
|
10878 |
+
// Pick a moment m from moments so that m[fn](other) is true for all
|
10879 |
+
// other. This relies on the function fn to be transitive.
|
10880 |
+
//
|
10881 |
+
// moments should either be an array of moment objects or an array, whose
|
10882 |
+
// first element is an array of moment objects.
|
10883 |
+
function pickBy(fn, moments) {
|
10884 |
+
var res, i;
|
10885 |
+
if (moments.length === 1 && isArray(moments[0])) {
|
10886 |
+
moments = moments[0];
|
10887 |
+
}
|
10888 |
+
if (!moments.length) {
|
10889 |
+
return createLocal();
|
10890 |
+
}
|
10891 |
+
res = moments[0];
|
10892 |
+
for (i = 1; i < moments.length; ++i) {
|
10893 |
+
if (!moments[i].isValid() || moments[i][fn](res)) {
|
10894 |
+
res = moments[i];
|
10895 |
+
}
|
10896 |
+
}
|
10897 |
+
return res;
|
10898 |
+
}
|
10899 |
+
|
10900 |
+
// TODO: Use [].sort instead?
|
10901 |
+
function min () {
|
10902 |
+
var args = [].slice.call(arguments, 0);
|
10903 |
+
|
10904 |
+
return pickBy('isBefore', args);
|
10905 |
+
}
|
10906 |
+
|
10907 |
+
function max () {
|
10908 |
+
var args = [].slice.call(arguments, 0);
|
10909 |
+
|
10910 |
+
return pickBy('isAfter', args);
|
10911 |
+
}
|
10912 |
+
|
10913 |
+
var now = function () {
|
10914 |
+
return Date.now ? Date.now() : +(new Date());
|
10915 |
+
};
|
10916 |
+
|
10917 |
+
var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];
|
10918 |
+
|
10919 |
+
function isDurationValid(m) {
|
10920 |
+
for (var key in m) {
|
10921 |
+
if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {
|
10922 |
+
return false;
|
10923 |
+
}
|
10924 |
+
}
|
10925 |
+
|
10926 |
+
var unitHasDecimal = false;
|
10927 |
+
for (var i = 0; i < ordering.length; ++i) {
|
10928 |
+
if (m[ordering[i]]) {
|
10929 |
+
if (unitHasDecimal) {
|
10930 |
+
return false; // only allow non-integers for smallest unit
|
10931 |
+
}
|
10932 |
+
if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
|
10933 |
+
unitHasDecimal = true;
|
10934 |
+
}
|
10935 |
+
}
|
10936 |
+
}
|
10937 |
+
|
10938 |
+
return true;
|
10939 |
+
}
|
10940 |
+
|
10941 |
+
function isValid$1() {
|
10942 |
+
return this._isValid;
|
10943 |
+
}
|
10944 |
+
|
10945 |
+
function createInvalid$1() {
|
10946 |
+
return createDuration(NaN);
|
10947 |
+
}
|
10948 |
+
|
10949 |
+
function Duration (duration) {
|
10950 |
+
var normalizedInput = normalizeObjectUnits(duration),
|
10951 |
+
years = normalizedInput.year || 0,
|
10952 |
+
quarters = normalizedInput.quarter || 0,
|
10953 |
+
months = normalizedInput.month || 0,
|
10954 |
+
weeks = normalizedInput.week || 0,
|
10955 |
+
days = normalizedInput.day || 0,
|
10956 |
+
hours = normalizedInput.hour || 0,
|
10957 |
+
minutes = normalizedInput.minute || 0,
|
10958 |
+
seconds = normalizedInput.second || 0,
|
10959 |
+
milliseconds = normalizedInput.millisecond || 0;
|
10960 |
+
|
10961 |
+
this._isValid = isDurationValid(normalizedInput);
|
10962 |
+
|
10963 |
+
// representation for dateAddRemove
|
10964 |
+
this._milliseconds = +milliseconds +
|
10965 |
+
seconds * 1e3 + // 1000
|
10966 |
+
minutes * 6e4 + // 1000 * 60
|
10967 |
+
hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
|
10968 |
+
// Because of dateAddRemove treats 24 hours as different from a
|
10969 |
+
// day when working around DST, we need to store them separately
|
10970 |
+
this._days = +days +
|
10971 |
+
weeks * 7;
|
10972 |
+
// It is impossible to translate months into days without knowing
|
10973 |
+
// which months you are are talking about, so we have to store
|
10974 |
+
// it separately.
|
10975 |
+
this._months = +months +
|
10976 |
+
quarters * 3 +
|
10977 |
+
years * 12;
|
10978 |
+
|
10979 |
+
this._data = {};
|
10980 |
+
|
10981 |
+
this._locale = getLocale();
|
10982 |
+
|
10983 |
+
this._bubble();
|
10984 |
+
}
|
10985 |
+
|
10986 |
+
function isDuration (obj) {
|
10987 |
+
return obj instanceof Duration;
|
10988 |
+
}
|
10989 |
+
|
10990 |
+
function absRound (number) {
|
10991 |
+
if (number < 0) {
|
10992 |
+
return Math.round(-1 * number) * -1;
|
10993 |
+
} else {
|
10994 |
+
return Math.round(number);
|
10995 |
+
}
|
10996 |
+
}
|
10997 |
+
|
10998 |
+
// FORMATTING
|
10999 |
+
|
11000 |
+
function offset (token, separator) {
|
11001 |
+
addFormatToken(token, 0, 0, function () {
|
11002 |
+
var offset = this.utcOffset();
|
11003 |
+
var sign = '+';
|
11004 |
+
if (offset < 0) {
|
11005 |
+
offset = -offset;
|
11006 |
+
sign = '-';
|
11007 |
+
}
|
11008 |
+
return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);
|
11009 |
+
});
|
11010 |
+
}
|
11011 |
+
|
11012 |
+
offset('Z', ':');
|
11013 |
+
offset('ZZ', '');
|
11014 |
+
|
11015 |
+
// PARSING
|
11016 |
+
|
11017 |
+
addRegexToken('Z', matchShortOffset);
|
11018 |
+
addRegexToken('ZZ', matchShortOffset);
|
11019 |
+
addParseToken(['Z', 'ZZ'], function (input, array, config) {
|
11020 |
+
config._useUTC = true;
|
11021 |
+
config._tzm = offsetFromString(matchShortOffset, input);
|
11022 |
+
});
|
11023 |
+
|
11024 |
+
// HELPERS
|
11025 |
+
|
11026 |
+
// timezone chunker
|
11027 |
+
// '+10:00' > ['10', '00']
|
11028 |
+
// '-1530' > ['-15', '30']
|
11029 |
+
var chunkOffset = /([\+\-]|\d\d)/gi;
|
11030 |
+
|
11031 |
+
function offsetFromString(matcher, string) {
|
11032 |
+
var matches = (string || '').match(matcher);
|
11033 |
+
|
11034 |
+
if (matches === null) {
|
11035 |
+
return null;
|
11036 |
+
}
|
11037 |
+
|
11038 |
+
var chunk = matches[matches.length - 1] || [];
|
11039 |
+
var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];
|
11040 |
+
var minutes = +(parts[1] * 60) + toInt(parts[2]);
|
11041 |
+
|
11042 |
+
return minutes === 0 ?
|
11043 |
+
0 :
|
11044 |
+
parts[0] === '+' ? minutes : -minutes;
|
11045 |
+
}
|
11046 |
+
|
11047 |
+
// Return a moment from input, that is local/utc/zone equivalent to model.
|
11048 |
+
function cloneWithOffset(input, model) {
|
11049 |
+
var res, diff;
|
11050 |
+
if (model._isUTC) {
|
11051 |
+
res = model.clone();
|
11052 |
+
diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();
|
11053 |
+
// Use low-level api, because this fn is low-level api.
|
11054 |
+
res._d.setTime(res._d.valueOf() + diff);
|
11055 |
+
hooks.updateOffset(res, false);
|
11056 |
+
return res;
|
11057 |
+
} else {
|
11058 |
+
return createLocal(input).local();
|
11059 |
+
}
|
11060 |
+
}
|
11061 |
+
|
11062 |
+
function getDateOffset (m) {
|
11063 |
+
// On Firefox.24 Date#getTimezoneOffset returns a floating point.
|
11064 |
+
// https://github.com/moment/moment/pull/1871
|
11065 |
+
return -Math.round(m._d.getTimezoneOffset() / 15) * 15;
|
11066 |
+
}
|
11067 |
+
|
11068 |
+
// HOOKS
|
11069 |
+
|
11070 |
+
// This function will be called whenever a moment is mutated.
|
11071 |
+
// It is intended to keep the offset in sync with the timezone.
|
11072 |
+
hooks.updateOffset = function () {};
|
11073 |
+
|
11074 |
+
// MOMENTS
|
11075 |
+
|
11076 |
+
// keepLocalTime = true means only change the timezone, without
|
11077 |
+
// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
|
11078 |
+
// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
|
11079 |
+
// +0200, so we adjust the time as needed, to be valid.
|
11080 |
+
//
|
11081 |
+
// Keeping the time actually adds/subtracts (one hour)
|
11082 |
+
// from the actual represented time. That is why we call updateOffset
|
11083 |
+
// a second time. In case it wants us to change the offset again
|
11084 |
+
// _changeInProgress == true case, then we have to adjust, because
|
11085 |
+
// there is no such time in the given timezone.
|
11086 |
+
function getSetOffset (input, keepLocalTime, keepMinutes) {
|
11087 |
+
var offset = this._offset || 0,
|
11088 |
+
localAdjust;
|
11089 |
+
if (!this.isValid()) {
|
11090 |
+
return input != null ? this : NaN;
|
11091 |
+
}
|
11092 |
+
if (input != null) {
|
11093 |
+
if (typeof input === 'string') {
|
11094 |
+
input = offsetFromString(matchShortOffset, input);
|
11095 |
+
if (input === null) {
|
11096 |
+
return this;
|
11097 |
+
}
|
11098 |
+
} else if (Math.abs(input) < 16 && !keepMinutes) {
|
11099 |
+
input = input * 60;
|
11100 |
+
}
|
11101 |
+
if (!this._isUTC && keepLocalTime) {
|
11102 |
+
localAdjust = getDateOffset(this);
|
11103 |
+
}
|
11104 |
+
this._offset = input;
|
11105 |
+
this._isUTC = true;
|
11106 |
+
if (localAdjust != null) {
|
11107 |
+
this.add(localAdjust, 'm');
|
11108 |
+
}
|
11109 |
+
if (offset !== input) {
|
11110 |
+
if (!keepLocalTime || this._changeInProgress) {
|
11111 |
+
addSubtract(this, createDuration(input - offset, 'm'), 1, false);
|
11112 |
+
} else if (!this._changeInProgress) {
|
11113 |
+
this._changeInProgress = true;
|
11114 |
+
hooks.updateOffset(this, true);
|
11115 |
+
this._changeInProgress = null;
|
11116 |
+
}
|
11117 |
+
}
|
11118 |
+
return this;
|
11119 |
+
} else {
|
11120 |
+
return this._isUTC ? offset : getDateOffset(this);
|
11121 |
+
}
|
11122 |
+
}
|
11123 |
+
|
11124 |
+
function getSetZone (input, keepLocalTime) {
|
11125 |
+
if (input != null) {
|
11126 |
+
if (typeof input !== 'string') {
|
11127 |
+
input = -input;
|
11128 |
+
}
|
11129 |
+
|
11130 |
+
this.utcOffset(input, keepLocalTime);
|
11131 |
+
|
11132 |
+
return this;
|
11133 |
+
} else {
|
11134 |
+
return -this.utcOffset();
|
11135 |
+
}
|
11136 |
+
}
|
11137 |
+
|
11138 |
+
function setOffsetToUTC (keepLocalTime) {
|
11139 |
+
return this.utcOffset(0, keepLocalTime);
|
11140 |
+
}
|
11141 |
+
|
11142 |
+
function setOffsetToLocal (keepLocalTime) {
|
11143 |
+
if (this._isUTC) {
|
11144 |
+
this.utcOffset(0, keepLocalTime);
|
11145 |
+
this._isUTC = false;
|
11146 |
+
|
11147 |
+
if (keepLocalTime) {
|
11148 |
+
this.subtract(getDateOffset(this), 'm');
|
11149 |
+
}
|
11150 |
+
}
|
11151 |
+
return this;
|
11152 |
+
}
|
11153 |
+
|
11154 |
+
function setOffsetToParsedOffset () {
|
11155 |
+
if (this._tzm != null) {
|
11156 |
+
this.utcOffset(this._tzm, false, true);
|
11157 |
+
} else if (typeof this._i === 'string') {
|
11158 |
+
var tZone = offsetFromString(matchOffset, this._i);
|
11159 |
+
if (tZone != null) {
|
11160 |
+
this.utcOffset(tZone);
|
11161 |
+
}
|
11162 |
+
else {
|
11163 |
+
this.utcOffset(0, true);
|
11164 |
+
}
|
11165 |
+
}
|
11166 |
+
return this;
|
11167 |
+
}
|
11168 |
+
|
11169 |
+
function hasAlignedHourOffset (input) {
|
11170 |
+
if (!this.isValid()) {
|
11171 |
+
return false;
|
11172 |
+
}
|
11173 |
+
input = input ? createLocal(input).utcOffset() : 0;
|
11174 |
+
|
11175 |
+
return (this.utcOffset() - input) % 60 === 0;
|
11176 |
+
}
|
11177 |
+
|
11178 |
+
function isDaylightSavingTime () {
|
11179 |
+
return (
|
11180 |
+
this.utcOffset() > this.clone().month(0).utcOffset() ||
|
11181 |
+
this.utcOffset() > this.clone().month(5).utcOffset()
|
11182 |
+
);
|
11183 |
+
}
|
11184 |
+
|
11185 |
+
function isDaylightSavingTimeShifted () {
|
11186 |
+
if (!isUndefined(this._isDSTShifted)) {
|
11187 |
+
return this._isDSTShifted;
|
11188 |
+
}
|
11189 |
+
|
11190 |
+
var c = {};
|
11191 |
+
|
11192 |
+
copyConfig(c, this);
|
11193 |
+
c = prepareConfig(c);
|
11194 |
+
|
11195 |
+
if (c._a) {
|
11196 |
+
var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
|
11197 |
+
this._isDSTShifted = this.isValid() &&
|
11198 |
+
compareArrays(c._a, other.toArray()) > 0;
|
11199 |
+
} else {
|
11200 |
+
this._isDSTShifted = false;
|
11201 |
+
}
|
11202 |
+
|
11203 |
+
return this._isDSTShifted;
|
11204 |
+
}
|
11205 |
+
|
11206 |
+
function isLocal () {
|
11207 |
+
return this.isValid() ? !this._isUTC : false;
|
11208 |
+
}
|
11209 |
+
|
11210 |
+
function isUtcOffset () {
|
11211 |
+
return this.isValid() ? this._isUTC : false;
|
11212 |
+
}
|
11213 |
+
|
11214 |
+
function isUtc () {
|
11215 |
+
return this.isValid() ? this._isUTC && this._offset === 0 : false;
|
11216 |
+
}
|
11217 |
+
|
11218 |
+
// ASP.NET json date format regex
|
11219 |
+
var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/;
|
11220 |
+
|
11221 |
+
// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
|
11222 |
+
// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
|
11223 |
+
// and further modified to allow for strings containing both week and day
|
11224 |
+
var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
|
11225 |
+
|
11226 |
+
function createDuration (input, key) {
|
11227 |
+
var duration = input,
|
11228 |
+
// matching against regexp is expensive, do it on demand
|
11229 |
+
match = null,
|
11230 |
+
sign,
|
11231 |
+
ret,
|
11232 |
+
diffRes;
|
11233 |
+
|
11234 |
+
if (isDuration(input)) {
|
11235 |
+
duration = {
|
11236 |
+
ms : input._milliseconds,
|
11237 |
+
d : input._days,
|
11238 |
+
M : input._months
|
11239 |
+
};
|
11240 |
+
} else if (isNumber(input)) {
|
11241 |
+
duration = {};
|
11242 |
+
if (key) {
|
11243 |
+
duration[key] = input;
|
11244 |
+
} else {
|
11245 |
+
duration.milliseconds = input;
|
11246 |
+
}
|
11247 |
+
} else if (!!(match = aspNetRegex.exec(input))) {
|
11248 |
+
sign = (match[1] === '-') ? -1 : 1;
|
11249 |
+
duration = {
|
11250 |
+
y : 0,
|
11251 |
+
d : toInt(match[DATE]) * sign,
|
11252 |
+
h : toInt(match[HOUR]) * sign,
|
11253 |
+
m : toInt(match[MINUTE]) * sign,
|
11254 |
+
s : toInt(match[SECOND]) * sign,
|
11255 |
+
ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match
|
11256 |
+
};
|
11257 |
+
} else if (!!(match = isoRegex.exec(input))) {
|
11258 |
+
sign = (match[1] === '-') ? -1 : (match[1] === '+') ? 1 : 1;
|
11259 |
+
duration = {
|
11260 |
+
y : parseIso(match[2], sign),
|
11261 |
+
M : parseIso(match[3], sign),
|
11262 |
+
w : parseIso(match[4], sign),
|
11263 |
+
d : parseIso(match[5], sign),
|
11264 |
+
h : parseIso(match[6], sign),
|
11265 |
+
m : parseIso(match[7], sign),
|
11266 |
+
s : parseIso(match[8], sign)
|
11267 |
+
};
|
11268 |
+
} else if (duration == null) {// checks for null or undefined
|
11269 |
+
duration = {};
|
11270 |
+
} else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
|
11271 |
+
diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));
|
11272 |
+
|
11273 |
+
duration = {};
|
11274 |
+
duration.ms = diffRes.milliseconds;
|
11275 |
+
duration.M = diffRes.months;
|
11276 |
+
}
|
11277 |
+
|
11278 |
+
ret = new Duration(duration);
|
11279 |
+
|
11280 |
+
if (isDuration(input) && hasOwnProp(input, '_locale')) {
|
11281 |
+
ret._locale = input._locale;
|
11282 |
+
}
|
11283 |
+
|
11284 |
+
return ret;
|
11285 |
+
}
|
11286 |
+
|
11287 |
+
createDuration.fn = Duration.prototype;
|
11288 |
+
createDuration.invalid = createInvalid$1;
|
11289 |
+
|
11290 |
+
function parseIso (inp, sign) {
|
11291 |
+
// We'd normally use ~~inp for this, but unfortunately it also
|
11292 |
+
// converts floats to ints.
|
11293 |
+
// inp may be undefined, so careful calling replace on it.
|
11294 |
+
var res = inp && parseFloat(inp.replace(',', '.'));
|
11295 |
+
// apply sign while we're at it
|
11296 |
+
return (isNaN(res) ? 0 : res) * sign;
|
11297 |
+
}
|
11298 |
+
|
11299 |
+
function positiveMomentsDifference(base, other) {
|
11300 |
+
var res = {milliseconds: 0, months: 0};
|
11301 |
+
|
11302 |
+
res.months = other.month() - base.month() +
|
11303 |
+
(other.year() - base.year()) * 12;
|
11304 |
+
if (base.clone().add(res.months, 'M').isAfter(other)) {
|
11305 |
+
--res.months;
|
11306 |
+
}
|
11307 |
+
|
11308 |
+
res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
|
11309 |
+
|
11310 |
+
return res;
|
11311 |
+
}
|
11312 |
+
|
11313 |
+
function momentsDifference(base, other) {
|
11314 |
+
var res;
|
11315 |
+
if (!(base.isValid() && other.isValid())) {
|
11316 |
+
return {milliseconds: 0, months: 0};
|
11317 |
+
}
|
11318 |
+
|
11319 |
+
other = cloneWithOffset(other, base);
|
11320 |
+
if (base.isBefore(other)) {
|
11321 |
+
res = positiveMomentsDifference(base, other);
|
11322 |
+
} else {
|
11323 |
+
res = positiveMomentsDifference(other, base);
|
11324 |
+
res.milliseconds = -res.milliseconds;
|
11325 |
+
res.months = -res.months;
|
11326 |
+
}
|
11327 |
+
|
11328 |
+
return res;
|
11329 |
+
}
|
11330 |
+
|
11331 |
+
// TODO: remove 'name' arg after deprecation is removed
|
11332 |
+
function createAdder(direction, name) {
|
11333 |
+
return function (val, period) {
|
11334 |
+
var dur, tmp;
|
11335 |
+
//invert the arguments, but complain about it
|
11336 |
+
if (period !== null && !isNaN(+period)) {
|
11337 |
+
deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +
|
11338 |
+
'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');
|
11339 |
+
tmp = val; val = period; period = tmp;
|
11340 |
+
}
|
11341 |
+
|
11342 |
+
val = typeof val === 'string' ? +val : val;
|
11343 |
+
dur = createDuration(val, period);
|
11344 |
+
addSubtract(this, dur, direction);
|
11345 |
+
return this;
|
11346 |
+
};
|
11347 |
+
}
|
11348 |
+
|
11349 |
+
function addSubtract (mom, duration, isAdding, updateOffset) {
|
11350 |
+
var milliseconds = duration._milliseconds,
|
11351 |
+
days = absRound(duration._days),
|
11352 |
+
months = absRound(duration._months);
|
11353 |
+
|
11354 |
+
if (!mom.isValid()) {
|
11355 |
+
// No op
|
11356 |
+
return;
|
11357 |
+
}
|
11358 |
+
|
11359 |
+
updateOffset = updateOffset == null ? true : updateOffset;
|
11360 |
+
|
11361 |
+
if (months) {
|
11362 |
+
setMonth(mom, get(mom, 'Month') + months * isAdding);
|
11363 |
+
}
|
11364 |
+
if (days) {
|
11365 |
+
set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
|
11366 |
+
}
|
11367 |
+
if (milliseconds) {
|
11368 |
+
mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
|
11369 |
+
}
|
11370 |
+
if (updateOffset) {
|
11371 |
+
hooks.updateOffset(mom, days || months);
|
11372 |
+
}
|
11373 |
+
}
|
11374 |
+
|
11375 |
+
var add = createAdder(1, 'add');
|
11376 |
+
var subtract = createAdder(-1, 'subtract');
|
11377 |
+
|
11378 |
+
function getCalendarFormat(myMoment, now) {
|
11379 |
+
var diff = myMoment.diff(now, 'days', true);
|
11380 |
+
return diff < -6 ? 'sameElse' :
|
11381 |
+
diff < -1 ? 'lastWeek' :
|
11382 |
+
diff < 0 ? 'lastDay' :
|
11383 |
+
diff < 1 ? 'sameDay' :
|
11384 |
+
diff < 2 ? 'nextDay' :
|
11385 |
+
diff < 7 ? 'nextWeek' : 'sameElse';
|
11386 |
+
}
|
11387 |
+
|
11388 |
+
function calendar$1 (time, formats) {
|
11389 |
+
// We want to compare the start of today, vs this.
|
11390 |
+
// Getting start-of-today depends on whether we're local/utc/offset or not.
|
11391 |
+
var now = time || createLocal(),
|
11392 |
+
sod = cloneWithOffset(now, this).startOf('day'),
|
11393 |
+
format = hooks.calendarFormat(this, sod) || 'sameElse';
|
11394 |
+
|
11395 |
+
var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);
|
11396 |
+
|
11397 |
+
return this.format(output || this.localeData().calendar(format, this, createLocal(now)));
|
11398 |
+
}
|
11399 |
+
|
11400 |
+
function clone () {
|
11401 |
+
return new Moment(this);
|
11402 |
+
}
|
11403 |
+
|
11404 |
+
function isAfter (input, units) {
|
11405 |
+
var localInput = isMoment(input) ? input : createLocal(input);
|
11406 |
+
if (!(this.isValid() && localInput.isValid())) {
|
11407 |
+
return false;
|
11408 |
+
}
|
11409 |
+
units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
|
11410 |
+
if (units === 'millisecond') {
|
11411 |
+
return this.valueOf() > localInput.valueOf();
|
11412 |
+
} else {
|
11413 |
+
return localInput.valueOf() < this.clone().startOf(units).valueOf();
|
11414 |
+
}
|
11415 |
+
}
|
11416 |
+
|
11417 |
+
function isBefore (input, units) {
|
11418 |
+
var localInput = isMoment(input) ? input : createLocal(input);
|
11419 |
+
if (!(this.isValid() && localInput.isValid())) {
|
11420 |
+
return false;
|
11421 |
+
}
|
11422 |
+
units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
|
11423 |
+
if (units === 'millisecond') {
|
11424 |
+
return this.valueOf() < localInput.valueOf();
|
11425 |
+
} else {
|
11426 |
+
return this.clone().endOf(units).valueOf() < localInput.valueOf();
|
11427 |
+
}
|
11428 |
+
}
|
11429 |
+
|
11430 |
+
function isBetween (from, to, units, inclusivity) {
|
11431 |
+
inclusivity = inclusivity || '()';
|
11432 |
+
return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&
|
11433 |
+
(inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));
|
11434 |
+
}
|
11435 |
+
|
11436 |
+
function isSame (input, units) {
|
11437 |
+
var localInput = isMoment(input) ? input : createLocal(input),
|
11438 |
+
inputMs;
|
11439 |
+
if (!(this.isValid() && localInput.isValid())) {
|
11440 |
+
return false;
|
11441 |
+
}
|
11442 |
+
units = normalizeUnits(units || 'millisecond');
|
11443 |
+
if (units === 'millisecond') {
|
11444 |
+
return this.valueOf() === localInput.valueOf();
|
11445 |
+
} else {
|
11446 |
+
inputMs = localInput.valueOf();
|
11447 |
+
return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
|
11448 |
+
}
|
11449 |
+
}
|
11450 |
+
|
11451 |
+
function isSameOrAfter (input, units) {
|
11452 |
+
return this.isSame(input, units) || this.isAfter(input,units);
|
11453 |
+
}
|
11454 |
+
|
11455 |
+
function isSameOrBefore (input, units) {
|
11456 |
+
return this.isSame(input, units) || this.isBefore(input,units);
|
11457 |
+
}
|
11458 |
+
|
11459 |
+
function diff (input, units, asFloat) {
|
11460 |
+
var that,
|
11461 |
+
zoneDelta,
|
11462 |
+
delta, output;
|
11463 |
+
|
11464 |
+
if (!this.isValid()) {
|
11465 |
+
return NaN;
|
11466 |
+
}
|
11467 |
+
|
11468 |
+
that = cloneWithOffset(input, this);
|
11469 |
+
|
11470 |
+
if (!that.isValid()) {
|
11471 |
+
return NaN;
|
11472 |
+
}
|
11473 |
+
|
11474 |
+
zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
|
11475 |
+
|
11476 |
+
units = normalizeUnits(units);
|
11477 |
+
|
11478 |
+
switch (units) {
|
11479 |
+
case 'year': output = monthDiff(this, that) / 12; break;
|
11480 |
+
case 'month': output = monthDiff(this, that); break;
|
11481 |
+
case 'quarter': output = monthDiff(this, that) / 3; break;
|
11482 |
+
case 'second': output = (this - that) / 1e3; break; // 1000
|
11483 |
+
case 'minute': output = (this - that) / 6e4; break; // 1000 * 60
|
11484 |
+
case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60
|
11485 |
+
case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst
|
11486 |
+
case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst
|
11487 |
+
default: output = this - that;
|
11488 |
+
}
|
11489 |
+
|
11490 |
+
return asFloat ? output : absFloor(output);
|
11491 |
+
}
|
11492 |
+
|
11493 |
+
function monthDiff (a, b) {
|
11494 |
+
// difference in months
|
11495 |
+
var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),
|
11496 |
+
// b is in (anchor - 1 month, anchor + 1 month)
|
11497 |
+
anchor = a.clone().add(wholeMonthDiff, 'months'),
|
11498 |
+
anchor2, adjust;
|
11499 |
+
|
11500 |
+
if (b - anchor < 0) {
|
11501 |
+
anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
|
11502 |
+
// linear across the month
|
11503 |
+
adjust = (b - anchor) / (anchor - anchor2);
|
11504 |
+
} else {
|
11505 |
+
anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
|
11506 |
+
// linear across the month
|
11507 |
+
adjust = (b - anchor) / (anchor2 - anchor);
|
11508 |
+
}
|
11509 |
+
|
11510 |
+
//check for negative zero, return zero if negative zero
|
11511 |
+
return -(wholeMonthDiff + adjust) || 0;
|
11512 |
+
}
|
11513 |
+
|
11514 |
+
hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
|
11515 |
+
hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
|
11516 |
+
|
11517 |
+
function toString () {
|
11518 |
+
return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
|
11519 |
+
}
|
11520 |
+
|
11521 |
+
function toISOString(keepOffset) {
|
11522 |
+
if (!this.isValid()) {
|
11523 |
+
return null;
|
11524 |
+
}
|
11525 |
+
var utc = keepOffset !== true;
|
11526 |
+
var m = utc ? this.clone().utc() : this;
|
11527 |
+
if (m.year() < 0 || m.year() > 9999) {
|
11528 |
+
return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');
|
11529 |
+
}
|
11530 |
+
if (isFunction(Date.prototype.toISOString)) {
|
11531 |
+
// native implementation is ~50x faster, use it when we can
|
11532 |
+
if (utc) {
|
11533 |
+
return this.toDate().toISOString();
|
11534 |
+
} else {
|
11535 |
+
return new Date(this._d.valueOf()).toISOString().replace('Z', formatMoment(m, 'Z'));
|
11536 |
+
}
|
11537 |
+
}
|
11538 |
+
return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');
|
11539 |
+
}
|
11540 |
+
|
11541 |
+
/**
|
11542 |
+
* Return a human readable representation of a moment that can
|
11543 |
+
* also be evaluated to get a new moment which is the same
|
11544 |
+
*
|
11545 |
+
* @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
|
11546 |
+
*/
|
11547 |
+
function inspect () {
|
11548 |
+
if (!this.isValid()) {
|
11549 |
+
return 'moment.invalid(/* ' + this._i + ' */)';
|
11550 |
+
}
|
11551 |
+
var func = 'moment';
|
11552 |
+
var zone = '';
|
11553 |
+
if (!this.isLocal()) {
|
11554 |
+
func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
|
11555 |
+
zone = 'Z';
|
11556 |
+
}
|
11557 |
+
var prefix = '[' + func + '("]';
|
11558 |
+
var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';
|
11559 |
+
var datetime = '-MM-DD[T]HH:mm:ss.SSS';
|
11560 |
+
var suffix = zone + '[")]';
|
11561 |
+
|
11562 |
+
return this.format(prefix + year + datetime + suffix);
|
11563 |
+
}
|
11564 |
+
|
11565 |
+
function format (inputString) {
|
11566 |
+
if (!inputString) {
|
11567 |
+
inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;
|
11568 |
+
}
|
11569 |
+
var output = formatMoment(this, inputString);
|
11570 |
+
return this.localeData().postformat(output);
|
11571 |
+
}
|
11572 |
+
|
11573 |
+
function from (time, withoutSuffix) {
|
11574 |
+
if (this.isValid() &&
|
11575 |
+
((isMoment(time) && time.isValid()) ||
|
11576 |
+
createLocal(time).isValid())) {
|
11577 |
+
return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
|
11578 |
+
} else {
|
11579 |
+
return this.localeData().invalidDate();
|
11580 |
+
}
|
11581 |
+
}
|
11582 |
+
|
11583 |
+
function fromNow (withoutSuffix) {
|
11584 |
+
return this.from(createLocal(), withoutSuffix);
|
11585 |
+
}
|
11586 |
+
|
11587 |
+
function to (time, withoutSuffix) {
|
11588 |
+
if (this.isValid() &&
|
11589 |
+
((isMoment(time) && time.isValid()) ||
|
11590 |
+
createLocal(time).isValid())) {
|
11591 |
+
return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);
|
11592 |
+
} else {
|
11593 |
+
return this.localeData().invalidDate();
|
11594 |
+
}
|
11595 |
+
}
|
11596 |
+
|
11597 |
+
function toNow (withoutSuffix) {
|
11598 |
+
return this.to(createLocal(), withoutSuffix);
|
11599 |
+
}
|
11600 |
+
|
11601 |
+
// If passed a locale key, it will set the locale for this
|
11602 |
+
// instance. Otherwise, it will return the locale configuration
|
11603 |
+
// variables for this instance.
|
11604 |
+
function locale (key) {
|
11605 |
+
var newLocaleData;
|
11606 |
+
|
11607 |
+
if (key === undefined) {
|
11608 |
+
return this._locale._abbr;
|
11609 |
+
} else {
|
11610 |
+
newLocaleData = getLocale(key);
|
11611 |
+
if (newLocaleData != null) {
|
11612 |
+
this._locale = newLocaleData;
|
11613 |
+
}
|
11614 |
+
return this;
|
11615 |
+
}
|
11616 |
+
}
|
11617 |
+
|
11618 |
+
var lang = deprecate(
|
11619 |
+
'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
|
11620 |
+
function (key) {
|
11621 |
+
if (key === undefined) {
|
11622 |
+
return this.localeData();
|
11623 |
+
} else {
|
11624 |
+
return this.locale(key);
|
11625 |
+
}
|
11626 |
+
}
|
11627 |
+
);
|
11628 |
+
|
11629 |
+
function localeData () {
|
11630 |
+
return this._locale;
|
11631 |
+
}
|
11632 |
+
|
11633 |
+
function startOf (units) {
|
11634 |
+
units = normalizeUnits(units);
|
11635 |
+
// the following switch intentionally omits break keywords
|
11636 |
+
// to utilize falling through the cases.
|
11637 |
+
switch (units) {
|
11638 |
+
case 'year':
|
11639 |
+
this.month(0);
|
11640 |
+
/* falls through */
|
11641 |
+
case 'quarter':
|
11642 |
+
case 'month':
|
11643 |
+
this.date(1);
|
11644 |
+
/* falls through */
|
11645 |
+
case 'week':
|
11646 |
+
case 'isoWeek':
|
11647 |
+
case 'day':
|
11648 |
+
case 'date':
|
11649 |
+
this.hours(0);
|
11650 |
+
/* falls through */
|
11651 |
+
case 'hour':
|
11652 |
+
this.minutes(0);
|
11653 |
+
/* falls through */
|
11654 |
+
case 'minute':
|
11655 |
+
this.seconds(0);
|
11656 |
+
/* falls through */
|
11657 |
+
case 'second':
|
11658 |
+
this.milliseconds(0);
|
11659 |
+
}
|
11660 |
+
|
11661 |
+
// weeks are a special case
|
11662 |
+
if (units === 'week') {
|
11663 |
+
this.weekday(0);
|
11664 |
+
}
|
11665 |
+
if (units === 'isoWeek') {
|
11666 |
+
this.isoWeekday(1);
|
11667 |
+
}
|
11668 |
+
|
11669 |
+
// quarters are also special
|
11670 |
+
if (units === 'quarter') {
|
11671 |
+
this.month(Math.floor(this.month() / 3) * 3);
|
11672 |
+
}
|
11673 |
+
|
11674 |
+
return this;
|
11675 |
+
}
|
11676 |
+
|
11677 |
+
function endOf (units) {
|
11678 |
+
units = normalizeUnits(units);
|
11679 |
+
if (units === undefined || units === 'millisecond') {
|
11680 |
+
return this;
|
11681 |
+
}
|
11682 |
+
|
11683 |
+
// 'date' is an alias for 'day', so it should be considered as such.
|
11684 |
+
if (units === 'date') {
|
11685 |
+
units = 'day';
|
11686 |
+
}
|
11687 |
+
|
11688 |
+
return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');
|
11689 |
+
}
|
11690 |
+
|
11691 |
+
function valueOf () {
|
11692 |
+
return this._d.valueOf() - ((this._offset || 0) * 60000);
|
11693 |
+
}
|
11694 |
+
|
11695 |
+
function unix () {
|
11696 |
+
return Math.floor(this.valueOf() / 1000);
|
11697 |
+
}
|
11698 |
+
|
11699 |
+
function toDate () {
|
11700 |
+
return new Date(this.valueOf());
|
11701 |
+
}
|
11702 |
+
|
11703 |
+
function toArray () {
|
11704 |
+
var m = this;
|
11705 |
+
return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];
|
11706 |
+
}
|
11707 |
+
|
11708 |
+
function toObject () {
|
11709 |
+
var m = this;
|
11710 |
+
return {
|
11711 |
+
years: m.year(),
|
11712 |
+
months: m.month(),
|
11713 |
+
date: m.date(),
|
11714 |
+
hours: m.hours(),
|
11715 |
+
minutes: m.minutes(),
|
11716 |
+
seconds: m.seconds(),
|
11717 |
+
milliseconds: m.milliseconds()
|
11718 |
+
};
|
11719 |
+
}
|
11720 |
+
|
11721 |
+
function toJSON () {
|
11722 |
+
// new Date(NaN).toJSON() === null
|
11723 |
+
return this.isValid() ? this.toISOString() : null;
|
11724 |
+
}
|
11725 |
+
|
11726 |
+
function isValid$2 () {
|
11727 |
+
return isValid(this);
|
11728 |
+
}
|
11729 |
+
|
11730 |
+
function parsingFlags () {
|
11731 |
+
return extend({}, getParsingFlags(this));
|
11732 |
+
}
|
11733 |
+
|
11734 |
+
function invalidAt () {
|
11735 |
+
return getParsingFlags(this).overflow;
|
11736 |
+
}
|
11737 |
+
|
11738 |
+
function creationData() {
|
11739 |
+
return {
|
11740 |
+
input: this._i,
|
11741 |
+
format: this._f,
|
11742 |
+
locale: this._locale,
|
11743 |
+
isUTC: this._isUTC,
|
11744 |
+
strict: this._strict
|
11745 |
+
};
|
11746 |
+
}
|
11747 |
+
|
11748 |
+
// FORMATTING
|
11749 |
+
|
11750 |
+
addFormatToken(0, ['gg', 2], 0, function () {
|
11751 |
+
return this.weekYear() % 100;
|
11752 |
+
});
|
11753 |
+
|
11754 |
+
addFormatToken(0, ['GG', 2], 0, function () {
|
11755 |
+
return this.isoWeekYear() % 100;
|
11756 |
+
});
|
11757 |
+
|
11758 |
+
function addWeekYearFormatToken (token, getter) {
|
11759 |
+
addFormatToken(0, [token, token.length], 0, getter);
|
11760 |
+
}
|
11761 |
+
|
11762 |
+
addWeekYearFormatToken('gggg', 'weekYear');
|
11763 |
+
addWeekYearFormatToken('ggggg', 'weekYear');
|
11764 |
+
addWeekYearFormatToken('GGGG', 'isoWeekYear');
|
11765 |
+
addWeekYearFormatToken('GGGGG', 'isoWeekYear');
|
11766 |
+
|
11767 |
+
// ALIASES
|
11768 |
+
|
11769 |
+
addUnitAlias('weekYear', 'gg');
|
11770 |
+
addUnitAlias('isoWeekYear', 'GG');
|
11771 |
+
|
11772 |
+
// PRIORITY
|
11773 |
+
|
11774 |
+
addUnitPriority('weekYear', 1);
|
11775 |
+
addUnitPriority('isoWeekYear', 1);
|
11776 |
+
|
11777 |
+
|
11778 |
+
// PARSING
|
11779 |
+
|
11780 |
+
addRegexToken('G', matchSigned);
|
11781 |
+
addRegexToken('g', matchSigned);
|
11782 |
+
addRegexToken('GG', match1to2, match2);
|
11783 |
+
addRegexToken('gg', match1to2, match2);
|
11784 |
+
addRegexToken('GGGG', match1to4, match4);
|
11785 |
+
addRegexToken('gggg', match1to4, match4);
|
11786 |
+
addRegexToken('GGGGG', match1to6, match6);
|
11787 |
+
addRegexToken('ggggg', match1to6, match6);
|
11788 |
+
|
11789 |
+
addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
|
11790 |
+
week[token.substr(0, 2)] = toInt(input);
|
11791 |
+
});
|
11792 |
+
|
11793 |
+
addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
|
11794 |
+
week[token] = hooks.parseTwoDigitYear(input);
|
11795 |
+
});
|
11796 |
+
|
11797 |
+
// MOMENTS
|
11798 |
+
|
11799 |
+
function getSetWeekYear (input) {
|
11800 |
+
return getSetWeekYearHelper.call(this,
|
11801 |
+
input,
|
11802 |
+
this.week(),
|
11803 |
+
this.weekday(),
|
11804 |
+
this.localeData()._week.dow,
|
11805 |
+
this.localeData()._week.doy);
|
11806 |
+
}
|
11807 |
+
|
11808 |
+
function getSetISOWeekYear (input) {
|
11809 |
+
return getSetWeekYearHelper.call(this,
|
11810 |
+
input, this.isoWeek(), this.isoWeekday(), 1, 4);
|
11811 |
+
}
|
11812 |
+
|
11813 |
+
function getISOWeeksInYear () {
|
11814 |
+
return weeksInYear(this.year(), 1, 4);
|
11815 |
+
}
|
11816 |
+
|
11817 |
+
function getWeeksInYear () {
|
11818 |
+
var weekInfo = this.localeData()._week;
|
11819 |
+
return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
|
11820 |
+
}
|
11821 |
+
|
11822 |
+
function getSetWeekYearHelper(input, week, weekday, dow, doy) {
|
11823 |
+
var weeksTarget;
|
11824 |
+
if (input == null) {
|
11825 |
+
return weekOfYear(this, dow, doy).year;
|
11826 |
+
} else {
|
11827 |
+
weeksTarget = weeksInYear(input, dow, doy);
|
11828 |
+
if (week > weeksTarget) {
|
11829 |
+
week = weeksTarget;
|
11830 |
+
}
|
11831 |
+
return setWeekAll.call(this, input, week, weekday, dow, doy);
|
11832 |
+
}
|
11833 |
+
}
|
11834 |
+
|
11835 |
+
function setWeekAll(weekYear, week, weekday, dow, doy) {
|
11836 |
+
var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
|
11837 |
+
date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
|
11838 |
+
|
11839 |
+
this.year(date.getUTCFullYear());
|
11840 |
+
this.month(date.getUTCMonth());
|
11841 |
+
this.date(date.getUTCDate());
|
11842 |
+
return this;
|
11843 |
+
}
|
11844 |
+
|
11845 |
+
// FORMATTING
|
11846 |
+
|
11847 |
+
addFormatToken('Q', 0, 'Qo', 'quarter');
|
11848 |
+
|
11849 |
+
// ALIASES
|
11850 |
+
|
11851 |
+
addUnitAlias('quarter', 'Q');
|
11852 |
+
|
11853 |
+
// PRIORITY
|
11854 |
+
|
11855 |
+
addUnitPriority('quarter', 7);
|
11856 |
+
|
11857 |
+
// PARSING
|
11858 |
+
|
11859 |
+
addRegexToken('Q', match1);
|
11860 |
+
addParseToken('Q', function (input, array) {
|
11861 |
+
array[MONTH] = (toInt(input) - 1) * 3;
|
11862 |
+
});
|
11863 |
+
|
11864 |
+
// MOMENTS
|
11865 |
+
|
11866 |
+
function getSetQuarter (input) {
|
11867 |
+
return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
|
11868 |
+
}
|
11869 |
+
|
11870 |
+
// FORMATTING
|
11871 |
+
|
11872 |
+
addFormatToken('D', ['DD', 2], 'Do', 'date');
|
11873 |
+
|
11874 |
+
// ALIASES
|
11875 |
+
|
11876 |
+
addUnitAlias('date', 'D');
|
11877 |
+
|
11878 |
+
// PRIOROITY
|
11879 |
+
addUnitPriority('date', 9);
|
11880 |
+
|
11881 |
+
// PARSING
|
11882 |
+
|
11883 |
+
addRegexToken('D', match1to2);
|
11884 |
+
addRegexToken('DD', match1to2, match2);
|
11885 |
+
addRegexToken('Do', function (isStrict, locale) {
|
11886 |
+
// TODO: Remove "ordinalParse" fallback in next major release.
|
11887 |
+
return isStrict ?
|
11888 |
+
(locale._dayOfMonthOrdinalParse || locale._ordinalParse) :
|
11889 |
+
locale._dayOfMonthOrdinalParseLenient;
|
11890 |
+
});
|
11891 |
+
|
11892 |
+
addParseToken(['D', 'DD'], DATE);
|
11893 |
+
addParseToken('Do', function (input, array) {
|
11894 |
+
array[DATE] = toInt(input.match(match1to2)[0]);
|
11895 |
+
});
|
11896 |
+
|
11897 |
+
// MOMENTS
|
11898 |
+
|
11899 |
+
var getSetDayOfMonth = makeGetSet('Date', true);
|
11900 |
+
|
11901 |
+
// FORMATTING
|
11902 |
+
|
11903 |
+
addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
|
11904 |
+
|
11905 |
+
// ALIASES
|
11906 |
+
|
11907 |
+
addUnitAlias('dayOfYear', 'DDD');
|
11908 |
+
|
11909 |
+
// PRIORITY
|
11910 |
+
addUnitPriority('dayOfYear', 4);
|
11911 |
+
|
11912 |
+
// PARSING
|
11913 |
+
|
11914 |
+
addRegexToken('DDD', match1to3);
|
11915 |
+
addRegexToken('DDDD', match3);
|
11916 |
+
addParseToken(['DDD', 'DDDD'], function (input, array, config) {
|
11917 |
+
config._dayOfYear = toInt(input);
|
11918 |
+
});
|
11919 |
+
|
11920 |
+
// HELPERS
|
11921 |
+
|
11922 |
+
// MOMENTS
|
11923 |
+
|
11924 |
+
function getSetDayOfYear (input) {
|
11925 |
+
var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
|
11926 |
+
return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
|
11927 |
+
}
|
11928 |
+
|
11929 |
+
// FORMATTING
|
11930 |
+
|
11931 |
+
addFormatToken('m', ['mm', 2], 0, 'minute');
|
11932 |
+
|
11933 |
+
// ALIASES
|
11934 |
+
|
11935 |
+
addUnitAlias('minute', 'm');
|
11936 |
+
|
11937 |
+
// PRIORITY
|
11938 |
+
|
11939 |
+
addUnitPriority('minute', 14);
|
11940 |
+
|
11941 |
+
// PARSING
|
11942 |
+
|
11943 |
+
addRegexToken('m', match1to2);
|
11944 |
+
addRegexToken('mm', match1to2, match2);
|
11945 |
+
addParseToken(['m', 'mm'], MINUTE);
|
11946 |
+
|
11947 |
+
// MOMENTS
|
11948 |
+
|
11949 |
+
var getSetMinute = makeGetSet('Minutes', false);
|
11950 |
+
|
11951 |
+
// FORMATTING
|
11952 |
+
|
11953 |
+
addFormatToken('s', ['ss', 2], 0, 'second');
|
11954 |
+
|
11955 |
+
// ALIASES
|
11956 |
+
|
11957 |
+
addUnitAlias('second', 's');
|
11958 |
+
|
11959 |
+
// PRIORITY
|
11960 |
+
|
11961 |
+
addUnitPriority('second', 15);
|
11962 |
+
|
11963 |
+
// PARSING
|
11964 |
+
|
11965 |
+
addRegexToken('s', match1to2);
|
11966 |
+
addRegexToken('ss', match1to2, match2);
|
11967 |
+
addParseToken(['s', 'ss'], SECOND);
|
11968 |
+
|
11969 |
+
// MOMENTS
|
11970 |
+
|
11971 |
+
var getSetSecond = makeGetSet('Seconds', false);
|
11972 |
+
|
11973 |
+
// FORMATTING
|
11974 |
+
|
11975 |
+
addFormatToken('S', 0, 0, function () {
|
11976 |
+
return ~~(this.millisecond() / 100);
|
11977 |
+
});
|
11978 |
+
|
11979 |
+
addFormatToken(0, ['SS', 2], 0, function () {
|
11980 |
+
return ~~(this.millisecond() / 10);
|
11981 |
+
});
|
11982 |
+
|
11983 |
+
addFormatToken(0, ['SSS', 3], 0, 'millisecond');
|
11984 |
+
addFormatToken(0, ['SSSS', 4], 0, function () {
|
11985 |
+
return this.millisecond() * 10;
|
11986 |
+
});
|
11987 |
+
addFormatToken(0, ['SSSSS', 5], 0, function () {
|
11988 |
+
return this.millisecond() * 100;
|
11989 |
+
});
|
11990 |
+
addFormatToken(0, ['SSSSSS', 6], 0, function () {
|
11991 |
+
return this.millisecond() * 1000;
|
11992 |
+
});
|
11993 |
+
addFormatToken(0, ['SSSSSSS', 7], 0, function () {
|
11994 |
+
return this.millisecond() * 10000;
|
11995 |
+
});
|
11996 |
+
addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
|
11997 |
+
return this.millisecond() * 100000;
|
11998 |
+
});
|
11999 |
+
addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
|
12000 |
+
return this.millisecond() * 1000000;
|
12001 |
+
});
|
12002 |
+
|
12003 |
+
|
12004 |
+
// ALIASES
|
12005 |
+
|
12006 |
+
addUnitAlias('millisecond', 'ms');
|
12007 |
+
|
12008 |
+
// PRIORITY
|
12009 |
+
|
12010 |
+
addUnitPriority('millisecond', 16);
|
12011 |
+
|
12012 |
+
// PARSING
|
12013 |
+
|
12014 |
+
addRegexToken('S', match1to3, match1);
|
12015 |
+
addRegexToken('SS', match1to3, match2);
|
12016 |
+
addRegexToken('SSS', match1to3, match3);
|
12017 |
+
|
12018 |
+
var token;
|
12019 |
+
for (token = 'SSSS'; token.length <= 9; token += 'S') {
|
12020 |
+
addRegexToken(token, matchUnsigned);
|
12021 |
+
}
|
12022 |
+
|
12023 |
+
function parseMs(input, array) {
|
12024 |
+
array[MILLISECOND] = toInt(('0.' + input) * 1000);
|
12025 |
+
}
|
12026 |
+
|
12027 |
+
for (token = 'S'; token.length <= 9; token += 'S') {
|
12028 |
+
addParseToken(token, parseMs);
|
12029 |
+
}
|
12030 |
+
// MOMENTS
|
12031 |
+
|
12032 |
+
var getSetMillisecond = makeGetSet('Milliseconds', false);
|
12033 |
+
|
12034 |
+
// FORMATTING
|
12035 |
+
|
12036 |
+
addFormatToken('z', 0, 0, 'zoneAbbr');
|
12037 |
+
addFormatToken('zz', 0, 0, 'zoneName');
|
12038 |
+
|
12039 |
+
// MOMENTS
|
12040 |
+
|
12041 |
+
function getZoneAbbr () {
|
12042 |
+
return this._isUTC ? 'UTC' : '';
|
12043 |
+
}
|
12044 |
+
|
12045 |
+
function getZoneName () {
|
12046 |
+
return this._isUTC ? 'Coordinated Universal Time' : '';
|
12047 |
+
}
|
12048 |
+
|
12049 |
+
var proto = Moment.prototype;
|
12050 |
+
|
12051 |
+
proto.add = add;
|
12052 |
+
proto.calendar = calendar$1;
|
12053 |
+
proto.clone = clone;
|
12054 |
+
proto.diff = diff;
|
12055 |
+
proto.endOf = endOf;
|
12056 |
+
proto.format = format;
|
12057 |
+
proto.from = from;
|
12058 |
+
proto.fromNow = fromNow;
|
12059 |
+
proto.to = to;
|
12060 |
+
proto.toNow = toNow;
|
12061 |
+
proto.get = stringGet;
|
12062 |
+
proto.invalidAt = invalidAt;
|
12063 |
+
proto.isAfter = isAfter;
|
12064 |
+
proto.isBefore = isBefore;
|
12065 |
+
proto.isBetween = isBetween;
|
12066 |
+
proto.isSame = isSame;
|
12067 |
+
proto.isSameOrAfter = isSameOrAfter;
|
12068 |
+
proto.isSameOrBefore = isSameOrBefore;
|
12069 |
+
proto.isValid = isValid$2;
|
12070 |
+
proto.lang = lang;
|
12071 |
+
proto.locale = locale;
|
12072 |
+
proto.localeData = localeData;
|
12073 |
+
proto.max = prototypeMax;
|
12074 |
+
proto.min = prototypeMin;
|
12075 |
+
proto.parsingFlags = parsingFlags;
|
12076 |
+
proto.set = stringSet;
|
12077 |
+
proto.startOf = startOf;
|
12078 |
+
proto.subtract = subtract;
|
12079 |
+
proto.toArray = toArray;
|
12080 |
+
proto.toObject = toObject;
|
12081 |
+
proto.toDate = toDate;
|
12082 |
+
proto.toISOString = toISOString;
|
12083 |
+
proto.inspect = inspect;
|
12084 |
+
proto.toJSON = toJSON;
|
12085 |
+
proto.toString = toString;
|
12086 |
+
proto.unix = unix;
|
12087 |
+
proto.valueOf = valueOf;
|
12088 |
+
proto.creationData = creationData;
|
12089 |
+
|
12090 |
+
// Year
|
12091 |
+
proto.year = getSetYear;
|
12092 |
+
proto.isLeapYear = getIsLeapYear;
|
12093 |
+
|
12094 |
+
// Week Year
|
12095 |
+
proto.weekYear = getSetWeekYear;
|
12096 |
+
proto.isoWeekYear = getSetISOWeekYear;
|
12097 |
+
|
12098 |
+
// Quarter
|
12099 |
+
proto.quarter = proto.quarters = getSetQuarter;
|
12100 |
+
|
12101 |
+
// Month
|
12102 |
+
proto.month = getSetMonth;
|
12103 |
+
proto.daysInMonth = getDaysInMonth;
|
12104 |
+
|
12105 |
+
// Week
|
12106 |
+
proto.week = proto.weeks = getSetWeek;
|
12107 |
+
proto.isoWeek = proto.isoWeeks = getSetISOWeek;
|
12108 |
+
proto.weeksInYear = getWeeksInYear;
|
12109 |
+
proto.isoWeeksInYear = getISOWeeksInYear;
|
12110 |
+
|
12111 |
+
// Day
|
12112 |
+
proto.date = getSetDayOfMonth;
|
12113 |
+
proto.day = proto.days = getSetDayOfWeek;
|
12114 |
+
proto.weekday = getSetLocaleDayOfWeek;
|
12115 |
+
proto.isoWeekday = getSetISODayOfWeek;
|
12116 |
+
proto.dayOfYear = getSetDayOfYear;
|
12117 |
+
|
12118 |
+
// Hour
|
12119 |
+
proto.hour = proto.hours = getSetHour;
|
12120 |
+
|
12121 |
+
// Minute
|
12122 |
+
proto.minute = proto.minutes = getSetMinute;
|
12123 |
+
|
12124 |
+
// Second
|
12125 |
+
proto.second = proto.seconds = getSetSecond;
|
12126 |
+
|
12127 |
+
// Millisecond
|
12128 |
+
proto.millisecond = proto.milliseconds = getSetMillisecond;
|
12129 |
+
|
12130 |
+
// Offset
|
12131 |
+
proto.utcOffset = getSetOffset;
|
12132 |
+
proto.utc = setOffsetToUTC;
|
12133 |
+
proto.local = setOffsetToLocal;
|
12134 |
+
proto.parseZone = setOffsetToParsedOffset;
|
12135 |
+
proto.hasAlignedHourOffset = hasAlignedHourOffset;
|
12136 |
+
proto.isDST = isDaylightSavingTime;
|
12137 |
+
proto.isLocal = isLocal;
|
12138 |
+
proto.isUtcOffset = isUtcOffset;
|
12139 |
+
proto.isUtc = isUtc;
|
12140 |
+
proto.isUTC = isUtc;
|
12141 |
+
|
12142 |
+
// Timezone
|
12143 |
+
proto.zoneAbbr = getZoneAbbr;
|
12144 |
+
proto.zoneName = getZoneName;
|
12145 |
+
|
12146 |
+
// Deprecations
|
12147 |
+
proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);
|
12148 |
+
proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);
|
12149 |
+
proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);
|
12150 |
+
proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);
|
12151 |
+
proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);
|
12152 |
+
|
12153 |
+
function createUnix (input) {
|
12154 |
+
return createLocal(input * 1000);
|
12155 |
+
}
|
12156 |
+
|
12157 |
+
function createInZone () {
|
12158 |
+
return createLocal.apply(null, arguments).parseZone();
|
12159 |
+
}
|
12160 |
+
|
12161 |
+
function preParsePostFormat (string) {
|
12162 |
+
return string;
|
12163 |
+
}
|
12164 |
+
|
12165 |
+
var proto$1 = Locale.prototype;
|
12166 |
+
|
12167 |
+
proto$1.calendar = calendar;
|
12168 |
+
proto$1.longDateFormat = longDateFormat;
|
12169 |
+
proto$1.invalidDate = invalidDate;
|
12170 |
+
proto$1.ordinal = ordinal;
|
12171 |
+
proto$1.preparse = preParsePostFormat;
|
12172 |
+
proto$1.postformat = preParsePostFormat;
|
12173 |
+
proto$1.relativeTime = relativeTime;
|
12174 |
+
proto$1.pastFuture = pastFuture;
|
12175 |
+
proto$1.set = set;
|
12176 |
+
|
12177 |
+
// Month
|
12178 |
+
proto$1.months = localeMonths;
|
12179 |
+
proto$1.monthsShort = localeMonthsShort;
|
12180 |
+
proto$1.monthsParse = localeMonthsParse;
|
12181 |
+
proto$1.monthsRegex = monthsRegex;
|
12182 |
+
proto$1.monthsShortRegex = monthsShortRegex;
|
12183 |
+
|
12184 |
+
// Week
|
12185 |
+
proto$1.week = localeWeek;
|
12186 |
+
proto$1.firstDayOfYear = localeFirstDayOfYear;
|
12187 |
+
proto$1.firstDayOfWeek = localeFirstDayOfWeek;
|
12188 |
+
|
12189 |
+
// Day of Week
|
12190 |
+
proto$1.weekdays = localeWeekdays;
|
12191 |
+
proto$1.weekdaysMin = localeWeekdaysMin;
|
12192 |
+
proto$1.weekdaysShort = localeWeekdaysShort;
|
12193 |
+
proto$1.weekdaysParse = localeWeekdaysParse;
|
12194 |
+
|
12195 |
+
proto$1.weekdaysRegex = weekdaysRegex;
|
12196 |
+
proto$1.weekdaysShortRegex = weekdaysShortRegex;
|
12197 |
+
proto$1.weekdaysMinRegex = weekdaysMinRegex;
|
12198 |
+
|
12199 |
+
// Hours
|
12200 |
+
proto$1.isPM = localeIsPM;
|
12201 |
+
proto$1.meridiem = localeMeridiem;
|
12202 |
+
|
12203 |
+
function get$1 (format, index, field, setter) {
|
12204 |
+
var locale = getLocale();
|
12205 |
+
var utc = createUTC().set(setter, index);
|
12206 |
+
return locale[field](utc, format);
|
12207 |
+
}
|
12208 |
+
|
12209 |
+
function listMonthsImpl (format, index, field) {
|
12210 |
+
if (isNumber(format)) {
|
12211 |
+
index = format;
|
12212 |
+
format = undefined;
|
12213 |
+
}
|
12214 |
+
|
12215 |
+
format = format || '';
|
12216 |
+
|
12217 |
+
if (index != null) {
|
12218 |
+
return get$1(format, index, field, 'month');
|
12219 |
+
}
|
12220 |
+
|
12221 |
+
var i;
|
12222 |
+
var out = [];
|
12223 |
+
for (i = 0; i < 12; i++) {
|
12224 |
+
out[i] = get$1(format, i, field, 'month');
|
12225 |
+
}
|
12226 |
+
return out;
|
12227 |
+
}
|
12228 |
+
|
12229 |
+
// ()
|
12230 |
+
// (5)
|
12231 |
+
// (fmt, 5)
|
12232 |
+
// (fmt)
|
12233 |
+
// (true)
|
12234 |
+
// (true, 5)
|
12235 |
+
// (true, fmt, 5)
|
12236 |
+
// (true, fmt)
|
12237 |
+
function listWeekdaysImpl (localeSorted, format, index, field) {
|
12238 |
+
if (typeof localeSorted === 'boolean') {
|
12239 |
+
if (isNumber(format)) {
|
12240 |
+
index = format;
|
12241 |
+
format = undefined;
|
12242 |
+
}
|
12243 |
+
|
12244 |
+
format = format || '';
|
12245 |
+
} else {
|
12246 |
+
format = localeSorted;
|
12247 |
+
index = format;
|
12248 |
+
localeSorted = false;
|
12249 |
+
|
12250 |
+
if (isNumber(format)) {
|
12251 |
+
index = format;
|
12252 |
+
format = undefined;
|
12253 |
+
}
|
12254 |
+
|
12255 |
+
format = format || '';
|
12256 |
+
}
|
12257 |
+
|
12258 |
+
var locale = getLocale(),
|
12259 |
+
shift = localeSorted ? locale._week.dow : 0;
|
12260 |
+
|
12261 |
+
if (index != null) {
|
12262 |
+
return get$1(format, (index + shift) % 7, field, 'day');
|
12263 |
+
}
|
12264 |
+
|
12265 |
+
var i;
|
12266 |
+
var out = [];
|
12267 |
+
for (i = 0; i < 7; i++) {
|
12268 |
+
out[i] = get$1(format, (i + shift) % 7, field, 'day');
|
12269 |
+
}
|
12270 |
+
return out;
|
12271 |
+
}
|
12272 |
+
|
12273 |
+
function listMonths (format, index) {
|
12274 |
+
return listMonthsImpl(format, index, 'months');
|
12275 |
+
}
|
12276 |
+
|
12277 |
+
function listMonthsShort (format, index) {
|
12278 |
+
return listMonthsImpl(format, index, 'monthsShort');
|
12279 |
+
}
|
12280 |
+
|
12281 |
+
function listWeekdays (localeSorted, format, index) {
|
12282 |
+
return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
|
12283 |
+
}
|
12284 |
+
|
12285 |
+
function listWeekdaysShort (localeSorted, format, index) {
|
12286 |
+
return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
|
12287 |
+
}
|
12288 |
+
|
12289 |
+
function listWeekdaysMin (localeSorted, format, index) {
|
12290 |
+
return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
|
12291 |
+
}
|
12292 |
+
|
12293 |
+
getSetGlobalLocale('en', {
|
12294 |
+
dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
|
12295 |
+
ordinal : function (number) {
|
12296 |
+
var b = number % 10,
|
12297 |
+
output = (toInt(number % 100 / 10) === 1) ? 'th' :
|
12298 |
+
(b === 1) ? 'st' :
|
12299 |
+
(b === 2) ? 'nd' :
|
12300 |
+
(b === 3) ? 'rd' : 'th';
|
12301 |
+
return number + output;
|
12302 |
+
}
|
12303 |
+
});
|
12304 |
+
|
12305 |
+
// Side effect imports
|
12306 |
+
hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);
|
12307 |
+
hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);
|
12308 |
+
|
12309 |
+
var mathAbs = Math.abs;
|
12310 |
+
|
12311 |
+
function abs () {
|
12312 |
+
var data = this._data;
|
12313 |
+
|
12314 |
+
this._milliseconds = mathAbs(this._milliseconds);
|
12315 |
+
this._days = mathAbs(this._days);
|
12316 |
+
this._months = mathAbs(this._months);
|
12317 |
+
|
12318 |
+
data.milliseconds = mathAbs(data.milliseconds);
|
12319 |
+
data.seconds = mathAbs(data.seconds);
|
12320 |
+
data.minutes = mathAbs(data.minutes);
|
12321 |
+
data.hours = mathAbs(data.hours);
|
12322 |
+
data.months = mathAbs(data.months);
|
12323 |
+
data.years = mathAbs(data.years);
|
12324 |
+
|
12325 |
+
return this;
|
12326 |
+
}
|
12327 |
+
|
12328 |
+
function addSubtract$1 (duration, input, value, direction) {
|
12329 |
+
var other = createDuration(input, value);
|
12330 |
+
|
12331 |
+
duration._milliseconds += direction * other._milliseconds;
|
12332 |
+
duration._days += direction * other._days;
|
12333 |
+
duration._months += direction * other._months;
|
12334 |
+
|
12335 |
+
return duration._bubble();
|
12336 |
+
}
|
12337 |
+
|
12338 |
+
// supports only 2.0-style add(1, 's') or add(duration)
|
12339 |
+
function add$1 (input, value) {
|
12340 |
+
return addSubtract$1(this, input, value, 1);
|
12341 |
+
}
|
12342 |
+
|
12343 |
+
// supports only 2.0-style subtract(1, 's') or subtract(duration)
|
12344 |
+
function subtract$1 (input, value) {
|
12345 |
+
return addSubtract$1(this, input, value, -1);
|
12346 |
+
}
|
12347 |
+
|
12348 |
+
function absCeil (number) {
|
12349 |
+
if (number < 0) {
|
12350 |
+
return Math.floor(number);
|
12351 |
+
} else {
|
12352 |
+
return Math.ceil(number);
|
12353 |
+
}
|
12354 |
+
}
|
12355 |
+
|
12356 |
+
function bubble () {
|
12357 |
+
var milliseconds = this._milliseconds;
|
12358 |
+
var days = this._days;
|
12359 |
+
var months = this._months;
|
12360 |
+
var data = this._data;
|
12361 |
+
var seconds, minutes, hours, years, monthsFromDays;
|
12362 |
+
|
12363 |
+
// if we have a mix of positive and negative values, bubble down first
|
12364 |
+
// check: https://github.com/moment/moment/issues/2166
|
12365 |
+
if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||
|
12366 |
+
(milliseconds <= 0 && days <= 0 && months <= 0))) {
|
12367 |
+
milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
|
12368 |
+
days = 0;
|
12369 |
+
months = 0;
|
12370 |
+
}
|
12371 |
+
|
12372 |
+
// The following code bubbles up values, see the tests for
|
12373 |
+
// examples of what that means.
|
12374 |
+
data.milliseconds = milliseconds % 1000;
|
12375 |
+
|
12376 |
+
seconds = absFloor(milliseconds / 1000);
|
12377 |
+
data.seconds = seconds % 60;
|
12378 |
+
|
12379 |
+
minutes = absFloor(seconds / 60);
|
12380 |
+
data.minutes = minutes % 60;
|
12381 |
+
|
12382 |
+
hours = absFloor(minutes / 60);
|
12383 |
+
data.hours = hours % 24;
|
12384 |
+
|
12385 |
+
days += absFloor(hours / 24);
|
12386 |
+
|
12387 |
+
// convert days to months
|
12388 |
+
monthsFromDays = absFloor(daysToMonths(days));
|
12389 |
+
months += monthsFromDays;
|
12390 |
+
days -= absCeil(monthsToDays(monthsFromDays));
|
12391 |
+
|
12392 |
+
// 12 months -> 1 year
|
12393 |
+
years = absFloor(months / 12);
|
12394 |
+
months %= 12;
|
12395 |
+
|
12396 |
+
data.days = days;
|
12397 |
+
data.months = months;
|
12398 |
+
data.years = years;
|
12399 |
+
|
12400 |
+
return this;
|
12401 |
+
}
|
12402 |
+
|
12403 |
+
function daysToMonths (days) {
|
12404 |
+
// 400 years have 146097 days (taking into account leap year rules)
|
12405 |
+
// 400 years have 12 months === 4800
|
12406 |
+
return days * 4800 / 146097;
|
12407 |
+
}
|
12408 |
+
|
12409 |
+
function monthsToDays (months) {
|
12410 |
+
// the reverse of daysToMonths
|
12411 |
+
return months * 146097 / 4800;
|
12412 |
+
}
|
12413 |
+
|
12414 |
+
function as (units) {
|
12415 |
+
if (!this.isValid()) {
|
12416 |
+
return NaN;
|
12417 |
+
}
|
12418 |
+
var days;
|
12419 |
+
var months;
|
12420 |
+
var milliseconds = this._milliseconds;
|
12421 |
+
|
12422 |
+
units = normalizeUnits(units);
|
12423 |
+
|
12424 |
+
if (units === 'month' || units === 'year') {
|
12425 |
+
days = this._days + milliseconds / 864e5;
|
12426 |
+
months = this._months + daysToMonths(days);
|
12427 |
+
return units === 'month' ? months : months / 12;
|
12428 |
+
} else {
|
12429 |
+
// handle milliseconds separately because of floating point math errors (issue #1867)
|
12430 |
+
days = this._days + Math.round(monthsToDays(this._months));
|
12431 |
+
switch (units) {
|
12432 |
+
case 'week' : return days / 7 + milliseconds / 6048e5;
|
12433 |
+
case 'day' : return days + milliseconds / 864e5;
|
12434 |
+
case 'hour' : return days * 24 + milliseconds / 36e5;
|
12435 |
+
case 'minute' : return days * 1440 + milliseconds / 6e4;
|
12436 |
+
case 'second' : return days * 86400 + milliseconds / 1000;
|
12437 |
+
// Math.floor prevents floating point math errors here
|
12438 |
+
case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
|
12439 |
+
default: throw new Error('Unknown unit ' + units);
|
12440 |
+
}
|
12441 |
+
}
|
12442 |
+
}
|
12443 |
+
|
12444 |
+
// TODO: Use this.as('ms')?
|
12445 |
+
function valueOf$1 () {
|
12446 |
+
if (!this.isValid()) {
|
12447 |
+
return NaN;
|
12448 |
+
}
|
12449 |
+
return (
|
12450 |
+
this._milliseconds +
|
12451 |
+
this._days * 864e5 +
|
12452 |
+
(this._months % 12) * 2592e6 +
|
12453 |
+
toInt(this._months / 12) * 31536e6
|
12454 |
+
);
|
12455 |
+
}
|
12456 |
+
|
12457 |
+
function makeAs (alias) {
|
12458 |
+
return function () {
|
12459 |
+
return this.as(alias);
|
12460 |
+
};
|
12461 |
+
}
|
12462 |
+
|
12463 |
+
var asMilliseconds = makeAs('ms');
|
12464 |
+
var asSeconds = makeAs('s');
|
12465 |
+
var asMinutes = makeAs('m');
|
12466 |
+
var asHours = makeAs('h');
|
12467 |
+
var asDays = makeAs('d');
|
12468 |
+
var asWeeks = makeAs('w');
|
12469 |
+
var asMonths = makeAs('M');
|
12470 |
+
var asYears = makeAs('y');
|
12471 |
+
|
12472 |
+
function clone$1 () {
|
12473 |
+
return createDuration(this);
|
12474 |
+
}
|
12475 |
+
|
12476 |
+
function get$2 (units) {
|
12477 |
+
units = normalizeUnits(units);
|
12478 |
+
return this.isValid() ? this[units + 's']() : NaN;
|
12479 |
+
}
|
12480 |
+
|
12481 |
+
function makeGetter(name) {
|
12482 |
+
return function () {
|
12483 |
+
return this.isValid() ? this._data[name] : NaN;
|
12484 |
+
};
|
12485 |
+
}
|
12486 |
+
|
12487 |
+
var milliseconds = makeGetter('milliseconds');
|
12488 |
+
var seconds = makeGetter('seconds');
|
12489 |
+
var minutes = makeGetter('minutes');
|
12490 |
+
var hours = makeGetter('hours');
|
12491 |
+
var days = makeGetter('days');
|
12492 |
+
var months = makeGetter('months');
|
12493 |
+
var years = makeGetter('years');
|
12494 |
+
|
12495 |
+
function weeks () {
|
12496 |
+
return absFloor(this.days() / 7);
|
12497 |
+
}
|
12498 |
+
|
12499 |
+
var round = Math.round;
|
12500 |
+
var thresholds = {
|
12501 |
+
ss: 44, // a few seconds to seconds
|
12502 |
+
s : 45, // seconds to minute
|
12503 |
+
m : 45, // minutes to hour
|
12504 |
+
h : 22, // hours to day
|
12505 |
+
d : 26, // days to month
|
12506 |
+
M : 11 // months to year
|
12507 |
+
};
|
12508 |
+
|
12509 |
+
// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
|
12510 |
+
function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
|
12511 |
+
return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
|
12512 |
+
}
|
12513 |
+
|
12514 |
+
function relativeTime$1 (posNegDuration, withoutSuffix, locale) {
|
12515 |
+
var duration = createDuration(posNegDuration).abs();
|
12516 |
+
var seconds = round(duration.as('s'));
|
12517 |
+
var minutes = round(duration.as('m'));
|
12518 |
+
var hours = round(duration.as('h'));
|
12519 |
+
var days = round(duration.as('d'));
|
12520 |
+
var months = round(duration.as('M'));
|
12521 |
+
var years = round(duration.as('y'));
|
12522 |
+
|
12523 |
+
var a = seconds <= thresholds.ss && ['s', seconds] ||
|
12524 |
+
seconds < thresholds.s && ['ss', seconds] ||
|
12525 |
+
minutes <= 1 && ['m'] ||
|
12526 |
+
minutes < thresholds.m && ['mm', minutes] ||
|
12527 |
+
hours <= 1 && ['h'] ||
|
12528 |
+
hours < thresholds.h && ['hh', hours] ||
|
12529 |
+
days <= 1 && ['d'] ||
|
12530 |
+
days < thresholds.d && ['dd', days] ||
|
12531 |
+
months <= 1 && ['M'] ||
|
12532 |
+
months < thresholds.M && ['MM', months] ||
|
12533 |
+
years <= 1 && ['y'] || ['yy', years];
|
12534 |
+
|
12535 |
+
a[2] = withoutSuffix;
|
12536 |
+
a[3] = +posNegDuration > 0;
|
12537 |
+
a[4] = locale;
|
12538 |
+
return substituteTimeAgo.apply(null, a);
|
12539 |
+
}
|
12540 |
+
|
12541 |
+
// This function allows you to set the rounding function for relative time strings
|
12542 |
+
function getSetRelativeTimeRounding (roundingFunction) {
|
12543 |
+
if (roundingFunction === undefined) {
|
12544 |
+
return round;
|
12545 |
+
}
|
12546 |
+
if (typeof(roundingFunction) === 'function') {
|
12547 |
+
round = roundingFunction;
|
12548 |
+
return true;
|
12549 |
+
}
|
12550 |
+
return false;
|
12551 |
+
}
|
12552 |
+
|
12553 |
+
// This function allows you to set a threshold for relative time strings
|
12554 |
+
function getSetRelativeTimeThreshold (threshold, limit) {
|
12555 |
+
if (thresholds[threshold] === undefined) {
|
12556 |
+
return false;
|
12557 |
+
}
|
12558 |
+
if (limit === undefined) {
|
12559 |
+
return thresholds[threshold];
|
12560 |
+
}
|
12561 |
+
thresholds[threshold] = limit;
|
12562 |
+
if (threshold === 's') {
|
12563 |
+
thresholds.ss = limit - 1;
|
12564 |
+
}
|
12565 |
+
return true;
|
12566 |
+
}
|
12567 |
+
|
12568 |
+
function humanize (withSuffix) {
|
12569 |
+
if (!this.isValid()) {
|
12570 |
+
return this.localeData().invalidDate();
|
12571 |
+
}
|
12572 |
+
|
12573 |
+
var locale = this.localeData();
|
12574 |
+
var output = relativeTime$1(this, !withSuffix, locale);
|
12575 |
+
|
12576 |
+
if (withSuffix) {
|
12577 |
+
output = locale.pastFuture(+this, output);
|
12578 |
+
}
|
12579 |
+
|
12580 |
+
return locale.postformat(output);
|
12581 |
+
}
|
12582 |
+
|
12583 |
+
var abs$1 = Math.abs;
|
12584 |
+
|
12585 |
+
function sign(x) {
|
12586 |
+
return ((x > 0) - (x < 0)) || +x;
|
12587 |
+
}
|
12588 |
+
|
12589 |
+
function toISOString$1() {
|
12590 |
+
// for ISO strings we do not use the normal bubbling rules:
|
12591 |
+
// * milliseconds bubble up until they become hours
|
12592 |
+
// * days do not bubble at all
|
12593 |
+
// * months bubble up until they become years
|
12594 |
+
// This is because there is no context-free conversion between hours and days
|
12595 |
+
// (think of clock changes)
|
12596 |
+
// and also not between days and months (28-31 days per month)
|
12597 |
+
if (!this.isValid()) {
|
12598 |
+
return this.localeData().invalidDate();
|
12599 |
+
}
|
12600 |
+
|
12601 |
+
var seconds = abs$1(this._milliseconds) / 1000;
|
12602 |
+
var days = abs$1(this._days);
|
12603 |
+
var months = abs$1(this._months);
|
12604 |
+
var minutes, hours, years;
|
12605 |
+
|
12606 |
+
// 3600 seconds -> 60 minutes -> 1 hour
|
12607 |
+
minutes = absFloor(seconds / 60);
|
12608 |
+
hours = absFloor(minutes / 60);
|
12609 |
+
seconds %= 60;
|
12610 |
+
minutes %= 60;
|
12611 |
+
|
12612 |
+
// 12 months -> 1 year
|
12613 |
+
years = absFloor(months / 12);
|
12614 |
+
months %= 12;
|
12615 |
+
|
12616 |
+
|
12617 |
+
// inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
|
12618 |
+
var Y = years;
|
12619 |
+
var M = months;
|
12620 |
+
var D = days;
|
12621 |
+
var h = hours;
|
12622 |
+
var m = minutes;
|
12623 |
+
var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
|
12624 |
+
var total = this.asSeconds();
|
12625 |
+
|
12626 |
+
if (!total) {
|
12627 |
+
// this is the same as C#'s (Noda) and python (isodate)...
|
12628 |
+
// but not other JS (goog.date)
|
12629 |
+
return 'P0D';
|
12630 |
+
}
|
12631 |
+
|
12632 |
+
var totalSign = total < 0 ? '-' : '';
|
12633 |
+
var ymSign = sign(this._months) !== sign(total) ? '-' : '';
|
12634 |
+
var daysSign = sign(this._days) !== sign(total) ? '-' : '';
|
12635 |
+
var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
|
12636 |
+
|
12637 |
+
return totalSign + 'P' +
|
12638 |
+
(Y ? ymSign + Y + 'Y' : '') +
|
12639 |
+
(M ? ymSign + M + 'M' : '') +
|
12640 |
+
(D ? daysSign + D + 'D' : '') +
|
12641 |
+
((h || m || s) ? 'T' : '') +
|
12642 |
+
(h ? hmsSign + h + 'H' : '') +
|
12643 |
+
(m ? hmsSign + m + 'M' : '') +
|
12644 |
+
(s ? hmsSign + s + 'S' : '');
|
12645 |
+
}
|
12646 |
+
|
12647 |
+
var proto$2 = Duration.prototype;
|
12648 |
+
|
12649 |
+
proto$2.isValid = isValid$1;
|
12650 |
+
proto$2.abs = abs;
|
12651 |
+
proto$2.add = add$1;
|
12652 |
+
proto$2.subtract = subtract$1;
|
12653 |
+
proto$2.as = as;
|
12654 |
+
proto$2.asMilliseconds = asMilliseconds;
|
12655 |
+
proto$2.asSeconds = asSeconds;
|
12656 |
+
proto$2.asMinutes = asMinutes;
|
12657 |
+
proto$2.asHours = asHours;
|
12658 |
+
proto$2.asDays = asDays;
|
12659 |
+
proto$2.asWeeks = asWeeks;
|
12660 |
+
proto$2.asMonths = asMonths;
|
12661 |
+
proto$2.asYears = asYears;
|
12662 |
+
proto$2.valueOf = valueOf$1;
|
12663 |
+
proto$2._bubble = bubble;
|
12664 |
+
proto$2.clone = clone$1;
|
12665 |
+
proto$2.get = get$2;
|
12666 |
+
proto$2.milliseconds = milliseconds;
|
12667 |
+
proto$2.seconds = seconds;
|
12668 |
+
proto$2.minutes = minutes;
|
12669 |
+
proto$2.hours = hours;
|
12670 |
+
proto$2.days = days;
|
12671 |
+
proto$2.weeks = weeks;
|
12672 |
+
proto$2.months = months;
|
12673 |
+
proto$2.years = years;
|
12674 |
+
proto$2.humanize = humanize;
|
12675 |
+
proto$2.toISOString = toISOString$1;
|
12676 |
+
proto$2.toString = toISOString$1;
|
12677 |
+
proto$2.toJSON = toISOString$1;
|
12678 |
+
proto$2.locale = locale;
|
12679 |
+
proto$2.localeData = localeData;
|
12680 |
+
|
12681 |
+
// Deprecations
|
12682 |
+
proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);
|
12683 |
+
proto$2.lang = lang;
|
12684 |
+
|
12685 |
+
// Side effect imports
|
12686 |
+
|
12687 |
+
// FORMATTING
|
12688 |
+
|
12689 |
+
addFormatToken('X', 0, 0, 'unix');
|
12690 |
+
addFormatToken('x', 0, 0, 'valueOf');
|
12691 |
+
|
12692 |
+
// PARSING
|
12693 |
+
|
12694 |
+
addRegexToken('x', matchSigned);
|
12695 |
+
addRegexToken('X', matchTimestamp);
|
12696 |
+
addParseToken('X', function (input, array, config) {
|
12697 |
+
config._d = new Date(parseFloat(input, 10) * 1000);
|
12698 |
+
});
|
12699 |
+
addParseToken('x', function (input, array, config) {
|
12700 |
+
config._d = new Date(toInt(input));
|
12701 |
+
});
|
12702 |
+
|
12703 |
+
// Side effect imports
|
12704 |
+
|
12705 |
+
|
12706 |
+
hooks.version = '2.20.1';
|
12707 |
+
|
12708 |
+
setHookCallback(createLocal);
|
12709 |
+
|
12710 |
+
hooks.fn = proto;
|
12711 |
+
hooks.min = min;
|
12712 |
+
hooks.max = max;
|
12713 |
+
hooks.now = now;
|
12714 |
+
hooks.utc = createUTC;
|
12715 |
+
hooks.unix = createUnix;
|
12716 |
+
hooks.months = listMonths;
|
12717 |
+
hooks.isDate = isDate;
|
12718 |
+
hooks.locale = getSetGlobalLocale;
|
12719 |
+
hooks.invalid = createInvalid;
|
12720 |
+
hooks.duration = createDuration;
|
12721 |
+
hooks.isMoment = isMoment;
|
12722 |
+
hooks.weekdays = listWeekdays;
|
12723 |
+
hooks.parseZone = createInZone;
|
12724 |
+
hooks.localeData = getLocale;
|
12725 |
+
hooks.isDuration = isDuration;
|
12726 |
+
hooks.monthsShort = listMonthsShort;
|
12727 |
+
hooks.weekdaysMin = listWeekdaysMin;
|
12728 |
+
hooks.defineLocale = defineLocale;
|
12729 |
+
hooks.updateLocale = updateLocale;
|
12730 |
+
hooks.locales = listLocales;
|
12731 |
+
hooks.weekdaysShort = listWeekdaysShort;
|
12732 |
+
hooks.normalizeUnits = normalizeUnits;
|
12733 |
+
hooks.relativeTimeRounding = getSetRelativeTimeRounding;
|
12734 |
+
hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
|
12735 |
+
hooks.calendarFormat = getCalendarFormat;
|
12736 |
+
hooks.prototype = proto;
|
12737 |
+
|
12738 |
+
// currently HTML5 input type only supports 24-hour formats
|
12739 |
+
hooks.HTML5_FMT = {
|
12740 |
+
DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" />
|
12741 |
+
DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" />
|
12742 |
+
DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" />
|
12743 |
+
DATE: 'YYYY-MM-DD', // <input type="date" />
|
12744 |
+
TIME: 'HH:mm', // <input type="time" />
|
12745 |
+
TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" />
|
12746 |
+
TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" />
|
12747 |
+
WEEK: 'YYYY-[W]WW', // <input type="week" />
|
12748 |
+
MONTH: 'YYYY-MM' // <input type="month" />
|
12749 |
+
};
|
12750 |
+
|
12751 |
+
return hooks;
|
12752 |
+
|
12753 |
+
})));
|
12754 |
+
|
12755 |
+
|
12756 |
+
/*** EXPORTS FROM exports-to-window-loader ***/
|
12757 |
+
window['moment'] = __webpack_require__(67);
|
12758 |
+
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(166)(module)))
|
12759 |
+
|
12760 |
+
/***/ }),
|
12761 |
+
/* 68 */
|
12762 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12763 |
+
|
12764 |
+
"use strict";
|
12765 |
+
|
12766 |
+
|
12767 |
+
exports.__esModule = true;
|
12768 |
+
exports.default = void 0;
|
12769 |
+
|
12770 |
+
var _array = __webpack_require__(3);
|
12771 |
+
|
12772 |
+
var _object = __webpack_require__(2);
|
12773 |
+
|
12774 |
+
var MIXIN_NAME = 'localHooks';
|
12775 |
+
/**
|
12776 |
+
* Mixin object to extend objects functionality for local hooks.
|
12777 |
+
*
|
12778 |
+
* @type {Object}
|
12779 |
+
*/
|
12780 |
+
|
12781 |
+
var localHooks = {
|
12782 |
+
/**
|
12783 |
+
* Internal hooks storage.
|
12784 |
+
*/
|
12785 |
+
_localHooks: Object.create(null),
|
12786 |
+
|
12787 |
+
/**
|
12788 |
+
* Add hook to the collection.
|
12789 |
+
*
|
12790 |
+
* @param {String} key Hook name.
|
12791 |
+
* @param {Function} callback Hook callback
|
12792 |
+
* @returns {Object}
|
12793 |
+
*/
|
12794 |
+
addLocalHook: function addLocalHook(key, callback) {
|
12795 |
+
if (!this._localHooks[key]) {
|
12796 |
+
this._localHooks[key] = [];
|
12797 |
+
}
|
12798 |
+
|
12799 |
+
this._localHooks[key].push(callback);
|
12800 |
+
|
12801 |
+
return this;
|
12802 |
+
},
|
12803 |
+
|
12804 |
+
/**
|
12805 |
+
* Run hooks.
|
12806 |
+
*
|
12807 |
+
* @param {String} key Hook name.
|
12808 |
+
* @param {*} params
|
12809 |
+
*/
|
12810 |
+
runLocalHooks: function runLocalHooks(key) {
|
12811 |
+
var _this = this;
|
12812 |
+
|
12813 |
+
for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
12814 |
+
params[_key - 1] = arguments[_key];
|
12815 |
+
}
|
12816 |
+
|
12817 |
+
if (this._localHooks[key]) {
|
12818 |
+
(0, _array.arrayEach)(this._localHooks[key], function (callback) {
|
12819 |
+
return callback.apply(_this, params);
|
12820 |
+
});
|
12821 |
+
}
|
12822 |
+
},
|
12823 |
+
|
12824 |
+
/**
|
12825 |
+
* Clear all added hooks.
|
12826 |
+
*
|
12827 |
+
* @returns {Object}
|
12828 |
+
*/
|
12829 |
+
clearLocalHooks: function clearLocalHooks() {
|
12830 |
+
this._localHooks = {};
|
12831 |
+
return this;
|
12832 |
+
}
|
12833 |
+
};
|
12834 |
+
(0, _object.defineGetter)(localHooks, 'MIXIN_NAME', MIXIN_NAME, {
|
12835 |
+
writable: false,
|
12836 |
+
enumerable: false
|
12837 |
+
});
|
12838 |
+
var _default = localHooks;
|
12839 |
+
exports.default = _default;
|
12840 |
+
|
12841 |
+
/***/ }),
|
12842 |
+
/* 69 */
|
12843 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12844 |
+
|
12845 |
+
"use strict";
|
12846 |
+
|
12847 |
+
|
12848 |
+
exports.__esModule = true;
|
12849 |
+
exports.createId = createId;
|
12850 |
+
exports.createDefaultCustomBorder = createDefaultCustomBorder;
|
12851 |
+
exports.createSingleEmptyBorder = createSingleEmptyBorder;
|
12852 |
+
exports.createDefaultHtBorder = createDefaultHtBorder;
|
12853 |
+
exports.createEmptyBorders = createEmptyBorders;
|
12854 |
+
exports.extendDefaultBorder = extendDefaultBorder;
|
12855 |
+
exports.checkSelectionBorders = checkSelectionBorders;
|
12856 |
+
exports.markSelected = markSelected;
|
12857 |
+
|
12858 |
+
var _object = __webpack_require__(2);
|
12859 |
+
|
12860 |
+
var _array = __webpack_require__(3);
|
12861 |
+
|
12862 |
+
/**
|
12863 |
+
* Create separated id for borders for each cell.
|
12864 |
+
*
|
12865 |
+
* @param {Number} row Visual row index.
|
12866 |
+
* @param {Number} col Visual column index.
|
12867 |
+
* @returns {String}
|
12868 |
+
*/
|
12869 |
+
function createId(row, col) {
|
12870 |
+
return "border_row".concat(row, "col").concat(col);
|
12871 |
+
}
|
12872 |
+
/**
|
12873 |
+
* Create default single border for each position (top/right/bottom/left).
|
12874 |
+
*
|
12875 |
+
* @returns {Object} `{{width: number, color: string}}`
|
12876 |
+
*/
|
12877 |
+
|
12878 |
+
|
12879 |
+
function createDefaultCustomBorder() {
|
12880 |
+
return {
|
12881 |
+
width: 1,
|
12882 |
+
color: '#000'
|
12883 |
+
};
|
12884 |
+
}
|
12885 |
+
/**
|
12886 |
+
* Create default object for empty border.
|
12887 |
+
*
|
12888 |
+
* @returns {Object} `{{hide: boolean}}`
|
12889 |
+
*/
|
12890 |
+
|
12891 |
+
|
12892 |
+
function createSingleEmptyBorder() {
|
12893 |
+
return {
|
12894 |
+
hide: true
|
12895 |
+
};
|
12896 |
+
}
|
12897 |
+
/**
|
12898 |
+
* Create default Handsontable border object.
|
12899 |
+
*
|
12900 |
+
* @returns {Object} `{{width: number, color: string, cornerVisible: boolean}}`
|
12901 |
+
*/
|
12902 |
+
|
12903 |
+
|
12904 |
+
function createDefaultHtBorder() {
|
12905 |
+
return {
|
12906 |
+
width: 1,
|
12907 |
+
color: '#000',
|
12908 |
+
cornerVisible: false
|
12909 |
+
};
|
12910 |
+
}
|
12911 |
+
/**
|
12912 |
+
* Prepare empty border for each cell with all custom borders hidden.
|
12913 |
+
*
|
12914 |
+
* @param {Number} row Visual row index.
|
12915 |
+
* @param {Number} col Visual column index.
|
12916 |
+
* @returns {Object} `{{id: *, border: *, row: *, col: *, top: {hide: boolean}, right: {hide: boolean}, bottom: {hide: boolean}, left: {hide: boolean}}}`
|
12917 |
+
*/
|
12918 |
+
|
12919 |
+
|
12920 |
+
function createEmptyBorders(row, col) {
|
12921 |
+
return {
|
12922 |
+
id: createId(row, col),
|
12923 |
+
border: createDefaultHtBorder(),
|
12924 |
+
row: row,
|
12925 |
+
col: col,
|
12926 |
+
top: createSingleEmptyBorder(),
|
12927 |
+
right: createSingleEmptyBorder(),
|
12928 |
+
bottom: createSingleEmptyBorder(),
|
12929 |
+
left: createSingleEmptyBorder()
|
12930 |
+
};
|
12931 |
+
}
|
12932 |
+
|
12933 |
+
function extendDefaultBorder(defaultBorder, customBorder) {
|
12934 |
+
if ((0, _object.hasOwnProperty)(customBorder, 'border')) {
|
12935 |
+
defaultBorder.border = customBorder.border;
|
12936 |
+
}
|
12937 |
+
|
12938 |
+
if ((0, _object.hasOwnProperty)(customBorder, 'top')) {
|
12939 |
+
if (customBorder.top) {
|
12940 |
+
if (!(0, _object.isObject)(customBorder.top)) {
|
12941 |
+
customBorder.top = createDefaultCustomBorder();
|
12942 |
+
}
|
12943 |
+
|
12944 |
+
defaultBorder.top = customBorder.top;
|
12945 |
+
} else {
|
12946 |
+
customBorder.top = createSingleEmptyBorder();
|
12947 |
+
defaultBorder.top = customBorder.top;
|
12948 |
+
}
|
12949 |
+
}
|
12950 |
+
|
12951 |
+
if ((0, _object.hasOwnProperty)(customBorder, 'right')) {
|
12952 |
+
if (customBorder.right) {
|
12953 |
+
if (!(0, _object.isObject)(customBorder.right)) {
|
12954 |
+
customBorder.right = createDefaultCustomBorder();
|
12955 |
+
}
|
12956 |
+
|
12957 |
+
defaultBorder.right = customBorder.right;
|
12958 |
+
} else {
|
12959 |
+
customBorder.right = createSingleEmptyBorder();
|
12960 |
+
defaultBorder.right = customBorder.right;
|
12961 |
+
}
|
12962 |
+
}
|
12963 |
+
|
12964 |
+
if ((0, _object.hasOwnProperty)(customBorder, 'bottom')) {
|
12965 |
+
if (customBorder.bottom) {
|
12966 |
+
if (!(0, _object.isObject)(customBorder.bottom)) {
|
12967 |
+
customBorder.bottom = createDefaultCustomBorder();
|
12968 |
+
}
|
12969 |
+
|
12970 |
+
defaultBorder.bottom = customBorder.bottom;
|
12971 |
+
} else {
|
12972 |
+
customBorder.bottom = createSingleEmptyBorder();
|
12973 |
+
defaultBorder.bottom = customBorder.bottom;
|
12974 |
+
}
|
12975 |
+
}
|
12976 |
+
|
12977 |
+
if ((0, _object.hasOwnProperty)(customBorder, 'left')) {
|
12978 |
+
if (customBorder.left) {
|
12979 |
+
if (!(0, _object.isObject)(customBorder.left)) {
|
12980 |
+
customBorder.left = createDefaultCustomBorder();
|
12981 |
+
}
|
12982 |
+
|
12983 |
+
defaultBorder.left = customBorder.left;
|
12984 |
+
} else {
|
12985 |
+
customBorder.left = createSingleEmptyBorder();
|
12986 |
+
defaultBorder.left = customBorder.left;
|
12987 |
+
}
|
12988 |
+
}
|
12989 |
+
|
12990 |
+
return defaultBorder;
|
12991 |
+
}
|
12992 |
+
/**
|
12993 |
+
* Check if selection has border.
|
12994 |
+
*
|
12995 |
+
* @param hot
|
12996 |
+
* @param direction
|
12997 |
+
*/
|
12998 |
+
|
12999 |
+
|
13000 |
+
function checkSelectionBorders(hot, direction) {
|
13001 |
+
var atLeastOneHasBorder = false;
|
13002 |
+
(0, _array.arrayEach)(hot.getSelectedRange(), function (range) {
|
13003 |
+
range.forAll(function (r, c) {
|
13004 |
+
var metaBorders = hot.getCellMeta(r, c).borders;
|
13005 |
+
|
13006 |
+
if (metaBorders) {
|
13007 |
+
if (direction) {
|
13008 |
+
if (!(0, _object.hasOwnProperty)(metaBorders[direction], 'hide') || metaBorders[direction].hide === false) {
|
13009 |
+
atLeastOneHasBorder = true;
|
13010 |
+
return false; // breaks forAll
|
13011 |
+
}
|
13012 |
+
} else {
|
13013 |
+
atLeastOneHasBorder = true;
|
13014 |
+
return false; // breaks forAll
|
13015 |
+
}
|
13016 |
+
}
|
13017 |
+
});
|
13018 |
+
});
|
13019 |
+
return atLeastOneHasBorder;
|
13020 |
+
}
|
13021 |
+
/**
|
13022 |
+
* Mark label in contextMenu as selected.
|
13023 |
+
*
|
13024 |
+
* @param label
|
13025 |
+
* @returns {string}
|
13026 |
+
*/
|
13027 |
+
|
13028 |
+
|
13029 |
+
function markSelected(label) {
|
13030 |
+
return "<span class=\"selected\">".concat(String.fromCharCode(10003), "</span>").concat(label); // workaround for https://github.com/handsontable/handsontable/issues/1946
|
13031 |
+
}
|
13032 |
+
|
13033 |
+
/***/ }),
|
13034 |
+
/* 70 */
|
13035 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13036 |
+
|
13037 |
+
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
13038 |
+
var cof = __webpack_require__(39);
|
13039 |
+
// eslint-disable-next-line no-prototype-builtins
|
13040 |
+
module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
|
13041 |
+
return cof(it) == 'String' ? it.split('') : Object(it);
|
13042 |
+
};
|
13043 |
+
|
13044 |
+
|
13045 |
+
/***/ }),
|
13046 |
+
/* 71 */
|
13047 |
+
/***/ (function(module, exports) {
|
13048 |
+
|
13049 |
+
exports.f = {}.propertyIsEnumerable;
|
13050 |
+
|
13051 |
+
|
13052 |
+
/***/ }),
|
13053 |
+
/* 72 */
|
13054 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13055 |
+
|
13056 |
+
// getting tag from 19.1.3.6 Object.prototype.toString()
|
13057 |
+
var cof = __webpack_require__(39);
|
13058 |
+
var TAG = __webpack_require__(12)('toStringTag');
|
13059 |
+
// ES3 wrong here
|
13060 |
+
var ARG = cof(function () { return arguments; }()) == 'Arguments';
|
13061 |
+
|
13062 |
+
// fallback for IE11 Script Access Denied error
|
13063 |
+
var tryGet = function (it, key) {
|
13064 |
+
try {
|
13065 |
+
return it[key];
|
13066 |
+
} catch (e) { /* empty */ }
|
13067 |
+
};
|
13068 |
+
|
13069 |
+
module.exports = function (it) {
|
13070 |
+
var O, T, B;
|
13071 |
+
return it === undefined ? 'Undefined' : it === null ? 'Null'
|
13072 |
+
// @@toStringTag case
|
13073 |
+
: typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
|
13074 |
+
// builtinTag case
|
13075 |
+
: ARG ? cof(O)
|
13076 |
+
// ES3 arguments fallback
|
13077 |
+
: (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
|
13078 |
+
};
|
13079 |
+
|
13080 |
+
|
13081 |
+
/***/ }),
|
13082 |
+
/* 73 */
|
13083 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13084 |
+
|
13085 |
+
// 7.3.20 SpeciesConstructor(O, defaultConstructor)
|
13086 |
+
var anObject = __webpack_require__(5);
|
13087 |
+
var aFunction = __webpack_require__(38);
|
13088 |
+
var SPECIES = __webpack_require__(12)('species');
|
13089 |
+
module.exports = function (O, D) {
|
13090 |
+
var C = anObject(O).constructor;
|
13091 |
+
var S;
|
13092 |
+
return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
|
13093 |
+
};
|
13094 |
+
|
13095 |
+
|
13096 |
+
/***/ }),
|
13097 |
+
/* 74 */
|
13098 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13099 |
+
|
13100 |
+
"use strict";
|
13101 |
+
|
13102 |
+
|
13103 |
+
exports.__esModule = true;
|
13104 |
+
exports.default = exports.EditorState = void 0;
|
13105 |
+
|
13106 |
+
var _src = __webpack_require__(8);
|
13107 |
+
|
13108 |
+
var _mixed = __webpack_require__(14);
|
13109 |
+
|
13110 |
+
var EditorState = {
|
13111 |
+
VIRGIN: 'STATE_VIRGIN',
|
13112 |
+
// before editing
|
13113 |
+
EDITING: 'STATE_EDITING',
|
13114 |
+
WAITING: 'STATE_WAITING',
|
13115 |
+
// waiting for async validation
|
13116 |
+
FINISHED: 'STATE_FINISHED'
|
13117 |
+
};
|
13118 |
+
/**
|
13119 |
+
* @util
|
13120 |
+
* @class BaseEditor
|
13121 |
+
*/
|
13122 |
+
|
13123 |
+
exports.EditorState = EditorState;
|
13124 |
+
|
13125 |
+
function BaseEditor(instance) {
|
13126 |
+
this.instance = instance;
|
13127 |
+
this.state = EditorState.VIRGIN;
|
13128 |
+
this._opened = false;
|
13129 |
+
this._fullEditMode = false;
|
13130 |
+
this._closeCallback = null;
|
13131 |
+
this.init();
|
13132 |
+
}
|
13133 |
+
|
13134 |
+
BaseEditor.prototype._fireCallbacks = function (result) {
|
13135 |
+
if (this._closeCallback) {
|
13136 |
+
this._closeCallback(result);
|
13137 |
+
|
13138 |
+
this._closeCallback = null;
|
13139 |
+
}
|
13140 |
+
};
|
13141 |
+
|
13142 |
+
BaseEditor.prototype.init = function () {};
|
13143 |
+
|
13144 |
+
BaseEditor.prototype.getValue = function () {
|
13145 |
+
throw Error('Editor getValue() method unimplemented');
|
13146 |
+
};
|
13147 |
+
|
13148 |
+
BaseEditor.prototype.setValue = function () {
|
13149 |
+
throw Error('Editor setValue() method unimplemented');
|
13150 |
+
};
|
13151 |
+
|
13152 |
+
BaseEditor.prototype.open = function () {
|
13153 |
+
throw Error('Editor open() method unimplemented');
|
13154 |
+
};
|
13155 |
+
|
13156 |
+
BaseEditor.prototype.close = function () {
|
13157 |
+
throw Error('Editor close() method unimplemented');
|
13158 |
+
};
|
13159 |
+
|
13160 |
+
BaseEditor.prototype.prepare = function (row, col, prop, td, originalValue, cellProperties) {
|
13161 |
+
this.TD = td;
|
13162 |
+
this.row = row;
|
13163 |
+
this.col = col;
|
13164 |
+
this.prop = prop;
|
13165 |
+
this.originalValue = originalValue;
|
13166 |
+
this.cellProperties = cellProperties;
|
13167 |
+
this.state = EditorState.VIRGIN;
|
13168 |
+
};
|
13169 |
+
|
13170 |
+
BaseEditor.prototype.extend = function () {
|
13171 |
+
var baseClass = this.constructor;
|
13172 |
+
|
13173 |
+
function Editor() {
|
13174 |
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
13175 |
+
args[_key] = arguments[_key];
|
13176 |
+
}
|
13177 |
+
|
13178 |
+
baseClass.apply(this, args);
|
13179 |
+
}
|
13180 |
+
|
13181 |
+
function inherit(Child, Parent) {
|
13182 |
+
function Bridge() {}
|
13183 |
+
|
13184 |
+
Bridge.prototype = Parent.prototype;
|
13185 |
+
Child.prototype = new Bridge();
|
13186 |
+
Child.prototype.constructor = Child;
|
13187 |
+
return Child;
|
13188 |
+
}
|
13189 |
+
|
13190 |
+
return inherit(Editor, baseClass);
|
13191 |
+
};
|
13192 |
+
|
13193 |
+
BaseEditor.prototype.saveValue = function (value, ctrlDown) {
|
13194 |
+
var selection;
|
13195 |
+
var tmp; // if ctrl+enter and multiple cells selected, behave like Excel (finish editing and apply to all cells)
|
13196 |
+
|
13197 |
+
if (ctrlDown) {
|
13198 |
+
selection = this.instance.getSelectedLast();
|
13199 |
+
|
13200 |
+
if (selection[0] > selection[2]) {
|
13201 |
+
tmp = selection[0];
|
13202 |
+
selection[0] = selection[2];
|
13203 |
+
selection[2] = tmp;
|
13204 |
+
}
|
13205 |
+
|
13206 |
+
if (selection[1] > selection[3]) {
|
13207 |
+
tmp = selection[1];
|
13208 |
+
selection[1] = selection[3];
|
13209 |
+
selection[3] = tmp;
|
13210 |
+
}
|
13211 |
+
} else {
|
13212 |
+
selection = [this.row, this.col, null, null];
|
13213 |
+
}
|
13214 |
+
|
13215 |
+
this.instance.populateFromArray(selection[0], selection[1], value, selection[2], selection[3], 'edit');
|
13216 |
+
};
|
13217 |
+
|
13218 |
+
BaseEditor.prototype.beginEditing = function (newInitialValue, event) {
|
13219 |
+
if (this.state !== EditorState.VIRGIN) {
|
13220 |
+
return;
|
13221 |
+
}
|
13222 |
+
|
13223 |
+
this.instance.view.scrollViewport(new _src.CellCoords(this.row, this.col));
|
13224 |
+
this.state = EditorState.EDITING; // Set the editor value only in the full edit mode. In other mode the focusable element has to be empty,
|
13225 |
+
// otherwise IME (editor for Asia users) doesn't work.
|
13226 |
+
|
13227 |
+
if (this.isInFullEditMode()) {
|
13228 |
+
var stringifiedInitialValue = typeof newInitialValue === 'string' ? newInitialValue : (0, _mixed.stringify)(this.originalValue);
|
13229 |
+
this.setValue(stringifiedInitialValue);
|
13230 |
+
}
|
13231 |
+
|
13232 |
+
this.open(event);
|
13233 |
+
this._opened = true;
|
13234 |
+
this.focus(); // only rerender the selections (FillHandle should disappear when beginediting is triggered)
|
13235 |
+
|
13236 |
+
this.instance.view.render();
|
13237 |
+
this.instance.runHooks('afterBeginEditing', this.row, this.col);
|
13238 |
+
};
|
13239 |
+
|
13240 |
+
BaseEditor.prototype.finishEditing = function (restoreOriginalValue, ctrlDown, callback) {
|
13241 |
+
var _this = this;
|
13242 |
+
|
13243 |
+
var val;
|
13244 |
+
|
13245 |
+
if (callback) {
|
13246 |
+
var previousCloseCallback = this._closeCallback;
|
13247 |
+
|
13248 |
+
this._closeCallback = function (result) {
|
13249 |
+
if (previousCloseCallback) {
|
13250 |
+
previousCloseCallback(result);
|
13251 |
+
}
|
13252 |
+
|
13253 |
+
callback(result);
|
13254 |
+
|
13255 |
+
_this.instance.view.render();
|
13256 |
+
};
|
13257 |
+
}
|
13258 |
+
|
13259 |
+
if (this.isWaiting()) {
|
13260 |
+
return;
|
13261 |
+
}
|
13262 |
+
|
13263 |
+
if (this.state === EditorState.VIRGIN) {
|
13264 |
+
this.instance._registerTimeout(function () {
|
13265 |
+
_this._fireCallbacks(true);
|
13266 |
+
});
|
13267 |
+
|
13268 |
+
return;
|
13269 |
+
}
|
13270 |
+
|
13271 |
+
if (this.state === EditorState.EDITING) {
|
13272 |
+
if (restoreOriginalValue) {
|
13273 |
+
this.cancelChanges();
|
13274 |
+
this.instance.view.render();
|
13275 |
+
return;
|
13276 |
+
}
|
13277 |
+
|
13278 |
+
var value = this.getValue();
|
13279 |
+
|
13280 |
+
if (this.instance.getSettings().trimWhitespace) {
|
13281 |
+
// We trim only string values
|
13282 |
+
val = [[typeof value === 'string' ? String.prototype.trim.call(value || '') : value]];
|
13283 |
+
} else {
|
13284 |
+
val = [[value]];
|
13285 |
+
}
|
13286 |
+
|
13287 |
+
this.state = EditorState.WAITING;
|
13288 |
+
this.saveValue(val, ctrlDown);
|
13289 |
+
|
13290 |
+
if (this.instance.getCellValidator(this.cellProperties)) {
|
13291 |
+
this.instance.addHookOnce('postAfterValidate', function (result) {
|
13292 |
+
_this.state = EditorState.FINISHED;
|
13293 |
+
|
13294 |
+
_this.discardEditor(result);
|
13295 |
+
});
|
13296 |
+
} else {
|
13297 |
+
this.state = EditorState.FINISHED;
|
13298 |
+
this.discardEditor(true);
|
13299 |
+
}
|
13300 |
+
}
|
13301 |
+
};
|
13302 |
+
|
13303 |
+
BaseEditor.prototype.cancelChanges = function () {
|
13304 |
+
this.state = EditorState.FINISHED;
|
13305 |
+
this.discardEditor();
|
13306 |
+
};
|
13307 |
+
|
13308 |
+
BaseEditor.prototype.discardEditor = function (result) {
|
13309 |
+
if (this.state !== EditorState.FINISHED) {
|
13310 |
+
return;
|
13311 |
+
} // validator was defined and failed
|
13312 |
+
|
13313 |
+
|
13314 |
+
if (result === false && this.cellProperties.allowInvalid !== true) {
|
13315 |
+
this.instance.selectCell(this.row, this.col);
|
13316 |
+
this.focus();
|
13317 |
+
this.state = EditorState.EDITING;
|
13318 |
+
|
13319 |
+
this._fireCallbacks(false);
|
13320 |
+
} else {
|
13321 |
+
this.close();
|
13322 |
+
this._opened = false;
|
13323 |
+
this._fullEditMode = false;
|
13324 |
+
this.state = EditorState.VIRGIN;
|
13325 |
+
|
13326 |
+
this._fireCallbacks(true);
|
13327 |
+
}
|
13328 |
+
};
|
13329 |
+
/**
|
13330 |
+
* Switch editor into full edit mode. In this state navigation keys don't close editor. This mode is activated
|
13331 |
+
* automatically after hit ENTER or F2 key on the cell or while editing cell press F2 key.
|
13332 |
+
*/
|
13333 |
+
|
13334 |
+
|
13335 |
+
BaseEditor.prototype.enableFullEditMode = function () {
|
13336 |
+
this._fullEditMode = true;
|
13337 |
+
};
|
13338 |
+
/**
|
13339 |
+
* Checks if editor is in full edit mode.
|
13340 |
+
*
|
13341 |
+
* @returns {Boolean}
|
13342 |
+
*/
|
13343 |
+
|
13344 |
+
|
13345 |
+
BaseEditor.prototype.isInFullEditMode = function () {
|
13346 |
+
return this._fullEditMode;
|
13347 |
+
};
|
13348 |
+
|
13349 |
+
BaseEditor.prototype.isOpened = function () {
|
13350 |
+
return this._opened;
|
13351 |
+
};
|
13352 |
+
|
13353 |
+
BaseEditor.prototype.isWaiting = function () {
|
13354 |
+
return this.state === EditorState.WAITING;
|
13355 |
+
};
|
13356 |
+
|
13357 |
+
BaseEditor.prototype.checkEditorSection = function () {
|
13358 |
+
var totalRows = this.instance.countRows();
|
13359 |
+
var section = '';
|
13360 |
+
|
13361 |
+
if (this.row < this.instance.getSettings().fixedRowsTop) {
|
13362 |
+
if (this.col < this.instance.getSettings().fixedColumnsLeft) {
|
13363 |
+
section = 'top-left-corner';
|
13364 |
+
} else {
|
13365 |
+
section = 'top';
|
13366 |
+
}
|
13367 |
+
} else if (this.instance.getSettings().fixedRowsBottom && this.row >= totalRows - this.instance.getSettings().fixedRowsBottom) {
|
13368 |
+
if (this.col < this.instance.getSettings().fixedColumnsLeft) {
|
13369 |
+
section = 'bottom-left-corner';
|
13370 |
+
} else {
|
13371 |
+
section = 'bottom';
|
13372 |
+
}
|
13373 |
+
} else if (this.col < this.instance.getSettings().fixedColumnsLeft) {
|
13374 |
+
section = 'left';
|
13375 |
+
}
|
13376 |
+
|
13377 |
+
return section;
|
13378 |
+
};
|
13379 |
+
|
13380 |
+
var _default = BaseEditor;
|
13381 |
+
exports.default = _default;
|
13382 |
+
|
13383 |
+
/***/ }),
|
13384 |
+
/* 75 */
|
13385 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13386 |
+
|
13387 |
+
"use strict";
|
13388 |
+
|
13389 |
+
|
13390 |
+
exports.__esModule = true;
|
13391 |
+
exports.default = void 0;
|
13392 |
+
|
13393 |
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
13394 |
+
|
13395 |
+
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); } }
|
13396 |
+
|
13397 |
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
13398 |
+
|
13399 |
+
/**
|
13400 |
+
* CellCoords holds cell coordinates (row, column) and few method to validate them and retrieve as an array or an object.
|
13401 |
+
*
|
13402 |
+
* @util
|
13403 |
+
*/
|
13404 |
+
var CellCoords =
|
13405 |
+
/*#__PURE__*/
|
13406 |
+
function () {
|
13407 |
+
function CellCoords(row, column) {
|
13408 |
+
_classCallCheck(this, CellCoords);
|
13409 |
+
|
13410 |
+
/**
|
13411 |
+
* Row index.
|
13412 |
+
*
|
13413 |
+
* @type {Number}
|
13414 |
+
*/
|
13415 |
+
this.row = null;
|
13416 |
+
/**
|
13417 |
+
* Column index.
|
13418 |
+
*
|
13419 |
+
* @type {Number}
|
13420 |
+
*/
|
13421 |
+
|
13422 |
+
this.col = null;
|
13423 |
+
|
13424 |
+
if (typeof row !== 'undefined' && typeof column !== 'undefined') {
|
13425 |
+
this.row = row;
|
13426 |
+
this.col = column;
|
13427 |
+
}
|
13428 |
+
}
|
13429 |
+
/**
|
13430 |
+
* Checks if given set of coordinates is valid in context of a given Walkontable instance.
|
13431 |
+
*
|
13432 |
+
* @param {Walkontable} wot A Walkontable instance.
|
13433 |
+
* @returns {Boolean}
|
13434 |
+
*/
|
13435 |
+
|
13436 |
+
|
13437 |
+
_createClass(CellCoords, [{
|
13438 |
+
key: "isValid",
|
13439 |
+
value: function isValid(wot) {
|
13440 |
+
// is it a valid cell index (0 or higher)
|
13441 |
+
if (this.row < 0 || this.col < 0) {
|
13442 |
+
return false;
|
13443 |
+
} // is selection within total rows and columns
|
13444 |
+
|
13445 |
+
|
13446 |
+
if (this.row >= wot.getSetting('totalRows') || this.col >= wot.getSetting('totalColumns')) {
|
13447 |
+
return false;
|
13448 |
+
}
|
13449 |
+
|
13450 |
+
return true;
|
13451 |
+
}
|
13452 |
+
/**
|
13453 |
+
* Checks if this cell coordinates are the same as cell coordinates given as an argument.
|
13454 |
+
*
|
13455 |
+
* @param {CellCoords} cellCoords Cell coordinates to equal.
|
13456 |
+
* @returns {Boolean}
|
13457 |
+
*/
|
13458 |
+
|
13459 |
+
}, {
|
13460 |
+
key: "isEqual",
|
13461 |
+
value: function isEqual(cellCoords) {
|
13462 |
+
if (cellCoords === this) {
|
13463 |
+
return true;
|
13464 |
+
}
|
13465 |
+
|
13466 |
+
return this.row === cellCoords.row && this.col === cellCoords.col;
|
13467 |
+
}
|
13468 |
+
/**
|
13469 |
+
* Checks if tested coordinates are positioned in south-east from this cell coordinates.
|
13470 |
+
*
|
13471 |
+
* @param {Object} testedCoords Cell coordinates to check.
|
13472 |
+
* @returns {Boolean}
|
13473 |
+
*/
|
13474 |
+
|
13475 |
+
}, {
|
13476 |
+
key: "isSouthEastOf",
|
13477 |
+
value: function isSouthEastOf(testedCoords) {
|
13478 |
+
return this.row >= testedCoords.row && this.col >= testedCoords.col;
|
13479 |
+
}
|
13480 |
+
/**
|
13481 |
+
* Checks if tested coordinates are positioned in north-east from this cell coordinates.
|
13482 |
+
*
|
13483 |
+
* @param {Object} testedCoords Cell coordinates to check.
|
13484 |
+
* @returns {Boolean}
|
13485 |
+
*/
|
13486 |
+
|
13487 |
+
}, {
|
13488 |
+
key: "isNorthWestOf",
|
13489 |
+
value: function isNorthWestOf(testedCoords) {
|
13490 |
+
return this.row <= testedCoords.row && this.col <= testedCoords.col;
|
13491 |
+
}
|
13492 |
+
/**
|
13493 |
+
* Checks if tested coordinates are positioned in south-west from this cell coordinates.
|
13494 |
+
*
|
13495 |
+
* @param {Object} testedCoords Cell coordinates to check.
|
13496 |
+
* @returns {Boolean}
|
13497 |
+
*/
|
13498 |
+
|
13499 |
+
}, {
|
13500 |
+
key: "isSouthWestOf",
|
13501 |
+
value: function isSouthWestOf(testedCoords) {
|
13502 |
+
return this.row >= testedCoords.row && this.col <= testedCoords.col;
|
13503 |
+
}
|
13504 |
+
/**
|
13505 |
+
* Checks if tested coordinates are positioned in north-east from this cell coordinates.
|
13506 |
+
*
|
13507 |
+
* @param {Object} testedCoords Cell coordinates to check.
|
13508 |
+
* @returns {Boolean}
|
13509 |
+
*/
|
13510 |
+
|
13511 |
+
}, {
|
13512 |
+
key: "isNorthEastOf",
|
13513 |
+
value: function isNorthEastOf(testedCoords) {
|
13514 |
+
return this.row <= testedCoords.row && this.col >= testedCoords.col;
|
13515 |
+
}
|
13516 |
+
/**
|
13517 |
+
* Converts CellCoords to literal object with `row` and `col` properties.
|
13518 |
+
*
|
13519 |
+
* @return {Object} Returns a literal object with `row` and `col` properties.
|
13520 |
+
*/
|
13521 |
+
|
13522 |
+
}, {
|
13523 |
+
key: "toObject",
|
13524 |
+
value: function toObject() {
|
13525 |
+
return {
|
13526 |
+
row: this.row,
|
13527 |
+
col: this.col
|
13528 |
+
};
|
13529 |
+
}
|
13530 |
+
}]);
|
13531 |
+
|
13532 |
+
return CellCoords;
|
13533 |
+
}();
|
13534 |
+
|
13535 |
+
var _default = CellCoords;
|
13536 |
+
exports.default = _default;
|
13537 |
+
|
13538 |
+
/***/ }),
|
13539 |
+
/* 76 */
|
13540 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13541 |
+
|
13542 |
+
"use strict";
|
13543 |
+
|
13544 |
+
|
13545 |
+
exports.__esModule = true;
|
13546 |
+
exports.log = log;
|
13547 |
+
exports.warn = warn;
|
13548 |
+
exports.info = info;
|
13549 |
+
exports.error = error;
|
13550 |
+
|
13551 |
+
var _mixed = __webpack_require__(14);
|
13552 |
+
|
13553 |
+
/* eslint-disable no-console */
|
13554 |
+
|
13555 |
+
/* eslint-disable no-restricted-globals */
|
13556 |
+
|
13557 |
+
/**
|
13558 |
+
* "In Internet Explorer 9 (and 8), the console object is only exposed when the developer tools are opened
|
13559 |
+
* for a particular tab."
|
13560 |
+
*
|
13561 |
+
* Source: https://stackoverflow.com/a/5473193
|
13562 |
+
*/
|
13563 |
+
|
13564 |
+
/**
|
13565 |
+
* Logs message to the console if the `console` object is exposed.
|
13566 |
+
*
|
13567 |
+
* @param {...*} args Values which will be logged.
|
13568 |
+
*/
|
13569 |
+
function log() {
|
13570 |
+
if ((0, _mixed.isDefined)(console)) {
|
13571 |
+
var _console;
|
13572 |
+
|
13573 |
+
(_console = console).log.apply(_console, arguments);
|
13574 |
+
}
|
13575 |
+
}
|
13576 |
+
/**
|
13577 |
+
* Logs warn to the console if the `console` object is exposed.
|
13578 |
+
*
|
13579 |
+
* @param {...*} args Values which will be logged.
|
13580 |
+
*/
|
13581 |
+
|
13582 |
+
|
13583 |
+
function warn() {
|
13584 |
+
if ((0, _mixed.isDefined)(console)) {
|
13585 |
+
var _console2;
|
13586 |
+
|
13587 |
+
(_console2 = console).warn.apply(_console2, arguments);
|
13588 |
+
}
|
13589 |
+
}
|
13590 |
+
/**
|
13591 |
+
* Logs info to the console if the `console` object is exposed.
|
13592 |
+
*
|
13593 |
+
* @param {...*} args Values which will be logged.
|
13594 |
+
*/
|
13595 |
+
|
13596 |
+
|
13597 |
+
function info() {
|
13598 |
+
if ((0, _mixed.isDefined)(console)) {
|
13599 |
+
var _console3;
|
13600 |
+
|
13601 |
+
(_console3 = console).info.apply(_console3, arguments);
|
13602 |
+
}
|
13603 |
+
}
|
13604 |
+
/**
|
13605 |
+
* Logs error to the console if the `console` object is exposed.
|
13606 |
+
*
|
13607 |
+
* @param {...*} args Values which will be logged.
|
13608 |
+
*/
|
13609 |
+
|
13610 |
+
|
13611 |
+
function error() {
|
13612 |
+
if ((0, _mixed.isDefined)(console)) {
|
13613 |
+
var _console4;
|
13614 |
+
|
13615 |
+
(_console4 = console).error.apply(_console4, arguments);
|
13616 |
+
}
|
13617 |
+
}
|
13618 |
+
|
13619 |
+
/***/ }),
|
13620 |
+
/* 77 */
|
13621 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13622 |
+
|
13623 |
+
"use strict";
|
13624 |
+
|
13625 |
+
|
13626 |
+
exports.__esModule = true;
|
13627 |
+
exports.default = void 0;
|
13628 |
+
|
13629 |
+
var _element = __webpack_require__(1);
|
13630 |
+
|
13631 |
+
var _autoResize = _interopRequireDefault(__webpack_require__(613));
|
13632 |
+
|
13633 |
+
var _browser = __webpack_require__(42);
|
13634 |
+
|
13635 |
+
var _baseEditor = _interopRequireWildcard(__webpack_require__(74));
|
13636 |
+
|
13637 |
+
var _eventManager = _interopRequireDefault(__webpack_require__(10));
|
13638 |
+
|
13639 |
+
var _unicode = __webpack_require__(32);
|
13640 |
+
|
13641 |
+
var _event = __webpack_require__(18);
|
13642 |
+
|
13643 |
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
|
13644 |
+
|
13645 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13646 |
+
|
13647 |
+
var TextEditor = _baseEditor.default.prototype.extend();
|
13648 |
+
/**
|
13649 |
+
* @private
|
13650 |
+
* @editor TextEditor
|
13651 |
+
* @class TextEditor
|
13652 |
+
* @dependencies autoResize
|
13653 |
+
*/
|
13654 |
+
|
13655 |
+
|
13656 |
+
TextEditor.prototype.init = function () {
|
13657 |
+
var that = this;
|
13658 |
+
this.createElements();
|
13659 |
+
this.eventManager = new _eventManager.default(this);
|
13660 |
+
this.bindEvents();
|
13661 |
+
this.autoResize = (0, _autoResize.default)();
|
13662 |
+
this.holderZIndex = -1;
|
13663 |
+
this.instance.addHook('afterDestroy', function () {
|
13664 |
+
that.destroy();
|
13665 |
+
});
|
13666 |
+
};
|
13667 |
+
|
13668 |
+
TextEditor.prototype.prepare = function (row, col, prop, td, originalValue, cellProperties) {
|
13669 |
+
var _this = this;
|
13670 |
+
|
13671 |
+
var previousState = this.state;
|
13672 |
+
|
13673 |
+
for (var _len = arguments.length, args = new Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
|
13674 |
+
args[_key - 6] = arguments[_key];
|
13675 |
+
}
|
13676 |
+
|
13677 |
+
_baseEditor.default.prototype.prepare.apply(this, [row, col, prop, td, originalValue, cellProperties].concat(args));
|
13678 |
+
|
13679 |
+
if (!cellProperties.readOnly) {
|
13680 |
+
this.refreshDimensions(true);
|
13681 |
+
var allowInvalid = cellProperties.allowInvalid,
|
13682 |
+
fragmentSelection = cellProperties.fragmentSelection;
|
13683 |
+
|
13684 |
+
if (allowInvalid) {
|
13685 |
+
this.TEXTAREA.value = ''; // Remove an empty space from texarea (added by copyPaste plugin to make copy/paste functionality work with IME)
|
13686 |
+
}
|
13687 |
+
|
13688 |
+
if (previousState !== _baseEditor.EditorState.FINISHED) {
|
13689 |
+
this.hideEditableElement();
|
13690 |
+
} // @TODO: The fragmentSelection functionality is conflicted with IME. For this feature refocus has to
|
13691 |
+
// be disabled (to make IME working).
|
13692 |
+
|
13693 |
+
|
13694 |
+
var restoreFocus = !fragmentSelection;
|
13695 |
+
|
13696 |
+
if (restoreFocus && !(0, _browser.isMobileBrowser)()) {
|
13697 |
+
this.instance._registerImmediate(function () {
|
13698 |
+
return _this.focus();
|
13699 |
+
});
|
13700 |
+
}
|
13701 |
+
}
|
13702 |
+
};
|
13703 |
+
|
13704 |
+
TextEditor.prototype.hideEditableElement = function () {
|
13705 |
+
this.textareaParentStyle.top = '-9999px';
|
13706 |
+
this.textareaParentStyle.left = '-9999px';
|
13707 |
+
this.textareaParentStyle.zIndex = '-1';
|
13708 |
+
this.textareaParentStyle.position = 'fixed';
|
13709 |
+
};
|
13710 |
+
|
13711 |
+
TextEditor.prototype.showEditableElement = function () {
|
13712 |
+
this.textareaParentStyle.zIndex = this.holderZIndex >= 0 ? this.holderZIndex : '';
|
13713 |
+
this.textareaParentStyle.position = '';
|
13714 |
+
};
|
13715 |
+
|
13716 |
+
TextEditor.prototype.getValue = function () {
|
13717 |
+
return this.TEXTAREA.value;
|
13718 |
+
};
|
13719 |
+
|
13720 |
+
TextEditor.prototype.setValue = function (newValue) {
|
13721 |
+
this.TEXTAREA.value = newValue;
|
13722 |
+
};
|
13723 |
+
|
13724 |
+
TextEditor.prototype.beginEditing = function () {
|
13725 |
+
if (this.state !== _baseEditor.EditorState.VIRGIN) {
|
13726 |
+
return;
|
13727 |
+
}
|
13728 |
+
|
13729 |
+
this.TEXTAREA.value = ''; // Remove an empty space from texarea (added by copyPaste plugin to make copy/paste functionality work with IME).
|
13730 |
+
|
13731 |
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
13732 |
+
args[_key2] = arguments[_key2];
|
13733 |
+
}
|
13734 |
+
|
13735 |
+
_baseEditor.default.prototype.beginEditing.apply(this, args);
|
13736 |
+
};
|
13737 |
+
|
13738 |
+
var onBeforeKeyDown = function onBeforeKeyDown(event) {
|
13739 |
+
var instance = this;
|
13740 |
+
var that = instance.getActiveEditor(); // catch CTRL but not right ALT (which in some systems triggers ALT+CTRL)
|
13741 |
+
|
13742 |
+
var ctrlDown = (event.ctrlKey || event.metaKey) && !event.altKey; // Process only events that have been fired in the editor
|
13743 |
+
|
13744 |
+
if (event.target !== that.TEXTAREA || (0, _event.isImmediatePropagationStopped)(event)) {
|
13745 |
+
return;
|
13746 |
+
}
|
13747 |
+
|
13748 |
+
switch (event.keyCode) {
|
13749 |
+
case _unicode.KEY_CODES.ARROW_RIGHT:
|
13750 |
+
if (that.isInFullEditMode()) {
|
13751 |
+
if (!that.isWaiting() && !that.allowKeyEventPropagation || !that.isWaiting() && that.allowKeyEventPropagation && !that.allowKeyEventPropagation(event.keyCode)) {
|
13752 |
+
(0, _event.stopImmediatePropagation)(event);
|
13753 |
+
}
|
13754 |
+
}
|
13755 |
+
|
13756 |
+
break;
|
13757 |
+
|
13758 |
+
case _unicode.KEY_CODES.ARROW_LEFT:
|
13759 |
+
if (that.isInFullEditMode()) {
|
13760 |
+
if (!that.isWaiting() && !that.allowKeyEventPropagation || !that.isWaiting() && that.allowKeyEventPropagation && !that.allowKeyEventPropagation(event.keyCode)) {
|
13761 |
+
(0, _event.stopImmediatePropagation)(event);
|
13762 |
+
}
|
13763 |
+
}
|
13764 |
+
|
13765 |
+
break;
|
13766 |
+
|
13767 |
+
case _unicode.KEY_CODES.ARROW_UP:
|
13768 |
+
case _unicode.KEY_CODES.ARROW_DOWN:
|
13769 |
+
if (that.isInFullEditMode()) {
|
13770 |
+
if (!that.isWaiting() && !that.allowKeyEventPropagation || !that.isWaiting() && that.allowKeyEventPropagation && !that.allowKeyEventPropagation(event.keyCode)) {
|
13771 |
+
(0, _event.stopImmediatePropagation)(event);
|
13772 |
+
}
|
13773 |
+
}
|
13774 |
+
|
13775 |
+
break;
|
13776 |
+
|
13777 |
+
case _unicode.KEY_CODES.ENTER:
|
13778 |
+
{
|
13779 |
+
var isMultipleSelection = this.selection.isMultiple();
|
13780 |
+
|
13781 |
+
if (ctrlDown && !isMultipleSelection || event.altKey) {
|
13782 |
+
// if ctrl+enter or alt+enter, add new line
|
13783 |
+
if (that.isOpened()) {
|
13784 |
+
var caretPosition = (0, _element.getCaretPosition)(that.TEXTAREA);
|
13785 |
+
var value = that.getValue();
|
13786 |
+
var newValue = "".concat(value.slice(0, caretPosition), "\n").concat(value.slice(caretPosition));
|
13787 |
+
that.setValue(newValue);
|
13788 |
+
(0, _element.setCaretPosition)(that.TEXTAREA, caretPosition + 1);
|
13789 |
+
} else {
|
13790 |
+
that.beginEditing("".concat(that.originalValue, "\n"));
|
13791 |
+
}
|
13792 |
+
|
13793 |
+
(0, _event.stopImmediatePropagation)(event);
|
13794 |
+
}
|
13795 |
+
|
13796 |
+
event.preventDefault(); // don't add newline to field
|
13797 |
+
|
13798 |
+
break;
|
13799 |
+
}
|
13800 |
+
|
13801 |
+
case _unicode.KEY_CODES.BACKSPACE:
|
13802 |
+
case _unicode.KEY_CODES.DELETE:
|
13803 |
+
case _unicode.KEY_CODES.HOME:
|
13804 |
+
case _unicode.KEY_CODES.END:
|
13805 |
+
(0, _event.stopImmediatePropagation)(event); // backspace, delete, home, end should only work locally when cell is edited (not in table context)
|
13806 |
+
|
13807 |
+
break;
|
13808 |
+
|
13809 |
+
default:
|
13810 |
+
break;
|
13811 |
+
}
|
13812 |
+
|
13813 |
+
if ([_unicode.KEY_CODES.ARROW_UP, _unicode.KEY_CODES.ARROW_RIGHT, _unicode.KEY_CODES.ARROW_DOWN, _unicode.KEY_CODES.ARROW_LEFT].indexOf(event.keyCode) === -1) {
|
13814 |
+
that.autoResize.resize(String.fromCharCode(event.keyCode));
|
13815 |
+
}
|
13816 |
+
};
|
13817 |
+
|
13818 |
+
TextEditor.prototype.open = function () {
|
13819 |
+
this.refreshDimensions(); // need it instantly, to prevent https://github.com/handsontable/handsontable/issues/348
|
13820 |
+
|
13821 |
+
this.showEditableElement();
|
13822 |
+
this.instance.addHook('beforeKeyDown', onBeforeKeyDown);
|
13823 |
+
};
|
13824 |
+
|
13825 |
+
TextEditor.prototype.close = function () {
|
13826 |
+
this.autoResize.unObserve();
|
13827 |
+
|
13828 |
+
if (document.activeElement === this.TEXTAREA) {
|
13829 |
+
this.instance.listen(); // don't refocus the table if user focused some cell outside of HT on purpose
|
13830 |
+
}
|
13831 |
+
|
13832 |
+
this.hideEditableElement();
|
13833 |
+
this.instance.removeHook('beforeKeyDown', onBeforeKeyDown);
|
13834 |
+
};
|
13835 |
+
|
13836 |
+
TextEditor.prototype.focus = function () {
|
13837 |
+
// For IME editor textarea element must be focused using ".select" method. Using ".focus" browser automatically scroll into
|
13838 |
+
// the focused element which is undesire effect.
|
13839 |
+
this.TEXTAREA.select();
|
13840 |
+
(0, _element.setCaretPosition)(this.TEXTAREA, this.TEXTAREA.value.length);
|
13841 |
+
};
|
13842 |
+
|
13843 |
+
TextEditor.prototype.createElements = function () {
|
13844 |
+
this.TEXTAREA = document.createElement('TEXTAREA');
|
13845 |
+
this.TEXTAREA.tabIndex = -1;
|
13846 |
+
(0, _element.addClass)(this.TEXTAREA, 'handsontableInput');
|
13847 |
+
this.textareaStyle = this.TEXTAREA.style;
|
13848 |
+
this.textareaStyle.width = 0;
|
13849 |
+
this.textareaStyle.height = 0;
|
13850 |
+
this.TEXTAREA_PARENT = document.createElement('DIV');
|
13851 |
+
(0, _element.addClass)(this.TEXTAREA_PARENT, 'handsontableInputHolder');
|
13852 |
+
this.textareaParentStyle = this.TEXTAREA_PARENT.style;
|
13853 |
+
this.textareaParentStyle.zIndex = '-1';
|
13854 |
+
this.TEXTAREA_PARENT.appendChild(this.TEXTAREA);
|
13855 |
+
this.instance.rootElement.appendChild(this.TEXTAREA_PARENT);
|
13856 |
+
};
|
13857 |
+
|
13858 |
+
TextEditor.prototype.getEditedCell = function () {
|
13859 |
+
var editorSection = this.checkEditorSection();
|
13860 |
+
var editedCell;
|
13861 |
+
|
13862 |
+
switch (editorSection) {
|
13863 |
+
case 'top':
|
13864 |
+
editedCell = this.instance.view.wt.wtOverlays.topOverlay.clone.wtTable.getCell({
|
13865 |
+
row: this.row,
|
13866 |
+
col: this.col
|
13867 |
+
});
|
13868 |
+
this.holderZIndex = 101;
|
13869 |
+
break;
|
13870 |
+
|
13871 |
+
case 'top-left-corner':
|
13872 |
+
editedCell = this.instance.view.wt.wtOverlays.topLeftCornerOverlay.clone.wtTable.getCell({
|
13873 |
+
row: this.row,
|
13874 |
+
col: this.col
|
13875 |
+
});
|
13876 |
+
this.holderZIndex = 103;
|
13877 |
+
break;
|
13878 |
+
|
13879 |
+
case 'bottom-left-corner':
|
13880 |
+
editedCell = this.instance.view.wt.wtOverlays.bottomLeftCornerOverlay.clone.wtTable.getCell({
|
13881 |
+
row: this.row,
|
13882 |
+
col: this.col
|
13883 |
+
});
|
13884 |
+
this.holderZIndex = 103;
|
13885 |
+
break;
|
13886 |
+
|
13887 |
+
case 'left':
|
13888 |
+
editedCell = this.instance.view.wt.wtOverlays.leftOverlay.clone.wtTable.getCell({
|
13889 |
+
row: this.row,
|
13890 |
+
col: this.col
|
13891 |
+
});
|
13892 |
+
this.holderZIndex = 102;
|
13893 |
+
break;
|
13894 |
+
|
13895 |
+
case 'bottom':
|
13896 |
+
editedCell = this.instance.view.wt.wtOverlays.bottomOverlay.clone.wtTable.getCell({
|
13897 |
+
row: this.row,
|
13898 |
+
col: this.col
|
13899 |
+
});
|
13900 |
+
this.holderZIndex = 102;
|
13901 |
+
break;
|
13902 |
+
|
13903 |
+
default:
|
13904 |
+
editedCell = this.instance.getCell(this.row, this.col);
|
13905 |
+
this.holderZIndex = -1;
|
13906 |
+
break;
|
13907 |
+
}
|
13908 |
+
|
13909 |
+
return editedCell !== -1 && editedCell !== -2 ? editedCell : void 0;
|
13910 |
+
};
|
13911 |
+
|
13912 |
+
TextEditor.prototype.refreshValue = function () {
|
13913 |
+
var physicalRow = this.instance.toPhysicalRow(this.row);
|
13914 |
+
var sourceData = this.instance.getSourceDataAtCell(physicalRow, this.col);
|
13915 |
+
this.originalValue = sourceData;
|
13916 |
+
this.setValue(sourceData);
|
13917 |
+
this.refreshDimensions();
|
13918 |
+
};
|
13919 |
+
|
13920 |
+
TextEditor.prototype.refreshDimensions = function () {
|
13921 |
+
var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
13922 |
+
|
13923 |
+
if (this.state !== _baseEditor.EditorState.EDITING && !force) {
|
13924 |
+
return;
|
13925 |
+
}
|
13926 |
+
|
13927 |
+
this.TD = this.getEditedCell(); // TD is outside of the viewport.
|
13928 |
+
|
13929 |
+
if (!this.TD) {
|
13930 |
+
if (!force) {
|
13931 |
+
this.close(true);
|
13932 |
+
}
|
13933 |
+
|
13934 |
+
return;
|
13935 |
+
}
|
13936 |
+
|
13937 |
+
var currentOffset = (0, _element.offset)(this.TD);
|
13938 |
+
var containerOffset = (0, _element.offset)(this.instance.rootElement);
|
13939 |
+
var scrollableContainerTop = this.instance.view.wt.wtOverlays.topOverlay.mainTableScrollableElement;
|
13940 |
+
var scrollableContainerLeft = this.instance.view.wt.wtOverlays.leftOverlay.mainTableScrollableElement;
|
13941 |
+
var totalRowsCount = this.instance.countRows();
|
13942 |
+
var containerScrollTop = scrollableContainerTop !== window ? scrollableContainerTop.scrollTop : 0;
|
13943 |
+
var containerScrollLeft = scrollableContainerLeft !== window ? scrollableContainerLeft.scrollLeft : 0;
|
13944 |
+
var editorSection = this.checkEditorSection();
|
13945 |
+
var scrollTop = ['', 'left'].includes(editorSection) ? containerScrollTop : 0;
|
13946 |
+
var scrollLeft = ['', 'top', 'bottom'].includes(editorSection) ? containerScrollLeft : 0; // If colHeaders is disabled, cells in the first row have border-top
|
13947 |
+
|
13948 |
+
var editTopModifier = currentOffset.top === containerOffset.top ? 0 : 1;
|
13949 |
+
var settings = this.instance.getSettings();
|
13950 |
+
var colHeadersCount = this.instance.hasColHeaders();
|
13951 |
+
var backgroundColor = this.TD.style.backgroundColor;
|
13952 |
+
var editTop = currentOffset.top - containerOffset.top - editTopModifier - scrollTop;
|
13953 |
+
var editLeft = currentOffset.left - containerOffset.left - 1 - scrollLeft;
|
13954 |
+
var cssTransformOffset; // TODO: Refactor this to the new instance.getCell method (from #ply-59), after 0.12.1 is released
|
13955 |
+
|
13956 |
+
switch (editorSection) {
|
13957 |
+
case 'top':
|
13958 |
+
cssTransformOffset = (0, _element.getCssTransform)(this.instance.view.wt.wtOverlays.topOverlay.clone.wtTable.holder.parentNode);
|
13959 |
+
break;
|
13960 |
+
|
13961 |
+
case 'left':
|
13962 |
+
cssTransformOffset = (0, _element.getCssTransform)(this.instance.view.wt.wtOverlays.leftOverlay.clone.wtTable.holder.parentNode);
|
13963 |
+
break;
|
13964 |
+
|
13965 |
+
case 'top-left-corner':
|
13966 |
+
cssTransformOffset = (0, _element.getCssTransform)(this.instance.view.wt.wtOverlays.topLeftCornerOverlay.clone.wtTable.holder.parentNode);
|
13967 |
+
break;
|
13968 |
+
|
13969 |
+
case 'bottom-left-corner':
|
13970 |
+
cssTransformOffset = (0, _element.getCssTransform)(this.instance.view.wt.wtOverlays.bottomLeftCornerOverlay.clone.wtTable.holder.parentNode);
|
13971 |
+
break;
|
13972 |
+
|
13973 |
+
case 'bottom':
|
13974 |
+
cssTransformOffset = (0, _element.getCssTransform)(this.instance.view.wt.wtOverlays.bottomOverlay.clone.wtTable.holder.parentNode);
|
13975 |
+
break;
|
13976 |
+
|
13977 |
+
default:
|
13978 |
+
break;
|
13979 |
+
}
|
13980 |
+
|
13981 |
+
if (colHeadersCount && this.instance.getSelectedLast()[0] === 0 || settings.fixedRowsBottom && this.instance.getSelectedLast()[0] === totalRowsCount - settings.fixedRowsBottom) {
|
13982 |
+
editTop += 1;
|
13983 |
+
}
|
13984 |
+
|
13985 |
+
if (this.instance.getSelectedLast()[1] === 0) {
|
13986 |
+
editLeft += 1;
|
13987 |
+
}
|
13988 |
+
|
13989 |
+
if (cssTransformOffset && cssTransformOffset !== -1) {
|
13990 |
+
this.textareaParentStyle[cssTransformOffset[0]] = cssTransformOffset[1];
|
13991 |
+
} else {
|
13992 |
+
(0, _element.resetCssTransform)(this.TEXTAREA_PARENT);
|
13993 |
+
}
|
13994 |
+
|
13995 |
+
this.textareaParentStyle.top = "".concat(editTop, "px");
|
13996 |
+
this.textareaParentStyle.left = "".concat(editLeft, "px");
|
13997 |
+
this.showEditableElement();
|
13998 |
+
var firstRowOffset = this.instance.view.wt.wtViewport.rowsRenderCalculator.startPosition;
|
13999 |
+
var firstColumnOffset = this.instance.view.wt.wtViewport.columnsRenderCalculator.startPosition;
|
14000 |
+
var horizontalScrollPosition = this.instance.view.wt.wtOverlays.leftOverlay.getScrollPosition();
|
14001 |
+
var verticalScrollPosition = this.instance.view.wt.wtOverlays.topOverlay.getScrollPosition();
|
14002 |
+
var scrollbarWidth = (0, _element.getScrollbarWidth)();
|
14003 |
+
var cellTopOffset = this.TD.offsetTop + firstRowOffset - verticalScrollPosition;
|
14004 |
+
var cellLeftOffset = this.TD.offsetLeft + firstColumnOffset - horizontalScrollPosition;
|
14005 |
+
var width = (0, _element.innerWidth)(this.TD) - 8;
|
14006 |
+
var actualVerticalScrollbarWidth = (0, _element.hasVerticalScrollbar)(scrollableContainerTop) ? scrollbarWidth : 0;
|
14007 |
+
var actualHorizontalScrollbarWidth = (0, _element.hasHorizontalScrollbar)(scrollableContainerLeft) ? scrollbarWidth : 0;
|
14008 |
+
var maxWidth = this.instance.view.maximumVisibleElementWidth(cellLeftOffset) - 9 - actualVerticalScrollbarWidth;
|
14009 |
+
var height = this.TD.scrollHeight + 1;
|
14010 |
+
var maxHeight = Math.max(this.instance.view.maximumVisibleElementHeight(cellTopOffset) - actualHorizontalScrollbarWidth, 23);
|
14011 |
+
var cellComputedStyle = (0, _element.getComputedStyle)(this.TD);
|
14012 |
+
this.TEXTAREA.style.fontSize = cellComputedStyle.fontSize;
|
14013 |
+
this.TEXTAREA.style.fontFamily = cellComputedStyle.fontFamily;
|
14014 |
+
this.TEXTAREA.style.backgroundColor = backgroundColor;
|
14015 |
+
this.autoResize.init(this.TEXTAREA, {
|
14016 |
+
minHeight: Math.min(height, maxHeight),
|
14017 |
+
maxHeight: maxHeight,
|
14018 |
+
// TEXTAREA should never be higher than visible part of the viewport (should not cover the scrollbar)
|
14019 |
+
minWidth: Math.min(width, maxWidth),
|
14020 |
+
maxWidth: maxWidth // TEXTAREA should never be wider than visible part of the viewport (should not cover the scrollbar)
|
14021 |
+
|
14022 |
+
}, true);
|
14023 |
+
};
|
14024 |
+
|
14025 |
+
TextEditor.prototype.bindEvents = function () {
|
14026 |
+
var editor = this;
|
14027 |
+
this.eventManager.addEventListener(this.TEXTAREA, 'cut', function (event) {
|
14028 |
+
(0, _event.stopPropagation)(event);
|
14029 |
+
});
|
14030 |
+
this.eventManager.addEventListener(this.TEXTAREA, 'paste', function (event) {
|
14031 |
+
(0, _event.stopPropagation)(event);
|
14032 |
+
});
|
14033 |
+
this.instance.addHook('afterScrollHorizontally', function () {
|
14034 |
+
editor.refreshDimensions();
|
14035 |
+
});
|
14036 |
+
this.instance.addHook('afterScrollVertically', function () {
|
14037 |
+
editor.refreshDimensions();
|
14038 |
+
});
|
14039 |
+
this.instance.addHook('afterColumnResize', function () {
|
14040 |
+
editor.refreshDimensions();
|
14041 |
+
editor.focus();
|
14042 |
+
});
|
14043 |
+
this.instance.addHook('afterRowResize', function () {
|
14044 |
+
editor.refreshDimensions();
|
14045 |
+
editor.focus();
|
14046 |
+
});
|
14047 |
+
this.instance.addHook('afterDestroy', function () {
|
14048 |
+
editor.eventManager.destroy();
|
14049 |
+
});
|
14050 |
+
};
|
14051 |
+
|
14052 |
+
TextEditor.prototype.destroy = function () {
|
14053 |
+
this.eventManager.destroy();
|
14054 |
+
};
|
14055 |
+
|
14056 |
+
var _default = TextEditor;
|
14057 |
+
exports.default = _default;
|
14058 |
+
|
14059 |
+
/***/ }),
|
14060 |
+
/* 78 */
|
14061 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14062 |
+
|
14063 |
+
"use strict";
|
14064 |
+
|
14065 |
+
|
14066 |
+
exports.__esModule = true;
|
14067 |
+
|
14068 |
+
var _registry = __webpack_require__(433);
|
14069 |
+
|
14070 |
+
exports.registerRootComparator = _registry.registerRootComparator;
|
14071 |
+
exports.getRootComparator = _registry.getRootComparator;
|
14072 |
+
exports.getCompareFunctionFactory = _registry.getCompareFunctionFactory;
|
14073 |
+
|
14074 |
+
var _engine = __webpack_require__(679);
|
14075 |
+
|
14076 |
+
exports.FIRST_AFTER_SECOND = _engine.FIRST_AFTER_SECOND;
|
14077 |
+
exports.FIRST_BEFORE_SECOND = _engine.FIRST_BEFORE_SECOND;
|
14078 |
+
exports.DO_NOT_SWAP = _engine.DO_NOT_SWAP;
|
14079 |
+
exports.sort = _engine.sort;
|
14080 |
+
|
14081 |
+
/***/ }),
|
14082 |
+
/* 79 */
|
14083 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14084 |
+
|
14085 |
+
// false -> Array#indexOf
|
14086 |
+
// true -> Array#includes
|
14087 |
+
var toIObject = __webpack_require__(29);
|
14088 |
+
var toLength = __webpack_require__(16);
|
14089 |
+
var toAbsoluteIndex = __webpack_require__(54);
|
14090 |
+
module.exports = function (IS_INCLUDES) {
|
14091 |
+
return function ($this, el, fromIndex) {
|
14092 |
+
var O = toIObject($this);
|
14093 |
+
var length = toLength(O.length);
|
14094 |
+
var index = toAbsoluteIndex(fromIndex, length);
|
14095 |
+
var value;
|
14096 |
+
// Array#includes uses SameValueZero equality algorithm
|
14097 |
+
// eslint-disable-next-line no-self-compare
|
14098 |
+
if (IS_INCLUDES && el != el) while (length > index) {
|
14099 |
+
value = O[index++];
|
14100 |
+
// eslint-disable-next-line no-self-compare
|
14101 |
+
if (value != value) return true;
|
14102 |
+
// Array#indexOf ignores holes, Array#includes - not
|
14103 |
+
} else for (;length > index; index++) if (IS_INCLUDES || index in O) {
|
14104 |
+
if (O[index] === el) return IS_INCLUDES || index || 0;
|
14105 |
+
} return !IS_INCLUDES && -1;
|
14106 |
+
};
|
14107 |
+
};
|
14108 |
+
|
14109 |
+
|
14110 |
+
/***/ }),
|
14111 |
+
/* 80 */
|
14112 |
+
/***/ (function(module, exports) {
|
14113 |
+
|
14114 |
+
exports.f = Object.getOwnPropertySymbols;
|
14115 |
+
|
14116 |
+
|
14117 |
+
/***/ }),
|
14118 |
+
/* 81 */
|
14119 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14120 |
+
|
14121 |
+
var $export = __webpack_require__(0);
|
14122 |
+
var defined = __webpack_require__(40);
|
14123 |
+
var fails = __webpack_require__(4);
|
14124 |
+
var spaces = __webpack_require__(100);
|
14125 |
+
var space = '[' + spaces + ']';
|
14126 |
+
var non = '\u200b\u0085';
|
14127 |
+
var ltrim = RegExp('^' + space + space + '*');
|
14128 |
+
var rtrim = RegExp(space + space + '*$');
|
14129 |
+
|
14130 |
+
var exporter = function (KEY, exec, ALIAS) {
|
14131 |
+
var exp = {};
|
14132 |
+
var FORCE = fails(function () {
|
14133 |
+
return !!spaces[KEY]() || non[KEY]() != non;
|
14134 |
+
});
|
14135 |
+
var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
|
14136 |
+
if (ALIAS) exp[ALIAS] = fn;
|
14137 |
+
$export($export.P + $export.F * FORCE, 'String', exp);
|
14138 |
+
};
|
14139 |
+
|
14140 |
+
// 1 -> String#trimLeft
|
14141 |
+
// 2 -> String#trimRight
|
14142 |
+
// 3 -> String#trim
|
14143 |
+
var trim = exporter.trim = function (string, TYPE) {
|
14144 |
+
string = String(defined(string));
|
14145 |
+
if (TYPE & 1) string = string.replace(ltrim, '');
|
14146 |
+
if (TYPE & 2) string = string.replace(rtrim, '');
|
14147 |
+
return string;
|
14148 |
+
};
|
14149 |
+
|
14150 |
+
module.exports = exporter;
|
14151 |
+
|
14152 |
+
|
14153 |
+
/***/ }),
|
14154 |
+
/* 82 */
|
14155 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14156 |
+
|
14157 |
+
var ITERATOR = __webpack_require__(12)('iterator');
|
14158 |
+
var SAFE_CLOSING = false;
|
14159 |
+
|
14160 |
+
try {
|
14161 |
+
var riter = [7][ITERATOR]();
|
14162 |
+
riter['return'] = function () { SAFE_CLOSING = true; };
|
14163 |
+
// eslint-disable-next-line no-throw-literal
|
14164 |
+
Array.from(riter, function () { throw 2; });
|
14165 |
+
} catch (e) { /* empty */ }
|
14166 |
+
|
14167 |
+
module.exports = function (exec, skipClosing) {
|
14168 |
+
if (!skipClosing && !SAFE_CLOSING) return false;
|
14169 |
+
var safe = false;
|
14170 |
+
try {
|
14171 |
+
var arr = [7];
|
14172 |
+
var iter = arr[ITERATOR]();
|
14173 |
+
iter.next = function () { return { done: safe = true }; };
|
14174 |
+
arr[ITERATOR] = function () { return iter; };
|
14175 |
+
exec(arr);
|
14176 |
+
} catch (e) { /* empty */ }
|
14177 |
+
return safe;
|
14178 |
+
};
|
14179 |
+
|
14180 |
+
|
14181 |
+
/***/ }),
|
14182 |
+
/* 83 */
|
14183 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14184 |
+
|
14185 |
+
"use strict";
|
14186 |
+
|
14187 |
+
// 21.2.5.3 get RegExp.prototype.flags
|
14188 |
+
var anObject = __webpack_require__(5);
|
14189 |
+
module.exports = function () {
|
14190 |
+
var that = anObject(this);
|
14191 |
+
var result = '';
|
14192 |
+
if (that.global) result += 'g';
|
14193 |
+
if (that.ignoreCase) result += 'i';
|
14194 |
+
if (that.multiline) result += 'm';
|
14195 |
+
if (that.unicode) result += 'u';
|
14196 |
+
if (that.sticky) result += 'y';
|
14197 |
+
return result;
|
14198 |
+
};
|
14199 |
+
|
14200 |
+
|
14201 |
+
/***/ }),
|
14202 |
+
/* 84 */
|
14203 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14204 |
+
|
14205 |
+
"use strict";
|
14206 |
+
|
14207 |
+
|
14208 |
+
var classof = __webpack_require__(72);
|
14209 |
+
var builtinExec = RegExp.prototype.exec;
|
14210 |
+
|
14211 |
+
// `RegExpExec` abstract operation
|
14212 |
+
// https://tc39.github.io/ecma262/#sec-regexpexec
|
14213 |
+
module.exports = function (R, S) {
|
14214 |
+
var exec = R.exec;
|
14215 |
+
if (typeof exec === 'function') {
|
14216 |
+
var result = exec.call(R, S);
|
14217 |
+
if (typeof result !== 'object') {
|
14218 |
+
throw new TypeError('RegExp exec method returned something other than an Object or null');
|
14219 |
+
}
|
14220 |
+
return result;
|
14221 |
+
}
|
14222 |
+
if (classof(R) !== 'RegExp') {
|
14223 |
+
throw new TypeError('RegExp#exec called on incompatible receiver');
|
14224 |
+
}
|
14225 |
+
return builtinExec.call(R, S);
|
14226 |
+
};
|
14227 |
+
|
14228 |
+
|
14229 |
+
/***/ }),
|
14230 |
+
/* 85 */
|
14231 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14232 |
+
|
14233 |
+
"use strict";
|
14234 |
+
|
14235 |
+
__webpack_require__(149);
|
14236 |
+
var redefine = __webpack_require__(23);
|
14237 |
+
var hide = __webpack_require__(28);
|
14238 |
+
var fails = __webpack_require__(4);
|
14239 |
+
var defined = __webpack_require__(40);
|
14240 |
+
var wks = __webpack_require__(12);
|
14241 |
+
var regexpExec = __webpack_require__(115);
|
14242 |
+
|
14243 |
+
var SPECIES = wks('species');
|
14244 |
+
|
14245 |
+
var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
|
14246 |
+
// #replace needs built-in support for named groups.
|
14247 |
+
// #match works fine because it just return the exec results, even if it has
|
14248 |
+
// a "grops" property.
|
14249 |
+
var re = /./;
|
14250 |
+
re.exec = function () {
|
14251 |
+
var result = [];
|
14252 |
+
result.groups = { a: '7' };
|
14253 |
+
return result;
|
14254 |
+
};
|
14255 |
+
return ''.replace(re, '$<a>') !== '7';
|
14256 |
+
});
|
14257 |
+
|
14258 |
+
var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {
|
14259 |
+
// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
|
14260 |
+
var re = /(?:)/;
|
14261 |
+
var originalExec = re.exec;
|
14262 |
+
re.exec = function () { return originalExec.apply(this, arguments); };
|
14263 |
+
var result = 'ab'.split(re);
|
14264 |
+
return result.length === 2 && result[0] === 'a' && result[1] === 'b';
|
14265 |
+
})();
|
14266 |
+
|
14267 |
+
module.exports = function (KEY, length, exec) {
|
14268 |
+
var SYMBOL = wks(KEY);
|
14269 |
+
|
14270 |
+
var DELEGATES_TO_SYMBOL = !fails(function () {
|
14271 |
+
// String methods call symbol-named RegEp methods
|
14272 |
+
var O = {};
|
14273 |
+
O[SYMBOL] = function () { return 7; };
|
14274 |
+
return ''[KEY](O) != 7;
|
14275 |
+
});
|
14276 |
+
|
14277 |
+
var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {
|
14278 |
+
// Symbol-named RegExp methods call .exec
|
14279 |
+
var execCalled = false;
|
14280 |
+
var re = /a/;
|
14281 |
+
re.exec = function () { execCalled = true; return null; };
|
14282 |
+
if (KEY === 'split') {
|
14283 |
+
// RegExp[@@split] doesn't call the regex's exec method, but first creates
|
14284 |
+
// a new one. We need to return the patched regex when creating the new one.
|
14285 |
+
re.constructor = {};
|
14286 |
+
re.constructor[SPECIES] = function () { return re; };
|
14287 |
+
}
|
14288 |
+
re[SYMBOL]('');
|
14289 |
+
return !execCalled;
|
14290 |
+
}) : undefined;
|
14291 |
+
|
14292 |
+
if (
|
14293 |
+
!DELEGATES_TO_SYMBOL ||
|
14294 |
+
!DELEGATES_TO_EXEC ||
|
14295 |
+
(KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||
|
14296 |
+
(KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
|
14297 |
+
) {
|
14298 |
+
var nativeRegExpMethod = /./[SYMBOL];
|
14299 |
+
var fns = exec(
|
14300 |
+
defined,
|
14301 |
+
SYMBOL,
|
14302 |
+
''[KEY],
|
14303 |
+
function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {
|
14304 |
+
if (regexp.exec === regexpExec) {
|
14305 |
+
if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
|
14306 |
+
// The native String method already delegates to @@method (this
|
14307 |
+
// polyfilled function), leasing to infinite recursion.
|
14308 |
+
// We avoid it by directly calling the native @@method method.
|
14309 |
+
return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
|
14310 |
+
}
|
14311 |
+
return { done: true, value: nativeMethod.call(str, regexp, arg2) };
|
14312 |
+
}
|
14313 |
+
return { done: false };
|
14314 |
+
}
|
14315 |
+
);
|
14316 |
+
var strfn = fns[0];
|
14317 |
+
var rxfn = fns[1];
|
14318 |
+
|
14319 |
+
redefine(String.prototype, KEY, strfn);
|
14320 |
+
hide(RegExp.prototype, SYMBOL, length == 2
|
14321 |
+
// 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
|
14322 |
+
// 21.2.5.11 RegExp.prototype[@@split](string, limit)
|
14323 |
+
? function (string, arg) { return rxfn.call(string, this, arg); }
|
14324 |
+
// 21.2.5.6 RegExp.prototype[@@match](string)
|
14325 |
+
// 21.2.5.9 RegExp.prototype[@@search](string)
|
14326 |
+
: function (string) { return rxfn.call(string, this); }
|
14327 |
+
);
|
14328 |
+
}
|
14329 |
+
};
|
14330 |
+
|
14331 |
+
|
14332 |
+
/***/ }),
|
14333 |
+
/* 86 */
|
14334 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14335 |
+
|
14336 |
+
var ctx = __webpack_require__(37);
|
14337 |
+
var call = __webpack_require__(145);
|
14338 |
+
var isArrayIter = __webpack_require__(110);
|
14339 |
+
var anObject = __webpack_require__(5);
|
14340 |
+
var toLength = __webpack_require__(16);
|
14341 |
+
var getIterFn = __webpack_require__(112);
|
14342 |
+
var BREAK = {};
|
14343 |
+
var RETURN = {};
|
14344 |
+
var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
|
14345 |
+
var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
|
14346 |
+
var f = ctx(fn, that, entries ? 2 : 1);
|
14347 |
+
var index = 0;
|
14348 |
+
var length, step, iterator, result;
|
14349 |
+
if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
|
14350 |
+
// fast case for arrays with default iterator
|
14351 |
+
if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
|
14352 |
+
result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
|
14353 |
+
if (result === BREAK || result === RETURN) return result;
|
14354 |
+
} else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
|
14355 |
+
result = call(iterator, f, step.value, entries);
|
14356 |
+
if (result === BREAK || result === RETURN) return result;
|
14357 |
+
}
|
14358 |
+
};
|
14359 |
+
exports.BREAK = BREAK;
|
14360 |
+
exports.RETURN = RETURN;
|
14361 |
+
|
14362 |
+
|
14363 |
+
/***/ }),
|
14364 |
+
/* 87 */
|
14365 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14366 |
+
|
14367 |
+
var global = __webpack_require__(6);
|
14368 |
+
var navigator = global.navigator;
|
14369 |
+
|
14370 |
+
module.exports = navigator && navigator.userAgent || '';
|
14371 |
+
|
14372 |
+
|
14373 |
+
/***/ }),
|
14374 |
+
/* 88 */
|
14375 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14376 |
+
|
14377 |
+
"use strict";
|
14378 |
+
|
14379 |
+
var global = __webpack_require__(6);
|
14380 |
+
var $export = __webpack_require__(0);
|
14381 |
+
var redefine = __webpack_require__(23);
|
14382 |
+
var redefineAll = __webpack_require__(65);
|
14383 |
+
var meta = __webpack_require__(45);
|
14384 |
+
var forOf = __webpack_require__(86);
|
14385 |
+
var anInstance = __webpack_require__(64);
|
14386 |
+
var isObject = __webpack_require__(7);
|
14387 |
+
var fails = __webpack_require__(4);
|
14388 |
+
var $iterDetect = __webpack_require__(82);
|
14389 |
+
var setToStringTag = __webpack_require__(60);
|
14390 |
+
var inheritIfRequired = __webpack_require__(101);
|
14391 |
+
|
14392 |
+
module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
|
14393 |
+
var Base = global[NAME];
|
14394 |
+
var C = Base;
|
14395 |
+
var ADDER = IS_MAP ? 'set' : 'add';
|
14396 |
+
var proto = C && C.prototype;
|
14397 |
+
var O = {};
|
14398 |
+
var fixMethod = function (KEY) {
|
14399 |
+
var fn = proto[KEY];
|
14400 |
+
redefine(proto, KEY,
|
14401 |
+
KEY == 'delete' ? function (a) {
|
14402 |
+
return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
|
14403 |
+
} : KEY == 'has' ? function has(a) {
|
14404 |
+
return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
|
14405 |
+
} : KEY == 'get' ? function get(a) {
|
14406 |
+
return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);
|
14407 |
+
} : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }
|
14408 |
+
: function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }
|
14409 |
+
);
|
14410 |
+
};
|
14411 |
+
if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
|
14412 |
+
new C().entries().next();
|
14413 |
+
}))) {
|
14414 |
+
// create collection constructor
|
14415 |
+
C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
|
14416 |
+
redefineAll(C.prototype, methods);
|
14417 |
+
meta.NEED = true;
|
14418 |
+
} else {
|
14419 |
+
var instance = new C();
|
14420 |
+
// early implementations not supports chaining
|
14421 |
+
var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
|
14422 |
+
// V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
|
14423 |
+
var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
|
14424 |
+
// most early implementations doesn't supports iterables, most modern - not close it correctly
|
14425 |
+
var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new
|
14426 |
+
// for early implementations -0 and +0 not the same
|
14427 |
+
var BUGGY_ZERO = !IS_WEAK && fails(function () {
|
14428 |
+
// V8 ~ Chromium 42- fails only with 5+ elements
|
14429 |
+
var $instance = new C();
|
14430 |
+
var index = 5;
|
14431 |
+
while (index--) $instance[ADDER](index, index);
|
14432 |
+
return !$instance.has(-0);
|
14433 |
+
});
|
14434 |
+
if (!ACCEPT_ITERABLES) {
|
14435 |
+
C = wrapper(function (target, iterable) {
|
14436 |
+
anInstance(target, C, NAME);
|
14437 |
+
var that = inheritIfRequired(new Base(), target, C);
|
14438 |
+
if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
|
14439 |
+
return that;
|
14440 |
+
});
|
14441 |
+
C.prototype = proto;
|
14442 |
+
proto.constructor = C;
|
14443 |
+
}
|
14444 |
+
if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
|
14445 |
+
fixMethod('delete');
|
14446 |
+
fixMethod('has');
|
14447 |
+
IS_MAP && fixMethod('get');
|
14448 |
+
}
|
14449 |
+
if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
|
14450 |
+
// weak collections should not contains .clear method
|
14451 |
+
if (IS_WEAK && proto.clear) delete proto.clear;
|
14452 |
+
}
|
14453 |
+
|
14454 |
+
setToStringTag(C, NAME);
|
14455 |
+
|
14456 |
+
O[NAME] = C;
|
14457 |
+
$export($export.G + $export.W + $export.F * (C != Base), O);
|
14458 |
+
|
14459 |
+
if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
|
14460 |
+
|
14461 |
+
return C;
|
14462 |
+
};
|
14463 |
+
|
14464 |
+
|
14465 |
+
/***/ }),
|
14466 |
+
/* 89 */
|
14467 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14468 |
+
|
14469 |
+
var global = __webpack_require__(6);
|
14470 |
+
var hide = __webpack_require__(28);
|
14471 |
+
var uid = __webpack_require__(51);
|
14472 |
+
var TYPED = uid('typed_array');
|
14473 |
+
var VIEW = uid('view');
|
14474 |
+
var ABV = !!(global.ArrayBuffer && global.DataView);
|
14475 |
+
var CONSTR = ABV;
|
14476 |
+
var i = 0;
|
14477 |
+
var l = 9;
|
14478 |
+
var Typed;
|
14479 |
+
|
14480 |
+
var TypedArrayConstructors = (
|
14481 |
+
'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'
|
14482 |
+
).split(',');
|
14483 |
+
|
14484 |
+
while (i < l) {
|
14485 |
+
if (Typed = global[TypedArrayConstructors[i++]]) {
|
14486 |
+
hide(Typed.prototype, TYPED, true);
|
14487 |
+
hide(Typed.prototype, VIEW, true);
|
14488 |
+
} else CONSTR = false;
|
14489 |
+
}
|
14490 |
+
|
14491 |
+
module.exports = {
|
14492 |
+
ABV: ABV,
|
14493 |
+
CONSTR: CONSTR,
|
14494 |
+
TYPED: TYPED,
|
14495 |
+
VIEW: VIEW
|
14496 |
+
};
|
14497 |
+
|
14498 |
+
|
14499 |
+
/***/ }),
|
14500 |
+
/* 90 */
|
14501 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14502 |
+
|
14503 |
+
"use strict";
|
14504 |
+
|
14505 |
+
|
14506 |
+
exports.__esModule = true;
|
14507 |
+
exports.registerLanguageDictionary = registerLanguage;
|
14508 |
+
exports.getLanguageDictionary = getLanguage;
|
14509 |
+
exports.hasLanguageDictionary = hasLanguage;
|
14510 |
+
exports.getDefaultLanguageDictionary = getDefaultLanguage;
|
14511 |
+
exports.getLanguagesDictionaries = getLanguages;
|
14512 |
+
exports.DEFAULT_LANGUAGE_CODE = void 0;
|
14513 |
+
|
14514 |
+
var _object = __webpack_require__(2);
|
14515 |
+
|
14516 |
+
var _utils = __webpack_require__(428);
|
14517 |
+
|
14518 |
+
var _staticRegister2 = _interopRequireDefault(__webpack_require__(46));
|
14519 |
+
|
14520 |
+
var _enUS = _interopRequireDefault(__webpack_require__(650));
|
14521 |
+
|
14522 |
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14523 |
+
|
14524 |
+
var DEFAULT_LANGUAGE_CODE = _enUS.default.languageCode;
|
14525 |
+
exports.DEFAULT_LANGUAGE_CODE = DEFAULT_LANGUAGE_CODE;
|
14526 |
+
|
14527 |
+
var _staticRegister = (0, _staticRegister2.default)('languagesDictionaries'),
|
14528 |
+
registerGloballyLanguageDictionary = _staticRegister.register,
|
14529 |
+
getGlobalLanguageDictionary = _staticRegister.getItem,
|
14530 |
+
hasGlobalLanguageDictionary = _staticRegister.hasItem,
|
14531 |
+
getGlobalLanguagesDictionaries = _staticRegister.getValues;
|
14532 |
+
/**
|
14533 |
+
* Register language dictionary for specific language code.
|
14534 |
+
*
|
14535 |
+
* @param {String|Object} languageCodeOrDictionary Language code for specific language i.e. 'en-US', 'pt-BR', 'de-DE' or object representing dictionary.
|
14536 |
+
* @param {Object} dictionary Dictionary for specific language (optional if first parameter has already dictionary).
|
14537 |
+
*/
|
14538 |
+
|
14539 |
+
|
14540 |
+
function registerLanguage(languageCodeOrDictionary, dictionary) {
|
14541 |
+
var languageCode = languageCodeOrDictionary;
|
14542 |
+
var dictionaryObject = dictionary; // Dictionary passed as first argument.
|
14543 |
+
|
14544 |
+
if ((0, _object.isObject)(languageCodeOrDictionary)) {
|
14545 |
+
dictionaryObject = languageCodeOrDictionary;
|
14546 |
+
languageCode = dictionaryObject.languageCode;
|
14547 |
+
}
|
14548 |
+
|
14549 |
+
extendLanguageDictionary(languageCode, dictionaryObject);
|
14550 |
+
registerGloballyLanguageDictionary(languageCode, (0, _object.deepClone)(dictionaryObject)); // We do not allow user to work with dictionary by reference, it can cause lot of bugs.
|
14551 |
+
|
14552 |
+
return (0, _object.deepClone)(dictionaryObject);
|
14553 |
+
}
|
14554 |
+
/**
|
14555 |
+
* Get language dictionary for specific language code.
|
14556 |
+
*
|
14557 |
+
* @param {String} languageCode Language code.
|
14558 |
+
* @returns {Object} Object with constants representing identifiers for translation (as keys) and corresponding translation phrases (as values).
|
14559 |
+
*/
|
14560 |
+
|
14561 |
+
|
14562 |
+
function getLanguage(languageCode) {
|
14563 |
+
if (!hasLanguage(languageCode)) {
|
14564 |
+
return null;
|
14565 |
+
}
|
14566 |
+
|
14567 |
+
return (0, _object.deepClone)(getGlobalLanguageDictionary(languageCode));
|
14568 |
+
}
|
14569 |
+
/**
|
14570 |
+
*
|
14571 |
+
* Get if language with specified language code was registered.
|
14572 |
+
*
|
14573 |
+
* @param {String} languageCode Language code for specific language i.e. 'en-US', 'pt-BR', 'de-DE'.
|
14574 |
+
* @returns {Boolean}
|
14575 |
+
*/
|
14576 |
+
|
14577 |
+
|
14578 |
+
function hasLanguage(languageCode) {
|
14579 |
+
return hasGlobalLanguageDictionary(languageCode);
|
14580 |
+
}
|
14581 |
+
/**
|
14582 |
+
* Get default language dictionary.
|
14583 |
+
*
|
14584 |
+
* @returns {Object} Object with constants representing identifiers for translation (as keys) and corresponding translation phrases (as values).
|
14585 |
+
*/
|
14586 |
+
|
14587 |
+
|
14588 |
+
function getDefaultLanguage() {
|
14589 |
+
return _enUS.default;
|
14590 |
+
}
|
14591 |
+
/**
|
14592 |
+
* Extend handled dictionary by default language dictionary. As result, if any dictionary key isn't defined for specific language, it will be filled with default language value ("dictionary gaps" are supplemented).
|
14593 |
+
*
|
14594 |
+
* @private
|
14595 |
+
* @param {String} languageCode Language code.
|
14596 |
+
* @param {Object} dictionary Dictionary which is extended.
|
14597 |
+
*/
|
14598 |
+
|
14599 |
+
|
14600 |
+
function extendLanguageDictionary(languageCode, dictionary) {
|
14601 |
+
if (languageCode !== DEFAULT_LANGUAGE_CODE) {
|
14602 |
+
(0, _utils.extendNotExistingKeys)(dictionary, getGlobalLanguageDictionary(DEFAULT_LANGUAGE_CODE));
|
14603 |
+
}
|
14604 |
+
}
|
14605 |
+
/**
|
14606 |
+
* Get registered language dictionaries.
|
14607 |
+
*
|
14608 |
+
* @returns {Array}
|
14609 |
+
*/
|
14610 |
+
|
14611 |
+
|
14612 |
+
function getLanguages() {
|
14613 |
+
return getGlobalLanguagesDictionaries();
|
14614 |
+
}
|
14615 |
+
|
14616 |
+
/**
|
14617 |
+
* Automatically registers default dictionary.
|
14618 |
+
*/
|
14619 |
+
registerLanguage(_enUS.default);
|
14620 |
+
|
14621 |
+
/***/ }),
|
14622 |
+
/* 91 */
|
14623 |
+
/***/ (function(module, exports, __webpack_require__) {
|
14624 |
+
|
14625 |
+
"use strict";
|
14626 |
+
|
14627 |
+
|
14628 |
+
exports.__esModule = true;
|
14629 |
+
exports.detectSelectionType = detectSelectionType;
|
14630 |
+
exports.normalizeSelectionFactory = normalizeSelectionFactory;
|
14631 |
+
exports.transformSelectionToColumnDistance = transformSelectionToColumnDistance;
|
14632 |
+
exports.transformSelectionToRowDistance = transformSelectionToRowDistance;
|
14633 |
+
exports.isValidCoord = isValidCoord;
|
14634 |
+
exports.SELECTION_TYPES = exports.SELECTION_TYPE_OBJECT = exports.SELECTION_TYPE_ARRAY = exports.SELECTION_TYPE_EMPTY = exports.SELECTION_TYPE_UNRECOGNIZED = void 0;
|
14635 |
+
|
14636 |
+
var _src = __webpack_require__(8);
|
14637 |
+
|
14638 |
+
var _array = __webpack_require__(3);
|
14639 |
+
|
14640 |
+
var _mixed = __webpack_require__(14);
|
14641 |
+
|
14642 |
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
|
14643 |
+
|
14644 |
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
|
14645 |
+
|
14646 |
+
function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
14647 |
+
|
14648 |
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
14649 |
+
|
14650 |
+
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
14651 |
+
|
14652 |
+
var SELECTION_TYPE_UNRECOGNIZED = 0;
|
14653 |
+
exports.SELECTION_TYPE_UNRECOGNIZED = SELECTION_TYPE_UNRECOGNIZED;
|
14654 |
+
var SELECTION_TYPE_EMPTY = 1;
|
14655 |
+
exports.SELECTION_TYPE_EMPTY = SELECTION_TYPE_EMPTY;
|
14656 |
+
var SELECTION_TYPE_ARRAY = 2;
|
14657 |
+
exports.SELECTION_TYPE_ARRAY = SELECTION_TYPE_ARRAY;
|
14658 |
+
var SELECTION_TYPE_OBJECT = 3;
|
14659 |
+
exports.SELECTION_TYPE_OBJECT = SELECTION_TYPE_OBJECT;
|
14660 |
+
var SELECTION_TYPES = [SELECTION_TYPE_OBJECT, SELECTION_TYPE_ARRAY];
|
14661 |
+
exports.SELECTION_TYPES = SELECTION_TYPES;
|
14662 |
+
var ARRAY_TYPE_PATTERN = [['number'], ['number', 'string'], ['number', 'undefined'], ['number', 'string', 'undefined']];
|
14663 |
+
var rootCall = Symbol('root');
|
14664 |
+
var childCall = Symbol('child');
|
14665 |
+
/**
|
14666 |
+
* Detect selection schema structure.
|
14667 |
+
*
|
14668 |
+
* @param {*} selectionRanges The selected range or and array of selected ranges. This type of data is produced by
|
14669 |
+
* `hot.getSelected()`, `hot.getSelectedLast()`, `hot.getSelectedRange()`
|
14670 |
+
* and `hot.getSelectedRangeLast()` methods.
|
14671 |
+
* @returns {Number} Returns a number that specifies the type of detected selection schema. If selection schema type
|
14672 |
+
* is unrecognized than it returns `0`.
|
14673 |
+
*/
|
14674 |
+
|
14675 |
+
function detectSelectionType(selectionRanges) {
|
14676 |
+
var _callSymbol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : rootCall;
|
14677 |
+
|
14678 |
+
if (_callSymbol !== rootCall && _callSymbol !== childCall) {
|
14679 |
+
throw new Error('The second argument is used internally only and cannot be overwritten.');
|
14680 |
+
}
|
14681 |
+
|
14682 |
+
var isArray = Array.isArray(selectionRanges);
|
14683 |
+
var isRootCall = _callSymbol === rootCall;
|
14684 |
+
var result = SELECTION_TYPE_UNRECOGNIZED;
|
14685 |
+
|
14686 |
+
if (isArray) {
|
14687 |
+
var firstItem = selectionRanges[0];
|
14688 |
+
|
14689 |
+
if (selectionRanges.length === 0) {
|
14690 |
+
result = SELECTION_TYPE_EMPTY;
|
14691 |
+
} else if (isRootCall && firstItem instanceof _src.CellRange) {
|
14692 |
+
result = SELECTION_TYPE_OBJECT;
|
14693 |
+
} else if (isRootCall && Array.isArray(firstItem)) {
|
14694 |
+
result = detectSelectionType(firstItem, childCall);
|
14695 |
+
} else if (selectionRanges.length >= 2 && selectionRanges.length <= 4) {
|
14696 |
+
var isArrayType = !selectionRanges.some(function (value, index) {
|
14697 |
+
return !ARRAY_TYPE_PATTERN[index].includes(_typeof(value));
|
14698 |
+
});
|
14699 |
+
|
14700 |
+
if (isArrayType) {
|
14701 |
+
result = SELECTION_TYPE_ARRAY;
|
14702 |
+
}
|
14703 |
+
}
|
14704 |
+
}
|
14705 |
+
|
14706 |
+
return result;
|
14707 |
+
}
|
14708 |
+
/**
|
14709 |
+
* Factory function designed for normalization data schema from different data structures of the selection ranges.
|
14710 |
+
*
|
14711 |
+
* @param {String} type Selection type which will be processed.
|
14712 |
+
* @param {Object} [options]
|
14713 |
+
* @param {Boolean} [options.keepDirection=false] If `true`, the coordinates which contain the direction of the
|
14714 |
+
* selected cells won't be changed. Otherwise, the selection will be
|
14715 |
+
* normalized to values starting from top-left to bottom-right.
|
14716 |
+
* @param {Function} [options.propToCol] Pass the converting function (usually `datamap.propToCol`) if the column
|
14717 |
+
* defined as props should be normalized to the numeric values.
|
14718 |
+
* @returns {Number[]} Returns normalized data about selected range as an array (`[rowStart, columnStart, rowEnd, columnEnd]`).
|
14719 |
+
*/
|
14720 |
+
|
14721 |
+
|
14722 |
+
function normalizeSelectionFactory(type) {
|
14723 |
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
14724 |
+
_ref$keepDirection = _ref.keepDirection,
|
14725 |
+
keepDirection = _ref$keepDirection === void 0 ? false : _ref$keepDirection,
|
14726 |
+
propToCol = _ref.propToCol;
|
14727 |
+
|
14728 |
+
if (!SELECTION_TYPES.includes(type)) {
|
14729 |
+
throw new Error('Unsupported selection ranges schema type was provided.');
|
14730 |
+
}
|
14731 |
+
|
14732 |
+
return function (selection) {
|
14733 |
+
var isObjectType = type === SELECTION_TYPE_OBJECT;
|
14734 |
+
var rowStart = isObjectType ? selection.from.row : selection[0];
|
14735 |
+
var columnStart = isObjectType ? selection.from.col : selection[1];
|
14736 |
+
var rowEnd = isObjectType ? selection.to.row : selection[2];
|
14737 |
+
var columnEnd = isObjectType ? selection.to.col : selection[3];
|
14738 |
+
|
14739 |
+
if (typeof propToCol === 'function') {
|
14740 |
+
if (typeof columnStart === 'string') {
|
14741 |
+
columnStart = propToCol(columnStart);
|
14742 |
+
}
|
14743 |
+
|
14744 |
+
if (typeof columnEnd === 'string') {
|
14745 |
+
columnEnd = propToCol(columnEnd);
|
14746 |
+
}
|
14747 |
+
}
|
14748 |
+
|
14749 |
+
if ((0, _mixed.isUndefined)(rowEnd)) {
|
14750 |
+
rowEnd = rowStart;
|
14751 |
+
}
|
14752 |
+
|
14753 |
+
if ((0, _mixed.isUndefined)(columnEnd)) {
|
14754 |
+
columnEnd = columnStart;
|
14755 |
+
}
|
14756 |
+
|
14757 |
+
if (!keepDirection) {
|
14758 |
+
var origRowStart = rowStart;
|
14759 |
+
var origColumnStart = columnStart;
|
14760 |
+
var origRowEnd = rowEnd;
|
14761 |
+
var origColumnEnd = columnEnd;
|
14762 |
+
rowStart = Math.min(origRowStart, origRowEnd);
|
14763 |
+
columnStart = Math.min(origColumnStart, origColumnEnd);
|
14764 |
+
rowEnd = Math.max(origRowStart, origRowEnd);
|
14765 |
+
columnEnd = Math.max(origColumnStart, origColumnEnd);
|
14766 |
+
}
|
14767 |
+
|
14768 |
+
return [rowStart, columnStart, rowEnd, columnEnd];
|
14769 |
+
};
|
14770 |
+
}
|
14771 |
+
/**
|
14772 |
+
* Function transform selection ranges (produced by `hot.getSelected()` and `hot.getSelectedRange()`) to normali
|