Everest Forms – Easy Contact Form and Form Builder - Version 1.1.3

Version Description

  • 12-04-2018 =
  • Fix - Per page entries in list table.
  • Fix - Clone field next to it not at last.
  • Fix - Empty field ID if meta key is renamed.
  • Fix - Use wp_kses_post to save tinymce value.
  • Tweak - jQuery-confirm JS alert library styles.
  • Tweak - Horizontal scroll bar issue on frontend.
  • Dev - Introduced new EVF_Background_Process abstract class.
Download this release

Release Info

Developer wpeverest
Plugin Icon 128x128 Everest Forms – Easy Contact Form and Form Builder
Version 1.1.3
Comparing to
See all releases

Code changes from version 1.1.2 to 1.1.3

Files changed (108) hide show
  1. assets/css/admin-rtl.css +1 -0
  2. assets/css/admin.css +1 -0
  3. assets/css/everest-builder-rtl.css +1 -1
  4. assets/css/everest-builder.css +1 -1
  5. assets/css/everest-builder.scss +1 -0
  6. assets/css/everest-forms-rtl.css +1 -1
  7. assets/css/everest-forms.css +1 -1
  8. assets/css/everest-forms.scss +2 -0
  9. assets/css/scss/_confirm.scss +99 -0
  10. assets/js/admin/admin-helper.min.js +1 -1
  11. assets/js/admin/everest-builder.min.js +1 -1
  12. assets/js/admin/everest-panel-builder.js +163 -138
  13. assets/js/admin/everest-panel-builder.min.js +1 -1
  14. assets/js/admin/evf-add-form.min.js +1 -1
  15. assets/js/admin/evf-form-modal.min.js +1 -1
  16. assets/js/admin/settings.min.js +1 -1
  17. assets/js/frontend/everest-forms.min.js +1 -1
  18. everest-forms.php +1 -1
  19. includes/abstracts/abstract-evf-form-fields.php +1 -1
  20. includes/abstracts/class-evf-background-process.php +212 -0
  21. includes/admin/class-evf-admin-assets.php +24 -37
  22. includes/admin/class-evf-admin-entries-table-list.php +1 -1
  23. includes/admin/class-evf-admin-settings.php +3 -6
  24. includes/admin/views/html-admin-page-entries-view.php +8 -3
  25. includes/class-everest-forms.php +1 -1
  26. includes/class-evf-background-updater.php +4 -11
  27. includes/evf-core-functions.php +4 -3
  28. includes/libraries/class-emogrifier.php +0 -1555
  29. includes/libraries/wp-async-request.php +8 -6
  30. includes/libraries/wp-background-process.php +23 -20
  31. languages/everest-forms.pot +38 -38
  32. package-lock.json +1861 -1380
  33. readme.txt +10 -1
  34. trunk/assets/css/activation-rtl.css +1 -0
  35. trunk/assets/css/activation.css +1 -0
  36. trunk/assets/css/activation.scss +36 -0
  37. trunk/assets/css/admin-entries-rtl.css +1 -0
  38. trunk/assets/css/admin-entries.css +1 -0
  39. trunk/assets/css/admin-entries.scss +89 -0
  40. trunk/assets/css/admin-rtl.css +1 -0
  41. trunk/assets/css/admin-settings-rtl.css +1 -0
  42. trunk/assets/css/admin-settings.css +1 -0
  43. trunk/assets/css/admin-settings.scss +141 -0
  44. trunk/assets/css/admin.css +1 -0
  45. trunk/assets/css/everest-builder-rtl.css +1 -0
  46. trunk/assets/css/everest-builder.css +1 -0
  47. trunk/assets/css/everest-builder.scss +122 -0
  48. trunk/assets/css/everest-forms-rtl.css +1 -0
  49. trunk/assets/css/everest-forms.css +1 -0
  50. trunk/assets/css/everest-forms.scss +334 -0
  51. trunk/assets/css/evf-add-form-rtl.css +1 -0
  52. trunk/assets/css/evf-add-form.css +1 -0
  53. trunk/assets/css/evf-form-modal-rtl.css +1 -0
  54. trunk/assets/css/evf-form-modal.css +1 -0
  55. trunk/assets/css/evf-form-modal.scss +208 -0
  56. trunk/assets/css/jquery-ui-datepicker/jquery-ui-datepicker-rtl.css +1 -0
  57. trunk/assets/css/jquery-ui-datepicker/jquery-ui-datepicker.css +165 -0
  58. trunk/assets/css/jquery-ui-datepicker/jquery-ui-datepicker.scss +165 -0
  59. trunk/assets/css/scss/_admin.scss +1174 -0
  60. trunk/assets/css/scss/_backbone.scss +136 -0
  61. trunk/assets/css/scss/_clearings.scss +31 -0
  62. trunk/assets/css/scss/_colors.scss +51 -0
  63. trunk/assets/css/scss/_confirm.scss +99 -0
  64. trunk/assets/css/scss/_evf-icon.scss +74 -0
  65. trunk/assets/fonts/evf-icon.eot +0 -0
  66. trunk/assets/fonts/evf-icon.svg +37 -0
  67. trunk/assets/fonts/evf-icon.ttf +0 -0
  68. trunk/assets/fonts/evf-icon.woff +0 -0
  69. trunk/assets/images/blank-form.jpg +0 -0
  70. trunk/assets/images/contact-form.jpg +0 -0
  71. trunk/assets/js/admin/admin-helper.js +91 -0
  72. trunk/assets/js/admin/admin-helper.min.js +1 -0
  73. trunk/assets/js/admin/builder-config.js +29 -0
  74. trunk/assets/js/admin/builder-config.min.js +1 -0
  75. trunk/assets/js/admin/everest-builder.js +94 -0
  76. trunk/assets/js/admin/everest-builder.min.js +1 -0
  77. trunk/assets/js/admin/everest-forms-admin.js +0 -0
  78. trunk/assets/js/admin/everest-forms-admin.min.js +0 -0
  79. trunk/assets/js/admin/everest-panel-builder.js +841 -0
  80. trunk/assets/js/admin/everest-panel-builder.min.js +1 -0
  81. trunk/assets/js/admin/evf-add-form.js +115 -0
  82. trunk/assets/js/admin/evf-add-form.min.js +1 -0
  83. trunk/assets/js/admin/evf-form-modal.js +195 -0
  84. trunk/assets/js/admin/evf-form-modal.min.js +1 -0
  85. trunk/assets/js/admin/settings.js +13 -0
  86. trunk/assets/js/admin/settings.min.js +1 -0
  87. trunk/assets/js/frontend/everest-forms.js +160 -0
  88. trunk/assets/js/frontend/everest-forms.min.js +1 -0
  89. trunk/assets/js/jquery-blockui/jquery.blockUI.js +619 -0
  90. trunk/assets/js/jquery-blockui/jquery.blockUI.min.js +14 -0
  91. trunk/assets/js/jquery-confirm/jquery-confirm.min.css +9 -0
  92. trunk/assets/js/jquery-confirm/jquery-confirm.min.js +10 -0
  93. trunk/assets/js/jquery-tiptip/jquery.tipTip.js +191 -0
  94. trunk/assets/js/jquery-tiptip/jquery.tipTip.min.js +1 -0
  95. trunk/assets/js/jquery-validate/jquery.validate.js +1601 -0
  96. trunk/assets/js/jquery-validate/jquery.validate.min.js +4 -0
  97. trunk/everest-forms.php +42 -0
  98. trunk/includes/abstracts/abstract-evf-admin-form-panel.php +182 -0
  99. trunk/includes/abstracts/abstract-evf-form-fields.php +833 -0
  100. trunk/includes/abstracts/abstract-evf-log-handler.php +49 -0
  101. trunk/includes/abstracts/abstract-evf-session.php +124 -0
  102. trunk/includes/abstracts/class-evf-background-process.php +212 -0
  103. trunk/includes/admin/class-evf-add-form.php +108 -0
  104. trunk/includes/admin/class-evf-admin-assets.php +201 -0
  105. trunk/includes/admin/class-evf-admin-entries-table-list.php +436 -0
  106. trunk/includes/admin/class-evf-admin-entries.php +300 -0
  107. trunk/includes/admin/class-evf-admin-form-builder.php +210 -0
  108. trunk/includes/admin/class-evf-admin-forms-table-list.php +130 -0
assets/css/admin-rtl.css ADDED
@@ -0,0 +1 @@
 
1
+ .evf_addons_wrap p.refresh{margin:0 0 2em}.evf_addons_wrap .plugin-card .desc,.evf_addons_wrap .plugin-card .name{margin-left:0}.evf_addons_wrap .plugin-card .plugin-card-top{padding:20px;min-height:130px}.evf_addons_wrap .plugin-card .plugin-card-top .plugin-desc{overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.evf_addons_wrap .plugin-card .plugin-card-top .plugin-icon{border:1px solid #eee}.evf_addons_wrap .plugin-card .plugin-card-bottom .status{text-align:right;float:right;clear:right;width:65%;padding-top:5px;width:calc(100% - 180px)}.evf_addons_wrap .plugin-card .plugin-card-bottom .status span.status-label{color:#666}.evf_addons_wrap .plugin-card .plugin-card-bottom .status span.status-label.status-active{color:#2a9b39}.evf_addons_wrap .plugin-card .plugin-card-bottom .status span.status-label.status-inactive{color:#a00}.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons{float:left;clear:left;max-width:180px}.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons.upgrade-plan{margin:0 auto}.evf_addons_wrap .plugin-card-update-failed .notice-error{padding:9px 16px 8px}.evf_addons_wrap .plugin-card-update-failed .notice-error .notice-dismiss{padding:17px}@media screen and (max-width:782px){.evf_addons_wrap .plugin-card .plugin-card-bottom .status{padding-top:9px}.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons .button.updating-message:after,.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons .button.updating-message:before{margin-top:-1px}.evf_addons_wrap .plugin-card-update-failed .notice-error{padding:13px 20px}.evf_addons_wrap .plugin-card-update-failed .notice-error .notice-dismiss{padding:21px}}
assets/css/admin.css ADDED
@@ -0,0 +1 @@
 
1
+ .evf_addons_wrap p.refresh{margin:0 0 2em}.evf_addons_wrap .plugin-card .desc,.evf_addons_wrap .plugin-card .name{margin-right:0}.evf_addons_wrap .plugin-card .plugin-card-top{padding:20px;min-height:130px}.evf_addons_wrap .plugin-card .plugin-card-top .plugin-desc{overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.evf_addons_wrap .plugin-card .plugin-card-top .plugin-icon{border:1px solid #eee}.evf_addons_wrap .plugin-card .plugin-card-bottom .status{text-align:left;float:left;clear:left;width:65%;padding-top:5px;width:calc(100% - 180px)}.evf_addons_wrap .plugin-card .plugin-card-bottom .status span.status-label{color:#666}.evf_addons_wrap .plugin-card .plugin-card-bottom .status span.status-label.status-active{color:#2a9b39}.evf_addons_wrap .plugin-card .plugin-card-bottom .status span.status-label.status-inactive{color:#a00}.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons{float:right;clear:right;max-width:180px}.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons.upgrade-plan{margin:0 auto}.evf_addons_wrap .plugin-card-update-failed .notice-error{padding:9px 16px 8px}.evf_addons_wrap .plugin-card-update-failed .notice-error .notice-dismiss{padding:17px}@media screen and (max-width:782px){.evf_addons_wrap .plugin-card .plugin-card-bottom .status{padding-top:9px}.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons .button.updating-message:after,.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons .button.updating-message:before{margin-top:-1px}.evf_addons_wrap .plugin-card-update-failed .notice-error{padding:13px 20px}.evf_addons_wrap .plugin-card-update-failed .notice-error .notice-dismiss{padding:21px}}
assets/css/everest-builder-rtl.css CHANGED
@@ -1 +1 @@
1
- .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}body{margin:0}*{box-sizing:border-box}.everest-forms_page_edit-evf-form #wpcontent{padding-right:0}.everest-forms-add-fields-group .handlediv,.everest-forms-field-option-group .handlediv{float:left}.everest-forms-add-fields-group .handlediv::before,.everest-forms-field-option-group .handlediv::before{content:'\f142'!important;cursor:pointer;display:inline-block;font:400 20px/1 Dashicons;line-height:.5!important;padding:4px;position:relative;left:0;top:0}.everest-forms-add-fields-group.closed .handlediv::before,.everest-forms-field-option-group.closed .handlediv::before{content:'\f140'!important}#everest-forms-builder{margin:0}#everest-forms-builder .evf-builder-tabs{background-color:#7f5aec}#everest-forms-builder a{text-decoration:none}#everest-forms-builder a:focus{outline:0;box-shadow:0 0 0 transparent}#everest-forms-builder .evf-tab-lists{padding:0;margin:0;float:right;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-lists li{margin-bottom:0}#everest-forms-builder .evf-tab-lists li a{font-size:12px;line-height:24px;color:#fff;padding:10px 30px;display:block;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out}#everest-forms-builder .evf-tab-lists li a.active,#everest-forms-builder .evf-tab-lists li a:hover{color:#575757;background-color:#f9fafc;outline:0}#everest-forms-builder .evf-tab-lists li a:focus{outline:0}#everest-forms-builder .evf-tab-lists li .dashicons{display:block;font-size:32px;width:auto;height:auto}#everest-forms-builder .evf_save_form_action_button{float:left;padding:7px 22px;background-color:#fff;color:#000;font-size:12px;text-transform:uppercase;border:0 none;border-radius:100px;margin:20px 20px 0 45px;cursor:pointer}#everest-forms-builder .evf_save_form_action_button:focus{outline:0}#everest-forms-builder .evf-tab-content .everest-forms-panel{width:100%;display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel.active{display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar-content{display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar{background-color:#f9fafc;width:30%;border-left:1px solid #ebedf0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields{padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields-heading{display:block;font-size:14px;font-weight:500;margin-bottom:15px;padding-bottom:10px;color:#575757;border-bottom:1px solid #efefef}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields-heading i{float:left;font-size:14px;margin-right:5px;line-height:1.5}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons{margin-left:-1.5%;margin-right:-1.5%;list-style:none;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{margin-right:1.5%;margin-left:1.5%;padding:20px 8px;border:1px solid #ebedf0;width:30.3%;z-index:999;margin-bottom:10px;color:#969696;cursor:pointer;border-radius:2px;font-size:12px;-webkit-transition:.5s color ease-in-out,.5s border-color ease-in-out;transition:.5s color ease-in-out,.5s border-color ease-in-out;text-align:center;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item .dashicons{display:block;margin:0 auto}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover{color:#7ca8eb;border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover .evf-icon{color:inherit}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg{width:40px;height:40px;display:block;margin:0 auto 10px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-3{fill:#414042;-webkit-transition:.5s fill ease-in-out;transition:.5s fill ease-in-out;font-size:7px;font-weight:300}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover{color:#7ca8eb;border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-3{fill:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging{margin:0;border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-3{fill:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox label,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox label{width:auto;padding:0;display:inline-block;vertical-align:top;height:auto}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox input{margin:3px 0 0 5px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options{display:none;background-color:#f0f1f2;height:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group{border-bottom:1px solid #f0f1f2}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row{margin-bottom:15px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row:last-child{margin-bottom:0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row .inline{margin-bottom:0;display:inline-block;vertical-align:top;margin-right:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option{display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group-toggle{background-color:#f9fafc;padding:15px 20px;font-size:14px;font-weight:600;display:block;color:#404040}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group-inner{background-color:#f0f1f2;padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel{background-color:#f0f1f2;padding:15px 20px;font-size:14px;font-weight:600;display:block;color:#404040;border-bottom:3px solid #f0f1f2}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel .everest-forms-toggle-arrow{float:left;font-size:14px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel.active{background-color:#fff;position:relative;color:#7f5aec;border-color:#7f5aec}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel.active::after{position:absolute;content:"";top:0;left:-1px;bottom:0;width:1px;height:100%;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap{background-color:#fff;width:70%;padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-title-desc .everest-forms-form-name{margin-top:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-field-wrapper{padding:0 15px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-field-wrapper.evf-hover{background-color:#d4e3f9}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row{text-align:center}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span{width:40px;height:40px;line-height:30px;padding:5px;color:#fff;background-color:#969696;border-radius:5px;cursor:pointer;-webkit-transition:.5s ease-in-out background-color;transition:.5s ease-in-out background-color;margin-bottom:20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:active,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:focus,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:hover{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row{background-color:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0 -15px 30px;position:relative;border:1px solid transparent;-webkit-transition:.5s border,.5s background-color;transition:.5s border,.5s background-color}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:last-child{margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row{background-color:#8ce99a;color:#fff;position:absolute;left:0;top:0;z-index:9999;visibility:hidden;opacity:0;-webkit-transition:.7s all;transition:.7s all;padding:5px 10px;cursor:pointer}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-show-grid{display:inline-block;font-size:12px;letter-spacing:1px;font-weight:600;text-transform:uppercase}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-delete-row{display:inline-block;padding-left:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-delete-row span{font-size:14px;height:auto;line-height:1.2;color:#d9534f}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content{display:none;position:absolute;width:200px;padding:30px;text-align:center;left:-20px;border-radius:11px;background-color:#fff;font-weight:600;font-size:12px;top:40px;box-shadow:0 0 39px rgba(0,0,0,.1);-webkit-transition:.9s background-color;transition:.9s background-color}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content::before{top:-5px;content:"";left:45px;border-left:6px solid transparent;border-bottom:6px solid #fff;border-right:6px solid transparent;position:absolute}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content>span{color:#575757;display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content small{color:#c6ccd7;margin-bottom:10px;display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector{height:30px;width:40px;border:1px solid #d6d8da;display:inline-block;margin:3px;border-radius:3px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span{height:100%;display:inline-block;background:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span:nth-child(n+1){border-right:1px solid #d6d8da}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span:nth-child(1){border-right:0 none}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector.active{border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector.active span{border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover{background-color:#f7fafc;border:1px dashed #5d96ee}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover .evf-admin-grid{border:1px dashed #bdbdbd}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover .evf-toggle-row{opacity:1;visibility:visible}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid{background:#fff;min-height:200px;margin:15px;padding:5px;border:1px solid transparent;-webkit-transition:.5s border,.5s background-color;transition:.5s border,.5s background-color;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover{border:1px dashed #bdbdbd}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover.evf-item-hover{position:relative;box-shadow:0 0 5px rgba(0,100,251,.5)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover.evf-item-hover::after{position:absolute;content:"";top:-1px;right:-1px;left:-1px;width:auto;height:15px;background-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-1{width:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-2{width:50%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-3{width:30%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid .evf-registered-item{padding:20px;font-size:18px;text-align:right}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid .evf-registered-item .dashicons{font-size:22px;margin-top:3px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-empty-grid{border:1px dashed #bdbdbd;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-empty-grid:before{position:absolute;margin:auto;content:"\f132";font-size:40px;display:block;font-family:dashicons;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);right:50%;top:50%;color:#d6d8da}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field{margin-bottom:30px;padding:15px;position:relative;box-shadow:0 0 15px transparent;-webkit-transition:.5s box-shadow;transition:.5s box-shadow}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:last-child{margin-bottom:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--first,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--last{width:48.5%;margin-left:3%;float:right}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--last{margin-left:0;float:left}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action{position:absolute;top:10px;left:5px;visibility:hidden;opacity:0;-webkit-transition:.5s all;transition:.5s all}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action a{color:#7ca8eb;margin-right:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action a.everest-forms-field-delete:hover{color:#d9534f}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:hover{box-shadow:0 0 15px rgba(0,0,0,.1)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:hover .evf-field-action{visibility:visible;opacity:1}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper{box-shadow:-1px 5px 35px rgba(0,0,0,.2);padding:20px 30px;height:auto!important;right:-20px;left:-20px;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper::before{position:absolute;right:0;top:0;width:5px;height:100%;background-color:#7f5aec;content:""}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper:hover .evf-field-action{display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader{width:100%;border:2px dashed #d5d9e2;background-color:#fbfdfe;border-radius:3px;cursor:pointer;text-align:center;padding-top:30px;padding-bottom:30px;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader svg{width:30px;height:30px;fill:#bbbcbd;margin-bottom:20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader input.file-input{-ms-touch-action:manipulation;touch-action:manipulation;max-width:100%;min-width:14px;margin:0;opacity:0;height:18px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .drop{display:block;font-size:14px;font-weight:600;color:#969696;margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .or{font-size:12px;color:#bdbdbd;font-weight:500;display:block;margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .file-control{position:absolute;bottom:30px;color:#5d96ee;padding-bottom:2px;display:block;right:0;left:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .file-control::before{content:"";width:45px;background-color:#5d96ee;height:1px;display:block;right:50%;bottom:-2px;position:absolute;-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .publishing-action{width:100%;text-align:left}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .submit-button{display:inline-block;font-size:12px;font-weight:600;color:#fff;padding:15px 20px;border:0 none;background-color:#8ce99a;border-radius:3px}#everest-forms-builder .evf-tab-content label{font-size:12px;margin-bottom:15px;color:#575757;display:block;font-weight:600}#everest-forms-builder .evf-tab-content label i{color:#bdbdbd;font-size:16px;line-height:1.2}#everest-forms-builder .evf-tab-content label .required{margin-right:5px}#everest-forms-builder .evf-tab-content input:not(.ed_button),#everest-forms-builder .evf-tab-content select,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area){border:1px solid #d5d9e2;border-radius:3px;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox],#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio],#everest-forms-builder .evf-tab-content select[type=checkbox],#everest-forms-builder .evf-tab-content select[type=radio],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]{width:16px;height:16px;background-color:#fff}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio],#everest-forms-builder .evf-tab-content select[type=radio],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]{border-radius:10px}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox]:checked,#everest-forms-builder .evf-tab-content select[type=checkbox]:checked,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox]:checked{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox]:checked::before,#everest-forms-builder .evf-tab-content select[type=checkbox]:checked::before,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox]:checked::before{color:#fff;background-color:transparent}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio]:checked::before,#everest-forms-builder .evf-tab-content select[type=radio]:checked::before,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]:checked::before{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-webkit-input-placeholder,#everest-forms-builder .evf-tab-content select::-webkit-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-webkit-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-moz-placeholder,#everest-forms-builder .evf-tab-content select::-moz-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-moz-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button):-ms-input-placeholder,#everest-forms-builder .evf-tab-content select:-ms-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area):-ms-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-ms-input-placeholder,#everest-forms-builder .evf-tab-content select::-ms-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-ms-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::placeholder,#everest-forms-builder .evf-tab-content select::placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button):focus,#everest-forms-builder .evf-tab-content select:focus,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area):focus{outline:0}#everest-forms-builder .evf-tab-content textarea,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area){height:120px}#everest-forms-builder .evf-tab-content .evf-grid-lists{margin-right:-1.5%;margin-left:1.5%;background-color:#f9fafc;display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-content .evf-grid-lists .evf-grid-lists-item{padding-right:1.5%;padding-left:1.5%;background-color:#fff}#everest-forms-builder .evf-tab-content .evf-content-section-title{font-size:24px;font-weight:500;margin-bottom:20px;padding-bottom:20px;line-height:34px;border-bottom:1px solid #efefef}#everest-forms-builder .evf-tab-content .everest-forms-panel-field{margin-bottom:20px}#everest-forms-builder .evf-registered-item{z-index:999;cursor:pointer;border-radius:2px;font-size:12px;text-align:center;margin:0;background-color:#fff;border:1px solid #ebedf0;color:#969696}#everest-forms-builder .evf-registered-item .evf-icon{color:inherit;display:block!important;font-size:32px!important}#everest-forms-builder .evf-registered-item.ui-draggable-dragging{border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;text-align:center!important;font-size:12px!important;box-shadow:0 0 32px rgba(0,0,0,.15)}#everest-forms-builder .evf-choices-list li{clear:both;padding:5px 5px;cursor:pointer}#everest-forms-builder .evf-choices-list li input.value{display:none}#everest-forms-builder .evf-choices-list li input[type=checkbox],#everest-forms-builder .evf-choices-list li input[type=radio]{float:right;margin-top:6px}#everest-forms-builder .evf-choices-list li input[type=text]{height:30px;font-size:12px;width:70%;line-height:12px}#everest-forms-builder .evf-choices-list li a.add,#everest-forms-builder .evf-choices-list li a.remove{margin-top:5px;margin-right:2px;display:inline-block;float:left}#everest-forms-builder .evf-choices-list li:hover{background:#f9f9f9}#everest-forms-builder .everest-forms-field.ui-draggable-dragging{margin:0;border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;background-color:#fff;text-align:center;font-size:12px!important}#everest-forms-builder .everest-forms-field.ui-draggable-dragging .evf-icon{color:inherit;display:block!important;font-size:302x!important}#everest-forms-panel-settings .evf-content-section{display:none}#everest-forms-panel-settings .evf-content-section.active{display:block}.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.evf-cancel-btn,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.evf-confirm-btn,.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.evf-cancel-btn,.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.evf-confirm-btn{padding:7px 15px;background-color:#292929;color:#fff;font-size:12px;text-transform:uppercase;border:0 none;border-radius:5px;cursor:pointer;font-weight:600}@media screen and (max-width:1200px){#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:47%}}@media screen and (max-width:782px){.everest-forms_page_edit-evf-form.auto-fold #wpcontent{padding-right:0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-content-wrap,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar{width:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:30.3%}}@media screen and (max-width:600px){#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap{padding:20px 20px 0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0 0 20px;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-1,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-2,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-3{width:auto}}@media screen and (max-width:480px){#everest-forms-builder .evf-tab-lists li a{padding:15px}#everest-forms-builder .evf-tab-lists li .dashicons{font-size:24px}#everest-forms-builder .evf_save_form_action_button{margin:12px 5px 0 15px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:47%}.jconfirm.jconfirm-light .jconfirm-box,.jconfirm.jconfirm-white .jconfirm-box{width:90%!important}}.evf-overlay{height:100%;width:100%;background:0 0;position:absolute;top:0;left:0;right:0;bottom:0;z-index:1000;padding:20px}.tips{cursor:help;text-decoration:none}img.tips{padding:5px 0 0}#tiptip_holder{display:none;z-index:8675309;position:absolute;top:0;left:0}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-right:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-right:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-right:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-right:-5px;border-left-color:#333}#tiptip_holder.tip_left{padding-left:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-right:-7px;border-right-color:#333}#tiptip_content,.chart-tooltip,.evf_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.chart-tooltip code,.evf_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_arrow{right:50%;margin-right:-6px}.evf_error_tip{max-width:20em;line-height:1.8em;position:absolute;white-space:normal;background:#d82223;margin:1.5em -1em 0 1px;z-index:9999999}.evf_error_tip::after{content:'';display:block;border:8px solid #d82223;border-left-color:transparent;border-right-color:transparent;border-top-color:transparent;position:absolute;top:-3px;right:50%;margin:-1em -3px 0 0}@font-face{font-family:evf-icon;src:url(../fonts/evf-icon.eot?5fwmb3);src:url(../fonts/evf-icon.eot?5fwmb3#iefix) format("embedded-opentype"),url(../fonts/evf-icon.ttf?5fwmb3) format("truetype"),url(../fonts/evf-icon.woff?5fwmb3) format("woff"),url(../fonts/evf-icon.svg?5fwmb3#evf-icon) format("svg");font-weight:400;font-style:normal}[class*=" evf-icon-"],[class^=evf-icon-]{font-family:evf-icon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.evf-icon-last-name:before{content:"\e900"}.evf-icon-first-name:before{content:"\e901"}.evf-icon-checkbox:before{content:"\e902"}.evf-icon-radio:before{content:"\e903"}.evf-icon-file-upload:before{content:"\e904"}.evf-icon-hidden-field:before{content:"\e90a"}.evf-icon-address:before{content:"\e911"}.evf-icon-phone:before{content:"\e912"}.evf-icon-website:before{content:"\e913"}.evf-icon-number:before{content:"\e914"}.evf-icon-dropdown:before{content:"\e915"}.evf-icon-paragraph:before{content:"\e916"}.evf-icon-multiple-choices:before{content:"\e917"}.evf-icon-date-time:before{content:"\e918"}.evf-icon-email:before{content:"\e919"}.evf-icon-text:before{content:"\e91a"}
1
+ .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}body{margin:0}*{box-sizing:border-box}.everest-forms_page_edit-evf-form #wpcontent{padding-right:0}.everest-forms-add-fields-group .handlediv,.everest-forms-field-option-group .handlediv{float:left}.everest-forms-add-fields-group .handlediv::before,.everest-forms-field-option-group .handlediv::before{content:'\f142'!important;cursor:pointer;display:inline-block;font:400 20px/1 Dashicons;line-height:.5!important;padding:4px;position:relative;left:0;top:0}.everest-forms-add-fields-group.closed .handlediv::before,.everest-forms-field-option-group.closed .handlediv::before{content:'\f140'!important}#everest-forms-builder{margin:0}#everest-forms-builder .evf-builder-tabs{background-color:#7f5aec}#everest-forms-builder a{text-decoration:none}#everest-forms-builder a:focus{outline:0;box-shadow:0 0 0 transparent}#everest-forms-builder .evf-tab-lists{padding:0;margin:0;float:right;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-lists li{margin-bottom:0}#everest-forms-builder .evf-tab-lists li a{font-size:12px;line-height:24px;color:#fff;padding:10px 30px;display:block;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out}#everest-forms-builder .evf-tab-lists li a.active,#everest-forms-builder .evf-tab-lists li a:hover{color:#575757;background-color:#f9fafc;outline:0}#everest-forms-builder .evf-tab-lists li a:focus{outline:0}#everest-forms-builder .evf-tab-lists li .dashicons{display:block;font-size:32px;width:auto;height:auto}#everest-forms-builder .evf_save_form_action_button{float:left;padding:7px 22px;background-color:#fff;color:#000;font-size:12px;text-transform:uppercase;border:0 none;border-radius:100px;margin:20px 20px 0 45px;cursor:pointer}#everest-forms-builder .evf_save_form_action_button:focus{outline:0}#everest-forms-builder .evf-tab-content .everest-forms-panel{width:100%;display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel.active{display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar-content{display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar{background-color:#f9fafc;width:30%;border-left:1px solid #ebedf0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields{padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields-heading{display:block;font-size:14px;font-weight:500;margin-bottom:15px;padding-bottom:10px;color:#575757;border-bottom:1px solid #efefef}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields-heading i{float:left;font-size:14px;margin-right:5px;line-height:1.5}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons{margin-left:-1.5%;margin-right:-1.5%;list-style:none;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{margin-right:1.5%;margin-left:1.5%;padding:20px 8px;border:1px solid #ebedf0;width:30.3%;z-index:999;margin-bottom:10px;color:#969696;cursor:pointer;border-radius:2px;font-size:12px;-webkit-transition:.5s color ease-in-out,.5s border-color ease-in-out;transition:.5s color ease-in-out,.5s border-color ease-in-out;text-align:center;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item .dashicons{display:block;margin:0 auto}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover{color:#7ca8eb;border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover .evf-icon{color:inherit}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg{width:40px;height:40px;display:block;margin:0 auto 10px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-3{fill:#414042;-webkit-transition:.5s fill ease-in-out;transition:.5s fill ease-in-out;font-size:7px;font-weight:300}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover{color:#7ca8eb;border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-3{fill:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging{margin:0;border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-3{fill:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox label,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox label{width:auto;padding:0;display:inline-block;vertical-align:top;height:auto}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox input{margin:3px 0 0 5px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options{display:none;background-color:#f0f1f2;height:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group{border-bottom:1px solid #f0f1f2}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row{margin-bottom:15px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row:last-child{margin-bottom:0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row .inline{margin-bottom:0;display:inline-block;vertical-align:top;margin-right:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option{display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group-toggle{background-color:#f9fafc;padding:15px 20px;font-size:14px;font-weight:600;display:block;color:#404040}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group-inner{background-color:#f0f1f2;padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel{background-color:#f0f1f2;padding:15px 20px;font-size:14px;font-weight:600;display:block;color:#404040;border-bottom:3px solid #f0f1f2}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel .everest-forms-toggle-arrow{float:left;font-size:14px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel.active{background-color:#fff;position:relative;color:#7f5aec;border-color:#7f5aec}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel.active::after{position:absolute;content:"";top:0;left:-1px;bottom:0;width:1px;height:100%;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap{background-color:#fff;width:70%;padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-title-desc .everest-forms-form-name{margin-top:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-field-wrapper{padding:0 15px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-field-wrapper.evf-hover{background-color:#d4e3f9}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row{text-align:center}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span{width:40px;height:40px;line-height:30px;padding:5px;color:#fff;background-color:#969696;border-radius:5px;cursor:pointer;-webkit-transition:.5s ease-in-out background-color;transition:.5s ease-in-out background-color;margin-bottom:20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:active,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:focus,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:hover{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row{background-color:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0 -15px 30px;position:relative;border:1px solid transparent;-webkit-transition:.5s border,.5s background-color;transition:.5s border,.5s background-color}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:last-child{margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row{background-color:#8ce99a;color:#fff;position:absolute;left:0;top:0;z-index:9999;visibility:hidden;opacity:0;-webkit-transition:.7s all;transition:.7s all;padding:5px 10px;cursor:pointer}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-show-grid{display:inline-block;font-size:12px;letter-spacing:1px;font-weight:600;text-transform:uppercase}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-delete-row{display:inline-block;padding-left:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-delete-row span{font-size:14px;height:auto;line-height:1.2;color:#d9534f}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content{display:none;position:absolute;width:200px;padding:30px;text-align:center;left:-20px;border-radius:11px;background-color:#fff;font-weight:600;font-size:12px;top:40px;box-shadow:0 0 39px rgba(0,0,0,.1);-webkit-transition:.9s background-color;transition:.9s background-color}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content::before{top:-5px;content:"";left:45px;border-left:6px solid transparent;border-bottom:6px solid #fff;border-right:6px solid transparent;position:absolute}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content>span{color:#575757;display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content small{color:#c6ccd7;margin-bottom:10px;display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector{height:30px;width:40px;border:1px solid #d6d8da;display:inline-block;margin:3px;border-radius:3px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span{height:100%;display:inline-block;background:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span:nth-child(n+1){border-right:1px solid #d6d8da}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span:nth-child(1){border-right:0 none}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector.active{border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector.active span{border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover{background-color:#f7fafc;border:1px dashed #5d96ee}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover .evf-admin-grid{border:1px dashed #bdbdbd}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover .evf-toggle-row{opacity:1;visibility:visible}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid{background:#fff;min-height:200px;margin:15px;padding:5px;border:1px solid transparent;-webkit-transition:.5s border,.5s background-color;transition:.5s border,.5s background-color;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover{border:1px dashed #bdbdbd}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover.evf-item-hover{position:relative;box-shadow:0 0 5px rgba(0,100,251,.5)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover.evf-item-hover::after{position:absolute;content:"";top:-1px;right:-1px;left:-1px;width:auto;height:15px;background-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-1{width:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-2{width:50%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-3{width:30%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid .evf-registered-item{padding:20px;font-size:18px;text-align:right}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid .evf-registered-item .dashicons{font-size:22px;margin-top:3px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-empty-grid{border:1px dashed #bdbdbd;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-empty-grid:before{position:absolute;margin:auto;content:"\f132";font-size:40px;display:block;font-family:dashicons;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);right:50%;top:50%;color:#d6d8da}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field{margin-bottom:30px;padding:15px;position:relative;box-shadow:0 0 15px transparent;-webkit-transition:.5s box-shadow;transition:.5s box-shadow}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:last-child{margin-bottom:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--first,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--last{width:48.5%;margin-left:3%;float:right}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--last{margin-left:0;float:left}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action{position:absolute;top:10px;left:5px;visibility:hidden;opacity:0;-webkit-transition:.5s all;transition:.5s all}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action a{color:#7ca8eb;margin-right:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action a.everest-forms-field-delete:hover{color:#d9534f}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:hover{box-shadow:0 0 15px rgba(0,0,0,.1)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:hover .evf-field-action{visibility:visible;opacity:1}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper{box-shadow:-1px 5px 35px rgba(0,0,0,.2);padding:20px 30px;height:auto!important;right:-20px;left:-20px;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper::before{position:absolute;right:0;top:0;width:5px;height:100%;background-color:#7f5aec;content:""}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper:hover .evf-field-action{display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader{width:100%;border:2px dashed #d5d9e2;background-color:#fbfdfe;border-radius:3px;cursor:pointer;text-align:center;padding-top:30px;padding-bottom:30px;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader svg{width:30px;height:30px;fill:#bbbcbd;margin-bottom:20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader input.file-input{-ms-touch-action:manipulation;touch-action:manipulation;max-width:100%;min-width:14px;margin:0;opacity:0;height:18px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .drop{display:block;font-size:14px;font-weight:600;color:#969696;margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .or{font-size:12px;color:#bdbdbd;font-weight:500;display:block;margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .file-control{position:absolute;bottom:30px;color:#5d96ee;padding-bottom:2px;display:block;right:0;left:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .file-control::before{content:"";width:45px;background-color:#5d96ee;height:1px;display:block;right:50%;bottom:-2px;position:absolute;-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .publishing-action{width:100%;text-align:left}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .submit-button{display:inline-block;font-size:12px;font-weight:600;color:#fff;padding:15px 20px;border:0 none;background-color:#8ce99a;border-radius:3px}#everest-forms-builder .evf-tab-content label{font-size:12px;margin-bottom:15px;color:#575757;display:block;font-weight:600}#everest-forms-builder .evf-tab-content label i{color:#bdbdbd;font-size:16px;line-height:1.2}#everest-forms-builder .evf-tab-content label .required{margin-right:5px}#everest-forms-builder .evf-tab-content input:not(.ed_button),#everest-forms-builder .evf-tab-content select,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area){border:1px solid #d5d9e2;border-radius:3px;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox],#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio],#everest-forms-builder .evf-tab-content select[type=checkbox],#everest-forms-builder .evf-tab-content select[type=radio],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]{width:16px;height:16px;background-color:#fff}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio],#everest-forms-builder .evf-tab-content select[type=radio],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]{border-radius:10px}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox]:checked,#everest-forms-builder .evf-tab-content select[type=checkbox]:checked,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox]:checked{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox]:checked::before,#everest-forms-builder .evf-tab-content select[type=checkbox]:checked::before,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox]:checked::before{color:#fff;background-color:transparent}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio]:checked::before,#everest-forms-builder .evf-tab-content select[type=radio]:checked::before,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]:checked::before{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-webkit-input-placeholder,#everest-forms-builder .evf-tab-content select::-webkit-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-webkit-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-moz-placeholder,#everest-forms-builder .evf-tab-content select::-moz-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-moz-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button):-ms-input-placeholder,#everest-forms-builder .evf-tab-content select:-ms-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area):-ms-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-ms-input-placeholder,#everest-forms-builder .evf-tab-content select::-ms-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-ms-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::placeholder,#everest-forms-builder .evf-tab-content select::placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button):focus,#everest-forms-builder .evf-tab-content select:focus,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area):focus{outline:0}#everest-forms-builder .evf-tab-content textarea,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area){height:120px}#everest-forms-builder .evf-tab-content .evf-grid-lists{margin-right:-1.5%;margin-left:1.5%;background-color:#f9fafc;display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-content .evf-grid-lists .evf-grid-lists-item{padding-right:1.5%;padding-left:1.5%;background-color:#fff}#everest-forms-builder .evf-tab-content .evf-content-section-title{font-size:24px;font-weight:500;margin-bottom:20px;padding-bottom:20px;line-height:34px;border-bottom:1px solid #efefef}#everest-forms-builder .evf-tab-content .everest-forms-panel-field{margin-bottom:20px}#everest-forms-builder .evf-registered-item{z-index:999;cursor:pointer;border-radius:2px;font-size:12px;text-align:center;margin:0;background-color:#fff;border:1px solid #ebedf0;color:#969696}#everest-forms-builder .evf-registered-item .evf-icon{color:inherit;display:block!important;font-size:32px!important}#everest-forms-builder .evf-registered-item.ui-draggable-dragging{border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;text-align:center!important;font-size:12px!important;box-shadow:0 0 32px rgba(0,0,0,.15)}#everest-forms-builder .evf-choices-list li{clear:both;padding:5px 5px;cursor:pointer}#everest-forms-builder .evf-choices-list li input.value{display:none}#everest-forms-builder .evf-choices-list li input[type=checkbox],#everest-forms-builder .evf-choices-list li input[type=radio]{float:right;margin-top:6px}#everest-forms-builder .evf-choices-list li input[type=text]{height:30px;font-size:12px;width:70%;line-height:12px}#everest-forms-builder .evf-choices-list li a.add,#everest-forms-builder .evf-choices-list li a.remove{margin-top:5px;margin-right:2px;display:inline-block;float:left}#everest-forms-builder .evf-choices-list li:hover{background:#f9f9f9}#everest-forms-builder .everest-forms-field.ui-draggable-dragging{margin:0;border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;background-color:#fff;text-align:center;font-size:12px!important}#everest-forms-builder .everest-forms-field.ui-draggable-dragging .evf-icon{color:inherit;display:block!important;font-size:302x!important}#everest-forms-panel-settings .evf-content-section{display:none}#everest-forms-panel-settings .evf-content-section.active{display:block}.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.evf-cancel-btn,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.evf-confirm-btn,.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.evf-cancel-btn,.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.evf-confirm-btn{padding:7px 15px;background-color:#292929;color:#fff;font-size:12px;text-transform:uppercase;border:0 none;border-radius:5px;cursor:pointer;font-weight:600}@media screen and (max-width:1200px){#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:47%}}@media screen and (max-width:782px){.everest-forms_page_edit-evf-form.auto-fold #wpcontent{padding-right:0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-content-wrap,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar{width:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:30.3%}}@media screen and (max-width:600px){#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap{padding:20px 20px 0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0 0 20px;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-1,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-2,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-3{width:auto}}@media screen and (max-width:480px){#everest-forms-builder .evf-tab-lists li a{padding:15px}#everest-forms-builder .evf-tab-lists li .dashicons{font-size:24px}#everest-forms-builder .evf_save_form_action_button{margin:12px 5px 0 15px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:47%}.jconfirm.jconfirm-light .jconfirm-box,.jconfirm.jconfirm-white .jconfirm-box{width:90%!important}}.evf-overlay{height:100%;width:100%;background:0 0;position:absolute;top:0;left:0;right:0;bottom:0;z-index:1000;padding:20px}.tips{cursor:help;text-decoration:none}img.tips{padding:5px 0 0}#tiptip_holder{display:none;z-index:8675309;position:absolute;top:0;left:0}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-right:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-right:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-right:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-right:-5px;border-left-color:#333}#tiptip_holder.tip_left{padding-left:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-right:-7px;border-right-color:#333}#tiptip_content,.chart-tooltip,.evf_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.chart-tooltip code,.evf_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_arrow{right:50%;margin-right:-6px}.evf_error_tip{max-width:20em;line-height:1.8em;position:absolute;white-space:normal;background:#d82223;margin:1.5em -1em 0 1px;z-index:9999999}.evf_error_tip::after{content:'';display:block;border:8px solid #d82223;border-left-color:transparent;border-right-color:transparent;border-top-color:transparent;position:absolute;top:-3px;right:50%;margin:-1em -3px 0 0}@font-face{font-family:evf-icon;src:url(../fonts/evf-icon.eot?5fwmb3);src:url(../fonts/evf-icon.eot?5fwmb3#iefix) format("embedded-opentype"),url(../fonts/evf-icon.ttf?5fwmb3) format("truetype"),url(../fonts/evf-icon.woff?5fwmb3) format("woff"),url(../fonts/evf-icon.svg?5fwmb3#evf-icon) format("svg");font-weight:400;font-style:normal}[class*=" evf-icon-"],[class^=evf-icon-]{font-family:evf-icon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.evf-icon-last-name:before{content:"\e900"}.evf-icon-first-name:before{content:"\e901"}.evf-icon-checkbox:before{content:"\e902"}.evf-icon-radio:before{content:"\e903"}.evf-icon-file-upload:before{content:"\e904"}.evf-icon-hidden-field:before{content:"\e90a"}.evf-icon-address:before{content:"\e911"}.evf-icon-phone:before{content:"\e912"}.evf-icon-website:before{content:"\e913"}.evf-icon-number:before{content:"\e914"}.evf-icon-dropdown:before{content:"\e915"}.evf-icon-paragraph:before{content:"\e916"}.evf-icon-multiple-choices:before{content:"\e917"}.evf-icon-date-time:before{content:"\e918"}.evf-icon-email:before{content:"\e919"}.evf-icon-text:before{content:"\e91a"}div.jconfirm *,div.jconfirm ::after,div.jconfirm ::before{box-sizing:border-box}div.jconfirm.jconfirm-modern div.jconfirm-box-container div.jconfirm-box{border-radius:0;box-shadow:0 2px 6px rgba(0,0,0,.2)}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content-pane{margin-bottom:20px;display:block}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content-pane .jconfirm-content{overflow:initial}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content{font-size:16px;color:#555;line-height:1.5}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content p{margin:0 0 16px;font-size:16px}div.jconfirm.jconfirm-modern .jconfirm-box input[type=text]{display:block;width:99%;border:1px solid #d6d6d6;padding:10px;box-shadow:none;margin:20px auto 0 auto}div.jconfirm.jconfirm-modern .jconfirm-box #evf-embed-shortcode{margin:20px 0;text-align:center;font-size:24px;padding:8px 5px}div.jconfirm.jconfirm-modern .jconfirm-box #evf-embed-shortcode:disabled{color:#333}div.jconfirm.jconfirm-modern .jconfirm-box button.btn-confirm{background-color:#5d96ee;color:#fff;outline:0}div.jconfirm.jconfirm-modern .jconfirm-box button.btn-confirm:hover{background-color:rgba(93,150,238,.8)}div.jconfirm.jconfirm-modern .jconfirm-box .error{display:none;color:red}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{-webkit-transition:none!important;transition:none!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important;font-size:45px!important}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c .dashicons{height:inherit;width:inherit;font-size:60px}
assets/css/everest-builder.css CHANGED
@@ -1 +1 @@
1
- .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}body{margin:0}*{box-sizing:border-box}.everest-forms_page_edit-evf-form #wpcontent{padding-left:0}.everest-forms-add-fields-group .handlediv,.everest-forms-field-option-group .handlediv{float:right}.everest-forms-add-fields-group .handlediv::before,.everest-forms-field-option-group .handlediv::before{content:'\f142'!important;cursor:pointer;display:inline-block;font:400 20px/1 Dashicons;line-height:.5!important;padding:4px;position:relative;right:0;top:0}.everest-forms-add-fields-group.closed .handlediv::before,.everest-forms-field-option-group.closed .handlediv::before{content:'\f140'!important}#everest-forms-builder{margin:0}#everest-forms-builder .evf-builder-tabs{background-color:#7f5aec}#everest-forms-builder a{text-decoration:none}#everest-forms-builder a:focus{outline:0;box-shadow:0 0 0 transparent}#everest-forms-builder .evf-tab-lists{padding:0;margin:0;float:left;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-lists li{margin-bottom:0}#everest-forms-builder .evf-tab-lists li a{font-size:12px;line-height:24px;color:#fff;padding:10px 30px;display:block;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out}#everest-forms-builder .evf-tab-lists li a.active,#everest-forms-builder .evf-tab-lists li a:hover{color:#575757;background-color:#f9fafc;outline:0}#everest-forms-builder .evf-tab-lists li a:focus{outline:0}#everest-forms-builder .evf-tab-lists li .dashicons{display:block;font-size:32px;width:auto;height:auto}#everest-forms-builder .evf_save_form_action_button{float:right;padding:7px 22px;background-color:#fff;color:#000;font-size:12px;text-transform:uppercase;border:0 none;border-radius:100px;margin:20px 45px 0 20px;cursor:pointer}#everest-forms-builder .evf_save_form_action_button:focus{outline:0}#everest-forms-builder .evf-tab-content .everest-forms-panel{width:100%;display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel.active{display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar-content{display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar{background-color:#f9fafc;width:30%;border-right:1px solid #ebedf0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields{padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields-heading{display:block;font-size:14px;font-weight:500;margin-bottom:15px;padding-bottom:10px;color:#575757;border-bottom:1px solid #efefef}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields-heading i{float:right;font-size:14px;margin-left:5px;line-height:1.5}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons{margin-right:-1.5%;margin-left:-1.5%;list-style:none;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{margin-left:1.5%;margin-right:1.5%;padding:20px 8px;border:1px solid #ebedf0;width:30.3%;z-index:999;margin-bottom:10px;color:#969696;cursor:pointer;border-radius:2px;font-size:12px;-webkit-transition:.5s color ease-in-out,.5s border-color ease-in-out;transition:.5s color ease-in-out,.5s border-color ease-in-out;text-align:center;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item .dashicons{display:block;margin:0 auto}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover{color:#7ca8eb;border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover .evf-icon{color:inherit}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg{width:40px;height:40px;display:block;margin:0 auto 10px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-3{fill:#414042;-webkit-transition:.5s fill ease-in-out;transition:.5s fill ease-in-out;font-size:7px;font-weight:300}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover{color:#7ca8eb;border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-3{fill:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging{margin:0;border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-3{fill:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox label,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox label{width:auto;padding:0;display:inline-block;vertical-align:top;height:auto}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox input{margin:3px 5px 0 0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options{display:none;background-color:#f0f1f2;height:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group{border-bottom:1px solid #f0f1f2}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row{margin-bottom:15px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row:last-child{margin-bottom:0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row .inline{margin-bottom:0;display:inline-block;vertical-align:top;margin-left:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option{display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group-toggle{background-color:#f9fafc;padding:15px 20px;font-size:14px;font-weight:600;display:block;color:#404040}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group-inner{background-color:#f0f1f2;padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel{background-color:#f0f1f2;padding:15px 20px;font-size:14px;font-weight:600;display:block;color:#404040;border-bottom:3px solid #f0f1f2}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel .everest-forms-toggle-arrow{float:right;font-size:14px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel.active{background-color:#fff;position:relative;color:#7f5aec;border-color:#7f5aec}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel.active::after{position:absolute;content:"";top:0;right:-1px;bottom:0;width:1px;height:100%;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap{background-color:#fff;width:70%;padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-title-desc .everest-forms-form-name{margin-top:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-field-wrapper{padding:0 15px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-field-wrapper.evf-hover{background-color:#d4e3f9}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row{text-align:center}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span{width:40px;height:40px;line-height:30px;padding:5px;color:#fff;background-color:#969696;border-radius:5px;cursor:pointer;-webkit-transition:.5s ease-in-out background-color;transition:.5s ease-in-out background-color;margin-bottom:20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:active,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:focus,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:hover{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row{background-color:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0 -15px 30px;position:relative;border:1px solid transparent;-webkit-transition:.5s border,.5s background-color;transition:.5s border,.5s background-color}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:last-child{margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row{background-color:#8ce99a;color:#fff;position:absolute;right:0;top:0;z-index:9999;visibility:hidden;opacity:0;-webkit-transition:.7s all;transition:.7s all;padding:5px 10px;cursor:pointer}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-show-grid{display:inline-block;font-size:12px;letter-spacing:1px;font-weight:600;text-transform:uppercase}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-delete-row{display:inline-block;padding-right:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-delete-row span{font-size:14px;height:auto;line-height:1.2;color:#d9534f}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content{display:none;position:absolute;width:200px;padding:30px;text-align:center;right:-20px;border-radius:11px;background-color:#fff;font-weight:600;font-size:12px;top:40px;box-shadow:0 0 39px rgba(0,0,0,.1);-webkit-transition:.9s background-color;transition:.9s background-color}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content::before{top:-5px;content:"";right:45px;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;position:absolute}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content>span{color:#575757;display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content small{color:#c6ccd7;margin-bottom:10px;display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector{height:30px;width:40px;border:1px solid #d6d8da;display:inline-block;margin:3px;border-radius:3px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span{height:100%;display:inline-block;background:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span:nth-child(n+1){border-left:1px solid #d6d8da}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span:nth-child(1){border-left:0 none}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector.active{border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector.active span{border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover{background-color:#f7fafc;border:1px dashed #5d96ee}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover .evf-admin-grid{border:1px dashed #bdbdbd}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover .evf-toggle-row{opacity:1;visibility:visible}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid{background:#fff;min-height:200px;margin:15px;padding:5px;border:1px solid transparent;-webkit-transition:.5s border,.5s background-color;transition:.5s border,.5s background-color;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover{border:1px dashed #bdbdbd}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover.evf-item-hover{position:relative;box-shadow:0 0 5px rgba(0,100,251,.5)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover.evf-item-hover::after{position:absolute;content:"";top:-1px;left:-1px;right:-1px;width:auto;height:15px;background-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-1{width:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-2{width:50%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-3{width:30%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid .evf-registered-item{padding:20px;font-size:18px;text-align:left}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid .evf-registered-item .dashicons{font-size:22px;margin-top:3px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-empty-grid{border:1px dashed #bdbdbd;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-empty-grid:before{position:absolute;margin:auto;content:"\f132";font-size:40px;display:block;font-family:dashicons;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);left:50%;top:50%;color:#d6d8da}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field{margin-bottom:30px;padding:15px;position:relative;box-shadow:0 0 15px transparent;-webkit-transition:.5s box-shadow;transition:.5s box-shadow}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:last-child{margin-bottom:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--first,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--last{width:48.5%;margin-right:3%;float:left}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--last{margin-right:0;float:right}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action{position:absolute;top:10px;right:5px;visibility:hidden;opacity:0;-webkit-transition:.5s all;transition:.5s all}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action a{color:#7ca8eb;margin-left:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action a.everest-forms-field-delete:hover{color:#d9534f}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:hover{box-shadow:0 0 15px rgba(0,0,0,.1)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:hover .evf-field-action{visibility:visible;opacity:1}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper{box-shadow:1px 5px 35px rgba(0,0,0,.2);padding:20px 30px;height:auto!important;left:-20px;right:-20px;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper::before{position:absolute;left:0;top:0;width:5px;height:100%;background-color:#7f5aec;content:""}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper:hover .evf-field-action{display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader{width:100%;border:2px dashed #d5d9e2;background-color:#fbfdfe;border-radius:3px;cursor:pointer;text-align:center;padding-top:30px;padding-bottom:30px;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader svg{width:30px;height:30px;fill:#bbbcbd;margin-bottom:20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader input.file-input{-ms-touch-action:manipulation;touch-action:manipulation;max-width:100%;min-width:14px;margin:0;opacity:0;height:18px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .drop{display:block;font-size:14px;font-weight:600;color:#969696;margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .or{font-size:12px;color:#bdbdbd;font-weight:500;display:block;margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .file-control{position:absolute;bottom:30px;color:#5d96ee;padding-bottom:2px;display:block;left:0;right:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .file-control::before{content:"";width:45px;background-color:#5d96ee;height:1px;display:block;left:50%;bottom:-2px;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .publishing-action{width:100%;text-align:right}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .submit-button{display:inline-block;font-size:12px;font-weight:600;color:#fff;padding:15px 20px;border:0 none;background-color:#8ce99a;border-radius:3px}#everest-forms-builder .evf-tab-content label{font-size:12px;margin-bottom:15px;color:#575757;display:block;font-weight:600}#everest-forms-builder .evf-tab-content label i{color:#bdbdbd;font-size:16px;line-height:1.2}#everest-forms-builder .evf-tab-content label .required{margin-left:5px}#everest-forms-builder .evf-tab-content input:not(.ed_button),#everest-forms-builder .evf-tab-content select,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area){border:1px solid #d5d9e2;border-radius:3px;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox],#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio],#everest-forms-builder .evf-tab-content select[type=checkbox],#everest-forms-builder .evf-tab-content select[type=radio],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]{width:16px;height:16px;background-color:#fff}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio],#everest-forms-builder .evf-tab-content select[type=radio],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]{border-radius:10px}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox]:checked,#everest-forms-builder .evf-tab-content select[type=checkbox]:checked,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox]:checked{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox]:checked::before,#everest-forms-builder .evf-tab-content select[type=checkbox]:checked::before,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox]:checked::before{color:#fff;background-color:transparent}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio]:checked::before,#everest-forms-builder .evf-tab-content select[type=radio]:checked::before,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]:checked::before{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-webkit-input-placeholder,#everest-forms-builder .evf-tab-content select::-webkit-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-webkit-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-moz-placeholder,#everest-forms-builder .evf-tab-content select::-moz-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-moz-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button):-ms-input-placeholder,#everest-forms-builder .evf-tab-content select:-ms-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area):-ms-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-ms-input-placeholder,#everest-forms-builder .evf-tab-content select::-ms-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-ms-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::placeholder,#everest-forms-builder .evf-tab-content select::placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button):focus,#everest-forms-builder .evf-tab-content select:focus,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area):focus{outline:0}#everest-forms-builder .evf-tab-content textarea,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area){height:120px}#everest-forms-builder .evf-tab-content .evf-grid-lists{margin-left:-1.5%;margin-right:1.5%;background-color:#f9fafc;display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-content .evf-grid-lists .evf-grid-lists-item{padding-left:1.5%;padding-right:1.5%;background-color:#fff}#everest-forms-builder .evf-tab-content .evf-content-section-title{font-size:24px;font-weight:500;margin-bottom:20px;padding-bottom:20px;line-height:34px;border-bottom:1px solid #efefef}#everest-forms-builder .evf-tab-content .everest-forms-panel-field{margin-bottom:20px}#everest-forms-builder .evf-registered-item{z-index:999;cursor:pointer;border-radius:2px;font-size:12px;text-align:center;margin:0;background-color:#fff;border:1px solid #ebedf0;color:#969696}#everest-forms-builder .evf-registered-item .evf-icon{color:inherit;display:block!important;font-size:32px!important}#everest-forms-builder .evf-registered-item.ui-draggable-dragging{border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;text-align:center!important;font-size:12px!important;box-shadow:0 0 32px rgba(0,0,0,.15)}#everest-forms-builder .evf-choices-list li{clear:both;padding:5px 5px;cursor:pointer}#everest-forms-builder .evf-choices-list li input.value{display:none}#everest-forms-builder .evf-choices-list li input[type=checkbox],#everest-forms-builder .evf-choices-list li input[type=radio]{float:left;margin-top:6px}#everest-forms-builder .evf-choices-list li input[type=text]{height:30px;font-size:12px;width:70%;line-height:12px}#everest-forms-builder .evf-choices-list li a.add,#everest-forms-builder .evf-choices-list li a.remove{margin-top:5px;margin-left:2px;display:inline-block;float:right}#everest-forms-builder .evf-choices-list li:hover{background:#f9f9f9}#everest-forms-builder .everest-forms-field.ui-draggable-dragging{margin:0;border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;background-color:#fff;text-align:center;font-size:12px!important}#everest-forms-builder .everest-forms-field.ui-draggable-dragging .evf-icon{color:inherit;display:block!important;font-size:302x!important}#everest-forms-panel-settings .evf-content-section{display:none}#everest-forms-panel-settings .evf-content-section.active{display:block}.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.evf-cancel-btn,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.evf-confirm-btn,.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.evf-cancel-btn,.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.evf-confirm-btn{padding:7px 15px;background-color:#292929;color:#fff;font-size:12px;text-transform:uppercase;border:0 none;border-radius:5px;cursor:pointer;font-weight:600}@media screen and (max-width:1200px){#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:47%}}@media screen and (max-width:782px){.everest-forms_page_edit-evf-form.auto-fold #wpcontent{padding-left:0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-content-wrap,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar{width:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:30.3%}}@media screen and (max-width:600px){#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap{padding:20px 20px 0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0 0 20px;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-1,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-2,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-3{width:auto}}@media screen and (max-width:480px){#everest-forms-builder .evf-tab-lists li a{padding:15px}#everest-forms-builder .evf-tab-lists li .dashicons{font-size:24px}#everest-forms-builder .evf_save_form_action_button{margin:12px 15px 0 5px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:47%}.jconfirm.jconfirm-light .jconfirm-box,.jconfirm.jconfirm-white .jconfirm-box{width:90%!important}}.evf-overlay{height:100%;width:100%;background:0 0;position:absolute;top:0;right:0;left:0;bottom:0;z-index:1000;padding:20px}.tips{cursor:help;text-decoration:none}img.tips{padding:5px 0 0}#tiptip_holder{display:none;z-index:8675309;position:absolute;top:0;left:0}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#333}#tiptip_holder.tip_left{padding-right:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#333}#tiptip_content,.chart-tooltip,.evf_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.chart-tooltip code,.evf_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}.evf_error_tip{max-width:20em;line-height:1.8em;position:absolute;white-space:normal;background:#d82223;margin:1.5em 1px 0 -1em;z-index:9999999}.evf_error_tip::after{content:'';display:block;border:8px solid #d82223;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-3px;left:50%;margin:-1em 0 0 -3px}@font-face{font-family:evf-icon;src:url(../fonts/evf-icon.eot?5fwmb3);src:url(../fonts/evf-icon.eot?5fwmb3#iefix) format("embedded-opentype"),url(../fonts/evf-icon.ttf?5fwmb3) format("truetype"),url(../fonts/evf-icon.woff?5fwmb3) format("woff"),url(../fonts/evf-icon.svg?5fwmb3#evf-icon) format("svg");font-weight:400;font-style:normal}[class*=" evf-icon-"],[class^=evf-icon-]{font-family:evf-icon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.evf-icon-last-name:before{content:"\e900"}.evf-icon-first-name:before{content:"\e901"}.evf-icon-checkbox:before{content:"\e902"}.evf-icon-radio:before{content:"\e903"}.evf-icon-file-upload:before{content:"\e904"}.evf-icon-hidden-field:before{content:"\e90a"}.evf-icon-address:before{content:"\e911"}.evf-icon-phone:before{content:"\e912"}.evf-icon-website:before{content:"\e913"}.evf-icon-number:before{content:"\e914"}.evf-icon-dropdown:before{content:"\e915"}.evf-icon-paragraph:before{content:"\e916"}.evf-icon-multiple-choices:before{content:"\e917"}.evf-icon-date-time:before{content:"\e918"}.evf-icon-email:before{content:"\e919"}.evf-icon-text:before{content:"\e91a"}
1
+ .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}body{margin:0}*{box-sizing:border-box}.everest-forms_page_edit-evf-form #wpcontent{padding-left:0}.everest-forms-add-fields-group .handlediv,.everest-forms-field-option-group .handlediv{float:right}.everest-forms-add-fields-group .handlediv::before,.everest-forms-field-option-group .handlediv::before{content:'\f142'!important;cursor:pointer;display:inline-block;font:400 20px/1 Dashicons;line-height:.5!important;padding:4px;position:relative;right:0;top:0}.everest-forms-add-fields-group.closed .handlediv::before,.everest-forms-field-option-group.closed .handlediv::before{content:'\f140'!important}#everest-forms-builder{margin:0}#everest-forms-builder .evf-builder-tabs{background-color:#7f5aec}#everest-forms-builder a{text-decoration:none}#everest-forms-builder a:focus{outline:0;box-shadow:0 0 0 transparent}#everest-forms-builder .evf-tab-lists{padding:0;margin:0;float:left;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-lists li{margin-bottom:0}#everest-forms-builder .evf-tab-lists li a{font-size:12px;line-height:24px;color:#fff;padding:10px 30px;display:block;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out}#everest-forms-builder .evf-tab-lists li a.active,#everest-forms-builder .evf-tab-lists li a:hover{color:#575757;background-color:#f9fafc;outline:0}#everest-forms-builder .evf-tab-lists li a:focus{outline:0}#everest-forms-builder .evf-tab-lists li .dashicons{display:block;font-size:32px;width:auto;height:auto}#everest-forms-builder .evf_save_form_action_button{float:right;padding:7px 22px;background-color:#fff;color:#000;font-size:12px;text-transform:uppercase;border:0 none;border-radius:100px;margin:20px 45px 0 20px;cursor:pointer}#everest-forms-builder .evf_save_form_action_button:focus{outline:0}#everest-forms-builder .evf-tab-content .everest-forms-panel{width:100%;display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel.active{display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar-content{display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar{background-color:#f9fafc;width:30%;border-right:1px solid #ebedf0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields{padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields-heading{display:block;font-size:14px;font-weight:500;margin-bottom:15px;padding-bottom:10px;color:#575757;border-bottom:1px solid #efefef}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields-heading i{float:right;font-size:14px;margin-left:5px;line-height:1.5}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons{margin-right:-1.5%;margin-left:-1.5%;list-style:none;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{margin-left:1.5%;margin-right:1.5%;padding:20px 8px;border:1px solid #ebedf0;width:30.3%;z-index:999;margin-bottom:10px;color:#969696;cursor:pointer;border-radius:2px;font-size:12px;-webkit-transition:.5s color ease-in-out,.5s border-color ease-in-out;transition:.5s color ease-in-out,.5s border-color ease-in-out;text-align:center;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item .dashicons{display:block;margin:0 auto}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover{color:#7ca8eb;border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover .evf-icon{color:inherit}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg{width:40px;height:40px;display:block;margin:0 auto 10px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-3{fill:#414042;-webkit-transition:.5s fill ease-in-out;transition:.5s fill ease-in-out;font-size:7px;font-weight:300}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover{color:#7ca8eb;border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-3{fill:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging{margin:0;border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-3{fill:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox label,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox label{width:auto;padding:0;display:inline-block;vertical-align:top;height:auto}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox input{margin:3px 5px 0 0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options{display:none;background-color:#f0f1f2;height:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group{border-bottom:1px solid #f0f1f2}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row{margin-bottom:15px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row:last-child{margin-bottom:0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row .inline{margin-bottom:0;display:inline-block;vertical-align:top;margin-left:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option{display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group-toggle{background-color:#f9fafc;padding:15px 20px;font-size:14px;font-weight:600;display:block;color:#404040}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group-inner{background-color:#f0f1f2;padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel{background-color:#f0f1f2;padding:15px 20px;font-size:14px;font-weight:600;display:block;color:#404040;border-bottom:3px solid #f0f1f2}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel .everest-forms-toggle-arrow{float:right;font-size:14px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel.active{background-color:#fff;position:relative;color:#7f5aec;border-color:#7f5aec}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel.active::after{position:absolute;content:"";top:0;right:-1px;bottom:0;width:1px;height:100%;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap{background-color:#fff;width:70%;padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-title-desc .everest-forms-form-name{margin-top:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-field-wrapper{padding:0 15px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-field-wrapper.evf-hover{background-color:#d4e3f9}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row{text-align:center}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span{width:40px;height:40px;line-height:30px;padding:5px;color:#fff;background-color:#969696;border-radius:5px;cursor:pointer;-webkit-transition:.5s ease-in-out background-color;transition:.5s ease-in-out background-color;margin-bottom:20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:active,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:focus,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:hover{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row{background-color:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0 -15px 30px;position:relative;border:1px solid transparent;-webkit-transition:.5s border,.5s background-color;transition:.5s border,.5s background-color}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:last-child{margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row{background-color:#8ce99a;color:#fff;position:absolute;right:0;top:0;z-index:9999;visibility:hidden;opacity:0;-webkit-transition:.7s all;transition:.7s all;padding:5px 10px;cursor:pointer}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-show-grid{display:inline-block;font-size:12px;letter-spacing:1px;font-weight:600;text-transform:uppercase}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-delete-row{display:inline-block;padding-right:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-delete-row span{font-size:14px;height:auto;line-height:1.2;color:#d9534f}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content{display:none;position:absolute;width:200px;padding:30px;text-align:center;right:-20px;border-radius:11px;background-color:#fff;font-weight:600;font-size:12px;top:40px;box-shadow:0 0 39px rgba(0,0,0,.1);-webkit-transition:.9s background-color;transition:.9s background-color}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content::before{top:-5px;content:"";right:45px;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;position:absolute}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content>span{color:#575757;display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content small{color:#c6ccd7;margin-bottom:10px;display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector{height:30px;width:40px;border:1px solid #d6d8da;display:inline-block;margin:3px;border-radius:3px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span{height:100%;display:inline-block;background:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span:nth-child(n+1){border-left:1px solid #d6d8da}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span:nth-child(1){border-left:0 none}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector.active{border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector.active span{border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover{background-color:#f7fafc;border:1px dashed #5d96ee}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover .evf-admin-grid{border:1px dashed #bdbdbd}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover .evf-toggle-row{opacity:1;visibility:visible}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid{background:#fff;min-height:200px;margin:15px;padding:5px;border:1px solid transparent;-webkit-transition:.5s border,.5s background-color;transition:.5s border,.5s background-color;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover{border:1px dashed #bdbdbd}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover.evf-item-hover{position:relative;box-shadow:0 0 5px rgba(0,100,251,.5)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover.evf-item-hover::after{position:absolute;content:"";top:-1px;left:-1px;right:-1px;width:auto;height:15px;background-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-1{width:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-2{width:50%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-3{width:30%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid .evf-registered-item{padding:20px;font-size:18px;text-align:left}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid .evf-registered-item .dashicons{font-size:22px;margin-top:3px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-empty-grid{border:1px dashed #bdbdbd;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-empty-grid:before{position:absolute;margin:auto;content:"\f132";font-size:40px;display:block;font-family:dashicons;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);left:50%;top:50%;color:#d6d8da}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field{margin-bottom:30px;padding:15px;position:relative;box-shadow:0 0 15px transparent;-webkit-transition:.5s box-shadow;transition:.5s box-shadow}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:last-child{margin-bottom:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--first,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--last{width:48.5%;margin-right:3%;float:left}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--last{margin-right:0;float:right}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action{position:absolute;top:10px;right:5px;visibility:hidden;opacity:0;-webkit-transition:.5s all;transition:.5s all}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action a{color:#7ca8eb;margin-left:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action a.everest-forms-field-delete:hover{color:#d9534f}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:hover{box-shadow:0 0 15px rgba(0,0,0,.1)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:hover .evf-field-action{visibility:visible;opacity:1}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper{box-shadow:1px 5px 35px rgba(0,0,0,.2);padding:20px 30px;height:auto!important;left:-20px;right:-20px;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper::before{position:absolute;left:0;top:0;width:5px;height:100%;background-color:#7f5aec;content:""}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper:hover .evf-field-action{display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader{width:100%;border:2px dashed #d5d9e2;background-color:#fbfdfe;border-radius:3px;cursor:pointer;text-align:center;padding-top:30px;padding-bottom:30px;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader svg{width:30px;height:30px;fill:#bbbcbd;margin-bottom:20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader input.file-input{-ms-touch-action:manipulation;touch-action:manipulation;max-width:100%;min-width:14px;margin:0;opacity:0;height:18px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .drop{display:block;font-size:14px;font-weight:600;color:#969696;margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .or{font-size:12px;color:#bdbdbd;font-weight:500;display:block;margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .file-control{position:absolute;bottom:30px;color:#5d96ee;padding-bottom:2px;display:block;left:0;right:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .file-control::before{content:"";width:45px;background-color:#5d96ee;height:1px;display:block;left:50%;bottom:-2px;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .publishing-action{width:100%;text-align:right}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .submit-button{display:inline-block;font-size:12px;font-weight:600;color:#fff;padding:15px 20px;border:0 none;background-color:#8ce99a;border-radius:3px}#everest-forms-builder .evf-tab-content label{font-size:12px;margin-bottom:15px;color:#575757;display:block;font-weight:600}#everest-forms-builder .evf-tab-content label i{color:#bdbdbd;font-size:16px;line-height:1.2}#everest-forms-builder .evf-tab-content label .required{margin-left:5px}#everest-forms-builder .evf-tab-content input:not(.ed_button),#everest-forms-builder .evf-tab-content select,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area){border:1px solid #d5d9e2;border-radius:3px;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox],#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio],#everest-forms-builder .evf-tab-content select[type=checkbox],#everest-forms-builder .evf-tab-content select[type=radio],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]{width:16px;height:16px;background-color:#fff}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio],#everest-forms-builder .evf-tab-content select[type=radio],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]{border-radius:10px}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox]:checked,#everest-forms-builder .evf-tab-content select[type=checkbox]:checked,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox]:checked{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox]:checked::before,#everest-forms-builder .evf-tab-content select[type=checkbox]:checked::before,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox]:checked::before{color:#fff;background-color:transparent}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio]:checked::before,#everest-forms-builder .evf-tab-content select[type=radio]:checked::before,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]:checked::before{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-webkit-input-placeholder,#everest-forms-builder .evf-tab-content select::-webkit-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-webkit-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-moz-placeholder,#everest-forms-builder .evf-tab-content select::-moz-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-moz-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button):-ms-input-placeholder,#everest-forms-builder .evf-tab-content select:-ms-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area):-ms-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-ms-input-placeholder,#everest-forms-builder .evf-tab-content select::-ms-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-ms-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::placeholder,#everest-forms-builder .evf-tab-content select::placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button):focus,#everest-forms-builder .evf-tab-content select:focus,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area):focus{outline:0}#everest-forms-builder .evf-tab-content textarea,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area){height:120px}#everest-forms-builder .evf-tab-content .evf-grid-lists{margin-left:-1.5%;margin-right:1.5%;background-color:#f9fafc;display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-content .evf-grid-lists .evf-grid-lists-item{padding-left:1.5%;padding-right:1.5%;background-color:#fff}#everest-forms-builder .evf-tab-content .evf-content-section-title{font-size:24px;font-weight:500;margin-bottom:20px;padding-bottom:20px;line-height:34px;border-bottom:1px solid #efefef}#everest-forms-builder .evf-tab-content .everest-forms-panel-field{margin-bottom:20px}#everest-forms-builder .evf-registered-item{z-index:999;cursor:pointer;border-radius:2px;font-size:12px;text-align:center;margin:0;background-color:#fff;border:1px solid #ebedf0;color:#969696}#everest-forms-builder .evf-registered-item .evf-icon{color:inherit;display:block!important;font-size:32px!important}#everest-forms-builder .evf-registered-item.ui-draggable-dragging{border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;text-align:center!important;font-size:12px!important;box-shadow:0 0 32px rgba(0,0,0,.15)}#everest-forms-builder .evf-choices-list li{clear:both;padding:5px 5px;cursor:pointer}#everest-forms-builder .evf-choices-list li input.value{display:none}#everest-forms-builder .evf-choices-list li input[type=checkbox],#everest-forms-builder .evf-choices-list li input[type=radio]{float:left;margin-top:6px}#everest-forms-builder .evf-choices-list li input[type=text]{height:30px;font-size:12px;width:70%;line-height:12px}#everest-forms-builder .evf-choices-list li a.add,#everest-forms-builder .evf-choices-list li a.remove{margin-top:5px;margin-left:2px;display:inline-block;float:right}#everest-forms-builder .evf-choices-list li:hover{background:#f9f9f9}#everest-forms-builder .everest-forms-field.ui-draggable-dragging{margin:0;border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;background-color:#fff;text-align:center;font-size:12px!important}#everest-forms-builder .everest-forms-field.ui-draggable-dragging .evf-icon{color:inherit;display:block!important;font-size:302x!important}#everest-forms-panel-settings .evf-content-section{display:none}#everest-forms-panel-settings .evf-content-section.active{display:block}.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.evf-cancel-btn,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.evf-confirm-btn,.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.evf-cancel-btn,.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.evf-confirm-btn{padding:7px 15px;background-color:#292929;color:#fff;font-size:12px;text-transform:uppercase;border:0 none;border-radius:5px;cursor:pointer;font-weight:600}@media screen and (max-width:1200px){#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:47%}}@media screen and (max-width:782px){.everest-forms_page_edit-evf-form.auto-fold #wpcontent{padding-left:0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-content-wrap,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar{width:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:30.3%}}@media screen and (max-width:600px){#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap{padding:20px 20px 0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0 0 20px;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-1,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-2,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-3{width:auto}}@media screen and (max-width:480px){#everest-forms-builder .evf-tab-lists li a{padding:15px}#everest-forms-builder .evf-tab-lists li .dashicons{font-size:24px}#everest-forms-builder .evf_save_form_action_button{margin:12px 15px 0 5px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:47%}.jconfirm.jconfirm-light .jconfirm-box,.jconfirm.jconfirm-white .jconfirm-box{width:90%!important}}.evf-overlay{height:100%;width:100%;background:0 0;position:absolute;top:0;right:0;left:0;bottom:0;z-index:1000;padding:20px}.tips{cursor:help;text-decoration:none}img.tips{padding:5px 0 0}#tiptip_holder{display:none;z-index:8675309;position:absolute;top:0;left:0}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#333}#tiptip_holder.tip_left{padding-right:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#333}#tiptip_content,.chart-tooltip,.evf_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.chart-tooltip code,.evf_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}.evf_error_tip{max-width:20em;line-height:1.8em;position:absolute;white-space:normal;background:#d82223;margin:1.5em 1px 0 -1em;z-index:9999999}.evf_error_tip::after{content:'';display:block;border:8px solid #d82223;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-3px;left:50%;margin:-1em 0 0 -3px}@font-face{font-family:evf-icon;src:url(../fonts/evf-icon.eot?5fwmb3);src:url(../fonts/evf-icon.eot?5fwmb3#iefix) format("embedded-opentype"),url(../fonts/evf-icon.ttf?5fwmb3) format("truetype"),url(../fonts/evf-icon.woff?5fwmb3) format("woff"),url(../fonts/evf-icon.svg?5fwmb3#evf-icon) format("svg");font-weight:400;font-style:normal}[class*=" evf-icon-"],[class^=evf-icon-]{font-family:evf-icon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.evf-icon-last-name:before{content:"\e900"}.evf-icon-first-name:before{content:"\e901"}.evf-icon-checkbox:before{content:"\e902"}.evf-icon-radio:before{content:"\e903"}.evf-icon-file-upload:before{content:"\e904"}.evf-icon-hidden-field:before{content:"\e90a"}.evf-icon-address:before{content:"\e911"}.evf-icon-phone:before{content:"\e912"}.evf-icon-website:before{content:"\e913"}.evf-icon-number:before{content:"\e914"}.evf-icon-dropdown:before{content:"\e915"}.evf-icon-paragraph:before{content:"\e916"}.evf-icon-multiple-choices:before{content:"\e917"}.evf-icon-date-time:before{content:"\e918"}.evf-icon-email:before{content:"\e919"}.evf-icon-text:before{content:"\e91a"}div.jconfirm *,div.jconfirm ::after,div.jconfirm ::before{box-sizing:border-box}div.jconfirm.jconfirm-modern div.jconfirm-box-container div.jconfirm-box{border-radius:0;box-shadow:0 2px 6px rgba(0,0,0,.2)}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content-pane{margin-bottom:20px;display:block}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content-pane .jconfirm-content{overflow:initial}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content{font-size:16px;color:#555;line-height:1.5}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content p{margin:0 0 16px;font-size:16px}div.jconfirm.jconfirm-modern .jconfirm-box input[type=text]{display:block;width:99%;border:1px solid #d6d6d6;padding:10px;box-shadow:none;margin:20px auto 0 auto}div.jconfirm.jconfirm-modern .jconfirm-box #evf-embed-shortcode{margin:20px 0;text-align:center;font-size:24px;padding:8px 5px}div.jconfirm.jconfirm-modern .jconfirm-box #evf-embed-shortcode:disabled{color:#333}div.jconfirm.jconfirm-modern .jconfirm-box button.btn-confirm{background-color:#5d96ee;color:#fff;outline:0}div.jconfirm.jconfirm-modern .jconfirm-box button.btn-confirm:hover{background-color:rgba(93,150,238,.8)}div.jconfirm.jconfirm-modern .jconfirm-box .error{display:none;color:red}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{-webkit-transition:none!important;transition:none!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important;font-size:45px!important}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c .dashicons{height:inherit;width:inherit;font-size:60px}
assets/css/everest-builder.scss CHANGED
@@ -2,6 +2,7 @@
2
  @import "scss/clearings";
3
  @import "scss/admin";
4
  @import "scss/_evf-icon";
 
5
 
6
  /*
7
  #everest-forms-builder {
2
  @import "scss/clearings";
3
  @import "scss/admin";
4
  @import "scss/_evf-icon";
5
+ @import "scss/confirm";
6
 
7
  /*
8
  #everest-forms-builder {
assets/css/everest-forms-rtl.css CHANGED
@@ -1 +1 @@
1
- .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}*{box-sizing:border-box}.everest-forms .evf-frontend-row{margin-right:-20px;margin-left:-20px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.everest-forms .evf-frontend-row .evf-frontend-grid{padding-right:20px;padding-left:20px;margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-1{width:100%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2{width:50%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:30%}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field{margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field .evf-label-hide{display:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul{margin:0;padding:0;list-style:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li{display:block;margin-left:20px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{display:inline-block;vertical-align:middle;margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=checkbox],.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=radio]{margin-left:8px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{font-weight:500;color:#575757!important}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid label{color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid textarea{border-color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated textarea{border-color:#5cb85c}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ::-webkit-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-moz-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-ms-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row label{font-size:14px;margin-bottom:20px;color:#575757;display:block;font-weight:600}.everest-forms .evf-frontend-row label .required{color:red;font-weight:700;border:0}.everest-forms .evf-frontend-row label.evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}.everest-forms .evf-frontend-row input,.everest-forms .evf-frontend-row select,.everest-forms .evf-frontend-row textarea{border:1px solid #969696;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px;margin-bottom:0;background-color:transparent;box-shadow:0 0 0 0 transparent;border-radius:0}.everest-forms .evf-frontend-row input[type=checkbox],.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=checkbox],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=checkbox],.everest-forms .evf-frontend-row textarea[type=radio]{width:14px;height:14px;background-color:#fff}.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=radio]{border-radius:10px}.everest-forms .evf-frontend-row input[type=checkbox]:checked,.everest-forms .evf-frontend-row select[type=checkbox]:checked,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked{background-color:#7ca8eb}.everest-forms .evf-frontend-row input[type=checkbox]:checked::before,.everest-forms .evf-frontend-row select[type=checkbox]:checked::before,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked::before{color:#fff;background-color:transparent}.everest-forms .evf-frontend-row input[type=radio]:checked::before,.everest-forms .evf-frontend-row select[type=radio]:checked::before,.everest-forms .evf-frontend-row textarea[type=radio]:checked::before{background-color:#7ca8eb}.everest-forms .evf-frontend-row input::-webkit-input-placeholder,.everest-forms .evf-frontend-row select::-webkit-input-placeholder,.everest-forms .evf-frontend-row textarea::-webkit-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-moz-placeholder,.everest-forms .evf-frontend-row select::-moz-placeholder,.everest-forms .evf-frontend-row textarea::-moz-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:-ms-input-placeholder,.everest-forms .evf-frontend-row select:-ms-input-placeholder,.everest-forms .evf-frontend-row textarea:-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-ms-input-placeholder,.everest-forms .evf-frontend-row select::-ms-input-placeholder,.everest-forms .evf-frontend-row textarea::-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::placeholder,.everest-forms .evf-frontend-row select::placeholder,.everest-forms .evf-frontend-row textarea::placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:focus,.everest-forms .evf-frontend-row select:focus,.everest-forms .evf-frontend-row textarea:focus{outline:0;border:1px solid #7ca8eb}.everest-forms .evf-frontend-row textarea{height:100px}.everest-forms .evf-submit-container{margin-top:30px;text-align:left}.everest-forms .evf-submit{padding:15px 30px;font-size:12px;border:0 none;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out;border-radius:0}.everest-forms .layout-two label{margin-bottom:0}.everest-forms .layout-two .evf-field-checkbox label,.everest-forms .layout-two .evf-field-radio label{margin-bottom:20px}.everest-forms .layout-two input,.everest-forms .layout-two select,.everest-forms .layout-two textarea{border-top:none transparent;border-left:none transparent;border-right:none transparent;border-bottom:1px solid #969696;height:40px;padding:10px 0;background-color:transparent}.everest-forms .layout-two input:focus,.everest-forms .layout-two select:focus,.everest-forms .layout-two textarea:focus{border-top:none transparent;border-left:none transparent;border-right:none transparent}.everest-forms .layout-two textarea{height:80px}.everest-forms .everest-forms-notice{padding:1em 3em;margin:0 0 2em;position:relative;background-color:#7ca8eb;color:#fff;border-radius:5px}.everest-forms .everest-forms-notice::after,.everest-forms .everest-forms-notice::before{content:' ';display:table}.everest-forms .everest-forms-notice::after{clear:both}.everest-forms .everest-forms-notice::before{font-family:dashicons;content:"\f348";position:absolute;top:1em;right:1.5em;color:inherit}.everest-forms .everest-forms-notice .button{float:left}.everest-forms .everest-forms-notice li{list-style:none outside!important;padding-right:0!important;margin-right:0!important}.everest-forms .everest-forms-notice--success{background-color:#5cb85c}.everest-forms .everest-forms-notice--success::before{content:"\f147"}.everest-forms .everest-forms-notice--error{background-color:#d9534f}.everest-forms .everest-forms-notice--error::before{content:"\f534";color:inherit}.everest-forms .everest-forms-notice--error .everest-forms-notice-list{margin:0;list-style:none outside}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item{margin-bottom:.5em}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item:last-child{margin-bottom:0}.evf-recaptcha-row .evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}@media screen and (max-width:768px){.everest-forms .evf-frontend-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.everest-forms .evf-frontend-row .evf-frontend-grid{margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2,.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:100%}}
1
+ .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}*{box-sizing:border-box}.everest-forms .evf-frontend-row{margin-right:-20px;margin-left:-20px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.everest-forms .evf-frontend-row .evf-frontend-grid{padding-right:20px;padding-left:20px;margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-1{width:100%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2{width:50%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:30%}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field{margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field .evf-label-hide{display:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul{margin:0;padding:0;list-style:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li{display:block;margin-left:20px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{display:inline-block;vertical-align:middle;margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=checkbox],.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=radio]{margin-left:8px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{font-weight:500;color:#575757!important}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid label{color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid textarea{border-color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated textarea{border-color:#5cb85c}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ::-webkit-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-moz-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-ms-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row label{font-size:14px;margin-bottom:20px;color:#575757;display:block;font-weight:600}.everest-forms .evf-frontend-row label .required{color:red;font-weight:700;border:0}.everest-forms .evf-frontend-row label.evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}.everest-forms .evf-frontend-row input,.everest-forms .evf-frontend-row select,.everest-forms .evf-frontend-row textarea{border:1px solid #969696;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px;margin-bottom:0;background-color:transparent;box-shadow:0 0 0 0 transparent;border-radius:0}.everest-forms .evf-frontend-row input[type=checkbox],.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=checkbox],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=checkbox],.everest-forms .evf-frontend-row textarea[type=radio]{width:14px;height:14px;background-color:#fff}.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=radio]{border-radius:10px}.everest-forms .evf-frontend-row input[type=checkbox]:checked,.everest-forms .evf-frontend-row select[type=checkbox]:checked,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked{background-color:#7ca8eb}.everest-forms .evf-frontend-row input[type=checkbox]:checked::before,.everest-forms .evf-frontend-row select[type=checkbox]:checked::before,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked::before{color:#fff;background-color:transparent}.everest-forms .evf-frontend-row input[type=radio]:checked::before,.everest-forms .evf-frontend-row select[type=radio]:checked::before,.everest-forms .evf-frontend-row textarea[type=radio]:checked::before{background-color:#7ca8eb}.everest-forms .evf-frontend-row input::-webkit-input-placeholder,.everest-forms .evf-frontend-row select::-webkit-input-placeholder,.everest-forms .evf-frontend-row textarea::-webkit-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-moz-placeholder,.everest-forms .evf-frontend-row select::-moz-placeholder,.everest-forms .evf-frontend-row textarea::-moz-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:-ms-input-placeholder,.everest-forms .evf-frontend-row select:-ms-input-placeholder,.everest-forms .evf-frontend-row textarea:-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-ms-input-placeholder,.everest-forms .evf-frontend-row select::-ms-input-placeholder,.everest-forms .evf-frontend-row textarea::-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::placeholder,.everest-forms .evf-frontend-row select::placeholder,.everest-forms .evf-frontend-row textarea::placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:focus,.everest-forms .evf-frontend-row select:focus,.everest-forms .evf-frontend-row textarea:focus{outline:0;border:1px solid #7ca8eb}.everest-forms .evf-frontend-row textarea{height:100px}.everest-forms .evf-submit-container{margin-top:30px;text-align:left}.everest-forms .evf-submit{padding:15px 30px;font-size:12px;border:0 none;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out;border-radius:0}.everest-forms .layout-two label{margin-bottom:0}.everest-forms .layout-two .evf-field-checkbox label,.everest-forms .layout-two .evf-field-radio label{margin-bottom:20px}.everest-forms .layout-two input,.everest-forms .layout-two select,.everest-forms .layout-two textarea{border-top:none transparent;border-left:none transparent;border-right:none transparent;border-bottom:1px solid #969696;height:40px;padding:10px 0;background-color:transparent}.everest-forms .layout-two input:focus,.everest-forms .layout-two select:focus,.everest-forms .layout-two textarea:focus{border-top:none transparent;border-left:none transparent;border-right:none transparent}.everest-forms .layout-two textarea{height:80px}.everest-forms .everest-forms-notice{padding:1em 3em;margin:0 0 2em;position:relative;background-color:#7ca8eb;color:#fff;border-radius:5px}.everest-forms .everest-forms-notice::after,.everest-forms .everest-forms-notice::before{content:' ';display:table}.everest-forms .everest-forms-notice::after{clear:both}.everest-forms .everest-forms-notice::before{font-family:dashicons;content:"\f348";position:absolute;top:1em;right:1.5em;color:inherit}.everest-forms .everest-forms-notice .button{float:left}.everest-forms .everest-forms-notice li{list-style:none outside!important;padding-right:0!important;margin-right:0!important}.everest-forms .everest-forms-notice--success{background-color:#5cb85c}.everest-forms .everest-forms-notice--success::before{content:"\f147"}.everest-forms .everest-forms-notice--error{background-color:#d9534f}.everest-forms .everest-forms-notice--error::before{content:"\f534";color:inherit}.everest-forms .everest-forms-notice--error .everest-forms-notice-list{margin:0;list-style:none outside}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item{margin-bottom:.5em}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item:last-child{margin-bottom:0}.evf-recaptcha-row .evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}@media screen and (max-width:768px){.everest-forms .evf-frontend-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0}.everest-forms .evf-frontend-row .evf-frontend-grid{margin-bottom:30px;padding:0}.everest-forms .evf-frontend-row .evf-frontend-grid:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2,.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:100%}}
assets/css/everest-forms.css CHANGED
@@ -1 +1 @@
1
- .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}*{box-sizing:border-box}.everest-forms .evf-frontend-row{margin-left:-20px;margin-right:-20px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.everest-forms .evf-frontend-row .evf-frontend-grid{padding-left:20px;padding-right:20px;margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-1{width:100%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2{width:50%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:30%}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field{margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field .evf-label-hide{display:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul{margin:0;padding:0;list-style:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li{display:block;margin-right:20px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{display:inline-block;vertical-align:middle;margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=checkbox],.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=radio]{margin-right:8px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{font-weight:500;color:#575757!important}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid label{color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid textarea{border-color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated textarea{border-color:#5cb85c}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ::-webkit-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-moz-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-ms-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row label{font-size:14px;margin-bottom:20px;color:#575757;display:block;font-weight:600}.everest-forms .evf-frontend-row label .required{color:red;font-weight:700;border:0}.everest-forms .evf-frontend-row label.evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}.everest-forms .evf-frontend-row input,.everest-forms .evf-frontend-row select,.everest-forms .evf-frontend-row textarea{border:1px solid #969696;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px;margin-bottom:0;background-color:transparent;box-shadow:0 0 0 0 transparent;border-radius:0}.everest-forms .evf-frontend-row input[type=checkbox],.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=checkbox],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=checkbox],.everest-forms .evf-frontend-row textarea[type=radio]{width:14px;height:14px;background-color:#fff}.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=radio]{border-radius:10px}.everest-forms .evf-frontend-row input[type=checkbox]:checked,.everest-forms .evf-frontend-row select[type=checkbox]:checked,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked{background-color:#7ca8eb}.everest-forms .evf-frontend-row input[type=checkbox]:checked::before,.everest-forms .evf-frontend-row select[type=checkbox]:checked::before,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked::before{color:#fff;background-color:transparent}.everest-forms .evf-frontend-row input[type=radio]:checked::before,.everest-forms .evf-frontend-row select[type=radio]:checked::before,.everest-forms .evf-frontend-row textarea[type=radio]:checked::before{background-color:#7ca8eb}.everest-forms .evf-frontend-row input::-webkit-input-placeholder,.everest-forms .evf-frontend-row select::-webkit-input-placeholder,.everest-forms .evf-frontend-row textarea::-webkit-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-moz-placeholder,.everest-forms .evf-frontend-row select::-moz-placeholder,.everest-forms .evf-frontend-row textarea::-moz-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:-ms-input-placeholder,.everest-forms .evf-frontend-row select:-ms-input-placeholder,.everest-forms .evf-frontend-row textarea:-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-ms-input-placeholder,.everest-forms .evf-frontend-row select::-ms-input-placeholder,.everest-forms .evf-frontend-row textarea::-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::placeholder,.everest-forms .evf-frontend-row select::placeholder,.everest-forms .evf-frontend-row textarea::placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:focus,.everest-forms .evf-frontend-row select:focus,.everest-forms .evf-frontend-row textarea:focus{outline:0;border:1px solid #7ca8eb}.everest-forms .evf-frontend-row textarea{height:100px}.everest-forms .evf-submit-container{margin-top:30px;text-align:right}.everest-forms .evf-submit{padding:15px 30px;font-size:12px;border:0 none;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out;border-radius:0}.everest-forms .layout-two label{margin-bottom:0}.everest-forms .layout-two .evf-field-checkbox label,.everest-forms .layout-two .evf-field-radio label{margin-bottom:20px}.everest-forms .layout-two input,.everest-forms .layout-two select,.everest-forms .layout-two textarea{border-top:none transparent;border-right:none transparent;border-left:none transparent;border-bottom:1px solid #969696;height:40px;padding:10px 0;background-color:transparent}.everest-forms .layout-two input:focus,.everest-forms .layout-two select:focus,.everest-forms .layout-two textarea:focus{border-top:none transparent;border-right:none transparent;border-left:none transparent}.everest-forms .layout-two textarea{height:80px}.everest-forms .everest-forms-notice{padding:1em 3em;margin:0 0 2em;position:relative;background-color:#7ca8eb;color:#fff;border-radius:5px}.everest-forms .everest-forms-notice::after,.everest-forms .everest-forms-notice::before{content:' ';display:table}.everest-forms .everest-forms-notice::after{clear:both}.everest-forms .everest-forms-notice::before{font-family:dashicons;content:"\f348";position:absolute;top:1em;left:1.5em;color:inherit}.everest-forms .everest-forms-notice .button{float:right}.everest-forms .everest-forms-notice li{list-style:none outside!important;padding-left:0!important;margin-left:0!important}.everest-forms .everest-forms-notice--success{background-color:#5cb85c}.everest-forms .everest-forms-notice--success::before{content:"\f147"}.everest-forms .everest-forms-notice--error{background-color:#d9534f}.everest-forms .everest-forms-notice--error::before{content:"\f534";color:inherit}.everest-forms .everest-forms-notice--error .everest-forms-notice-list{margin:0;list-style:none outside}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item{margin-bottom:.5em}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item:last-child{margin-bottom:0}.evf-recaptcha-row .evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}@media screen and (max-width:768px){.everest-forms .evf-frontend-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.everest-forms .evf-frontend-row .evf-frontend-grid{margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2,.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:100%}}
1
+ .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}*{box-sizing:border-box}.everest-forms .evf-frontend-row{margin-left:-20px;margin-right:-20px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.everest-forms .evf-frontend-row .evf-frontend-grid{padding-left:20px;padding-right:20px;margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-1{width:100%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2{width:50%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:30%}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field{margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field .evf-label-hide{display:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul{margin:0;padding:0;list-style:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li{display:block;margin-right:20px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{display:inline-block;vertical-align:middle;margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=checkbox],.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=radio]{margin-right:8px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{font-weight:500;color:#575757!important}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid label{color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid textarea{border-color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated textarea{border-color:#5cb85c}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ::-webkit-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-moz-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-ms-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row label{font-size:14px;margin-bottom:20px;color:#575757;display:block;font-weight:600}.everest-forms .evf-frontend-row label .required{color:red;font-weight:700;border:0}.everest-forms .evf-frontend-row label.evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}.everest-forms .evf-frontend-row input,.everest-forms .evf-frontend-row select,.everest-forms .evf-frontend-row textarea{border:1px solid #969696;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px;margin-bottom:0;background-color:transparent;box-shadow:0 0 0 0 transparent;border-radius:0}.everest-forms .evf-frontend-row input[type=checkbox],.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=checkbox],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=checkbox],.everest-forms .evf-frontend-row textarea[type=radio]{width:14px;height:14px;background-color:#fff}.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=radio]{border-radius:10px}.everest-forms .evf-frontend-row input[type=checkbox]:checked,.everest-forms .evf-frontend-row select[type=checkbox]:checked,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked{background-color:#7ca8eb}.everest-forms .evf-frontend-row input[type=checkbox]:checked::before,.everest-forms .evf-frontend-row select[type=checkbox]:checked::before,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked::before{color:#fff;background-color:transparent}.everest-forms .evf-frontend-row input[type=radio]:checked::before,.everest-forms .evf-frontend-row select[type=radio]:checked::before,.everest-forms .evf-frontend-row textarea[type=radio]:checked::before{background-color:#7ca8eb}.everest-forms .evf-frontend-row input::-webkit-input-placeholder,.everest-forms .evf-frontend-row select::-webkit-input-placeholder,.everest-forms .evf-frontend-row textarea::-webkit-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-moz-placeholder,.everest-forms .evf-frontend-row select::-moz-placeholder,.everest-forms .evf-frontend-row textarea::-moz-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:-ms-input-placeholder,.everest-forms .evf-frontend-row select:-ms-input-placeholder,.everest-forms .evf-frontend-row textarea:-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-ms-input-placeholder,.everest-forms .evf-frontend-row select::-ms-input-placeholder,.everest-forms .evf-frontend-row textarea::-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::placeholder,.everest-forms .evf-frontend-row select::placeholder,.everest-forms .evf-frontend-row textarea::placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:focus,.everest-forms .evf-frontend-row select:focus,.everest-forms .evf-frontend-row textarea:focus{outline:0;border:1px solid #7ca8eb}.everest-forms .evf-frontend-row textarea{height:100px}.everest-forms .evf-submit-container{margin-top:30px;text-align:right}.everest-forms .evf-submit{padding:15px 30px;font-size:12px;border:0 none;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out;border-radius:0}.everest-forms .layout-two label{margin-bottom:0}.everest-forms .layout-two .evf-field-checkbox label,.everest-forms .layout-two .evf-field-radio label{margin-bottom:20px}.everest-forms .layout-two input,.everest-forms .layout-two select,.everest-forms .layout-two textarea{border-top:none transparent;border-right:none transparent;border-left:none transparent;border-bottom:1px solid #969696;height:40px;padding:10px 0;background-color:transparent}.everest-forms .layout-two input:focus,.everest-forms .layout-two select:focus,.everest-forms .layout-two textarea:focus{border-top:none transparent;border-right:none transparent;border-left:none transparent}.everest-forms .layout-two textarea{height:80px}.everest-forms .everest-forms-notice{padding:1em 3em;margin:0 0 2em;position:relative;background-color:#7ca8eb;color:#fff;border-radius:5px}.everest-forms .everest-forms-notice::after,.everest-forms .everest-forms-notice::before{content:' ';display:table}.everest-forms .everest-forms-notice::after{clear:both}.everest-forms .everest-forms-notice::before{font-family:dashicons;content:"\f348";position:absolute;top:1em;left:1.5em;color:inherit}.everest-forms .everest-forms-notice .button{float:right}.everest-forms .everest-forms-notice li{list-style:none outside!important;padding-left:0!important;margin-left:0!important}.everest-forms .everest-forms-notice--success{background-color:#5cb85c}.everest-forms .everest-forms-notice--success::before{content:"\f147"}.everest-forms .everest-forms-notice--error{background-color:#d9534f}.everest-forms .everest-forms-notice--error::before{content:"\f534";color:inherit}.everest-forms .everest-forms-notice--error .everest-forms-notice-list{margin:0;list-style:none outside}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item{margin-bottom:.5em}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item:last-child{margin-bottom:0}.evf-recaptcha-row .evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}@media screen and (max-width:768px){.everest-forms .evf-frontend-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0}.everest-forms .evf-frontend-row .evf-frontend-grid{margin-bottom:30px;padding:0}.everest-forms .evf-frontend-row .evf-frontend-grid:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2,.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:100%}}
assets/css/everest-forms.scss CHANGED
@@ -314,9 +314,11 @@
314
  .everest-forms {
315
  .evf-frontend-row {
316
  flex-direction: column;
 
317
 
318
  .evf-frontend-grid {
319
  margin-bottom: 30px;
 
320
 
321
  &:last-child {
322
  margin-bottom: 0;
314
  .everest-forms {
315
  .evf-frontend-row {
316
  flex-direction: column;
317
+ margin: 0;
318
 
319
  .evf-frontend-grid {
320
  margin-bottom: 30px;
321
+ padding: 0;
322
 
323
  &:last-child {
324
  margin-bottom: 0;
assets/css/scss/_confirm.scss ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * _confirm.scss
3
+ * Styling applied to jQuery-confirm JS alert library.
4
+ */
5
+
6
+ /**
7
+ * Styling begins
8
+ */
9
+ div.jconfirm {
10
+
11
+ *,
12
+ *::before,
13
+ *::after {
14
+ -webkit-box-sizing: border-box;
15
+ -moz-box-sizing: border-box;
16
+ box-sizing: border-box;
17
+ }
18
+
19
+ &.jconfirm-modern {
20
+
21
+ div.jconfirm-box-container div.jconfirm-box {
22
+ border-radius: 0;
23
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
24
+ }
25
+
26
+ .jconfirm-box {
27
+
28
+ div.jconfirm-content-pane {
29
+ margin-bottom: 20px;
30
+ display: block;
31
+
32
+ .jconfirm-content {
33
+ overflow: initial;
34
+ }
35
+ }
36
+
37
+ div.jconfirm-content {
38
+ font-size: 16px;
39
+ color: #555;
40
+ line-height: 1.5;
41
+
42
+ p {
43
+ margin: 0 0 16px;
44
+ font-size: 16px;
45
+ }
46
+ }
47
+
48
+ input[type=text] {
49
+ display: block;
50
+ width: 99%;
51
+ border: 1px solid #d6d6d6;
52
+ padding: 10px;
53
+ box-shadow: none;
54
+ margin: 20px auto 0 auto;
55
+ }
56
+
57
+ #evf-embed-shortcode {
58
+ margin: 20px 0;
59
+ text-align: center;
60
+ font-size: 24px;
61
+ padding: 8px 5px;
62
+ }
63
+
64
+ #evf-embed-shortcode:disabled {
65
+ color: #333;
66
+ }
67
+
68
+ button.btn-confirm {
69
+ background-color: $button-color;
70
+ color: $color-white;
71
+ outline: none;
72
+
73
+ &:hover {
74
+ background-color: transparentize( $button-color, 0.2 )
75
+ }
76
+ }
77
+
78
+ .error {
79
+ display: none;
80
+ color: red;
81
+ }
82
+
83
+ div.jconfirm-title-c .jconfirm-icon-c {
84
+ -webkit-transition: none !important;
85
+ transition: none !important;
86
+ -webkit-transform: none !important;
87
+ -ms-transform: none !important;
88
+ transform: none !important;
89
+ font-size: 45px !important;
90
+
91
+ .dashicons {
92
+ height: inherit;
93
+ width: inherit;
94
+ font-size: 60px;
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
assets/js/admin/admin-helper.min.js CHANGED
@@ -1 +1 @@
1
- var evfHelper={init:function(){},updateQueryString:function(e,n,r){r||(r=window.location.href);var i,t=new RegExp("([?&])"+e+"=.*?(&|#|$)(.*)","gi");if(t.test(r))return void 0!==n&&null!==n?r.replace(t,"$1"+e+"="+n+"$2$3"):(i=r.split("#"),r=i[0].replace(t,"$1$3").replace(/(&|\?)$/,""),"undefined"!=typeof i[1]&&null!==i[1]&&(r+="#"+i[1]),r);if(void 0!==n&&null!==n){var a=-1!==r.indexOf("?")?"&":"?";return i=r.split("#"),r=i[0]+a+e+"="+n,"undefined"!=typeof i[1]&&null!==i[1]&&(r+="#"+i[1]),r}return r},parseInt:function(e,n){return void 0!==n?parseInt(e,n):parseInt(e,0)},getQueryString:function(e){var n=new RegExp("[?&]"+e+"=([^&]*)").exec(window.location.search);return n&&decodeURIComponent(n[1].replace(/\+/g," "))},isNumber:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},startEvfOverLay:function(e,n){var r=$("<div class='evf-overlay'/>");r.append('<div class="loading"/>'),n.find(".spinner").remove(),e.find(".evf-overlay").remove(),e.css({position:"relative"}),e.append(r),n.append('<span style="margin-top: -1px;margin-right: 0;" class="spinner is-active"/>')},endEvfOverLay:function(e,n){e.find(".evf-overlay").fadeOut(),e.find(".evf-overlay").remove(),e.removeAttr("style"),n.find(".spinner").remove()}};evfHelper.init();
1
+ var evfHelper={init:function(){},updateQueryString:function(e,n,r){r||(r=window.location.href);var i,t=new RegExp("([?&])"+e+"=.*?(&|#|$)(.*)","gi");if(t.test(r))return null!=n?r.replace(t,"$1"+e+"="+n+"$2$3"):(r=(i=r.split("#"))[0].replace(t,"$1$3").replace(/(&|\?)$/,""),"undefined"!=typeof i[1]&&null!==i[1]&&(r+="#"+i[1]),r);if(null!=n){var a=-1!==r.indexOf("?")?"&":"?";return r=(i=r.split("#"))[0]+a+e+"="+n,"undefined"!=typeof i[1]&&null!==i[1]&&(r+="#"+i[1]),r}return r},parseInt:function(e,n){return void 0!==n?parseInt(e,n):parseInt(e,0)},getQueryString:function(e){var n=new RegExp("[?&]"+e+"=([^&]*)").exec(window.location.search);return n&&decodeURIComponent(n[1].replace(/\+/g," "))},isNumber:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},startEvfOverLay:function(e,n){var r=$("<div class='evf-overlay'/>");r.append('<div class="loading"/>'),n.find(".spinner").remove(),e.find(".evf-overlay").remove(),e.css({position:"relative"}),e.append(r),n.append('<span style="margin-top: -1px;margin-right: 0;" class="spinner is-active"/>')},endEvfOverLay:function(e,n){e.find(".evf-overlay").fadeOut(),e.find(".evf-overlay").remove(),e.removeAttr("style"),n.find(".spinner").remove()}};evfHelper.init();
assets/js/admin/everest-builder.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){e.fn.EverestBuilder=function(n){return this.each(function(){var t=e.extend({},{fields:[],form_settings:{},appearance_settings:{},dragged_fields:{}},n);({draggableNode:function(){var n=e('<div class="eb-draggable"/>');e.each(t.fields,function(r,o){if("undefined"!=typeof o.type){var d=e.fn.EverestBuilder.nodeGenerator(o.type,o,t);n.append(d)}else!function(e,n){var t="#a94442";void 0!==n&&"info"===n&&(t="#31708f"),console.log("%c EverestBuilder - Notice : "+e,"color: "+t)}("Undefined property type of field")})},renderNode:function(){this.draggableNode()},init:function(){this.renderNode()}}).init()})}}(jQuery),function(e){e.fn.EverestBuilder.nodeGenerator=function(n,t,r){"undefined"==typeof e.fn.EverestBuilder.nodeGenerator[n]&&eb_error("Could not find method - "+n),e.fn.EverestBuilder.nodeGenerator[n](t,r)},e.fn.EverestBuilder.nodeGenerator.text=function(n,t){var r=e.extend({},{type:"text",field_settings:{required:!0,"default":"LOL World",meta_key:"this_is_field_meta_key"}},n);console.log(n),console.log(r)}}(jQuery);
1
+ !function(d){d.fn.EverestBuilder=function(e){return this.each(function(){var o=d.extend({},{fields:[],form_settings:{},appearance_settings:{},dragged_fields:{}},e);({draggableNode:function(){var r=d('<div class="eb-draggable"/>');d.each(o.fields,function(e,n){if("undefined"!=typeof n.type){var t=d.fn.EverestBuilder.nodeGenerator(n.type,n,o);r.append(t)}else!function(e,n){var t="#a94442";void 0!==n&&"info"===n&&(t="#31708f");console.log("%c EverestBuilder - Notice : "+e,"color: "+t)}("Undefined property type of field")})},renderNode:function(){this.draggableNode()},init:function(){this.renderNode()}}).init()})}}(jQuery),function(r){r.fn.EverestBuilder.nodeGenerator=function(e,n,t){"undefined"==typeof r.fn.EverestBuilder.nodeGenerator[e]&&eb_error("Could not find method - "+e),r.fn.EverestBuilder.nodeGenerator[e](n,t)},r.fn.EverestBuilder.nodeGenerator.text=function(e,n){var t=r.extend({},{type:"text",field_settings:{required:!0,"default":"LOL World",meta_key:"this_is_field_meta_key"}},e);console.log(e),console.log(t)}}(jQuery);
assets/js/admin/everest-panel-builder.js CHANGED
@@ -1,3 +1,4 @@
 
1
  (function ( $, evf_data ) {
2
 
3
 
@@ -20,6 +21,28 @@
20
  EVFPanelBuilder.bindUI();
21
  },
22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  load: function () {
24
 
25
  },
@@ -82,45 +105,30 @@
82
  EVFPanelBuilder.choiceChange(field_id);
83
  });
84
  $('body').on('click', '.evf-choices-list a.remove', function () {
85
- var ul = $(this).closest('.evf-choices-list');
86
- var field_id = ul.attr('data-field-id');
87
- if ( ul.find('li').length < 2 ) {
88
-
89
- var type = '';
90
- var title = evf_data.delete_confirm_title;
91
- var content = evf_data.are_you_sure_want_to_delete_row;
92
-
93
- var buttons = {
94
- ok: {
95
- text: evf_data.ok,
96
- btnClass: 'evf-ok-btn',
97
- action: function () {
98
-
99
  }
100
  }
101
- };
102
-
103
- type = 'red';
104
- title = evf_data.could_not_delete_single_choice;
105
- content = evf_data.could_not_delete_single_choice_content;
106
-
107
- $.confirm({
108
- columnClass: 'evf-responsive-class',
109
- type: type,
110
- typeAnimated: true,
111
- boxWidth: '400px',
112
- useBootstrap: false,
113
- title: title,
114
- content: content,
115
- buttons: buttons
116
  });
117
- return;
 
 
118
  }
119
- $(this).closest('li').remove();
120
- EVFPanelBuilder.choiceChange(field_id);
121
  });
122
- var selector = '.evf-choices-list input';
123
 
 
124
 
125
  $('body').on('keyup paste click', selector, function () {
126
  var ul = $(this).closest('.evf-choices-list');
@@ -191,52 +199,47 @@
191
  row.remove();
192
  },
193
  bindRemoveRow: function () {
194
- $('body').on('click', '.evf-delete-row', function () {
195
- var row = $(this).closest('.evf-admin-row');
196
- var buttons = {
197
- confirm: {
198
- text: evf_data.confirm,
199
- btnClass: 'evf-confirm-btn',
200
- action: function () {
201
- EVFPanelBuilder.removeRow(row);
202
- }
203
- }, cancel: {
204
- text: evf_data.cancel,
205
- btnClass: 'evf-cancel-btn',
206
- action: function () {
207
-
 
208
  }
209
- }
210
- };
211
- var type = '';
212
- var title = evf_data.delete_confirm_title;
213
- var content = evf_data.are_you_sure_want_to_delete_row;
214
- if ( $('.evf-admin-row').length < 2 ) {
215
- buttons = {
216
- ok: {
217
- text: evf_data.ok,
218
- btnClass: 'evf-ok-btn',
219
- action: function () {
220
-
 
 
 
 
 
 
 
 
221
  }
222
  }
223
- };
224
-
225
- type = 'red';
226
- title = evf_data.could_not_delete_single_row_title;
227
- content = evf_data.could_not_delete_single_row_content;
228
  }
229
- $.confirm({
230
- columnClass: 'evf-responsive-class',
231
- type: type,
232
- typeAnimated: true,
233
- boxWidth: '400px',
234
- useBootstrap: false,
235
- title: title,
236
- content: content,
237
- buttons: buttons
238
- });
239
- })
240
  },
241
  bindAddNewRow: function () {
242
 
@@ -305,33 +308,47 @@
305
 
306
  },
307
  bindCloneField: function () {
308
- $('body').on('click', '.everest-forms-preview .everest-forms-field .everest-forms-field-duplicate', function () {
309
- var field = $(this).closest('.everest-forms-field');
310
- var label_title = field.find('.label-title span.text').text();
311
- $.confirm({
312
- columnClass: 'evf-responsive-class',
313
- boxWidth: '400px',
314
- useBootstrap: false,
315
- title: evf_data.duplicate_confirm_title,
316
- content: evf_data.are_you_sure_want_to_duplicate_this + ' <b>' + label_title + '</b> ' + evf_data.field + ' ?',
317
- buttons: {
318
- confirm: {
319
- text: evf_data.confirm,
320
- btnClass: 'evf-confirm-btn',
321
- action: function () {
322
- EVFPanelBuilder.cloneFieldAction(field);
323
  }
324
- }, cancel: {
325
- text: evf_data.cancel,
326
- btnClass: 'evf-cancel-btn',
327
- action: function () {
328
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
329
  }
330
  }
331
- }
332
- });
333
- });
334
-
335
  },
336
  cloneFieldAction: function ( field ) {
337
  var element_field_id = field.attr('data-field-id');
@@ -345,17 +362,13 @@
345
  url: evf_data.ajax_url,
346
  data: data,
347
  type: 'POST',
348
- beforeSend: function () {
349
- },
350
  success: function ( response ) {
351
  if ( typeof response.success === 'boolean' && response.success === true ) {
352
-
353
  var field_id = response.data.field_id;
354
  var field_key = response.data.field_key;
355
  $('#everest-forms-field-id').val(field_id);
356
-
357
  EVFPanelBuilder.render_node(field, element_field_id, field_key);
358
-
359
  }
360
  }
361
  });
@@ -367,7 +380,7 @@
367
  newOptionHtml = option.html(),
368
  new_field_label = evf_data.copy_of + $('#everest-forms-field-option-' + old_key + '-label').val(),
369
  newFieldCloned = field.clone();
370
- var regex = new RegExp(old_key, "g");
371
  newOptionHtml = newOptionHtml.replace(regex, new_key);
372
  var newOption = $('<div class="everest-forms-field-option everest-forms-field-option-' + field_type + '" id="everest-forms-field-option-' + new_key + '" data-field-id="' + new_key + '" />');
373
  newOption.append(newOptionHtml);
@@ -399,7 +412,6 @@
399
  });
400
 
401
  $('.everest-forms-field-options').append(newOption);
402
-
403
  $('#everest-forms-field-option-' + new_key + '-label').val(new_field_label);
404
 
405
  // Field Clone
@@ -408,43 +420,56 @@
408
  newFieldCloned.attr('data-field-id', new_key);
409
  newFieldCloned.attr('data-field-type', field_type);
410
  newFieldCloned.find('.label-title .text').text(new_field_label);
411
- field.closest('.evf-admin-grid').append(newFieldCloned);
412
- $(document).trigger('everest-form-cloned', [ new_key, type ]);
413
-
414
-
415
  },
416
  bindFieldDelete: function () {
417
- $('body').on('click', '.everest-forms-preview .everest-forms-field .everest-forms-field-delete', function () {
418
- var field = $(this).closest('.everest-forms-field');
419
- var field_id = field.attr('data-field-id');
420
- var option_field = $('#everest-forms-field-option-' + field_id);
421
- var label_title = field.find('.label-title span.text').text();
422
- $.confirm({
423
- columnClass: 'evf-responsive-class',
424
- boxWidth: '400px',
425
- useBootstrap: false,
426
- title: evf_data.delete_confirm_title,
427
- content: evf_data.are_you_sure_want_to_delete_this + ' <b>' + label_title + '</b> ' + evf_data.field + ' ?',
428
- buttons: {
429
- confirm: {
430
- text: evf_data.confirm,
431
- btnClass: 'evf-confirm-btn',
432
- action: function () {
433
- $('.evf-panel-fields-button').trigger('click');
434
- field.fadeOut("slow", function () {
435
- field.remove();
436
- option_field.remove();
437
- });
438
  }
439
- }, cancel: {
440
- text: evf_data.cancel,
441
- btnClass: 'evf-cancel-btn',
442
- action: function () {
443
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
444
  }
445
  }
446
- }
447
- });
448
  });
449
  },
450
  bindSaveOption: function () {
1
+ /* global jconfirm */
2
  (function ( $, evf_data ) {
3
 
4
 
21
  EVFPanelBuilder.bindUI();
22
  },
23
 
24
+ /**
25
+ * Document ready.
26
+ *
27
+ * @since 1.3.9
28
+ */
29
+ ready: function() {
30
+ // jquery-confirm defaults.
31
+ jconfirm.defaults = {
32
+ closeIcon: true,
33
+ backgroundDismiss: true,
34
+ escapeKey: true,
35
+ animationBounce: 1,
36
+ useBootstrap: false,
37
+ theme: 'modern',
38
+ boxWidth: '400px',
39
+ columnClass: 'evf-responsive-class'
40
+ };
41
+
42
+ // Action available for each binding.
43
+ $( document ).trigger( 'everest_forms_ready' );
44
+ },
45
+
46
  load: function () {
47
 
48
  },
105
  EVFPanelBuilder.choiceChange(field_id);
106
  });
107
  $('body').on('click', '.evf-choices-list a.remove', function () {
108
+ var ul = $( this ).closest( '.evf-choices-list' );
109
+ var field_id = ul.attr( 'data-field-id' );
110
+
111
+ if ( ul.find( 'li' ).length < 2 ) {
112
+ $.alert({
113
+ title: false,
114
+ content: evf_data.i18n_field_error_choice,
115
+ icon: 'dashicons dashicons-info',
116
+ type: 'blue',
117
+ buttons: {
118
+ ok: {
119
+ text: evf_data.i18n_ok,
120
+ btnClass: 'btn-confirm',
121
+ keys: [ 'enter' ]
122
  }
123
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  });
125
+ } else {
126
+ $( this ).closest( 'li' ).remove();
127
+ EVFPanelBuilder.choiceChange( field_id );
128
  }
 
 
129
  });
 
130
 
131
+ var selector = '.evf-choices-list input';
132
 
133
  $('body').on('keyup paste click', selector, function () {
134
  var ul = $(this).closest('.evf-choices-list');
199
  row.remove();
200
  },
201
  bindRemoveRow: function () {
202
+ $( 'body' ).on('click', '.evf-delete-row', function () {
203
+ var row = $( this ).closest( '.evf-admin-row' );
204
+
205
+ if ( $( '.evf-admin-row' ).length < 2 ) {
206
+ $.alert({
207
+ title: evf_data.i18n_row_locked,
208
+ content: evf_data.i18n_row_locked_msg,
209
+ icon: 'dashicons dashicons-info',
210
+ type: 'blue',
211
+ buttons : {
212
+ confirm : {
213
+ text: evf_data.i18n_close,
214
+ btnClass: 'btn-confirm',
215
+ keys: ['enter']
216
+ }
217
  }
218
+ });
219
+ } else {
220
+ $.confirm({
221
+ title: false,
222
+ content: evf_data.i18n_delete_row_confirm,
223
+ type: 'red',
224
+ closeIcon: false,
225
+ backgroundDismiss: false,
226
+ icon: 'dashicons dashicons-warning',
227
+ buttons: {
228
+ confirm: {
229
+ text: evf_data.i18n_ok,
230
+ btnClass: 'btn-confirm',
231
+ keys: ['enter'],
232
+ action: function () {
233
+ EVFPanelBuilder.removeRow( row );
234
+ }
235
+ },
236
+ cancel: {
237
+ text: evf_data.i18n_cancel
238
  }
239
  }
240
+ } );
 
 
 
 
241
  }
242
+ });
 
 
 
 
 
 
 
 
 
 
243
  },
244
  bindAddNewRow: function () {
245
 
308
 
309
  },
310
  bindCloneField: function () {
311
+ $( 'body' ).on( 'click', '.everest-forms-preview .everest-forms-field .everest-forms-field-duplicate', function() {
312
+ var $field = $( this ).closest( '.everest-forms-field' );
313
+
314
+ if ( $field.hasClass( 'no-duplicate' ) ) {
315
+ $.alert({
316
+ title: evf_data.i18n_field_locked,
317
+ content: evf_data.i18n_field_locked_msg,
318
+ icon: 'dashicons dashicons-info',
319
+ type: 'blue',
320
+ buttons : {
321
+ confirm : {
322
+ text: evf_data.i18n_close,
323
+ btnClass: 'btn-confirm',
324
+ keys: ['enter']
 
325
  }
326
+ }
327
+ });
328
+ } else {
329
+ $.confirm({
330
+ title: false,
331
+ content: evf_data.i18n_duplicate_field_confirm,
332
+ type: 'orange',
333
+ closeIcon: false,
334
+ backgroundDismiss: false,
335
+ icon: 'dashicons dashicons-warning',
336
+ buttons: {
337
+ confirm: {
338
+ text: evf_data.i18n_ok,
339
+ btnClass: 'btn-confirm',
340
+ keys: ['enter'],
341
+ action: function () {
342
+ EVFPanelBuilder.cloneFieldAction( $field );
343
+ }
344
+ },
345
+ cancel: {
346
+ text: evf_data.i18n_cancel
347
  }
348
  }
349
+ } );
350
+ }
351
+ } );
 
352
  },
353
  cloneFieldAction: function ( field ) {
354
  var element_field_id = field.attr('data-field-id');
362
  url: evf_data.ajax_url,
363
  data: data,
364
  type: 'POST',
365
+ beforeSend: function() {},
 
366
  success: function ( response ) {
367
  if ( typeof response.success === 'boolean' && response.success === true ) {
 
368
  var field_id = response.data.field_id;
369
  var field_key = response.data.field_key;
370
  $('#everest-forms-field-id').val(field_id);
 
371
  EVFPanelBuilder.render_node(field, element_field_id, field_key);
 
372
  }
373
  }
374
  });
380
  newOptionHtml = option.html(),
381
  new_field_label = evf_data.copy_of + $('#everest-forms-field-option-' + old_key + '-label').val(),
382
  newFieldCloned = field.clone();
383
+ var regex = new RegExp(old_key, 'g');
384
  newOptionHtml = newOptionHtml.replace(regex, new_key);
385
  var newOption = $('<div class="everest-forms-field-option everest-forms-field-option-' + field_type + '" id="everest-forms-field-option-' + new_key + '" data-field-id="' + new_key + '" />');
386
  newOption.append(newOptionHtml);
412
  });
413
 
414
  $('.everest-forms-field-options').append(newOption);
 
415
  $('#everest-forms-field-option-' + new_key + '-label').val(new_field_label);
416
 
417
  // Field Clone
420
  newFieldCloned.attr('data-field-id', new_key);
421
  newFieldCloned.attr('data-field-type', field_type);
422
  newFieldCloned.find('.label-title .text').text(new_field_label);
423
+ field.closest( '.evf-admin-grid' ).find( '[data-field-id="' + old_key + '"]' ).after( newFieldCloned );
424
+ $(document).trigger('everest-form-cloned', [ new_key, field_type ]);
 
 
425
  },
426
  bindFieldDelete: function () {
427
+ $( 'body' ).on('click', '.everest-forms-preview .everest-forms-field .everest-forms-field-delete', function () {
428
+ var $field = $( this ).closest( '.everest-forms-field' );
429
+ var field_id = $field.attr('data-field-id');
430
+ var option_field = $( '#everest-forms-field-option-' + field_id );
431
+
432
+ if ( $field.hasClass( 'no-delete' ) ) {
433
+ $.alert({
434
+ title: evf_data.i18n_field_locked,
435
+ content: evf_data.i18n_field_locked_msg,
436
+ icon: 'dashicons dashicons-info',
437
+ type: 'blue',
438
+ buttons : {
439
+ confirm : {
440
+ text: evf_data.i18n_close,
441
+ btnClass: 'btn-confirm',
442
+ keys: ['enter']
 
 
 
 
 
443
  }
444
+ }
445
+ });
446
+ } else {
447
+ $.confirm({
448
+ title: false,
449
+ content: evf_data.i18n_delete_field_confirm,
450
+ type: 'orange',
451
+ closeIcon: false,
452
+ backgroundDismiss: false,
453
+ icon: 'dashicons dashicons-warning',
454
+ buttons: {
455
+ confirm: {
456
+ text: evf_data.i18n_ok,
457
+ btnClass: 'btn-confirm',
458
+ keys: ['enter'],
459
+ action: function () {
460
+ $( '.evf-panel-fields-button' ).trigger( 'click' );
461
+ $field.fadeOut( 'slow', function () {
462
+ $field.remove();
463
+ option_field.remove();
464
+ });
465
+ }
466
+ },
467
+ cancel: {
468
+ text: evf_data.i18n_cancel
469
  }
470
  }
471
+ } );
472
+ }
473
  });
474
  },
475
  bindSaveOption: function () {
assets/js/admin/everest-panel-builder.min.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){var i={init:function(){e(document).ready(i.ready),e(window).on("load",i.load),i.bindUI()},load:function(){},bindUI:function(){i.bindDefaultTabs(),i.checkEmptyGrid(),i.bindFields(),i.bindFormPreview(),i.bindGridSwitcher(),i.bindFieldSettings(),i.bindFieldDelete(),i.bindCloneField(),i.bindSaveOption(),i.bindFieldOptionChange(),i.bindAddNewRow(),i.bindRemoveRow(),i.bindFormSettings(),i.choicesInit(),i.choicesUpdate();"field-options"===t.tab&&e(".evf-panel-field-options-button").trigger("click")},choicesInit:function(){var t=e(".evf-choices-list");t.sortable({out:function(t,n){var o=e(t.target).attr("data-field-id");i.choiceChange(o)}});var n=t.closest(".everest-forms-field-option").attr("data-field-id");e("#everest-forms-field-"+n)},choicesUpdate:function(){e(".evf-choices-list");e("body").on("click",".evf-choices-list a.add",function(){var t=e(this).closest("li").clone();t.find('input[type="text"]').val("");var n=e(this).closest(".evf-choices-list"),o=n.attr("data-field-id"),r=n.find("li").length;r++,t.find('input[type="checkbox"],input[type="radio"]').prop("checked",!1),t.attr("data-key",r),t.find(".default").attr("name","form_fields["+o+"][choices]["+r+"][default]"),t.find(".label").attr("name","form_fields["+o+"][choices]["+r+"][label]"),t.find(".value").attr("name","form_fields["+o+"][choices]["+r+"][value]"),e(this).closest("li").after(t),i.choiceChange(o)}),e("body").on("click",".evf-choices-list a.remove",function(){var n=e(this).closest(".evf-choices-list"),o=n.attr("data-field-id");if(n.find("li").length<2){var r=t.delete_confirm_title,s=t.are_you_sure_want_to_delete_row,a={ok:{text:t.ok,btnClass:"evf-ok-btn",action:function(){}}};return"red",r=t.could_not_delete_single_choice,s=t.could_not_delete_single_choice_content,void e.confirm({columnClass:"evf-responsive-class",type:"red",typeAnimated:!0,boxWidth:"400px",useBootstrap:!1,title:r,content:s,buttons:a})}e(this).closest("li").remove(),i.choiceChange(o)});e("body").on("keyup paste click",".evf-choices-list input",function(){var t=e(this).closest(".evf-choices-list").attr("data-field-id");"radio"===e(this).attr("type").toLowerCase()&&e(this).is(":checked")&&(e(this).closest(".evf-choices-list").find('input[type="radio"]').prop("checked",!1),e(this).prop("checked",!0)),i.choiceChange(t)})},choiceChange:function(t){var i=e("#everest-forms-field-option-row-"+t+"-choices"),n=e("#everest-forms-field-"+t),o=n.find("ul.primary-input"),r=i.find("ul.evf-choices-list").attr("data-field-type");"select"===r&&(o=n.find("select.primary-input")),o.html(""),e.each(i.find("ul.evf-choices-list").find("li"),function(){var t=e(this).find(".default").attr("type"),i=e("<li/>").append('<input type="'+t+'" disabled="">');"select"===r&&(i=e("<option/>"),e(this).find(".default").is(":checked")&&i.attr("selected","selected")),i.append(e(this).find(".label").val()),e(this).find(".default").is(":checked")&&i.find("input").prop("checked",!0),o.append(i)})},bindFormSettings:function(){e("body").on("click",".evf-setting-panel",function(t){var i=e(this).attr("data-section");e(".evf-setting-panel").removeClass("active"),e(".evf-content-section").removeClass("active"),e(this).addClass("active"),e(".evf-content-"+i+"-settings").addClass("active"),t.preventDefault()}),e(".evf-setting-panel").eq(0).trigger("click")},removeRow:function(t){e.each(t.find(".everest-forms-field"),function(){var t=e(this),i=t.attr("data-field-id"),n=e("#everest-forms-field-option-"+i);t.remove(),n.remove()}),t.remove()},bindRemoveRow:function(){e("body").on("click",".evf-delete-row",function(){var n=e(this).closest(".evf-admin-row"),o={confirm:{text:t.confirm,btnClass:"evf-confirm-btn",action:function(){i.removeRow(n)}},cancel:{text:t.cancel,btnClass:"evf-cancel-btn",action:function(){}}},r="",s=t.delete_confirm_title,a=t.are_you_sure_want_to_delete_row;e(".evf-admin-row").length<2&&(o={ok:{text:t.ok,btnClass:"evf-ok-btn",action:function(){}}},r="red",s=t.could_not_delete_single_row_title,a=t.could_not_delete_single_row_content),e.confirm({columnClass:"evf-responsive-class",type:r,typeAnimated:!0,boxWidth:"400px",useBootstrap:!1,title:s,content:a,buttons:o})})},bindAddNewRow:function(){e("body").on("click",".evf-add-row span",function(){var t=e(".evf-admin-row").eq(0).clone(),n=e(".evf-admin-row").length;t.find(".evf-admin-grid").html(""),t.attr("data-row-id",n+1),e(".evf-admin-field-wrapper").append(t),i.bindFields(),i.checkEmptyGrid()})},bindFieldOptionChange:function(){e("body").on("keyup paste click",'.everest-forms-field-option-row input[type="text"][name$="[label]"], .everest-forms-field-option-row textarea[name$="[description]"], .everest-forms-field-option-row input[type="checkbox"][name$="[required]"], .everest-forms-field-option-row input[type="checkbox"][name$="[label_hide]"], .everest-forms-field-option-row input[type="text"][name$="[placeholder]"]',function(){i.bindFormFieldChange(e(this))})},bindFormFieldChange:function(t){var i=t.closest(".everest-forms-field-option-row").attr("data-field-id"),n=e(".evf-admin-grid #everest-forms-field-"+i+".active"),o=t.attr("id");if("undefined"!==o&&o!==undefined)switch(o=o.replace("everest-forms-field-option-"+i+"-","")){case"label":n.find(".label-title .text").text(t.val());break;case"description":n.find(".description").text(t.val());break;case"required":t.is(":checked")?(n.find(".label-title .required").remove(),n.find(".label-title").append('<span class="required">*</span>')):n.find(".label-title .required").remove();break;case"label_hide":t.is(":checked")?n.find(".label-title").hide():n.find(".label-title").show();break;case"placeholder":n.find("input").attr("placeholder",t.val())}},bindCloneField:function(){e("body").on("click",".everest-forms-preview .everest-forms-field .everest-forms-field-duplicate",function(){var n=e(this).closest(".everest-forms-field"),o=n.find(".label-title span.text").text();e.confirm({columnClass:"evf-responsive-class",boxWidth:"400px",useBootstrap:!1,title:t.duplicate_confirm_title,content:t.are_you_sure_want_to_duplicate_this+" <b>"+o+"</b> "+t.field+" ?",buttons:{confirm:{text:t.confirm,btnClass:"evf-confirm-btn",action:function(){i.cloneFieldAction(n)}},cancel:{text:t.cancel,btnClass:"evf-cancel-btn",action:function(){}}}})})},cloneFieldAction:function(n){var o=n.attr("data-field-id"),r=t.form_id,s={action:"everest_forms_get_next_id",security:t.evf_get_next_id,form_id:r};e.ajax({url:t.ajax_url,data:s,type:"POST",beforeSend:function(){},success:function(t){if("boolean"==typeof t.success&&!0===t.success){var r=t.data.field_id,s=t.data.field_key;e("#everest-forms-field-id").val(r),i.render_node(n,o,s)}}})},render_node:function(i,n,o){var r=e(".everest-forms-field-options #everest-forms-field-option-"+n),s=i.attr("data-field-type"),a=r.html(),d=t.copy_of+e("#everest-forms-field-option-"+n+"-label").val(),l=i.clone(),f=new RegExp(n,"g");a=a.replace(f,o);var c=e('<div class="everest-forms-field-option everest-forms-field-option-'+s+'" id="everest-forms-field-option-'+o+'" data-field-id="'+o+'" />');c.append(a),e.each(r.find(":input"),function(){var t=e(this).attr("type"),i=e(this).attr("name").replace(f,o),r="";if("text"===t||"hidden"===t)r=e(this).val(),c.find('input[name="'+i+'"]').val(r),c.find('input[value="'+n+'"]').val(o);else if("checkbox"===t||"radio"===t)e(this).is(":checked")?c.find('input[name="'+i+'"]').prop("checked",!0).attr("checked","checked"):c.find('[name="'+i+'"]').prop("checked",!1).attr("checked",!1);else if(e(this).is("select")){if(e(this).find("option:selected").length){var s=e(this).find("option:selected").val();c.find('[name="'+i+'"]').find('[value="'+s+'"]').prop("selected",!0)}}else""!==e(this).val()&&c.find('[name="'+i+'"]').val(e(this).val())}),e(".everest-forms-field-options").append(c),e("#everest-forms-field-option-"+o+"-label").val(d),l.attr("class",i.attr("class")),l.attr("id","everest-forms-field-"+o),l.attr("data-field-id",o),l.attr("data-field-type",s),l.find(".label-title .text").text(d),i.closest(".evf-admin-grid").append(l),e(document).trigger("everest-form-cloned",[o,type])},bindFieldDelete:function(){e("body").on("click",".everest-forms-preview .everest-forms-field .everest-forms-field-delete",function(){var i=e(this).closest(".everest-forms-field"),n=i.attr("data-field-id"),o=e("#everest-forms-field-option-"+n),r=i.find(".label-title span.text").text();e.confirm({columnClass:"evf-responsive-class",boxWidth:"400px",useBootstrap:!1,title:t.delete_confirm_title,content:t.are_you_sure_want_to_delete_this+" <b>"+r+"</b> "+t.field+" ?",buttons:{confirm:{text:t.confirm,btnClass:"evf-confirm-btn",action:function(){e(".evf-panel-fields-button").trigger("click"),i.fadeOut("slow",function(){i.remove(),o.remove()})}},cancel:{text:t.cancel,btnClass:"evf-cancel-btn",action:function(){}}}})})},bindSaveOption:function(){e("body").on("click",".evf_save_form_action_button",function(){var n=e(this),o=e("form#everest-forms-builder-form"),r=i.getStructure(),s=o.serializeArray().concat(r),a={action:"everest_forms_save_form",security:t.evf_save_form,form_data:JSON.stringify(s)},d=e("#everest-forms-builder");e.ajax({url:t.ajax_url,data:a,type:"POST",beforeSend:function(){evfHelper.startEvfOverLay(d,n)},success:function(e){evfHelper.endEvfOverLay(d,n),"boolean"==typeof e.success&&!0===e.success&&window.location.reload()}})})},getStructure:function(){var t=e(".evf-admin-field-wrapper"),i=[];return e.each(t.find(".evf-admin-row"),function(){var t=e(this),n=t.attr("data-row-id");e.each(t.find(".evf-admin-grid"),function(){var t=e(this),o=t.attr("data-grid-id"),r=0;e.each(t.find(".everest-forms-field"),function(){var t={name:"",value:""},s=e(this).attr("data-field-id");t.name="structure[row_"+n+"][grid_"+o+"]["+r+"]",r++,t.value=s,i.push(t)}),t.find(".everest-forms-field").length<1&&i.push({name:"structure[row_"+n+"][grid_"+o+"]",value:""})})}),i},getFieldArray:function(t){var i=[];return e.each(t.find(".everest-forms-field"),function(){var t=e(this).attr("data-field-id");i.push(t)}),i},checkEmptyGrid:function(){e.each(e(".evf-admin-grid"),function(){e(this).find(".everest-forms-field").length<1?e(this).addClass("evf-empty-grid"):e(this).removeClass("evf-empty-grid")}),i.choicesInit()},bindDefaultTabs:function(){e(document).on("click","#evf-builder-tabs li",function(t){t.preventDefault(),i.switchTab(e(this).data("panel"))})},switchTab:function(t){var n=e("#everest-forms-panel-"+t),o=e(".evf-panel-"+t+"-button");e("#evf-builder-tabs").find("li a").removeClass("active"),o.find("a").addClass("active"),n.closest(".evf-tab-content").find(".everest-forms-panel").removeClass("active"),n.addClass("active"),"fields"===t&&(e(".everest-forms-field-options").hide(),e(".everest-forms-add-fields").show()),history.replaceState({},null,evfHelper.updateQueryString("tab",t)),i.switchPanel(t)},switchPanel:function(e){"field-options"===e&&i.switchToFieldOptionPanel()},switchToFieldOptionPanel:function(t){e("li.evf-panel-field-options-button.evf-disabled-tab").show(),e(".everest-forms-field-options").find(".no-fields").hide(),e(".evf-admin-field-wrapper .everest-forms-field").removeClass("active"),e(".everest-forms-panel").removeClass("active"),e("#everest-forms-panel-fields").addClass("active"),e(".everest-forms-add-fields").hide(),e(".everest-forms-field-options").show(),e(".everest-forms-field-options").find(".everest-forms-field-option").hide(),e(".evf-tab-lists").find("li a").removeClass("active"),e(".evf-tab-lists").find("li.evf-panel-field-options-button a").addClass("active"),void 0!==t?(e("#everest-forms-field-option-"+t).show(),e("#everest-forms-field-"+t).addClass("active")):e(".evf-admin-field-wrapper .everest-forms-field").length>0?(e(".evf-admin-field-wrapper .everest-forms-field").eq(0).addClass("active"),e("#everest-forms-field-option-"+e(".evf-admin-field-wrapper .everest-forms-field").eq(0).attr("data-field-id")).show()):e(".everest-forms-field-options").find(".no-fields").show()},bindFields:function(){e(".evf-admin-grid").sortable({containment:".evf-admin-field-wrapper",cancel:!1,over:function(t,n){e(t.target).addClass("evf-item-hover"),e(".evf-admin-grid").addClass("evf-hover"),i.checkEmptyGrid()},out:function(t,n){e(".evf-admin-grid").removeClass("evf-hover"),e(t.target).removeClass("evf-item-hover"),i.checkEmptyGrid()},revert:!0,connectWith:".evf-admin-grid"}).disableSelection(),e(".evf-admin-field-wrapper").sortable({containment:".evf-admin-field-wrapper",tolerance:"pointer",revert:"invalid",placeholder:"evf-admin-row",forceHelperSize:!0,over:function(){e(".evf-admin-field-wrapper").addClass("evf-hover")},out:function(){e(".evf-admin-field-wrapper").removeClass("evf-hover")}}),e(".evf-registered-buttons button.evf-registered-item").draggable({connectToSortable:".evf-admin-grid",containment:"#everest-forms-builder",helper:"clone",revert:"invalid",cancel:!1,start:function(t,i){e(".evf-admin-grid").addClass("evf-hover")},stop:function(t,n){e(".evf-admin-grid").removeClass("evf-hover");n.helper.closest(".evf-admin-grid");var o=n.helper;i.fieldDrop(o)}}).disableSelection()},bindFormPreview:function(){},bindGridSwitcher:function(){e("body").on("click",".evf-show-grid",function(){e(this).closest(".evf-toggle-row").find(".evf-toggle-row-content").slideToggle(200)});e("body").on("click",".evf-grid-selector",function(){var t=e(this).closest(".evf-admin-row");if(!e(this).hasClass("active")){var n=evfHelper.parseInt(e(this).attr("data-evf-grid"));if(!(n>2)){var o=e('<div class="evf-admin-grid evf-grid-'+n+' ui-sortable" />'),r=e("<div/>");e.each(t.find(".evf-admin-grid"),function(){e(this).children("*").each(function(){r.append(e(this).clone())})}),t.find(".evf-admin-grid").remove(),t.find(".evf-clear ").remove(),t.append('<div class="clear evf-clear"></div>');for(var s=1;s<=n;s++)o.attr("data-grid-id",s),t.append(o.clone());t.append('<div class="clear evf-clear"></div>'),t.find(".evf-admin-grid").eq(0).append(r.html()),t.find(".evf-grid-selector").removeClass("active"),e(this).addClass("active"),i.bindFields()}}})},fieldDrop:function(n){var o=n.attr("data-field-type");n.css({width:"100%",left:"0"}),n.append('<i class="spinner is-active" style="margin: 0;padding: 0;"></i>');var r={action:"everest_forms_new_field_"+o,security:t.evf_field_drop_nonce,field_type:o,form_id:t.form_id};e.ajax({url:t.ajax_url,data:r,type:"POST",beforeSend:function(){},success:function(t){var o=t.data.preview,r=t.data.options,s=t.data.form_field_id;e("#everest-forms-field-id").val(s),e(".everest-forms-field-options").find(".no-fields").hide(),e(".everest-forms-field-options").append(r),n.after(o),n.remove(),i.checkEmptyGrid()}})},bindFieldSettings:function(){e("body").on("click",".everest-forms-preview .everest-forms-field, .everest-forms-preview .everest-forms-field .everest-forms-field-setting",function(){var t=e(this).closest(".everest-forms-field").attr("data-field-id");i.switchToFieldOptionPanel(t)})}};e(function(){i.init()})}(jQuery,window.evf_data),jQuery(function(){var e=jQuery("#everest-forms-panel-field-settings-redirect_to option:selected").val();"0"==e?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"1"==e?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").show(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"2"==e&&(jQuery("#everest-forms-panel-field-settings-external_url-wrap").show(),jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide()),jQuery("#everest-forms-panel-field-settings-redirect_to").on("change",function(){"0"==this.value?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"1"==this.value?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").show(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"2"==this.value&&(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").show())}),jQuery("li.evf-panel-field-options-button.evf-disabled-tab").hide()}),jQuery(function(e){e(document.body).on("init_tooltips",function(){e(".tips, .help_tip, .everest-forms-help-tooltip").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200})}).trigger("init_tooltips"),e(".everest-forms-tab-content").on("click",".everest-forms-add-fields-group > a",function(e){e.preventDefault()}),e(".everest-forms-field-option").on("click",".everest-forms-field-option-group > a",function(t){t.preventDefault(),e(this).parent(".everest-forms-field-option-group").toggleClass("closed").toggleClass("open")}),e(".everest-forms-field-option").on("click",".everest-forms-field-option-group a",function(t){e(t.target).filter(":input, option, .sort").length||e(this).next(".everest-forms-field-option-group-inner").stop().slideToggle()}),e(".everest-forms-field-option-group.closed").each(function(){e(this).find(".everest-forms-field-option-group-inner").hide()})});
1
+ !function(f,c){var r={init:function(){f(document).ready(r.ready),f(window).on("load",r.load),r.bindUI()},ready:function(){jconfirm.defaults={closeIcon:!0,backgroundDismiss:!0,escapeKey:!0,animationBounce:1,useBootstrap:!1,theme:"modern",boxWidth:"400px",columnClass:"evf-responsive-class"},f(document).trigger("everest_forms_ready")},load:function(){},bindUI:function(){r.bindDefaultTabs(),r.checkEmptyGrid(),r.bindFields(),r.bindFormPreview(),r.bindGridSwitcher(),r.bindFieldSettings(),r.bindFieldDelete(),r.bindCloneField(),r.bindSaveOption(),r.bindFieldOptionChange(),r.bindAddNewRow(),r.bindRemoveRow(),r.bindFormSettings(),r.choicesInit(),r.choicesUpdate(),"field-options"===c.tab&&f(".evf-panel-field-options-button").trigger("click")},choicesInit:function(){var e=f(".evf-choices-list");e.sortable({out:function(e,i){var t=f(e.target).attr("data-field-id");r.choiceChange(t)}});var i=e.closest(".everest-forms-field-option").attr("data-field-id");f("#everest-forms-field-"+i)},choicesUpdate:function(){f(".evf-choices-list");f("body").on("click",".evf-choices-list a.add",function(){var e=f(this).closest("li").clone();e.find('input[type="text"]').val("");var i=f(this).closest(".evf-choices-list"),t=i.attr("data-field-id"),n=i.find("li").length;n++,e.find('input[type="checkbox"],input[type="radio"]').prop("checked",!1),e.attr("data-key",n),e.find(".default").attr("name","form_fields["+t+"][choices]["+n+"][default]"),e.find(".label").attr("name","form_fields["+t+"][choices]["+n+"][label]"),e.find(".value").attr("name","form_fields["+t+"][choices]["+n+"][value]"),f(this).closest("li").after(e),r.choiceChange(t)}),f("body").on("click",".evf-choices-list a.remove",function(){var e=f(this).closest(".evf-choices-list"),i=e.attr("data-field-id");e.find("li").length<2?f.alert({title:!1,content:c.i18n_field_error_choice,icon:"dashicons dashicons-info",type:"blue",buttons:{ok:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"]}}}):(f(this).closest("li").remove(),r.choiceChange(i))});f("body").on("keyup paste click",".evf-choices-list input",function(){var e=f(this).closest(".evf-choices-list").attr("data-field-id");"radio"===f(this).attr("type").toLowerCase()&&f(this).is(":checked")&&(f(this).closest(".evf-choices-list").find('input[type="radio"]').prop("checked",!1),f(this).prop("checked",!0)),r.choiceChange(e)})},choiceChange:function(e){var i=f("#everest-forms-field-option-row-"+e+"-choices"),t=f("#everest-forms-field-"+e),n=t.find("ul.primary-input"),o=i.find("ul.evf-choices-list").attr("data-field-type");"select"===o&&(n=t.find("select.primary-input")),n.html(""),f.each(i.find("ul.evf-choices-list").find("li"),function(){var e=f(this).find(".default").attr("type"),i=f("<li/>").append('<input type="'+e+'" disabled="">');"select"===o&&(i=f("<option/>"),f(this).find(".default").is(":checked")&&i.attr("selected","selected")),i.append(f(this).find(".label").val()),f(this).find(".default").is(":checked")&&i.find("input").prop("checked",!0),n.append(i)})},bindFormSettings:function(){f("body").on("click",".evf-setting-panel",function(e){var i=f(this).attr("data-section");f(".evf-setting-panel").removeClass("active"),f(".evf-content-section").removeClass("active"),f(this).addClass("active"),f(".evf-content-"+i+"-settings").addClass("active"),e.preventDefault()}),f(".evf-setting-panel").eq(0).trigger("click")},removeRow:function(e){f.each(e.find(".everest-forms-field"),function(){var e=f(this),i=e.attr("data-field-id"),t=f("#everest-forms-field-option-"+i);e.remove(),t.remove()}),e.remove()},bindRemoveRow:function(){f("body").on("click",".evf-delete-row",function(){var e=f(this).closest(".evf-admin-row");f(".evf-admin-row").length<2?f.alert({title:c.i18n_row_locked,content:c.i18n_row_locked_msg,icon:"dashicons dashicons-info",type:"blue",buttons:{confirm:{text:c.i18n_close,btnClass:"btn-confirm",keys:["enter"]}}}):f.confirm({title:!1,content:c.i18n_delete_row_confirm,type:"red",closeIcon:!1,backgroundDismiss:!1,icon:"dashicons dashicons-warning",buttons:{confirm:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"],action:function(){r.removeRow(e)}},cancel:{text:c.i18n_cancel}}})})},bindAddNewRow:function(){f("body").on("click",".evf-add-row span",function(){var e=f(".evf-admin-row").eq(0).clone(),i=f(".evf-admin-row").length;e.find(".evf-admin-grid").html(""),e.attr("data-row-id",i+1),f(".evf-admin-field-wrapper").append(e),r.bindFields(),r.checkEmptyGrid()})},bindFieldOptionChange:function(){f("body").on("keyup paste click",'.everest-forms-field-option-row input[type="text"][name$="[label]"], .everest-forms-field-option-row textarea[name$="[description]"], .everest-forms-field-option-row input[type="checkbox"][name$="[required]"], .everest-forms-field-option-row input[type="checkbox"][name$="[label_hide]"], .everest-forms-field-option-row input[type="text"][name$="[placeholder]"]',function(){r.bindFormFieldChange(f(this))})},bindFormFieldChange:function(e){var i=e.closest(".everest-forms-field-option-row").attr("data-field-id"),t=f(".evf-admin-grid #everest-forms-field-"+i+".active"),n=e.attr("id");if("undefined"!==n&&n!==undefined)switch(n=n.replace("everest-forms-field-option-"+i+"-","")){case"label":t.find(".label-title .text").text(e.val());break;case"description":t.find(".description").text(e.val());break;case"required":e.is(":checked")?(t.find(".label-title .required").remove(),t.find(".label-title").append('<span class="required">*</span>')):t.find(".label-title .required").remove();break;case"label_hide":e.is(":checked")?t.find(".label-title").hide():t.find(".label-title").show();break;case"placeholder":t.find("input").attr("placeholder",e.val())}},bindCloneField:function(){f("body").on("click",".everest-forms-preview .everest-forms-field .everest-forms-field-duplicate",function(){var e=f(this).closest(".everest-forms-field");e.hasClass("no-duplicate")?f.alert({title:c.i18n_field_locked,content:c.i18n_field_locked_msg,icon:"dashicons dashicons-info",type:"blue",buttons:{confirm:{text:c.i18n_close,btnClass:"btn-confirm",keys:["enter"]}}}):f.confirm({title:!1,content:c.i18n_duplicate_field_confirm,type:"orange",closeIcon:!1,backgroundDismiss:!1,icon:"dashicons dashicons-warning",buttons:{confirm:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"],action:function(){r.cloneFieldAction(e)}},cancel:{text:c.i18n_cancel}}})})},cloneFieldAction:function(n){var o=n.attr("data-field-id"),e=c.form_id,i={action:"everest_forms_get_next_id",security:c.evf_get_next_id,form_id:e};f.ajax({url:c.ajax_url,data:i,type:"POST",beforeSend:function(){},success:function(e){if("boolean"==typeof e.success&&!0===e.success){var i=e.data.field_id,t=e.data.field_key;f("#everest-forms-field-id").val(i),r.render_node(n,o,t)}}})},render_node:function(e,o,s){var i=f(".everest-forms-field-options #everest-forms-field-option-"+o),t=e.attr("data-field-type"),n=i.html(),r=c.copy_of+f("#everest-forms-field-option-"+o+"-label").val(),a=e.clone(),d=new RegExp(o,"g");n=n.replace(d,s);var l=f('<div class="everest-forms-field-option everest-forms-field-option-'+t+'" id="everest-forms-field-option-'+s+'" data-field-id="'+s+'" />');l.append(n),f.each(i.find(":input"),function(){var e=f(this).attr("type"),i=f(this).attr("name").replace(d,s),t="";if("text"===e||"hidden"===e)t=f(this).val(),l.find('input[name="'+i+'"]').val(t),l.find('input[value="'+o+'"]').val(s);else if("checkbox"===e||"radio"===e)f(this).is(":checked")?l.find('input[name="'+i+'"]').prop("checked",!0).attr("checked","checked"):l.find('[name="'+i+'"]').prop("checked",!1).attr("checked",!1);else if(f(this).is("select")){if(f(this).find("option:selected").length){var n=f(this).find("option:selected").val();l.find('[name="'+i+'"]').find('[value="'+n+'"]').prop("selected",!0)}}else""!==f(this).val()&&l.find('[name="'+i+'"]').val(f(this).val())}),f(".everest-forms-field-options").append(l),f("#everest-forms-field-option-"+s+"-label").val(r),a.attr("class",e.attr("class")),a.attr("id","everest-forms-field-"+s),a.attr("data-field-id",s),a.attr("data-field-type",t),a.find(".label-title .text").text(r),e.closest(".evf-admin-grid").find('[data-field-id="'+o+'"]').after(a),f(document).trigger("everest-form-cloned",[s,t])},bindFieldDelete:function(){f("body").on("click",".everest-forms-preview .everest-forms-field .everest-forms-field-delete",function(){var e=f(this).closest(".everest-forms-field"),i=e.attr("data-field-id"),t=f("#everest-forms-field-option-"+i);e.hasClass("no-delete")?f.alert({title:c.i18n_field_locked,content:c.i18n_field_locked_msg,icon:"dashicons dashicons-info",type:"blue",buttons:{confirm:{text:c.i18n_close,btnClass:"btn-confirm",keys:["enter"]}}}):f.confirm({title:!1,content:c.i18n_delete_field_confirm,type:"orange",closeIcon:!1,backgroundDismiss:!1,icon:"dashicons dashicons-warning",buttons:{confirm:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"],action:function(){f(".evf-panel-fields-button").trigger("click"),e.fadeOut("slow",function(){e.remove(),t.remove()})}},cancel:{text:c.i18n_cancel}}})})},bindSaveOption:function(){f("body").on("click",".evf_save_form_action_button",function(){var i=f(this),e=f("form#everest-forms-builder-form"),t=r.getStructure(),n=e.serializeArray().concat(t),o={action:"everest_forms_save_form",security:c.evf_save_form,form_data:JSON.stringify(n)},s=f("#everest-forms-builder");f.ajax({url:c.ajax_url,data:o,type:"POST",beforeSend:function(){evfHelper.startEvfOverLay(s,i)},success:function(e){evfHelper.endEvfOverLay(s,i),"boolean"==typeof e.success&&!0===e.success&&window.location.reload()}})})},getStructure:function(){var e=f(".evf-admin-field-wrapper"),s=[];return f.each(e.find(".evf-admin-row"),function(){var e=f(this),o=e.attr("data-row-id");f.each(e.find(".evf-admin-grid"),function(){var e=f(this),t=e.attr("data-grid-id"),n=0;f.each(e.find(".everest-forms-field"),function(){var e={name:"",value:""},i=f(this).attr("data-field-id");e.name="structure[row_"+o+"][grid_"+t+"]["+n+"]",n++,e.value=i,s.push(e)}),e.find(".everest-forms-field").length<1&&s.push({name:"structure[row_"+o+"][grid_"+t+"]",value:""})})}),s},getFieldArray:function(e){var i=[];return f.each(e.find(".everest-forms-field"),function(){var e=f(this).attr("data-field-id");i.push(e)}),i},checkEmptyGrid:function(){f.each(f(".evf-admin-grid"),function(){f(this).find(".everest-forms-field").length<1?f(this).addClass("evf-empty-grid"):f(this).removeClass("evf-empty-grid")}),r.choicesInit()},bindDefaultTabs:function(){f(document).on("click","#evf-builder-tabs li",function(e){e.preventDefault(),r.switchTab(f(this).data("panel"))})},switchTab:function(e){var i=f("#everest-forms-panel-"+e),t=f(".evf-panel-"+e+"-button");f("#evf-builder-tabs").find("li a").removeClass("active"),t.find("a").addClass("active"),i.closest(".evf-tab-content").find(".everest-forms-panel").removeClass("active"),i.addClass("active"),"fields"===e&&(f(".everest-forms-field-options").hide(),f(".everest-forms-add-fields").show()),history.replaceState({},null,evfHelper.updateQueryString("tab",e)),r.switchPanel(e)},switchPanel:function(e){"field-options"===e&&r.switchToFieldOptionPanel()},switchToFieldOptionPanel:function(e){f("li.evf-panel-field-options-button.evf-disabled-tab").show(),f(".everest-forms-field-options").find(".no-fields").hide(),f(".evf-admin-field-wrapper .everest-forms-field").removeClass("active"),f(".everest-forms-panel").removeClass("active"),f("#everest-forms-panel-fields").addClass("active"),f(".everest-forms-add-fields").hide(),f(".everest-forms-field-options").show(),f(".everest-forms-field-options").find(".everest-forms-field-option").hide(),f(".evf-tab-lists").find("li a").removeClass("active"),f(".evf-tab-lists").find("li.evf-panel-field-options-button a").addClass("active"),void 0!==e?(f("#everest-forms-field-option-"+e).show(),f("#everest-forms-field-"+e).addClass("active")):0<f(".evf-admin-field-wrapper .everest-forms-field").length?(f(".evf-admin-field-wrapper .everest-forms-field").eq(0).addClass("active"),f("#everest-forms-field-option-"+f(".evf-admin-field-wrapper .everest-forms-field").eq(0).attr("data-field-id")).show()):f(".everest-forms-field-options").find(".no-fields").show()},bindFields:function(){f(".evf-admin-grid").sortable({containment:".evf-admin-field-wrapper",cancel:!1,over:function(e,i){f(e.target).addClass("evf-item-hover"),f(".evf-admin-grid").addClass("evf-hover"),r.checkEmptyGrid()},out:function(e,i){f(".evf-admin-grid").removeClass("evf-hover"),f(e.target).removeClass("evf-item-hover"),r.checkEmptyGrid()},revert:!0,connectWith:".evf-admin-grid"}).disableSelection(),f(".evf-admin-field-wrapper").sortable({containment:".evf-admin-field-wrapper",tolerance:"pointer",revert:"invalid",placeholder:"evf-admin-row",forceHelperSize:!0,over:function(){f(".evf-admin-field-wrapper").addClass("evf-hover")},out:function(){f(".evf-admin-field-wrapper").removeClass("evf-hover")}}),f(".evf-registered-buttons button.evf-registered-item").draggable({connectToSortable:".evf-admin-grid",containment:"#everest-forms-builder",helper:"clone",revert:"invalid",cancel:!1,start:function(e,i){f(".evf-admin-grid").addClass("evf-hover")},stop:function(e,i){f(".evf-admin-grid").removeClass("evf-hover");i.helper.closest(".evf-admin-grid");var t=i.helper;r.fieldDrop(t)}}).disableSelection()},bindFormPreview:function(){},bindGridSwitcher:function(){f("body").on("click",".evf-show-grid",function(){f(this).closest(".evf-toggle-row").find(".evf-toggle-row-content").slideToggle(200)});f("body").on("click",".evf-grid-selector",function(){var e=f(this).closest(".evf-admin-row");if(!f(this).hasClass("active")){var i=evfHelper.parseInt(f(this).attr("data-evf-grid"));if(!(2<i)){var t=f('<div class="evf-admin-grid evf-grid-'+i+' ui-sortable" />'),n=f("<div/>");f.each(e.find(".evf-admin-grid"),function(){f(this).children("*").each(function(){n.append(f(this).clone())})}),e.find(".evf-admin-grid").remove(),e.find(".evf-clear ").remove(),e.append('<div class="clear evf-clear"></div>');for(var o=1;o<=i;o++)t.attr("data-grid-id",o),e.append(t.clone());e.append('<div class="clear evf-clear"></div>'),e.find(".evf-admin-grid").eq(0).append(n.html()),e.find(".evf-grid-selector").removeClass("active"),f(this).addClass("active"),r.bindFields()}}})},fieldDrop:function(o){var e=o.attr("data-field-type");o.css({width:"100%",left:"0"}),o.append('<i class="spinner is-active" style="margin: 0;padding: 0;"></i>');var i={action:"everest_forms_new_field_"+e,security:c.evf_field_drop_nonce,field_type:e,form_id:c.form_id};f.ajax({url:c.ajax_url,data:i,type:"POST",beforeSend:function(){},success:function(e){var i=e.data.preview,t=e.data.options,n=e.data.form_field_id;f("#everest-forms-field-id").val(n),f(".everest-forms-field-options").find(".no-fields").hide(),f(".everest-forms-field-options").append(t),o.after(i),o.remove(),r.checkEmptyGrid()}})},bindFieldSettings:function(){f("body").on("click",".everest-forms-preview .everest-forms-field, .everest-forms-preview .everest-forms-field .everest-forms-field-setting",function(){var e=f(this).closest(".everest-forms-field").attr("data-field-id");r.switchToFieldOptionPanel(e)})}};f(function(){r.init()})}(jQuery,window.evf_data),jQuery(function(){var e=jQuery("#everest-forms-panel-field-settings-redirect_to option:selected").val();"0"==e?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"1"==e?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").show(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"2"==e&&(jQuery("#everest-forms-panel-field-settings-external_url-wrap").show(),jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide()),jQuery("#everest-forms-panel-field-settings-redirect_to").on("change",function(){"0"==this.value?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"1"==this.value?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").show(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"2"==this.value&&(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").show())}),jQuery("li.evf-panel-field-options-button.evf-disabled-tab").hide()}),jQuery(function(i){i(document.body).on("init_tooltips",function(){i(".tips, .help_tip, .everest-forms-help-tooltip").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200})}).trigger("init_tooltips"),i(".everest-forms-tab-content").on("click",".everest-forms-add-fields-group > a",function(e){e.preventDefault()}),i(".everest-forms-field-option").on("click",".everest-forms-field-option-group > a",function(e){e.preventDefault(),i(this).parent(".everest-forms-field-option-group").toggleClass("closed").toggleClass("open")}),i(".everest-forms-field-option").on("click",".everest-forms-field-option-group a",function(e){i(e.target).filter(":input, option, .sort").length||i(this).next(".everest-forms-field-option-group-inner").stop().slideToggle()}),i(".everest-forms-field-option-group.closed").each(function(){i(this).find(".everest-forms-field-option-group-inner").hide()})});
assets/js/admin/evf-add-form.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){"use strict";e(function(){var t=function(){e("#evf-modal-select-form").length&&(e("#evf-modal-select-form").get(0).selectedIndex=0,e("#evf-modal-checkbox-title, #evf-modal-checkbox-description").prop("checked",!1)),e("#evf-modal-backdrop, #evf-modal-wrap").css("display","none"),e(document.body).removeClass("modal-open")};e(document).on("click",".evf-insert-form-button",function(t){t.preventDefault(),e("#evf-modal-backdrop, #evf-modal-wrap").css("display","block"),e(document.body).addClass("modal-open")}),e(document).on("click","#evf-modal-close, #evf-modal-cancel a",function(e){e.preventDefault(),t()}),e(document).on("click","#evf-modal-submit",function(o){o.preventDefault();var a;a='[everest_form id="'+e("#evf-modal-select-form").val()+'"',e("#evf-modal-checkbox-title").is(":checked")&&(a+=' title="true"'),e("#evf-modal-checkbox-description").is(":checked")&&(a+=' description="true"'),a+="]",wp.media.editor.insert(a),t()});({$setup_form:e("form.everest-forms-setup"),init:function(){this.title_focus(),this.$setup_form.on("click",".evf-template-select",this.template_select),e(document.body).on("keypress",".everest-forms-setup-form-name input",this.input_keypress)},title_focus:function(){setTimeout(function(){e("#everest-forms-setup-name").focus()},100)},template_select:function(t){t.preventDefault();var o=e(this),a=e("#everest-forms-setup-name"),n=o.data("template"),s=o.data("template-name-raw"),c="";if(!o.parent().hasClass("loading")){c=a.val()?a.val():s,o.parent().addClass("loading");var r={title:c,action:"everest_forms_create_form",template:n,security:everest_add_form_params.create_form_nonce};e.post(everest_add_form_params.ajax_url,r,function(e){e.success?(o.parent().removeClass("loading"),window.location.href=e.data.redirect):window.console.log(e)}).fail(function(e){window.console.log(e.responseText)})}},input_keypress:function(e){if(13===(e.keyCode||e.which)&&"input"===e.target.tagName.toLowerCase())return e.preventDefault(),!1}}).init()})}(jQuery);
1
+ !function(r){"use strict";r(function(){var o=function(){r("#evf-modal-select-form").length&&(r("#evf-modal-select-form").get(0).selectedIndex=0,r("#evf-modal-checkbox-title, #evf-modal-checkbox-description").prop("checked",!1)),r("#evf-modal-backdrop, #evf-modal-wrap").css("display","none"),r(document.body).removeClass("modal-open")};r(document).on("click",".evf-insert-form-button",function(e){e.preventDefault(),r("#evf-modal-backdrop, #evf-modal-wrap").css("display","block"),r(document.body).addClass("modal-open")}),r(document).on("click","#evf-modal-close, #evf-modal-cancel a",function(e){e.preventDefault(),o()}),r(document).on("click","#evf-modal-submit",function(e){var t;e.preventDefault(),t='[everest_form id="'+r("#evf-modal-select-form").val()+'"',r("#evf-modal-checkbox-title").is(":checked")&&(t+=' title="true"'),r("#evf-modal-checkbox-description").is(":checked")&&(t+=' description="true"'),t+="]",wp.media.editor.insert(t),o()}),{$setup_form:r("form.everest-forms-setup"),init:function(){this.title_focus(),this.$setup_form.on("click",".evf-template-select",this.template_select),r(document.body).on("keypress",".everest-forms-setup-form-name input",this.input_keypress)},title_focus:function(){setTimeout(function(){r("#everest-forms-setup-name").focus()},100)},template_select:function(e){e.preventDefault();var t=r(this),o=r("#everest-forms-setup-name"),a=t.data("template"),n=t.data("template-name-raw"),s="";if(!t.parent().hasClass("loading")){s=o.val()?o.val():n,t.parent().addClass("loading");var c={title:s,action:"everest_forms_create_form",template:a,security:everest_add_form_params.create_form_nonce};r.post(everest_add_form_params.ajax_url,c,function(e){e.success?(t.parent().removeClass("loading"),window.location.href=e.data.redirect):window.console.log(e)}).fail(function(e){window.console.log(e.responseText)})}},input_keypress:function(e){if(13===(e.keyCode||e.which)&&"input"===e.target.tagName.toLowerCase())return e.preventDefault(),!1}}.init()})}(jQuery);
assets/js/admin/evf-form-modal.min.js CHANGED
@@ -1 +1 @@
1
- !function(e,t,o,n){"use strict";e.fn.EVFBackboneModal=function(t){return this.each(function(){new e.EVFBackboneModal(e(this),t)})},e.EVFBackboneModal=function(t,o){var n=e.extend({},e.EVFBackboneModal.defaultOptions,o);n.template&&new e.EVFBackboneModal.View({target:n.template,string:n.variable})},e.EVFBackboneModal.defaultOptions={template:"",variable:{}},e.EVFBackboneModal.View=t.View.extend({tagName:"div",id:"evf-backbone-modal-dialog",_target:undefined,_string:undefined,events:{"click .modal-close":"closeButton","click #btn-ok":"addButton","touchstart #btn-ok":"addButton",keydown:"keyboardActions"},resizeContent:function(){var t=e(".evf-backbone-modal-content").find("article"),o=.75*e(window).height();t.css({"max-height":o+"px"})},initialize:function(t){var n=this;this._target=t.target,this._string=t.string,o.bindAll(this,"render"),this.render(),e(window).resize(function(){n.resizeContent()})},render:function(){var t=wp.template(this._target);this.$el.append(t(this._string)),e(document.body).css({overflow:"hidden"}).append(this.$el),this.resizeContent(),this.$(".evf-backbone-modal-content").attr("tabindex","0").focus(),e(document.body).trigger("init_tooltips"),e(document.body).trigger("evf_backbone_modal_loaded",this._target)},closeButton:function(t){t.preventDefault(),e(document.body).trigger("evf_backbone_modal_before_remove",this._target),this.undelegateEvents(),e(document).off("focusin"),e(document.body).css({overflow:"auto"}),this.remove(),e(document.body).trigger("evf_backbone_modal_removed",this._target)},addButton:function(t){e(document.body).trigger("evf_backbone_modal_response",[this._target,this.getFormData()]);var o={action:"everest_forms_new_form",security:n.evf_new_form_nonce,form_name:e("#evf-modal-form-name").val()};e.ajax({url:n.ajax_url,data:o,type:"POST",beforeSend:function(){},success:function(t){var o="",n="success";"undefined"!=typeof t.success?t.data.id>0?(o="Form successfully created. Redirecting....",setTimeout(function(){window.location=t.data.redirect},1e3)):(o="Unknown error ! Could not create a form",n="error"):(n="error",o="Unknown error ! Could not create a form");var a='<div id="message" class="notice notice-'+n+' is-dismissible"><p>'+o+"</p></div>";e("#evf-backbone-modal-dialog").find("#message").remove(),e("#evf-backbone-modal-dialog").find("article").append(a)}})},getFormData:function(){var t={};return e(document.body).trigger("evf_backbone_modal_before_update",this._target),e.each(e("form",this.$el).serializeArray(),function(o,n){-1!==n.name.indexOf("[]")?(n.name=n.name.replace("[]",""),t[n.name]=e.makeArray(t[n.name]),t[n.name].push(n.value)):t[n.name]=n.value}),t},keyboardActions:function(e){var t=e.keyCode||e.which;13!==t||e.target.tagName&&("input"===e.target.tagName.toLowerCase()||"textarea"===e.target.tagName.toLowerCase())||this.addButton(e),27===t&&this.closeButton(e)}}),e("body").on("click",".evf-add-new",function(t){return e(this).EVFBackboneModal({template:"evf-add-new-form",variable:{test:"tet"}}),!1})}(jQuery,Backbone,_,window.evf_form_modal_data);
1
+ !function(a,e,o,n){"use strict";a.fn.EVFBackboneModal=function(e){return this.each(function(){new a.EVFBackboneModal(a(this),e)})},a.EVFBackboneModal=function(e,t){var o=a.extend({},a.EVFBackboneModal.defaultOptions,t);o.template&&new a.EVFBackboneModal.View({target:o.template,string:o.variable})},a.EVFBackboneModal.defaultOptions={template:"",variable:{}},a.EVFBackboneModal.View=e.View.extend({tagName:"div",id:"evf-backbone-modal-dialog",_target:undefined,_string:undefined,events:{"click .modal-close":"closeButton","click #btn-ok":"addButton","touchstart #btn-ok":"addButton",keydown:"keyboardActions"},resizeContent:function(){var e=a(".evf-backbone-modal-content").find("article"),t=.75*a(window).height();e.css({"max-height":t+"px"})},initialize:function(e){var t=this;this._target=e.target,this._string=e.string,o.bindAll(this,"render"),this.render(),a(window).resize(function(){t.resizeContent()})},render:function(){var e=wp.template(this._target);this.$el.append(e(this._string)),a(document.body).css({overflow:"hidden"}).append(this.$el),this.resizeContent(),this.$(".evf-backbone-modal-content").attr("tabindex","0").focus(),a(document.body).trigger("init_tooltips"),a(document.body).trigger("evf_backbone_modal_loaded",this._target)},closeButton:function(e){e.preventDefault(),a(document.body).trigger("evf_backbone_modal_before_remove",this._target),this.undelegateEvents(),a(document).off("focusin"),a(document.body).css({overflow:"auto"}),this.remove(),a(document.body).trigger("evf_backbone_modal_removed",this._target)},addButton:function(e){a(document.body).trigger("evf_backbone_modal_response",[this._target,this.getFormData()]);var t={action:"everest_forms_new_form",security:n.evf_new_form_nonce,form_name:a("#evf-modal-form-name").val()};a.ajax({url:n.ajax_url,data:t,type:"POST",beforeSend:function(){},success:function(e){var t="",o="success";"undefined"!=typeof e.success?0<e.data.id?(t="Form successfully created. Redirecting....",setTimeout(function(){window.location=e.data.redirect},1e3)):(t="Unknown error ! Could not create a form",o="error"):(o="error",t="Unknown error ! Could not create a form");var n='<div id="message" class="notice notice-'+o+' is-dismissible"><p>'+t+"</p></div>";a("#evf-backbone-modal-dialog").find("#message").remove(),a("#evf-backbone-modal-dialog").find("article").append(n)}})},getFormData:function(){var o={};return a(document.body).trigger("evf_backbone_modal_before_update",this._target),a.each(a("form",this.$el).serializeArray(),function(e,t){-1!==t.name.indexOf("[]")?(t.name=t.name.replace("[]",""),o[t.name]=a.makeArray(o[t.name]),o[t.name].push(t.value)):o[t.name]=t.value}),o},keyboardActions:function(e){var t=e.keyCode||e.which;13!==t||e.target.tagName&&("input"===e.target.tagName.toLowerCase()||"textarea"===e.target.tagName.toLowerCase())||this.addButton(e),27===t&&this.closeButton(e)}}),a("body").on("click",".evf-add-new",function(e){return a(this).EVFBackboneModal({template:"evf-add-new-form",variable:{test:"tet"}}),!1})}(jQuery,Backbone,_,window.evf_form_modal_data);
assets/js/admin/settings.min.js CHANGED
@@ -1 +1 @@
1
- !function(t){t(document).ready(function(){t("body").on("click",".evf-nav-tab-wrapper a.nav-tab",function(a){a.preventDefault();var e=t(this).attr("data-key");t(".everest-forms .nav-tab").removeClass("nav-tab-active"),t(this).addClass("nav-tab-active"),t(".evf-setting-tab-content").removeClass("active"),t('.evf-setting-tab-content[data-conent-key="'+e+'"]').addClass("active")})})}(jQuery);
1
+ !function(e){e(document).ready(function(){e("body").on("click",".evf-nav-tab-wrapper a.nav-tab",function(t){t.preventDefault();var a=e(this).attr("data-key");e(".everest-forms .nav-tab").removeClass("nav-tab-active"),e(this).addClass("nav-tab-active"),e(".evf-setting-tab-content").removeClass("active"),e('.evf-setting-tab-content[data-conent-key="'+a+'"]').addClass("active")})})}(jQuery);
assets/js/frontend/everest-forms.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(function(e){"use strict";if("undefined"==typeof everest_forms_params)return!1;({$everest_form:e("form.everest-form"),init:function(){this.init_datepicker(),this.load_validation(),this.$everest_form.on("input validate change",".input-text, select, input:checkbox",this.validate_field)},init_datepicker:function(){e(".date-picker-field, .date-picker").datepicker({changeMonth:!0,changeYear:!0,defaultDate:"",dateFormat:"yy-mm-dd",numberOfMonths:1,minDate:"-15Y",maxDate:"+15Y"})},load_validation:function(){if("undefined"==typeof e.fn.validate)return!1;e.extend(e.validator.messages,{required:everest_forms_params.i18n_messages_required,url:everest_forms_params.i18n_messages_url,email:everest_forms_params.i18n_messages_email,number:everest_forms_params.i18n_messages_number}),e.validator.methods.email=function(e,F){var a=new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);return this.optional(F)||a.test(e)},this.$everest_form.each(function(){e(this).validate({errorClass:"evf-error",validClass:"evf-valid",errorPlacement:function(e,F){"radio"===F.attr("type")||"checkbox"===F.attr("type")?F.parent().parent().parent().append(e):F.is("select")&&F.attr("class").match(/date-month|date-day|date-year/)?0===F.parent().find("label.evf-error:visible").length&&F.parent().find("select:last").after(e):e.insertAfter(F)},highlight:function(F,a,r){var u=e(F),t=u.closest(".form-row"),s=u.attr("name");"radio"===u.attr("type")||"checkbox"===u.attr("type")?t.find("input[name='"+s+"']").addClass(a).removeClass(r):u.addClass(a).removeClass(r),t.addClass("evf-has-error")},unhighlight:function(F,a,r){var u=e(F),t=u.closest(".form-row"),s=u.attr("name");"radio"===u.attr("type")||"checkbox"===u.attr("type")?t.find("input[name='"+s+"']").addClass(r).removeClass(a):u.addClass(r).removeClass(a),t.removeClass("evf-has-error")},submitHandler:function(F,a){""==grecaptcha.getResponse()?e("#evf_node_recaptcha").after('<label class="evf-error">'+everest_forms_params.i18n_messages_recaptcha+"</div>"):a.submit()}})})},validate_field:function(F){var a=e(this),r=a.closest(".form-row"),u=!0,t=r.is(".validate-required"),s=r.is(".validate-email"),i=F.type;if("input"===i&&r.removeClass("everest-forms-invalid everest-forms-invalid-required-field everest-forms-invalid-email everest-forms-validated"),"validate"===i||"change"===i){if(t&&("checkbox"!==a.attr("type")||a.is(":checked")?""===a.val()&&(r.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-required-field"),u=!1):(r.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-required-field"),u=!1)),s&&a.val()){new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i).test(a.val())||(r.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-email"),u=!1)}u&&r.removeClass("everest-forms-invalid everest-forms-invalid-required-field everest-forms-invalid-email").addClass("everest-forms-validated")}}}).init()});var google_recaptcha_everest_forms,onloadEVFCallback=function(){google_recaptcha_everest_forms=grecaptcha.render("evf_node_recaptcha",{sitekey:evf_google_recaptcha_code.site_key,theme:"light",style:"transform:scale(0.77);-webkit-transform:scale(0.77);transform-origin:0 0;-webkit-transform-origin:0 0;"})};
1
+ var google_recaptcha_everest_forms;jQuery(function(i){"use strict";if("undefined"==typeof everest_forms_params)return!1;({$everest_form:i("form.everest-form"),init:function(){this.init_datepicker(),this.load_validation(),this.$everest_form.on("input validate change",".input-text, select, input:checkbox",this.validate_field)},init_datepicker:function(){i(".date-picker-field, .date-picker").datepicker({changeMonth:!0,changeYear:!0,defaultDate:"",dateFormat:"yy-mm-dd",numberOfMonths:1,minDate:"-15Y",maxDate:"+15Y"})},load_validation:function(){if("undefined"==typeof i.fn.validate)return!1;i.extend(i.validator.messages,{required:everest_forms_params.i18n_messages_required,url:everest_forms_params.i18n_messages_url,email:everest_forms_params.i18n_messages_email,number:everest_forms_params.i18n_messages_number}),i.validator.methods.email=function(e,F){var a=new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);return this.optional(F)||a.test(e)},this.$everest_form.each(function(){i(this).validate({errorClass:"evf-error",validClass:"evf-valid",errorPlacement:function(e,F){"radio"===F.attr("type")||"checkbox"===F.attr("type")?F.parent().parent().parent().append(e):F.is("select")&&F.attr("class").match(/date-month|date-day|date-year/)?0===F.parent().find("label.evf-error:visible").length&&F.parent().find("select:last").after(e):e.insertAfter(F)},highlight:function(e,F,a){var r=i(e),u=r.closest(".form-row"),t=r.attr("name");"radio"===r.attr("type")||"checkbox"===r.attr("type")?u.find("input[name='"+t+"']").addClass(F).removeClass(a):r.addClass(F).removeClass(a),u.addClass("evf-has-error")},unhighlight:function(e,F,a){var r=i(e),u=r.closest(".form-row"),t=r.attr("name");"radio"===r.attr("type")||"checkbox"===r.attr("type")?u.find("input[name='"+t+"']").addClass(a).removeClass(F):r.addClass(a).removeClass(F),u.removeClass("evf-has-error")},submitHandler:function(e,F){""==grecaptcha.getResponse()?i("#evf_node_recaptcha").after('<label class="evf-error">'+everest_forms_params.i18n_messages_recaptcha+"</div>"):F.submit()}})})},validate_field:function(e){var F=i(this),a=F.closest(".form-row"),r=!0,u=a.is(".validate-required"),t=a.is(".validate-email"),s=e.type;if("input"===s&&a.removeClass("everest-forms-invalid everest-forms-invalid-required-field everest-forms-invalid-email everest-forms-validated"),"validate"===s||"change"===s){if(u&&("checkbox"!==F.attr("type")||F.is(":checked")?""===F.val()&&(a.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-required-field"),r=!1):(a.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-required-field"),r=!1)),t)if(F.val())new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i).test(F.val())||(a.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-email"),r=!1);r&&a.removeClass("everest-forms-invalid everest-forms-invalid-required-field everest-forms-invalid-email").addClass("everest-forms-validated")}}}).init()});var onloadEVFCallback=function(){google_recaptcha_everest_forms=grecaptcha.render("evf_node_recaptcha",{sitekey:evf_google_recaptcha_code.site_key,theme:"light",style:"transform:scale(0.77);-webkit-transform:scale(0.77);transform-origin:0 0;-webkit-transform-origin:0 0;"})};
everest-forms.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Everest Forms
4
  * Plugin URI: https://wpeverest.com/wordpress-plugins/everest-forms/
5
  * Description: Drag and Drop form builder to easily create contact forms and more.
6
- * Version: 1.1.2
7
  * Author: WPEverest
8
  * Author URI: https://wpeverest.com
9
  * Text Domain: everest-forms
3
  * Plugin Name: Everest Forms
4
  * Plugin URI: https://wpeverest.com/wordpress-plugins/everest-forms/
5
  * Description: Drag and Drop form builder to easily create contact forms and more.
6
+ * Version: 1.1.3
7
  * Author: WPEverest
8
  * Author URI: https://wpeverest.com
9
  * Text Domain: everest-forms
includes/abstracts/abstract-evf-form-fields.php CHANGED
@@ -818,7 +818,7 @@ abstract class EVF_Form_Fields {
818
  $field_submit = implode( "\r\n", $field_submit );
819
  }
820
 
821
- $name = ! empty( $form_data['fields'][ $field_id ]['label'] ) ? sanitize_text_field( $form_data['fields'][ $field_id ]['label'] ) : '';
822
 
823
  // Sanitize but keep line breaks.
824
  $value = everest_forms_sanitize_textarea_field( $field_submit );
818
  $field_submit = implode( "\r\n", $field_submit );
819
  }
820
 
821
+ $name = ! empty( $form_data['form_fields'][ $field_id ]['label'] ) ? sanitize_text_field( $form_data['form_fields'][ $field_id ]['label'] ) : '';
822
 
823
  // Sanitize but keep line breaks.
824
  $value = everest_forms_sanitize_textarea_field( $field_submit );
includes/abstracts/class-evf-background-process.php ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Abstract WP_Background_Process class.
4
+ *
5
+ * Uses https://github.com/A5hleyRich/wp-background-processing to handle DB
6
+ * updates in the background.
7
+ *
8
+ * @package EverestForms/Classes
9
+ */
10
+
11
+ defined( 'ABSPATH' ) || exit;
12
+
13
+ if ( ! class_exists( 'WP_Async_Request', false ) ) {
14
+ include_once dirname( EVF_PLUGIN_FILE ) . '/includes/libraries/wp-async-request.php';
15
+ }
16
+
17
+ if ( ! class_exists( 'WP_Background_Process', false ) ) {
18
+ include_once dirname( EVF_PLUGIN_FILE ) . '/includes/libraries/wp-background-process.php';
19
+ }
20
+
21
+ /**
22
+ * EVF_Background_Process class.
23
+ */
24
+ abstract class EVF_Background_Process extends WP_Background_Process {
25
+
26
+ /**
27
+ * Is queue empty.
28
+ *
29
+ * @return bool
30
+ */
31
+ protected function is_queue_empty() {
32
+ global $wpdb;
33
+
34
+ $table = $wpdb->options;
35
+ $column = 'option_name';
36
+
37
+ if ( is_multisite() ) {
38
+ $table = $wpdb->sitemeta;
39
+ $column = 'meta_key';
40
+ }
41
+
42
+ $key = $wpdb->esc_like( $this->identifier . '_batch_' ) . '%';
43
+
44
+ $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$table} WHERE {$column} LIKE %s", $key ) ); // @codingStandardsIgnoreLine.
45
+
46
+ return ! ( $count > 0 );
47
+ }
48
+
49
+ /**
50
+ * Get batch.
51
+ *
52
+ * @return stdClass Return the first batch from the queue.
53
+ */
54
+ protected function get_batch() {
55
+ global $wpdb;
56
+
57
+ $table = $wpdb->options;
58
+ $column = 'option_name';
59
+ $key_column = 'option_id';
60
+ $value_column = 'option_value';
61
+
62
+ if ( is_multisite() ) {
63
+ $table = $wpdb->sitemeta;
64
+ $column = 'meta_key';
65
+ $key_column = 'meta_id';
66
+ $value_column = 'meta_value';
67
+ }
68
+
69
+ $key = $wpdb->esc_like( $this->identifier . '_batch_' ) . '%';
70
+
71
+ $query = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$table} WHERE {$column} LIKE %s ORDER BY {$key_column} ASC LIMIT 1", $key ) ); // @codingStandardsIgnoreLine.
72
+
73
+ $batch = new stdClass();
74
+ $batch->key = $query->$column;
75
+ $batch->data = array_filter( (array) maybe_unserialize( $query->$value_column ) );
76
+
77
+ return $batch;
78
+ }
79
+
80
+ /**
81
+ * See if the batch limit has been exceeded.
82
+ *
83
+ * @return bool
84
+ */
85
+ protected function batch_limit_exceeded() {
86
+ return $this->time_exceeded() || $this->memory_exceeded();
87
+ }
88
+
89
+ /**
90
+ * Handle.
91
+ *
92
+ * Pass each queue item to the task handler, while remaining
93
+ * within server memory and time limit constraints.
94
+ */
95
+ protected function handle() {
96
+ $this->lock_process();
97
+
98
+ do {
99
+ $batch = $this->get_batch();
100
+
101
+ foreach ( $batch->data as $key => $value ) {
102
+ $task = $this->task( $value );
103
+
104
+ if ( false !== $task ) {
105
+ $batch->data[ $key ] = $task;
106
+ } else {
107
+ unset( $batch->data[ $key ] );
108
+ }
109
+
110
+ if ( $this->batch_limit_exceeded() ) {
111
+ // Batch limits reached.
112
+ break;
113
+ }
114
+ }
115
+
116
+ // Update or delete current batch.
117
+ if ( ! empty( $batch->data ) ) {
118
+ $this->update( $batch->key, $batch->data );
119
+ } else {
120
+ $this->delete( $batch->key );
121
+ }
122
+ } while ( ! $this->batch_limit_exceeded() && ! $this->is_queue_empty() );
123
+
124
+ $this->unlock_process();
125
+
126
+ // Start next batch or complete process.
127
+ if ( ! $this->is_queue_empty() ) {
128
+ $this->dispatch();
129
+ } else {
130
+ $this->complete();
131
+ }
132
+ }
133
+
134
+ /**
135
+ * Get memory limit.
136
+ *
137
+ * @return int
138
+ */
139
+ protected function get_memory_limit() {
140
+ if ( function_exists( 'ini_get' ) ) {
141
+ $memory_limit = ini_get( 'memory_limit' );
142
+ } else {
143
+ // Sensible default.
144
+ $memory_limit = '128M';
145
+ }
146
+
147
+ if ( ! $memory_limit || -1 === intval( $memory_limit ) ) {
148
+ // Unlimited, set to 32GB.
149
+ $memory_limit = '32000M';
150
+ }
151
+
152
+ return intval( $memory_limit ) * 1024 * 1024;
153
+ }
154
+
155
+ /**
156
+ * Schedule cron healthcheck.
157
+ *
158
+ * @param array $schedules Schedules.
159
+ * @return array
160
+ */
161
+ public function schedule_cron_healthcheck( $schedules ) {
162
+ $interval = apply_filters( $this->identifier . '_cron_interval', 5 );
163
+
164
+ if ( property_exists( $this, 'cron_interval' ) ) {
165
+ $interval = apply_filters( $this->identifier . '_cron_interval', $this->cron_interval_identifier );
166
+ }
167
+
168
+ // Adds every 5 minutes to the existing schedules.
169
+ $schedules[ $this->identifier . '_cron_interval' ] = array(
170
+ 'interval' => MINUTE_IN_SECONDS * $interval,
171
+ /* translators: %d: interval */
172
+ 'display' => sprintf( __( 'Every %d minutes', 'everest-forms' ), $interval ),
173
+ );
174
+
175
+ return $schedules;
176
+ }
177
+
178
+ /**
179
+ * Delete all batches.
180
+ *
181
+ * @return EVF_Background_Process
182
+ */
183
+ public function delete_all_batches() {
184
+ global $wpdb;
185
+
186
+ $table = $wpdb->options;
187
+ $column = 'option_name';
188
+
189
+ if ( is_multisite() ) {
190
+ $table = $wpdb->sitemeta;
191
+ $column = 'meta_key';
192
+ }
193
+
194
+ $key = $wpdb->esc_like( $this->identifier . '_batch_' ) . '%';
195
+
196
+ $wpdb->query( $wpdb->prepare( "DELETE FROM {$table} WHERE {$column} LIKE %s", $key ) ); // @codingStandardsIgnoreLine.
197
+
198
+ return $this;
199
+ }
200
+
201
+ /**
202
+ * Kill process.
203
+ *
204
+ * Stop processing queue items, clear cronjob and delete all batches.
205
+ */
206
+ public function kill_process() {
207
+ if ( ! $this->is_queue_empty() ) {
208
+ $this->delete_all_batches();
209
+ wp_clear_scheduled_hook( $this->cron_hook_identifier );
210
+ }
211
+ }
212
+ }
includes/admin/class-evf-admin-assets.php CHANGED
@@ -35,8 +35,7 @@ if ( ! class_exists( 'EVF_Admin_Assets', false ) ) :
35
  */
36
  public function everest_forms_builder_scripts() {
37
 
38
- // Remove conflicting scripts
39
-
40
  do_action( 'everest_forms_builder_enqueues_before' );
41
 
42
  wp_enqueue_style( 'everest_forms_admin_menu_styles', EVF()->plugin_url() . '/assets/css/everest-builder.css', array(), EVF_VERSION );
@@ -70,45 +69,33 @@ if ( ! class_exists( 'EVF_Admin_Assets', false ) ) :
70
  );
71
 
72
  // JS
73
-
74
  wp_enqueue_media();
75
 
76
-
77
- $strings = array(
78
- 'ajax_url' => admin_url( 'admin-ajax.php' ),
79
- 'evf_field_drop_nonce' => wp_create_nonce( 'everest_forms_field_drop' ),
80
- 'evf_save_form' => wp_create_nonce( 'everest_forms_save_form' ),
81
- 'evf_get_next_id' => wp_create_nonce( 'everest_forms_get_next_id' ),
82
- 'form_id' => isset( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : 0,
83
- 'are_you_sure_want_to_delete_this' => __( 'Are you sure want to delete this', 'everest-forms' ),
84
- 'field' => __( 'field', 'everest-forms' ),
85
- 'confirm' => __( 'Confirm', 'everest-forms' ),
86
- 'cancel' => __( 'Cancel', 'everest-forms' ),
87
- 'delete_confirm_title' => __( 'Delete Confirmation', 'everest-forms' ),
88
- 'duplicate_confirm_title' => __( 'Duplicate Confirmation', 'everest-forms' ),
89
- 'are_you_sure_want_to_duplicate_this' => __( 'Are you sure want to duplicate this', 'everest-forms' ),
90
- 'are_you_sure_want_to_delete_row' => __( 'Are you sure want to delete this row?', 'everest-forms' ),
91
- 'copy_of' => __( 'Copy of ', 'everest-forms' ),
92
- 'ok' => __( 'Ok', 'everest-forms' ),
93
- 'could_not_delete_single_row_title' => __( 'Could not delete', 'everest-forms' ),
94
- 'could_not_delete_single_row_content' => __( 'Could not delete single row.', 'everest-forms' ),
95
- 'could_not_delete_single_choice' => __( 'Could not delete single choice.', 'everest-forms' ),
96
- 'could_not_delete_single_choice_content' => __( 'Could not delete single choice.', 'everest-forms' ),
97
- 'tab' => isset( $_GET['tab'] ) ? $_GET['tab'] : ''
98
-
99
-
100
  );
101
- $strings = apply_filters( 'everest_forms_builder_strings', $strings );
102
-
103
-
104
- wp_localize_script(
105
- 'evf-panel-builder',
106
- 'evf_data',
107
- $strings
108
- );
109
-
110
- // Hook
111
 
 
112
  }
113
 
114
  /**
35
  */
36
  public function everest_forms_builder_scripts() {
37
 
38
+ // Remove conflicting scripts.
 
39
  do_action( 'everest_forms_builder_enqueues_before' );
40
 
41
  wp_enqueue_style( 'everest_forms_admin_menu_styles', EVF()->plugin_url() . '/assets/css/everest-builder.css', array(), EVF_VERSION );
69
  );
70
 
71
  // JS
 
72
  wp_enqueue_media();
73
 
74
+ $params = apply_filters(
75
+ 'everest_forms_builder_strings', array(
76
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
77
+ 'tab' => isset( $_GET['tab'] ) ? $_GET['tab'] : '',
78
+ 'evf_field_drop_nonce' => wp_create_nonce( 'everest_forms_field_drop' ),
79
+ 'evf_save_form' => wp_create_nonce( 'everest_forms_save_form' ),
80
+ 'evf_get_next_id' => wp_create_nonce( 'everest_forms_get_next_id' ),
81
+ 'form_id' => isset( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : 0,
82
+ 'field' => esc_html__( 'field', 'everest-forms' ),
83
+ 'copy_of' => esc_html__( 'Copy of ', 'everest-forms' ),
84
+ 'i18n_ok' => esc_html__( 'OK', 'everest-forms' ),
85
+ 'i18n_close' => esc_html__( 'Close', 'everest-forms' ),
86
+ 'i18n_cancel' => esc_html__( 'Cancel', 'everest-forms' ),
87
+ 'i18n_row_locked' => esc_html__( 'Row Locked', 'everest-forms' ),
88
+ 'i18n_row_locked_msg' => esc_html__( 'Single row cannot be deleted.', 'everest-forms' ),
89
+ 'i18n_field_locked' => esc_html__( 'Field Locked', 'everest-forms' ),
90
+ 'i18n_field_locked_msg' => esc_html__( 'This field cannot be deleted or duplicated.', 'everest-forms' ),
91
+ 'i18n_field_error_choice' => esc_html__( 'This item must contain at least one choice.', 'everest-forms' ),
92
+ 'i18n_delete_row_confirm' => esc_html__( 'Are you sure you want to delete this row?', 'everest-forms' ),
93
+ 'i18n_delete_field_confirm' => esc_html__( 'Are you sure you want to delete this field?', 'everest-forms' ),
94
+ 'i18n_duplicate_field_confirm' => esc_html__( 'Are you sure you want to duplicate this field?', 'everest-forms' ),
95
+ )
 
 
96
  );
 
 
 
 
 
 
 
 
 
 
97
 
98
+ wp_localize_script( 'evf-panel-builder', 'evf_data', $params );
99
  }
100
 
101
  /**
includes/admin/class-evf-admin-entries-table-list.php CHANGED
@@ -389,7 +389,7 @@ class EVF_Admin_Entries_Table_List extends WP_List_Table {
389
  public function prepare_items( $args = array() ) {
390
  global $wpdb;
391
 
392
- $per_page = $this->get_items_per_page( 'evf_forms_per_page' );
393
  $current_page = $this->get_pagenum();
394
 
395
  // Query args.
389
  public function prepare_items( $args = array() ) {
390
  global $wpdb;
391
 
392
+ $per_page = $this->get_items_per_page( 'evf_entries_per_page' );
393
  $current_page = $this->get_pagenum();
394
 
395
  // Query args.
includes/admin/class-evf-admin-settings.php CHANGED
@@ -545,12 +545,11 @@ class EVF_Admin_Settings {
545
  </tr><?php
546
  break;
547
  case 'tinymce':
548
-
549
  $settings = array(
550
- 'name' => esc_attr($value['id']),
551
  'id' => esc_attr( $value['id'] ),
552
  'style' => esc_attr( $value['css'] ),
553
- 'default' => esc_attr($value['default']),
554
  'media_buttons' => false,
555
  'class'=> esc_attr( $value['class'] ),
556
  'quicktags' => array( 'buttons' => 'em,strong,link' ),
@@ -673,6 +672,7 @@ class EVF_Admin_Settings {
673
  case 'checkbox' :
674
  $value = '1' === $raw_value || 'yes' === $raw_value ? 'yes' : 'no';
675
  break;
 
676
  case 'textarea' :
677
  $value = wp_kses_post( trim( $raw_value ) );
678
  break;
@@ -701,9 +701,6 @@ class EVF_Admin_Settings {
701
  $default = ( empty( $option['default'] ) ? $allowed_values[0] : $option['default'] );
702
  $value = in_array( $raw_value, $allowed_values ) ? $raw_value : $default;
703
  break;
704
- case 'tinymce':
705
- $value = wpautop( $raw_value );
706
- break;
707
  default :
708
  $value = evf_clean( $raw_value );
709
  break;
545
  </tr><?php
546
  break;
547
  case 'tinymce':
 
548
  $settings = array(
549
+ 'name' => esc_attr($value['id'] ),
550
  'id' => esc_attr( $value['id'] ),
551
  'style' => esc_attr( $value['css'] ),
552
+ 'default' => esc_attr( $value['default'] ),
553
  'media_buttons' => false,
554
  'class'=> esc_attr( $value['class'] ),
555
  'quicktags' => array( 'buttons' => 'em,strong,link' ),
672
  case 'checkbox' :
673
  $value = '1' === $raw_value || 'yes' === $raw_value ? 'yes' : 'no';
674
  break;
675
+ case 'tinymce' :
676
  case 'textarea' :
677
  $value = wp_kses_post( trim( $raw_value ) );
678
  break;
701
  $default = ( empty( $option['default'] ) ? $allowed_values[0] : $option['default'] );
702
  $value = in_array( $raw_value, $allowed_values ) ? $raw_value : $default;
703
  break;
 
 
 
704
  default :
705
  $value = evf_clean( $raw_value );
706
  break;
includes/admin/views/html-admin-page-entries-view.php CHANGED
@@ -38,14 +38,19 @@ $hide_empty = isset( $_COOKIE['everest_forms_entry_hide_empty'] ) && 'true' ===
38
  } else {
39
  // Display the fields and their values.
40
  foreach ( $entry_meta as $meta_key => $meta_value ) {
41
- $field_value = apply_filters( 'everest_forms_html_field_value', wp_strip_all_tags( $meta_value ) );
42
  $field_class = empty( $field_value ) ? ' empty' : '';
43
  $field_style = $hide_empty && empty( $field_value ) ? 'display:none;' : '';
44
 
45
  // Field name.
46
  echo '<tr class="everest-forms-entry-field field-name' . $field_class . '" style="' . $field_style . '"><th><strong>';
47
- /* translators: %d - field ID. */
48
- echo ! empty( $meta_key ) ? get_form_data_by_meta_key( $form_id, $meta_key ) : esc_html__( 'Field ID', 'everest-forms' );
 
 
 
 
 
49
  echo '</strong></th></tr>';
50
 
51
  // Field value.
38
  } else {
39
  // Display the fields and their values.
40
  foreach ( $entry_meta as $meta_key => $meta_value ) {
41
+ $field_value = apply_filters( 'everest_forms_html_field_value', wp_strip_all_tags( $meta_value ), $meta_key, $entry_meta, 'entry-single' );
42
  $field_class = empty( $field_value ) ? ' empty' : '';
43
  $field_style = $hide_empty && empty( $field_value ) ? 'display:none;' : '';
44
 
45
  // Field name.
46
  echo '<tr class="everest-forms-entry-field field-name' . $field_class . '" style="' . $field_style . '"><th><strong>';
47
+ $value = get_form_data_by_meta_key( $form_id, $meta_key );
48
+
49
+ if ( $value ) {
50
+ echo esc_html( $value );
51
+ } else {
52
+ esc_html_e( 'Field ID', 'everest-forms' );
53
+ }
54
  echo '</strong></th></tr>';
55
 
56
  // Field value.
includes/class-everest-forms.php CHANGED
@@ -21,7 +21,7 @@ final class EverestForms {
21
  *
22
  * @var string
23
  */
24
- public $version = '1.1.2';
25
 
26
  /**
27
  * The form data handler instance.
21
  *
22
  * @var string
23
  */
24
+ public $version = '1.1.3';
25
 
26
  /**
27
  * The form data handler instance.
includes/class-evf-background-updater.php CHANGED
@@ -2,27 +2,20 @@
2
  /**
3
  * Background Updater
4
  *
5
- * Uses https://github.com/A5hleyRich/wp-background-processing to handle DB
6
- * updates in the background.
7
- *
8
  * @package EverestForms\Classes
9
  * @since 1.0.0
10
  */
11
 
12
  defined( 'ABSPATH' ) || exit;
13
 
14
- if ( ! class_exists( 'WP_Async_Request', false ) ) {
15
- include_once( dirname( __FILE__ ) . '/libraries/wp-async-request.php' );
16
- }
17
-
18
- if ( ! class_exists( 'WP_Background_Process', false ) ) {
19
- include_once( dirname( __FILE__ ) . '/libraries/wp-background-process.php' );
20
  }
21
 
22
  /**
23
  * EVF_Background_Updater Class.
24
  */
25
- class EVF_Background_Updater extends WP_Background_Process {
26
 
27
  /**
28
  * Initiate new background process.
@@ -107,7 +100,7 @@ class EVF_Background_Updater extends WP_Background_Process {
107
 
108
  $logger = evf_get_logger();
109
 
110
- include_once( dirname( __FILE__ ) . '/evf-update-functions.php' );
111
 
112
  if ( is_callable( $callback ) ) {
113
  $logger->info( sprintf( 'Running %s callback', $callback ), array( 'source' => 'evf_db_updates' ) );
2
  /**
3
  * Background Updater
4
  *
 
 
 
5
  * @package EverestForms\Classes
6
  * @since 1.0.0
7
  */
8
 
9
  defined( 'ABSPATH' ) || exit;
10
 
11
+ if ( ! class_exists( 'EVF_Background_Process', false ) ) {
12
+ include_once dirname( __FILE__ ) . '/abstracts/class-evf-background-process.php';
 
 
 
 
13
  }
14
 
15
  /**
16
  * EVF_Background_Updater Class.
17
  */
18
+ class EVF_Background_Updater extends EVF_Background_Process {
19
 
20
  /**
21
  * Initiate new background process.
100
 
101
  $logger = evf_get_logger();
102
 
103
+ include_once dirname( __FILE__ ) . '/evf-update-functions.php';
104
 
105
  if ( is_callable( $callback ) ) {
106
  $logger->info( sprintf( 'Running %s callback', $callback ), array( 'source' => 'evf_db_updates' ) );
includes/evf-core-functions.php CHANGED
@@ -812,8 +812,7 @@ function evf_get_form_fields( $form = false, $whitelist = array() ) {
812
  )
813
  );
814
  }
815
-
816
- if ( ! is_array( $form ) || empty( $form['fields'] ) ) {
817
  return false;
818
  }
819
 
@@ -842,7 +841,7 @@ function evf_get_form_fields( $form = false, $whitelist = array() ) {
842
 
843
  $whitelist = ! empty( $whitelist ) ? $whitelist : $allowed_form_fields;
844
 
845
- $form_fields = $form['fields'];
846
 
847
  foreach ( $form_fields as $id => $form_field ) {
848
  if ( ! in_array( $form_field['type'], $whitelist, true ) ) {
@@ -1207,4 +1206,6 @@ function get_form_data_by_meta_key( $form_id, $meta_key ) {
1207
  return $field['label'];
1208
  }
1209
  }
 
 
1210
  }
812
  )
813
  );
814
  }
815
+ if ( ! is_array( $form ) || empty( $form['form_fields'] ) ) {
 
816
  return false;
817
  }
818
 
841
 
842
  $whitelist = ! empty( $whitelist ) ? $whitelist : $allowed_form_fields;
843
 
844
+ $form_fields = $form['form_fields'];
845
 
846
  foreach ( $form_fields as $id => $form_field ) {
847
  if ( ! in_array( $form_field['type'], $whitelist, true ) ) {
1206
  return $field['label'];
1207
  }
1208
  }
1209
+
1210
+ return false;
1211
  }
includes/libraries/class-emogrifier.php DELETED
@@ -1,1555 +0,0 @@
1
- <?php
2
- /**
3
- * This class provides functions for converting CSS styles into inline style attributes in your HTML code.
4
- *
5
- * For more information, please see the README.md file.
6
- *
7
- * @version 1.2.0
8
- *
9
- * @author Cameron Brooks
10
- * @author Jaime Prado
11
- * @author Oliver Klee <typo3-coding@oliverklee.de>
12
- * @author Roman Ožana <ozana@omdesign.cz>
13
- * @author Sander Kruger <s.kruger@invessel.com>
14
- */
15
- // @codingStandardsIgnoreFile
16
- class Emogrifier
17
- {
18
- /**
19
- * @var int
20
- */
21
- const CACHE_KEY_CSS = 0;
22
-
23
- /**
24
- * @var int
25
- */
26
- const CACHE_KEY_SELECTOR = 1;
27
-
28
- /**
29
- * @var int
30
- */
31
- const CACHE_KEY_XPATH = 2;
32
-
33
- /**
34
- * @var int
35
- */
36
- const CACHE_KEY_CSS_DECLARATIONS_BLOCK = 3;
37
-
38
- /**
39
- * @var int
40
- */
41
- const CACHE_KEY_COMBINED_STYLES = 4;
42
-
43
- /**
44
- * for calculating nth-of-type and nth-child selectors
45
- *
46
- * @var int
47
- */
48
- const INDEX = 0;
49
-
50
- /**
51
- * for calculating nth-of-type and nth-child selectors
52
- *
53
- * @var int
54
- */
55
- const MULTIPLIER = 1;
56
-
57
- /**
58
- * @var string
59
- */
60
- const ID_ATTRIBUTE_MATCHER = '/(\\w+)?\\#([\\w\\-]+)/';
61
-
62
- /**
63
- * @var string
64
- */
65
- const CLASS_ATTRIBUTE_MATCHER = '/(\\w+|[\\*\\]])?((\\.[\\w\\-]+)+)/';
66
-
67
- /**
68
- * @var string
69
- */
70
- const CONTENT_TYPE_META_TAG = '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
71
-
72
- /**
73
- * @var string
74
- */
75
- const DEFAULT_DOCUMENT_TYPE = '<!DOCTYPE html>';
76
-
77
- /**
78
- * @var string
79
- */
80
- private $html = '';
81
-
82
- /**
83
- * @var string
84
- */
85
- private $css = '';
86
-
87
- /**
88
- * @var bool[]
89
- */
90
- private $excludedSelectors = array();
91
-
92
- /**
93
- * @var string[]
94
- */
95
- private $unprocessableHtmlTags = array( 'wbr' );
96
-
97
- /**
98
- * @var bool[]
99
- */
100
- private $allowedMediaTypes = array( 'all' => true, 'screen' => true, 'print' => true );
101
-
102
- /**
103
- * @var mixed[]
104
- */
105
- private $caches = array(
106
- self::CACHE_KEY_CSS => array(),
107
- self::CACHE_KEY_SELECTOR => array(),
108
- self::CACHE_KEY_XPATH => array(),
109
- self::CACHE_KEY_CSS_DECLARATIONS_BLOCK => array(),
110
- self::CACHE_KEY_COMBINED_STYLES => array(),
111
- );
112
-
113
- /**
114
- * the visited nodes with the XPath paths as array keys
115
- *
116
- * @var \DOMElement[]
117
- */
118
- private $visitedNodes = array();
119
-
120
- /**
121
- * the styles to apply to the nodes with the XPath paths as array keys for the outer array
122
- * and the attribute names/values as key/value pairs for the inner array
123
- *
124
- * @var string[][]
125
- */
126
- private $styleAttributesForNodes = array();
127
-
128
- /**
129
- * Determines whether the "style" attributes of tags in the the HTML passed to this class should be preserved.
130
- * If set to false, the value of the style attributes will be discarded.
131
- *
132
- * @var bool
133
- */
134
- private $isInlineStyleAttributesParsingEnabled = true;
135
-
136
- /**
137
- * Determines whether the <style> blocks in the HTML passed to this class should be parsed.
138
- *
139
- * If set to true, the <style> blocks will be removed from the HTML and their contents will be applied to the HTML
140
- * via inline styles.
141
- *
142
- * If set to false, the <style> blocks will be left as they are in the HTML.
143
- *
144
- * @var bool
145
- */
146
- private $isStyleBlocksParsingEnabled = true;
147
-
148
- /**
149
- * Determines whether elements with the `display: none` property are
150
- * removed from the DOM.
151
- *
152
- * @var bool
153
- */
154
- private $shouldKeepInvisibleNodes = true;
155
-
156
- /**
157
- * @var string[]
158
- */
159
- private $xPathRules = array(
160
- // child
161
- '/\\s*>\\s*/' => '/',
162
- // adjacent sibling
163
- '/\\s+\\+\\s+/' => '/following-sibling::*[1]/self::',
164
- // descendant
165
- '/\\s+(?=.*[^\\]]{1}$)/' => '//',
166
- // :first-child
167
- '/([^\\/]+):first-child/i' => '*[1]/self::\\1',
168
- // :last-child
169
- '/([^\\/]+):last-child/i' => '*[last()]/self::\\1',
170
- // attribute only
171
- '/^\\[(\\w+|\\w+\\=[\'"]?\\w+[\'"]?)\\]/' => '*[@\\1]',
172
- // attribute
173
- '/(\\w)\\[(\\w+)\\]/' => '\\1[@\\2]',
174
- // exact attribute
175
- '/(\\w)\\[(\\w+)\\=[\'"]?([\\w\\s]+)[\'"]?\\]/' => '\\1[@\\2="\\3"]',
176
- // element attribute~=
177
- '/([\\w\\*]+)\\[(\\w+)[\\s]*\\~\\=[\\s]*[\'"]?([\\w-_\\/]+)[\'"]?\\]/'
178
- => '\\1[contains(concat(" ", @\\2, " "), concat(" ", "\\3", " "))]',
179
- // element attribute^=
180
- '/([\\w\\*]+)\\[(\\w+)[\\s]*\\^\\=[\\s]*[\'"]?([\\w-_\\/]+)[\'"]?\\]/' => '\\1[starts-with(@\\2, "\\3")]',
181
- // element attribute*=
182
- '/([\\w\\*]+)\\[(\\w+)[\\s]*\\*\\=[\\s]*[\'"]?([\\w-_\\s\\/:;]+)[\'"]?\\]/' => '\\1[contains(@\\2, "\\3")]',
183
- // element attribute$=
184
- '/([\\w\\*]+)\\[(\\w+)[\\s]*\\$\\=[\\s]*[\'"]?([\\w-_\\s\\/]+)[\'"]?\\]/'
185
- => '\\1[substring(@\\2, string-length(@\\2) - string-length("\\3") + 1) = "\\3"]',
186
- // element attribute|=
187
- '/([\\w\\*]+)\\[(\\w+)[\\s]*\\|\\=[\\s]*[\'"]?([\\w-_\\s\\/]+)[\'"]?\\]/'
188
- => '\\1[@\\2="\\3" or starts-with(@\\2, concat("\\3", "-"))]',
189
- );
190
-
191
- /**
192
- * Determines whether CSS styles that have an equivalent HTML attribute
193
- * should be mapped and attached to those elements.
194
- *
195
- * @var bool
196
- */
197
- private $shouldMapCssToHtml = false;
198
-
199
- /**
200
- * This multi-level array contains simple mappings of CSS properties to
201
- * HTML attributes. If a mapping only applies to certain HTML nodes or
202
- * only for certain values, the mapping is an object with a whitelist
203
- * of nodes and values.
204
- *
205
- * @var mixed[][]
206
- */
207
- private $cssToHtmlMap = array(
208
- 'background-color' => array(
209
- 'attribute' => 'bgcolor',
210
- ),
211
- 'text-align' => array(
212
- 'attribute' => 'align',
213
- 'nodes' => array('p', 'div', 'td'),
214
- 'values' => array('left', 'right', 'center', 'justify'),
215
- ),
216
- 'float' => array(
217
- 'attribute' => 'align',
218
- 'nodes' => array('table', 'img'),
219
- 'values' => array('left', 'right'),
220
- ),
221
- 'border-spacing' => array(
222
- 'attribute' => 'cellspacing',
223
- 'nodes' => array('table'),
224
- ),
225
- );
226
-
227
- public static $_media = '';
228
-
229
- /**
230
- * The constructor.
231
- *
232
- * @param string $html the HTML to emogrify, must be UTF-8-encoded
233
- * @param string $css the CSS to merge, must be UTF-8-encoded
234
- */
235
- public function __construct($html = '', $css = '')
236
- {
237
- $this->setHtml($html);
238
- $this->setCss($css);
239
- }
240
-
241
- /**
242
- * The destructor.
243
- */
244
- public function __destruct()
245
- {
246
- $this->purgeVisitedNodes();
247
- }
248
-
249
- /**
250
- * Sets the HTML to emogrify.
251
- *
252
- * @param string $html the HTML to emogrify, must be UTF-8-encoded
253
- *
254
- * @return void
255
- */
256
- public function setHtml($html)
257
- {
258
- $this->html = $html;
259
- }
260
-
261
- /**
262
- * Sets the CSS to merge with the HTML.
263
- *
264
- * @param string $css the CSS to merge, must be UTF-8-encoded
265
- *
266
- * @return void
267
- */
268
- public function setCss($css)
269
- {
270
- $this->css = $css;
271
- }
272
-
273
- /**
274
- * Applies $this->css to $this->html and returns the HTML with the CSS
275
- * applied.
276
- *
277
- * This method places the CSS inline.
278
- *
279
- * @return string
280
- *
281
- * @throws \BadMethodCallException
282
- */
283
- public function emogrify()
284
- {
285
- if ($this->html === '') {
286
- throw new BadMethodCallException('Please set some HTML first before calling emogrify.', 1390393096);
287
- }
288
-
289
- self::$_media = ''; // reset.
290
-
291
- $xmlDocument = $this->createXmlDocument();
292
- $this->process($xmlDocument);
293
-
294
- return $xmlDocument->saveHTML();
295
- }
296
-
297
- /**
298
- * Applies $this->css to $this->html and returns only the HTML content
299
- * within the <body> tag.
300
- *
301
- * This method places the CSS inline.
302
- *
303
- * @return string
304
- *
305
- * @throws \BadMethodCallException
306
- */
307
- public function emogrifyBodyContent()
308
- {
309
- if ($this->html === '') {
310
- throw new BadMethodCallException('Please set some HTML first before calling emogrify.', 1390393096);
311
- }
312
-
313
- $xmlDocument = $this->createXmlDocument();
314
- $this->process($xmlDocument);
315
-
316
- $innerDocument = new DOMDocument();
317
- foreach ($xmlDocument->documentElement->getElementsByTagName('body')->item(0)->childNodes as $childNode) {
318
- $innerDocument->appendChild($innerDocument->importNode($childNode, true));
319
- }
320
-
321
- return html_entity_decode($innerDocument->saveHTML());
322
- }
323
-
324
- /**
325
- * Applies $this->css to $xmlDocument.
326
- *
327
- * This method places the CSS inline.
328
- *
329
- * @param \DOMDocument $xmlDocument
330
- *
331
- * @return void
332
- *
333
- * @throws \InvalidArgumentException
334
- */
335
- protected function process(DOMDocument $xmlDocument)
336
- {
337
- $xPath = new DOMXPath($xmlDocument);
338
- $this->clearAllCaches();
339
-
340
- // Before be begin processing the CSS file, parse the document and normalize all existing CSS attributes.
341
- // This changes 'DISPLAY: none' to 'display: none'.
342
- // We wouldn't have to do this if DOMXPath supported XPath 2.0.
343
- // Also store a reference of nodes with existing inline styles so we don't overwrite them.
344
- $this->purgeVisitedNodes();
345
-
346
- set_error_handler(array($this, 'handleXpathError'), E_WARNING);
347
-
348
- $nodesWithStyleAttributes = $xPath->query('//*[@style]');
349
- if ($nodesWithStyleAttributes !== false) {
350
- /** @var \DOMElement $node */
351
- foreach ($nodesWithStyleAttributes as $node) {
352
- if ($this->isInlineStyleAttributesParsingEnabled) {
353
- $this->normalizeStyleAttributes($node);
354
- } else {
355
- $node->removeAttribute('style');
356
- }
357
- }
358
- }
359
-
360
- // grab any existing style blocks from the html and append them to the existing CSS
361
- // (these blocks should be appended so as to have precedence over conflicting styles in the existing CSS)
362
- $allCss = $this->css;
363
-
364
- if ($this->isStyleBlocksParsingEnabled) {
365
- $allCss .= $this->getCssFromAllStyleNodes($xPath);
366
- }
367
-
368
- $cssParts = $this->splitCssAndMediaQuery($allCss);
369
- $excludedNodes = $this->getNodesToExclude($xPath);
370
- $cssRules = $this->parseCssRules($cssParts['css']);
371
- foreach ($cssRules as $cssRule) {
372
- // query the body for the xpath selector
373
- $nodesMatchingCssSelectors = $xPath->query($this->translateCssToXpath($cssRule['selector']));
374
- // ignore invalid selectors
375
- if ($nodesMatchingCssSelectors === false) {
376
- continue;
377
- }
378
-
379
- /** @var \DOMElement $node */
380
- foreach ($nodesMatchingCssSelectors as $node) {
381
- if (in_array($node, $excludedNodes, true)) {
382
- continue;
383
- }
384
-
385
- // if it has a style attribute, get it, process it, and append (overwrite) new stuff
386
- if ($node->hasAttribute('style')) {
387
- // break it up into an associative array
388
- $oldStyleDeclarations = $this->parseCssDeclarationsBlock($node->getAttribute('style'));
389
- } else {
390
- $oldStyleDeclarations = array();
391
- }
392
- $newStyleDeclarations = $this->parseCssDeclarationsBlock($cssRule['declarationsBlock']);
393
- if ($this->shouldMapCssToHtml) {
394
- $this->mapCssToHtmlAttributes($newStyleDeclarations, $node);
395
- }
396
- $node->setAttribute(
397
- 'style',
398
- $this->generateStyleStringFromDeclarationsArrays($oldStyleDeclarations, $newStyleDeclarations)
399
- );
400
- }
401
- }
402
-
403
- restore_error_handler();
404
-
405
- if ($this->isInlineStyleAttributesParsingEnabled) {
406
- $this->fillStyleAttributesWithMergedStyles();
407
- }
408
-
409
- if ($this->shouldKeepInvisibleNodes) {
410
- $this->removeInvisibleNodes($xPath);
411
- }
412
-
413
- $this->copyCssWithMediaToStyleNode($xmlDocument, $xPath, $cssParts['media']);
414
- }
415
-
416
- /**
417
- * Applies $styles to $node.
418
- *
419
- * This method maps CSS styles to HTML attributes and adds those to the
420
- * node.
421
- *
422
- * @param string[] $styles the new CSS styles taken from the global styles to be applied to this node
423
- * @param \DOMNode $node node to apply styles to
424
- *
425
- * @return void
426
- */
427
- private function mapCssToHtmlAttributes(array $styles, DOMNode $node)
428
- {
429
- foreach ($styles as $property => $value) {
430
- // Strip !important indicator
431
- $value = trim(str_replace('!important', '', $value));
432
- $this->mapCssToHtmlAttribute($property, $value, $node);
433
- }
434
- }
435
-
436
- /**
437
- * Tries to apply the CSS style to $node as an attribute.
438
- *
439
- * This method maps a CSS rule to HTML attributes and adds those to the node.
440
- *
441
- * @param string $property the name of the CSS property to map
442
- * @param string $value the value of the style rule to map
443
- * @param \DOMNode $node node to apply styles to
444
- *
445
- * @return void
446
- */
447
- private function mapCssToHtmlAttribute($property, $value, DOMNode $node)
448
- {
449
- if (!$this->mapSimpleCssProperty($property, $value, $node)) {
450
- $this->mapComplexCssProperty($property, $value, $node);
451
- }
452
- }
453
-
454
- /**
455
- * Looks up the CSS property in the mapping table and maps it if it matches the conditions.
456
- *
457
- * @param string $property the name of the CSS property to map
458
- * @param string $value the value of the style rule to map
459
- * @param \DOMNode $node node to apply styles to
460
- *
461
- * @return bool true if the property cab be mapped using the simple mapping table
462
- */
463
- private function mapSimpleCssProperty($property, $value, DOMNode $node)
464
- {
465
- if (!isset($this->cssToHtmlMap[$property])) {
466
- return false;
467
- }
468
-
469
- $mapping = $this->cssToHtmlMap[$property];
470
- $nodesMatch = !isset($mapping['nodes']) || in_array($node->nodeName, $mapping['nodes'], true);
471
- $valuesMatch = !isset($mapping['values']) || in_array($value, $mapping['values'], true);
472
- if (!$nodesMatch || !$valuesMatch) {
473
- return false;
474
- }
475
-
476
- $node->setAttribute($mapping['attribute'], $value);
477
-
478
- return true;
479
- }
480
-
481
- /**
482
- * Maps CSS properties that need special transformation to an HTML attribute.
483
- *
484
- * @param string $property the name of the CSS property to map
485
- * @param string $value the value of the style rule to map
486
- * @param \DOMNode $node node to apply styles to
487
- *
488
- * @return void
489
- */
490
- private function mapComplexCssProperty($property, $value, DOMNode $node)
491
- {
492
- $nodeName = $node->nodeName;
493
- $isTable = $nodeName === 'table';
494
- $isImage = $nodeName === 'img';
495
- $isTableOrImage = $isTable || $isImage;
496
-
497
- switch ($property) {
498
- case 'background':
499
- // Parse out the color, if any
500
- $styles = explode(' ', $value);
501
- $first = $styles[0];
502
- if (!is_numeric(substr($first, 0, 1)) && substr($first, 0, 3) !== 'url') {
503
- // This is not a position or image, assume it's a color
504
- $node->setAttribute('bgcolor', $first);
505
- }
506
- break;
507
- case 'width':
508
- // intentional fall-through
509
- case 'height':
510
- // Only parse values in px and %, but not values like "auto".
511
- if (preg_match('/^\d+(px|%)$/', $value)) {
512
- // Remove 'px'. This regex only conserves numbers and %
513
- $number = preg_replace('/[^0-9.%]/', '', $value);
514
- $node->setAttribute($property, $number);
515
- }
516
- break;
517
- case 'margin':
518
- if ($isTableOrImage) {
519
- $margins = $this->parseCssShorthandValue($value);
520
- if ($margins['left'] === 'auto' && $margins['right'] === 'auto') {
521
- $node->setAttribute('align', 'center');
522
- }
523
- }
524
- break;
525
- case 'border':
526
- if ($isTableOrImage) {
527
- if ($value === 'none' || $value === '0') {
528
- $node->setAttribute('border', '0');
529
- }
530
- }
531
- break;
532
- default:
533
- }
534
- }
535
-
536
- /**
537
- * Parses a shorthand CSS value and splits it into individual values
538
- *
539
- * @param string $value a string of CSS value with 1, 2, 3 or 4 sizes
540
- * For example: padding: 0 auto;
541
- * '0 auto' is split into top: 0, left: auto, bottom: 0,
542
- * right: auto.
543
- *
544
- * @return string[] an array of values for top, right, bottom and left (using these as associative array keys)
545
- */
546
- private function parseCssShorthandValue($value)
547
- {
548
- $values = preg_split('/\\s+/', $value);
549
-
550
- $css = array();
551
- $css['top'] = $values[0];
552
- $css['right'] = (count($values) > 1) ? $values[1] : $css['top'];
553
- $css['bottom'] = (count($values) > 2) ? $values[2] : $css['top'];
554
- $css['left'] = (count($values) > 3) ? $values[3] : $css['right'];
555
-
556
- return $css;
557
- }
558
-
559
- /**
560
- * Extracts and parses the individual rules from a CSS string.
561
- *
562
- * @param string $css a string of raw CSS code
563
- *
564
- * @return string[][] an array of string sub-arrays with the keys
565
- * "selector" (the CSS selector(s), e.g., "*" or "h1"),
566
- * "declarationsBLock" (the semicolon-separated CSS declarations for that selector(s),
567
- * e.g., "color: red; height: 4px;"),
568
- * and "line" (the line number e.g. 42)
569
- */
570
- private function parseCssRules($css)
571
- {
572
- $cssKey = md5($css);
573
- if (!isset($this->caches[self::CACHE_KEY_CSS][$cssKey])) {
574
- // process the CSS file for selectors and definitions
575
- preg_match_all('/(?:^|[\\s^{}]*)([^{]+){([^}]*)}/mis', $css, $matches, PREG_SET_ORDER);
576
-
577
- $cssRules = array();
578
- /** @var string[] $cssRule */
579
- foreach ($matches as $key => $cssRule) {
580
- $cssDeclaration = trim($cssRule[2]);
581
- if ($cssDeclaration === '') {
582
- continue;
583
- }
584
-
585
- $selectors = explode(',', $cssRule[1]);
586
- foreach ($selectors as $selector) {
587
- // don't process pseudo-elements and behavioral (dynamic) pseudo-classes;
588
- // only allow structural pseudo-classes
589
- $hasPseudoElement = strpos($selector, '::') !== false;
590
- $hasAnyPseudoClass = (bool) preg_match('/:[a-zA-Z]/', $selector);
591
- $hasSupportedPseudoClass = (bool) preg_match('/:\\S+\\-(child|type\\()/i', $selector);
592
- if ($hasPseudoElement || ($hasAnyPseudoClass && !$hasSupportedPseudoClass)) {
593
- continue;
594
- }
595
-
596
- $cssRules[] = array(
597
- 'selector' => trim($selector),
598
- 'declarationsBlock' => $cssDeclaration,
599
- // keep track of where it appears in the file, since order is important
600
- 'line' => $key,
601
- );
602
- }
603
- }
604
-
605
- usort($cssRules, array($this, 'sortBySelectorPrecedence'));
606
-
607
- $this->caches[self::CACHE_KEY_CSS][$cssKey] = $cssRules;
608
- }
609
-
610
- return $this->caches[self::CACHE_KEY_CSS][$cssKey];
611
- }
612
-
613
- /**
614
- * Disables the parsing of inline styles.
615
- *
616
- * @return void
617
- */
618
- public function disableInlineStyleAttributesParsing()
619
- {
620
- $this->isInlineStyleAttributesParsingEnabled = false;
621
- }
622
-
623
- /**
624
- * Disables the parsing of <style> blocks.
625
- *
626
- * @return void
627
- */
628
- public function disableStyleBlocksParsing()
629
- {
630
- $this->isStyleBlocksParsingEnabled = false;
631
- }
632
-
633
- /**
634
- * Disables the removal of elements with `display: none` properties.
635
- *
636
- * @return void
637
- */
638
- public function disableInvisibleNodeRemoval()
639
- {
640
- $this->shouldKeepInvisibleNodes = false;
641
- }
642
-
643
- /**
644
- * Enables the attachment/override of HTML attributes for which a
645
- * corresponding CSS property has been set.
646
- *
647
- * @return void
648
- */
649
- public function enableCssToHtmlMapping()
650
- {
651
- $this->shouldMapCssToHtml = true;
652
- }
653
-
654
- /**
655
- * Clears all caches.
656
- *
657
- * @return void
658
- */
659
- private function clearAllCaches()
660
- {
661
- $this->clearCache(self::CACHE_KEY_CSS);
662
- $this->clearCache(self::CACHE_KEY_SELECTOR);
663
- $this->clearCache(self::CACHE_KEY_XPATH);
664
- $this->clearCache(self::CACHE_KEY_CSS_DECLARATIONS_BLOCK);
665
- $this->clearCache(self::CACHE_KEY_COMBINED_STYLES);
666
- }
667
-
668
- /**
669
- * Clears a single cache by key.
670
- *
671
- * @param int $key the cache key, must be CACHE_KEY_CSS, CACHE_KEY_SELECTOR, CACHE_KEY_XPATH
672
- * or CACHE_KEY_CSS_DECLARATION_BLOCK
673
- *
674
- * @return void
675
- *
676
- * @throws \InvalidArgumentException
677
- */
678
- private function clearCache($key)
679
- {
680
- $allowedCacheKeys = array(
681
- self::CACHE_KEY_CSS,
682
- self::CACHE_KEY_SELECTOR,
683
- self::CACHE_KEY_XPATH,
684
- self::CACHE_KEY_CSS_DECLARATIONS_BLOCK,
685
- self::CACHE_KEY_COMBINED_STYLES,
686
- );
687
- if (!in_array($key, $allowedCacheKeys, true)) {
688
- throw new InvalidArgumentException('Invalid cache key: ' . $key, 1391822035);
689
- }
690
-
691
- $this->caches[$key] = array();
692
- }
693
-
694
- /**
695
- * Purges the visited nodes.
696
- *
697
- * @return void
698
- */
699
- private function purgeVisitedNodes()
700
- {
701
- $this->visitedNodes = array();
702
- $this->styleAttributesForNodes = array();
703
- }
704
-
705
- /**
706
- * Marks a tag for removal.
707
- *
708
- * There are some HTML tags that DOMDocument cannot process, and it will throw an error if it encounters them.
709
- * In particular, DOMDocument will complain if you try to use HTML5 tags in an XHTML document.
710
- *
711
- * Note: The tags will not be removed if they have any content.
712
- *
713
- * @param string $tagName the tag name, e.g., "p"
714
- *
715
- * @return void
716
- */
717
- public function addUnprocessableHtmlTag($tagName)
718
- {
719
- $this->unprocessableHtmlTags[] = $tagName;
720
- }
721
-
722
- /**
723
- * Drops a tag from the removal list.
724
- *
725
- * @param string $tagName the tag name, e.g., "p"
726
- *
727
- * @return void
728
- */
729
- public function removeUnprocessableHtmlTag($tagName)
730
- {
731
- $key = array_search($tagName, $this->unprocessableHtmlTags, true);
732
- if ($key !== false) {
733
- unset($this->unprocessableHtmlTags[$key]);
734
- }
735
- }
736
-
737
- /**
738
- * Marks a media query type to keep.
739
- *
740
- * @param string $mediaName the media type name, e.g., "braille"
741
- *
742
- * @return void
743
- */
744
- public function addAllowedMediaType($mediaName)
745
- {
746
- $this->allowedMediaTypes[$mediaName] = true;
747
- }
748
-
749
- /**
750
- * Drops a media query type from the allowed list.
751
- *
752
- * @param string $mediaName the tag name, e.g., "braille"
753
- *
754
- * @return void
755
- */
756
- public function removeAllowedMediaType($mediaName)
757
- {
758
- if (isset($this->allowedMediaTypes[$mediaName])) {
759
- unset($this->allowedMediaTypes[$mediaName]);
760
- }
761
- }
762
-
763
- /**
764
- * Adds a selector to exclude nodes from emogrification.
765
- *
766
- * Any nodes that match the selector will not have their style altered.
767
- *
768
- * @param string $selector the selector to exclude, e.g., ".editor"
769
- *
770
- * @return void
771
- */
772
- public function addExcludedSelector($selector)
773
- {
774
- $this->excludedSelectors[$selector] = true;
775
- }
776
-
777
- /**
778
- * No longer excludes the nodes matching this selector from emogrification.
779
- *
780
- * @param string $selector the selector to no longer exclude, e.g., ".editor"
781
- *
782
- * @return void
783
- */
784
- public function removeExcludedSelector($selector)
785
- {
786
- if (isset($this->excludedSelectors[$selector])) {
787
- unset($this->excludedSelectors[$selector]);
788
- }
789
- }
790
-
791
- /**
792
- * This removes styles from your email that contain display:none.
793
- * We need to look for display:none, but we need to do a case-insensitive search. Since DOMDocument only
794
- * supports XPath 1.0, lower-case() isn't available to us. We've thus far only set attributes to lowercase,
795
- * not attribute values. Consequently, we need to translate() the letters that would be in 'NONE' ("NOE")
796
- * to lowercase.
797
- *
798
- * @param \DOMXPath $xPath
799
- *
800
- * @return void
801
- */
802
- private function removeInvisibleNodes(DOMXPath $xPath)
803
- {
804
- $nodesWithStyleDisplayNone = $xPath->query(
805
- '//*[contains(translate(translate(@style," ",""),"NOE","noe"),"display:none")]'
806
- );
807
- if ($nodesWithStyleDisplayNone->length === 0) {
808
- return;
809
- }
810
-
811
- // The checks on parentNode and is_callable below ensure that if we've deleted the parent node,
812
- // we don't try to call removeChild on a nonexistent child node
813
- /** @var \DOMNode $node */
814
- foreach ($nodesWithStyleDisplayNone as $node) {
815
- if ($node->parentNode && is_callable(array($node->parentNode, 'removeChild'))) {
816
- $node->parentNode->removeChild($node);
817
- }
818
- }
819
- }
820
-
821
- private function normalizeStyleAttributes_callback( $m ) {
822
- return strtolower( $m[0] );
823
- }
824
-
825
- /**
826
- * Normalizes the value of the "style" attribute and saves it.
827
- *
828
- * @param \DOMElement $node
829
- *
830
- * @return void
831
- */
832
- private function normalizeStyleAttributes(DOMElement $node)
833
- {
834
- $normalizedOriginalStyle = preg_replace_callback(
835
- '/[A-z\\-]+(?=\\:)/S',
836
- array( $this, 'normalizeStyleAttributes_callback' ),
837
- $node->getAttribute('style')
838
- );
839
-
840
- // in order to not overwrite existing style attributes in the HTML, we
841
- // have to save the original HTML styles
842
- $nodePath = $node->getNodePath();
843
- if (!isset($this->styleAttributesForNodes[$nodePath])) {
844
- $this->styleAttributesForNodes[$nodePath] = $this->parseCssDeclarationsBlock($normalizedOriginalStyle);
845
- $this->visitedNodes[$nodePath] = $node;
846
- }
847
-
848
- $node->setAttribute('style', $normalizedOriginalStyle);
849
- }
850
-
851
- /**
852
- * Merges styles from styles attributes and style nodes and applies them to the attribute nodes
853
- *
854
- * @return void
855
- */
856
- private function fillStyleAttributesWithMergedStyles()
857
- {
858
- foreach ($this->styleAttributesForNodes as $nodePath => $styleAttributesForNode) {
859
- $node = $this->visitedNodes[$nodePath];
860
- $currentStyleAttributes = $this->parseCssDeclarationsBlock($node->getAttribute('style'));
861
- $node->setAttribute(
862
- 'style',
863
- $this->generateStyleStringFromDeclarationsArrays(
864
- $currentStyleAttributes,
865
- $styleAttributesForNode
866
- )
867
- );
868
- }
869
- }
870
-
871
- /**
872
- * This method merges old or existing name/value array with new name/value array
873
- * and then generates a string of the combined style suitable for placing inline.
874
- * This becomes the single point for CSS string generation allowing for consistent
875
- * CSS output no matter where the CSS originally came from.
876
- *
877
- * @param string[] $oldStyles
878
- * @param string[] $newStyles
879
- *
880
- * @return string
881
- */
882
- private function generateStyleStringFromDeclarationsArrays(array $oldStyles, array $newStyles)
883
- {
884
- $combinedStyles = array_merge($oldStyles, $newStyles);
885
- $cacheKey = serialize($combinedStyles);
886
- if (isset($this->caches[self::CACHE_KEY_COMBINED_STYLES][$cacheKey])) {
887
- return $this->caches[self::CACHE_KEY_COMBINED_STYLES][$cacheKey];
888
- }
889
-
890
- foreach ($oldStyles as $attributeName => $attributeValue) {
891
- if (!isset($newStyles[$attributeName])) {
892
- continue;
893
- }
894
-
895
- $newAttributeValue = $newStyles[$attributeName];
896
- if ($this->attributeValueIsImportant($attributeValue)
897
- && !$this->attributeValueIsImportant($newAttributeValue)
898
- ) {
899
- $combinedStyles[$attributeName] = $attributeValue;
900
- }
901
- }
902
-
903
- $style = '';
904
- foreach ($combinedStyles as $attributeName => $attributeValue) {
905
- $style .= strtolower(trim($attributeName)) . ': ' . trim($attributeValue) . '; ';
906
- }
907
- $trimmedStyle = rtrim($style);
908
-
909
- $this->caches[self::CACHE_KEY_COMBINED_STYLES][$cacheKey] = $trimmedStyle;
910
-
911
- return $trimmedStyle;
912
- }
913
-
914
- /**
915
- * Checks whether $attributeValue is marked as !important.
916
- *
917
- * @param string $attributeValue
918
- *
919
- * @return bool
920
- */
921
- private function attributeValueIsImportant($attributeValue)
922
- {
923
- return strtolower(substr(trim($attributeValue), -10)) === '!important';
924
- }
925
-
926
- /**
927
- * Applies $css to $xmlDocument, limited to the media queries that actually apply to the document.
928
- *
929
- * @param \DOMDocument $xmlDocument the document to match against
930
- * @param \DOMXPath $xPath
931
- * @param string $css a string of CSS
932
- *
933
- * @return void
934
- */
935
- private function copyCssWithMediaToStyleNode(DOMDocument $xmlDocument, DOMXPath $xPath, $css)
936
- {
937
- if ($css === '') {
938
- return;
939
- }
940
-
941
- $mediaQueriesRelevantForDocument = array();
942
-
943
- foreach ($this->extractMediaQueriesFromCss($css) as $mediaQuery) {
944
- foreach ($this->parseCssRules($mediaQuery['css']) as $selector) {
945
- if ($this->existsMatchForCssSelector($xPath, $selector['selector'])) {
946
- $mediaQueriesRelevantForDocument[] = $mediaQuery['query'];
947
- break;
948
- }
949
- }
950
- }
951
-
952
- $this->addStyleElementToDocument($xmlDocument, implode($mediaQueriesRelevantForDocument));
953
- }
954
-
955
- /**
956
- * Extracts the media queries from $css while skipping empty media queries.
957
- *
958
- * @param string $css
959
- *
960
- * @return string[][] numeric array with string sub-arrays with the keys "css" and "query"
961
- */
962
- private function extractMediaQueriesFromCss($css)
963
- {
964
- preg_match_all('/@media\\b[^{]*({((?:[^{}]+|(?1))*)})/', $css, $rawMediaQueries, PREG_SET_ORDER);
965
- $parsedQueries = array();
966
-
967
- foreach ($rawMediaQueries as $mediaQuery) {
968
- if ($mediaQuery[2] !== '') {
969
- $parsedQueries[] = array(
970
- 'css' => $mediaQuery[2],
971
- 'query' => $mediaQuery[0],
972
- );
973
- }
974
- }
975
-
976
- return $parsedQueries;
977
- }
978
-
979
- /**
980
- * Checks whether there is at least one matching element for $cssSelector.
981
- *
982
- * @param \DOMXPath $xPath
983
- * @param string $cssSelector
984
- *
985
- * @return bool
986
- */
987
- private function existsMatchForCssSelector(DOMXPath $xPath, $cssSelector)
988
- {
989
- $nodesMatchingSelector = $xPath->query($this->translateCssToXpath($cssSelector));
990
-
991
- return $nodesMatchingSelector !== false && $nodesMatchingSelector->length !== 0;
992
- }
993
-
994
- /**
995
- * Returns CSS content.
996
- *
997
- * @param \DOMXPath $xPath
998
- *
999
- * @return string
1000
- */
1001
- private function getCssFromAllStyleNodes(DOMXPath $xPath)
1002
- {
1003
- $styleNodes = $xPath->query('//style');
1004
-
1005
- if ($styleNodes === false) {
1006
- return '';
1007
- }
1008
-
1009
- $css = '';
1010
- /** @var \DOMNode $styleNode */
1011
- foreach ($styleNodes as $styleNode) {
1012
- $css .= "\n\n" . $styleNode->nodeValue;
1013
- $styleNode->parentNode->removeChild($styleNode);
1014
- }
1015
-
1016
- return $css;
1017
- }
1018
-
1019
- /**
1020
- * Adds a style element with $css to $document.
1021
- *
1022
- * This method is protected to allow overriding.
1023
- *
1024
- * @see https://github.com/jjriv/emogrifier/issues/103
1025
- *
1026
- * @param \DOMDocument $document
1027
- * @param string $css
1028
- *
1029
- * @return void
1030
- */
1031
- protected function addStyleElementToDocument(DOMDocument $document, $css)
1032
- {
1033
- $styleElement = $document->createElement('style', $css);
1034
- $styleAttribute = $document->createAttribute('type');
1035
- $styleAttribute->value = 'text/css';
1036
- $styleElement->appendChild($styleAttribute);
1037
-
1038
- $head = $this->getOrCreateHeadElement($document);
1039
- $head->appendChild($styleElement);
1040
- }
1041
-
1042
- /**
1043
- * Returns the existing or creates a new head element in $document.
1044
- *
1045
- * @param \DOMDocument $document
1046
- *
1047
- * @return \DOMNode the head element
1048
- */
1049
- private function getOrCreateHeadElement(DOMDocument $document)
1050
- {
1051
- $head = $document->getElementsByTagName('head')->item(0);
1052
-
1053
- if ($head === null) {
1054
- $head = $document->createElement('head');
1055
- $html = $document->getElementsByTagName('html')->item(0);
1056
- $html->insertBefore($head, $document->getElementsByTagName('body')->item(0));
1057
- }
1058
-
1059
- return $head;
1060
- }
1061
-
1062
- /**
1063
- * Splits input CSS code to an array where:
1064
- *
1065
- * - key "css" will be contains clean CSS code
1066
- * - key "media" will be contains all valuable media queries
1067
- *
1068
- * Example:
1069
- *
1070
- * The CSS code
1071
- *
1072
- * "@import "file.css"; h1 { color:red; } @media { h1 {}} @media tv { h1 {}}"
1073
- *
1074
- * will be parsed into the following array:
1075
- *
1076
- * "css" => "h1 { color:red; }"
1077
- * "media" => "@media { h1 {}}"
1078
- *
1079
- * @param string $css
1080
- *
1081
- * @return string[]
1082
- */
1083
- private function splitCssAndMediaQuery($css)
1084
- {
1085
- $cssWithoutComments = preg_replace('/\\/\\*.*\\*\\//sU', '', $css);
1086
-
1087
- $mediaTypesExpression = '';
1088
- if (!empty($this->allowedMediaTypes)) {
1089
- $mediaTypesExpression = '|' . implode('|', array_keys($this->allowedMediaTypes));
1090
- }
1091
-
1092
- $cssForAllowedMediaTypes = preg_replace_callback(
1093
- '#@media\\s+(?:only\\s)?(?:[\\s{\\(]' . $mediaTypesExpression . ')\\s?[^{]+{.*}\\s*}\\s*#misU',
1094
- array( $this, '_media_concat' ),
1095
- $cssWithoutComments
1096
- );
1097
-
1098
- // filter the CSS
1099
- $search = array(
1100
- 'import directives' => '/^\\s*@import\\s[^;]+;/misU',
1101
- 'remaining media enclosures' => '/^\\s*@media\\s[^{]+{(.*)}\\s*}\\s/misU',
1102
- );
1103
-
1104
- $cleanedCss = preg_replace($search, '', $cssForAllowedMediaTypes);
1105
-
1106
- return array('css' => $cleanedCss, 'media' => self::$_media);
1107
- }
1108
-
1109
- private function _media_concat( $matches ) {
1110
- self::$_media .= $matches[0];
1111
- }
1112
-
1113
- /**
1114
- * Creates a DOMDocument instance with the current HTML.
1115
- *
1116
- * @return \DOMDocument
1117
- */
1118
- private function createXmlDocument()
1119
- {
1120
- $xmlDocument = new DOMDocument;
1121
- $xmlDocument->encoding = 'UTF-8';
1122
- $xmlDocument->strictErrorChecking = false;
1123
- $xmlDocument->formatOutput = true;
1124
- $libXmlState = libxml_use_internal_errors(true);
1125
- $xmlDocument->loadHTML($this->getUnifiedHtml());
1126
- libxml_clear_errors();
1127
- libxml_use_internal_errors($libXmlState);
1128
- $xmlDocument->normalizeDocument();
1129
-
1130
- return $xmlDocument;
1131
- }
1132
-
1133
- /**
1134
- * Returns the HTML with the unprocessable HTML tags removed and
1135
- * with added document type and Content-Type meta tag if needed.
1136
- *
1137
- * @return string the unified HTML
1138
- *
1139
- * @throws \BadMethodCallException
1140
- */
1141
- private function getUnifiedHtml()
1142
- {
1143
- $htmlWithoutUnprocessableTags = $this->removeUnprocessableTags($this->html);
1144
- $htmlWithDocumentType = $this->ensureDocumentType($htmlWithoutUnprocessableTags);
1145
-
1146
- return $this->addContentTypeMetaTag($htmlWithDocumentType);
1147
- }
1148
-
1149
- /**
1150
- * Removes the unprocessable tags from $html (if this feature is enabled).
1151
- *
1152
- * @param string $html
1153
- *
1154
- * @return string the reworked HTML with the unprocessable tags removed
1155
- */
1156
- private function removeUnprocessableTags($html)
1157
- {
1158
- if (empty($this->unprocessableHtmlTags)) {
1159
- return $html;
1160
- }
1161
-
1162
- $unprocessableHtmlTags = implode('|', $this->unprocessableHtmlTags);
1163
-
1164
- return preg_replace(
1165
- '/<\\/?(' . $unprocessableHtmlTags . ')[^>]*>/i',
1166
- '',
1167
- $html
1168
- );
1169
- }
1170
-
1171
- /**
1172
- * Makes sure that the passed HTML has a document type.
1173
- *
1174
- * @param string $html
1175
- *
1176
- * @return string HTML with document type
1177
- */
1178
- private function ensureDocumentType($html)
1179
- {
1180
- $hasDocumentType = stripos($html, '<!DOCTYPE') !== false;
1181
- if ($hasDocumentType) {
1182
- return $html;
1183
- }
1184
-
1185
- return self::DEFAULT_DOCUMENT_TYPE . $html;
1186
- }
1187
-
1188
- /**
1189
- * Adds a Content-Type meta tag for the charset.
1190
- *
1191
- * @param string $html
1192
- *
1193
- * @return string the HTML with the meta tag added
1194
- */
1195
- private function addContentTypeMetaTag($html)
1196
- {
1197
- $hasContentTypeMetaTag = stristr($html, 'Content-Type') !== false;
1198
- if ($hasContentTypeMetaTag) {
1199
- return $html;
1200
- }
1201
-
1202
- // We are trying to insert the meta tag to the right spot in the DOM.
1203
- // If we just prepended it to the HTML, we would lose attributes set to the HTML tag.
1204
- $hasHeadTag = stripos($html, '<head') !== false;
1205
- $hasHtmlTag = stripos($html, '<html') !== false;
1206
-
1207
- if ($hasHeadTag) {
1208
- $reworkedHtml = preg_replace('/<head(.*?)>/i', '<head$1>' . self::CONTENT_TYPE_META_TAG, $html);
1209
- } elseif ($hasHtmlTag) {
1210
- $reworkedHtml = preg_replace(
1211
- '/<html(.*?)>/i',
1212
- '<html$1><head>' . self::CONTENT_TYPE_META_TAG . '</head>',
1213
- $html
1214
- );
1215
- } else {
1216
- $reworkedHtml = self::CONTENT_TYPE_META_TAG . $html;
1217
- }
1218
-
1219
- return $reworkedHtml;
1220
- }
1221
-
1222
- /**
1223
- * @param string[] $a
1224
- * @param string[] $b
1225
- *
1226
- * @return int
1227
- */
1228
- private function sortBySelectorPrecedence(array $a, array $b)
1229
- {
1230
- $precedenceA = $this->getCssSelectorPrecedence($a['selector']);
1231
- $precedenceB = $this->getCssSelectorPrecedence($b['selector']);
1232
-
1233
- // We want these sorted in ascending order so selectors with lesser precedence get processed first and
1234
- // selectors with greater precedence get sorted last.
1235
- $precedenceForEquals = ($a['line'] < $b['line'] ? -1 : 1);
1236
- $precedenceForNotEquals = ($precedenceA < $precedenceB ? -1 : 1);
1237
- return ($precedenceA === $precedenceB) ? $precedenceForEquals : $precedenceForNotEquals;
1238
- }
1239
-
1240
- /**
1241
- * @param string $selector
1242
- *
1243
- * @return int
1244
- */
1245
- private function getCssSelectorPrecedence($selector)
1246
- {
1247
- $selectorKey = md5($selector);
1248
- if (!isset($this->caches[self::CACHE_KEY_SELECTOR][$selectorKey])) {
1249
- $precedence = 0;
1250
- $value = 100;
1251
- // ids: worth 100, classes: worth 10, elements: worth 1
1252
- $search = array('\\#','\\.','');
1253
-
1254
- foreach ($search as $s) {
1255
- if (trim($selector) === '') {
1256
- break;
1257
- }
1258
- $number = 0;
1259
- $selector = preg_replace('/' . $s . '\\w+/', '', $selector, -1, $number);
1260
- $precedence += ($value * $number);
1261
- $value /= 10;
1262
- }
1263
- $this->caches[self::CACHE_KEY_SELECTOR][$selectorKey] = $precedence;
1264
- }
1265
-
1266
- return $this->caches[self::CACHE_KEY_SELECTOR][$selectorKey];
1267
- }
1268
-
1269
- private function translateCssToXpath_callback( $matches ) {
1270
- return strtolower($matches[0]);
1271
- }
1272
-
1273
- /**
1274
- * Maps a CSS selector to an XPath query string.
1275
- *
1276
- * @see http://plasmasturm.org/log/444/
1277
- *
1278
- * @param string $cssSelector a CSS selector
1279
- *
1280
- * @return string the corresponding XPath selector
1281
- */
1282
- private function translateCssToXpath($cssSelector)
1283
- {
1284
- $paddedSelector = ' ' . $cssSelector . ' ';
1285
- $lowercasePaddedSelector = preg_replace_callback(
1286
- '/\\s+\\w+\\s+/',
1287
- array( $this, 'translateCssToXpath_callback' ),
1288
- $paddedSelector
1289
- );
1290
-
1291
- $trimmedLowercaseSelector = trim($lowercasePaddedSelector);
1292
- $xPathKey = md5($trimmedLowercaseSelector);
1293
- if (!isset($this->caches[self::CACHE_KEY_XPATH][$xPathKey])) {
1294
- $roughXpath = '//' . preg_replace(
1295
- array_keys($this->xPathRules),
1296
- $this->xPathRules,
1297
- $trimmedLowercaseSelector
1298
- );
1299
- $xPathWithIdAttributeMatchers = preg_replace_callback(
1300
- self::ID_ATTRIBUTE_MATCHER,
1301
- array($this, 'matchIdAttributes'),
1302
- $roughXpath
1303
- );
1304
- $xPathWithIdAttributeAndClassMatchers = preg_replace_callback(
1305
- self::CLASS_ATTRIBUTE_MATCHER,
1306
- array($this, 'matchClassAttributes'),
1307
- $xPathWithIdAttributeMatchers
1308
- );
1309
-
1310
- // Advanced selectors are going to require a bit more advanced emogrification.
1311
- // When we required PHP 5.3, we could do this with closures.
1312
- $xPathWithIdAttributeAndClassMatchers = preg_replace_callback(
1313
- '/([^\\/]+):nth-child\\(\\s*(odd|even|[+\\-]?\\d|[+\\-]?\\d?n(\\s*[+\\-]\\s*\\d)?)\\s*\\)/i',
1314
- array($this, 'translateNthChild'),
1315
- $xPathWithIdAttributeAndClassMatchers
1316
- );
1317
- $finalXpath = preg_replace_callback(
1318
- '/([^\\/]+):nth-of-type\\(\s*(odd|even|[+\\-]?\\d|[+\\-]?\\d?n(\\s*[+\\-]\\s*\\d)?)\\s*\\)/i',
1319
- array($this, 'translateNthOfType'),
1320
- $xPathWithIdAttributeAndClassMatchers
1321
- );
1322
-
1323
- $this->caches[self::CACHE_KEY_SELECTOR][$xPathKey] = $finalXpath;
1324
- }
1325
- return $this->caches[self::CACHE_KEY_SELECTOR][$xPathKey];
1326
- }
1327
-
1328
- /**
1329
- * @param string[] $match
1330
- *
1331
- * @return string
1332
- */
1333
- private function matchIdAttributes(array $match)
1334
- {
1335
- return ($match[1] !== '' ? $match[1] : '*') . '[@id="' . $match[2] . '"]';
1336
- }
1337
-
1338
- /**
1339
- * @param string[] $match
1340
- *
1341
- * @return string
1342
- */
1343
- private function matchClassAttributes(array $match)
1344
- {
1345
- return ($match[1] !== '' ? $match[1] : '*') . '[contains(concat(" ",@class," "),concat(" ","' .
1346
- implode(
1347
- '"," "))][contains(concat(" ",@class," "),concat(" ","',
1348
- explode('.', substr($match[2], 1))
1349
- ) . '"," "))]';
1350
- }
1351
-
1352
- /**
1353
- * @param string[] $match
1354
- *
1355
- * @return string
1356
- */
1357
- private function translateNthChild(array $match)
1358
- {
1359
- $parseResult = $this->parseNth($match);
1360
-
1361
- if (isset($parseResult[self::MULTIPLIER])) {
1362
- if ($parseResult[self::MULTIPLIER] < 0) {
1363
- $parseResult[self::MULTIPLIER] = abs($parseResult[self::MULTIPLIER]);
1364
- $xPathExpression = sprintf(
1365
- '*[(last() - position()) mod %u = %u]/self::%s',
1366
- $parseResult[self::MULTIPLIER],
1367
- $parseResult[self::INDEX],
1368
- $match[1]
1369
- );
1370
- } else {
1371
- $xPathExpression = sprintf(
1372
- '*[position() mod %u = %u]/self::%s',
1373
- $parseResult[self::MULTIPLIER],
1374
- $parseResult[self::INDEX],
1375
- $match[1]
1376
- );
1377
- }
1378
- } else {
1379
- $xPathExpression = sprintf('*[%u]/self::%s', $parseResult[self::INDEX], $match[1]);
1380
- }
1381
-
1382
- return $xPathExpression;
1383
- }
1384
-
1385
- /**
1386
- * @param string[] $match
1387
- *
1388
- * @return string
1389
- */
1390
- private function translateNthOfType(array $match)
1391
- {
1392
- $parseResult = $this->parseNth($match);
1393
-
1394
- if (isset($parseResult[self::MULTIPLIER])) {
1395
- if ($parseResult[self::MULTIPLIER] < 0) {
1396
- $parseResult[self::MULTIPLIER] = abs($parseResult[self::MULTIPLIER]);
1397
- $xPathExpression = sprintf(
1398
- '%s[(last() - position()) mod %u = %u]',
1399
- $match[1],
1400
- $parseResult[self::MULTIPLIER],
1401
- $parseResult[self::INDEX]
1402
- );
1403
- } else {
1404
- $xPathExpression = sprintf(
1405
- '%s[position() mod %u = %u]',
1406
- $match[1],
1407
- $parseResult[self::MULTIPLIER],
1408
- $parseResult[self::INDEX]
1409
- );
1410
- }
1411
- } else {
1412
- $xPathExpression = sprintf('%s[%u]', $match[1], $parseResult[self::INDEX]);
1413
- }
1414
-
1415
- return $xPathExpression;
1416
- }
1417
-
1418
- /**
1419
- * @param string[] $match
1420
- *
1421
- * @return int[]
1422
- */
1423
- private function parseNth(array $match)
1424
- {
1425
- if (in_array(strtolower($match[2]), array('even', 'odd'), true)) {
1426
- // we have "even" or "odd"
1427
- $index = strtolower($match[2]) === 'even' ? 0 : 1;
1428
- return array(self::MULTIPLIER => 2, self::INDEX => $index);
1429
- }
1430
- if (stripos($match[2], 'n') === false) {
1431
- // if there is a multiplier
1432
- $index = (int) str_replace(' ', '', $match[2]);
1433
- return array(self::INDEX => $index);
1434
- }
1435
-
1436
- if (isset($match[3])) {
1437
- $multipleTerm = str_replace($match[3], '', $match[2]);
1438
- $index = (int) str_replace(' ', '', $match[3]);
1439
- } else {
1440
- $multipleTerm = $match[2];
1441
- $index = 0;
1442
- }
1443
-
1444
- $multiplier = str_ireplace('n', '', $multipleTerm);
1445
-
1446
- if ($multiplier === '') {
1447
- $multiplier = 1;
1448
- } elseif ($multiplier === '0') {
1449
- return array(self::INDEX => $index);
1450
- } else {
1451
- $multiplier = (int) $multiplier;
1452
- }
1453
-
1454
- while ($index < 0) {
1455
- $index += abs($multiplier);
1456
- }
1457
-
1458
- return array(self::MULTIPLIER => $multiplier, self::INDEX => $index);
1459
- }
1460
-
1461
- /**
1462
- * Parses a CSS declaration block into property name/value pairs.
1463
- *
1464
- * Example:
1465
- *
1466
- * The declaration block
1467
- *
1468
- * "color: #000; font-weight: bold;"
1469
- *
1470
- * will be parsed into the following array:
1471
- *
1472
- * "color" => "#000"
1473
- * "font-weight" => "bold"
1474
- *
1475
- * @param string $cssDeclarationsBlock the CSS declarations block without the curly braces, may be empty
1476
- *
1477
- * @return string[]
1478
- * the CSS declarations with the property names as array keys and the property values as array values
1479
- */
1480
- private function parseCssDeclarationsBlock($cssDeclarationsBlock)
1481
- {
1482
- if (isset($this->caches[self::CACHE_KEY_CSS_DECLARATIONS_BLOCK][$cssDeclarationsBlock])) {
1483
- return $this->caches[self::CACHE_KEY_CSS_DECLARATIONS_BLOCK][$cssDeclarationsBlock];
1484
- }
1485
-
1486
- $properties = array();
1487
- $declarations = preg_split('/;(?!base64|charset)/', $cssDeclarationsBlock);
1488
-
1489
- foreach ($declarations as $declaration) {
1490
- $matches = array();
1491
- if (!preg_match('/^([A-Za-z\\-]+)\\s*:\\s*(.+)$/', trim($declaration), $matches)) {
1492
- continue;
1493
- }
1494
-
1495
- $propertyName = strtolower($matches[1]);
1496
- $propertyValue = $matches[2];
1497
- $properties[$propertyName] = $propertyValue;
1498
- }
1499
- $this->caches[self::CACHE_KEY_CSS_DECLARATIONS_BLOCK][$cssDeclarationsBlock] = $properties;
1500
-
1501
- return $properties;
1502
- }
1503
-
1504
- /**
1505
- * Find the nodes that are not to be emogrified.
1506
- *
1507
- * @param \DOMXPath $xPath
1508
- *
1509
- * @return \DOMElement[]
1510
- */
1511
- private function getNodesToExclude(DOMXPath $xPath)
1512
- {
1513
- $excludedNodes = array();
1514
- foreach (array_keys($this->excludedSelectors) as $selectorToExclude) {
1515
- foreach ($xPath->query($this->translateCssToXpath($selectorToExclude)) as $node) {
1516
- $excludedNodes[] = $node;
1517
- }
1518
- }
1519
-
1520
- return $excludedNodes;
1521
- }
1522
-
1523
- /**
1524
- * Handles invalid xPath expression warnings, generated by process() method,
1525
- * during querying \DOMDocument and trigger \InvalidArgumentException
1526
- * with invalid selector.
1527
- *
1528
- * @param int $type
1529
- * @param string $message
1530
- * @param string $file
1531
- * @param int $line
1532
- * @param array $context
1533
- *
1534
- * @return bool always false
1535
- *
1536
- * @throws \InvalidArgumentException
1537
- */
1538
- public function handleXpathError($type, $message, $file, $line, array $context)
1539
- {
1540
- if ($type === E_WARNING && isset($context['cssRule']['selector'])) {
1541
- throw new InvalidArgumentException(
1542
- sprintf(
1543
- '%s in selector >> %s << in %s on line %s',
1544
- $message,
1545
- $context['cssRule']['selector'],
1546
- $file,
1547
- $line
1548
- )
1549
- );
1550
- }
1551
-
1552
- // the normal error handling continues when handler return false
1553
- return false;
1554
- }
1555
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/libraries/wp-async-request.php CHANGED
@@ -1,13 +1,14 @@
1
  <?php
2
- if ( ! defined( 'ABSPATH' ) ) {
3
- exit;
4
- }
5
-
6
  /**
7
- * Abstract WP_Async_Request class.
8
  *
9
  * @package WP-Background-Processing
10
- * @abstract
 
 
 
 
 
11
  */
12
  abstract class WP_Async_Request {
13
 
@@ -155,4 +156,5 @@ abstract class WP_Async_Request {
155
  * during the async request.
156
  */
157
  abstract protected function handle();
 
158
  }
1
  <?php
 
 
 
 
2
  /**
3
+ * WP Async Request
4
  *
5
  * @package WP-Background-Processing
6
+ */
7
+
8
+ defined( 'ABSPATH' ) || exit;
9
+
10
+ /**
11
+ * Abstract WP_Async_Request class.
12
  */
13
  abstract class WP_Async_Request {
14
 
156
  * during the async request.
157
  */
158
  abstract protected function handle();
159
+
160
  }
includes/libraries/wp-background-process.php CHANGED
@@ -1,15 +1,16 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) {
3
- exit;
4
- }
5
-
6
  /**
7
  * Abstract WP_Background_Process class.
8
  *
9
- * @abstract
10
  * @package WP-Background-Processing
11
  * @extends WP_Async_Request
12
  */
 
 
 
 
 
 
13
  abstract class WP_Background_Process extends WP_Async_Request {
14
 
15
  /**
@@ -192,15 +193,15 @@ abstract class WP_Background_Process extends WP_Async_Request {
192
  $column = 'meta_key';
193
  }
194
 
195
- $key = $wpdb->esc_like( $this->identifier . '_batch_' ) . '%';
196
 
197
  $count = $wpdb->get_var( $wpdb->prepare( "
198
- SELECT COUNT(*)
199
- FROM {$table}
200
- WHERE {$column} LIKE %s
201
- ", $key ) );
202
 
203
- return ( $count > 0 ) ? false : true;
204
  }
205
 
206
  /**
@@ -267,14 +268,14 @@ abstract class WP_Background_Process extends WP_Async_Request {
267
  $value_column = 'meta_value';
268
  }
269
 
270
- $key = $wpdb->esc_like( $this->identifier . '_batch_' ) . '%';
271
 
272
  $query = $wpdb->get_row( $wpdb->prepare( "
273
- SELECT *
274
- FROM {$table}
275
- WHERE {$column} LIKE %s
276
- ORDER BY {$key_column} ASC
277
- LIMIT 1
278
  ", $key ) );
279
 
280
  $batch = new stdClass();
@@ -327,6 +328,8 @@ abstract class WP_Background_Process extends WP_Async_Request {
327
  } else {
328
  $this->complete();
329
  }
 
 
330
  }
331
 
332
  /**
@@ -362,7 +365,7 @@ abstract class WP_Background_Process extends WP_Async_Request {
362
  $memory_limit = '128M';
363
  }
364
 
365
- if ( ! $memory_limit || -1 === intval( $memory_limit ) ) {
366
  // Unlimited, set to 32GB.
367
  $memory_limit = '32000M';
368
  }
@@ -417,7 +420,7 @@ abstract class WP_Background_Process extends WP_Async_Request {
417
  // Adds every 5 minutes to the existing schedules.
418
  $schedules[ $this->identifier . '_cron_interval' ] = array(
419
  'interval' => MINUTE_IN_SECONDS * $interval,
420
- 'display' => sprintf( __( 'Every %d minutes', 'everest-forms' ), $interval ),
421
  );
422
 
423
  return $schedules;
1
+ <?php // @codingStandardsIgnoreLine.
 
 
 
 
2
  /**
3
  * Abstract WP_Background_Process class.
4
  *
 
5
  * @package WP-Background-Processing
6
  * @extends WP_Async_Request
7
  */
8
+
9
+ defined( 'ABSPATH' ) || exit;
10
+
11
+ /**
12
+ * Abstract WP_Background_Process class.
13
+ */
14
  abstract class WP_Background_Process extends WP_Async_Request {
15
 
16
  /**
193
  $column = 'meta_key';
194
  }
195
 
196
+ $key = $this->identifier . '_batch_%';
197
 
198
  $count = $wpdb->get_var( $wpdb->prepare( "
199
+ SELECT COUNT(*)
200
+ FROM {$table}
201
+ WHERE {$column} LIKE %s
202
+ ", $key ) );
203
 
204
+ return ! ( $count > 0 );
205
  }
206
 
207
  /**
268
  $value_column = 'meta_value';
269
  }
270
 
271
+ $key = $this->identifier . '_batch_%';
272
 
273
  $query = $wpdb->get_row( $wpdb->prepare( "
274
+ SELECT *
275
+ FROM {$table}
276
+ WHERE {$column} LIKE %s
277
+ ORDER BY {$key_column} ASC
278
+ LIMIT 1
279
  ", $key ) );
280
 
281
  $batch = new stdClass();
328
  } else {
329
  $this->complete();
330
  }
331
+
332
+ wp_die();
333
  }
334
 
335
  /**
365
  $memory_limit = '128M';
366
  }
367
 
368
+ if ( ! $memory_limit || -1 === $memory_limit ) {
369
  // Unlimited, set to 32GB.
370
  $memory_limit = '32000M';
371
  }
420
  // Adds every 5 minutes to the existing schedules.
421
  $schedules[ $this->identifier . '_cron_interval' ] = array(
422
  'interval' => MINUTE_IN_SECONDS * $interval,
423
+ 'display' => sprintf( __( 'Every %d Minutes' ), $interval ),
424
  );
425
 
426
  return $schedules;
languages/everest-forms.pot CHANGED
@@ -4,14 +4,14 @@ msgid ""
4
  msgstr ""
5
  "Project-Id-Version: Everest Forms 1.1.2\n"
6
  "Report-Msgid-Bugs-To: https://github.com/wpeverest/everest-forms/issues\n"
7
- "POT-Creation-Date: 2018-03-29 04:40:02+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
  "PO-Revision-Date: 2018-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
14
- "X-Generator: grunt-wp-i18n1.0.1\n"
15
 
16
  #: includes/abstracts/abstract-evf-form-fields.php:254
17
  #: includes/class-evf-forms-feature.php:73
@@ -158,6 +158,11 @@ msgstr ""
158
  msgid "Please enter a valid number"
159
  msgstr ""
160
 
 
 
 
 
 
161
  #: includes/admin/class-evf-add-form.php:50
162
  msgid "Add Everest Form"
163
  msgstr ""
@@ -172,6 +177,7 @@ msgid "Insert Form"
172
  msgstr ""
173
 
174
  #: includes/admin/class-evf-add-form.php:66
 
175
  msgid "Close"
176
  msgstr ""
177
 
@@ -184,57 +190,52 @@ msgstr ""
184
  msgid "Cancel"
185
  msgstr ""
186
 
187
- #: includes/admin/class-evf-admin-assets.php:83
188
- msgid "Are you sure want to delete this"
189
  msgstr ""
190
 
191
- #: includes/admin/class-evf-admin-assets.php:84
192
- msgid "field"
 
193
  msgstr ""
194
 
195
- #: includes/admin/class-evf-admin-assets.php:85
196
- msgid "Confirm"
197
  msgstr ""
198
 
199
  #: includes/admin/class-evf-admin-assets.php:87
200
- msgid "Delete Confirmation"
201
  msgstr ""
202
 
203
  #: includes/admin/class-evf-admin-assets.php:88
204
- msgid "Duplicate Confirmation"
205
  msgstr ""
206
 
207
  #: includes/admin/class-evf-admin-assets.php:89
208
- msgid "Are you sure want to duplicate this"
209
  msgstr ""
210
 
211
  #: includes/admin/class-evf-admin-assets.php:90
212
- msgid "Are you sure want to delete this row?"
213
  msgstr ""
214
 
215
  #: includes/admin/class-evf-admin-assets.php:91
216
- #: includes/admin/class-evf-admin-menus.php:291
217
- msgid "Copy of "
218
  msgstr ""
219
 
220
  #: includes/admin/class-evf-admin-assets.php:92
221
- msgid "Ok"
222
  msgstr ""
223
 
224
  #: includes/admin/class-evf-admin-assets.php:93
225
- msgid "Could not delete"
226
  msgstr ""
227
 
228
  #: includes/admin/class-evf-admin-assets.php:94
229
- msgid "Could not delete single row."
230
- msgstr ""
231
-
232
- #: includes/admin/class-evf-admin-assets.php:95
233
- #: includes/admin/class-evf-admin-assets.php:96
234
- msgid "Could not delete single choice."
235
  msgstr ""
236
 
237
- #: includes/admin/class-evf-admin-assets.php:156
238
  msgid "EverestForms"
239
  msgstr ""
240
 
@@ -449,8 +450,8 @@ msgid "Pending <span class=\"count\">(%s)</span>"
449
  msgstr ""
450
 
451
  #: includes/admin/class-evf-admin-forms-table-list.php:338
452
- #: includes/admin/views/html-admin-page-entries-view.php:136
453
- #: includes/admin/views/html-admin-page-entries-view.php:138
454
  msgid "Move to trash"
455
  msgstr ""
456
 
@@ -853,44 +854,43 @@ msgstr ""
853
  msgid "This entry does not have any fields."
854
  msgstr ""
855
 
856
- #: includes/admin/views/html-admin-page-entries-view.php:48
857
- #. translators: %d - field ID.
858
  msgid "Field ID"
859
  msgstr ""
860
 
861
- #: includes/admin/views/html-admin-page-entries-view.php:64
862
  msgid "Empty"
863
  msgstr ""
864
 
865
- #: includes/admin/views/html-admin-page-entries-view.php:79
866
  msgid "Entry Details"
867
  msgstr ""
868
 
869
- #: includes/admin/views/html-admin-page-entries-view.php:85
870
  msgid "Entry ID:"
871
  msgstr ""
872
 
873
- #: includes/admin/views/html-admin-page-entries-view.php:91
874
  msgid "Submitted:"
875
  msgstr ""
876
 
877
- #: includes/admin/views/html-admin-page-entries-view.php:92
878
  msgid "M j, Y @ g:ia"
879
  msgstr ""
880
 
881
- #: includes/admin/views/html-admin-page-entries-view.php:99
882
  msgid "User:"
883
  msgstr ""
884
 
885
- #: includes/admin/views/html-admin-page-entries-view.php:118
886
  msgid "User IP:"
887
  msgstr ""
888
 
889
- #: includes/admin/views/html-admin-page-entries-view.php:126
890
  msgid "Status:"
891
  msgstr ""
892
 
893
- #: includes/admin/views/html-admin-page-entries-view.php:127
894
  msgid "Completed"
895
  msgstr ""
896
 
@@ -1244,8 +1244,8 @@ msgstr ""
1244
  msgid "Website"
1245
  msgstr ""
1246
 
1247
- #: includes/libraries/wp-background-process.php:420
1248
- msgid "Every %d minutes"
1249
  msgstr ""
1250
 
1251
  #: includes/log-handlers/class-evf-log-handler-file.php:345
4
  msgstr ""
5
  "Project-Id-Version: Everest Forms 1.1.2\n"
6
  "Report-Msgid-Bugs-To: https://github.com/wpeverest/everest-forms/issues\n"
7
+ "POT-Creation-Date: 2018-04-12 07:20:28+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
  "PO-Revision-Date: 2018-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
14
+ "X-Generator: grunt-wp-i18n1.0.2\n"
15
 
16
  #: includes/abstracts/abstract-evf-form-fields.php:254
17
  #: includes/class-evf-forms-feature.php:73
158
  msgid "Please enter a valid number"
159
  msgstr ""
160
 
161
+ #: includes/abstracts/class-evf-background-process.php:172
162
+ #. translators: %d: interval
163
+ msgid "Every %d minutes"
164
+ msgstr ""
165
+
166
  #: includes/admin/class-evf-add-form.php:50
167
  msgid "Add Everest Form"
168
  msgstr ""
177
  msgstr ""
178
 
179
  #: includes/admin/class-evf-add-form.php:66
180
+ #: includes/admin/class-evf-admin-assets.php:85
181
  msgid "Close"
182
  msgstr ""
183
 
190
  msgid "Cancel"
191
  msgstr ""
192
 
193
+ #: includes/admin/class-evf-admin-assets.php:82
194
+ msgid "field"
195
  msgstr ""
196
 
197
+ #: includes/admin/class-evf-admin-assets.php:83
198
+ #: includes/admin/class-evf-admin-menus.php:291
199
+ msgid "Copy of "
200
  msgstr ""
201
 
202
+ #: includes/admin/class-evf-admin-assets.php:84
203
+ msgid "OK"
204
  msgstr ""
205
 
206
  #: includes/admin/class-evf-admin-assets.php:87
207
+ msgid "Row Locked"
208
  msgstr ""
209
 
210
  #: includes/admin/class-evf-admin-assets.php:88
211
+ msgid "Single row cannot be deleted."
212
  msgstr ""
213
 
214
  #: includes/admin/class-evf-admin-assets.php:89
215
+ msgid "Field Locked"
216
  msgstr ""
217
 
218
  #: includes/admin/class-evf-admin-assets.php:90
219
+ msgid "This field cannot be deleted or duplicated."
220
  msgstr ""
221
 
222
  #: includes/admin/class-evf-admin-assets.php:91
223
+ msgid "This item must contain at least one choice."
 
224
  msgstr ""
225
 
226
  #: includes/admin/class-evf-admin-assets.php:92
227
+ msgid "Are you sure you want to delete this row?"
228
  msgstr ""
229
 
230
  #: includes/admin/class-evf-admin-assets.php:93
231
+ msgid "Are you sure you want to delete this field?"
232
  msgstr ""
233
 
234
  #: includes/admin/class-evf-admin-assets.php:94
235
+ msgid "Are you sure you want to duplicate this field?"
 
 
 
 
 
236
  msgstr ""
237
 
238
+ #: includes/admin/class-evf-admin-assets.php:143
239
  msgid "EverestForms"
240
  msgstr ""
241
 
450
  msgstr ""
451
 
452
  #: includes/admin/class-evf-admin-forms-table-list.php:338
453
+ #: includes/admin/views/html-admin-page-entries-view.php:141
454
+ #: includes/admin/views/html-admin-page-entries-view.php:143
455
  msgid "Move to trash"
456
  msgstr ""
457
 
854
  msgid "This entry does not have any fields."
855
  msgstr ""
856
 
857
+ #: includes/admin/views/html-admin-page-entries-view.php:52
 
858
  msgid "Field ID"
859
  msgstr ""
860
 
861
+ #: includes/admin/views/html-admin-page-entries-view.php:69
862
  msgid "Empty"
863
  msgstr ""
864
 
865
+ #: includes/admin/views/html-admin-page-entries-view.php:84
866
  msgid "Entry Details"
867
  msgstr ""
868
 
869
+ #: includes/admin/views/html-admin-page-entries-view.php:90
870
  msgid "Entry ID:"
871
  msgstr ""
872
 
873
+ #: includes/admin/views/html-admin-page-entries-view.php:96
874
  msgid "Submitted:"
875
  msgstr ""
876
 
877
+ #: includes/admin/views/html-admin-page-entries-view.php:97
878
  msgid "M j, Y @ g:ia"
879
  msgstr ""
880
 
881
+ #: includes/admin/views/html-admin-page-entries-view.php:104
882
  msgid "User:"
883
  msgstr ""
884
 
885
+ #: includes/admin/views/html-admin-page-entries-view.php:123
886
  msgid "User IP:"
887
  msgstr ""
888
 
889
+ #: includes/admin/views/html-admin-page-entries-view.php:131
890
  msgid "Status:"
891
  msgstr ""
892
 
893
+ #: includes/admin/views/html-admin-page-entries-view.php:132
894
  msgid "Completed"
895
  msgstr ""
896
 
1244
  msgid "Website"
1245
  msgstr ""
1246
 
1247
+ #: includes/libraries/wp-background-process.php:423
1248
+ msgid "Every %d Minutes"
1249
  msgstr ""
1250
 
1251
  #: includes/log-handlers/class-evf-log-handler-file.php:345
package-lock.json CHANGED
@@ -1,9 +1,235 @@
1
  {
2
  "name": "everest-forms",
3
- "version": "1.1.1",
4
  "lockfileVersion": 1,
5
  "requires": true,
6
  "dependencies": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  "abbrev": {
8
  "version": "1.1.1",
9
  "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
@@ -11,12 +237,12 @@
11
  "dev": true
12
  },
13
  "accepts": {
14
- "version": "1.3.4",
15
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz",
16
- "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=",
17
  "dev": true,
18
  "requires": {
19
- "mime-types": "2.1.17",
20
  "negotiator": "0.6.1"
21
  }
22
  },
@@ -37,9 +263,9 @@
37
  }
38
  },
39
  "ajv-keywords": {
40
- "version": "2.1.1",
41
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
42
- "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
43
  "dev": true
44
  },
45
  "amdefine": {
@@ -49,9 +275,9 @@
49
  "dev": true
50
  },
51
  "ansi-colors": {
52
- "version": "1.0.1",
53
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.0.1.tgz",
54
- "integrity": "sha512-yopkAU0ZD/WQ56Tms3xLn6jRuX3SyUMAVi0FdmDIbmmnHW3jHiI1sQFdUl3gfVddjnrsP3Y6ywFKvCRopvoVIA==",
55
  "dev": true,
56
  "requires": {
57
  "ansi-wrap": "0.1.0"
@@ -73,9 +299,9 @@
73
  "dev": true
74
  },
75
  "ansi-styles": {
76
- "version": "3.2.0",
77
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
78
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
79
  "dev": true,
80
  "requires": {
81
  "color-convert": "1.9.1"
@@ -123,7 +349,7 @@
123
  "buffer-crc32": "0.2.13",
124
  "glob": "7.0.6",
125
  "lodash": "4.17.5",
126
- "readable-stream": "2.3.3",
127
  "tar-stream": "1.5.5",
128
  "walkdir": "0.0.11",
129
  "zip-stream": "1.2.0"
@@ -157,7 +383,7 @@
157
  "lazystream": "1.0.0",
158
  "lodash": "4.17.5",
159
  "normalize-path": "2.1.1",
160
- "readable-stream": "2.3.3"
161
  },
162
  "dependencies": {
163
  "lodash": {
@@ -181,16 +407,24 @@
181
  "dev": true,
182
  "requires": {
183
  "delegates": "1.0.0",
184
- "readable-stream": "2.3.3"
185
  }
186
  },
187
  "argparse": {
188
- "version": "1.0.9",
189
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
190
- "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
191
  "dev": true,
192
  "requires": {
193
  "sprintf-js": "1.0.3"
 
 
 
 
 
 
 
 
194
  }
195
  },
196
  "arr-diff": {
@@ -208,7 +442,7 @@
208
  "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=",
209
  "dev": true,
210
  "requires": {
211
- "make-iterator": "1.0.0"
212
  }
213
  },
214
  "arr-flatten": {
@@ -223,7 +457,7 @@
223
  "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=",
224
  "dev": true,
225
  "requires": {
226
- "make-iterator": "1.0.0"
227
  }
228
  },
229
  "arr-union": {
@@ -232,12 +466,6 @@
232
  "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
233
  "dev": true
234
  },
235
- "array-differ": {
236
- "version": "1.0.0",
237
- "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
238
- "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
239
- "dev": true
240
- },
241
  "array-each": {
242
  "version": "1.0.1",
243
  "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
@@ -383,6 +611,14 @@
383
  "once": "1.4.0",
384
  "process-nextick-args": "1.0.7",
385
  "stream-exhaust": "1.0.2"
 
 
 
 
 
 
 
 
386
  }
387
  },
388
  "async-each": {
@@ -425,22 +661,22 @@
425
  "dev": true
426
  },
427
  "atob": {
428
- "version": "2.0.3",
429
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz",
430
- "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=",
431
  "dev": true
432
  },
433
  "autoprefixer": {
434
- "version": "7.1.6",
435
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.1.6.tgz",
436
- "integrity": "sha512-C9yv/UF3X+eJTi/zvfxuyfxmLibYrntpF3qoJYrMeQwgUJOZrZvpJiMG2FMQ3qnhWtF/be4pYONBBw95ZGe3vA==",
437
  "dev": true,
438
  "requires": {
439
- "browserslist": "2.11.3",
440
- "caniuse-lite": "1.0.30000804",
441
  "normalize-range": "0.1.2",
442
  "num2fraction": "1.2.2",
443
- "postcss": "6.0.17",
444
  "postcss-value-parser": "3.3.0"
445
  }
446
  },
@@ -451,9 +687,15 @@
451
  "dev": true
452
  },
453
  "aws4": {
454
- "version": "1.6.0",
455
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
456
- "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
 
 
 
 
 
 
457
  "dev": true
458
  },
459
  "bach": {
@@ -506,11 +748,55 @@
506
  "pascalcase": "0.1.1"
507
  },
508
  "dependencies": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
509
  "isobject": {
510
  "version": "3.0.1",
511
  "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
512
  "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
513
  "dev": true
 
 
 
 
 
 
514
  }
515
  }
516
  },
@@ -542,12 +828,6 @@
542
  "tweetnacl": "0.14.5"
543
  }
544
  },
545
- "beeper": {
546
- "version": "1.1.1",
547
- "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
548
- "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
549
- "dev": true
550
- },
551
  "better-assert": {
552
  "version": "1.0.2",
553
  "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
@@ -564,12 +844,13 @@
564
  "dev": true
565
  },
566
  "bl": {
567
- "version": "1.2.1",
568
- "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz",
569
- "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=",
570
  "dev": true,
571
  "requires": {
572
- "readable-stream": "2.3.3"
 
573
  }
574
  },
575
  "blob": {
@@ -608,7 +889,7 @@
608
  "on-finished": "2.3.0",
609
  "qs": "5.2.0",
610
  "raw-body": "2.1.7",
611
- "type-is": "1.6.15"
612
  },
613
  "dependencies": {
614
  "debug": {
@@ -660,9 +941,9 @@
660
  }
661
  },
662
  "brace-expansion": {
663
- "version": "1.1.8",
664
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
665
- "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
666
  "dev": true,
667
  "requires": {
668
  "balanced-match": "1.0.0",
@@ -739,13 +1020,13 @@
739
  }
740
  },
741
  "browserslist": {
742
- "version": "2.11.3",
743
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz",
744
- "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==",
745
  "dev": true,
746
  "requires": {
747
- "caniuse-lite": "1.0.30000804",
748
- "electron-to-chromium": "1.3.33"
749
  }
750
  },
751
  "bs-recipes": {
@@ -766,6 +1047,12 @@
766
  "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=",
767
  "dev": true
768
  },
 
 
 
 
 
 
769
  "builtin-modules": {
770
  "version": "1.1.1",
771
  "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
@@ -803,6 +1090,12 @@
803
  }
804
  }
805
  },
 
 
 
 
 
 
806
  "callsite": {
807
  "version": "1.0.0",
808
  "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
@@ -834,9 +1127,9 @@
834
  }
835
  },
836
  "caniuse-lite": {
837
- "version": "1.0.30000804",
838
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000804.tgz",
839
- "integrity": "sha512-HDZPSHLi18Bac8YU+bDJPtJLf19DwoNTM7Qp1alhltYW9FxNUlwCgk1xk92H0hB+xiKW4Jb9LXQv6M+riQyxFg==",
840
  "dev": true
841
  },
842
  "caseless": {
@@ -852,25 +1145,14 @@
852
  "dev": true
853
  },
854
  "chalk": {
855
- "version": "2.3.0",
856
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
857
- "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
858
  "dev": true,
859
  "requires": {
860
- "ansi-styles": "3.2.0",
861
  "escape-string-regexp": "1.0.5",
862
- "supports-color": "4.5.0"
863
- },
864
- "dependencies": {
865
- "supports-color": {
866
- "version": "4.5.0",
867
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
868
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
869
- "dev": true,
870
- "requires": {
871
- "has-flag": "2.0.0"
872
- }
873
- }
874
  }
875
  },
876
  "character-entities": {
@@ -947,75 +1229,18 @@
947
  "is-descriptor": "0.1.6"
948
  }
949
  },
950
- "is-accessor-descriptor": {
951
- "version": "0.1.6",
952
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
953
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
954
- "dev": true,
955
- "requires": {
956
- "kind-of": "3.2.2"
957
- },
958
- "dependencies": {
959
- "kind-of": {
960
- "version": "3.2.2",
961
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
962
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
963
- "dev": true,
964
- "requires": {
965
- "is-buffer": "1.1.6"
966
- }
967
- }
968
- }
969
- },
970
- "is-data-descriptor": {
971
- "version": "0.1.4",
972
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
973
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
974
- "dev": true,
975
- "requires": {
976
- "kind-of": "3.2.2"
977
- },
978
- "dependencies": {
979
- "kind-of": {
980
- "version": "3.2.2",
981
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
982
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
983
- "dev": true,
984
- "requires": {
985
- "is-buffer": "1.1.6"
986
- }
987
- }
988
- }
989
- },
990
- "is-descriptor": {
991
- "version": "0.1.6",
992
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
993
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
994
- "dev": true,
995
- "requires": {
996
- "is-accessor-descriptor": "0.1.6",
997
- "is-data-descriptor": "0.1.4",
998
- "kind-of": "5.1.0"
999
- }
1000
- },
1001
  "isobject": {
1002
  "version": "3.0.1",
1003
  "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1004
  "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
1005
  "dev": true
1006
- },
1007
- "kind-of": {
1008
- "version": "5.1.0",
1009
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
1010
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
1011
- "dev": true
1012
  }
1013
  }
1014
  },
1015
  "clean-css": {
1016
- "version": "4.1.9",
1017
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz",
1018
- "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=",
1019
  "dev": true,
1020
  "requires": {
1021
  "source-map": "0.5.7"
@@ -1067,9 +1292,9 @@
1067
  }
1068
  },
1069
  "clone": {
1070
- "version": "2.1.1",
1071
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
1072
- "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
1073
  "dev": true
1074
  },
1075
  "clone-buffer": {
@@ -1079,13 +1304,13 @@
1079
  "dev": true
1080
  },
1081
  "clone-regexp": {
1082
- "version": "1.0.0",
1083
- "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.0.tgz",
1084
- "integrity": "sha1-6uCiQT9VwJQvgYwin+/OhF1/Oxw=",
1085
  "dev": true,
1086
  "requires": {
1087
  "is-regexp": "1.0.0",
1088
- "is-supported-regexp-flag": "1.0.0"
1089
  }
1090
  },
1091
  "clone-stats": {
@@ -1095,14 +1320,14 @@
1095
  "dev": true
1096
  },
1097
  "cloneable-readable": {
1098
- "version": "1.0.0",
1099
- "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz",
1100
- "integrity": "sha1-pikNQT8hemEjL5XkWP84QYz7ARc=",
1101
  "dev": true,
1102
  "requires": {
1103
  "inherits": "2.0.3",
1104
- "process-nextick-args": "1.0.7",
1105
- "through2": "2.0.3"
1106
  }
1107
  },
1108
  "co": {
@@ -1137,7 +1362,7 @@
1137
  "requires": {
1138
  "arr-map": "2.0.2",
1139
  "for-own": "1.0.0",
1140
- "make-iterator": "1.0.0"
1141
  },
1142
  "dependencies": {
1143
  "for-own": {
@@ -1189,18 +1414,18 @@
1189
  "dev": true
1190
  },
1191
  "combined-stream": {
1192
- "version": "1.0.5",
1193
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
1194
- "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
1195
  "dev": true,
1196
  "requires": {
1197
  "delayed-stream": "1.0.0"
1198
  }
1199
  },
1200
  "commander": {
1201
- "version": "2.14.1",
1202
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
1203
- "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==",
1204
  "dev": true
1205
  },
1206
  "component-bind": {
@@ -1230,7 +1455,7 @@
1230
  "buffer-crc32": "0.2.13",
1231
  "crc32-stream": "2.0.0",
1232
  "normalize-path": "2.1.1",
1233
- "readable-stream": "2.3.3"
1234
  }
1235
  },
1236
  "concat-map": {
@@ -1240,13 +1465,14 @@
1240
  "dev": true
1241
  },
1242
  "concat-stream": {
1243
- "version": "1.6.0",
1244
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
1245
- "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
1246
  "dev": true,
1247
  "requires": {
 
1248
  "inherits": "2.0.3",
1249
- "readable-stream": "2.3.3",
1250
  "typedarray": "0.0.6"
1251
  }
1252
  },
@@ -1341,15 +1567,15 @@
1341
  "dev": true
1342
  },
1343
  "cosmiconfig": {
1344
- "version": "3.1.0",
1345
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-3.1.0.tgz",
1346
- "integrity": "sha512-zedsBhLSbPBms+kE7AH4vHg6JsKDz6epSv2/+5XHs8ILHlgDciSJfSWf8sX9aQ52Jb7KI7VswUTsLpR/G0cr2Q==",
1347
  "dev": true,
1348
  "requires": {
1349
  "is-directory": "0.3.1",
1350
- "js-yaml": "3.10.0",
1351
- "parse-json": "3.0.0",
1352
- "require-from-string": "2.0.1"
1353
  },
1354
  "dependencies": {
1355
  "esprima": {
@@ -1359,22 +1585,23 @@
1359
  "dev": true
1360
  },
1361
  "js-yaml": {
1362
- "version": "3.10.0",
1363
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
1364
- "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==",
1365
  "dev": true,
1366
  "requires": {
1367
- "argparse": "1.0.9",
1368
  "esprima": "4.0.0"
1369
  }
1370
  },
1371
  "parse-json": {
1372
- "version": "3.0.0",
1373
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-3.0.0.tgz",
1374
- "integrity": "sha1-+m9HsY4jgm6tMvJj50TQ4ehH+xM=",
1375
  "dev": true,
1376
  "requires": {
1377
- "error-ex": "1.3.1"
 
1378
  }
1379
  }
1380
  }
@@ -1392,7 +1619,7 @@
1392
  "dev": true,
1393
  "requires": {
1394
  "crc": "3.5.0",
1395
- "readable-stream": "2.3.3"
1396
  }
1397
  },
1398
  "cross-spawn": {
@@ -1401,7 +1628,7 @@
1401
  "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
1402
  "dev": true,
1403
  "requires": {
1404
- "lru-cache": "4.1.1",
1405
  "which": "1.2.14"
1406
  }
1407
  },
@@ -1429,7 +1656,7 @@
1429
  "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
1430
  "dev": true,
1431
  "requires": {
1432
- "es5-ext": "0.10.38"
1433
  }
1434
  },
1435
  "dashdash": {
@@ -1496,6 +1723,16 @@
1496
  "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
1497
  "dev": true
1498
  },
 
 
 
 
 
 
 
 
 
 
1499
  "deep-extend": {
1500
  "version": "0.4.2",
1501
  "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
@@ -1537,12 +1774,56 @@
1537
  }
1538
  },
1539
  "define-property": {
1540
- "version": "1.0.0",
1541
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1542
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1543
  "dev": true,
1544
  "requires": {
1545
- "is-descriptor": "1.0.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1546
  }
1547
  },
1548
  "del": {
@@ -1553,7 +1834,7 @@
1553
  "requires": {
1554
  "globby": "5.0.0",
1555
  "is-path-cwd": "1.0.0",
1556
- "is-path-in-cwd": "1.0.0",
1557
  "object-assign": "4.1.1",
1558
  "pify": "2.3.0",
1559
  "pinkie-promise": "2.0.1",
@@ -1620,9 +1901,9 @@
1620
  "dev": true
1621
  },
1622
  "diff": {
1623
- "version": "3.4.0",
1624
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz",
1625
- "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==",
1626
  "dev": true
1627
  },
1628
  "dir-glob": {
@@ -1716,50 +1997,15 @@
1716
  "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
1717
  "dev": true
1718
  },
1719
- "duplexer2": {
1720
- "version": "0.0.2",
1721
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
1722
- "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
1723
- "dev": true,
1724
- "requires": {
1725
- "readable-stream": "1.1.14"
1726
- },
1727
- "dependencies": {
1728
- "isarray": {
1729
- "version": "0.0.1",
1730
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
1731
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
1732
- "dev": true
1733
- },
1734
- "readable-stream": {
1735
- "version": "1.1.14",
1736
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
1737
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
1738
- "dev": true,
1739
- "requires": {
1740
- "core-util-is": "1.0.2",
1741
- "inherits": "2.0.3",
1742
- "isarray": "0.0.1",
1743
- "string_decoder": "0.10.31"
1744
- }
1745
- },
1746
- "string_decoder": {
1747
- "version": "0.10.31",
1748
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
1749
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
1750
- "dev": true
1751
- }
1752
- }
1753
- },
1754
  "duplexify": {
1755
- "version": "3.5.3",
1756
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz",
1757
- "integrity": "sha512-g8ID9OroF9hKt2POf8YLayy+9594PzmM3scI00/uBXocX3TWNgoB67hjzkFe9ITAbQOne/lLdBxHXvYUM4ZgGA==",
1758
  "dev": true,
1759
  "requires": {
1760
  "end-of-stream": "1.4.1",
1761
  "inherits": "2.0.3",
1762
- "readable-stream": "2.3.3",
1763
  "stream-shift": "1.0.0"
1764
  }
1765
  },
@@ -1818,9 +2064,9 @@
1818
  "dev": true
1819
  },
1820
  "electron-to-chromium": {
1821
- "version": "1.3.33",
1822
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.33.tgz",
1823
- "integrity": "sha1-vwBwPWKnxlI4E2V4w1LWxcBCpUU=",
1824
  "dev": true
1825
  },
1826
  "emitter-steward": {
@@ -1841,7 +2087,7 @@
1841
  "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
1842
  "dev": true,
1843
  "requires": {
1844
- "iconv-lite": "0.4.19"
1845
  }
1846
  },
1847
  "end-of-stream": {
@@ -1854,41 +2100,40 @@
1854
  }
1855
  },
1856
  "engine.io": {
1857
- "version": "3.1.4",
1858
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.4.tgz",
1859
- "integrity": "sha1-PQIRtwpVLOhB/8fahiezAamkFi4=",
1860
  "dev": true,
1861
  "requires": {
1862
- "accepts": "1.3.3",
1863
  "base64id": "1.0.0",
1864
  "cookie": "0.3.1",
1865
- "debug": "2.6.9",
1866
  "engine.io-parser": "2.1.2",
1867
- "uws": "0.14.5",
1868
  "ws": "3.3.3"
1869
  },
1870
  "dependencies": {
1871
- "accepts": {
1872
- "version": "1.3.3",
1873
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
1874
- "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
1875
  "dev": true,
1876
  "requires": {
1877
- "mime-types": "2.1.17",
1878
- "negotiator": "0.6.1"
1879
  }
1880
  }
1881
  }
1882
  },
1883
  "engine.io-client": {
1884
- "version": "3.1.4",
1885
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.4.tgz",
1886
- "integrity": "sha1-T88TcLRxY70s6b4nM5ckMDUNTqE=",
1887
  "dev": true,
1888
  "requires": {
1889
  "component-emitter": "1.2.1",
1890
  "component-inherit": "0.0.3",
1891
- "debug": "2.6.9",
1892
  "engine.io-parser": "2.1.2",
1893
  "has-cors": "1.1.0",
1894
  "indexof": "0.0.1",
@@ -1897,6 +2142,17 @@
1897
  "ws": "3.3.3",
1898
  "xmlhttprequest-ssl": "1.5.5",
1899
  "yeast": "0.1.2"
 
 
 
 
 
 
 
 
 
 
 
1900
  }
1901
  },
1902
  "engine.io-parser": {
@@ -1928,13 +2184,14 @@
1928
  }
1929
  },
1930
  "es5-ext": {
1931
- "version": "0.10.38",
1932
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.38.tgz",
1933
- "integrity": "sha512-jCMyePo7AXbUESwbl8Qi01VSH2piY9s/a3rSU/5w/MlTIx8HPL1xn2InGN8ejt/xulcJgnTO7vqNtOAxzYd2Kg==",
1934
  "dev": true,
1935
  "requires": {
1936
  "es6-iterator": "2.0.3",
1937
- "es6-symbol": "3.1.1"
 
1938
  }
1939
  },
1940
  "es6-iterator": {
@@ -1944,7 +2201,7 @@
1944
  "dev": true,
1945
  "requires": {
1946
  "d": "1.0.0",
1947
- "es5-ext": "0.10.38",
1948
  "es6-symbol": "3.1.1"
1949
  }
1950
  },
@@ -1955,7 +2212,7 @@
1955
  "dev": true,
1956
  "requires": {
1957
  "d": "1.0.0",
1958
- "es5-ext": "0.10.38"
1959
  }
1960
  },
1961
  "es6-weak-map": {
@@ -1965,7 +2222,7 @@
1965
  "dev": true,
1966
  "requires": {
1967
  "d": "1.0.0",
1968
- "es5-ext": "0.10.38",
1969
  "es6-iterator": "2.0.3",
1970
  "es6-symbol": "3.1.1"
1971
  }
@@ -1988,6 +2245,12 @@
1988
  "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
1989
  "dev": true
1990
  },
 
 
 
 
 
 
1991
  "etag": {
1992
  "version": "1.8.1",
1993
  "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
@@ -2012,7 +2275,7 @@
2012
  "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=",
2013
  "dev": true,
2014
  "requires": {
2015
- "clone-regexp": "1.0.0"
2016
  }
2017
  },
2018
  "exit": {
@@ -2062,12 +2325,24 @@
2062
  "dev": true
2063
  },
2064
  "extend-shallow": {
2065
- "version": "2.0.1",
2066
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2067
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2068
  "dev": true,
2069
  "requires": {
2070
- "is-extendable": "0.1.1"
 
 
 
 
 
 
 
 
 
 
 
 
2071
  }
2072
  },
2073
  "extglob": {
@@ -2096,12 +2371,337 @@
2096
  "time-stamp": "1.1.0"
2097
  }
2098
  },
2099
- "fast-deep-equal": {
2100
- "version": "1.0.0",
2101
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
2102
- "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
2103
- "dev": true
2104
- },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2105
  "fast-json-stable-stringify": {
2106
  "version": "2.0.0",
2107
  "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
@@ -2276,13 +2876,13 @@
2276
  }
2277
  },
2278
  "flush-write-stream": {
2279
- "version": "1.0.2",
2280
- "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz",
2281
- "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=",
2282
  "dev": true,
2283
  "requires": {
2284
  "inherits": "2.0.3",
2285
- "readable-stream": "2.3.3"
2286
  }
2287
  },
2288
  "for-in": {
@@ -2319,8 +2919,8 @@
2319
  "dev": true,
2320
  "requires": {
2321
  "asynckit": "0.4.0",
2322
- "combined-stream": "1.0.5",
2323
- "mime-types": "2.1.17"
2324
  }
2325
  },
2326
  "fragment-cache": {
@@ -2465,9 +3065,9 @@
2465
  }
2466
  },
2467
  "gettext-parser": {
2468
- "version": "1.3.0",
2469
- "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.3.0.tgz",
2470
- "integrity": "sha512-iloxjcw+uTPnQ8DrGICWtqkHNgk3mAiDI77pLmXQCnhM+BxFQXstzTA4zj3EpIYMysRQnnNzHyHzBUEazz80Sw==",
2471
  "dev": true,
2472
  "requires": {
2473
  "encoding": "0.1.12",
@@ -2526,7 +3126,7 @@
2526
  "is-negated-glob": "1.0.0",
2527
  "ordered-read-streams": "1.0.1",
2528
  "pumpify": "1.4.0",
2529
- "readable-stream": "2.3.3",
2530
  "remove-trailing-separator": "1.1.0",
2531
  "to-absolute-glob": "2.0.2",
2532
  "unique-stream": "2.2.1"
@@ -2573,6 +3173,12 @@
2573
  }
2574
  }
2575
  },
 
 
 
 
 
 
2576
  "glob-watcher": {
2577
  "version": "4.0.0",
2578
  "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-4.0.0.tgz",
@@ -2592,7 +3198,7 @@
2592
  "dev": true,
2593
  "requires": {
2594
  "global-prefix": "1.0.2",
2595
- "is-windows": "1.0.1",
2596
  "resolve-dir": "1.0.1"
2597
  }
2598
  },
@@ -2605,18 +3211,25 @@
2605
  "expand-tilde": "2.0.2",
2606
  "homedir-polyfill": "1.0.1",
2607
  "ini": "1.3.5",
2608
- "is-windows": "1.0.1",
2609
  "which": "1.2.14"
2610
  }
2611
  },
 
 
 
 
 
 
2612
  "globby": {
2613
- "version": "7.1.1",
2614
- "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
2615
- "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
2616
  "dev": true,
2617
  "requires": {
2618
  "array-union": "1.0.2",
2619
  "dir-glob": "2.0.0",
 
2620
  "glob": "7.1.2",
2621
  "ignore": "3.3.7",
2622
  "pify": "3.0.0",
@@ -2730,9 +3343,9 @@
2730
  "glob": "7.0.6",
2731
  "grunt-cli": "1.2.0",
2732
  "grunt-known-options": "1.1.0",
2733
- "grunt-legacy-log": "1.0.0",
2734
  "grunt-legacy-util": "1.0.0",
2735
- "iconv-lite": "0.4.19",
2736
  "js-yaml": "3.5.5",
2737
  "minimatch": "3.0.4",
2738
  "nopt": "3.0.6",
@@ -2879,7 +3492,7 @@
2879
  "dev": true,
2880
  "requires": {
2881
  "chalk": "1.1.3",
2882
- "clean-css": "4.1.9",
2883
  "maxmin": "2.1.0"
2884
  },
2885
  "dependencies": {
@@ -2949,14 +3562,14 @@
2949
  }
2950
  },
2951
  "grunt-contrib-uglify": {
2952
- "version": "3.2.1",
2953
- "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-3.2.1.tgz",
2954
- "integrity": "sha512-xBPwg8wuA/m+HiSh2uMADuadKEnFQt9N5OhEy35vIl945yG6095oY1H1Og3ucg0wBSOieIBn3raqStvIcwKqHg==",
2955
  "dev": true,
2956
  "requires": {
2957
  "chalk": "1.1.3",
2958
  "maxmin": "1.1.0",
2959
- "uglify-js": "3.2.2",
2960
  "uri-path": "1.0.0"
2961
  },
2962
  "dependencies": {
@@ -2986,7 +3599,7 @@
2986
  "dev": true,
2987
  "requires": {
2988
  "browserify-zlib": "0.1.4",
2989
- "concat-stream": "1.6.0"
2990
  }
2991
  },
2992
  "maxmin": {
@@ -3038,16 +3651,24 @@
3038
  "dev": true
3039
  },
3040
  "grunt-legacy-log": {
3041
- "version": "1.0.0",
3042
- "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz",
3043
- "integrity": "sha1-+4bxgJhHvAfcR4Q/ns1srLYt8tU=",
3044
  "dev": true,
3045
  "requires": {
3046
  "colors": "1.1.2",
3047
  "grunt-legacy-log-utils": "1.0.0",
3048
  "hooker": "0.2.3",
3049
- "lodash": "3.10.1",
3050
- "underscore.string": "3.2.3"
 
 
 
 
 
 
 
 
3051
  }
3052
  },
3053
  "grunt-legacy-log-utils": {
@@ -3113,6 +3734,12 @@
3113
  "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz",
3114
  "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=",
3115
  "dev": true
 
 
 
 
 
 
3116
  }
3117
  }
3118
  },
@@ -3128,9 +3755,9 @@
3128
  "integrity": "sha512-lglLcVaoOIqH0sFv7RqwUKkEFGQwnlqyAKbatxZderwZGV1nDyKHN7gZS9LUiTx1t5GOvRBx0BEalHMyVwFAIA==",
3129
  "dev": true,
3130
  "requires": {
3131
- "chalk": "2.3.0",
3132
- "diff": "3.4.0",
3133
- "postcss": "6.0.17"
3134
  }
3135
  },
3136
  "grunt-rtlcss": {
@@ -3171,20 +3798,20 @@
3171
  }
3172
  },
3173
  "grunt-sass": {
3174
- "version": "2.0.0",
3175
- "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-2.0.0.tgz",
3176
- "integrity": "sha1-kHTPnXtFkuIPd4jKpye4+aoGtgo=",
3177
  "dev": true,
3178
  "requires": {
3179
  "each-async": "1.1.1",
3180
- "node-sass": "4.7.2",
3181
  "object-assign": "4.1.1"
3182
  }
3183
  },
3184
  "grunt-stylelint": {
3185
- "version": "0.9.0",
3186
- "resolved": "https://registry.npmjs.org/grunt-stylelint/-/grunt-stylelint-0.9.0.tgz",
3187
- "integrity": "sha512-+eC6pRdt+6ZupNFbDYVBB7DtEdohjTNf3BRAXhCqMk2eqEYg/q+Bl3r6lFC6qGRNxmpfHR+qWnzb+KKCqKalaw==",
3188
  "dev": true,
3189
  "requires": {
3190
  "chalk": "1.1.3"
@@ -3218,13 +3845,13 @@
3218
  }
3219
  },
3220
  "grunt-wp-i18n": {
3221
- "version": "1.0.1",
3222
- "resolved": "https://registry.npmjs.org/grunt-wp-i18n/-/grunt-wp-i18n-1.0.1.tgz",
3223
- "integrity": "sha512-0V+rBR0yNUGsmDrFaibP9i0G4FLFSumzMfGcny2LhdiW5MS+EwdNiuJ0qRWoiUzyvyYHpCF/8t+GBaIu/pb0iw==",
3224
  "dev": true,
3225
  "requires": {
3226
  "grunt": "1.0.2",
3227
- "node-wp-i18n": "1.0.4"
3228
  }
3229
  },
3230
  "gulp": {
@@ -3249,11 +3876,11 @@
3249
  "integrity": "sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ==",
3250
  "dev": true,
3251
  "requires": {
3252
- "ansi-colors": "1.0.1",
3253
  "archy": "1.0.0",
3254
  "array-sort": "1.0.0",
3255
  "color-support": "1.1.3",
3256
- "concat-stream": "1.6.0",
3257
  "copy-props": "2.0.1",
3258
  "fancy-log": "1.3.2",
3259
  "gulplog": "1.0.0",
@@ -3265,7 +3892,7 @@
3265
  "pretty-hrtime": "1.0.3",
3266
  "replace-homedir": "1.0.0",
3267
  "semver-greatest-satisfied-range": "1.1.0",
3268
- "v8flags": "3.0.1",
3269
  "yargs": "7.1.0"
3270
  }
3271
  },
@@ -3308,108 +3935,34 @@
3308
  }
3309
  },
3310
  "gulp-sass": {
3311
- "version": "3.1.0",
3312
- "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-3.1.0.tgz",
3313
- "integrity": "sha1-U9xLaKH13f5EJKtMJHZVJpqLdLc=",
3314
  "dev": true,
3315
  "requires": {
3316
- "gulp-util": "3.0.8",
3317
  "lodash.clonedeep": "4.5.0",
3318
- "node-sass": "4.7.2",
 
 
 
3319
  "through2": "2.0.3",
3320
  "vinyl-sourcemaps-apply": "0.2.1"
3321
- }
3322
- },
3323
- "gulp-util": {
3324
- "version": "3.0.8",
3325
- "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
3326
- "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
3327
- "dev": true,
3328
- "requires": {
3329
- "array-differ": "1.0.0",
3330
- "array-uniq": "1.0.3",
3331
- "beeper": "1.1.1",
3332
- "chalk": "1.1.3",
3333
- "dateformat": "2.2.0",
3334
- "fancy-log": "1.3.2",
3335
- "gulplog": "1.0.0",
3336
- "has-gulplog": "0.1.0",
3337
- "lodash._reescape": "3.0.0",
3338
- "lodash._reevaluate": "3.0.0",
3339
- "lodash._reinterpolate": "3.0.0",
3340
- "lodash.template": "3.6.2",
3341
- "minimist": "1.2.0",
3342
- "multipipe": "0.1.2",
3343
- "object-assign": "3.0.0",
3344
- "replace-ext": "0.0.1",
3345
- "through2": "2.0.3",
3346
- "vinyl": "0.5.3"
3347
  },
3348
  "dependencies": {
3349
- "ansi-styles": {
3350
- "version": "2.2.1",
3351
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
3352
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
3353
- "dev": true
3354
- },
3355
- "chalk": {
3356
- "version": "1.1.3",
3357
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
3358
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3359
- "dev": true,
3360
- "requires": {
3361
- "ansi-styles": "2.2.1",
3362
- "escape-string-regexp": "1.0.5",
3363
- "has-ansi": "2.0.0",
3364
- "strip-ansi": "3.0.1",
3365
- "supports-color": "2.0.0"
3366
- }
3367
- },
3368
- "clone": {
3369
- "version": "1.0.3",
3370
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
3371
- "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=",
3372
- "dev": true
3373
- },
3374
- "clone-stats": {
3375
- "version": "0.0.1",
3376
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
3377
- "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
3378
- "dev": true
3379
- },
3380
- "dateformat": {
3381
- "version": "2.2.0",
3382
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
3383
- "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
3384
- "dev": true
3385
- },
3386
- "object-assign": {
3387
  "version": "3.0.0",
3388
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
3389
- "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
3390
- "dev": true
3391
- },
3392
- "replace-ext": {
3393
- "version": "0.0.1",
3394
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
3395
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
3396
- "dev": true
3397
- },
3398
- "supports-color": {
3399
- "version": "2.0.0",
3400
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
3401
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
3402
  "dev": true
3403
  },
3404
- "vinyl": {
3405
- "version": "0.5.3",
3406
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
3407
- "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
3408
  "dev": true,
3409
  "requires": {
3410
- "clone": "1.0.3",
3411
- "clone-stats": "0.0.1",
3412
- "replace-ext": "0.0.1"
3413
  }
3414
  }
3415
  }
@@ -3479,20 +4032,11 @@
3479
  "dev": true
3480
  },
3481
  "has-flag": {
3482
- "version": "2.0.0",
3483
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
3484
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
3485
  "dev": true
3486
  },
3487
- "has-gulplog": {
3488
- "version": "0.1.0",
3489
- "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
3490
- "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
3491
- "dev": true,
3492
- "requires": {
3493
- "sparkles": "1.0.0"
3494
- }
3495
- },
3496
  "has-symbols": {
3497
  "version": "1.0.0",
3498
  "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
@@ -3599,9 +4143,9 @@
3599
  "dev": true
3600
  },
3601
  "hosted-git-info": {
3602
- "version": "2.5.0",
3603
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
3604
- "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==",
3605
  "dev": true
3606
  },
3607
  "html-tags": {
@@ -3661,9 +4205,9 @@
3661
  }
3662
  },
3663
  "http-parser-js": {
3664
- "version": "0.4.10",
3665
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
3666
- "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=",
3667
  "dev": true
3668
  },
3669
  "http-proxy": {
@@ -3684,14 +4228,17 @@
3684
  "requires": {
3685
  "assert-plus": "0.2.0",
3686
  "jsprim": "1.4.1",
3687
- "sshpk": "1.13.1"
3688
  }
3689
  },
3690
  "iconv-lite": {
3691
- "version": "0.4.19",
3692
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
3693
- "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
3694
- "dev": true
 
 
 
3695
  },
3696
  "ignore": {
3697
  "version": "3.3.7",
@@ -3707,9 +4254,9 @@
3707
  "optional": true,
3708
  "requires": {
3709
  "detect-libc": "0.2.0",
3710
- "nan": "2.8.0",
3711
  "node-gyp": "3.6.2",
3712
- "prebuild-install": "2.5.0"
3713
  }
3714
  },
3715
  "immutable": {
@@ -3718,6 +4265,12 @@
3718
  "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=",
3719
  "dev": true
3720
  },
 
 
 
 
 
 
3721
  "imurmurhash": {
3722
  "version": "0.1.4",
3723
  "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
@@ -3779,6 +4332,15 @@
3779
  "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
3780
  "dev": true
3781
  },
 
 
 
 
 
 
 
 
 
3782
  "invert-kv": {
3783
  "version": "1.0.0",
3784
  "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
@@ -3792,24 +4354,16 @@
3792
  "dev": true,
3793
  "requires": {
3794
  "is-relative": "1.0.0",
3795
- "is-windows": "1.0.1"
3796
  }
3797
  },
3798
  "is-accessor-descriptor": {
3799
- "version": "1.0.0",
3800
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
3801
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
3802
  "dev": true,
3803
  "requires": {
3804
- "kind-of": "6.0.2"
3805
- },
3806
- "dependencies": {
3807
- "kind-of": {
3808
- "version": "6.0.2",
3809
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
3810
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
3811
- "dev": true
3812
- }
3813
  }
3814
  },
3815
  "is-alphabetical": {
@@ -3864,21 +4418,13 @@
3864
  "builtin-modules": "1.1.1"
3865
  }
3866
  },
3867
- "is-data-descriptor": {
3868
- "version": "1.0.0",
3869
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
3870
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
3871
- "dev": true,
3872
- "requires": {
3873
- "kind-of": "6.0.2"
3874
- },
3875
- "dependencies": {
3876
- "kind-of": {
3877
- "version": "6.0.2",
3878
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
3879
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
3880
- "dev": true
3881
- }
3882
  }
3883
  },
3884
  "is-decimal": {
@@ -3888,20 +4434,20 @@
3888
  "dev": true
3889
  },
3890
  "is-descriptor": {
3891
- "version": "1.0.2",
3892
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
3893
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
3894
  "dev": true,
3895
  "requires": {
3896
- "is-accessor-descriptor": "1.0.0",
3897
- "is-data-descriptor": "1.0.0",
3898
- "kind-of": "6.0.2"
3899
  },
3900
  "dependencies": {
3901
  "kind-of": {
3902
- "version": "6.0.2",
3903
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
3904
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
3905
  "dev": true
3906
  }
3907
  }
@@ -3972,14 +4518,21 @@
3972
  "integrity": "sha1-bghLvJIGH7sJcexYts5tQE4k2mk=",
3973
  "dev": true
3974
  },
 
 
 
 
 
 
3975
  "is-my-json-valid": {
3976
- "version": "2.17.1",
3977
- "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz",
3978
- "integrity": "sha512-Q2khNw+oBlWuaYvEEHtKSw/pCxD2L5Rc1C+UQme9X6JdRDh7m5D7HkozA0qa3DUkQ6VzCnEm8mVIQPyIRkI5sQ==",
3979
  "dev": true,
3980
  "requires": {
3981
  "generate-function": "2.0.0",
3982
  "generate-object-property": "1.2.0",
 
3983
  "jsonpointer": "4.0.1",
3984
  "xtend": "4.0.1"
3985
  }
@@ -4015,22 +4568,19 @@
4015
  "dev": true
4016
  },
4017
  "is-odd": {
4018
- "version": "1.0.0",
4019
- "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz",
4020
- "integrity": "sha1-O4qTLrAos3dcObsJ6RdnrM22kIg=",
4021
  "dev": true,
4022
  "requires": {
4023
- "is-number": "3.0.0"
4024
  },
4025
  "dependencies": {
4026
  "is-number": {
4027
- "version": "3.0.0",
4028
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
4029
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
4030
- "dev": true,
4031
- "requires": {
4032
- "kind-of": "3.2.2"
4033
- }
4034
  }
4035
  }
4036
  },
@@ -4041,9 +4591,9 @@
4041
  "dev": true
4042
  },
4043
  "is-path-in-cwd": {
4044
- "version": "1.0.0",
4045
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
4046
- "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=",
4047
  "dev": true,
4048
  "requires": {
4049
  "is-path-inside": "1.0.1"
@@ -4115,9 +4665,9 @@
4115
  }
4116
  },
4117
  "is-supported-regexp-flag": {
4118
- "version": "1.0.0",
4119
- "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz",
4120
- "integrity": "sha1-i1IMhfrnolM4LUsCZS4EVXbhO7g=",
4121
  "dev": true
4122
  },
4123
  "is-typedarray": {
@@ -4154,9 +4704,9 @@
4154
  "dev": true
4155
  },
4156
  "is-windows": {
4157
- "version": "1.0.1",
4158
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz",
4159
- "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=",
4160
  "dev": true
4161
  },
4162
  "is-word-character": {
@@ -4206,13 +4756,19 @@
4206
  "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==",
4207
  "dev": true
4208
  },
 
 
 
 
 
 
4209
  "js-yaml": {
4210
  "version": "3.5.5",
4211
  "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
4212
  "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
4213
  "dev": true,
4214
  "requires": {
4215
- "argparse": "1.0.9",
4216
  "esprima": "2.7.3"
4217
  }
4218
  },
@@ -4223,6 +4779,12 @@
4223
  "dev": true,
4224
  "optional": true
4225
  },
 
 
 
 
 
 
4226
  "jshint": {
4227
  "version": "2.9.5",
4228
  "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz",
@@ -4254,9 +4816,9 @@
4254
  }
4255
  },
4256
  "json-parse-better-errors": {
4257
- "version": "1.0.1",
4258
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz",
4259
- "integrity": "sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw==",
4260
  "dev": true
4261
  },
4262
  "json-schema": {
@@ -4286,6 +4848,12 @@
4286
  "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
4287
  "dev": true
4288
  },
 
 
 
 
 
 
4289
  "jsonfile": {
4290
  "version": "3.0.1",
4291
  "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
@@ -4343,9 +4911,9 @@
4343
  }
4344
  },
4345
  "known-css-properties": {
4346
- "version": "0.5.0",
4347
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.5.0.tgz",
4348
- "integrity": "sha512-LOS0CoS8zcZnB1EjLw4LLqDXw8nvt3AGH5dXLQP3D9O1nLLA+9GC5GnPl5mmF+JiQAtSX4VyZC7KvEtcA4kUtA==",
4349
  "dev": true
4350
  },
4351
  "last-run": {
@@ -4358,22 +4926,13 @@
4358
  "es6-weak-map": "2.0.2"
4359
  }
4360
  },
4361
- "lazy-cache": {
4362
- "version": "2.0.2",
4363
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
4364
- "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=",
4365
- "dev": true,
4366
- "requires": {
4367
- "set-getter": "0.1.0"
4368
- }
4369
- },
4370
  "lazystream": {
4371
  "version": "1.0.0",
4372
  "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
4373
  "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
4374
  "dev": true,
4375
  "requires": {
4376
- "readable-stream": "2.3.3"
4377
  }
4378
  },
4379
  "lcid": {
@@ -4391,7 +4950,7 @@
4391
  "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=",
4392
  "dev": true,
4393
  "requires": {
4394
- "flush-write-stream": "1.0.2"
4395
  }
4396
  },
4397
  "liftoff": {
@@ -4423,22 +4982,32 @@
4423
  "dev": true
4424
  },
4425
  "braces": {
4426
- "version": "2.3.0",
4427
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz",
4428
- "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==",
4429
  "dev": true,
4430
  "requires": {
4431
  "arr-flatten": "1.1.0",
4432
  "array-unique": "0.3.2",
4433
- "define-property": "1.0.0",
4434
  "extend-shallow": "2.0.1",
4435
  "fill-range": "4.0.0",
4436
  "isobject": "3.0.1",
4437
  "repeat-element": "1.1.2",
4438
- "snapdragon": "0.8.1",
4439
  "snapdragon-node": "2.1.1",
4440
  "split-string": "3.1.0",
4441
- "to-regex": "3.0.1"
 
 
 
 
 
 
 
 
 
 
 
4442
  }
4443
  },
4444
  "expand-brackets": {
@@ -4451,9 +5020,9 @@
4451
  "define-property": "0.2.5",
4452
  "extend-shallow": "2.0.1",
4453
  "posix-character-classes": "0.1.1",
4454
- "regex-not": "1.0.0",
4455
- "snapdragon": "0.8.1",
4456
- "to-regex": "3.0.1"
4457
  },
4458
  "dependencies": {
4459
  "define-property": {
@@ -4464,6 +5033,72 @@
4464
  "requires": {
4465
  "is-descriptor": "0.1.6"
4466
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4467
  }
4468
  }
4469
  },
@@ -4478,9 +5113,29 @@
4478
  "expand-brackets": "2.1.4",
4479
  "extend-shallow": "2.0.1",
4480
  "fragment-cache": "0.2.1",
4481
- "regex-not": "1.0.0",
4482
- "snapdragon": "0.8.1",
4483
- "to-regex": "3.0.1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4484
  }
4485
  },
4486
  "fill-range": {
@@ -4493,6 +5148,17 @@
4493
  "is-number": "3.0.0",
4494
  "repeat-string": "1.6.1",
4495
  "to-regex-range": "2.1.1"
 
 
 
 
 
 
 
 
 
 
 
4496
  }
4497
  },
4498
  "findup-sync": {
@@ -4503,67 +5169,37 @@
4503
  "requires": {
4504
  "detect-file": "1.0.0",
4505
  "is-glob": "3.1.0",
4506
- "micromatch": "3.1.5",
4507
  "resolve-dir": "1.0.1"
4508
  }
4509
  },
4510
  "is-accessor-descriptor": {
4511
- "version": "0.1.6",
4512
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
4513
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
4514
  "dev": true,
4515
  "requires": {
4516
- "kind-of": "3.2.2"
4517
- },
4518
- "dependencies": {
4519
- "kind-of": {
4520
- "version": "3.2.2",
4521
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
4522
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4523
- "dev": true,
4524
- "requires": {
4525
- "is-buffer": "1.1.6"
4526
- }
4527
- }
4528
  }
4529
  },
4530
  "is-data-descriptor": {
4531
- "version": "0.1.4",
4532
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
4533
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
4534
  "dev": true,
4535
  "requires": {
4536
- "kind-of": "3.2.2"
4537
- },
4538
- "dependencies": {
4539
- "kind-of": {
4540
- "version": "3.2.2",
4541
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
4542
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4543
- "dev": true,
4544
- "requires": {
4545
- "is-buffer": "1.1.6"
4546
- }
4547
- }
4548
  }
4549
  },
4550
  "is-descriptor": {
4551
- "version": "0.1.6",
4552
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
4553
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
4554
  "dev": true,
4555
  "requires": {
4556
- "is-accessor-descriptor": "0.1.6",
4557
- "is-data-descriptor": "0.1.4",
4558
- "kind-of": "5.1.0"
4559
- },
4560
- "dependencies": {
4561
- "kind-of": {
4562
- "version": "5.1.0",
4563
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
4564
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
4565
- "dev": true
4566
- }
4567
  }
4568
  },
4569
  "is-extglob": {
@@ -4614,24 +5250,24 @@
4614
  "dev": true
4615
  },
4616
  "micromatch": {
4617
- "version": "3.1.5",
4618
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz",
4619
- "integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==",
4620
  "dev": true,
4621
  "requires": {
4622
  "arr-diff": "4.0.0",
4623
  "array-unique": "0.3.2",
4624
- "braces": "2.3.0",
4625
- "define-property": "1.0.0",
4626
- "extend-shallow": "2.0.1",
4627
  "extglob": "2.0.4",
4628
  "fragment-cache": "0.2.1",
4629
  "kind-of": "6.0.2",
4630
- "nanomatch": "1.2.7",
4631
  "object.pick": "1.3.0",
4632
- "regex-not": "1.0.0",
4633
- "snapdragon": "0.8.1",
4634
- "to-regex": "3.0.1"
4635
  }
4636
  }
4637
  }
@@ -4722,60 +5358,6 @@
4722
  "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
4723
  "dev": true
4724
  },
4725
- "lodash._basecopy": {
4726
- "version": "3.0.1",
4727
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
4728
- "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
4729
- "dev": true
4730
- },
4731
- "lodash._basetostring": {
4732
- "version": "3.0.1",
4733
- "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
4734
- "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
4735
- "dev": true
4736
- },
4737
- "lodash._basevalues": {
4738
- "version": "3.0.0",
4739
- "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
4740
- "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
4741
- "dev": true
4742
- },
4743
- "lodash._getnative": {
4744
- "version": "3.9.1",
4745
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
4746
- "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
4747
- "dev": true
4748
- },
4749
- "lodash._isiterateecall": {
4750
- "version": "3.0.9",
4751
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
4752
- "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
4753
- "dev": true
4754
- },
4755
- "lodash._reescape": {
4756
- "version": "3.0.0",
4757
- "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
4758
- "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
4759
- "dev": true
4760
- },
4761
- "lodash._reevaluate": {
4762
- "version": "3.0.0",
4763
- "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
4764
- "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
4765
- "dev": true
4766
- },
4767
- "lodash._reinterpolate": {
4768
- "version": "3.0.0",
4769
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
4770
- "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
4771
- "dev": true
4772
- },
4773
- "lodash._root": {
4774
- "version": "3.0.1",
4775
- "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
4776
- "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
4777
- "dev": true
4778
- },
4779
  "lodash.assign": {
4780
  "version": "4.2.0",
4781
  "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
@@ -4788,90 +5370,25 @@
4788
  "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
4789
  "dev": true
4790
  },
4791
- "lodash.escape": {
4792
- "version": "3.2.0",
4793
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
4794
- "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
4795
- "dev": true,
4796
- "requires": {
4797
- "lodash._root": "3.0.1"
4798
- }
4799
- },
4800
- "lodash.isarguments": {
4801
- "version": "3.1.0",
4802
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
4803
- "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
4804
- "dev": true
4805
- },
4806
- "lodash.isarray": {
4807
- "version": "3.0.4",
4808
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
4809
- "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
4810
- "dev": true
4811
- },
4812
  "lodash.isfinite": {
4813
  "version": "3.3.2",
4814
  "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz",
4815
  "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=",
4816
  "dev": true
4817
  },
4818
- "lodash.keys": {
4819
- "version": "3.1.2",
4820
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
4821
- "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
4822
- "dev": true,
4823
- "requires": {
4824
- "lodash._getnative": "3.9.1",
4825
- "lodash.isarguments": "3.1.0",
4826
- "lodash.isarray": "3.0.4"
4827
- }
4828
- },
4829
  "lodash.mergewith": {
4830
  "version": "4.6.1",
4831
  "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
4832
  "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
4833
  "dev": true
4834
  },
4835
- "lodash.restparam": {
4836
- "version": "3.6.1",
4837
- "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
4838
- "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
4839
- "dev": true
4840
- },
4841
- "lodash.template": {
4842
- "version": "3.6.2",
4843
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
4844
- "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
4845
- "dev": true,
4846
- "requires": {
4847
- "lodash._basecopy": "3.0.1",
4848
- "lodash._basetostring": "3.0.1",
4849
- "lodash._basevalues": "3.0.0",
4850
- "lodash._isiterateecall": "3.0.9",
4851
- "lodash._reinterpolate": "3.0.0",
4852
- "lodash.escape": "3.2.0",
4853
- "lodash.keys": "3.1.2",
4854
- "lodash.restparam": "3.6.1",
4855
- "lodash.templatesettings": "3.1.1"
4856
- }
4857
- },
4858
- "lodash.templatesettings": {
4859
- "version": "3.1.1",
4860
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
4861
- "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
4862
- "dev": true,
4863
- "requires": {
4864
- "lodash._reinterpolate": "3.0.0",
4865
- "lodash.escape": "3.2.0"
4866
- }
4867
- },
4868
  "log-symbols": {
4869
  "version": "2.2.0",
4870
  "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
4871
  "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
4872
  "dev": true,
4873
  "requires": {
4874
- "chalk": "2.3.0"
4875
  }
4876
  },
4877
  "longest-streak": {
@@ -4880,6 +5397,15 @@
4880
  "integrity": "sha512-TmYTeEYxiAmSVdpbnQDXGtvYOIRsCMg89CVZzwzc2o7GFL1CjoiRPjH5ec0NFAVlAx3fVof9dX/t6KKRAo2OWA==",
4881
  "dev": true
4882
  },
 
 
 
 
 
 
 
 
 
4883
  "loud-rejection": {
4884
  "version": "1.6.0",
4885
  "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
@@ -4891,9 +5417,9 @@
4891
  }
4892
  },
4893
  "lru-cache": {
4894
- "version": "4.1.1",
4895
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
4896
- "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
4897
  "dev": true,
4898
  "requires": {
4899
  "pseudomap": "1.0.2",
@@ -4901,12 +5427,20 @@
4901
  }
4902
  },
4903
  "make-iterator": {
4904
- "version": "1.0.0",
4905
- "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.0.tgz",
4906
- "integrity": "sha1-V7713IXSOSO6I3ZzJNjo+PPZaUs=",
4907
  "dev": true,
4908
  "requires": {
4909
- "kind-of": "3.2.2"
 
 
 
 
 
 
 
 
4910
  }
4911
  },
4912
  "map-cache": {
@@ -4949,8 +5483,8 @@
4949
  "dev": true,
4950
  "requires": {
4951
  "findup-sync": "2.0.0",
4952
- "micromatch": "3.1.5",
4953
- "resolve": "1.5.0",
4954
  "stack-trace": "0.0.10"
4955
  },
4956
  "dependencies": {
@@ -4967,22 +5501,32 @@
4967
  "dev": true
4968
  },
4969
  "braces": {
4970
- "version": "2.3.0",
4971
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz",
4972
- "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==",
4973
  "dev": true,
4974
  "requires": {
4975
  "arr-flatten": "1.1.0",
4976
  "array-unique": "0.3.2",
4977
- "define-property": "1.0.0",
4978
  "extend-shallow": "2.0.1",
4979
  "fill-range": "4.0.0",
4980
  "isobject": "3.0.1",
4981
  "repeat-element": "1.1.2",
4982
- "snapdragon": "0.8.1",
4983
  "snapdragon-node": "2.1.1",
4984
  "split-string": "3.1.0",
4985
- "to-regex": "3.0.1"
 
 
 
 
 
 
 
 
 
 
 
4986
  }
4987
  },
4988
  "expand-brackets": {
@@ -4995,9 +5539,9 @@
4995
  "define-property": "0.2.5",
4996
  "extend-shallow": "2.0.1",
4997
  "posix-character-classes": "0.1.1",
4998
- "regex-not": "1.0.0",
4999
- "snapdragon": "0.8.1",
5000
- "to-regex": "3.0.1"
5001
  },
5002
  "dependencies": {
5003
  "define-property": {
@@ -5008,6 +5552,72 @@
5008
  "requires": {
5009
  "is-descriptor": "0.1.6"
5010
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5011
  }
5012
  }
5013
  },
@@ -5022,9 +5632,29 @@
5022
  "expand-brackets": "2.1.4",
5023
  "extend-shallow": "2.0.1",
5024
  "fragment-cache": "0.2.1",
5025
- "regex-not": "1.0.0",
5026
- "snapdragon": "0.8.1",
5027
- "to-regex": "3.0.1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5028
  }
5029
  },
5030
  "fill-range": {
@@ -5037,6 +5667,17 @@
5037
  "is-number": "3.0.0",
5038
  "repeat-string": "1.6.1",
5039
  "to-regex-range": "2.1.1"
 
 
 
 
 
 
 
 
 
 
 
5040
  }
5041
  },
5042
  "findup-sync": {
@@ -5047,67 +5688,37 @@
5047
  "requires": {
5048
  "detect-file": "1.0.0",
5049
  "is-glob": "3.1.0",
5050
- "micromatch": "3.1.5",
5051
  "resolve-dir": "1.0.1"
5052
  }
5053
  },
5054
  "is-accessor-descriptor": {
5055
- "version": "0.1.6",
5056
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
5057
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
5058
  "dev": true,
5059
- "requires": {
5060
- "kind-of": "3.2.2"
5061
- },
5062
- "dependencies": {
5063
- "kind-of": {
5064
- "version": "3.2.2",
5065
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
5066
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5067
- "dev": true,
5068
- "requires": {
5069
- "is-buffer": "1.1.6"
5070
- }
5071
- }
5072
  }
5073
  },
5074
  "is-data-descriptor": {
5075
- "version": "0.1.4",
5076
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
5077
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
5078
  "dev": true,
5079
  "requires": {
5080
- "kind-of": "3.2.2"
5081
- },
5082
- "dependencies": {
5083
- "kind-of": {
5084
- "version": "3.2.2",
5085
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
5086
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5087
- "dev": true,
5088
- "requires": {
5089
- "is-buffer": "1.1.6"
5090
- }
5091
- }
5092
  }
5093
  },
5094
  "is-descriptor": {
5095
- "version": "0.1.6",
5096
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
5097
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
5098
  "dev": true,
5099
  "requires": {
5100
- "is-accessor-descriptor": "0.1.6",
5101
- "is-data-descriptor": "0.1.4",
5102
- "kind-of": "5.1.0"
5103
- },
5104
- "dependencies": {
5105
- "kind-of": {
5106
- "version": "5.1.0",
5107
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
5108
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
5109
- "dev": true
5110
- }
5111
  }
5112
  },
5113
  "is-extglob": {
@@ -5158,30 +5769,30 @@
5158
  "dev": true
5159
  },
5160
  "micromatch": {
5161
- "version": "3.1.5",
5162
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz",
5163
- "integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==",
5164
  "dev": true,
5165
  "requires": {
5166
  "arr-diff": "4.0.0",
5167
  "array-unique": "0.3.2",
5168
- "braces": "2.3.0",
5169
- "define-property": "1.0.0",
5170
- "extend-shallow": "2.0.1",
5171
  "extglob": "2.0.4",
5172
  "fragment-cache": "0.2.1",
5173
  "kind-of": "6.0.2",
5174
- "nanomatch": "1.2.7",
5175
  "object.pick": "1.3.0",
5176
- "regex-not": "1.0.0",
5177
- "snapdragon": "0.8.1",
5178
- "to-regex": "3.0.1"
5179
  }
5180
  },
5181
  "resolve": {
5182
- "version": "1.5.0",
5183
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
5184
- "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==",
5185
  "dev": true,
5186
  "requires": {
5187
  "path-parse": "1.0.5"
@@ -5277,6 +5888,12 @@
5277
  "trim-newlines": "1.0.0"
5278
  }
5279
  },
 
 
 
 
 
 
5280
  "micromatch": {
5281
  "version": "2.3.11",
5282
  "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
@@ -5305,27 +5922,34 @@
5305
  "dev": true
5306
  },
5307
  "mime-db": {
5308
- "version": "1.30.0",
5309
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
5310
- "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=",
5311
  "dev": true
5312
  },
5313
  "mime-types": {
5314
- "version": "2.1.17",
5315
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
5316
- "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
5317
  "dev": true,
5318
  "requires": {
5319
- "mime-db": "1.30.0"
5320
  }
5321
  },
 
 
 
 
 
 
 
5322
  "minimatch": {
5323
  "version": "3.0.4",
5324
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
5325
  "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
5326
  "dev": true,
5327
  "requires": {
5328
- "brace-expansion": "1.1.8"
5329
  }
5330
  },
5331
  "minimist": {
@@ -5388,15 +6012,6 @@
5388
  "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
5389
  "dev": true
5390
  },
5391
- "multipipe": {
5392
- "version": "0.1.2",
5393
- "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
5394
- "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
5395
- "dev": true,
5396
- "requires": {
5397
- "duplexer2": "0.0.2"
5398
- }
5399
- },
5400
  "mute-stdout": {
5401
  "version": "1.0.0",
5402
  "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.0.tgz",
@@ -5404,28 +6019,29 @@
5404
  "dev": true
5405
  },
5406
  "nan": {
5407
- "version": "2.8.0",
5408
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz",
5409
- "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=",
5410
  "dev": true
5411
  },
5412
  "nanomatch": {
5413
- "version": "1.2.7",
5414
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.7.tgz",
5415
- "integrity": "sha512-/5ldsnyurvEw7wNpxLFgjVvBLMta43niEYOy0CJ4ntcYSbx6bugRUTQeFb4BR/WanEL1o3aQgHuVLHQaB6tOqg==",
5416
  "dev": true,
5417
  "requires": {
5418
  "arr-diff": "4.0.0",
5419
  "array-unique": "0.3.2",
5420
- "define-property": "1.0.0",
5421
- "extend-shallow": "2.0.1",
5422
  "fragment-cache": "0.2.1",
5423
- "is-odd": "1.0.0",
5424
- "kind-of": "5.1.0",
 
5425
  "object.pick": "1.3.0",
5426
- "regex-not": "1.0.0",
5427
- "snapdragon": "0.8.1",
5428
- "to-regex": "3.0.1"
5429
  },
5430
  "dependencies": {
5431
  "arr-diff": {
@@ -5441,9 +6057,9 @@
5441
  "dev": true
5442
  },
5443
  "kind-of": {
5444
- "version": "5.1.0",
5445
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
5446
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
5447
  "dev": true
5448
  }
5449
  }
@@ -5454,10 +6070,16 @@
5454
  "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
5455
  "dev": true
5456
  },
 
 
 
 
 
 
5457
  "node-abi": {
5458
- "version": "2.2.0",
5459
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.2.0.tgz",
5460
- "integrity": "sha512-FqVC0WNNL8fQWQK3GYTESfwZXZKDbSIiEEIvufq7HV6Lj0IDDZRVa4CU/KTA0JVlqY9eTDSuPiC8FS9UfGVuzA==",
5461
  "dev": true,
5462
  "optional": true,
5463
  "requires": {
@@ -5477,7 +6099,7 @@
5477
  "mkdirp": "0.5.1",
5478
  "nopt": "3.0.6",
5479
  "npmlog": "4.1.2",
5480
- "osenv": "0.1.4",
5481
  "request": "2.81.0",
5482
  "rimraf": "2.2.8",
5483
  "semver": "5.3.0",
@@ -5494,9 +6116,9 @@
5494
  }
5495
  },
5496
  "node-sass": {
5497
- "version": "4.7.2",
5498
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.7.2.tgz",
5499
- "integrity": "sha512-CaV+wLqZ7//Jdom5aUFCpGNoECd7BbNhjuwdsX/LkXBrHl8eb1Wjw4HvWqcFvhr5KuNgAk8i/myf/MQ1YYeroA==",
5500
  "dev": true,
5501
  "requires": {
5502
  "async-foreach": "0.1.3",
@@ -5511,7 +6133,7 @@
5511
  "lodash.mergewith": "4.6.1",
5512
  "meow": "3.7.0",
5513
  "mkdirp": "0.5.1",
5514
- "nan": "2.8.0",
5515
  "node-gyp": "3.6.2",
5516
  "npmlog": "4.1.2",
5517
  "request": "2.79.0",
@@ -5552,8 +6174,8 @@
5552
  "dev": true,
5553
  "requires": {
5554
  "chalk": "1.1.3",
5555
- "commander": "2.14.1",
5556
- "is-my-json-valid": "2.17.1",
5557
  "pinkie-promise": "2.0.1"
5558
  }
5559
  },
@@ -5570,9 +6192,9 @@
5570
  "dev": true,
5571
  "requires": {
5572
  "aws-sign2": "0.6.0",
5573
- "aws4": "1.6.0",
5574
  "caseless": "0.11.0",
5575
- "combined-stream": "1.0.5",
5576
  "extend": "3.0.1",
5577
  "forever-agent": "0.6.1",
5578
  "form-data": "2.1.4",
@@ -5582,11 +6204,11 @@
5582
  "is-typedarray": "1.0.0",
5583
  "isstream": "0.1.2",
5584
  "json-stringify-safe": "5.0.1",
5585
- "mime-types": "2.1.17",
5586
  "oauth-sign": "0.8.2",
5587
  "qs": "6.3.2",
5588
  "stringstream": "0.0.5",
5589
- "tough-cookie": "2.3.3",
5590
  "tunnel-agent": "0.4.3",
5591
  "uuid": "3.2.1"
5592
  }
@@ -5606,13 +6228,13 @@
5606
  }
5607
  },
5608
  "node-wp-i18n": {
5609
- "version": "1.0.4",
5610
- "resolved": "https://registry.npmjs.org/node-wp-i18n/-/node-wp-i18n-1.0.4.tgz",
5611
- "integrity": "sha512-3eeAGWaezTDQICTBId7de2H1eHi5k2YhMNGim20pPg5iMxiEtOSeU5nYQVVhL8znt/c+AxVWRUxTIHpEPbZTaw==",
5612
  "dev": true,
5613
  "requires": {
5614
  "bluebird": "3.5.1",
5615
- "gettext-parser": "1.3.0",
5616
  "glob": "7.0.6",
5617
  "lodash": "4.17.5",
5618
  "minimist": "1.2.0",
@@ -5650,10 +6272,10 @@
5650
  "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
5651
  "dev": true,
5652
  "requires": {
5653
- "hosted-git-info": "2.5.0",
5654
  "is-builtin-module": "1.0.0",
5655
  "semver": "5.5.0",
5656
- "validate-npm-package-license": "3.0.1"
5657
  }
5658
  },
5659
  "normalize-path": {
@@ -5747,43 +6369,6 @@
5747
  "requires": {
5748
  "is-descriptor": "0.1.6"
5749
  }
5750
- },
5751
- "is-accessor-descriptor": {
5752
- "version": "0.1.6",
5753
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
5754
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
5755
- "dev": true,
5756
- "requires": {
5757
- "kind-of": "3.2.2"
5758
- }
5759
- },
5760
- "is-data-descriptor": {
5761
- "version": "0.1.4",
5762
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
5763
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
5764
- "dev": true,
5765
- "requires": {
5766
- "kind-of": "3.2.2"
5767
- }
5768
- },
5769
- "is-descriptor": {
5770
- "version": "0.1.6",
5771
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
5772
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
5773
- "dev": true,
5774
- "requires": {
5775
- "is-accessor-descriptor": "0.1.6",
5776
- "is-data-descriptor": "0.1.4",
5777
- "kind-of": "5.1.0"
5778
- },
5779
- "dependencies": {
5780
- "kind-of": {
5781
- "version": "5.1.0",
5782
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
5783
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
5784
- "dev": true
5785
- }
5786
- }
5787
  }
5788
  }
5789
  },
@@ -5864,7 +6449,7 @@
5864
  "dev": true,
5865
  "requires": {
5866
  "for-own": "1.0.0",
5867
- "make-iterator": "1.0.0"
5868
  },
5869
  "dependencies": {
5870
  "for-own": {
@@ -5912,7 +6497,7 @@
5912
  "dev": true,
5913
  "requires": {
5914
  "for-own": "1.0.0",
5915
- "make-iterator": "1.0.0"
5916
  },
5917
  "dependencies": {
5918
  "for-own": {
@@ -5946,7 +6531,7 @@
5946
  },
5947
  "onetime": {
5948
  "version": "1.1.0",
5949
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
5950
  "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
5951
  "dev": true
5952
  },
@@ -5972,7 +6557,7 @@
5972
  "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=",
5973
  "dev": true,
5974
  "requires": {
5975
- "readable-stream": "2.3.3"
5976
  }
5977
  },
5978
  "os-homedir": {
@@ -5997,9 +6582,9 @@
5997
  "dev": true
5998
  },
5999
  "osenv": {
6000
- "version": "0.1.4",
6001
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
6002
- "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
6003
  "dev": true,
6004
  "requires": {
6005
  "os-homedir": "1.0.2",
@@ -6204,6 +6789,26 @@
6204
  "pinkie": "2.0.4"
6205
  }
6206
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6207
  "portscanner": {
6208
  "version": "2.1.1",
6209
  "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz",
@@ -6221,24 +6826,27 @@
6221
  "dev": true
6222
  },
6223
  "postcss": {
6224
- "version": "6.0.17",
6225
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz",
6226
- "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==",
6227
  "dev": true,
6228
  "requires": {
6229
- "chalk": "2.3.0",
6230
  "source-map": "0.6.1",
6231
- "supports-color": "5.1.0"
6232
  }
6233
  },
6234
  "postcss-html": {
6235
- "version": "0.12.0",
6236
- "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.12.0.tgz",
6237
- "integrity": "sha512-KxKUpj7AY7nlCbLcTOYxdfJnGE7QFAfU2n95ADj1Q90RM/pOLdz8k3n4avOyRFs7MDQHcRzJQWM1dehCwJxisQ==",
6238
  "dev": true,
6239
  "requires": {
 
 
 
6240
  "htmlparser2": "3.9.2",
6241
- "remark": "8.0.0",
6242
  "unist-util-find-all-after": "1.0.1"
6243
  },
6244
  "dependencies": {
@@ -6259,15 +6867,15 @@
6259
  "domutils": "1.5.1",
6260
  "entities": "1.1.1",
6261
  "inherits": "2.0.3",
6262
- "readable-stream": "2.3.3"
6263
  }
6264
  }
6265
  }
6266
  },
6267
  "postcss-less": {
6268
- "version": "1.1.3",
6269
- "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-1.1.3.tgz",
6270
- "integrity": "sha512-WS0wsQxRm+kmN8wEYAGZ3t4lnoNfoyx9EJZrhiPR1K0lMHR0UNWnz52Ya5QRXChHtY75Ef+kDc05FpnBujebgw==",
6271
  "dev": true,
6272
  "requires": {
6273
  "postcss": "5.2.18"
@@ -6347,10 +6955,10 @@
6347
  "integrity": "sha512-rBkDbaHAu5uywbCR2XE8a25tats3xSOsGNx6mppK6Q9kSFGKc/FyAzfci+fWM2l+K402p1D0pNcfDGxeje5IKg==",
6348
  "dev": true,
6349
  "requires": {
6350
- "chalk": "2.3.0",
6351
  "lodash": "4.17.5",
6352
  "log-symbols": "2.2.0",
6353
- "postcss": "6.0.17"
6354
  },
6355
  "dependencies": {
6356
  "lodash": {
@@ -6373,26 +6981,26 @@
6373
  "integrity": "sha1-t1Pv9sfArqXoN1++TN6L+QY/8UI=",
6374
  "dev": true,
6375
  "requires": {
6376
- "postcss": "6.0.17"
6377
  }
6378
  },
6379
  "postcss-sass": {
6380
- "version": "0.2.0",
6381
- "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.2.0.tgz",
6382
- "integrity": "sha512-cUmYzkP747fPCQE6d+CH2l1L4VSyIlAzZsok3HPjb5Gzsq3jE+VjpAdGlPsnQ310WKWI42sw+ar0UNN59/f3hg==",
6383
  "dev": true,
6384
  "requires": {
6385
  "gonzales-pe": "4.2.3",
6386
- "postcss": "6.0.17"
6387
  }
6388
  },
6389
  "postcss-scss": {
6390
- "version": "1.0.3",
6391
- "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-1.0.3.tgz",
6392
- "integrity": "sha512-N2ZPDOV5PGEGVwdiB7b1QppxKkmkHodNWkemja7PV+/mHqbUlA6ZcYRreden5Ag5nwBBX8/aRE7lfg1xjdszyg==",
6393
  "dev": true,
6394
  "requires": {
6395
- "postcss": "6.0.17"
6396
  }
6397
  },
6398
  "postcss-selector-parser": {
@@ -6413,9 +7021,9 @@
6413
  "dev": true
6414
  },
6415
  "prebuild-install": {
6416
- "version": "2.5.0",
6417
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.5.0.tgz",
6418
- "integrity": "sha512-3wlyZgmkeeyduOR8Ursu5gKr3yWAYObACa5aJOtt2farRRFV/+zXk/Y3wM6yQRMqmqHh+pHAwyKp5r82K699Rg==",
6419
  "dev": true,
6420
  "optional": true,
6421
  "requires": {
@@ -6424,16 +7032,16 @@
6424
  "github-from-package": "0.0.0",
6425
  "minimist": "1.2.0",
6426
  "mkdirp": "0.5.1",
6427
- "node-abi": "2.2.0",
6428
  "noop-logger": "0.1.1",
6429
  "npmlog": "4.1.2",
6430
  "os-homedir": "1.0.2",
6431
- "pump": "1.0.3",
6432
- "rc": "1.2.5",
6433
- "simple-get": "1.4.3",
6434
  "tar-fs": "1.16.0",
6435
  "tunnel-agent": "0.6.0",
6436
- "xtend": "4.0.1"
6437
  },
6438
  "dependencies": {
6439
  "detect-libc": {
@@ -6464,9 +7072,9 @@
6464
  "dev": true
6465
  },
6466
  "process-nextick-args": {
6467
- "version": "1.0.7",
6468
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
6469
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
6470
  "dev": true
6471
  },
6472
  "pseudomap": {
@@ -6476,9 +7084,9 @@
6476
  "dev": true
6477
  },
6478
  "pump": {
6479
- "version": "1.0.3",
6480
- "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
6481
- "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==",
6482
  "dev": true,
6483
  "requires": {
6484
  "end-of-stream": "1.4.1",
@@ -6491,21 +7099,9 @@
6491
  "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==",
6492
  "dev": true,
6493
  "requires": {
6494
- "duplexify": "3.5.3",
6495
  "inherits": "2.0.3",
6496
  "pump": "2.0.1"
6497
- },
6498
- "dependencies": {
6499
- "pump": {
6500
- "version": "2.0.1",
6501
- "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
6502
- "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
6503
- "dev": true,
6504
- "requires": {
6505
- "end-of-stream": "1.4.1",
6506
- "once": "1.4.0"
6507
- }
6508
- }
6509
  }
6510
  },
6511
  "punycode": {
@@ -6599,9 +7195,9 @@
6599
  }
6600
  },
6601
  "rc": {
6602
- "version": "1.2.5",
6603
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz",
6604
- "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=",
6605
  "dev": true,
6606
  "optional": true,
6607
  "requires": {
@@ -6633,17 +7229,17 @@
6633
  }
6634
  },
6635
  "readable-stream": {
6636
- "version": "2.3.3",
6637
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
6638
- "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
6639
  "dev": true,
6640
  "requires": {
6641
  "core-util-is": "1.0.2",
6642
  "inherits": "2.0.3",
6643
  "isarray": "1.0.0",
6644
- "process-nextick-args": "1.0.7",
6645
  "safe-buffer": "5.1.1",
6646
- "string_decoder": "1.0.3",
6647
  "util-deprecate": "1.0.2"
6648
  },
6649
  "dependencies": {
@@ -6663,7 +7259,7 @@
6663
  "requires": {
6664
  "graceful-fs": "4.1.11",
6665
  "minimatch": "3.0.4",
6666
- "readable-stream": "2.3.3",
6667
  "set-immediate-shim": "1.0.1"
6668
  }
6669
  },
@@ -6696,29 +7292,30 @@
6696
  }
6697
  },
6698
  "regex-not": {
6699
- "version": "1.0.0",
6700
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz",
6701
- "integrity": "sha1-Qvg+OXcWIt+CawKvF2Ul1qXxV/k=",
6702
  "dev": true,
6703
  "requires": {
6704
- "extend-shallow": "2.0.1"
 
6705
  }
6706
  },
6707
  "remark": {
6708
- "version": "8.0.0",
6709
- "resolved": "https://registry.npmjs.org/remark/-/remark-8.0.0.tgz",
6710
- "integrity": "sha512-K0PTsaZvJlXTl9DN6qYlvjTkqSZBFELhROZMrblm2rB+085flN84nz4g/BscKRMqDvhzlK1oQ/xnWQumdeNZYw==",
6711
  "dev": true,
6712
  "requires": {
6713
- "remark-parse": "4.0.0",
6714
- "remark-stringify": "4.0.0",
6715
  "unified": "6.1.6"
6716
  }
6717
  },
6718
  "remark-parse": {
6719
- "version": "4.0.0",
6720
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-4.0.0.tgz",
6721
- "integrity": "sha512-XZgICP2gJ1MHU7+vQaRM+VA9HEL3X253uwUM/BGgx3iv6TH2B3bF3B8q00DKcyP9YrJV+/7WOWEWBFF/u8cIsw==",
6722
  "dev": true,
6723
  "requires": {
6724
  "collapse-white-space": "1.0.3",
@@ -6739,9 +7336,9 @@
6739
  }
6740
  },
6741
  "remark-stringify": {
6742
- "version": "4.0.0",
6743
- "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-4.0.0.tgz",
6744
- "integrity": "sha512-xLuyKTnuQer3ke9hkU38SUYLiTmS078QOnoFavztmbt/pAJtNSkNtFgR0U//uCcmG0qnyxao+PDuatQav46F1w==",
6745
  "dev": true,
6746
  "requires": {
6747
  "ccount": "1.0.2",
@@ -6832,9 +7429,9 @@
6832
  "dev": true,
6833
  "requires": {
6834
  "aws-sign2": "0.6.0",
6835
- "aws4": "1.6.0",
6836
  "caseless": "0.12.0",
6837
- "combined-stream": "1.0.5",
6838
  "extend": "3.0.1",
6839
  "forever-agent": "0.6.1",
6840
  "form-data": "2.1.4",
@@ -6844,13 +7441,13 @@
6844
  "is-typedarray": "1.0.0",
6845
  "isstream": "0.1.2",
6846
  "json-stringify-safe": "5.0.1",
6847
- "mime-types": "2.1.17",
6848
  "oauth-sign": "0.8.2",
6849
  "performance-now": "0.2.0",
6850
  "qs": "6.4.0",
6851
  "safe-buffer": "5.1.1",
6852
  "stringstream": "0.0.5",
6853
- "tough-cookie": "2.3.3",
6854
  "tunnel-agent": "0.6.0",
6855
  "uuid": "3.2.1"
6856
  },
@@ -6870,9 +7467,9 @@
6870
  "dev": true
6871
  },
6872
  "require-from-string": {
6873
- "version": "2.0.1",
6874
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.1.tgz",
6875
- "integrity": "sha1-xUUjPp19pmFunVmt+zn8n1iGdv8=",
6876
  "dev": true
6877
  },
6878
  "require-main-filename": {
@@ -6934,6 +7531,12 @@
6934
  "minimatch": "3.0.4"
6935
  }
6936
  },
 
 
 
 
 
 
6937
  "rimraf": {
6938
  "version": "2.2.8",
6939
  "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
@@ -6946,10 +7549,10 @@
6946
  "integrity": "sha512-JjQ5DlrmwiItAjlmhoxrJq5ihgZcE0wMFxt7S17bIrt4Lw0WwKKFk+viRhvodB/0falyG/5fiO043ZDh6/aqTw==",
6947
  "dev": true,
6948
  "requires": {
6949
- "chalk": "2.3.0",
6950
  "findup": "0.1.5",
6951
  "mkdirp": "0.5.1",
6952
- "postcss": "6.0.17",
6953
  "strip-json-comments": "2.0.1"
6954
  }
6955
  },
@@ -6965,6 +7568,21 @@
6965
  "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
6966
  "dev": true
6967
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6968
  "sass-graph": {
6969
  "version": "2.2.4",
6970
  "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
@@ -7070,7 +7688,7 @@
7070
  "escape-html": "1.0.3",
7071
  "etag": "1.8.1",
7072
  "fresh": "0.5.0",
7073
- "http-errors": "1.6.2",
7074
  "mime": "1.3.4",
7075
  "ms": "1.0.0",
7076
  "on-finished": "2.3.0",
@@ -7102,21 +7720,21 @@
7102
  "dev": true
7103
  },
7104
  "http-errors": {
7105
- "version": "1.6.2",
7106
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
7107
- "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
7108
  "dev": true,
7109
  "requires": {
7110
- "depd": "1.1.1",
7111
  "inherits": "2.0.3",
7112
- "setprototypeof": "1.0.3",
7113
- "statuses": "1.3.1"
7114
  },
7115
  "dependencies": {
7116
- "depd": {
7117
- "version": "1.1.1",
7118
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
7119
- "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
7120
  "dev": true
7121
  }
7122
  }
@@ -7128,9 +7746,9 @@
7128
  "dev": true
7129
  },
7130
  "setprototypeof": {
7131
- "version": "1.0.3",
7132
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
7133
- "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
7134
  "dev": true
7135
  }
7136
  }
@@ -7141,12 +7759,12 @@
7141
  "integrity": "sha1-fF2WwT+xMRAfk8HFd0+FFqHnjTs=",
7142
  "dev": true,
7143
  "requires": {
7144
- "accepts": "1.3.4",
7145
  "batch": "0.5.3",
7146
  "debug": "2.2.0",
7147
  "escape-html": "1.0.3",
7148
  "http-errors": "1.5.1",
7149
- "mime-types": "2.1.17",
7150
  "parseurl": "1.3.2"
7151
  },
7152
  "dependencies": {
@@ -7191,15 +7809,6 @@
7191
  "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
7192
  "dev": true
7193
  },
7194
- "set-getter": {
7195
- "version": "0.1.0",
7196
- "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz",
7197
- "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=",
7198
- "dev": true,
7199
- "requires": {
7200
- "to-object-path": "0.3.0"
7201
- }
7202
- },
7203
  "set-immediate-shim": {
7204
  "version": "1.0.1",
7205
  "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
@@ -7216,6 +7825,17 @@
7216
  "is-extendable": "0.1.1",
7217
  "is-plain-object": "2.0.4",
7218
  "split-string": "3.1.0"
 
 
 
 
 
 
 
 
 
 
 
7219
  }
7220
  },
7221
  "setprototypeof": {
@@ -7236,16 +7856,23 @@
7236
  "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
7237
  "dev": true
7238
  },
 
 
 
 
 
 
 
7239
  "simple-get": {
7240
- "version": "1.4.3",
7241
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz",
7242
- "integrity": "sha1-6XVe2kB+ltpAxeUVjJ6jezO+y+s=",
7243
  "dev": true,
7244
  "optional": true,
7245
  "requires": {
 
7246
  "once": "1.4.0",
7247
- "unzip-response": "1.0.2",
7248
- "xtend": "4.0.1"
7249
  }
7250
  },
7251
  "slash": {
@@ -7272,9 +7899,9 @@
7272
  }
7273
  },
7274
  "snapdragon": {
7275
- "version": "0.8.1",
7276
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz",
7277
- "integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=",
7278
  "dev": true,
7279
  "requires": {
7280
  "base": "0.11.2",
@@ -7284,7 +7911,7 @@
7284
  "map-cache": "0.2.2",
7285
  "source-map": "0.5.7",
7286
  "source-map-resolve": "0.5.1",
7287
- "use": "2.0.2"
7288
  },
7289
  "dependencies": {
7290
  "define-property": {
@@ -7296,63 +7923,15 @@
7296
  "is-descriptor": "0.1.6"
7297
  }
7298
  },
7299
- "is-accessor-descriptor": {
7300
- "version": "0.1.6",
7301
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
7302
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
7303
- "dev": true,
7304
- "requires": {
7305
- "kind-of": "3.2.2"
7306
- },
7307
- "dependencies": {
7308
- "kind-of": {
7309
- "version": "3.2.2",
7310
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
7311
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
7312
- "dev": true,
7313
- "requires": {
7314
- "is-buffer": "1.1.6"
7315
- }
7316
- }
7317
- }
7318
- },
7319
- "is-data-descriptor": {
7320
- "version": "0.1.4",
7321
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
7322
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
7323
- "dev": true,
7324
- "requires": {
7325
- "kind-of": "3.2.2"
7326
- },
7327
- "dependencies": {
7328
- "kind-of": {
7329
- "version": "3.2.2",
7330
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
7331
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
7332
- "dev": true,
7333
- "requires": {
7334
- "is-buffer": "1.1.6"
7335
- }
7336
- }
7337
- }
7338
- },
7339
- "is-descriptor": {
7340
- "version": "0.1.6",
7341
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
7342
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
7343
  "dev": true,
7344
  "requires": {
7345
- "is-accessor-descriptor": "0.1.6",
7346
- "is-data-descriptor": "0.1.4",
7347
- "kind-of": "5.1.0"
7348
  }
7349
  },
7350
- "kind-of": {
7351
- "version": "5.1.0",
7352
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
7353
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
7354
- "dev": true
7355
- },
7356
  "source-map": {
7357
  "version": "0.5.7",
7358
  "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -7372,11 +7951,55 @@
7372
  "snapdragon-util": "3.0.1"
7373
  },
7374
  "dependencies": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7375
  "isobject": {
7376
  "version": "3.0.1",
7377
  "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
7378
  "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
7379
  "dev": true
 
 
 
 
 
 
7380
  }
7381
  }
7382
  },
@@ -7405,10 +8028,10 @@
7405
  "dev": true,
7406
  "requires": {
7407
  "debug": "2.6.9",
7408
- "engine.io": "3.1.4",
7409
  "socket.io-adapter": "1.1.1",
7410
  "socket.io-client": "2.0.4",
7411
- "socket.io-parser": "3.1.2"
7412
  }
7413
  },
7414
  "socket.io-adapter": {
@@ -7428,26 +8051,37 @@
7428
  "component-bind": "1.0.0",
7429
  "component-emitter": "1.2.1",
7430
  "debug": "2.6.9",
7431
- "engine.io-client": "3.1.4",
7432
  "has-cors": "1.1.0",
7433
  "indexof": "0.0.1",
7434
  "object-component": "0.0.3",
7435
  "parseqs": "0.0.5",
7436
  "parseuri": "0.0.5",
7437
- "socket.io-parser": "3.1.2",
7438
  "to-array": "0.1.4"
7439
  }
7440
  },
7441
  "socket.io-parser": {
7442
- "version": "3.1.2",
7443
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.2.tgz",
7444
- "integrity": "sha1-28IoIVH8T6675Aru3Ady66YZ9/I=",
7445
  "dev": true,
7446
  "requires": {
7447
  "component-emitter": "1.2.1",
7448
- "debug": "2.6.9",
7449
  "has-binary2": "1.0.2",
7450
  "isarray": "2.0.1"
 
 
 
 
 
 
 
 
 
 
 
7451
  }
7452
  },
7453
  "source-map": {
@@ -7462,7 +8096,7 @@
7462
  "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==",
7463
  "dev": true,
7464
  "requires": {
7465
- "atob": "2.0.3",
7466
  "decode-uri-component": "0.2.0",
7467
  "resolve-url": "0.2.1",
7468
  "source-map-url": "0.4.0",
@@ -7482,24 +8116,35 @@
7482
  "dev": true
7483
  },
7484
  "spdx-correct": {
7485
- "version": "1.0.2",
7486
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
7487
- "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7488
  "dev": true,
7489
  "requires": {
7490
- "spdx-license-ids": "1.2.2"
 
7491
  }
7492
  },
7493
- "spdx-expression-parse": {
7494
- "version": "1.0.4",
7495
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
7496
- "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=",
7497
- "dev": true
7498
- },
7499
  "spdx-license-ids": {
7500
- "version": "1.2.2",
7501
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
7502
- "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=",
7503
  "dev": true
7504
  },
7505
  "specificity": {
@@ -7515,39 +8160,18 @@
7515
  "dev": true,
7516
  "requires": {
7517
  "extend-shallow": "3.0.2"
7518
- },
7519
- "dependencies": {
7520
- "extend-shallow": {
7521
- "version": "3.0.2",
7522
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
7523
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
7524
- "dev": true,
7525
- "requires": {
7526
- "assign-symbols": "1.0.0",
7527
- "is-extendable": "1.0.1"
7528
- }
7529
- },
7530
- "is-extendable": {
7531
- "version": "1.0.1",
7532
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
7533
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
7534
- "dev": true,
7535
- "requires": {
7536
- "is-plain-object": "2.0.4"
7537
- }
7538
- }
7539
  }
7540
  },
7541
  "sprintf-js": {
7542
- "version": "1.0.3",
7543
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
7544
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
7545
  "dev": true
7546
  },
7547
  "sshpk": {
7548
- "version": "1.13.1",
7549
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
7550
- "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
7551
  "dev": true,
7552
  "requires": {
7553
  "asn1": "0.2.3",
@@ -7598,63 +8222,6 @@
7598
  "requires": {
7599
  "is-descriptor": "0.1.6"
7600
  }
7601
- },
7602
- "is-accessor-descriptor": {
7603
- "version": "0.1.6",
7604
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
7605
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
7606
- "dev": true,
7607
- "requires": {
7608
- "kind-of": "3.2.2"
7609
- },
7610
- "dependencies": {
7611
- "kind-of": {
7612
- "version": "3.2.2",
7613
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
7614
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
7615
- "dev": true,
7616
- "requires": {
7617
- "is-buffer": "1.1.6"
7618
- }
7619
- }
7620
- }
7621
- },
7622
- "is-data-descriptor": {
7623
- "version": "0.1.4",
7624
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
7625
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
7626
- "dev": true,
7627
- "requires": {
7628
- "kind-of": "3.2.2"
7629
- },
7630
- "dependencies": {
7631
- "kind-of": {
7632
- "version": "3.2.2",
7633
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
7634
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
7635
- "dev": true,
7636
- "requires": {
7637
- "is-buffer": "1.1.6"
7638
- }
7639
- }
7640
- }
7641
- },
7642
- "is-descriptor": {
7643
- "version": "0.1.6",
7644
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
7645
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
7646
- "dev": true,
7647
- "requires": {
7648
- "is-accessor-descriptor": "0.1.6",
7649
- "is-data-descriptor": "0.1.4",
7650
- "kind-of": "5.1.0"
7651
- }
7652
- },
7653
- "kind-of": {
7654
- "version": "5.1.0",
7655
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
7656
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
7657
- "dev": true
7658
  }
7659
  }
7660
  },
@@ -7670,7 +8237,7 @@
7670
  "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
7671
  "dev": true,
7672
  "requires": {
7673
- "readable-stream": "2.3.3"
7674
  }
7675
  },
7676
  "stream-buffers": {
@@ -7697,7 +8264,7 @@
7697
  "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=",
7698
  "dev": true,
7699
  "requires": {
7700
- "commander": "2.14.1",
7701
  "limiter": "1.1.2"
7702
  }
7703
  },
@@ -7713,9 +8280,9 @@
7713
  }
7714
  },
7715
  "string_decoder": {
7716
- "version": "1.0.3",
7717
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
7718
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
7719
  "dev": true,
7720
  "requires": {
7721
  "safe-buffer": "5.1.1"
@@ -7779,25 +8346,26 @@
7779
  "dev": true
7780
  },
7781
  "stylelint": {
7782
- "version": "8.4.0",
7783
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-8.4.0.tgz",
7784
- "integrity": "sha512-56hPH5mTFnk8LzlEuTWq0epa34fHuS54UFYQidBOFt563RJBNi1nz1F2HK2MoT1X1waq47milvRsRahFCCJs/Q==",
7785
  "dev": true,
7786
  "requires": {
7787
- "autoprefixer": "7.1.6",
7788
  "balanced-match": "1.0.0",
7789
- "chalk": "2.3.0",
7790
- "cosmiconfig": "3.1.0",
7791
  "debug": "3.1.0",
7792
  "execall": "1.0.0",
7793
  "file-entry-cache": "2.0.0",
7794
- "get-stdin": "5.0.1",
7795
- "globby": "7.1.1",
7796
  "globjoin": "0.1.4",
7797
  "html-tags": "2.0.0",
7798
  "ignore": "3.3.7",
 
7799
  "imurmurhash": "0.1.4",
7800
- "known-css-properties": "0.5.0",
7801
  "lodash": "4.17.5",
7802
  "log-symbols": "2.2.0",
7803
  "mathml-tag-names": "2.0.1",
@@ -7805,24 +8373,25 @@
7805
  "micromatch": "2.3.11",
7806
  "normalize-selector": "0.2.0",
7807
  "pify": "3.0.0",
7808
- "postcss": "6.0.17",
7809
- "postcss-html": "0.12.0",
7810
- "postcss-less": "1.1.3",
7811
  "postcss-media-query-parser": "0.2.3",
7812
  "postcss-reporter": "5.0.0",
7813
  "postcss-resolve-nested-selector": "0.1.1",
7814
  "postcss-safe-parser": "3.0.1",
7815
- "postcss-sass": "0.2.0",
7816
- "postcss-scss": "1.0.3",
7817
  "postcss-selector-parser": "3.1.1",
7818
  "postcss-value-parser": "3.3.0",
7819
  "resolve-from": "4.0.0",
 
7820
  "specificity": "0.3.2",
7821
  "string-width": "2.1.1",
7822
  "style-search": "0.1.0",
7823
  "sugarss": "1.0.1",
7824
  "svg-tags": "1.0.0",
7825
- "table": "4.0.2"
7826
  },
7827
  "dependencies": {
7828
  "ansi-regex": {
@@ -7867,9 +8436,9 @@
7867
  }
7868
  },
7869
  "get-stdin": {
7870
- "version": "5.0.1",
7871
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
7872
- "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=",
7873
  "dev": true
7874
  },
7875
  "indent-string": {
@@ -7932,7 +8501,7 @@
7932
  "dev": true,
7933
  "requires": {
7934
  "error-ex": "1.3.1",
7935
- "json-parse-better-errors": "1.0.1"
7936
  }
7937
  },
7938
  "path-type": {
@@ -8026,16 +8595,16 @@
8026
  "integrity": "sha512-3qgLZytikQQEVn1/FrhY7B68gPUUGY3R1Q1vTiD5xT+Ti1DP/8iZuwFet9ONs5+bmL8pZoDQ6JrQHVgrNlK6mA==",
8027
  "dev": true,
8028
  "requires": {
8029
- "postcss": "6.0.17"
8030
  }
8031
  },
8032
  "supports-color": {
8033
- "version": "5.1.0",
8034
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz",
8035
- "integrity": "sha512-Ry0AwkoKjDpVKK4sV4h6o3UJmNRbjYm2uXhwfj3J56lMVdvnUNqzQVRztOOMGQ++w1K/TjNDFvpJk0F/LoeBCQ==",
8036
  "dev": true,
8037
  "requires": {
8038
- "has-flag": "2.0.0"
8039
  }
8040
  },
8041
  "sver-compat": {
@@ -8055,29 +8624,29 @@
8055
  "dev": true
8056
  },
8057
  "table": {
8058
- "version": "4.0.2",
8059
- "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
8060
- "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
8061
  "dev": true,
8062
  "requires": {
8063
- "ajv": "5.5.2",
8064
- "ajv-keywords": "2.1.1",
8065
- "chalk": "2.3.0",
8066
  "lodash": "4.17.5",
8067
  "slice-ansi": "1.0.0",
8068
  "string-width": "2.1.1"
8069
  },
8070
  "dependencies": {
8071
  "ajv": {
8072
- "version": "5.5.2",
8073
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
8074
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
8075
  "dev": true,
8076
  "requires": {
8077
- "co": "4.6.0",
8078
- "fast-deep-equal": "1.0.0",
8079
  "fast-json-stable-stringify": "2.0.0",
8080
- "json-schema-traverse": "0.3.1"
 
8081
  }
8082
  },
8083
  "ansi-regex": {
@@ -8141,6 +8710,19 @@
8141
  "mkdirp": "0.5.1",
8142
  "pump": "1.0.3",
8143
  "tar-stream": "1.5.5"
 
 
 
 
 
 
 
 
 
 
 
 
 
8144
  }
8145
  },
8146
  "tar-stream": {
@@ -8149,9 +8731,9 @@
8149
  "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==",
8150
  "dev": true,
8151
  "requires": {
8152
- "bl": "1.2.1",
8153
  "end-of-stream": "1.4.1",
8154
- "readable-stream": "2.3.3",
8155
  "xtend": "4.0.1"
8156
  }
8157
  },
@@ -8204,7 +8786,7 @@
8204
  "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
8205
  "dev": true,
8206
  "requires": {
8207
- "readable-stream": "2.3.3",
8208
  "xtend": "4.0.1"
8209
  }
8210
  },
@@ -8286,6 +8868,12 @@
8286
  "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
8287
  "dev": true
8288
  },
 
 
 
 
 
 
8289
  "to-object-path": {
8290
  "version": "0.3.0",
8291
  "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
@@ -8296,82 +8884,15 @@
8296
  }
8297
  },
8298
  "to-regex": {
8299
- "version": "3.0.1",
8300
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz",
8301
- "integrity": "sha1-FTWL7kosg712N3uh3ASdDxiDeq4=",
8302
  "dev": true,
8303
  "requires": {
8304
- "define-property": "0.2.5",
8305
- "extend-shallow": "2.0.1",
8306
- "regex-not": "1.0.0"
8307
- },
8308
- "dependencies": {
8309
- "define-property": {
8310
- "version": "0.2.5",
8311
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
8312
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
8313
- "dev": true,
8314
- "requires": {
8315
- "is-descriptor": "0.1.6"
8316
- }
8317
- },
8318
- "is-accessor-descriptor": {
8319
- "version": "0.1.6",
8320
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
8321
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
8322
- "dev": true,
8323
- "requires": {
8324
- "kind-of": "3.2.2"
8325
- },
8326
- "dependencies": {
8327
- "kind-of": {
8328
- "version": "3.2.2",
8329
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
8330
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
8331
- "dev": true,
8332
- "requires": {
8333
- "is-buffer": "1.1.6"
8334
- }
8335
- }
8336
- }
8337
- },
8338
- "is-data-descriptor": {
8339
- "version": "0.1.4",
8340
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
8341
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
8342
- "dev": true,
8343
- "requires": {
8344
- "kind-of": "3.2.2"
8345
- },
8346
- "dependencies": {
8347
- "kind-of": {
8348
- "version": "3.2.2",
8349
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
8350
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
8351
- "dev": true,
8352
- "requires": {
8353
- "is-buffer": "1.1.6"
8354
- }
8355
- }
8356
- }
8357
- },
8358
- "is-descriptor": {
8359
- "version": "0.1.6",
8360
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
8361
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
8362
- "dev": true,
8363
- "requires": {
8364
- "is-accessor-descriptor": "0.1.6",
8365
- "is-data-descriptor": "0.1.4",
8366
- "kind-of": "5.1.0"
8367
- }
8368
- },
8369
- "kind-of": {
8370
- "version": "5.1.0",
8371
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
8372
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
8373
- "dev": true
8374
- }
8375
  }
8376
  },
8377
  "to-regex-range": {
@@ -8405,9 +8926,9 @@
8405
  }
8406
  },
8407
  "tough-cookie": {
8408
- "version": "2.3.3",
8409
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
8410
- "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=",
8411
  "dev": true,
8412
  "requires": {
8413
  "punycode": "1.4.1"
@@ -8425,6 +8946,12 @@
8425
  "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
8426
  "dev": true
8427
  },
 
 
 
 
 
 
8428
  "trim-trailing-lines": {
8429
  "version": "1.1.0",
8430
  "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz",
@@ -8478,13 +9005,13 @@
8478
  "optional": true
8479
  },
8480
  "type-is": {
8481
- "version": "1.6.15",
8482
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
8483
- "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
8484
  "dev": true,
8485
  "requires": {
8486
  "media-typer": "0.3.0",
8487
- "mime-types": "2.1.17"
8488
  }
8489
  },
8490
  "typedarray": {
@@ -8500,21 +9027,13 @@
8500
  "dev": true
8501
  },
8502
  "uglify-js": {
8503
- "version": "3.2.2",
8504
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.2.2.tgz",
8505
- "integrity": "sha512-++1NO/zZIEdWf6cDIGceSJQPX31SqIpbVAHwFG5+240MtZqPG/NIPoinj8zlXQtAfMBqEt1Jyv2FiLP3n9gVhQ==",
8506
  "dev": true,
8507
  "requires": {
8508
- "commander": "2.12.2",
8509
  "source-map": "0.6.1"
8510
- },
8511
- "dependencies": {
8512
- "commander": {
8513
- "version": "2.12.2",
8514
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz",
8515
- "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==",
8516
- "dev": true
8517
- }
8518
  }
8519
  },
8520
  "ultron": {
@@ -8530,10 +9049,14 @@
8530
  "dev": true
8531
  },
8532
  "underscore.string": {
8533
- "version": "3.2.3",
8534
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz",
8535
- "integrity": "sha1-gGmSYzZl1eX8tNsfs6hi62jp5to=",
8536
- "dev": true
 
 
 
 
8537
  },
8538
  "undertaker": {
8539
  "version": "1.2.0",
@@ -8595,6 +9118,15 @@
8595
  "set-value": "0.4.3"
8596
  },
8597
  "dependencies": {
 
 
 
 
 
 
 
 
 
8598
  "set-value": {
8599
  "version": "0.4.3",
8600
  "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
@@ -8737,12 +9269,22 @@
8737
  }
8738
  }
8739
  },
8740
- "unzip-response": {
8741
- "version": "1.0.2",
8742
- "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz",
8743
- "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
8744
  "dev": true,
8745
- "optional": true
 
 
 
 
 
 
 
 
 
 
8746
  },
8747
  "uri-path": {
8748
  "version": "1.0.0",
@@ -8757,86 +9299,18 @@
8757
  "dev": true
8758
  },
8759
  "use": {
8760
- "version": "2.0.2",
8761
- "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz",
8762
- "integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=",
8763
  "dev": true,
8764
  "requires": {
8765
- "define-property": "0.2.5",
8766
- "isobject": "3.0.1",
8767
- "lazy-cache": "2.0.2"
8768
  },
8769
  "dependencies": {
8770
- "define-property": {
8771
- "version": "0.2.5",
8772
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
8773
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
8774
- "dev": true,
8775
- "requires": {
8776
- "is-descriptor": "0.1.6"
8777
- }
8778
- },
8779
- "is-accessor-descriptor": {
8780
- "version": "0.1.6",
8781
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
8782
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
8783
- "dev": true,
8784
- "requires": {
8785
- "kind-of": "3.2.2"
8786
- },
8787
- "dependencies": {
8788
- "kind-of": {
8789
- "version": "3.2.2",
8790
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
8791
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
8792
- "dev": true,
8793
- "requires": {
8794
- "is-buffer": "1.1.6"
8795
- }
8796
- }
8797
- }
8798
- },
8799
- "is-data-descriptor": {
8800
- "version": "0.1.4",
8801
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
8802
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
8803
- "dev": true,
8804
- "requires": {
8805
- "kind-of": "3.2.2"
8806
- },
8807
- "dependencies": {
8808
- "kind-of": {
8809
- "version": "3.2.2",
8810
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
8811
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
8812
- "dev": true,
8813
- "requires": {
8814
- "is-buffer": "1.1.6"
8815
- }
8816
- }
8817
- }
8818
- },
8819
- "is-descriptor": {
8820
- "version": "0.1.6",
8821
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
8822
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
8823
- "dev": true,
8824
- "requires": {
8825
- "is-accessor-descriptor": "0.1.6",
8826
- "is-data-descriptor": "0.1.4",
8827
- "kind-of": "5.1.0"
8828
- }
8829
- },
8830
- "isobject": {
8831
- "version": "3.0.1",
8832
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
8833
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
8834
- "dev": true
8835
- },
8836
  "kind-of": {
8837
- "version": "5.1.0",
8838
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
8839
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
8840
  "dev": true
8841
  }
8842
  }
@@ -8860,29 +9334,29 @@
8860
  "dev": true
8861
  },
8862
  "uws": {
8863
- "version": "0.14.5",
8864
- "resolved": "https://registry.npmjs.org/uws/-/uws-0.14.5.tgz",
8865
- "integrity": "sha1-Z6rzPEaypYel9mZtAPdpEyjxSdw=",
8866
  "dev": true,
8867
  "optional": true
8868
  },
8869
  "v8flags": {
8870
- "version": "3.0.1",
8871
- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.0.1.tgz",
8872
- "integrity": "sha1-3Oj8N5wX2fLJ6e142JzgAFKxt2s=",
8873
  "dev": true,
8874
  "requires": {
8875
  "homedir-polyfill": "1.0.1"
8876
  }
8877
  },
8878
  "validate-npm-package-license": {
8879
- "version": "3.0.1",
8880
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
8881
- "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
8882
  "dev": true,
8883
  "requires": {
8884
- "spdx-correct": "1.0.2",
8885
- "spdx-expression-parse": "1.0.4"
8886
  }
8887
  },
8888
  "value-or-function": {
@@ -8943,10 +9417,10 @@
8943
  "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
8944
  "dev": true,
8945
  "requires": {
8946
- "clone": "2.1.1",
8947
  "clone-buffer": "1.0.0",
8948
  "clone-stats": "1.0.0",
8949
- "cloneable-readable": "1.0.0",
8950
  "remove-trailing-separator": "1.1.0",
8951
  "replace-ext": "1.0.0"
8952
  }
@@ -8965,7 +9439,7 @@
8965
  "lead": "1.0.0",
8966
  "object.assign": "4.1.0",
8967
  "pumpify": "1.4.0",
8968
- "readable-stream": "2.3.3",
8969
  "remove-bom-buffer": "3.0.0",
8970
  "remove-bom-stream": "1.2.0",
8971
  "resolve-options": "1.1.0",
@@ -9020,7 +9494,7 @@
9020
  "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
9021
  "dev": true,
9022
  "requires": {
9023
- "http-parser-js": "0.4.10",
9024
  "websocket-extensions": "0.1.3"
9025
  }
9026
  },
@@ -9045,6 +9519,13 @@
9045
  "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
9046
  "dev": true
9047
  },
 
 
 
 
 
 
 
9048
  "wide-align": {
9049
  "version": "1.1.2",
9050
  "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
@@ -9200,7 +9681,7 @@
9200
  "archiver-utils": "1.3.0",
9201
  "compress-commons": "1.2.2",
9202
  "lodash": "4.17.5",
9203
- "readable-stream": "2.3.3"
9204
  },
9205
  "dependencies": {
9206
  "lodash": {
1
  {
2
  "name": "everest-forms",
3
+ "version": "1.1.3",
4
  "lockfileVersion": 1,
5
  "requires": true,
6
  "dependencies": {
7
+ "@babel/code-frame": {
8
+ "version": "7.0.0-beta.44",
9
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz",
10
+ "integrity": "sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==",
11
+ "dev": true,
12
+ "requires": {
13
+ "@babel/highlight": "7.0.0-beta.44"
14
+ }
15
+ },
16
+ "@babel/core": {
17
+ "version": "7.0.0-beta.44",
18
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.44.tgz",
19
+ "integrity": "sha512-E16ps55Av+GAO6qVTZeVR5FMVppraUPjiJEHuH0sANsbmkEjqQ70XQiv0KXPYbPzHBd+gijx6uLakSacjvtwIA==",
20
+ "dev": true,
21
+ "requires": {
22
+ "@babel/code-frame": "7.0.0-beta.44",
23
+ "@babel/generator": "7.0.0-beta.44",
24
+ "@babel/helpers": "7.0.0-beta.44",
25
+ "@babel/template": "7.0.0-beta.44",
26
+ "@babel/traverse": "7.0.0-beta.44",
27
+ "@babel/types": "7.0.0-beta.44",
28
+ "babylon": "7.0.0-beta.44",
29
+ "convert-source-map": "1.5.1",
30
+ "debug": "3.1.0",
31
+ "json5": "0.5.1",
32
+ "lodash": "4.17.5",
33
+ "micromatch": "2.3.11",
34
+ "resolve": "1.7.0",
35
+ "semver": "5.5.0",
36
+ "source-map": "0.5.7"
37
+ },
38
+ "dependencies": {
39
+ "debug": {
40
+ "version": "3.1.0",
41
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
42
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
43
+ "dev": true,
44
+ "requires": {
45
+ "ms": "2.0.0"
46
+ }
47
+ },
48
+ "lodash": {
49
+ "version": "4.17.5",
50
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
51
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
52
+ "dev": true
53
+ },
54
+ "resolve": {
55
+ "version": "1.7.0",
56
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.0.tgz",
57
+ "integrity": "sha512-QdgZ5bjR1WAlpLaO5yHepFvC+o3rCr6wpfE2tpJNMkXdulf2jKomQBdNRQITF3ZKHNlT71syG98yQP03gasgnA==",
58
+ "dev": true,
59
+ "requires": {
60
+ "path-parse": "1.0.5"
61
+ }
62
+ },
63
+ "source-map": {
64
+ "version": "0.5.7",
65
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
66
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
67
+ "dev": true
68
+ }
69
+ }
70
+ },
71
+ "@babel/generator": {
72
+ "version": "7.0.0-beta.44",
73
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.44.tgz",
74
+ "integrity": "sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==",
75
+ "dev": true,
76
+ "requires": {
77
+ "@babel/types": "7.0.0-beta.44",
78
+ "jsesc": "2.5.1",
79
+ "lodash": "4.17.5",
80
+ "source-map": "0.5.7",
81
+ "trim-right": "1.0.1"
82
+ },
83
+ "dependencies": {
84
+ "lodash": {
85
+ "version": "4.17.5",
86
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
87
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
88
+ "dev": true
89
+ },
90
+ "source-map": {
91
+ "version": "0.5.7",
92
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
93
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
94
+ "dev": true
95
+ }
96
+ }
97
+ },
98
+ "@babel/helper-function-name": {
99
+ "version": "7.0.0-beta.44",
100
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz",
101
+ "integrity": "sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==",
102
+ "dev": true,
103
+ "requires": {
104
+ "@babel/helper-get-function-arity": "7.0.0-beta.44",
105
+ "@babel/template": "7.0.0-beta.44",
106
+ "@babel/types": "7.0.0-beta.44"
107
+ }
108
+ },
109
+ "@babel/helper-get-function-arity": {
110
+ "version": "7.0.0-beta.44",
111
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz",
112
+ "integrity": "sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==",
113
+ "dev": true,
114
+ "requires": {
115
+ "@babel/types": "7.0.0-beta.44"
116
+ }
117
+ },
118
+ "@babel/helper-split-export-declaration": {
119
+ "version": "7.0.0-beta.44",
120
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz",
121
+ "integrity": "sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==",
122
+ "dev": true,
123
+ "requires": {
124
+ "@babel/types": "7.0.0-beta.44"
125
+ }
126
+ },
127
+ "@babel/helpers": {
128
+ "version": "7.0.0-beta.44",
129
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.44.tgz",
130
+ "integrity": "sha512-7qXsqiaMZzVuI0dobFGa9dQhCd6Y19lGeu4HrFHJo13/y9NKngepg/CYMzBi79TacKeaWfJNj3TeVCyRtfZqUg==",
131
+ "dev": true,
132
+ "requires": {
133
+ "@babel/template": "7.0.0-beta.44",
134
+ "@babel/traverse": "7.0.0-beta.44",
135
+ "@babel/types": "7.0.0-beta.44"
136
+ }
137
+ },
138
+ "@babel/highlight": {
139
+ "version": "7.0.0-beta.44",
140
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.44.tgz",
141
+ "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==",
142
+ "dev": true,
143
+ "requires": {
144
+ "chalk": "2.3.2",
145
+ "esutils": "2.0.2",
146
+ "js-tokens": "3.0.2"
147
+ }
148
+ },
149
+ "@babel/template": {
150
+ "version": "7.0.0-beta.44",
151
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz",
152
+ "integrity": "sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==",
153
+ "dev": true,
154
+ "requires": {
155
+ "@babel/code-frame": "7.0.0-beta.44",
156
+ "@babel/types": "7.0.0-beta.44",
157
+ "babylon": "7.0.0-beta.44",
158
+ "lodash": "4.17.5"
159
+ },
160
+ "dependencies": {
161
+ "lodash": {
162
+ "version": "4.17.5",
163
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
164
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
165
+ "dev": true
166
+ }
167
+ }
168
+ },
169
+ "@babel/traverse": {
170
+ "version": "7.0.0-beta.44",
171
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.44.tgz",
172
+ "integrity": "sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==",
173
+ "dev": true,
174
+ "requires": {
175
+ "@babel/code-frame": "7.0.0-beta.44",
176
+ "@babel/generator": "7.0.0-beta.44",
177
+ "@babel/helper-function-name": "7.0.0-beta.44",
178
+ "@babel/helper-split-export-declaration": "7.0.0-beta.44",
179
+ "@babel/types": "7.0.0-beta.44",
180
+ "babylon": "7.0.0-beta.44",
181
+ "debug": "3.1.0",
182
+ "globals": "11.4.0",
183
+ "invariant": "2.2.4",
184
+ "lodash": "4.17.5"
185
+ },
186
+ "dependencies": {
187
+ "debug": {
188
+ "version": "3.1.0",
189
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
190
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
191
+ "dev": true,
192
+ "requires": {
193
+ "ms": "2.0.0"
194
+ }
195
+ },
196
+ "lodash": {
197
+ "version": "4.17.5",
198
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
199
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
200
+ "dev": true
201
+ }
202
+ }
203
+ },
204
+ "@babel/types": {
205
+ "version": "7.0.0-beta.44",
206
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.44.tgz",
207
+ "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==",
208
+ "dev": true,
209
+ "requires": {
210
+ "esutils": "2.0.2",
211
+ "lodash": "4.17.5",
212
+ "to-fast-properties": "2.0.0"
213
+ },
214
+ "dependencies": {
215
+ "lodash": {
216
+ "version": "4.17.5",
217
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
218
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
219
+ "dev": true
220
+ }
221
+ }
222
+ },
223
+ "@mrmlnc/readdir-enhanced": {
224
+ "version": "2.2.1",
225
+ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
226
+ "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
227
+ "dev": true,
228
+ "requires": {
229
+ "call-me-maybe": "1.0.1",
230
+ "glob-to-regexp": "0.3.0"
231
+ }
232
+ },
233
  "abbrev": {
234
  "version": "1.1.1",
235
  "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
237
  "dev": true
238
  },
239
  "accepts": {
240
+ "version": "1.3.5",
241
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
242
+ "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
243
  "dev": true,
244
  "requires": {
245
+ "mime-types": "2.1.18",
246
  "negotiator": "0.6.1"
247
  }
248
  },
263
  }
264
  },
265
  "ajv-keywords": {
266
+ "version": "3.1.0",
267
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz",
268
+ "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=",
269
  "dev": true
270
  },
271
  "amdefine": {
275
  "dev": true
276
  },
277
  "ansi-colors": {
278
+ "version": "1.1.0",
279
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
280
+ "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
281
  "dev": true,
282
  "requires": {
283
  "ansi-wrap": "0.1.0"
299
  "dev": true
300
  },
301
  "ansi-styles": {
302
+ "version": "3.2.1",
303
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
304
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
305
  "dev": true,
306
  "requires": {
307
  "color-convert": "1.9.1"
349
  "buffer-crc32": "0.2.13",
350
  "glob": "7.0.6",
351
  "lodash": "4.17.5",
352
+ "readable-stream": "2.3.6",
353
  "tar-stream": "1.5.5",
354
  "walkdir": "0.0.11",
355
  "zip-stream": "1.2.0"
383
  "lazystream": "1.0.0",
384
  "lodash": "4.17.5",
385
  "normalize-path": "2.1.1",
386
+ "readable-stream": "2.3.6"
387
  },
388
  "dependencies": {
389
  "lodash": {
407
  "dev": true,
408
  "requires": {
409
  "delegates": "1.0.0",
410
+ "readable-stream": "2.3.6"
411
  }
412
  },
413
  "argparse": {
414
+ "version": "1.0.10",
415
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
416
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
417
  "dev": true,
418
  "requires": {
419
  "sprintf-js": "1.0.3"
420
+ },
421
+ "dependencies": {
422
+ "sprintf-js": {
423
+ "version": "1.0.3",
424
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
425
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
426
+ "dev": true
427
+ }
428
  }
429
  },
430
  "arr-diff": {
442
  "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=",
443
  "dev": true,
444
  "requires": {
445
+ "make-iterator": "1.0.1"
446
  }
447
  },
448
  "arr-flatten": {
457
  "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=",
458
  "dev": true,
459
  "requires": {
460
+ "make-iterator": "1.0.1"
461
  }
462
  },
463
  "arr-union": {
466
  "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
467
  "dev": true
468
  },
 
 
 
 
 
 
469
  "array-each": {
470
  "version": "1.0.1",
471
  "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
611
  "once": "1.4.0",
612
  "process-nextick-args": "1.0.7",
613
  "stream-exhaust": "1.0.2"
614
+ },
615
+ "dependencies": {
616
+ "process-nextick-args": {
617
+ "version": "1.0.7",
618
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
619
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
620
+ "dev": true
621
+ }
622
  }
623
  },
624
  "async-each": {
661
  "dev": true
662
  },
663
  "atob": {
664
+ "version": "2.1.0",
665
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.0.tgz",
666
+ "integrity": "sha512-SuiKH8vbsOyCALjA/+EINmt/Kdl+TQPrtFgW7XZZcwtryFu9e5kQoX3bjCW6mIvGH1fbeAZZuvwGR5IlBRznGw==",
667
  "dev": true
668
  },
669
  "autoprefixer": {
670
+ "version": "8.2.0",
671
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.2.0.tgz",
672
+ "integrity": "sha512-xBVQpGAcSNNS1PBnEfT+F9VF8ZJeoKZ121I3OVQ0n1F0SqVuj4oLI6yFeEviPV8Z/GjoqBRXcYis0oSS8zjNEg==",
673
  "dev": true,
674
  "requires": {
675
+ "browserslist": "3.2.4",
676
+ "caniuse-lite": "1.0.30000828",
677
  "normalize-range": "0.1.2",
678
  "num2fraction": "1.2.2",
679
+ "postcss": "6.0.21",
680
  "postcss-value-parser": "3.3.0"
681
  }
682
  },
687
  "dev": true
688
  },
689
  "aws4": {
690
+ "version": "1.7.0",
691
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
692
+ "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==",
693
+ "dev": true
694
+ },
695
+ "babylon": {
696
+ "version": "7.0.0-beta.44",
697
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz",
698
+ "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==",
699
  "dev": true
700
  },
701
  "bach": {
748
  "pascalcase": "0.1.1"
749
  },
750
  "dependencies": {
751
+ "define-property": {
752
+ "version": "1.0.0",
753
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
754
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
755
+ "dev": true,
756
+ "requires": {
757
+ "is-descriptor": "1.0.2"
758
+ }
759
+ },
760
+ "is-accessor-descriptor": {
761
+ "version": "1.0.0",
762
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
763
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
764
+ "dev": true,
765
+ "requires": {
766
+ "kind-of": "6.0.2"
767
+ }
768
+ },
769
+ "is-data-descriptor": {
770
+ "version": "1.0.0",
771
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
772
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
773
+ "dev": true,
774
+ "requires": {
775
+ "kind-of": "6.0.2"
776
+ }
777
+ },
778
+ "is-descriptor": {
779
+ "version": "1.0.2",
780
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
781
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
782
+ "dev": true,
783
+ "requires": {
784
+ "is-accessor-descriptor": "1.0.0",
785
+ "is-data-descriptor": "1.0.0",
786
+ "kind-of": "6.0.2"
787
+ }
788
+ },
789
  "isobject": {
790
  "version": "3.0.1",
791
  "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
792
  "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
793
  "dev": true
794
+ },
795
+ "kind-of": {
796
+ "version": "6.0.2",
797
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
798
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
799
+ "dev": true
800
  }
801
  }
802
  },
828
  "tweetnacl": "0.14.5"
829
  }
830
  },
 
 
 
 
 
 
831
  "better-assert": {
832
  "version": "1.0.2",
833
  "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
844
  "dev": true
845
  },
846
  "bl": {
847
+ "version": "1.2.2",
848
+ "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
849
+ "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
850
  "dev": true,
851
  "requires": {
852
+ "readable-stream": "2.3.6",
853
+ "safe-buffer": "5.1.1"
854
  }
855
  },
856
  "blob": {
889
  "on-finished": "2.3.0",
890
  "qs": "5.2.0",
891
  "raw-body": "2.1.7",
892
+ "type-is": "1.6.16"
893
  },
894
  "dependencies": {
895
  "debug": {
941
  }
942
  },
943
  "brace-expansion": {
944
+ "version": "1.1.11",
945
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
946
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
947
  "dev": true,
948
  "requires": {
949
  "balanced-match": "1.0.0",
1020
  }
1021
  },
1022
  "browserslist": {
1023
+ "version": "3.2.4",
1024
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.4.tgz",
1025
+ "integrity": "sha512-Dwe62y/fNAcMfknzGJnkh7feISrrN0SmRvMFozb+Y2+qg7rfTIH5MS8yHzaIXcEWl8fPeIcdhZNQi1Lux+7dlg==",
1026
  "dev": true,
1027
  "requires": {
1028
+ "caniuse-lite": "1.0.30000828",
1029
+ "electron-to-chromium": "1.3.42"
1030
  }
1031
  },
1032
  "bs-recipes": {
1047
  "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=",
1048
  "dev": true
1049
  },
1050
+ "buffer-from": {
1051
+ "version": "1.0.0",
1052
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz",
1053
+ "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==",
1054
+ "dev": true
1055
+ },
1056
  "builtin-modules": {
1057
  "version": "1.1.1",
1058
  "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
1090
  }
1091
  }
1092
  },
1093
+ "call-me-maybe": {
1094
+ "version": "1.0.1",
1095
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
1096
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
1097
+ "dev": true
1098
+ },
1099
  "callsite": {
1100
  "version": "1.0.0",
1101
  "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
1127
  }
1128
  },
1129
  "caniuse-lite": {
1130
+ "version": "1.0.30000828",
1131
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000828.tgz",
1132
+ "integrity": "sha512-v+ySC6Ih8N8CyGZYd4svPipuFIqskKsTOi18chFM0qtu1G8mGuSYajb+h49XDWgmzX8MRDOp1Agw6KQaPUdIhg==",
1133
  "dev": true
1134
  },
1135
  "caseless": {
1145
  "dev": true
1146
  },
1147
  "chalk": {
1148
+ "version": "2.3.2",
1149
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz",
1150
+ "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
1151
  "dev": true,
1152
  "requires": {
1153
+ "ansi-styles": "3.2.1",
1154
  "escape-string-regexp": "1.0.5",
1155
+ "supports-color": "5.3.0"
 
 
 
 
 
 
 
 
 
 
 
1156
  }
1157
  },
1158
  "character-entities": {
1229
  "is-descriptor": "0.1.6"
1230
  }
1231
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1232
  "isobject": {
1233
  "version": "3.0.1",
1234
  "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1235
  "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
1236
  "dev": true
 
 
 
 
 
 
1237
  }
1238
  }
1239
  },
1240
  "clean-css": {
1241
+ "version": "4.1.11",
1242
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz",
1243
+ "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=",
1244
  "dev": true,
1245
  "requires": {
1246
  "source-map": "0.5.7"
1292
  }
1293
  },
1294
  "clone": {
1295
+ "version": "2.1.2",
1296
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
1297
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
1298
  "dev": true
1299
  },
1300
  "clone-buffer": {
1304
  "dev": true
1305
  },
1306
  "clone-regexp": {
1307
+ "version": "1.0.1",
1308
+ "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz",
1309
+ "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==",
1310
  "dev": true,
1311
  "requires": {
1312
  "is-regexp": "1.0.0",
1313
+ "is-supported-regexp-flag": "1.0.1"
1314
  }
1315
  },
1316
  "clone-stats": {
1320
  "dev": true
1321
  },
1322
  "cloneable-readable": {
1323
+ "version": "1.1.2",
1324
+ "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz",
1325
+ "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==",
1326
  "dev": true,
1327
  "requires": {
1328
  "inherits": "2.0.3",
1329
+ "process-nextick-args": "2.0.0",
1330
+ "readable-stream": "2.3.6"
1331
  }
1332
  },
1333
  "co": {
1362
  "requires": {
1363
  "arr-map": "2.0.2",
1364
  "for-own": "1.0.0",
1365
+ "make-iterator": "1.0.1"
1366
  },
1367
  "dependencies": {
1368
  "for-own": {
1414
  "dev": true
1415
  },
1416
  "combined-stream": {
1417
+ "version": "1.0.6",
1418
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
1419
+ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
1420
  "dev": true,
1421
  "requires": {
1422
  "delayed-stream": "1.0.0"
1423
  }
1424
  },
1425
  "commander": {
1426
+ "version": "2.15.1",
1427
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
1428
+ "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
1429
  "dev": true
1430
  },
1431
  "component-bind": {
1455
  "buffer-crc32": "0.2.13",
1456
  "crc32-stream": "2.0.0",
1457
  "normalize-path": "2.1.1",
1458
+ "readable-stream": "2.3.6"
1459
  }
1460
  },
1461
  "concat-map": {
1465
  "dev": true
1466
  },
1467
  "concat-stream": {
1468
+ "version": "1.6.2",
1469
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
1470
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
1471
  "dev": true,
1472
  "requires": {
1473
+ "buffer-from": "1.0.0",
1474
  "inherits": "2.0.3",
1475
+ "readable-stream": "2.3.6",
1476
  "typedarray": "0.0.6"
1477
  }
1478
  },
1567
  "dev": true
1568
  },
1569
  "cosmiconfig": {
1570
+ "version": "4.0.0",
1571
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz",
1572
+ "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
1573
  "dev": true,
1574
  "requires": {
1575
  "is-directory": "0.3.1",
1576
+ "js-yaml": "3.11.0",
1577
+ "parse-json": "4.0.0",
1578
+ "require-from-string": "2.0.2"
1579
  },
1580
  "dependencies": {
1581
  "esprima": {
1585
  "dev": true
1586
  },
1587
  "js-yaml": {
1588
+ "version": "3.11.0",
1589
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz",
1590
+ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==",
1591
  "dev": true,
1592
  "requires": {
1593
+ "argparse": "1.0.10",
1594
  "esprima": "4.0.0"
1595
  }
1596
  },
1597
  "parse-json": {
1598
+ "version": "4.0.0",
1599
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
1600
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
1601
  "dev": true,
1602
  "requires": {
1603
+ "error-ex": "1.3.1",
1604
+ "json-parse-better-errors": "1.0.2"
1605
  }
1606
  }
1607
  }
1619
  "dev": true,
1620
  "requires": {
1621
  "crc": "3.5.0",
1622
+ "readable-stream": "2.3.6"
1623
  }
1624
  },
1625
  "cross-spawn": {
1628
  "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
1629
  "dev": true,
1630
  "requires": {
1631
+ "lru-cache": "4.1.2",
1632
  "which": "1.2.14"
1633
  }
1634
  },
1656
  "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
1657
  "dev": true,
1658
  "requires": {
1659
+ "es5-ext": "0.10.42"
1660
  }
1661
  },
1662
  "dashdash": {
1723
  "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
1724
  "dev": true
1725
  },
1726
+ "decompress-response": {
1727
+ "version": "3.3.0",
1728
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
1729
+ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
1730
+ "dev": true,
1731
+ "optional": true,
1732
+ "requires": {
1733
+ "mimic-response": "1.0.0"
1734
+ }
1735
+ },
1736
  "deep-extend": {
1737
  "version": "0.4.2",
1738
  "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
1774
  }
1775
  },
1776
  "define-property": {
1777
+ "version": "2.0.2",
1778
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
1779
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
1780
  "dev": true,
1781
  "requires": {
1782
+ "is-descriptor": "1.0.2",
1783
+ "isobject": "3.0.1"
1784
+ },
1785
+ "dependencies": {
1786
+ "is-accessor-descriptor": {
1787
+ "version": "1.0.0",
1788
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1789
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1790
+ "dev": true,
1791
+ "requires": {
1792
+ "kind-of": "6.0.2"
1793
+ }
1794
+ },
1795
+ "is-data-descriptor": {
1796
+ "version": "1.0.0",
1797
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1798
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1799
+ "dev": true,
1800
+ "requires": {
1801
+ "kind-of": "6.0.2"
1802
+ }
1803
+ },
1804
+ "is-descriptor": {
1805
+ "version": "1.0.2",
1806
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1807
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1808
+ "dev": true,
1809
+ "requires": {
1810
+ "is-accessor-descriptor": "1.0.0",
1811
+ "is-data-descriptor": "1.0.0",
1812
+ "kind-of": "6.0.2"
1813
+ }
1814
+ },
1815
+ "isobject": {
1816
+ "version": "3.0.1",
1817
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1818
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
1819
+ "dev": true
1820
+ },
1821
+ "kind-of": {
1822
+ "version": "6.0.2",
1823
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
1824
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
1825
+ "dev": true
1826
+ }
1827
  }
1828
  },
1829
  "del": {
1834
  "requires": {
1835
  "globby": "5.0.0",
1836
  "is-path-cwd": "1.0.0",
1837
+ "is-path-in-cwd": "1.0.1",
1838
  "object-assign": "4.1.1",
1839
  "pify": "2.3.0",
1840
  "pinkie-promise": "2.0.1",
1901
  "dev": true
1902
  },
1903
  "diff": {
1904
+ "version": "3.5.0",
1905
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
1906
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
1907
  "dev": true
1908
  },
1909
  "dir-glob": {
1997
  "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
1998
  "dev": true
1999
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2000
  "duplexify": {
2001
+ "version": "3.5.4",
2002
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.4.tgz",
2003
+ "integrity": "sha512-JzYSLYMhoVVBe8+mbHQ4KgpvHpm0DZpJuL8PY93Vyv1fW7jYJ90LoXa1di/CVbJM+TgMs91rbDapE/RNIfnJsA==",
2004
  "dev": true,
2005
  "requires": {
2006
  "end-of-stream": "1.4.1",
2007
  "inherits": "2.0.3",
2008
+ "readable-stream": "2.3.6",
2009
  "stream-shift": "1.0.0"
2010
  }
2011
  },
2064
  "dev": true
2065
  },
2066
  "electron-to-chromium": {
2067
+ "version": "1.3.42",
2068
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.42.tgz",
2069
+ "integrity": "sha1-lcM78B0MxAVVauyJn+Yf1NduoPk=",
2070
  "dev": true
2071
  },
2072
  "emitter-steward": {
2087
  "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
2088
  "dev": true,
2089
  "requires": {
2090
+ "iconv-lite": "0.4.21"
2091
  }
2092
  },
2093
  "end-of-stream": {
2100
  }
2101
  },
2102
  "engine.io": {
2103
+ "version": "3.1.5",
2104
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz",
2105
+ "integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==",
2106
  "dev": true,
2107
  "requires": {
2108
+ "accepts": "1.3.5",
2109
  "base64id": "1.0.0",
2110
  "cookie": "0.3.1",
2111
+ "debug": "3.1.0",
2112
  "engine.io-parser": "2.1.2",
2113
+ "uws": "9.14.0",
2114
  "ws": "3.3.3"
2115
  },
2116
  "dependencies": {
2117
+ "debug": {
2118
+ "version": "3.1.0",
2119
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
2120
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
2121
  "dev": true,
2122
  "requires": {
2123
+ "ms": "2.0.0"
 
2124
  }
2125
  }
2126
  }
2127
  },
2128
  "engine.io-client": {
2129
+ "version": "3.1.6",
2130
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz",
2131
+ "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==",
2132
  "dev": true,
2133
  "requires": {
2134
  "component-emitter": "1.2.1",
2135
  "component-inherit": "0.0.3",
2136
+ "debug": "3.1.0",
2137
  "engine.io-parser": "2.1.2",
2138
  "has-cors": "1.1.0",
2139
  "indexof": "0.0.1",
2142
  "ws": "3.3.3",
2143
  "xmlhttprequest-ssl": "1.5.5",
2144
  "yeast": "0.1.2"
2145
+ },
2146
+ "dependencies": {
2147
+ "debug": {
2148
+ "version": "3.1.0",
2149
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
2150
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
2151
+ "dev": true,
2152
+ "requires": {
2153
+ "ms": "2.0.0"
2154
+ }
2155
+ }
2156
  }
2157
  },
2158
  "engine.io-parser": {
2184
  }
2185
  },
2186
  "es5-ext": {
2187
+ "version": "0.10.42",
2188
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.42.tgz",
2189
+ "integrity": "sha512-AJxO1rmPe1bDEfSR6TJ/FgMFYuTBhR5R57KW58iCkYACMyFbrkqVyzXSurYoScDGvgyMpk7uRF/lPUPPTmsRSA==",
2190
  "dev": true,
2191
  "requires": {
2192
  "es6-iterator": "2.0.3",
2193
+ "es6-symbol": "3.1.1",
2194
+ "next-tick": "1.0.0"
2195
  }
2196
  },
2197
  "es6-iterator": {
2201
  "dev": true,
2202
  "requires": {
2203
  "d": "1.0.0",
2204
+ "es5-ext": "0.10.42",
2205
  "es6-symbol": "3.1.1"
2206
  }
2207
  },
2212
  "dev": true,
2213
  "requires": {
2214
  "d": "1.0.0",
2215
+ "es5-ext": "0.10.42"
2216
  }
2217
  },
2218
  "es6-weak-map": {
2222
  "dev": true,
2223
  "requires": {
2224
  "d": "1.0.0",
2225
+ "es5-ext": "0.10.42",
2226
  "es6-iterator": "2.0.3",
2227
  "es6-symbol": "3.1.1"
2228
  }
2245
  "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
2246
  "dev": true
2247
  },
2248
+ "esutils": {
2249
+ "version": "2.0.2",
2250
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
2251
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
2252
+ "dev": true
2253
+ },
2254
  "etag": {
2255
  "version": "1.8.1",
2256
  "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
2275
  "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=",
2276
  "dev": true,
2277
  "requires": {
2278
+ "clone-regexp": "1.0.1"
2279
  }
2280
  },
2281
  "exit": {
2325
  "dev": true
2326
  },
2327
  "extend-shallow": {
2328
+ "version": "3.0.2",
2329
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
2330
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
2331
  "dev": true,
2332
  "requires": {
2333
+ "assign-symbols": "1.0.0",
2334
+ "is-extendable": "1.0.1"
2335
+ },
2336
+ "dependencies": {
2337
+ "is-extendable": {
2338
+ "version": "1.0.1",
2339
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
2340
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
2341
+ "dev": true,
2342
+ "requires": {
2343
+ "is-plain-object": "2.0.4"
2344
+ }
2345
+ }
2346
  }
2347
  },
2348
  "extglob": {
2371
  "time-stamp": "1.1.0"
2372
  }
2373
  },
2374
+ "fast-deep-equal": {
2375
+ "version": "1.1.0",
2376
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
2377
+ "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
2378
+ "dev": true
2379
+ },
2380
+ "fast-glob": {
2381
+ "version": "2.2.0",
2382
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.0.tgz",
2383
+ "integrity": "sha512-4F75PTznkNtSKs2pbhtBwRkw8sRwa7LfXx5XaQJOe4IQ6yTjceLDTwM5gj1s80R2t/5WeDC1gVfm3jLE+l39Tw==",
2384
+ "dev": true,
2385
+ "requires": {
2386
+ "@mrmlnc/readdir-enhanced": "2.2.1",
2387
+ "glob-parent": "3.1.0",
2388
+ "is-glob": "4.0.0",
2389
+ "merge2": "1.2.1",
2390
+ "micromatch": "3.1.10"
2391
+ },
2392
+ "dependencies": {
2393
+ "arr-diff": {
2394
+ "version": "4.0.0",
2395
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
2396
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
2397
+ "dev": true
2398
+ },
2399
+ "array-unique": {
2400
+ "version": "0.3.2",
2401
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
2402
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
2403
+ "dev": true
2404
+ },
2405
+ "braces": {
2406
+ "version": "2.3.2",
2407
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
2408
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
2409
+ "dev": true,
2410
+ "requires": {
2411
+ "arr-flatten": "1.1.0",
2412
+ "array-unique": "0.3.2",
2413
+ "extend-shallow": "2.0.1",
2414
+ "fill-range": "4.0.0",
2415
+ "isobject": "3.0.1",
2416
+ "repeat-element": "1.1.2",
2417
+ "snapdragon": "0.8.2",
2418
+ "snapdragon-node": "2.1.1",
2419
+ "split-string": "3.1.0",
2420
+ "to-regex": "3.0.2"
2421
+ },
2422
+ "dependencies": {
2423
+ "extend-shallow": {
2424
+ "version": "2.0.1",
2425
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2426
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2427
+ "dev": true,
2428
+ "requires": {
2429
+ "is-extendable": "0.1.1"
2430
+ }
2431
+ }
2432
+ }
2433
+ },
2434
+ "expand-brackets": {
2435
+ "version": "2.1.4",
2436
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
2437
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
2438
+ "dev": true,
2439
+ "requires": {
2440
+ "debug": "2.6.9",
2441
+ "define-property": "0.2.5",
2442
+ "extend-shallow": "2.0.1",
2443
+ "posix-character-classes": "0.1.1",
2444
+ "regex-not": "1.0.2",
2445
+ "snapdragon": "0.8.2",
2446
+ "to-regex": "3.0.2"
2447
+ },
2448
+ "dependencies": {
2449
+ "define-property": {
2450
+ "version": "0.2.5",
2451
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2452
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2453
+ "dev": true,
2454
+ "requires": {
2455
+ "is-descriptor": "0.1.6"
2456
+ }
2457
+ },
2458
+ "extend-shallow": {
2459
+ "version": "2.0.1",
2460
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2461
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2462
+ "dev": true,
2463
+ "requires": {
2464
+ "is-extendable": "0.1.1"
2465
+ }
2466
+ },
2467
+ "is-accessor-descriptor": {
2468
+ "version": "0.1.6",
2469
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
2470
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
2471
+ "dev": true,
2472
+ "requires": {
2473
+ "kind-of": "3.2.2"
2474
+ },
2475
+ "dependencies": {
2476
+ "kind-of": {
2477
+ "version": "3.2.2",
2478
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2479
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2480
+ "dev": true,
2481
+ "requires": {
2482
+ "is-buffer": "1.1.6"
2483
+ }
2484
+ }
2485
+ }
2486
+ },
2487
+ "is-data-descriptor": {
2488
+ "version": "0.1.4",
2489
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
2490
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
2491
+ "dev": true,
2492
+ "requires": {
2493
+ "kind-of": "3.2.2"
2494
+ },
2495
+ "dependencies": {
2496
+ "kind-of": {
2497
+ "version": "3.2.2",
2498
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2499
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2500
+ "dev": true,
2501
+ "requires": {
2502
+ "is-buffer": "1.1.6"
2503
+ }
2504
+ }
2505
+ }
2506
+ },
2507
+ "is-descriptor": {
2508
+ "version": "0.1.6",
2509
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
2510
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
2511
+ "dev": true,
2512
+ "requires": {
2513
+ "is-accessor-descriptor": "0.1.6",
2514
+ "is-data-descriptor": "0.1.4",
2515
+ "kind-of": "5.1.0"
2516
+ }
2517
+ },
2518
+ "kind-of": {
2519
+ "version": "5.1.0",
2520
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
2521
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
2522
+ "dev": true
2523
+ }
2524
+ }
2525
+ },
2526
+ "extglob": {
2527
+ "version": "2.0.4",
2528
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
2529
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
2530
+ "dev": true,
2531
+ "requires": {
2532
+ "array-unique": "0.3.2",
2533
+ "define-property": "1.0.0",
2534
+ "expand-brackets": "2.1.4",
2535
+ "extend-shallow": "2.0.1",
2536
+ "fragment-cache": "0.2.1",
2537
+ "regex-not": "1.0.2",
2538
+ "snapdragon": "0.8.2",
2539
+ "to-regex": "3.0.2"
2540
+ },
2541
+ "dependencies": {
2542
+ "define-property": {
2543
+ "version": "1.0.0",
2544
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
2545
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
2546
+ "dev": true,
2547
+ "requires": {
2548
+ "is-descriptor": "1.0.2"
2549
+ }
2550
+ },
2551
+ "extend-shallow": {
2552
+ "version": "2.0.1",
2553
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2554
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2555
+ "dev": true,
2556
+ "requires": {
2557
+ "is-extendable": "0.1.1"
2558
+ }
2559
+ }
2560
+ }
2561
+ },
2562
+ "fill-range": {
2563
+ "version": "4.0.0",
2564
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
2565
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
2566
+ "dev": true,
2567
+ "requires": {
2568
+ "extend-shallow": "2.0.1",
2569
+ "is-number": "3.0.0",
2570
+ "repeat-string": "1.6.1",
2571
+ "to-regex-range": "2.1.1"
2572
+ },
2573
+ "dependencies": {
2574
+ "extend-shallow": {
2575
+ "version": "2.0.1",
2576
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
2577
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2578
+ "dev": true,
2579
+ "requires": {
2580
+ "is-extendable": "0.1.1"
2581
+ }
2582
+ }
2583
+ }
2584
+ },
2585
+ "glob-parent": {
2586
+ "version": "3.1.0",
2587
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
2588
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
2589
+ "dev": true,
2590
+ "requires": {
2591
+ "is-glob": "3.1.0",
2592
+ "path-dirname": "1.0.2"
2593
+ },
2594
+ "dependencies": {
2595
+ "is-glob": {
2596
+ "version": "3.1.0",
2597
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
2598
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
2599
+ "dev": true,
2600
+ "requires": {
2601
+ "is-extglob": "2.1.1"
2602
+ }
2603
+ }
2604
+ }
2605
+ },
2606
+ "is-accessor-descriptor": {
2607
+ "version": "1.0.0",
2608
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
2609
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
2610
+ "dev": true,
2611
+ "requires": {
2612
+ "kind-of": "6.0.2"
2613
+ }
2614
+ },
2615
+ "is-data-descriptor": {
2616
+ "version": "1.0.0",
2617
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
2618
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
2619
+ "dev": true,
2620
+ "requires": {
2621
+ "kind-of": "6.0.2"
2622
+ }
2623
+ },
2624
+ "is-descriptor": {
2625
+ "version": "1.0.2",
2626
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
2627
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
2628
+ "dev": true,
2629
+ "requires": {
2630
+ "is-accessor-descriptor": "1.0.0",
2631
+ "is-data-descriptor": "1.0.0",
2632
+ "kind-of": "6.0.2"
2633
+ }
2634
+ },
2635
+ "is-extglob": {
2636
+ "version": "2.1.1",
2637
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2638
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
2639
+ "dev": true
2640
+ },
2641
+ "is-glob": {
2642
+ "version": "4.0.0",
2643
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
2644
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
2645
+ "dev": true,
2646
+ "requires": {
2647
+ "is-extglob": "2.1.1"
2648
+ }
2649
+ },
2650
+ "is-number": {
2651
+ "version": "3.0.0",
2652
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
2653
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
2654
+ "dev": true,
2655
+ "requires": {
2656
+ "kind-of": "3.2.2"
2657
+ },
2658
+ "dependencies": {
2659
+ "kind-of": {
2660
+ "version": "3.2.2",
2661
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2662
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2663
+ "dev": true,
2664
+ "requires": {
2665
+ "is-buffer": "1.1.6"
2666
+ }
2667
+ }
2668
+ }
2669
+ },
2670
+ "isobject": {
2671
+ "version": "3.0.1",
2672
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2673
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
2674
+ "dev": true
2675
+ },
2676
+ "kind-of": {
2677
+ "version": "6.0.2",
2678
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
2679
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
2680
+ "dev": true
2681
+ },
2682
+ "micromatch": {
2683
+ "version": "3.1.10",
2684
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
2685
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
2686
+ "dev": true,
2687
+ "requires": {
2688
+ "arr-diff": "4.0.0",
2689
+ "array-unique": "0.3.2",
2690
+ "braces": "2.3.2",
2691
+ "define-property": "2.0.2",
2692
+ "extend-shallow": "3.0.2",
2693
+ "extglob": "2.0.4",
2694
+ "fragment-cache": "0.2.1",
2695
+ "kind-of": "6.0.2",
2696
+ "nanomatch": "1.2.9",
2697
+ "object.pick": "1.3.0",
2698
+ "regex-not": "1.0.2",
2699
+ "snapdragon": "0.8.2",
2700
+ "to-regex": "3.0.2"
2701
+ }
2702
+ }
2703
+ }
2704
+ },
2705
  "fast-json-stable-stringify": {
2706
  "version": "2.0.0",
2707
  "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
2876
  }
2877
  },
2878
  "flush-write-stream": {
2879
+ "version": "1.0.3",
2880
+ "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
2881
+ "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
2882
  "dev": true,
2883
  "requires": {
2884
  "inherits": "2.0.3",
2885
+ "readable-stream": "2.3.6"
2886
  }
2887
  },
2888
  "for-in": {
2919
  "dev": true,
2920
  "requires": {
2921
  "asynckit": "0.4.0",
2922
+ "combined-stream": "1.0.6",
2923
+ "mime-types": "2.1.18"
2924
  }
2925
  },
2926
  "fragment-cache": {
3065
  }
3066
  },
3067
  "gettext-parser": {
3068
+ "version": "1.3.1",
3069
+ "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.3.1.tgz",
3070
+ "integrity": "sha512-W4t55eB/c7WrH0gbCHFiHuaEnJ1WiPJVnbFFiNEoh2QkOmuSLxs0PmJDGAmCQuTJCU740Fmb6D+2D/2xECWZGQ==",
3071
  "dev": true,
3072
  "requires": {
3073
  "encoding": "0.1.12",
3126
  "is-negated-glob": "1.0.0",
3127
  "ordered-read-streams": "1.0.1",
3128
  "pumpify": "1.4.0",
3129
+ "readable-stream": "2.3.6",
3130
  "remove-trailing-separator": "1.1.0",
3131
  "to-absolute-glob": "2.0.2",
3132
  "unique-stream": "2.2.1"
3173
  }
3174
  }
3175
  },
3176
+ "glob-to-regexp": {
3177
+ "version": "0.3.0",
3178
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
3179
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
3180
+ "dev": true
3181
+ },
3182
  "glob-watcher": {
3183
  "version": "4.0.0",
3184
  "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-4.0.0.tgz",
3198
  "dev": true,
3199
  "requires": {
3200
  "global-prefix": "1.0.2",
3201
+ "is-windows": "1.0.2",
3202
  "resolve-dir": "1.0.1"
3203
  }
3204
  },
3211
  "expand-tilde": "2.0.2",
3212
  "homedir-polyfill": "1.0.1",
3213
  "ini": "1.3.5",
3214
+ "is-windows": "1.0.2",
3215
  "which": "1.2.14"
3216
  }
3217
  },
3218
+ "globals": {
3219
+ "version": "11.4.0",
3220
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.4.0.tgz",
3221
+ "integrity": "sha512-Dyzmifil8n/TmSqYDEXbm+C8yitzJQqQIlJQLNRMwa+BOUJpRC19pyVeN12JAjt61xonvXjtff+hJruTRXn5HA==",
3222
+ "dev": true
3223
+ },
3224
  "globby": {
3225
+ "version": "8.0.1",
3226
+ "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz",
3227
+ "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==",
3228
  "dev": true,
3229
  "requires": {
3230
  "array-union": "1.0.2",
3231
  "dir-glob": "2.0.0",
3232
+ "fast-glob": "2.2.0",
3233
  "glob": "7.1.2",
3234
  "ignore": "3.3.7",
3235
  "pify": "3.0.0",
3343
  "glob": "7.0.6",
3344
  "grunt-cli": "1.2.0",
3345
  "grunt-known-options": "1.1.0",
3346
+ "grunt-legacy-log": "1.0.1",
3347
  "grunt-legacy-util": "1.0.0",
3348
+ "iconv-lite": "0.4.21",
3349
  "js-yaml": "3.5.5",
3350
  "minimatch": "3.0.4",
3351
  "nopt": "3.0.6",
3492
  "dev": true,
3493
  "requires": {
3494
  "chalk": "1.1.3",
3495
+ "clean-css": "4.1.11",
3496
  "maxmin": "2.1.0"
3497
  },
3498
  "dependencies": {
3562
  }
3563
  },
3564
  "grunt-contrib-uglify": {
3565
+ "version": "3.3.0",
3566
+ "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-3.3.0.tgz",
3567
+ "integrity": "sha512-W9O7lJE3PlD8VCc5fyaf98QV7f5wEDiU4PBIh0+/6UBbk2LhgzEFS0/p+taH5UD3+PlEn7QPN0o06Z0To6SqXw==",
3568
  "dev": true,
3569
  "requires": {
3570
  "chalk": "1.1.3",
3571
  "maxmin": "1.1.0",
3572
+ "uglify-js": "3.3.20",
3573
  "uri-path": "1.0.0"
3574
  },
3575
  "dependencies": {
3599
  "dev": true,
3600
  "requires": {
3601
  "browserify-zlib": "0.1.4",
3602
+ "concat-stream": "1.6.2"
3603
  }
3604
  },
3605
  "maxmin": {
3651
  "dev": true
3652
  },
3653
  "grunt-legacy-log": {
3654
+ "version": "1.0.1",
3655
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.1.tgz",
3656
+ "integrity": "sha512-rwuyqNKlI0IPz0DvxzJjcEiQEBaBNVeb1LFoZKxSmHLETFUwhwUrqOsPIxURTKSwNZHZ4ht1YLBYmVU0YZAzHQ==",
3657
  "dev": true,
3658
  "requires": {
3659
  "colors": "1.1.2",
3660
  "grunt-legacy-log-utils": "1.0.0",
3661
  "hooker": "0.2.3",
3662
+ "lodash": "4.17.5",
3663
+ "underscore.string": "3.3.4"
3664
+ },
3665
+ "dependencies": {
3666
+ "lodash": {
3667
+ "version": "4.17.5",
3668
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
3669
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
3670
+ "dev": true
3671
+ }
3672
  }
3673
  },
3674
  "grunt-legacy-log-utils": {
3734
  "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz",
3735
  "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=",
3736
  "dev": true
3737
+ },
3738
+ "underscore.string": {
3739
+ "version": "3.2.3",
3740
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz",
3741
+ "integrity": "sha1-gGmSYzZl1eX8tNsfs6hi62jp5to=",
3742
+ "dev": true
3743
  }
3744
  }
3745
  },
3755
  "integrity": "sha512-lglLcVaoOIqH0sFv7RqwUKkEFGQwnlqyAKbatxZderwZGV1nDyKHN7gZS9LUiTx1t5GOvRBx0BEalHMyVwFAIA==",
3756
  "dev": true,
3757
  "requires": {
3758
+ "chalk": "2.3.2",
3759
+ "diff": "3.5.0",
3760
+ "postcss": "6.0.21"
3761
  }
3762
  },
3763
  "grunt-rtlcss": {
3798
  }
3799
  },
3800
  "grunt-sass": {
3801
+ "version": "2.1.0",
3802
+ "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-2.1.0.tgz",
3803
+ "integrity": "sha512-XkexnQt/9rhReNd+Y7T0n/2g5FqYOQKfi2iSlpwDqvgs7EgEaGTxNhnWzHnbW5oNRvzL9AHopBG3AgRxL0d+DA==",
3804
  "dev": true,
3805
  "requires": {
3806
  "each-async": "1.1.1",
3807
+ "node-sass": "4.8.3",
3808
  "object-assign": "4.1.1"
3809
  }
3810
  },
3811
  "grunt-stylelint": {
3812
+ "version": "0.10.0",
3813
+ "resolved": "https://registry.npmjs.org/grunt-stylelint/-/grunt-stylelint-0.10.0.tgz",
3814
+ "integrity": "sha512-1HC3H1CZlK3niJGORr+1nmcdtogoSiZex7ej9MtJPXVmxrvWvXTVhZppKoPVVQgHRvNozmtGCZTZr7c9kMPO5g==",
3815
  "dev": true,
3816
  "requires": {
3817
  "chalk": "1.1.3"
3845
  }
3846
  },
3847
  "grunt-wp-i18n": {
3848
+ "version": "1.0.2",
3849
+ "resolved": "https://registry.npmjs.org/grunt-wp-i18n/-/grunt-wp-i18n-1.0.2.tgz",
3850
+ "integrity": "sha512-s7DdR1wRYWvgeQOELL/s8AmWz0scVUq+h0yYVWvLx23kTXOBslvaD35NTvubyM+MO+k29bgND0gDDvS6sHixfg==",
3851
  "dev": true,
3852
  "requires": {
3853
  "grunt": "1.0.2",
3854
+ "node-wp-i18n": "1.1.1"
3855
  }
3856
  },
3857
  "gulp": {
3876
  "integrity": "sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ==",
3877
  "dev": true,
3878
  "requires": {
3879
+ "ansi-colors": "1.1.0",
3880
  "archy": "1.0.0",
3881
  "array-sort": "1.0.0",
3882
  "color-support": "1.1.3",
3883
+ "concat-stream": "1.6.2",
3884
  "copy-props": "2.0.1",
3885
  "fancy-log": "1.3.2",
3886
  "gulplog": "1.0.0",
3892
  "pretty-hrtime": "1.0.3",
3893
  "replace-homedir": "1.0.0",
3894
  "semver-greatest-satisfied-range": "1.1.0",
3895
+ "v8flags": "3.0.2",
3896
  "yargs": "7.1.0"
3897
  }
3898
  },
3935
  }
3936
  },
3937
  "gulp-sass": {
3938
+ "version": "4.0.1",
3939
+ "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-4.0.1.tgz",
3940
+ "integrity": "sha512-OMQEgWNggpog8Tc5v1MuI6eo+5iiPkVeLL76iBhDoEEScLUPfZlpvzmgTnLkpcqdrNodZxpz5qcv6mS2rulk3g==",
3941
  "dev": true,
3942
  "requires": {
3943
+ "chalk": "2.3.2",
3944
  "lodash.clonedeep": "4.5.0",
3945
+ "node-sass": "4.8.3",
3946
+ "plugin-error": "1.0.1",
3947
+ "replace-ext": "1.0.0",
3948
+ "strip-ansi": "4.0.0",
3949
  "through2": "2.0.3",
3950
  "vinyl-sourcemaps-apply": "0.2.1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3951
  },
3952
  "dependencies": {
3953
+ "ansi-regex": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3954
  "version": "3.0.0",
3955
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
3956
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
 
 
 
 
 
 
 
 
 
 
 
 
3957
  "dev": true
3958
  },
3959
+ "strip-ansi": {
3960
+ "version": "4.0.0",
3961
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
3962
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
3963
  "dev": true,
3964
  "requires": {
3965
+ "ansi-regex": "3.0.0"
 
 
3966
  }
3967
  }
3968
  }
4032
  "dev": true
4033
  },
4034
  "has-flag": {
4035
+ "version": "3.0.0",
4036
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
4037
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
4038
  "dev": true
4039
  },
 
 
 
 
 
 
 
 
 
4040
  "has-symbols": {
4041
  "version": "1.0.0",
4042
  "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
4143
  "dev": true
4144
  },
4145
  "hosted-git-info": {
4146
+ "version": "2.6.0",
4147
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
4148
+ "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==",
4149
  "dev": true
4150
  },
4151
  "html-tags": {
4205
  }
4206
  },
4207
  "http-parser-js": {
4208
+ "version": "0.4.11",
4209
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.11.tgz",
4210
+ "integrity": "sha512-QCR5O2AjjMW8Mo4HyI1ctFcv+O99j/0g367V3YoVnrNw5hkDvAWZD0lWGcc+F4yN3V55USPCVix4efb75HxFfA==",
4211
  "dev": true
4212
  },
4213
  "http-proxy": {
4228
  "requires": {
4229
  "assert-plus": "0.2.0",
4230
  "jsprim": "1.4.1",
4231
+ "sshpk": "1.14.1"
4232
  }
4233
  },
4234
  "iconv-lite": {
4235
+ "version": "0.4.21",
4236
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz",
4237
+ "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==",
4238
+ "dev": true,
4239
+ "requires": {
4240
+ "safer-buffer": "2.1.2"
4241
+ }
4242
  },
4243
  "ignore": {
4244
  "version": "3.3.7",
4254
  "optional": true,
4255
  "requires": {
4256
  "detect-libc": "0.2.0",
4257
+ "nan": "2.10.0",
4258
  "node-gyp": "3.6.2",
4259
+ "prebuild-install": "2.5.1"
4260
  }
4261
  },
4262
  "immutable": {
4265
  "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=",
4266
  "dev": true
4267
  },
4268
+ "import-lazy": {
4269
+ "version": "3.1.0",
4270
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz",
4271
+ "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==",
4272
+ "dev": true
4273
+ },
4274
  "imurmurhash": {
4275
  "version": "0.1.4",
4276
  "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
4332
  "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
4333
  "dev": true
4334
  },
4335
+ "invariant": {
4336
+ "version": "2.2.4",
4337
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
4338
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
4339
+ "dev": true,
4340
+ "requires": {
4341
+ "loose-envify": "1.3.1"
4342
+ }
4343
+ },
4344
  "invert-kv": {
4345
  "version": "1.0.0",
4346
  "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
4354
  "dev": true,
4355
  "requires": {
4356
  "is-relative": "1.0.0",
4357
+ "is-windows": "1.0.2"
4358
  }
4359
  },
4360
  "is-accessor-descriptor": {
4361
+ "version": "0.1.6",
4362
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
4363
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
4364
  "dev": true,
4365
  "requires": {
4366
+ "kind-of": "3.2.2"
 
 
 
 
 
 
 
 
4367
  }
4368
  },
4369
  "is-alphabetical": {
4418
  "builtin-modules": "1.1.1"
4419
  }
4420
  },
4421
+ "is-data-descriptor": {
4422
+ "version": "0.1.4",
4423
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
4424
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
4425
+ "dev": true,
4426
+ "requires": {
4427
+ "kind-of": "3.2.2"
 
 
 
 
 
 
 
 
4428
  }
4429
  },
4430
  "is-decimal": {
4434
  "dev": true
4435
  },
4436
  "is-descriptor": {
4437
+ "version": "0.1.6",
4438
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
4439
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
4440
  "dev": true,
4441
  "requires": {
4442
+ "is-accessor-descriptor": "0.1.6",
4443
+ "is-data-descriptor": "0.1.4",
4444
+ "kind-of": "5.1.0"
4445
  },
4446
  "dependencies": {
4447
  "kind-of": {
4448
+ "version": "5.1.0",
4449
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
4450
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
4451
  "dev": true
4452
  }
4453
  }
4518
  "integrity": "sha1-bghLvJIGH7sJcexYts5tQE4k2mk=",
4519
  "dev": true
4520
  },
4521
+ "is-my-ip-valid": {
4522
+ "version": "1.0.0",
4523
+ "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",
4524
+ "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==",
4525
+ "dev": true
4526
+ },
4527
  "is-my-json-valid": {
4528
+ "version": "2.17.2",
4529
+ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz",
4530
+ "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==",
4531
  "dev": true,
4532
  "requires": {
4533
  "generate-function": "2.0.0",
4534
  "generate-object-property": "1.2.0",
4535
+ "is-my-ip-valid": "1.0.0",
4536
  "jsonpointer": "4.0.1",
4537
  "xtend": "4.0.1"
4538
  }
4568
  "dev": true
4569
  },
4570
  "is-odd": {
4571
+ "version": "2.0.0",
4572
+ "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
4573
+ "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
4574
  "dev": true,
4575
  "requires": {
4576
+ "is-number": "4.0.0"
4577
  },
4578
  "dependencies": {
4579
  "is-number": {
4580
+ "version": "4.0.0",
4581
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
4582
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
4583
+ "dev": true
 
 
 
4584
  }
4585
  }
4586
  },
4591
  "dev": true
4592
  },
4593
  "is-path-in-cwd": {
4594
+ "version": "1.0.1",
4595
+ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
4596
+ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
4597
  "dev": true,
4598
  "requires": {
4599
  "is-path-inside": "1.0.1"
4665
  }
4666
  },
4667
  "is-supported-regexp-flag": {
4668
+ "version": "1.0.1",
4669
+ "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz",
4670
+ "integrity": "sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==",
4671
  "dev": true
4672
  },
4673
  "is-typedarray": {
4704
  "dev": true
4705
  },
4706
  "is-windows": {
4707
+ "version": "1.0.2",
4708
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
4709
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
4710
  "dev": true
4711
  },
4712
  "is-word-character": {
4756
  "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==",
4757
  "dev": true
4758
  },
4759
+ "js-tokens": {
4760
+ "version": "3.0.2",
4761
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
4762
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
4763
+ "dev": true
4764
+ },
4765
  "js-yaml": {
4766
  "version": "3.5.5",
4767
  "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
4768
  "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
4769
  "dev": true,
4770
  "requires": {
4771
+ "argparse": "1.0.10",
4772
  "esprima": "2.7.3"
4773
  }
4774
  },
4779
  "dev": true,
4780
  "optional": true
4781
  },
4782
+ "jsesc": {
4783
+ "version": "2.5.1",
4784
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz",
4785
+ "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=",
4786
+ "dev": true
4787
+ },
4788
  "jshint": {
4789
  "version": "2.9.5",
4790
  "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz",
4816
  }
4817
  },
4818
  "json-parse-better-errors": {
4819
+ "version": "1.0.2",
4820
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
4821
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
4822
  "dev": true
4823
  },
4824
  "json-schema": {
4848
  "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
4849
  "dev": true
4850
  },
4851
+ "json5": {
4852
+ "version": "0.5.1",
4853
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
4854
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
4855
+ "dev": true
4856
+ },
4857
  "jsonfile": {
4858
  "version": "3.0.1",
4859
  "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
4911
  }
4912
  },
4913
  "known-css-properties": {
4914
+ "version": "0.6.1",
4915
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.6.1.tgz",
4916
+ "integrity": "sha512-nQRpMcHm1cQ6gmztdvLcIvxocznSMqH/y6XtERrWrHaymOYdDGroRqetJvJycxGEr1aakXiigDgn7JnzuXlk6A==",
4917
  "dev": true
4918
  },
4919
  "last-run": {
4926
  "es6-weak-map": "2.0.2"
4927
  }
4928
  },
 
 
 
 
 
 
 
 
 
4929
  "lazystream": {
4930
  "version": "1.0.0",
4931
  "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
4932
  "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
4933
  "dev": true,
4934
  "requires": {
4935
+ "readable-stream": "2.3.6"
4936
  }
4937
  },
4938
  "lcid": {
4950
  "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=",
4951
  "dev": true,
4952
  "requires": {
4953
+ "flush-write-stream": "1.0.3"
4954
  }
4955
  },
4956
  "liftoff": {
4982
  "dev": true
4983
  },
4984
  "braces": {
4985
+ "version": "2.3.2",
4986
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
4987
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
4988
  "dev": true,
4989
  "requires": {
4990
  "arr-flatten": "1.1.0",
4991
  "array-unique": "0.3.2",
 
4992
  "extend-shallow": "2.0.1",
4993
  "fill-range": "4.0.0",
4994
  "isobject": "3.0.1",
4995
  "repeat-element": "1.1.2",
4996
+ "snapdragon": "0.8.2",
4997
  "snapdragon-node": "2.1.1",
4998
  "split-string": "3.1.0",
4999
+ "to-regex": "3.0.2"
5000
+ },
5001
+ "dependencies": {
5002
+ "extend-shallow": {
5003
+ "version": "2.0.1",
5004
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
5005
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5006
+ "dev": true,
5007
+ "requires": {
5008
+ "is-extendable": "0.1.1"
5009
+ }
5010
+ }
5011
  }
5012
  },
5013
  "expand-brackets": {
5020
  "define-property": "0.2.5",
5021
  "extend-shallow": "2.0.1",
5022
  "posix-character-classes": "0.1.1",
5023
+ "regex-not": "1.0.2",
5024
+ "snapdragon": "0.8.2",
5025
+ "to-regex": "3.0.2"
5026
  },
5027
  "dependencies": {
5028
  "define-property": {
5033
  "requires": {
5034
  "is-descriptor": "0.1.6"
5035
  }
5036
+ },
5037
+ "extend-shallow": {
5038
+ "version": "2.0.1",
5039
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
5040
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5041
+ "dev": true,
5042
+ "requires": {
5043
+ "is-extendable": "0.1.1"
5044
+ }
5045
+ },
5046
+ "is-accessor-descriptor": {
5047
+ "version": "0.1.6",
5048
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
5049
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
5050
+ "dev": true,
5051
+ "requires": {
5052
+ "kind-of": "3.2.2"
5053
+ },
5054
+ "dependencies": {
5055
+ "kind-of": {
5056
+ "version": "3.2.2",
5057
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
5058
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5059
+ "dev": true,
5060
+ "requires": {
5061
+ "is-buffer": "1.1.6"
5062
+ }
5063
+ }
5064
+ }
5065
+ },
5066
+ "is-data-descriptor": {
5067
+ "version": "0.1.4",
5068
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
5069
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
5070
+ "dev": true,
5071
+ "requires": {
5072
+ "kind-of": "3.2.2"
5073
+ },
5074
+ "dependencies": {
5075
+ "kind-of": {
5076
+ "version": "3.2.2",
5077
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
5078
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5079
+ "dev": true,
5080
+ "requires": {
5081
+ "is-buffer": "1.1.6"
5082
+ }
5083
+ }
5084
+ }
5085
+ },
5086
+ "is-descriptor": {
5087
+ "version": "0.1.6",
5088
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
5089
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
5090
+ "dev": true,
5091
+ "requires": {
5092
+ "is-accessor-descriptor": "0.1.6",
5093
+ "is-data-descriptor": "0.1.4",
5094
+ "kind-of": "5.1.0"
5095
+ }
5096
+ },
5097
+ "kind-of": {
5098
+ "version": "5.1.0",
5099
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
5100
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
5101
+ "dev": true
5102
  }
5103
  }
5104
  },
5113
  "expand-brackets": "2.1.4",
5114
  "extend-shallow": "2.0.1",
5115
  "fragment-cache": "0.2.1",
5116
+ "regex-not": "1.0.2",
5117
+ "snapdragon": "0.8.2",
5118
+ "to-regex": "3.0.2"
5119
+ },
5120
+ "dependencies": {
5121
+ "define-property": {
5122
+ "version": "1.0.0",
5123
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
5124
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
5125
+ "dev": true,
5126
+ "requires": {
5127
+ "is-descriptor": "1.0.2"
5128
+ }
5129
+ },
5130
+ "extend-shallow": {
5131
+ "version": "2.0.1",
5132
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
5133
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5134
+ "dev": true,
5135
+ "requires": {
5136
+ "is-extendable": "0.1.1"
5137
+ }
5138
+ }
5139
  }
5140
  },
5141
  "fill-range": {
5148
  "is-number": "3.0.0",
5149
  "repeat-string": "1.6.1",
5150
  "to-regex-range": "2.1.1"
5151
+ },
5152
+ "dependencies": {
5153
+ "extend-shallow": {
5154
+ "version": "2.0.1",
5155
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
5156
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5157
+ "dev": true,
5158
+ "requires": {
5159
+ "is-extendable": "0.1.1"
5160
+ }
5161
+ }
5162
  }
5163
  },
5164
  "findup-sync": {
5169
  "requires": {
5170
  "detect-file": "1.0.0",
5171
  "is-glob": "3.1.0",
5172
+ "micromatch": "3.1.10",
5173
  "resolve-dir": "1.0.1"
5174
  }
5175
  },
5176
  "is-accessor-descriptor": {
5177
+ "version": "1.0.0",
5178
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
5179
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
5180
  "dev": true,
5181
  "requires": {
5182
+ "kind-of": "6.0.2"
 
 
 
 
 
 
 
 
 
 
 
5183
  }
5184
  },
5185
  "is-data-descriptor": {
5186
+ "version": "1.0.0",
5187
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
5188
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
5189
  "dev": true,
5190
  "requires": {
5191
+ "kind-of": "6.0.2"
 
 
 
 
 
 
 
 
 
 
 
5192
  }
5193
  },
5194
  "is-descriptor": {
5195
+ "version": "1.0.2",
5196
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
5197
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
5198
  "dev": true,
5199
  "requires": {
5200
+ "is-accessor-descriptor": "1.0.0",
5201
+ "is-data-descriptor": "1.0.0",
5202
+ "kind-of": "6.0.2"
 
 
 
 
 
 
 
 
5203
  }
5204
  },
5205
  "is-extglob": {
5250
  "dev": true
5251
  },
5252
  "micromatch": {
5253
+ "version": "3.1.10",
5254
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
5255
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
5256
  "dev": true,
5257
  "requires": {
5258
  "arr-diff": "4.0.0",
5259
  "array-unique": "0.3.2",
5260
+ "braces": "2.3.2",
5261
+ "define-property": "2.0.2",
5262
+ "extend-shallow": "3.0.2",
5263
  "extglob": "2.0.4",
5264
  "fragment-cache": "0.2.1",
5265
  "kind-of": "6.0.2",
5266
+ "nanomatch": "1.2.9",
5267
  "object.pick": "1.3.0",
5268
+ "regex-not": "1.0.2",
5269
+ "snapdragon": "0.8.2",
5270
+ "to-regex": "3.0.2"
5271
  }
5272
  }
5273
  }
5358
  "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
5359
  "dev": true
5360
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5361
  "lodash.assign": {
5362
  "version": "4.2.0",
5363
  "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
5370
  "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
5371
  "dev": true
5372
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5373
  "lodash.isfinite": {
5374
  "version": "3.3.2",
5375
  "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz",
5376
  "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=",
5377
  "dev": true
5378
  },
 
 
 
 
 
 
 
 
 
 
 
5379
  "lodash.mergewith": {
5380
  "version": "4.6.1",
5381
  "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
5382
  "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
5383
  "dev": true
5384
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5385
  "log-symbols": {
5386
  "version": "2.2.0",
5387
  "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
5388
  "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
5389
  "dev": true,
5390
  "requires": {
5391
+ "chalk": "2.3.2"
5392
  }
5393
  },
5394
  "longest-streak": {
5397
  "integrity": "sha512-TmYTeEYxiAmSVdpbnQDXGtvYOIRsCMg89CVZzwzc2o7GFL1CjoiRPjH5ec0NFAVlAx3fVof9dX/t6KKRAo2OWA==",
5398
  "dev": true
5399
  },
5400
+ "loose-envify": {
5401
+ "version": "1.3.1",
5402
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
5403
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
5404
+ "dev": true,
5405
+ "requires": {
5406
+ "js-tokens": "3.0.2"
5407
+ }
5408
+ },
5409
  "loud-rejection": {
5410
  "version": "1.6.0",
5411
  "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
5417
  }
5418
  },
5419
  "lru-cache": {
5420
+ "version": "4.1.2",
5421
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz",
5422
+ "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==",
5423
  "dev": true,
5424
  "requires": {
5425
  "pseudomap": "1.0.2",
5427
  }
5428
  },
5429
  "make-iterator": {
5430
+ "version": "1.0.1",
5431
+ "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
5432
+ "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
5433
  "dev": true,
5434
  "requires": {
5435
+ "kind-of": "6.0.2"
5436
+ },
5437
+ "dependencies": {
5438
+ "kind-of": {
5439
+ "version": "6.0.2",
5440
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
5441
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
5442
+ "dev": true
5443
+ }
5444
  }
5445
  },
5446
  "map-cache": {
5483
  "dev": true,
5484
  "requires": {
5485
  "findup-sync": "2.0.0",
5486
+ "micromatch": "3.1.10",
5487
+ "resolve": "1.7.0",
5488
  "stack-trace": "0.0.10"
5489
  },
5490
  "dependencies": {
5501
  "dev": true
5502
  },
5503
  "braces": {
5504
+ "version": "2.3.2",
5505
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
5506
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
5507
  "dev": true,
5508
  "requires": {
5509
  "arr-flatten": "1.1.0",
5510
  "array-unique": "0.3.2",
 
5511
  "extend-shallow": "2.0.1",
5512
  "fill-range": "4.0.0",
5513
  "isobject": "3.0.1",
5514
  "repeat-element": "1.1.2",
5515
+ "snapdragon": "0.8.2",
5516
  "snapdragon-node": "2.1.1",
5517
  "split-string": "3.1.0",
5518
+ "to-regex": "3.0.2"
5519
+ },
5520
+ "dependencies": {
5521
+ "extend-shallow": {
5522
+ "version": "2.0.1",
5523
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
5524
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5525
+ "dev": true,
5526
+ "requires": {
5527
+ "is-extendable": "0.1.1"
5528
+ }
5529
+ }
5530
  }
5531
  },
5532
  "expand-brackets": {
5539
  "define-property": "0.2.5",
5540
  "extend-shallow": "2.0.1",
5541
  "posix-character-classes": "0.1.1",
5542
+ "regex-not": "1.0.2",
5543
+ "snapdragon": "0.8.2",
5544
+ "to-regex": "3.0.2"
5545
  },
5546
  "dependencies": {
5547
  "define-property": {
5552
  "requires": {
5553
  "is-descriptor": "0.1.6"
5554
  }
5555
+ },
5556
+ "extend-shallow": {
5557
+ "version": "2.0.1",
5558
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
5559
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5560
+ "dev": true,
5561
+ "requires": {
5562
+ "is-extendable": "0.1.1"
5563
+ }
5564
+ },
5565
+ "is-accessor-descriptor": {
5566
+ "version": "0.1.6",
5567
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
5568
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
5569
+ "dev": true,
5570
+ "requires": {
5571
+ "kind-of": "3.2.2"
5572
+ },
5573
+ "dependencies": {
5574
+ "kind-of": {
5575
+ "version": "3.2.2",
5576
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
5577
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5578
+ "dev": true,
5579
+ "requires": {
5580
+ "is-buffer": "1.1.6"
5581
+ }
5582
+ }
5583
+ }
5584
+ },
5585
+ "is-data-descriptor": {
5586
+ "version": "0.1.4",
5587
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
5588
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
5589
+ "dev": true,
5590
+ "requires": {
5591
+ "kind-of": "3.2.2"
5592
+ },
5593
+ "dependencies": {
5594
+ "kind-of": {
5595
+ "version": "3.2.2",
5596
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
5597
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5598
+ "dev": true,
5599
+ "requires": {
5600
+ "is-buffer": "1.1.6"
5601
+ }
5602
+ }
5603
+ }
5604
+ },
5605
+ "is-descriptor": {
5606
+ "version": "0.1.6",
5607
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
5608
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
5609
+ "dev": true,
5610
+ "requires": {
5611
+ "is-accessor-descriptor": "0.1.6",
5612
+ "is-data-descriptor": "0.1.4",
5613
+ "kind-of": "5.1.0"
5614
+ }
5615
+ },
5616
+ "kind-of": {
5617
+ "version": "5.1.0",
5618
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
5619
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
5620
+ "dev": true
5621
  }
5622
  }
5623
  },
5632
  "expand-brackets": "2.1.4",
5633
  "extend-shallow": "2.0.1",
5634
  "fragment-cache": "0.2.1",
5635
+ "regex-not": "1.0.2",
5636
+ "snapdragon": "0.8.2",
5637
+ "to-regex": "3.0.2"
5638
+ },
5639
+ "dependencies": {
5640
+ "define-property": {
5641
+ "version": "1.0.0",
5642
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
5643
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
5644
+ "dev": true,
5645
+ "requires": {
5646
+ "is-descriptor": "1.0.2"
5647
+ }
5648
+ },
5649
+ "extend-shallow": {
5650
+ "version": "2.0.1",
5651
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
5652
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5653
+ "dev": true,
5654
+ "requires": {
5655
+ "is-extendable": "0.1.1"
5656
+ }
5657
+ }
5658
  }
5659
  },
5660
  "fill-range": {
5667
  "is-number": "3.0.0",
5668
  "repeat-string": "1.6.1",
5669
  "to-regex-range": "2.1.1"
5670
+ },
5671
+ "dependencies": {
5672
+ "extend-shallow": {
5673
+ "version": "2.0.1",
5674
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
5675
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5676
+ "dev": true,
5677
+ "requires": {
5678
+ "is-extendable": "0.1.1"
5679
+ }
5680
+ }
5681
  }
5682
  },
5683
  "findup-sync": {
5688
  "requires": {
5689
  "detect-file": "1.0.0",
5690
  "is-glob": "3.1.0",
5691
+ "micromatch": "3.1.10",
5692
  "resolve-dir": "1.0.1"
5693
  }
5694
  },
5695
  "is-accessor-descriptor": {
5696
+ "version": "1.0.0",
5697
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
5698
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
5699
  "dev": true,
5700
+ "requires": {
5701
+ "kind-of": "6.0.2"
 
 
 
 
 
 
 
 
 
 
 
5702
  }
5703
  },
5704
  "is-data-descriptor": {
5705
+ "version": "1.0.0",
5706
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
5707
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
5708
  "dev": true,
5709
  "requires": {
5710
+ "kind-of": "6.0.2"
 
 
 
 
 
 
 
 
 
 
 
5711
  }
5712
  },
5713
  "is-descriptor": {
5714
+ "version": "1.0.2",
5715
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
5716
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
5717
  "dev": true,
5718
  "requires": {
5719
+ "is-accessor-descriptor": "1.0.0",
5720
+ "is-data-descriptor": "1.0.0",
5721
+ "kind-of": "6.0.2"
 
 
 
 
 
 
 
 
5722
  }
5723
  },
5724
  "is-extglob": {
5769
  "dev": true
5770
  },
5771
  "micromatch": {
5772
+ "version": "3.1.10",
5773
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
5774
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
5775
  "dev": true,
5776
  "requires": {
5777
  "arr-diff": "4.0.0",
5778
  "array-unique": "0.3.2",
5779
+ "braces": "2.3.2",
5780
+ "define-property": "2.0.2",
5781
+ "extend-shallow": "3.0.2",
5782
  "extglob": "2.0.4",
5783
  "fragment-cache": "0.2.1",
5784
  "kind-of": "6.0.2",
5785
+ "nanomatch": "1.2.9",
5786
  "object.pick": "1.3.0",
5787
+ "regex-not": "1.0.2",
5788
+ "snapdragon": "0.8.2",
5789
+ "to-regex": "3.0.2"
5790
  }
5791
  },
5792
  "resolve": {
5793
+ "version": "1.7.0",
5794
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.0.tgz",
5795
+ "integrity": "sha512-QdgZ5bjR1WAlpLaO5yHepFvC+o3rCr6wpfE2tpJNMkXdulf2jKomQBdNRQITF3ZKHNlT71syG98yQP03gasgnA==",
5796
  "dev": true,
5797
  "requires": {
5798
  "path-parse": "1.0.5"
5888
  "trim-newlines": "1.0.0"
5889
  }
5890
  },
5891
+ "merge2": {
5892
+ "version": "1.2.1",
5893
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.1.tgz",
5894
+ "integrity": "sha512-wUqcG5pxrAcaFI1lkqkMnk3Q7nUxV/NWfpAFSeWUwG9TRODnBDCUHa75mi3o3vLWQ5N4CQERWCauSlP0I3ZqUg==",
5895
+ "dev": true
5896
+ },
5897
  "micromatch": {
5898
  "version": "2.3.11",
5899
  "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
5922
  "dev": true
5923
  },
5924
  "mime-db": {
5925
+ "version": "1.33.0",
5926
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
5927
+ "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
5928
  "dev": true
5929
  },
5930
  "mime-types": {
5931
+ "version": "2.1.18",
5932
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
5933
+ "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
5934
  "dev": true,
5935
  "requires": {
5936
+ "mime-db": "1.33.0"
5937
  }
5938
  },
5939
+ "mimic-response": {
5940
+ "version": "1.0.0",
5941
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz",
5942
+ "integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4=",
5943
+ "dev": true,
5944
+ "optional": true
5945
+ },
5946
  "minimatch": {
5947
  "version": "3.0.4",
5948
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
5949
  "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
5950
  "dev": true,
5951
  "requires": {
5952
+ "brace-expansion": "1.1.11"
5953
  }
5954
  },
5955
  "minimist": {
6012
  "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
6013
  "dev": true
6014
  },
 
 
 
 
 
 
 
 
 
6015
  "mute-stdout": {
6016
  "version": "1.0.0",
6017
  "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.0.tgz",
6019
  "dev": true
6020
  },
6021
  "nan": {
6022
+ "version": "2.10.0",
6023
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
6024
+ "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
6025
  "dev": true
6026
  },
6027
  "nanomatch": {
6028
+ "version": "1.2.9",
6029
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
6030
+ "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
6031
  "dev": true,
6032
  "requires": {
6033
  "arr-diff": "4.0.0",
6034
  "array-unique": "0.3.2",
6035
+ "define-property": "2.0.2",
6036
+ "extend-shallow": "3.0.2",
6037
  "fragment-cache": "0.2.1",
6038
+ "is-odd": "2.0.0",
6039
+ "is-windows": "1.0.2",
6040
+ "kind-of": "6.0.2",
6041
  "object.pick": "1.3.0",
6042
+ "regex-not": "1.0.2",
6043
+ "snapdragon": "0.8.2",
6044
+ "to-regex": "3.0.2"
6045
  },
6046
  "dependencies": {
6047
  "arr-diff": {
6057
  "dev": true
6058
  },
6059
  "kind-of": {
6060
+ "version": "6.0.2",
6061
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
6062
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
6063
  "dev": true
6064
  }
6065
  }
6070
  "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
6071
  "dev": true
6072
  },
6073
+ "next-tick": {
6074
+ "version": "1.0.0",
6075
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
6076
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
6077
+ "dev": true
6078
+ },
6079
  "node-abi": {
6080
+ "version": "2.3.0",
6081
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.3.0.tgz",
6082
+ "integrity": "sha512-zwm6vU3SsVgw3e9fu48JBaRBCJGIvAgysDsqtf5+vEexFE71bEOtaMWb5zr/zODZNzTPtQlqUUpC79k68Hspow==",
6083
  "dev": true,
6084
  "optional": true,
6085
  "requires": {
6099
  "mkdirp": "0.5.1",
6100
  "nopt": "3.0.6",
6101
  "npmlog": "4.1.2",
6102
+ "osenv": "0.1.5",
6103
  "request": "2.81.0",
6104
  "rimraf": "2.2.8",
6105
  "semver": "5.3.0",
6116
  }
6117
  },
6118
  "node-sass": {
6119
+ "version": "4.8.3",
6120
+ "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.8.3.tgz",
6121
+ "integrity": "sha512-tfFWhUsCk/Y19zarDcPo5xpj+IW3qCfOjVdHtYeG6S1CKbQOh1zqylnQK6cV3z9k80yxAnFX9Y+a9+XysDhhfg==",
6122
  "dev": true,
6123
  "requires": {
6124
  "async-foreach": "0.1.3",
6133
  "lodash.mergewith": "4.6.1",
6134
  "meow": "3.7.0",
6135
  "mkdirp": "0.5.1",
6136
+ "nan": "2.10.0",
6137
  "node-gyp": "3.6.2",
6138
  "npmlog": "4.1.2",
6139
  "request": "2.79.0",
6174
  "dev": true,
6175
  "requires": {
6176
  "chalk": "1.1.3",
6177
+ "commander": "2.15.1",
6178
+ "is-my-json-valid": "2.17.2",
6179
  "pinkie-promise": "2.0.1"
6180
  }
6181
  },
6192
  "dev": true,
6193
  "requires": {
6194
  "aws-sign2": "0.6.0",
6195
+ "aws4": "1.7.0",
6196
  "caseless": "0.11.0",
6197
+ "combined-stream": "1.0.6",
6198
  "extend": "3.0.1",
6199
  "forever-agent": "0.6.1",
6200
  "form-data": "2.1.4",
6204
  "is-typedarray": "1.0.0",
6205
  "isstream": "0.1.2",
6206
  "json-stringify-safe": "5.0.1",
6207
+ "mime-types": "2.1.18",
6208
  "oauth-sign": "0.8.2",
6209
  "qs": "6.3.2",
6210
  "stringstream": "0.0.5",
6211
+ "tough-cookie": "2.3.4",
6212
  "tunnel-agent": "0.4.3",
6213
  "uuid": "3.2.1"
6214
  }
6228
  }
6229
  },
6230
  "node-wp-i18n": {
6231
+ "version": "1.1.1",
6232
+ "resolved": "https://registry.npmjs.org/node-wp-i18n/-/node-wp-i18n-1.1.1.tgz",
6233
+ "integrity": "sha512-SI3+vhddQDBh2pkOowqPdXs/YN/bRnNvR4gDmcSJaQ4P+z8jSuPRZTFFClaD/fVv0AG0zY/ku07oQuayr844Mg==",
6234
  "dev": true,
6235
  "requires": {
6236
  "bluebird": "3.5.1",
6237
+ "gettext-parser": "1.3.1",
6238
  "glob": "7.0.6",
6239
  "lodash": "4.17.5",
6240
  "minimist": "1.2.0",
6272
  "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
6273
  "dev": true,
6274
  "requires": {
6275
+ "hosted-git-info": "2.6.0",
6276
  "is-builtin-module": "1.0.0",
6277
  "semver": "5.5.0",
6278
+ "validate-npm-package-license": "3.0.3"
6279
  }
6280
  },
6281
  "normalize-path": {
6369
  "requires": {
6370
  "is-descriptor": "0.1.6"
6371
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6372
  }
6373
  }
6374
  },
6449
  "dev": true,
6450
  "requires": {
6451
  "for-own": "1.0.0",
6452
+ "make-iterator": "1.0.1"
6453
  },
6454
  "dependencies": {
6455
  "for-own": {
6497
  "dev": true,
6498
  "requires": {
6499
  "for-own": "1.0.0",
6500
+ "make-iterator": "1.0.1"
6501
  },
6502
  "dependencies": {
6503
  "for-own": {
6531
  },
6532
  "onetime": {
6533
  "version": "1.1.0",
6534
+ "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
6535
  "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
6536
  "dev": true
6537
  },
6557
  "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=",
6558
  "dev": true,
6559
  "requires": {
6560
+ "readable-stream": "2.3.6"
6561
  }
6562
  },
6563
  "os-homedir": {
6582
  "dev": true
6583
  },
6584
  "osenv": {
6585
+ "version": "0.1.5",
6586
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
6587
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
6588
  "dev": true,
6589
  "requires": {
6590
  "os-homedir": "1.0.2",
6789
  "pinkie": "2.0.4"
6790
  }
6791
  },
6792
+ "plugin-error": {
6793
+ "version": "1.0.1",
6794
+ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
6795
+ "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
6796
+ "dev": true,
6797
+ "requires": {
6798
+ "ansi-colors": "1.1.0",
6799
+ "arr-diff": "4.0.0",
6800
+ "arr-union": "3.1.0",
6801
+ "extend-shallow": "3.0.2"
6802
+ },
6803
+ "dependencies": {
6804
+ "arr-diff": {
6805
+ "version": "4.0.0",
6806
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
6807
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
6808
+ "dev": true
6809
+ }
6810
+ }
6811
+ },
6812
  "portscanner": {
6813
  "version": "2.1.1",
6814
  "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz",
6826
  "dev": true
6827
  },
6828
  "postcss": {
6829
+ "version": "6.0.21",
6830
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz",
6831
+ "integrity": "sha512-y/bKfbQz2Nn/QBC08bwvYUxEFOVGfPIUOTsJ2CK5inzlXW9SdYR1x4pEsG9blRAF/PX+wRNdOah+gx/hv4q7dw==",
6832
  "dev": true,
6833
  "requires": {
6834
+ "chalk": "2.3.2",
6835
  "source-map": "0.6.1",
6836
+ "supports-color": "5.3.0"
6837
  }
6838
  },
6839
  "postcss-html": {
6840
+ "version": "0.18.0",
6841
+ "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.18.0.tgz",
6842
+ "integrity": "sha512-7llFZ5hlINmUu/8iUBIXCTZ4OMyGB+NBeb7jDadXrH9g+hpcUEBhZv3rjqesmOsHNC3bITqx1EkVz77RuHJygw==",
6843
  "dev": true,
6844
  "requires": {
6845
+ "@babel/core": "7.0.0-beta.44",
6846
+ "@babel/traverse": "7.0.0-beta.44",
6847
+ "babylon": "7.0.0-beta.44",
6848
  "htmlparser2": "3.9.2",
6849
+ "remark": "9.0.0",
6850
  "unist-util-find-all-after": "1.0.1"
6851
  },
6852
  "dependencies": {
6867
  "domutils": "1.5.1",
6868
  "entities": "1.1.1",
6869
  "inherits": "2.0.3",
6870
+ "readable-stream": "2.3.6"
6871
  }
6872
  }
6873
  }
6874
  },
6875
  "postcss-less": {
6876
+ "version": "1.1.5",
6877
+ "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-1.1.5.tgz",
6878
+ "integrity": "sha512-QQIiIqgEjNnquc0d4b6HDOSFZxbFQoy4MPpli2lSLpKhMyBkKwwca2HFqu4xzxlKID/F2fxSOowwtKpgczhF7A==",
6879
  "dev": true,
6880
  "requires": {
6881
  "postcss": "5.2.18"
6955
  "integrity": "sha512-rBkDbaHAu5uywbCR2XE8a25tats3xSOsGNx6mppK6Q9kSFGKc/FyAzfci+fWM2l+K402p1D0pNcfDGxeje5IKg==",
6956
  "dev": true,
6957
  "requires": {
6958
+ "chalk": "2.3.2",
6959
  "lodash": "4.17.5",
6960
  "log-symbols": "2.2.0",
6961
+ "postcss": "6.0.21"
6962
  },
6963
  "dependencies": {
6964
  "lodash": {
6981
  "integrity": "sha1-t1Pv9sfArqXoN1++TN6L+QY/8UI=",
6982
  "dev": true,
6983
  "requires": {
6984
+ "postcss": "6.0.21"
6985
  }
6986
  },
6987
  "postcss-sass": {
6988
+ "version": "0.3.0",
6989
+ "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.0.tgz",
6990
+ "integrity": "sha512-nZJEFS2bT007CmzMjlZfZwcZKpSJ/JeFiVEdgrgvGZtAnORU+5BvN0cioNuDAVxwXHXp3hksCJzbZYPWkuw41Q==",
6991
  "dev": true,
6992
  "requires": {
6993
  "gonzales-pe": "4.2.3",
6994
+ "postcss": "6.0.21"
6995
  }
6996
  },
6997
  "postcss-scss": {
6998
+ "version": "1.0.5",
6999
+ "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-1.0.5.tgz",
7000
+ "integrity": "sha512-gJB1tKYMkBy0MU+COt6WXA4ZiRctAKoWLa6qD7a6bbEbBMqrpa/BhfQdN80eYMV+JkKddZVEpZlOggnGShpvyg==",
7001
  "dev": true,
7002
  "requires": {
7003
+ "postcss": "6.0.21"
7004
  }
7005
  },
7006
  "postcss-selector-parser": {
7021
  "dev": true
7022
  },
7023
  "prebuild-install": {
7024
+ "version": "2.5.1",
7025
+ "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.5.1.tgz",
7026
+ "integrity": "sha512-3DX9L6pzwc1m1ksMkW3Ky2WLgPQUBiySOfXVl3WZyAeJSyJb4wtoH9OmeRGcubAWsMlLiL8BTHbwfm/jPQE9Ag==",
7027
  "dev": true,
7028
  "optional": true,
7029
  "requires": {
7032
  "github-from-package": "0.0.0",
7033
  "minimist": "1.2.0",
7034
  "mkdirp": "0.5.1",
7035
+ "node-abi": "2.3.0",
7036
  "noop-logger": "0.1.1",
7037
  "npmlog": "4.1.2",
7038
  "os-homedir": "1.0.2",
7039
+ "pump": "2.0.1",
7040
+ "rc": "1.2.6",
7041
+ "simple-get": "2.7.0",
7042
  "tar-fs": "1.16.0",
7043
  "tunnel-agent": "0.6.0",
7044
+ "which-pm-runs": "1.0.0"
7045
  },
7046
  "dependencies": {
7047
  "detect-libc": {
7072
  "dev": true
7073
  },
7074
  "process-nextick-args": {
7075
+ "version": "2.0.0",
7076
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
7077
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
7078
  "dev": true
7079
  },
7080
  "pseudomap": {
7084
  "dev": true
7085
  },
7086
  "pump": {
7087
+ "version": "2.0.1",
7088
+ "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
7089
+ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
7090
  "dev": true,
7091
  "requires": {
7092
  "end-of-stream": "1.4.1",
7099
  "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==",
7100
  "dev": true,
7101
  "requires": {
7102
+ "duplexify": "3.5.4",
7103
  "inherits": "2.0.3",
7104
  "pump": "2.0.1"
 
 
 
 
 
 
 
 
 
 
 
 
7105
  }
7106
  },
7107
  "punycode": {
7195
  }
7196
  },
7197
  "rc": {
7198
+ "version": "1.2.6",
7199
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.6.tgz",
7200
+ "integrity": "sha1-6xiYnG1PTxYsOZ953dKfODVWgJI=",
7201
  "dev": true,
7202
  "optional": true,
7203
  "requires": {
7229
  }
7230
  },
7231
  "readable-stream": {
7232
+ "version": "2.3.6",
7233
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
7234
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
7235
  "dev": true,
7236
  "requires": {
7237
  "core-util-is": "1.0.2",
7238
  "inherits": "2.0.3",
7239
  "isarray": "1.0.0",
7240
+ "process-nextick-args": "2.0.0",
7241
  "safe-buffer": "5.1.1",
7242
+ "string_decoder": "1.1.1",
7243
  "util-deprecate": "1.0.2"
7244
  },
7245
  "dependencies": {
7259
  "requires": {
7260
  "graceful-fs": "4.1.11",
7261
  "minimatch": "3.0.4",
7262
+ "readable-stream": "2.3.6",
7263
  "set-immediate-shim": "1.0.1"
7264
  }
7265
  },
7292
  }
7293
  },
7294
  "regex-not": {
7295
+ "version": "1.0.2",
7296
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
7297
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
7298
  "dev": true,
7299
  "requires": {
7300
+ "extend-shallow": "3.0.2",
7301
+ "safe-regex": "1.1.0"
7302
  }
7303
  },
7304
  "remark": {
7305
+ "version": "9.0.0",
7306
+ "resolved": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz",
7307
+ "integrity": "sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==",
7308
  "dev": true,
7309
  "requires": {
7310
+ "remark-parse": "5.0.0",
7311
+ "remark-stringify": "5.0.0",
7312
  "unified": "6.1.6"
7313
  }
7314
  },
7315
  "remark-parse": {
7316
+ "version": "5.0.0",
7317
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz",
7318
+ "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==",
7319
  "dev": true,
7320
  "requires": {
7321
  "collapse-white-space": "1.0.3",
7336
  }
7337
  },
7338
  "remark-stringify": {
7339
+ "version": "5.0.0",
7340
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz",
7341
+ "integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==",
7342
  "dev": true,
7343
  "requires": {
7344
  "ccount": "1.0.2",
7429
  "dev": true,
7430
  "requires": {
7431
  "aws-sign2": "0.6.0",
7432
+ "aws4": "1.7.0",
7433
  "caseless": "0.12.0",
7434
+ "combined-stream": "1.0.6",
7435
  "extend": "3.0.1",
7436
  "forever-agent": "0.6.1",
7437
  "form-data": "2.1.4",
7441
  "is-typedarray": "1.0.0",
7442
  "isstream": "0.1.2",
7443
  "json-stringify-safe": "5.0.1",
7444
+ "mime-types": "2.1.18",
7445
  "oauth-sign": "0.8.2",
7446
  "performance-now": "0.2.0",
7447
  "qs": "6.4.0",
7448
  "safe-buffer": "5.1.1",
7449
  "stringstream": "0.0.5",
7450
+ "tough-cookie": "2.3.4",
7451
  "tunnel-agent": "0.6.0",
7452
  "uuid": "3.2.1"
7453
  },
7467
  "dev": true
7468
  },
7469
  "require-from-string": {
7470
+ "version": "2.0.2",
7471
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
7472
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
7473
  "dev": true
7474
  },
7475
  "require-main-filename": {
7531
  "minimatch": "3.0.4"
7532
  }
7533
  },
7534
+ "ret": {
7535
+ "version": "0.1.15",
7536
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
7537
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
7538
+ "dev": true
7539
+ },
7540
  "rimraf": {
7541
  "version": "2.2.8",
7542
  "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
7549
  "integrity": "sha512-JjQ5DlrmwiItAjlmhoxrJq5ihgZcE0wMFxt7S17bIrt4Lw0WwKKFk+viRhvodB/0falyG/5fiO043ZDh6/aqTw==",
7550
  "dev": true,
7551
  "requires": {
7552
+ "chalk": "2.3.2",
7553
  "findup": "0.1.5",
7554
  "mkdirp": "0.5.1",
7555
+ "postcss": "6.0.21",
7556
  "strip-json-comments": "2.0.1"
7557
  }
7558
  },
7568
  "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
7569
  "dev": true
7570
  },
7571
+ "safe-regex": {
7572
+ "version": "1.1.0",
7573
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
7574
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
7575
+ "dev": true,
7576
+ "requires": {
7577
+ "ret": "0.1.15"
7578
+ }
7579
+ },
7580
+ "safer-buffer": {
7581
+ "version": "2.1.2",
7582
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
7583
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
7584
+ "dev": true
7585
+ },
7586
  "sass-graph": {
7587
  "version": "2.2.4",
7588
  "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
7688
  "escape-html": "1.0.3",
7689
  "etag": "1.8.1",
7690
  "fresh": "0.5.0",
7691
+ "http-errors": "1.6.3",
7692
  "mime": "1.3.4",
7693
  "ms": "1.0.0",
7694
  "on-finished": "2.3.0",
7720
  "dev": true
7721
  },
7722
  "http-errors": {
7723
+ "version": "1.6.3",
7724
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
7725
+ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
7726
  "dev": true,
7727
  "requires": {
7728
+ "depd": "1.1.2",
7729
  "inherits": "2.0.3",
7730
+ "setprototypeof": "1.1.0",
7731
+ "statuses": "1.5.0"
7732
  },
7733
  "dependencies": {
7734
+ "statuses": {
7735
+ "version": "1.5.0",
7736
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
7737
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
7738
  "dev": true
7739
  }
7740
  }
7746
  "dev": true
7747
  },
7748
  "setprototypeof": {
7749
+ "version": "1.1.0",
7750
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
7751
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
7752
  "dev": true
7753
  }
7754
  }
7759
  "integrity": "sha1-fF2WwT+xMRAfk8HFd0+FFqHnjTs=",
7760
  "dev": true,
7761
  "requires": {
7762
+ "accepts": "1.3.5",
7763
  "batch": "0.5.3",
7764
  "debug": "2.2.0",
7765
  "escape-html": "1.0.3",
7766
  "http-errors": "1.5.1",
7767
+ "mime-types": "2.1.18",
7768
  "parseurl": "1.3.2"
7769
  },
7770
  "dependencies": {
7809
  "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
7810
  "dev": true
7811
  },
 
 
 
 
 
 
 
 
 
7812
  "set-immediate-shim": {
7813
  "version": "1.0.1",
7814
  "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
7825
  "is-extendable": "0.1.1",
7826
  "is-plain-object": "2.0.4",
7827
  "split-string": "3.1.0"
7828
+ },
7829
+ "dependencies": {
7830
+ "extend-shallow": {
7831
+ "version": "2.0.1",
7832
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
7833
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
7834
+ "dev": true,
7835
+ "requires": {
7836
+ "is-extendable": "0.1.1"
7837
+ }
7838
+ }
7839
  }
7840
  },
7841
  "setprototypeof": {
7856
  "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
7857
  "dev": true
7858
  },
7859
+ "simple-concat": {
7860
+ "version": "1.0.0",
7861
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz",
7862
+ "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=",
7863
+ "dev": true,
7864
+ "optional": true
7865
+ },
7866
  "simple-get": {
7867
+ "version": "2.7.0",
7868
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.7.0.tgz",
7869
+ "integrity": "sha512-RkE9rGPHcxYZ/baYmgJtOSM63vH0Vyq+ma5TijBcLla41SWlh8t6XYIGMR/oeZcmr+/G8k+zrClkkVrtnQ0esg==",
7870
  "dev": true,
7871
  "optional": true,
7872
  "requires": {
7873
+ "decompress-response": "3.3.0",
7874
  "once": "1.4.0",
7875
+ "simple-concat": "1.0.0"
 
7876
  }
7877
  },
7878
  "slash": {
7899
  }
7900
  },
7901
  "snapdragon": {
7902
+ "version": "0.8.2",
7903
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
7904
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
7905
  "dev": true,
7906
  "requires": {
7907
  "base": "0.11.2",
7911
  "map-cache": "0.2.2",
7912
  "source-map": "0.5.7",
7913
  "source-map-resolve": "0.5.1",
7914
+ "use": "3.1.0"
7915
  },
7916
  "dependencies": {
7917
  "define-property": {
7923
  "is-descriptor": "0.1.6"
7924
  }
7925
  },
7926
+ "extend-shallow": {
7927
+ "version": "2.0.1",
7928
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
7929
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7930
  "dev": true,
7931
  "requires": {
7932
+ "is-extendable": "0.1.1"
 
 
7933
  }
7934
  },
 
 
 
 
 
 
7935
  "source-map": {
7936
  "version": "0.5.7",
7937
  "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
7951
  "snapdragon-util": "3.0.1"
7952
  },
7953
  "dependencies": {
7954
+ "define-property": {
7955
+ "version": "1.0.0",
7956
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
7957
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
7958
+ "dev": true,
7959
+ "requires": {
7960
+ "is-descriptor": "1.0.2"
7961
+ }
7962
+ },
7963
+ "is-accessor-descriptor": {
7964
+ "version": "1.0.0",
7965
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
7966
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
7967
+ "dev": true,
7968
+ "requires": {
7969
+ "kind-of": "6.0.2"
7970
+ }
7971
+ },
7972
+ "is-data-descriptor": {
7973
+ "version": "1.0.0",
7974
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
7975
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
7976
+ "dev": true,
7977
+ "requires": {
7978
+ "kind-of": "6.0.2"
7979
+ }
7980
+ },
7981
+ "is-descriptor": {
7982
+ "version": "1.0.2",
7983
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
7984
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
7985
+ "dev": true,
7986
+ "requires": {
7987
+ "is-accessor-descriptor": "1.0.0",
7988
+ "is-data-descriptor": "1.0.0",
7989
+ "kind-of": "6.0.2"
7990
+ }
7991
+ },
7992
  "isobject": {
7993
  "version": "3.0.1",
7994
  "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
7995
  "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
7996
  "dev": true
7997
+ },
7998
+ "kind-of": {
7999
+ "version": "6.0.2",
8000
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
8001
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
8002
+ "dev": true
8003
  }
8004
  }
8005
  },
8028
  "dev": true,
8029
  "requires": {
8030
  "debug": "2.6.9",
8031
+ "engine.io": "3.1.5",
8032
  "socket.io-adapter": "1.1.1",
8033
  "socket.io-client": "2.0.4",
8034
+ "socket.io-parser": "3.1.3"
8035
  }
8036
  },
8037
  "socket.io-adapter": {
8051
  "component-bind": "1.0.0",
8052
  "component-emitter": "1.2.1",
8053
  "debug": "2.6.9",
8054
+ "engine.io-client": "3.1.6",
8055
  "has-cors": "1.1.0",
8056
  "indexof": "0.0.1",
8057
  "object-component": "0.0.3",
8058
  "parseqs": "0.0.5",
8059
  "parseuri": "0.0.5",
8060
+ "socket.io-parser": "3.1.3",
8061
  "to-array": "0.1.4"
8062
  }
8063
  },
8064
  "socket.io-parser": {
8065
+ "version": "3.1.3",
8066
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz",
8067
+ "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==",
8068
  "dev": true,
8069
  "requires": {
8070
  "component-emitter": "1.2.1",
8071
+ "debug": "3.1.0",
8072
  "has-binary2": "1.0.2",
8073
  "isarray": "2.0.1"
8074
+ },
8075
+ "dependencies": {
8076
+ "debug": {
8077
+ "version": "3.1.0",
8078
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
8079
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
8080
+ "dev": true,
8081
+ "requires": {
8082
+ "ms": "2.0.0"
8083
+ }
8084
+ }
8085
  }
8086
  },
8087
  "source-map": {
8096
  "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==",
8097
  "dev": true,
8098
  "requires": {
8099
+ "atob": "2.1.0",
8100
  "decode-uri-component": "0.2.0",
8101
  "resolve-url": "0.2.1",
8102
  "source-map-url": "0.4.0",
8116
  "dev": true
8117
  },
8118
  "spdx-correct": {
8119
+ "version": "3.0.0",
8120
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
8121
+ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
8122
+ "dev": true,
8123
+ "requires": {
8124
+ "spdx-expression-parse": "3.0.0",
8125
+ "spdx-license-ids": "3.0.0"
8126
+ }
8127
+ },
8128
+ "spdx-exceptions": {
8129
+ "version": "2.1.0",
8130
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
8131
+ "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
8132
+ "dev": true
8133
+ },
8134
+ "spdx-expression-parse": {
8135
+ "version": "3.0.0",
8136
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
8137
+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
8138
  "dev": true,
8139
  "requires": {
8140
+ "spdx-exceptions": "2.1.0",
8141
+ "spdx-license-ids": "3.0.0"
8142
  }
8143
  },
 
 
 
 
 
 
8144
  "spdx-license-ids": {
8145
+ "version": "3.0.0",
8146
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
8147
+ "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
8148
  "dev": true
8149
  },
8150
  "specificity": {
8160
  "dev": true,
8161
  "requires": {
8162
  "extend-shallow": "3.0.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8163
  }
8164
  },
8165
  "sprintf-js": {
8166
+ "version": "1.1.1",
8167
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz",
8168
+ "integrity": "sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw=",
8169
  "dev": true
8170
  },
8171
  "sshpk": {
8172
+ "version": "1.14.1",
8173
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz",
8174
+ "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
8175
  "dev": true,
8176
  "requires": {
8177
  "asn1": "0.2.3",
8222
  "requires": {
8223
  "is-descriptor": "0.1.6"
8224
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8225
  }
8226
  }
8227
  },
8237
  "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
8238
  "dev": true,
8239
  "requires": {
8240
+ "readable-stream": "2.3.6"
8241
  }
8242
  },
8243
  "stream-buffers": {
8264
  "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=",
8265
  "dev": true,
8266
  "requires": {
8267
+ "commander": "2.15.1",
8268
  "limiter": "1.1.2"
8269
  }
8270
  },
8280
  }
8281
  },
8282
  "string_decoder": {
8283
+ "version": "1.1.1",
8284
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
8285
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
8286
  "dev": true,
8287
  "requires": {
8288
  "safe-buffer": "5.1.1"
8346
  "dev": true
8347
  },
8348
  "stylelint": {
8349
+ "version": "9.2.0",
8350
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.2.0.tgz",
8351
+ "integrity": "sha512-aBlnuLyTvyNfIVoc+reaqx88aW41Awc9Ccu7ZXrO2fnSvv0MVSQeyL3ci/nD1H1eYvH3X+MXTwMYC3Mf5+2Ckw==",
8352
  "dev": true,
8353
  "requires": {
8354
+ "autoprefixer": "8.2.0",
8355
  "balanced-match": "1.0.0",
8356
+ "chalk": "2.3.2",
8357
+ "cosmiconfig": "4.0.0",
8358
  "debug": "3.1.0",
8359
  "execall": "1.0.0",
8360
  "file-entry-cache": "2.0.0",
8361
+ "get-stdin": "6.0.0",
8362
+ "globby": "8.0.1",
8363
  "globjoin": "0.1.4",
8364
  "html-tags": "2.0.0",
8365
  "ignore": "3.3.7",
8366
+ "import-lazy": "3.1.0",
8367
  "imurmurhash": "0.1.4",
8368
+ "known-css-properties": "0.6.1",
8369
  "lodash": "4.17.5",
8370
  "log-symbols": "2.2.0",
8371
  "mathml-tag-names": "2.0.1",
8373
  "micromatch": "2.3.11",
8374
  "normalize-selector": "0.2.0",
8375
  "pify": "3.0.0",
8376
+ "postcss": "6.0.21",
8377
+ "postcss-html": "0.18.0",
8378
+ "postcss-less": "1.1.5",
8379
  "postcss-media-query-parser": "0.2.3",
8380
  "postcss-reporter": "5.0.0",
8381
  "postcss-resolve-nested-selector": "0.1.1",
8382
  "postcss-safe-parser": "3.0.1",
8383
+ "postcss-sass": "0.3.0",
8384
+ "postcss-scss": "1.0.5",
8385
  "postcss-selector-parser": "3.1.1",
8386
  "postcss-value-parser": "3.3.0",
8387
  "resolve-from": "4.0.0",
8388
+ "signal-exit": "3.0.2",
8389
  "specificity": "0.3.2",
8390
  "string-width": "2.1.1",
8391
  "style-search": "0.1.0",
8392
  "sugarss": "1.0.1",
8393
  "svg-tags": "1.0.0",
8394
+ "table": "4.0.3"
8395
  },
8396
  "dependencies": {
8397
  "ansi-regex": {
8436
  }
8437
  },
8438
  "get-stdin": {
8439
+ "version": "6.0.0",
8440
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
8441
+ "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
8442
  "dev": true
8443
  },
8444
  "indent-string": {
8501
  "dev": true,
8502
  "requires": {
8503
  "error-ex": "1.3.1",
8504
+ "json-parse-better-errors": "1.0.2"
8505
  }
8506
  },
8507
  "path-type": {
8595
  "integrity": "sha512-3qgLZytikQQEVn1/FrhY7B68gPUUGY3R1Q1vTiD5xT+Ti1DP/8iZuwFet9ONs5+bmL8pZoDQ6JrQHVgrNlK6mA==",
8596
  "dev": true,
8597
  "requires": {
8598
+ "postcss": "6.0.21"
8599
  }
8600
  },
8601
  "supports-color": {
8602
+ "version": "5.3.0",
8603
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz",
8604
+ "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
8605
  "dev": true,
8606
  "requires": {
8607
+ "has-flag": "3.0.0"
8608
  }
8609
  },
8610
  "sver-compat": {
8624
  "dev": true
8625
  },
8626
  "table": {
8627
+ "version": "4.0.3",
8628
+ "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz",
8629
+ "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==",
8630
  "dev": true,
8631
  "requires": {
8632
+ "ajv": "6.4.0",
8633
+ "ajv-keywords": "3.1.0",
8634
+ "chalk": "2.3.2",
8635
  "lodash": "4.17.5",
8636
  "slice-ansi": "1.0.0",
8637
  "string-width": "2.1.1"
8638
  },
8639
  "dependencies": {
8640
  "ajv": {
8641
+ "version": "6.4.0",
8642
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz",
8643
+ "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=",
8644
  "dev": true,
8645
  "requires": {
8646
+ "fast-deep-equal": "1.1.0",
 
8647
  "fast-json-stable-stringify": "2.0.0",
8648
+ "json-schema-traverse": "0.3.1",
8649
+ "uri-js": "3.0.2"
8650
  }
8651
  },
8652
  "ansi-regex": {
8710
  "mkdirp": "0.5.1",
8711
  "pump": "1.0.3",
8712
  "tar-stream": "1.5.5"
8713
+ },
8714
+ "dependencies": {
8715
+ "pump": {
8716
+ "version": "1.0.3",
8717
+ "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
8718
+ "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==",
8719
+ "dev": true,
8720
+ "optional": true,
8721
+ "requires": {
8722
+ "end-of-stream": "1.4.1",
8723
+ "once": "1.4.0"
8724
+ }
8725
+ }
8726
  }
8727
  },
8728
  "tar-stream": {
8731
  "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==",
8732
  "dev": true,
8733
  "requires": {
8734
+ "bl": "1.2.2",
8735
  "end-of-stream": "1.4.1",
8736
+ "readable-stream": "2.3.6",
8737
  "xtend": "4.0.1"
8738
  }
8739
  },
8786
  "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
8787
  "dev": true,
8788
  "requires": {
8789
+ "readable-stream": "2.3.6",
8790
  "xtend": "4.0.1"
8791
  }
8792
  },
8868
  "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
8869
  "dev": true
8870
  },
8871
+ "to-fast-properties": {
8872
+ "version": "2.0.0",
8873
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
8874
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
8875
+ "dev": true
8876
+ },
8877
  "to-object-path": {
8878
  "version": "0.3.0",
8879
  "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
8884
  }
8885
  },
8886
  "to-regex": {
8887
+ "version": "3.0.2",
8888
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
8889
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
8890
  "dev": true,
8891
  "requires": {
8892
+ "define-property": "2.0.2",
8893
+ "extend-shallow": "3.0.2",
8894
+ "regex-not": "1.0.2",
8895
+ "safe-regex": "1.1.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8896
  }
8897
  },
8898
  "to-regex-range": {
8926
  }
8927
  },
8928
  "tough-cookie": {
8929
+ "version": "2.3.4",
8930
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
8931
+ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
8932
  "dev": true,
8933
  "requires": {
8934
  "punycode": "1.4.1"
8946
  "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
8947
  "dev": true
8948
  },
8949
+ "trim-right": {
8950
+ "version": "1.0.1",
8951
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
8952
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
8953
+ "dev": true
8954
+ },
8955
  "trim-trailing-lines": {
8956
  "version": "1.1.0",
8957
  "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.0.tgz",
9005
  "optional": true
9006
  },
9007
  "type-is": {
9008
+ "version": "1.6.16",
9009
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
9010
+ "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
9011
  "dev": true,
9012
  "requires": {
9013
  "media-typer": "0.3.0",
9014
+ "mime-types": "2.1.18"
9015
  }
9016
  },
9017
  "typedarray": {
9027
  "dev": true
9028
  },
9029
  "uglify-js": {
9030
+ "version": "3.3.20",
9031
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.20.tgz",
9032
+ "integrity": "sha512-WpLkWCf9sGvGZnIvBV0PNID9BATQNT/IXKAmqegfKzIPcTmTV3FP8NQpoogQkt/Y402x2sOFdaHUmqFY9IZp+g==",
9033
  "dev": true,
9034
  "requires": {
9035
+ "commander": "2.15.1",
9036
  "source-map": "0.6.1"
 
 
 
 
 
 
 
 
9037
  }
9038
  },
9039
  "ultron": {
9049
  "dev": true
9050
  },
9051
  "underscore.string": {
9052
+ "version": "3.3.4",
9053
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.4.tgz",
9054
+ "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",
9055
+ "dev": true,
9056
+ "requires": {
9057
+ "sprintf-js": "1.1.1",
9058
+ "util-deprecate": "1.0.2"
9059
+ }
9060
  },
9061
  "undertaker": {
9062
  "version": "1.2.0",
9118
  "set-value": "0.4.3"
9119
  },
9120
  "dependencies": {
9121
+ "extend-shallow": {
9122
+ "version": "2.0.1",
9123
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
9124
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
9125
+ "dev": true,
9126
+ "requires": {
9127
+ "is-extendable": "0.1.1"
9128
+ }
9129
+ },
9130
  "set-value": {
9131
  "version": "0.4.3",
9132
  "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
9269
  }
9270
  }
9271
  },
9272
+ "uri-js": {
9273
+ "version": "3.0.2",
9274
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz",
9275
+ "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=",
9276
  "dev": true,
9277
+ "requires": {
9278
+ "punycode": "2.1.0"
9279
+ },
9280
+ "dependencies": {
9281
+ "punycode": {
9282
+ "version": "2.1.0",
9283
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz",
9284
+ "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=",
9285
+ "dev": true
9286
+ }
9287
+ }
9288
  },
9289
  "uri-path": {
9290
  "version": "1.0.0",
9299
  "dev": true
9300
  },
9301
  "use": {
9302
+ "version": "3.1.0",
9303
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz",
9304
+ "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==",
9305
  "dev": true,
9306
  "requires": {
9307
+ "kind-of": "6.0.2"
 
 
9308
  },
9309
  "dependencies": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9310
  "kind-of": {
9311
+ "version": "6.0.2",
9312
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
9313
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
9314
  "dev": true
9315
  }
9316
  }
9334
  "dev": true
9335
  },
9336
  "uws": {
9337
+ "version": "9.14.0",
9338
+ "resolved": "https://registry.npmjs.org/uws/-/uws-9.14.0.tgz",
9339
+ "integrity": "sha512-HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg==",
9340
  "dev": true,
9341
  "optional": true
9342
  },
9343
  "v8flags": {
9344
+ "version": "3.0.2",
9345
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.0.2.tgz",
9346
+ "integrity": "sha512-6sgSKoFw1UpUPd3cFdF7QGnrH6tDeBgW1F3v9gy8gLY0mlbiBXq8soy8aQpY6xeeCjH5K+JvC62Acp7gtl7wWA==",
9347
  "dev": true,
9348
  "requires": {
9349
  "homedir-polyfill": "1.0.1"
9350
  }
9351
  },
9352
  "validate-npm-package-license": {
9353
+ "version": "3.0.3",
9354
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
9355
+ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
9356
  "dev": true,
9357
  "requires": {
9358
+ "spdx-correct": "3.0.0",
9359
+ "spdx-expression-parse": "3.0.0"
9360
  }
9361
  },
9362
  "value-or-function": {
9417
  "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
9418
  "dev": true,
9419
  "requires": {
9420
+ "clone": "2.1.2",
9421
  "clone-buffer": "1.0.0",
9422
  "clone-stats": "1.0.0",
9423
+ "cloneable-readable": "1.1.2",
9424
  "remove-trailing-separator": "1.1.0",
9425
  "replace-ext": "1.0.0"
9426
  }
9439
  "lead": "1.0.0",
9440
  "object.assign": "4.1.0",
9441
  "pumpify": "1.4.0",
9442
+ "readable-stream": "2.3.6",
9443
  "remove-bom-buffer": "3.0.0",
9444
  "remove-bom-stream": "1.2.0",
9445
  "resolve-options": "1.1.0",
9494
  "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
9495
  "dev": true,
9496
  "requires": {
9497
+ "http-parser-js": "0.4.11",
9498
  "websocket-extensions": "0.1.3"
9499
  }
9500
  },
9519
  "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
9520
  "dev": true
9521
  },
9522
+ "which-pm-runs": {
9523
+ "version": "1.0.0",
9524
+ "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
9525
+ "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=",
9526
+ "dev": true,
9527
+ "optional": true
9528
+ },
9529
  "wide-align": {
9530
  "version": "1.1.2",
9531
  "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
9681
  "archiver-utils": "1.3.0",
9682
  "compress-commons": "1.2.2",
9683
  "lodash": "4.17.5",
9684
+ "readable-stream": "2.3.6"
9685
  },
9686
  "dependencies": {
9687
  "lodash": {
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: form, form builder, easy form, clean form, login form, contact, contact fo
4
  Requires at least: 4.0
5
  Tested up to: 4.9
6
  Requires PHP: 5.4
7
- Stable tag: 1.1.2
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -70,6 +70,15 @@ Yes, the plugin is designed to work with any themes that have been coded followi
70
 
71
  == Changelog ==
72
 
 
 
 
 
 
 
 
 
 
73
  = 1.1.2 - 29-03-2018 =
74
  * Fix - Exclude CPT data from search.
75
 
4
  Requires at least: 4.0
5
  Tested up to: 4.9
6
  Requires PHP: 5.4
7
+ Stable tag: 1.1.3
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
70
 
71
  == Changelog ==
72
 
73
+ = 1.1.3 - 12-04-2018 =
74
+ * Fix - Per page entries in list table.
75
+ * Fix - Clone field next to it not at last.
76
+ * Fix - Empty field ID if meta key is renamed.
77
+ * Fix - Use wp_kses_post to save tinymce value.
78
+ * Tweak - jQuery-confirm JS alert library styles.
79
+ * Tweak - Horizontal scroll bar issue on frontend.
80
+ * Dev - Introduced new `EVF_Background_Process` abstract class.
81
+
82
  = 1.1.2 - 29-03-2018 =
83
  * Fix - Exclude CPT data from search.
84
 
trunk/assets/css/activation-rtl.css ADDED
@@ -0,0 +1 @@
 
1
+ div.everest-forms-message{overflow:hidden;position:relative;border-right-color:#2ea2cc!important}div.everest-forms-message a.button-primary,div.everest-forms-message a.button-secondary{text-decoration:none!important}div.everest-forms-message a.everest-forms-message-close{position:absolute;top:0;left:0;padding:10px 21px 10px 15px;font-size:13px;line-height:1.23076923;text-decoration:none}div.everest-forms-message a.everest-forms-message-close:before{position:absolute;top:8px;right:0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}
trunk/assets/css/activation.css ADDED
@@ -0,0 +1 @@
 
1
+ div.everest-forms-message{overflow:hidden;position:relative;border-left-color:#2ea2cc!important}div.everest-forms-message a.button-primary,div.everest-forms-message a.button-secondary{text-decoration:none!important}div.everest-forms-message a.everest-forms-message-close{position:absolute;top:0;right:0;padding:10px 15px 10px 21px;font-size:13px;line-height:1.23076923;text-decoration:none}div.everest-forms-message a.everest-forms-message-close:before{position:absolute;top:8px;left:0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}
trunk/assets/css/activation.scss ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * activation.scss
3
+ * Styles applied to elements displayed on activation
4
+ */
5
+
6
+ /**
7
+ * Styling begins
8
+ */
9
+ div.everest-forms-message {
10
+ overflow: hidden;
11
+ position: relative;
12
+ border-left-color: #2ea2cc !important;
13
+
14
+ a.button-primary,
15
+ a.button-secondary {
16
+ text-decoration: none !important;
17
+ }
18
+
19
+ a.everest-forms-message-close {
20
+ position: absolute;
21
+ top: 0;
22
+ right: 0;
23
+ padding: 10px 15px 10px 21px;
24
+ font-size: 13px;
25
+ line-height: 1.23076923;
26
+ text-decoration: none;
27
+
28
+ &:before {
29
+ position: absolute;
30
+ top: 8px;
31
+ left: 0;
32
+ -webkit-transition: all .1s ease-in-out;
33
+ transition: all .1s ease-in-out;
34
+ }
35
+ }
36
+ }
trunk/assets/css/admin-entries-rtl.css ADDED
@@ -0,0 +1 @@
 
1
+ .wp-list-table.forms .column-entries{width:75px}.wp-list-table.entries .column-actions{width:175px}.wp-list-table.entries .submitdelete:hover{color:#a00}#everest-forms-entry-fields table{border:none}#everest-forms-entry-fields span.list{display:block}#everest-forms-entry-fields .everest-forms-empty-field-toggle{float:left;padding:3px 0 0;text-decoration:none}#everest-forms-entry-details .submitdelete{color:#a00;padding:1px 2px;text-decoration:none}#everest-forms-entry-details .everest-forms-entry-details-meta{padding:6px 0 0}#everest-forms-entry-details .everest-forms-entry-details-meta p{margin:0;padding:6px 10px 8px}#everest-forms-entry-details .hndle,#everest-forms-entry-fields .hndle{cursor:inherit}#everest-forms-entry-details .inside,#everest-forms-entry-fields .inside{margin:0;padding:0}.everest-forms-BlankState{text-align:center;padding:5em 0 0}.everest-forms-BlankState .everest-forms-BlankState-icon{fill:#ddd;width:128px;height:128px;margin:0 0 .875em}.everest-forms-BlankState .everest-forms-BlankState-message{color:#aaa;margin:0 auto 1.5em;line-height:1.5em;font-size:1.2em;max-width:500px}.everest-forms-BlankState .everest-forms-BlankState-cta{font-size:1.2em;padding:.75em 1.5em;height:auto;display:inline-block!important}
trunk/assets/css/admin-entries.css ADDED
@@ -0,0 +1 @@
 
1
+ .wp-list-table.forms .column-entries{width:75px}.wp-list-table.entries .column-actions{width:175px}.wp-list-table.entries .submitdelete:hover{color:#a00}#everest-forms-entry-fields table{border:none}#everest-forms-entry-fields span.list{display:block}#everest-forms-entry-fields .everest-forms-empty-field-toggle{float:right;padding:3px 0 0;text-decoration:none}#everest-forms-entry-details .submitdelete{color:#a00;padding:1px 2px;text-decoration:none}#everest-forms-entry-details .everest-forms-entry-details-meta{padding:6px 0 0}#everest-forms-entry-details .everest-forms-entry-details-meta p{margin:0;padding:6px 10px 8px}#everest-forms-entry-details .hndle,#everest-forms-entry-fields .hndle{cursor:inherit}#everest-forms-entry-details .inside,#everest-forms-entry-fields .inside{margin:0;padding:0}.everest-forms-BlankState{text-align:center;padding:5em 0 0}.everest-forms-BlankState .everest-forms-BlankState-icon{fill:#ddd;width:128px;height:128px;margin:0 0 .875em}.everest-forms-BlankState .everest-forms-BlankState-message{color:#aaa;margin:0 auto 1.5em;line-height:1.5em;font-size:1.2em;max-width:500px}.everest-forms-BlankState .everest-forms-BlankState-cta{font-size:1.2em;padding:.75em 1.5em;height:auto;display:inline-block!important}
trunk/assets/css/admin-entries.scss ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * admin-entries.scss
3
+ */
4
+ .wp-list-table.forms {
5
+ .column-entries {
6
+ width: 75px;
7
+ }
8
+ }
9
+
10
+ .wp-list-table.entries {
11
+ .column-actions {
12
+ width: 175px;
13
+ }
14
+ .submitdelete:hover {
15
+ color: #a00;
16
+ }
17
+ }
18
+
19
+ #everest-forms-entry-fields {
20
+
21
+ table {
22
+ border: none;
23
+ }
24
+
25
+ span.list {
26
+ display: block;
27
+ }
28
+
29
+ .everest-forms-empty-field-toggle {
30
+ float: right;
31
+ padding: 3px 0 0;
32
+ text-decoration: none;
33
+ }
34
+ }
35
+
36
+ #everest-forms-entry-details {
37
+ .submitdelete {
38
+ color: #a00;
39
+ padding: 1px 2px;
40
+ text-decoration: none;
41
+ }
42
+
43
+ .everest-forms-entry-details-meta {
44
+ padding: 6px 0 0;
45
+
46
+ p {
47
+ margin: 0;
48
+ padding: 6px 10px 8px;
49
+ }
50
+ }
51
+ }
52
+
53
+ #everest-forms-entry-fields,
54
+ #everest-forms-entry-details {
55
+ .hndle {
56
+ cursor: inherit;
57
+ }
58
+ .inside {
59
+ margin: 0;
60
+ padding: 0;
61
+ }
62
+ }
63
+
64
+ .everest-forms-BlankState {
65
+ text-align: center;
66
+ padding: 5em 0 0;
67
+
68
+ .everest-forms-BlankState-icon {
69
+ fill: #ddd;
70
+ width: 128px;
71
+ height: 128px;
72
+ margin: 0 0 .875em;
73
+ }
74
+
75
+ .everest-forms-BlankState-message {
76
+ color: #aaa;
77
+ margin: 0 auto 1.5em;
78
+ line-height: 1.5em;
79
+ font-size: 1.2em;
80
+ max-width: 500px;
81
+ }
82
+
83
+ .everest-forms-BlankState-cta {
84
+ font-size: 1.2em;
85
+ padding: 0.75em 1.5em;
86
+ height: auto;
87
+ display: inline-block !important;
88
+ }
89
+ }
trunk/assets/css/admin-rtl.css ADDED
@@ -0,0 +1 @@
 
1
+ .evf_addons_wrap p.refresh{margin:0 0 2em}.evf_addons_wrap .plugin-card .desc,.evf_addons_wrap .plugin-card .name{margin-left:0}.evf_addons_wrap .plugin-card .plugin-card-top{padding:20px;min-height:130px}.evf_addons_wrap .plugin-card .plugin-card-top .plugin-desc{overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.evf_addons_wrap .plugin-card .plugin-card-top .plugin-icon{border:1px solid #eee}.evf_addons_wrap .plugin-card .plugin-card-bottom .status{text-align:right;float:right;clear:right;width:65%;padding-top:5px;width:calc(100% - 180px)}.evf_addons_wrap .plugin-card .plugin-card-bottom .status span.status-label{color:#666}.evf_addons_wrap .plugin-card .plugin-card-bottom .status span.status-label.status-active{color:#2a9b39}.evf_addons_wrap .plugin-card .plugin-card-bottom .status span.status-label.status-inactive{color:#a00}.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons{float:left;clear:left;max-width:180px}.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons.upgrade-plan{margin:0 auto}.evf_addons_wrap .plugin-card-update-failed .notice-error{padding:9px 16px 8px}.evf_addons_wrap .plugin-card-update-failed .notice-error .notice-dismiss{padding:17px}@media screen and (max-width:782px){.evf_addons_wrap .plugin-card .plugin-card-bottom .status{padding-top:9px}.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons .button.updating-message:after,.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons .button.updating-message:before{margin-top:-1px}.evf_addons_wrap .plugin-card-update-failed .notice-error{padding:13px 20px}.evf_addons_wrap .plugin-card-update-failed .notice-error .notice-dismiss{padding:21px}}
trunk/assets/css/admin-settings-rtl.css ADDED
@@ -0,0 +1 @@
 
1
+ .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}.everest-forms_page_evf-settings #wpcontent{padding-right:0}*{box-sizing:border-box}.everest-forms{margin:0;background-color:#f9fafc}.everest-forms .evf-nav-tab-wrapper{padding:0;margin:0;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:none transparent;background-color:#7f5aec}.everest-forms .evf-nav-tab-wrapper a.nav-tab{border:none transparent;background-color:transparent;margin-right:0;font-size:12px;line-height:24px;color:#fff;padding:10px 30px;display:block;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out}.everest-forms .evf-nav-tab-wrapper a.nav-tab .dashicons,.everest-forms .evf-nav-tab-wrapper a.nav-tab .dashicons-before:before{display:block;font-size:32px;width:auto;height:auto}.everest-forms .evf-nav-tab-wrapper a.nav-tab.nav-tab-active{background-color:#f9fafc;color:#575757}.everest-forms .evf-nav-tab-wrapper a.nav-tab:focus{box-shadow:0 0 0 0 transparent}.everest-forms .nav-tab.nav-tab-active:focus{box-shadow:none}.everest-forms p.submit{padding-right:30px;padding-left:30px}.everest-forms p.submit .everest-forms-save-button{padding:10px 20px;height:auto;border-radius:0;border:0 transparent;text-shadow:0 0 0 transparent;box-shadow:0 0 0 0 transparent;background:#8ce99a;-webkit-transition:.5s background ease-in-out;transition:.5s background ease-in-out}.everest-forms p.submit .everest-forms-save-button:hover{background:#7f5aec}.everest-forms .evf-setting-tab-content{display:none;padding:30px}.everest-forms .evf-setting-tab-content h2{margin-top:0;color:#292929}.everest-forms .evf-setting-tab-content .form-table{margin-top:0;border-top:1px solid #efefef}.everest-forms .evf-setting-tab-content.active{display:block}.everest-forms .evf-setting-tab-content label{font-size:12px;color:#575757}.everest-forms .evf-setting-tab-content textarea{height:100px}.everest-forms .evf-setting-tab-content .forminp:not(.forminp-tinymce) input,.everest-forms .evf-setting-tab-content .forminp:not(.forminp-tinymce) select,.everest-forms .evf-setting-tab-content .forminp:not(.forminp-tinymce) textarea{border-color:#d5d9e2;padding:10px;box-shadow:0 0 0 0 transparent;color:#555;height:45px;border-radius:3px}.everest-forms .evf-setting-tab-content .forminp:not(.forminp-tinymce) input[type=checkbox],.everest-forms .evf-setting-tab-content .forminp:not(.forminp-tinymce) input[type=radio]{height:16px}@media screen and (max-width:782px){.everest-forms .evf-setting-tab-content .form-table th{padding-top:15px;padding-bottom:15px}}@media screen and (max-width:480px){.everest-forms .evf-nav-tab-wrapper a.nav-tab{padding:10px}.everest-forms .evf-nav-tab-wrapper a.nav-tab .dashicons,.everest-forms .evf-nav-tab-wrapper a.nav-tab .dashicons-before:before{display:none}}
trunk/assets/css/admin-settings.css ADDED
@@ -0,0 +1 @@
 
1
+ .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}.everest-forms_page_evf-settings #wpcontent{padding-left:0}*{box-sizing:border-box}.everest-forms{margin:0;background-color:#f9fafc}.everest-forms .evf-nav-tab-wrapper{padding:0;margin:0;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:none transparent;background-color:#7f5aec}.everest-forms .evf-nav-tab-wrapper a.nav-tab{border:none transparent;background-color:transparent;margin-left:0;font-size:12px;line-height:24px;color:#fff;padding:10px 30px;display:block;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out}.everest-forms .evf-nav-tab-wrapper a.nav-tab .dashicons,.everest-forms .evf-nav-tab-wrapper a.nav-tab .dashicons-before:before{display:block;font-size:32px;width:auto;height:auto}.everest-forms .evf-nav-tab-wrapper a.nav-tab.nav-tab-active{background-color:#f9fafc;color:#575757}.everest-forms .evf-nav-tab-wrapper a.nav-tab:focus{box-shadow:0 0 0 0 transparent}.everest-forms .nav-tab.nav-tab-active:focus{box-shadow:none}.everest-forms p.submit{padding-left:30px;padding-right:30px}.everest-forms p.submit .everest-forms-save-button{padding:10px 20px;height:auto;border-radius:0;border:0 transparent;text-shadow:0 0 0 transparent;box-shadow:0 0 0 0 transparent;background:#8ce99a;-webkit-transition:.5s background ease-in-out;transition:.5s background ease-in-out}.everest-forms p.submit .everest-forms-save-button:hover{background:#7f5aec}.everest-forms .evf-setting-tab-content{display:none;padding:30px}.everest-forms .evf-setting-tab-content h2{margin-top:0;color:#292929}.everest-forms .evf-setting-tab-content .form-table{margin-top:0;border-top:1px solid #efefef}.everest-forms .evf-setting-tab-content.active{display:block}.everest-forms .evf-setting-tab-content label{font-size:12px;color:#575757}.everest-forms .evf-setting-tab-content textarea{height:100px}.everest-forms .evf-setting-tab-content .forminp:not(.forminp-tinymce) input,.everest-forms .evf-setting-tab-content .forminp:not(.forminp-tinymce) select,.everest-forms .evf-setting-tab-content .forminp:not(.forminp-tinymce) textarea{border-color:#d5d9e2;padding:10px;box-shadow:0 0 0 0 transparent;color:#555;height:45px;border-radius:3px}.everest-forms .evf-setting-tab-content .forminp:not(.forminp-tinymce) input[type=checkbox],.everest-forms .evf-setting-tab-content .forminp:not(.forminp-tinymce) input[type=radio]{height:16px}@media screen and (max-width:782px){.everest-forms .evf-setting-tab-content .form-table th{padding-top:15px;padding-bottom:15px}}@media screen and (max-width:480px){.everest-forms .evf-nav-tab-wrapper a.nav-tab{padding:10px}.everest-forms .evf-nav-tab-wrapper a.nav-tab .dashicons,.everest-forms .evf-nav-tab-wrapper a.nav-tab .dashicons-before:before{display:none}}
trunk/assets/css/admin-settings.scss ADDED
@@ -0,0 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "scss/colors";
2
+ @import "scss/clearings";
3
+
4
+ .everest-forms_page_evf-settings {
5
+ #wpcontent {
6
+ padding-left: 0;
7
+ }
8
+ }
9
+
10
+ *{
11
+ box-sizing: border-box;
12
+ }
13
+ .everest-forms {
14
+ margin: 0;
15
+ background-color: $color-whitesmoke;
16
+
17
+ .evf-nav-tab-wrapper {
18
+ padding: 0;
19
+ margin: 0;
20
+ list-style: none;
21
+ display: flex;
22
+ border-bottom: none transparent;
23
+ background-color: $color-brand-secondary;
24
+
25
+ a.nav-tab {
26
+ border: none transparent;
27
+ background-color: transparent;
28
+ margin-left: 0;
29
+ font-size: 12px;
30
+ line-height: 24px;
31
+ color: $color-white;
32
+ padding: 10px 30px;
33
+ display: block;
34
+ cursor: pointer;
35
+ transition: 0.5s background-color ease-in-out;
36
+
37
+ .dashicons,
38
+ .dashicons-before:before {
39
+ display: block;
40
+ font-size: 32px;
41
+ width: auto;
42
+ height: auto;
43
+ }
44
+ &.nav-tab-active {
45
+ background-color: $color-whitesmoke;
46
+ color: $color-gray-darker;
47
+ }
48
+ &:focus {
49
+ box-shadow:0 0 0 0 transparent;
50
+ }
51
+ }
52
+ }
53
+
54
+ .nav-tab.nav-tab-active:focus {
55
+ box-shadow: none;
56
+ }
57
+
58
+
59
+ p.submit {
60
+ padding-left: 30px;
61
+ padding-right: 30px;
62
+
63
+ .everest-forms-save-button {
64
+ padding: 10px 20px;
65
+ height: auto;
66
+ border-radius: 0;
67
+ border: 0 transparent;
68
+ text-shadow: 0 0 0 transparent;
69
+ box-shadow: 0 0 0 0 transparent;
70
+ background: $submit-color;
71
+ transition: 0.5s background ease-in-out;
72
+
73
+ &:hover {
74
+ background: $color-brand-secondary;
75
+ }
76
+ }
77
+ }
78
+ .evf-setting-tab-content {
79
+ display: none;
80
+ padding: 30px;
81
+
82
+ h2 {
83
+ margin-top: 0;
84
+ color: $color-gray-more-darken;
85
+ }
86
+
87
+ .form-table {
88
+ margin-top: 0;
89
+ border-top: 1px solid $color-white-darken;
90
+ }
91
+
92
+ &.active {
93
+ display: block;
94
+ }
95
+
96
+ label {
97
+ font-size: 12px;
98
+ color:$color-gray-darker;
99
+ }
100
+
101
+ textarea {
102
+ height: 100px;
103
+ }
104
+
105
+ .forminp:not(.forminp-tinymce) {
106
+ input,
107
+ select,
108
+ textarea {
109
+ border-color: $border-color;
110
+ padding:10px;
111
+ box-shadow: 0 0 0 0 transparent;
112
+ color: #555;
113
+ height:45px;
114
+ border-radius:3px;
115
+ }
116
+
117
+ input[type="checkbox"],
118
+ input[type="radio"] {
119
+ height:16px;
120
+ }
121
+ }
122
+ }
123
+ }
124
+
125
+ @media screen and (max-width: 782px) {
126
+ .everest-forms .evf-setting-tab-content .form-table th {
127
+ padding-top: 15px;
128
+ padding-bottom: 15px;
129
+ }
130
+ }
131
+
132
+ @media screen and (max-width: 480px) {
133
+ .everest-forms .evf-nav-tab-wrapper a.nav-tab {
134
+ padding: 10px;
135
+
136
+ .dashicons,
137
+ .dashicons-before:before {
138
+ display: none;
139
+ }
140
+ }
141
+ }
trunk/assets/css/admin.css ADDED
@@ -0,0 +1 @@
 
1
+ .evf_addons_wrap p.refresh{margin:0 0 2em}.evf_addons_wrap .plugin-card .desc,.evf_addons_wrap .plugin-card .name{margin-right:0}.evf_addons_wrap .plugin-card .plugin-card-top{padding:20px;min-height:130px}.evf_addons_wrap .plugin-card .plugin-card-top .plugin-desc{overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.evf_addons_wrap .plugin-card .plugin-card-top .plugin-icon{border:1px solid #eee}.evf_addons_wrap .plugin-card .plugin-card-bottom .status{text-align:left;float:left;clear:left;width:65%;padding-top:5px;width:calc(100% - 180px)}.evf_addons_wrap .plugin-card .plugin-card-bottom .status span.status-label{color:#666}.evf_addons_wrap .plugin-card .plugin-card-bottom .status span.status-label.status-active{color:#2a9b39}.evf_addons_wrap .plugin-card .plugin-card-bottom .status span.status-label.status-inactive{color:#a00}.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons{float:right;clear:right;max-width:180px}.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons.upgrade-plan{margin:0 auto}.evf_addons_wrap .plugin-card-update-failed .notice-error{padding:9px 16px 8px}.evf_addons_wrap .plugin-card-update-failed .notice-error .notice-dismiss{padding:17px}@media screen and (max-width:782px){.evf_addons_wrap .plugin-card .plugin-card-bottom .status{padding-top:9px}.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons .button.updating-message:after,.evf_addons_wrap .plugin-card .plugin-card-bottom .action-buttons .button.updating-message:before{margin-top:-1px}.evf_addons_wrap .plugin-card-update-failed .notice-error{padding:13px 20px}.evf_addons_wrap .plugin-card-update-failed .notice-error .notice-dismiss{padding:21px}}
trunk/assets/css/everest-builder-rtl.css ADDED
@@ -0,0 +1 @@
 
1
+ .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}body{margin:0}*{box-sizing:border-box}.everest-forms_page_edit-evf-form #wpcontent{padding-right:0}.everest-forms-add-fields-group .handlediv,.everest-forms-field-option-group .handlediv{float:left}.everest-forms-add-fields-group .handlediv::before,.everest-forms-field-option-group .handlediv::before{content:'\f142'!important;cursor:pointer;display:inline-block;font:400 20px/1 Dashicons;line-height:.5!important;padding:4px;position:relative;left:0;top:0}.everest-forms-add-fields-group.closed .handlediv::before,.everest-forms-field-option-group.closed .handlediv::before{content:'\f140'!important}#everest-forms-builder{margin:0}#everest-forms-builder .evf-builder-tabs{background-color:#7f5aec}#everest-forms-builder a{text-decoration:none}#everest-forms-builder a:focus{outline:0;box-shadow:0 0 0 transparent}#everest-forms-builder .evf-tab-lists{padding:0;margin:0;float:right;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-lists li{margin-bottom:0}#everest-forms-builder .evf-tab-lists li a{font-size:12px;line-height:24px;color:#fff;padding:10px 30px;display:block;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out}#everest-forms-builder .evf-tab-lists li a.active,#everest-forms-builder .evf-tab-lists li a:hover{color:#575757;background-color:#f9fafc;outline:0}#everest-forms-builder .evf-tab-lists li a:focus{outline:0}#everest-forms-builder .evf-tab-lists li .dashicons{display:block;font-size:32px;width:auto;height:auto}#everest-forms-builder .evf_save_form_action_button{float:left;padding:7px 22px;background-color:#fff;color:#000;font-size:12px;text-transform:uppercase;border:0 none;border-radius:100px;margin:20px 20px 0 45px;cursor:pointer}#everest-forms-builder .evf_save_form_action_button:focus{outline:0}#everest-forms-builder .evf-tab-content .everest-forms-panel{width:100%;display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel.active{display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar-content{display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar{background-color:#f9fafc;width:30%;border-left:1px solid #ebedf0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields{padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields-heading{display:block;font-size:14px;font-weight:500;margin-bottom:15px;padding-bottom:10px;color:#575757;border-bottom:1px solid #efefef}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields-heading i{float:left;font-size:14px;margin-right:5px;line-height:1.5}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons{margin-left:-1.5%;margin-right:-1.5%;list-style:none;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{margin-right:1.5%;margin-left:1.5%;padding:20px 8px;border:1px solid #ebedf0;width:30.3%;z-index:999;margin-bottom:10px;color:#969696;cursor:pointer;border-radius:2px;font-size:12px;-webkit-transition:.5s color ease-in-out,.5s border-color ease-in-out;transition:.5s color ease-in-out,.5s border-color ease-in-out;text-align:center;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item .dashicons{display:block;margin:0 auto}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover{color:#7ca8eb;border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover .evf-icon{color:inherit}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg{width:40px;height:40px;display:block;margin:0 auto 10px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-3{fill:#414042;-webkit-transition:.5s fill ease-in-out;transition:.5s fill ease-in-out;font-size:7px;font-weight:300}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover{color:#7ca8eb;border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-3{fill:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging{margin:0;border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-3{fill:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox label,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox label{width:auto;padding:0;display:inline-block;vertical-align:top;height:auto}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox input{margin:3px 0 0 5px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options{display:none;background-color:#f0f1f2;height:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group{border-bottom:1px solid #f0f1f2}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row{margin-bottom:15px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row:last-child{margin-bottom:0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row .inline{margin-bottom:0;display:inline-block;vertical-align:top;margin-right:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option{display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group-toggle{background-color:#f9fafc;padding:15px 20px;font-size:14px;font-weight:600;display:block;color:#404040}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group-inner{background-color:#f0f1f2;padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel{background-color:#f0f1f2;padding:15px 20px;font-size:14px;font-weight:600;display:block;color:#404040;border-bottom:3px solid #f0f1f2}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel .everest-forms-toggle-arrow{float:left;font-size:14px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel.active{background-color:#fff;position:relative;color:#7f5aec;border-color:#7f5aec}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel.active::after{position:absolute;content:"";top:0;left:-1px;bottom:0;width:1px;height:100%;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap{background-color:#fff;width:70%;padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-title-desc .everest-forms-form-name{margin-top:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-field-wrapper{padding:0 15px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-field-wrapper.evf-hover{background-color:#d4e3f9}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row{text-align:center}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span{width:40px;height:40px;line-height:30px;padding:5px;color:#fff;background-color:#969696;border-radius:5px;cursor:pointer;-webkit-transition:.5s ease-in-out background-color;transition:.5s ease-in-out background-color;margin-bottom:20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:active,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:focus,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:hover{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row{background-color:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0 -15px 30px;position:relative;border:1px solid transparent;-webkit-transition:.5s border,.5s background-color;transition:.5s border,.5s background-color}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:last-child{margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row{background-color:#8ce99a;color:#fff;position:absolute;left:0;top:0;z-index:9999;visibility:hidden;opacity:0;-webkit-transition:.7s all;transition:.7s all;padding:5px 10px;cursor:pointer}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-show-grid{display:inline-block;font-size:12px;letter-spacing:1px;font-weight:600;text-transform:uppercase}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-delete-row{display:inline-block;padding-left:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-delete-row span{font-size:14px;height:auto;line-height:1.2;color:#d9534f}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content{display:none;position:absolute;width:200px;padding:30px;text-align:center;left:-20px;border-radius:11px;background-color:#fff;font-weight:600;font-size:12px;top:40px;box-shadow:0 0 39px rgba(0,0,0,.1);-webkit-transition:.9s background-color;transition:.9s background-color}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content::before{top:-5px;content:"";left:45px;border-left:6px solid transparent;border-bottom:6px solid #fff;border-right:6px solid transparent;position:absolute}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content>span{color:#575757;display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content small{color:#c6ccd7;margin-bottom:10px;display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector{height:30px;width:40px;border:1px solid #d6d8da;display:inline-block;margin:3px;border-radius:3px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span{height:100%;display:inline-block;background:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span:nth-child(n+1){border-right:1px solid #d6d8da}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span:nth-child(1){border-right:0 none}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector.active{border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector.active span{border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover{background-color:#f7fafc;border:1px dashed #5d96ee}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover .evf-admin-grid{border:1px dashed #bdbdbd}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover .evf-toggle-row{opacity:1;visibility:visible}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid{background:#fff;min-height:200px;margin:15px;padding:5px;border:1px solid transparent;-webkit-transition:.5s border,.5s background-color;transition:.5s border,.5s background-color;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover{border:1px dashed #bdbdbd}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover.evf-item-hover{position:relative;box-shadow:0 0 5px rgba(0,100,251,.5)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover.evf-item-hover::after{position:absolute;content:"";top:-1px;right:-1px;left:-1px;width:auto;height:15px;background-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-1{width:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-2{width:50%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-3{width:30%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid .evf-registered-item{padding:20px;font-size:18px;text-align:right}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid .evf-registered-item .dashicons{font-size:22px;margin-top:3px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-empty-grid{border:1px dashed #bdbdbd;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-empty-grid:before{position:absolute;margin:auto;content:"\f132";font-size:40px;display:block;font-family:dashicons;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);right:50%;top:50%;color:#d6d8da}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field{margin-bottom:30px;padding:15px;position:relative;box-shadow:0 0 15px transparent;-webkit-transition:.5s box-shadow;transition:.5s box-shadow}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:last-child{margin-bottom:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--first,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--last{width:48.5%;margin-left:3%;float:right}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--last{margin-left:0;float:left}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action{position:absolute;top:10px;left:5px;visibility:hidden;opacity:0;-webkit-transition:.5s all;transition:.5s all}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action a{color:#7ca8eb;margin-right:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action a.everest-forms-field-delete:hover{color:#d9534f}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:hover{box-shadow:0 0 15px rgba(0,0,0,.1)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:hover .evf-field-action{visibility:visible;opacity:1}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper{box-shadow:-1px 5px 35px rgba(0,0,0,.2);padding:20px 30px;height:auto!important;right:-20px;left:-20px;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper::before{position:absolute;right:0;top:0;width:5px;height:100%;background-color:#7f5aec;content:""}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper:hover .evf-field-action{display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader{width:100%;border:2px dashed #d5d9e2;background-color:#fbfdfe;border-radius:3px;cursor:pointer;text-align:center;padding-top:30px;padding-bottom:30px;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader svg{width:30px;height:30px;fill:#bbbcbd;margin-bottom:20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader input.file-input{-ms-touch-action:manipulation;touch-action:manipulation;max-width:100%;min-width:14px;margin:0;opacity:0;height:18px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .drop{display:block;font-size:14px;font-weight:600;color:#969696;margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .or{font-size:12px;color:#bdbdbd;font-weight:500;display:block;margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .file-control{position:absolute;bottom:30px;color:#5d96ee;padding-bottom:2px;display:block;right:0;left:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .file-control::before{content:"";width:45px;background-color:#5d96ee;height:1px;display:block;right:50%;bottom:-2px;position:absolute;-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .publishing-action{width:100%;text-align:left}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .submit-button{display:inline-block;font-size:12px;font-weight:600;color:#fff;padding:15px 20px;border:0 none;background-color:#8ce99a;border-radius:3px}#everest-forms-builder .evf-tab-content label{font-size:12px;margin-bottom:15px;color:#575757;display:block;font-weight:600}#everest-forms-builder .evf-tab-content label i{color:#bdbdbd;font-size:16px;line-height:1.2}#everest-forms-builder .evf-tab-content label .required{margin-right:5px}#everest-forms-builder .evf-tab-content input:not(.ed_button),#everest-forms-builder .evf-tab-content select,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area){border:1px solid #d5d9e2;border-radius:3px;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox],#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio],#everest-forms-builder .evf-tab-content select[type=checkbox],#everest-forms-builder .evf-tab-content select[type=radio],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]{width:16px;height:16px;background-color:#fff}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio],#everest-forms-builder .evf-tab-content select[type=radio],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]{border-radius:10px}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox]:checked,#everest-forms-builder .evf-tab-content select[type=checkbox]:checked,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox]:checked{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox]:checked::before,#everest-forms-builder .evf-tab-content select[type=checkbox]:checked::before,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox]:checked::before{color:#fff;background-color:transparent}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio]:checked::before,#everest-forms-builder .evf-tab-content select[type=radio]:checked::before,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]:checked::before{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-webkit-input-placeholder,#everest-forms-builder .evf-tab-content select::-webkit-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-webkit-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-moz-placeholder,#everest-forms-builder .evf-tab-content select::-moz-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-moz-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button):-ms-input-placeholder,#everest-forms-builder .evf-tab-content select:-ms-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area):-ms-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-ms-input-placeholder,#everest-forms-builder .evf-tab-content select::-ms-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-ms-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::placeholder,#everest-forms-builder .evf-tab-content select::placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button):focus,#everest-forms-builder .evf-tab-content select:focus,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area):focus{outline:0}#everest-forms-builder .evf-tab-content textarea,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area){height:120px}#everest-forms-builder .evf-tab-content .evf-grid-lists{margin-right:-1.5%;margin-left:1.5%;background-color:#f9fafc;display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-content .evf-grid-lists .evf-grid-lists-item{padding-right:1.5%;padding-left:1.5%;background-color:#fff}#everest-forms-builder .evf-tab-content .evf-content-section-title{font-size:24px;font-weight:500;margin-bottom:20px;padding-bottom:20px;line-height:34px;border-bottom:1px solid #efefef}#everest-forms-builder .evf-tab-content .everest-forms-panel-field{margin-bottom:20px}#everest-forms-builder .evf-registered-item{z-index:999;cursor:pointer;border-radius:2px;font-size:12px;text-align:center;margin:0;background-color:#fff;border:1px solid #ebedf0;color:#969696}#everest-forms-builder .evf-registered-item .evf-icon{color:inherit;display:block!important;font-size:32px!important}#everest-forms-builder .evf-registered-item.ui-draggable-dragging{border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;text-align:center!important;font-size:12px!important;box-shadow:0 0 32px rgba(0,0,0,.15)}#everest-forms-builder .evf-choices-list li{clear:both;padding:5px 5px;cursor:pointer}#everest-forms-builder .evf-choices-list li input.value{display:none}#everest-forms-builder .evf-choices-list li input[type=checkbox],#everest-forms-builder .evf-choices-list li input[type=radio]{float:right;margin-top:6px}#everest-forms-builder .evf-choices-list li input[type=text]{height:30px;font-size:12px;width:70%;line-height:12px}#everest-forms-builder .evf-choices-list li a.add,#everest-forms-builder .evf-choices-list li a.remove{margin-top:5px;margin-right:2px;display:inline-block;float:left}#everest-forms-builder .evf-choices-list li:hover{background:#f9f9f9}#everest-forms-builder .everest-forms-field.ui-draggable-dragging{margin:0;border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;background-color:#fff;text-align:center;font-size:12px!important}#everest-forms-builder .everest-forms-field.ui-draggable-dragging .evf-icon{color:inherit;display:block!important;font-size:302x!important}#everest-forms-panel-settings .evf-content-section{display:none}#everest-forms-panel-settings .evf-content-section.active{display:block}.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.evf-cancel-btn,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.evf-confirm-btn,.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.evf-cancel-btn,.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.evf-confirm-btn{padding:7px 15px;background-color:#292929;color:#fff;font-size:12px;text-transform:uppercase;border:0 none;border-radius:5px;cursor:pointer;font-weight:600}@media screen and (max-width:1200px){#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:47%}}@media screen and (max-width:782px){.everest-forms_page_edit-evf-form.auto-fold #wpcontent{padding-right:0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-content-wrap,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar{width:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:30.3%}}@media screen and (max-width:600px){#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap{padding:20px 20px 0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0 0 20px;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-1,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-2,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-3{width:auto}}@media screen and (max-width:480px){#everest-forms-builder .evf-tab-lists li a{padding:15px}#everest-forms-builder .evf-tab-lists li .dashicons{font-size:24px}#everest-forms-builder .evf_save_form_action_button{margin:12px 5px 0 15px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:47%}.jconfirm.jconfirm-light .jconfirm-box,.jconfirm.jconfirm-white .jconfirm-box{width:90%!important}}.evf-overlay{height:100%;width:100%;background:0 0;position:absolute;top:0;left:0;right:0;bottom:0;z-index:1000;padding:20px}.tips{cursor:help;text-decoration:none}img.tips{padding:5px 0 0}#tiptip_holder{display:none;z-index:8675309;position:absolute;top:0;left:0}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-right:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-right:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-right:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-right:-5px;border-left-color:#333}#tiptip_holder.tip_left{padding-left:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-right:-7px;border-right-color:#333}#tiptip_content,.chart-tooltip,.evf_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.chart-tooltip code,.evf_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_arrow{right:50%;margin-right:-6px}.evf_error_tip{max-width:20em;line-height:1.8em;position:absolute;white-space:normal;background:#d82223;margin:1.5em -1em 0 1px;z-index:9999999}.evf_error_tip::after{content:'';display:block;border:8px solid #d82223;border-left-color:transparent;border-right-color:transparent;border-top-color:transparent;position:absolute;top:-3px;right:50%;margin:-1em -3px 0 0}@font-face{font-family:evf-icon;src:url(../fonts/evf-icon.eot?5fwmb3);src:url(../fonts/evf-icon.eot?5fwmb3#iefix) format("embedded-opentype"),url(../fonts/evf-icon.ttf?5fwmb3) format("truetype"),url(../fonts/evf-icon.woff?5fwmb3) format("woff"),url(../fonts/evf-icon.svg?5fwmb3#evf-icon) format("svg");font-weight:400;font-style:normal}[class*=" evf-icon-"],[class^=evf-icon-]{font-family:evf-icon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.evf-icon-last-name:before{content:"\e900"}.evf-icon-first-name:before{content:"\e901"}.evf-icon-checkbox:before{content:"\e902"}.evf-icon-radio:before{content:"\e903"}.evf-icon-file-upload:before{content:"\e904"}.evf-icon-hidden-field:before{content:"\e90a"}.evf-icon-address:before{content:"\e911"}.evf-icon-phone:before{content:"\e912"}.evf-icon-website:before{content:"\e913"}.evf-icon-number:before{content:"\e914"}.evf-icon-dropdown:before{content:"\e915"}.evf-icon-paragraph:before{content:"\e916"}.evf-icon-multiple-choices:before{content:"\e917"}.evf-icon-date-time:before{content:"\e918"}.evf-icon-email:before{content:"\e919"}.evf-icon-text:before{content:"\e91a"}div.jconfirm *,div.jconfirm ::after,div.jconfirm ::before{box-sizing:border-box}div.jconfirm.jconfirm-modern div.jconfirm-box-container div.jconfirm-box{border-radius:0;box-shadow:0 2px 6px rgba(0,0,0,.2)}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content-pane{margin-bottom:20px;display:block}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content-pane .jconfirm-content{overflow:initial}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content{font-size:16px;color:#555;line-height:1.5}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content p{margin:0 0 16px;font-size:16px}div.jconfirm.jconfirm-modern .jconfirm-box input[type=text]{display:block;width:99%;border:1px solid #d6d6d6;padding:10px;box-shadow:none;margin:20px auto 0 auto}div.jconfirm.jconfirm-modern .jconfirm-box #evf-embed-shortcode{margin:20px 0;text-align:center;font-size:24px;padding:8px 5px}div.jconfirm.jconfirm-modern .jconfirm-box #evf-embed-shortcode:disabled{color:#333}div.jconfirm.jconfirm-modern .jconfirm-box button.btn-confirm{background-color:#5d96ee;color:#fff;outline:0}div.jconfirm.jconfirm-modern .jconfirm-box button.btn-confirm:hover{background-color:rgba(93,150,238,.8)}div.jconfirm.jconfirm-modern .jconfirm-box .error{display:none;color:red}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{-webkit-transition:none!important;transition:none!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important;font-size:45px!important}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c .dashicons{height:inherit;width:inherit;font-size:60px}
trunk/assets/css/everest-builder.css ADDED
@@ -0,0 +1 @@
 
1
+ .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}body{margin:0}*{box-sizing:border-box}.everest-forms_page_edit-evf-form #wpcontent{padding-left:0}.everest-forms-add-fields-group .handlediv,.everest-forms-field-option-group .handlediv{float:right}.everest-forms-add-fields-group .handlediv::before,.everest-forms-field-option-group .handlediv::before{content:'\f142'!important;cursor:pointer;display:inline-block;font:400 20px/1 Dashicons;line-height:.5!important;padding:4px;position:relative;right:0;top:0}.everest-forms-add-fields-group.closed .handlediv::before,.everest-forms-field-option-group.closed .handlediv::before{content:'\f140'!important}#everest-forms-builder{margin:0}#everest-forms-builder .evf-builder-tabs{background-color:#7f5aec}#everest-forms-builder a{text-decoration:none}#everest-forms-builder a:focus{outline:0;box-shadow:0 0 0 transparent}#everest-forms-builder .evf-tab-lists{padding:0;margin:0;float:left;list-style:none;display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-lists li{margin-bottom:0}#everest-forms-builder .evf-tab-lists li a{font-size:12px;line-height:24px;color:#fff;padding:10px 30px;display:block;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out}#everest-forms-builder .evf-tab-lists li a.active,#everest-forms-builder .evf-tab-lists li a:hover{color:#575757;background-color:#f9fafc;outline:0}#everest-forms-builder .evf-tab-lists li a:focus{outline:0}#everest-forms-builder .evf-tab-lists li .dashicons{display:block;font-size:32px;width:auto;height:auto}#everest-forms-builder .evf_save_form_action_button{float:right;padding:7px 22px;background-color:#fff;color:#000;font-size:12px;text-transform:uppercase;border:0 none;border-radius:100px;margin:20px 45px 0 20px;cursor:pointer}#everest-forms-builder .evf_save_form_action_button:focus{outline:0}#everest-forms-builder .evf-tab-content .everest-forms-panel{width:100%;display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel.active{display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar-content{display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar{background-color:#f9fafc;width:30%;border-right:1px solid #ebedf0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields{padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields-heading{display:block;font-size:14px;font-weight:500;margin-bottom:15px;padding-bottom:10px;color:#575757;border-bottom:1px solid #efefef}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-add-fields-heading i{float:right;font-size:14px;margin-left:5px;line-height:1.5}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons{margin-right:-1.5%;margin-left:-1.5%;list-style:none;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{margin-left:1.5%;margin-right:1.5%;padding:20px 8px;border:1px solid #ebedf0;width:30.3%;z-index:999;margin-bottom:10px;color:#969696;cursor:pointer;border-radius:2px;font-size:12px;-webkit-transition:.5s color ease-in-out,.5s border-color ease-in-out;transition:.5s color ease-in-out,.5s border-color ease-in-out;text-align:center;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item .dashicons{display:block;margin:0 auto}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover{color:#7ca8eb;border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover .evf-icon{color:inherit}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg{width:40px;height:40px;display:block;margin:0 auto 10px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item svg .cls-3{fill:#414042;-webkit-transition:.5s fill ease-in-out;transition:.5s fill ease-in-out;font-size:7px;font-weight:300}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover{color:#7ca8eb;border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item:hover svg .cls-3{fill:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging{margin:0;border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-1,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-2,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item.ui-draggable-dragging svg .cls-3{fill:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox label,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox label{width:auto;padding:0;display:inline-block;vertical-align:top;height:auto}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-field-option--checkbox input,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting--checkbox input{margin:3px 5px 0 0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options{display:none;background-color:#f0f1f2;height:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group{border-bottom:1px solid #f0f1f2}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row{margin-bottom:15px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row:last-child{margin-bottom:0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-row .inline{margin-bottom:0;display:inline-block;vertical-align:top;margin-left:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option{display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group-toggle{background-color:#f9fafc;padding:15px 20px;font-size:14px;font-weight:600;display:block;color:#404040}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .everest-forms-field-options .everest-forms-field-option-group-inner{background-color:#f0f1f2;padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel{background-color:#f0f1f2;padding:15px 20px;font-size:14px;font-weight:600;display:block;color:#404040;border-bottom:3px solid #f0f1f2}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel .everest-forms-toggle-arrow{float:right;font-size:14px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel.active{background-color:#fff;position:relative;color:#7f5aec;border-color:#7f5aec}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-setting-panel.active::after{position:absolute;content:"";top:0;right:-1px;bottom:0;width:1px;height:100%;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap{background-color:#fff;width:70%;padding:15px 20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-title-desc .everest-forms-form-name{margin-top:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-field-wrapper{padding:0 15px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-field-wrapper.evf-hover{background-color:#d4e3f9}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row{text-align:center}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span{width:40px;height:40px;line-height:30px;padding:5px;color:#fff;background-color:#969696;border-radius:5px;cursor:pointer;-webkit-transition:.5s ease-in-out background-color;transition:.5s ease-in-out background-color;margin-bottom:20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:active,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:focus,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-add-row span:hover{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row{background-color:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0 -15px 30px;position:relative;border:1px solid transparent;-webkit-transition:.5s border,.5s background-color;transition:.5s border,.5s background-color}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:last-child{margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row{background-color:#8ce99a;color:#fff;position:absolute;right:0;top:0;z-index:9999;visibility:hidden;opacity:0;-webkit-transition:.7s all;transition:.7s all;padding:5px 10px;cursor:pointer}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-show-grid{display:inline-block;font-size:12px;letter-spacing:1px;font-weight:600;text-transform:uppercase}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-delete-row{display:inline-block;padding-right:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-delete-row span{font-size:14px;height:auto;line-height:1.2;color:#d9534f}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content{display:none;position:absolute;width:200px;padding:30px;text-align:center;right:-20px;border-radius:11px;background-color:#fff;font-weight:600;font-size:12px;top:40px;box-shadow:0 0 39px rgba(0,0,0,.1);-webkit-transition:.9s background-color;transition:.9s background-color}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content::before{top:-5px;content:"";right:45px;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;position:absolute}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content>span{color:#575757;display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content small{color:#c6ccd7;margin-bottom:10px;display:block}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector{height:30px;width:40px;border:1px solid #d6d8da;display:inline-block;margin:3px;border-radius:3px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span{height:100%;display:inline-block;background:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span:nth-child(n+1){border-left:1px solid #d6d8da}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector span:nth-child(1){border-left:0 none}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector.active{border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-toggle-row .evf-toggle-row-content .evf-grid-selector.active span{border-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover{background-color:#f7fafc;border:1px dashed #5d96ee}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover .evf-admin-grid{border:1px dashed #bdbdbd}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row:hover .evf-toggle-row{opacity:1;visibility:visible}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid{background:#fff;min-height:200px;margin:15px;padding:5px;border:1px solid transparent;-webkit-transition:.5s border,.5s background-color;transition:.5s border,.5s background-color;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover{border:1px dashed #bdbdbd}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover.evf-item-hover{position:relative;box-shadow:0 0 5px rgba(0,100,251,.5)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-hover.evf-item-hover::after{position:absolute;content:"";top:-1px;left:-1px;right:-1px;width:auto;height:15px;background-color:#7ca8eb}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-1{width:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-2{width:50%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-3{width:30%}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid .evf-registered-item{padding:20px;font-size:18px;text-align:left}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid .evf-registered-item .dashicons{font-size:22px;margin-top:3px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-empty-grid{border:1px dashed #bdbdbd;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-empty-grid:before{position:absolute;margin:auto;content:"\f132";font-size:40px;display:block;font-family:dashicons;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);left:50%;top:50%;color:#d6d8da}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field{margin-bottom:30px;padding:15px;position:relative;box-shadow:0 0 15px transparent;-webkit-transition:.5s box-shadow;transition:.5s box-shadow}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:last-child{margin-bottom:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--first,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--last{width:48.5%;margin-right:3%;float:left}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.everest-forms-field--last{margin-right:0;float:right}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action{position:absolute;top:10px;right:5px;visibility:hidden;opacity:0;-webkit-transition:.5s all;transition:.5s all}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action a{color:#7ca8eb;margin-left:5px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field .evf-field-action a.everest-forms-field-delete:hover{color:#d9534f}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:hover{box-shadow:0 0 15px rgba(0,0,0,.1)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field:hover .evf-field-action{visibility:visible;opacity:1}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper{box-shadow:1px 5px 35px rgba(0,0,0,.2);padding:20px 30px;height:auto!important;left:-20px;right:-20px;background-color:#fff}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper::before{position:absolute;left:0;top:0;width:5px;height:100%;background-color:#7f5aec;content:""}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .everest-forms-field.ui-sortable-helper:hover .evf-field-action{display:none}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader{width:100%;border:2px dashed #d5d9e2;background-color:#fbfdfe;border-radius:3px;cursor:pointer;text-align:center;padding-top:30px;padding-bottom:30px;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader svg{width:30px;height:30px;fill:#bbbcbd;margin-bottom:20px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader input.file-input{-ms-touch-action:manipulation;touch-action:manipulation;max-width:100%;min-width:14px;margin:0;opacity:0;height:18px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .drop{display:block;font-size:14px;font-weight:600;color:#969696;margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .or{font-size:12px;color:#bdbdbd;font-weight:500;display:block;margin-bottom:10px}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .file-control{position:absolute;bottom:30px;color:#5d96ee;padding-bottom:2px;display:block;left:0;right:0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .file-uploader .file-control::before{content:"";width:45px;background-color:#5d96ee;height:1px;display:block;left:50%;bottom:-2px;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .publishing-action{width:100%;text-align:right}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .submit-button{display:inline-block;font-size:12px;font-weight:600;color:#fff;padding:15px 20px;border:0 none;background-color:#8ce99a;border-radius:3px}#everest-forms-builder .evf-tab-content label{font-size:12px;margin-bottom:15px;color:#575757;display:block;font-weight:600}#everest-forms-builder .evf-tab-content label i{color:#bdbdbd;font-size:16px;line-height:1.2}#everest-forms-builder .evf-tab-content label .required{margin-left:5px}#everest-forms-builder .evf-tab-content input:not(.ed_button),#everest-forms-builder .evf-tab-content select,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area){border:1px solid #d5d9e2;border-radius:3px;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox],#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio],#everest-forms-builder .evf-tab-content select[type=checkbox],#everest-forms-builder .evf-tab-content select[type=radio],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]{width:16px;height:16px;background-color:#fff}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio],#everest-forms-builder .evf-tab-content select[type=radio],#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]{border-radius:10px}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox]:checked,#everest-forms-builder .evf-tab-content select[type=checkbox]:checked,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox]:checked{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=checkbox]:checked::before,#everest-forms-builder .evf-tab-content select[type=checkbox]:checked::before,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=checkbox]:checked::before{color:#fff;background-color:transparent}#everest-forms-builder .evf-tab-content input:not(.ed_button)[type=radio]:checked::before,#everest-forms-builder .evf-tab-content select[type=radio]:checked::before,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)[type=radio]:checked::before{background-color:#7ca8eb}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-webkit-input-placeholder,#everest-forms-builder .evf-tab-content select::-webkit-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-webkit-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-moz-placeholder,#everest-forms-builder .evf-tab-content select::-moz-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-moz-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button):-ms-input-placeholder,#everest-forms-builder .evf-tab-content select:-ms-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area):-ms-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::-ms-input-placeholder,#everest-forms-builder .evf-tab-content select::-ms-input-placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::-ms-input-placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button)::placeholder,#everest-forms-builder .evf-tab-content select::placeholder,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area)::placeholder{color:#c6ccd7}#everest-forms-builder .evf-tab-content input:not(.ed_button):focus,#everest-forms-builder .evf-tab-content select:focus,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area):focus{outline:0}#everest-forms-builder .evf-tab-content textarea,#everest-forms-builder .evf-tab-content textarea:not(.wp-editor-area){height:120px}#everest-forms-builder .evf-tab-content .evf-grid-lists{margin-left:-1.5%;margin-right:1.5%;background-color:#f9fafc;display:-webkit-box;display:-ms-flexbox;display:flex}#everest-forms-builder .evf-tab-content .evf-grid-lists .evf-grid-lists-item{padding-left:1.5%;padding-right:1.5%;background-color:#fff}#everest-forms-builder .evf-tab-content .evf-content-section-title{font-size:24px;font-weight:500;margin-bottom:20px;padding-bottom:20px;line-height:34px;border-bottom:1px solid #efefef}#everest-forms-builder .evf-tab-content .everest-forms-panel-field{margin-bottom:20px}#everest-forms-builder .evf-registered-item{z-index:999;cursor:pointer;border-radius:2px;font-size:12px;text-align:center;margin:0;background-color:#fff;border:1px solid #ebedf0;color:#969696}#everest-forms-builder .evf-registered-item .evf-icon{color:inherit;display:block!important;font-size:32px!important}#everest-forms-builder .evf-registered-item.ui-draggable-dragging{border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;text-align:center!important;font-size:12px!important;box-shadow:0 0 32px rgba(0,0,0,.15)}#everest-forms-builder .evf-choices-list li{clear:both;padding:5px 5px;cursor:pointer}#everest-forms-builder .evf-choices-list li input.value{display:none}#everest-forms-builder .evf-choices-list li input[type=checkbox],#everest-forms-builder .evf-choices-list li input[type=radio]{float:left;margin-top:6px}#everest-forms-builder .evf-choices-list li input[type=text]{height:30px;font-size:12px;width:70%;line-height:12px}#everest-forms-builder .evf-choices-list li a.add,#everest-forms-builder .evf-choices-list li a.remove{margin-top:5px;margin-left:2px;display:inline-block;float:right}#everest-forms-builder .evf-choices-list li:hover{background:#f9f9f9}#everest-forms-builder .everest-forms-field.ui-draggable-dragging{margin:0;border:1px solid #7ca8eb;width:105px!important;color:#7ca8eb;background-color:#fff;text-align:center;font-size:12px!important}#everest-forms-builder .everest-forms-field.ui-draggable-dragging .evf-icon{color:inherit;display:block!important;font-size:302x!important}#everest-forms-panel-settings .evf-content-section{display:none}#everest-forms-panel-settings .evf-content-section.active{display:block}.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.evf-cancel-btn,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.evf-confirm-btn,.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.evf-cancel-btn,.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.evf-confirm-btn{padding:7px 15px;background-color:#292929;color:#fff;font-size:12px;text-transform:uppercase;border:0 none;border-radius:5px;cursor:pointer;font-weight:600}@media screen and (max-width:1200px){#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:47%}}@media screen and (max-width:782px){.everest-forms_page_edit-evf-form.auto-fold #wpcontent{padding-left:0}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-content-wrap,#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar{width:100%}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:30.3%}}@media screen and (max-width:600px){#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap{padding:20px 20px 0}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0 0 20px;position:relative}#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-1,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-2,#everest-forms-builder .evf-tab-content .everest-forms-panel-content-wrap .evf-admin-row .evf-admin-grid.evf-grid-3{width:auto}}@media screen and (max-width:480px){#everest-forms-builder .evf-tab-lists li a{padding:15px}#everest-forms-builder .evf-tab-lists li .dashicons{font-size:24px}#everest-forms-builder .evf_save_form_action_button{margin:12px 15px 0 5px}#everest-forms-builder .evf-tab-content .everest-forms-panel .everest-forms-panel-sidebar .evf-registered-buttons .evf-registered-item{width:47%}.jconfirm.jconfirm-light .jconfirm-box,.jconfirm.jconfirm-white .jconfirm-box{width:90%!important}}.evf-overlay{height:100%;width:100%;background:0 0;position:absolute;top:0;right:0;left:0;bottom:0;z-index:1000;padding:20px}.tips{cursor:help;text-decoration:none}img.tips{padding:5px 0 0}#tiptip_holder{display:none;z-index:8675309;position:absolute;top:0;left:0}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#333}#tiptip_holder.tip_left{padding-right:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#333}#tiptip_content,.chart-tooltip,.evf_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.chart-tooltip code,.evf_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}.evf_error_tip{max-width:20em;line-height:1.8em;position:absolute;white-space:normal;background:#d82223;margin:1.5em 1px 0 -1em;z-index:9999999}.evf_error_tip::after{content:'';display:block;border:8px solid #d82223;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-3px;left:50%;margin:-1em 0 0 -3px}@font-face{font-family:evf-icon;src:url(../fonts/evf-icon.eot?5fwmb3);src:url(../fonts/evf-icon.eot?5fwmb3#iefix) format("embedded-opentype"),url(../fonts/evf-icon.ttf?5fwmb3) format("truetype"),url(../fonts/evf-icon.woff?5fwmb3) format("woff"),url(../fonts/evf-icon.svg?5fwmb3#evf-icon) format("svg");font-weight:400;font-style:normal}[class*=" evf-icon-"],[class^=evf-icon-]{font-family:evf-icon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.evf-icon-last-name:before{content:"\e900"}.evf-icon-first-name:before{content:"\e901"}.evf-icon-checkbox:before{content:"\e902"}.evf-icon-radio:before{content:"\e903"}.evf-icon-file-upload:before{content:"\e904"}.evf-icon-hidden-field:before{content:"\e90a"}.evf-icon-address:before{content:"\e911"}.evf-icon-phone:before{content:"\e912"}.evf-icon-website:before{content:"\e913"}.evf-icon-number:before{content:"\e914"}.evf-icon-dropdown:before{content:"\e915"}.evf-icon-paragraph:before{content:"\e916"}.evf-icon-multiple-choices:before{content:"\e917"}.evf-icon-date-time:before{content:"\e918"}.evf-icon-email:before{content:"\e919"}.evf-icon-text:before{content:"\e91a"}div.jconfirm *,div.jconfirm ::after,div.jconfirm ::before{box-sizing:border-box}div.jconfirm.jconfirm-modern div.jconfirm-box-container div.jconfirm-box{border-radius:0;box-shadow:0 2px 6px rgba(0,0,0,.2)}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content-pane{margin-bottom:20px;display:block}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content-pane .jconfirm-content{overflow:initial}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content{font-size:16px;color:#555;line-height:1.5}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content p{margin:0 0 16px;font-size:16px}div.jconfirm.jconfirm-modern .jconfirm-box input[type=text]{display:block;width:99%;border:1px solid #d6d6d6;padding:10px;box-shadow:none;margin:20px auto 0 auto}div.jconfirm.jconfirm-modern .jconfirm-box #evf-embed-shortcode{margin:20px 0;text-align:center;font-size:24px;padding:8px 5px}div.jconfirm.jconfirm-modern .jconfirm-box #evf-embed-shortcode:disabled{color:#333}div.jconfirm.jconfirm-modern .jconfirm-box button.btn-confirm{background-color:#5d96ee;color:#fff;outline:0}div.jconfirm.jconfirm-modern .jconfirm-box button.btn-confirm:hover{background-color:rgba(93,150,238,.8)}div.jconfirm.jconfirm-modern .jconfirm-box .error{display:none;color:red}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{-webkit-transition:none!important;transition:none!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important;font-size:45px!important}div.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c .dashicons{height:inherit;width:inherit;font-size:60px}
trunk/assets/css/everest-builder.scss ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "scss/colors";
2
+ @import "scss/clearings";
3
+ @import "scss/admin";
4
+ @import "scss/_evf-icon";
5
+ @import "scss/confirm";
6
+
7
+ /*
8
+ #everest-forms-builder {
9
+
10
+ padding: 20px;
11
+ border: 1px solid #e1e1e1;
12
+ .everest-forms-panels-tabs {
13
+
14
+ button {
15
+
16
+ padding: 10px 20px;
17
+ background: #bec8fb;
18
+ -webkit-box-shadow: none;
19
+ -moz-box-shadow: none;
20
+ box-shadow: none;
21
+ border: 0;
22
+ cursor: pointer;
23
+ &.active, &:hover {
24
+
25
+ background: #ddd;
26
+ }
27
+ }
28
+
29
+ }
30
+ .everest-forms-panels {
31
+
32
+ padding: 10px 20px;
33
+ border: 1px solid #e1e1e1;
34
+
35
+ .everest-forms-panel-sidebar {
36
+ width: 400px;
37
+ background: #f9f9f9;
38
+ padding: 10px;
39
+ border: 1px solid #e1e1e1;
40
+ float: left;
41
+ }
42
+
43
+ .everest-forms-panel-content-wrap {
44
+
45
+ padding: 10px;
46
+
47
+ float: right;
48
+ width: 500px;
49
+ background: #f9f9f9;
50
+ }
51
+ .everest-forms-panel {
52
+ display: none;
53
+ &.active {
54
+ display: block;
55
+ }
56
+ }
57
+
58
+ .everest-forms-field-options {
59
+ display: none;
60
+ }
61
+ }
62
+
63
+ }
64
+
65
+ .everest-forms-panel-content-wrap {
66
+
67
+ .everest-forms-preview {
68
+
69
+ background: #f1f1f1;
70
+
71
+ }
72
+ }
73
+
74
+ .evf-admin-row {
75
+
76
+ position: relative;
77
+ padding: 20px;
78
+
79
+ .evf-admin-grid {
80
+
81
+ position: relative;
82
+ width: 45%;
83
+ float: left;
84
+ border: 1px solid #e1e1e1;
85
+ background: green;
86
+ min-height: 100px;
87
+
88
+ &:nth-of-type(2) {
89
+ background: blue;
90
+ float: right;
91
+
92
+ }
93
+ }
94
+ .evf-toggle-row {
95
+ width: 100px;
96
+ float: right;
97
+ padding: 10px;
98
+ background: #999;
99
+ color: #fff;
100
+ .evf-toggle-row-content {
101
+ display: none;
102
+ .evf-grid-selector {
103
+ height: 20px;
104
+ width: 20px;
105
+ background: #6aabff;
106
+
107
+ padding: 2px;
108
+ float: left;
109
+ margin: 3px;
110
+ span {
111
+ height: 100%;
112
+ display: block;
113
+ float: left;
114
+ background: #fff;
115
+ border-radius: 2px;
116
+ }
117
+ }
118
+ }
119
+
120
+ }
121
+ }
122
+ */
trunk/assets/css/everest-forms-rtl.css ADDED
@@ -0,0 +1 @@
 
1
+ .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}*{box-sizing:border-box}.everest-forms .evf-frontend-row{margin-right:-20px;margin-left:-20px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.everest-forms .evf-frontend-row .evf-frontend-grid{padding-right:20px;padding-left:20px;margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-1{width:100%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2{width:50%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:30%}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field{margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field .evf-label-hide{display:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul{margin:0;padding:0;list-style:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li{display:block;margin-left:20px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{display:inline-block;vertical-align:middle;margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=checkbox],.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=radio]{margin-left:8px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{font-weight:500;color:#575757!important}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid label{color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid textarea{border-color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated textarea{border-color:#5cb85c}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ::-webkit-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-moz-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-ms-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row label{font-size:14px;margin-bottom:20px;color:#575757;display:block;font-weight:600}.everest-forms .evf-frontend-row label .required{color:red;font-weight:700;border:0}.everest-forms .evf-frontend-row label.evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}.everest-forms .evf-frontend-row input,.everest-forms .evf-frontend-row select,.everest-forms .evf-frontend-row textarea{border:1px solid #969696;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px;margin-bottom:0;background-color:transparent;box-shadow:0 0 0 0 transparent;border-radius:0}.everest-forms .evf-frontend-row input[type=checkbox],.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=checkbox],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=checkbox],.everest-forms .evf-frontend-row textarea[type=radio]{width:14px;height:14px;background-color:#fff}.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=radio]{border-radius:10px}.everest-forms .evf-frontend-row input[type=checkbox]:checked,.everest-forms .evf-frontend-row select[type=checkbox]:checked,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked{background-color:#7ca8eb}.everest-forms .evf-frontend-row input[type=checkbox]:checked::before,.everest-forms .evf-frontend-row select[type=checkbox]:checked::before,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked::before{color:#fff;background-color:transparent}.everest-forms .evf-frontend-row input[type=radio]:checked::before,.everest-forms .evf-frontend-row select[type=radio]:checked::before,.everest-forms .evf-frontend-row textarea[type=radio]:checked::before{background-color:#7ca8eb}.everest-forms .evf-frontend-row input::-webkit-input-placeholder,.everest-forms .evf-frontend-row select::-webkit-input-placeholder,.everest-forms .evf-frontend-row textarea::-webkit-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-moz-placeholder,.everest-forms .evf-frontend-row select::-moz-placeholder,.everest-forms .evf-frontend-row textarea::-moz-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:-ms-input-placeholder,.everest-forms .evf-frontend-row select:-ms-input-placeholder,.everest-forms .evf-frontend-row textarea:-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-ms-input-placeholder,.everest-forms .evf-frontend-row select::-ms-input-placeholder,.everest-forms .evf-frontend-row textarea::-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::placeholder,.everest-forms .evf-frontend-row select::placeholder,.everest-forms .evf-frontend-row textarea::placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:focus,.everest-forms .evf-frontend-row select:focus,.everest-forms .evf-frontend-row textarea:focus{outline:0;border:1px solid #7ca8eb}.everest-forms .evf-frontend-row textarea{height:100px}.everest-forms .evf-submit-container{margin-top:30px;text-align:left}.everest-forms .evf-submit{padding:15px 30px;font-size:12px;border:0 none;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out;border-radius:0}.everest-forms .layout-two label{margin-bottom:0}.everest-forms .layout-two .evf-field-checkbox label,.everest-forms .layout-two .evf-field-radio label{margin-bottom:20px}.everest-forms .layout-two input,.everest-forms .layout-two select,.everest-forms .layout-two textarea{border-top:none transparent;border-left:none transparent;border-right:none transparent;border-bottom:1px solid #969696;height:40px;padding:10px 0;background-color:transparent}.everest-forms .layout-two input:focus,.everest-forms .layout-two select:focus,.everest-forms .layout-two textarea:focus{border-top:none transparent;border-left:none transparent;border-right:none transparent}.everest-forms .layout-two textarea{height:80px}.everest-forms .everest-forms-notice{padding:1em 3em;margin:0 0 2em;position:relative;background-color:#7ca8eb;color:#fff;border-radius:5px}.everest-forms .everest-forms-notice::after,.everest-forms .everest-forms-notice::before{content:' ';display:table}.everest-forms .everest-forms-notice::after{clear:both}.everest-forms .everest-forms-notice::before{font-family:dashicons;content:"\f348";position:absolute;top:1em;right:1.5em;color:inherit}.everest-forms .everest-forms-notice .button{float:left}.everest-forms .everest-forms-notice li{list-style:none outside!important;padding-right:0!important;margin-right:0!important}.everest-forms .everest-forms-notice--success{background-color:#5cb85c}.everest-forms .everest-forms-notice--success::before{content:"\f147"}.everest-forms .everest-forms-notice--error{background-color:#d9534f}.everest-forms .everest-forms-notice--error::before{content:"\f534";color:inherit}.everest-forms .everest-forms-notice--error .everest-forms-notice-list{margin:0;list-style:none outside}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item{margin-bottom:.5em}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item:last-child{margin-bottom:0}.evf-recaptcha-row .evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}@media screen and (max-width:768px){.everest-forms .evf-frontend-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0}.everest-forms .evf-frontend-row .evf-frontend-grid{margin-bottom:30px;padding:0}.everest-forms .evf-frontend-row .evf-frontend-grid:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2,.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:100%}}
trunk/assets/css/everest-forms.css ADDED
@@ -0,0 +1 @@
 
1
+ .clearfix::after,.clearfix::before,.container-fluid::after,.container-fluid::before,.container::after,.container::before,.evf-row::after,.evf-row::before{display:table;content:""}.clearfix::after,.container-fluid::after,.container::after,.evf-row::after{clear:both}*{box-sizing:border-box}.everest-forms .evf-frontend-row{margin-left:-20px;margin-right:-20px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.everest-forms .evf-frontend-row .evf-frontend-grid{padding-left:20px;padding-right:20px;margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-1{width:100%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2{width:50%}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:30%}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field{margin-bottom:30px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field .evf-label-hide{display:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul{margin:0;padding:0;list-style:none}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li{display:block;margin-right:20px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{display:inline-block;vertical-align:middle;margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=checkbox],.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li input[type=radio]{margin-right:8px}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ul li label{font-weight:500;color:#575757!important}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid label{color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-invalid textarea{border-color:#d9534f}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated .select2-container,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated input.input-text,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated select,.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field.everest-forms-validated textarea{border-color:#5cb85c}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field ::-webkit-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-moz-placeholder{line-height:normal}.everest-forms .evf-frontend-row .evf-frontend-grid .evf-field :-ms-input-placeholder{line-height:normal}.everest-forms .evf-frontend-row label{font-size:14px;margin-bottom:20px;color:#575757;display:block;font-weight:600}.everest-forms .evf-frontend-row label .required{color:red;font-weight:700;border:0}.everest-forms .evf-frontend-row label.evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}.everest-forms .evf-frontend-row input,.everest-forms .evf-frontend-row select,.everest-forms .evf-frontend-row textarea{border:1px solid #969696;height:45px;width:100%;padding:10px 15px;color:#575757;font-size:14px;margin-bottom:0;background-color:transparent;box-shadow:0 0 0 0 transparent;border-radius:0}.everest-forms .evf-frontend-row input[type=checkbox],.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=checkbox],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=checkbox],.everest-forms .evf-frontend-row textarea[type=radio]{width:14px;height:14px;background-color:#fff}.everest-forms .evf-frontend-row input[type=radio],.everest-forms .evf-frontend-row select[type=radio],.everest-forms .evf-frontend-row textarea[type=radio]{border-radius:10px}.everest-forms .evf-frontend-row input[type=checkbox]:checked,.everest-forms .evf-frontend-row select[type=checkbox]:checked,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked{background-color:#7ca8eb}.everest-forms .evf-frontend-row input[type=checkbox]:checked::before,.everest-forms .evf-frontend-row select[type=checkbox]:checked::before,.everest-forms .evf-frontend-row textarea[type=checkbox]:checked::before{color:#fff;background-color:transparent}.everest-forms .evf-frontend-row input[type=radio]:checked::before,.everest-forms .evf-frontend-row select[type=radio]:checked::before,.everest-forms .evf-frontend-row textarea[type=radio]:checked::before{background-color:#7ca8eb}.everest-forms .evf-frontend-row input::-webkit-input-placeholder,.everest-forms .evf-frontend-row select::-webkit-input-placeholder,.everest-forms .evf-frontend-row textarea::-webkit-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-moz-placeholder,.everest-forms .evf-frontend-row select::-moz-placeholder,.everest-forms .evf-frontend-row textarea::-moz-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:-ms-input-placeholder,.everest-forms .evf-frontend-row select:-ms-input-placeholder,.everest-forms .evf-frontend-row textarea:-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::-ms-input-placeholder,.everest-forms .evf-frontend-row select::-ms-input-placeholder,.everest-forms .evf-frontend-row textarea::-ms-input-placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input::placeholder,.everest-forms .evf-frontend-row select::placeholder,.everest-forms .evf-frontend-row textarea::placeholder{color:#c6ccd7}.everest-forms .evf-frontend-row input:focus,.everest-forms .evf-frontend-row select:focus,.everest-forms .evf-frontend-row textarea:focus{outline:0;border:1px solid #7ca8eb}.everest-forms .evf-frontend-row textarea{height:100px}.everest-forms .evf-submit-container{margin-top:30px;text-align:right}.everest-forms .evf-submit{padding:15px 30px;font-size:12px;border:0 none;cursor:pointer;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out;border-radius:0}.everest-forms .layout-two label{margin-bottom:0}.everest-forms .layout-two .evf-field-checkbox label,.everest-forms .layout-two .evf-field-radio label{margin-bottom:20px}.everest-forms .layout-two input,.everest-forms .layout-two select,.everest-forms .layout-two textarea{border-top:none transparent;border-right:none transparent;border-left:none transparent;border-bottom:1px solid #969696;height:40px;padding:10px 0;background-color:transparent}.everest-forms .layout-two input:focus,.everest-forms .layout-two select:focus,.everest-forms .layout-two textarea:focus{border-top:none transparent;border-right:none transparent;border-left:none transparent}.everest-forms .layout-two textarea{height:80px}.everest-forms .everest-forms-notice{padding:1em 3em;margin:0 0 2em;position:relative;background-color:#7ca8eb;color:#fff;border-radius:5px}.everest-forms .everest-forms-notice::after,.everest-forms .everest-forms-notice::before{content:' ';display:table}.everest-forms .everest-forms-notice::after{clear:both}.everest-forms .everest-forms-notice::before{font-family:dashicons;content:"\f348";position:absolute;top:1em;left:1.5em;color:inherit}.everest-forms .everest-forms-notice .button{float:right}.everest-forms .everest-forms-notice li{list-style:none outside!important;padding-left:0!important;margin-left:0!important}.everest-forms .everest-forms-notice--success{background-color:#5cb85c}.everest-forms .everest-forms-notice--success::before{content:"\f147"}.everest-forms .everest-forms-notice--error{background-color:#d9534f}.everest-forms .everest-forms-notice--error::before{content:"\f534";color:inherit}.everest-forms .everest-forms-notice--error .everest-forms-notice-list{margin:0;list-style:none outside}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item{margin-bottom:.5em}.everest-forms .everest-forms-notice--error .everest-forms-notice-list .everest-forms-notice-list__item:last-child{margin-bottom:0}.evf-recaptcha-row .evf-error{border:1px solid #d9534f;background-color:#f9e2e2;padding:7px 10px;color:#c9302c;display:inline-block;margin-top:15px;margin-bottom:0;border-radius:3px;font-weight:300}@media screen and (max-width:768px){.everest-forms .evf-frontend-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0}.everest-forms .evf-frontend-row .evf-frontend-grid{margin-bottom:30px;padding:0}.everest-forms .evf-frontend-row .evf-frontend-grid:last-child{margin-bottom:0}.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-2,.everest-forms .evf-frontend-row .evf-frontend-grid.evf-grid-3{width:100%}}
trunk/assets/css/everest-forms.scss ADDED
@@ -0,0 +1,334 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "scss/colors";
2
+ @import "scss/clearings";
3
+
4
+ *{
5
+ box-sizing: border-box;
6
+ }
7
+
8
+ .everest-forms {
9
+ .evf-frontend-row {
10
+ margin-left: -20px;
11
+ margin-right: -20px;
12
+ display: flex;
13
+ flex-wrap: wrap;
14
+
15
+ .evf-frontend-grid {
16
+ padding-left: 20px;
17
+ padding-right: 20px;
18
+ margin-bottom: 30px;
19
+
20
+ &.evf-grid-1 {
21
+ width: 100%;
22
+ }
23
+
24
+ &.evf-grid-2 {
25
+ width: 50%;
26
+ }
27
+
28
+ &.evf-grid-3 {
29
+ width: 30%;
30
+
31
+ }
32
+
33
+ .evf-field {
34
+ margin-bottom: 30px;
35
+
36
+ &:last-child {
37
+ margin-bottom: 0;
38
+ }
39
+ .evf-label-hide{
40
+ display:none;
41
+ }
42
+
43
+ ul {
44
+ margin: 0;
45
+ padding: 0;
46
+ list-style: none;
47
+
48
+ li {
49
+ display: block;
50
+ margin-right: 20px;
51
+
52
+ label,
53
+ input {
54
+ display: inline-block;
55
+ vertical-align: middle;
56
+ margin-bottom: 0;
57
+ }
58
+
59
+ input[type="checkbox"],
60
+ input[type="radio"] {
61
+ margin-right: 8px;
62
+ }
63
+
64
+ label {
65
+ font-weight: 500;
66
+ color: $color-gray-darker !important;
67
+ }
68
+ }
69
+ }
70
+
71
+ &.everest-forms-invalid {
72
+ label {
73
+ color: $color-alert-danger;
74
+ }
75
+
76
+ .select2-container,
77
+ input.input-text,
78
+ select,
79
+ textarea {
80
+ border-color: $color-alert-danger;
81
+ }
82
+ }
83
+
84
+ &.everest-forms-validated {
85
+ .select2-container,
86
+ input.input-text,
87
+ select,
88
+ textarea {
89
+ border-color: $color-alert-success;
90
+ }
91
+ }
92
+
93
+ ::-webkit-input-placeholder {
94
+ line-height: normal;
95
+ }
96
+
97
+ :-moz-placeholder {
98
+ line-height: normal;
99
+ }
100
+
101
+ :-ms-input-placeholder {
102
+ line-height: normal;
103
+ }
104
+ }
105
+ }
106
+
107
+ label {
108
+ font-size: 14px;
109
+ margin-bottom: 20px;
110
+ color: $color-gray-darker;
111
+ display: block;
112
+ font-weight: 600;
113
+
114
+ .required {
115
+ color: red;
116
+ font-weight: 700;
117
+ border: 0;
118
+ }
119
+
120
+ &.evf-error {
121
+ border: 1px solid $color-alert-danger;
122
+ background-color: lighten($color-alert-danger, 35%);
123
+ padding: 7px 10px;
124
+ color:darken($color-alert-danger, 10%);
125
+ display: inline-block;
126
+ margin-top: 15px;
127
+ margin-bottom: 0;
128
+ border-radius: 3px;
129
+ font-weight: 300;
130
+ }
131
+ }
132
+
133
+ input,
134
+ select,
135
+ textarea {
136
+ border: 1px solid $color-gray;
137
+ height: 45px;
138
+ width: 100%;
139
+ padding: 10px 15px;
140
+ color: $color-gray-darker;;
141
+ font-size: 14px;
142
+ margin-bottom: 0;
143
+ background-color: transparent;
144
+ box-shadow: 0 0 0 0 transparent;
145
+ border-radius: 0;
146
+
147
+ &[type="checkbox"],
148
+ &[type="radio"] {
149
+ width: 14px;
150
+ height: 14px;
151
+ background-color: $color-white;
152
+
153
+ }
154
+
155
+ &[type="radio"] {
156
+ border-radius: 10px;
157
+ }
158
+
159
+ &[type="checkbox"]:checked {
160
+ background-color: $color-brand-primary;
161
+
162
+ &::before {
163
+ color: $color-white;
164
+ background-color: transparent;
165
+ }
166
+ }
167
+
168
+ &[type="radio"]:checked {
169
+ &::before {
170
+ background-color: $color-brand-primary;
171
+ }
172
+ }
173
+
174
+ &::placeholder {
175
+ color: $input-color;
176
+ }
177
+
178
+ &:focus {
179
+ outline: none;
180
+ border: 1px solid $color-brand-primary;
181
+ }
182
+ }
183
+
184
+ textarea {
185
+ height: 100px;
186
+ }
187
+ }
188
+
189
+ .evf-submit-container {
190
+ margin-top: 30px;
191
+ text-align: right;
192
+ }
193
+
194
+ .evf-submit {
195
+ padding: 15px 30px;
196
+ font-size: 12px;
197
+ border: 0 none;
198
+ cursor: pointer;
199
+ transition: .5s background-color ease-in-out;
200
+ border-radius: 0;
201
+ }
202
+
203
+ .layout-two {
204
+ label {
205
+ margin-bottom: 0;
206
+ }
207
+
208
+ .evf-field-checkbox,
209
+ .evf-field-radio {
210
+ label {
211
+ margin-bottom: 20px;
212
+ }
213
+ }
214
+
215
+ input,
216
+ select,
217
+ textarea {
218
+ border-top:none transparent;
219
+ border-right:none transparent;
220
+ border-left:none transparent;
221
+ border-bottom: 1px solid $color-gray;
222
+ height: 40px;
223
+ padding: 10px 0;
224
+ background-color: transparent;
225
+
226
+ &:focus {
227
+ border-top:none transparent;
228
+ border-right:none transparent;
229
+ border-left:none transparent;
230
+ }
231
+ }
232
+
233
+ textarea {
234
+ height: 80px;
235
+ }
236
+ }
237
+ /**
238
+ * Notices.
239
+ */
240
+
241
+ .everest-forms-notice {
242
+ padding: 1em 3em;
243
+ margin: 0 0 2em;
244
+ position: relative;
245
+ background-color: $color-brand-primary;
246
+ color: $color-white;
247
+ border-radius: 5px;
248
+ @include clearfix();
249
+
250
+ &::before {
251
+ font-family: 'dashicons';
252
+ content: "\f348";
253
+ position: absolute;
254
+ top: 1em;
255
+ left: 1.5em;
256
+ color:inherit;
257
+ }
258
+
259
+ .button {
260
+ float: right;
261
+ }
262
+
263
+ li {
264
+ list-style: none outside !important; // Required for default theme compatibility
265
+ padding-left: 0 !important; // Required for default theme compatibility
266
+ margin-left: 0 !important; // Required for default theme compatibility
267
+ }
268
+ }
269
+
270
+ .everest-forms-notice--success {
271
+ background-color: $color-alert-success;
272
+
273
+ &::before {
274
+ content: "\f147";
275
+ }
276
+ }
277
+
278
+ .everest-forms-notice--error {
279
+ background-color: $color-alert-danger;
280
+
281
+ &::before {
282
+ content: "\f534";
283
+ color: inherit;
284
+ }
285
+
286
+ .everest-forms-notice-list {
287
+ margin: 0;
288
+ list-style: none outside;
289
+
290
+ .everest-forms-notice-list__item {
291
+ margin-bottom: .5em;
292
+ }
293
+ .everest-forms-notice-list__item:last-child {
294
+ margin-bottom: 0;
295
+ }
296
+ }
297
+ }
298
+ }
299
+
300
+ .evf-recaptcha-row .evf-error {
301
+ border: 1px solid $color-alert-danger;
302
+ background-color: lighten($color-alert-danger, 35%);
303
+ padding: 7px 10px;
304
+ color:darken($color-alert-danger, 10%);
305
+ display: inline-block;
306
+ margin-top: 15px;
307
+ margin-bottom: 0;
308
+ border-radius: 3px;
309
+ font-weight: 300;
310
+ }
311
+
312
+
313
+ @media screen and (max-width: 768px) {
314
+ .everest-forms {
315
+ .evf-frontend-row {
316
+ flex-direction: column;
317
+ margin: 0;
318
+
319
+ .evf-frontend-grid {
320
+ margin-bottom: 30px;
321
+ padding: 0;
322
+
323
+ &:last-child {
324
+ margin-bottom: 0;
325
+ }
326
+
327
+ &.evf-grid-2,
328
+ &.evf-grid-3 {
329
+ width: 100%;
330
+ }
331
+ }
332
+ }
333
+ }
334
+ }
trunk/assets/css/evf-add-form-rtl.css ADDED
@@ -0,0 +1 @@
 
1
+ #evf-modal-wrap{display:none;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:220px;overflow:hidden;margin-right:-250px;margin-top:-125px;position:fixed;top:50%;right:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#evf-modal-backdrop{display:none;position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:100100}#evf-modal{position:relative;height:100%}#evf-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;top:0;left:0;right:0}#evf-modal-close{color:#666;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center;background:100% 0;border:none;cevfsor:pointer}#evf-modal-close:before{font:normal 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#evf-modal-close:focus,#evf-modal-close:hover{color:#2ea2cc}#evf-modal-close:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#evf-modal-inner{padding:0 16px 50px}#evf-modal-search-toggle:after{display:inline-block;font:normal 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}#evf-modal #evf-modal-options{padding:8px 0 12px}#evf-modal #evf-modal-options .evf-modal-inline{display:inline-block;margin:0;padding:0 0 0 20px}#evf-modal-select-form{margin-bottom:1em;max-width:100%}#evf-modal .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;right:0;left:0}#evf-modal-cancel{line-height:25px;float:right}#evf-modal-update{line-height:23px;float:left}#evf-modal-submit{float:left;margin-bottom:0}@media screen and (max-width:782px){#evf-modal-wrap{height:280px;margin-top:-140px}#evf-modal-inner{padding:0 16px 60px}#evf-modal-cancel{line-height:32px}}@media screen and (max-width:520px){#evf-modal-wrap{width:auto;margin-right:0;right:10px;left:10px;max-width:500px}}@media screen and (max-height:520px){#evf-modal-wrap{-webkit-transition:none;transition:none}}@media screen and (max-height:290px){#evf-modal-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#evf-modal-inner{overflow:auto;height:calc(100% - 92px);padding-bottom:2px}}
trunk/assets/css/evf-add-form.css ADDED
@@ -0,0 +1 @@
 
1
+ #evf-modal-wrap{display:none;background-color:#fff;box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:220px;overflow:hidden;margin-left:-250px;margin-top:-125px;position:fixed;top:50%;left:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#evf-modal-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:100100}#evf-modal{position:relative;height:100%}#evf-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;top:0;right:0;left:0}#evf-modal-close{color:#666;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cevfsor:pointer}#evf-modal-close:before{font:normal 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#evf-modal-close:focus,#evf-modal-close:hover{color:#2ea2cc}#evf-modal-close:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#evf-modal-inner{padding:0 16px 50px}#evf-modal-search-toggle:after{display:inline-block;font:normal 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}#evf-modal #evf-modal-options{padding:8px 0 12px}#evf-modal #evf-modal-options .evf-modal-inline{display:inline-block;margin:0;padding:0 20px 0 0}#evf-modal-select-form{margin-bottom:1em;max-width:100%}#evf-modal .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;left:0;right:0}#evf-modal-cancel{line-height:25px;float:left}#evf-modal-update{line-height:23px;float:right}#evf-modal-submit{float:right;margin-bottom:0}@media screen and (max-width:782px){#evf-modal-wrap{height:280px;margin-top:-140px}#evf-modal-inner{padding:0 16px 60px}#evf-modal-cancel{line-height:32px}}@media screen and (max-width:520px){#evf-modal-wrap{width:auto;margin-left:0;left:10px;right:10px;max-width:500px}}@media screen and (max-height:520px){#evf-modal-wrap{-webkit-transition:none;transition:none}}@media screen and (max-height:290px){#evf-modal-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#evf-modal-inner{overflow:auto;height:calc(100% - 92px);padding-bottom:2px}}
trunk/assets/css/evf-form-modal-rtl.css ADDED
@@ -0,0 +1 @@
 
1
+ .evf-backbone-modal *{box-sizing:border-box}.evf-backbone-modal .evf-backbone-modal-content{position:fixed;background:#fff;z-index:100000;right:50%;top:50%;-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);width:500px}.evf-backbone-modal .evf-backbone-modal-content article{overflow:auto}.evf-backbone-modal .select2-container{width:100%!important}.evf-backbone-modal-backdrop{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:99900}.evf-backbone-modal-main{padding-bottom:55px}.evf-backbone-modal-main article,.evf-backbone-modal-main header{display:block;position:relative}.evf-backbone-modal-main .evf-backbone-modal-header{height:auto;background:#fcfcfc;padding:1em 1.5em;border-bottom:1px solid #ddd}.evf-backbone-modal-main .evf-backbone-modal-header h1{margin:0;font-size:18px;font-weight:700;line-height:1.5em}.evf-backbone-modal-main .evf-backbone-modal-header .modal-close-link{cursor:pointer;color:#777;height:54px;width:54px;padding:0;position:absolute;top:0;left:0;text-align:center;border:0;border-right:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.evf-backbone-modal-main .evf-backbone-modal-header .modal-close-link::before{font:normal 22px/50px dashicons!important;color:#666;display:block;content:'\f335';font-weight:300}.evf-backbone-modal-main .evf-backbone-modal-header .modal-close-link:focus,.evf-backbone-modal-main .evf-backbone-modal-header .modal-close-link:hover{background:#ddd;border-color:#ccc;color:#000}.evf-backbone-modal-main .evf-backbone-modal-header .modal-close-link:focus{outline:0}.evf-backbone-modal-main article{padding:1.5em}.evf-backbone-modal-main article p{margin:1.5em 0}.evf-backbone-modal-main article p:first-child{margin-top:0}.evf-backbone-modal-main article p:last-child{margin-bottom:0}.evf-backbone-modal-main article .pagination{padding:10px 0 0;text-align:center}.evf-backbone-modal-main footer{position:absolute;right:0;left:0;bottom:0;z-index:100;padding:1em 1.5em;background:#fcfcfc;border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px rgba(0,0,0,.1)}.evf-backbone-modal-main footer .inner{float:left;line-height:23px}.evf-backbone-modal-main footer .inner .button{margin-bottom:0}.everest-forms_page_edit-evf-form *{box-sizing:border-box}.everest-forms_page_edit-evf-form #wpcontent{padding-right:0}.everest-forms_page_edit-evf-form .everest-forms{width:600px;margin:100px auto 50px;background-color:#fff;border:1px solid #d6d8da}.everest-forms_page_edit-evf-form .everest-forms span{font-size:12px;margin-bottom:15px;color:#575757;display:inline-block;font-weight:600}.everest-forms_page_edit-evf-form .everest-forms .everest-forms-setup-form-name{padding:15px 20px;border-bottom:1px solid #d6d8da}.everest-forms_page_edit-evf-form .everest-forms .everest-forms-setup-form-name .everest-forms-setup-name{margin-right:40px;padding:10px;height:45px;width:400px}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-title{width:auto;font-size:24px;line-height:34px;font-weight:600;color:#575757;padding:15px 20px 10px}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-title p.desc{font-weight:400}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates{height:290px;display:block;padding:0 20px;text-align:right}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template{width:48%;float:right;display:inline-block;vertical-align:top;position:relative}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template img{width:100%;display:block}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template:nth-child(even){float:left}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay{position:absolute;background-color:rgba(0,0,0,.5);top:0;right:0;left:0;bottom:0;opacity:0;visibility:hidden;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out;color:#fff;text-align:center;padding:40% 0}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay .evf-template-select{text-decoration:none}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button,.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button:after,.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button:before{background:#fff;-webkit-animation:load1 1s infinite ease-in-out;animation:load1 1s infinite ease-in-out;width:1em;height:4em;padding:0;border-radius:0}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button{color:#fff;text-indent:-9999em;margin:0 auto;position:relative;font-size:11px;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation-delay:-.16s;animation-delay:-.16s}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button:after,.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button:before{position:absolute;top:0;content:''}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button:before{right:-1.5em;-webkit-animation-delay:-.32s;animation-delay:-.32s}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button:after{right:1.5em}@-webkit-keyframes load1{0%,100%,80%{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}@keyframes load1{0%,100%,80%{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading,.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template:hover .evf-template-overlay{opacity:1;visibility:visible}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-button{display:inline-block;padding:15px 22px;background-color:#fff;color:#000;font-size:12px;text-transform:uppercase;border:none;border-radius:100px}@media screen and (max-width:782px){.everest-forms_page_edit-evf-form .everest-forms #everest-forms-setup-name{width:auto}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-desc a{width:200px}}@media screen and (max-width:600px){.everest-forms_page_edit-evf-form .everest-forms{width:100%;margin:20px 0}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-desc a{display:block;margin-bottom:30px;text-align:center;width:100%;margin-right:0}}
trunk/assets/css/evf-form-modal.css ADDED
@@ -0,0 +1 @@
 
1
+ .evf-backbone-modal *{box-sizing:border-box}.evf-backbone-modal .evf-backbone-modal-content{position:fixed;background:#fff;z-index:100000;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:500px}.evf-backbone-modal .evf-backbone-modal-content article{overflow:auto}.evf-backbone-modal .select2-container{width:100%!important}.evf-backbone-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:99900}.evf-backbone-modal-main{padding-bottom:55px}.evf-backbone-modal-main article,.evf-backbone-modal-main header{display:block;position:relative}.evf-backbone-modal-main .evf-backbone-modal-header{height:auto;background:#fcfcfc;padding:1em 1.5em;border-bottom:1px solid #ddd}.evf-backbone-modal-main .evf-backbone-modal-header h1{margin:0;font-size:18px;font-weight:700;line-height:1.5em}.evf-backbone-modal-main .evf-backbone-modal-header .modal-close-link{cursor:pointer;color:#777;height:54px;width:54px;padding:0;position:absolute;top:0;right:0;text-align:center;border:0;border-left:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.evf-backbone-modal-main .evf-backbone-modal-header .modal-close-link::before{font:normal 22px/50px dashicons!important;color:#666;display:block;content:'\f335';font-weight:300}.evf-backbone-modal-main .evf-backbone-modal-header .modal-close-link:focus,.evf-backbone-modal-main .evf-backbone-modal-header .modal-close-link:hover{background:#ddd;border-color:#ccc;color:#000}.evf-backbone-modal-main .evf-backbone-modal-header .modal-close-link:focus{outline:0}.evf-backbone-modal-main article{padding:1.5em}.evf-backbone-modal-main article p{margin:1.5em 0}.evf-backbone-modal-main article p:first-child{margin-top:0}.evf-backbone-modal-main article p:last-child{margin-bottom:0}.evf-backbone-modal-main article .pagination{padding:10px 0 0;text-align:center}.evf-backbone-modal-main footer{position:absolute;left:0;right:0;bottom:0;z-index:100;padding:1em 1.5em;background:#fcfcfc;border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px rgba(0,0,0,.1)}.evf-backbone-modal-main footer .inner{float:right;line-height:23px}.evf-backbone-modal-main footer .inner .button{margin-bottom:0}.everest-forms_page_edit-evf-form *{box-sizing:border-box}.everest-forms_page_edit-evf-form #wpcontent{padding-left:0}.everest-forms_page_edit-evf-form .everest-forms{width:600px;margin:100px auto 50px;background-color:#fff;border:1px solid #d6d8da}.everest-forms_page_edit-evf-form .everest-forms span{font-size:12px;margin-bottom:15px;color:#575757;display:inline-block;font-weight:600}.everest-forms_page_edit-evf-form .everest-forms .everest-forms-setup-form-name{padding:15px 20px;border-bottom:1px solid #d6d8da}.everest-forms_page_edit-evf-form .everest-forms .everest-forms-setup-form-name .everest-forms-setup-name{margin-left:40px;padding:10px;height:45px;width:400px}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-title{width:auto;font-size:24px;line-height:34px;font-weight:600;color:#575757;padding:15px 20px 10px}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-title p.desc{font-weight:400}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates{height:290px;display:block;padding:0 20px;text-align:left}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template{width:48%;float:left;display:inline-block;vertical-align:top;position:relative}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template img{width:100%;display:block}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template:nth-child(even){float:right}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay{position:absolute;background-color:rgba(0,0,0,.5);top:0;left:0;right:0;bottom:0;opacity:0;visibility:hidden;-webkit-transition:.5s background-color ease-in-out;transition:.5s background-color ease-in-out;color:#fff;text-align:center;padding:40% 0}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay .evf-template-select{text-decoration:none}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button,.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button:after,.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button:before{background:#fff;-webkit-animation:load1 1s infinite ease-in-out;animation:load1 1s infinite ease-in-out;width:1em;height:4em;padding:0;border-radius:0}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button{color:#fff;text-indent:-9999em;margin:0 auto;position:relative;font-size:11px;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation-delay:-.16s;animation-delay:-.16s}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button:after,.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button:before{position:absolute;top:0;content:''}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button:before{left:-1.5em;-webkit-animation-delay:-.32s;animation-delay:-.32s}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading .evf-button:after{left:1.5em}@-webkit-keyframes load1{0%,100%,80%{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}@keyframes load1{0%,100%,80%{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-template-overlay.loading,.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template:hover .evf-template-overlay{opacity:1;visibility:visible}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-templates .evf-template .evf-button{display:inline-block;padding:15px 22px;background-color:#fff;color:#000;font-size:12px;text-transform:uppercase;border:none;border-radius:100px}@media screen and (max-width:782px){.everest-forms_page_edit-evf-form .everest-forms #everest-forms-setup-name{width:auto}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-desc a{width:200px}}@media screen and (max-width:600px){.everest-forms_page_edit-evf-form .everest-forms{width:100%;margin:20px 0}.everest-forms_page_edit-evf-form .everest-forms .evf-setup-desc a{display:block;margin-bottom:30px;text-align:center;width:100%;margin-left:0}}
trunk/assets/css/evf-form-modal.scss ADDED
@@ -0,0 +1,208 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ @import "scss/backbone";
3
+ @import "scss/colors";
4
+
5
+ /**
6
+ * Styling begins
7
+ */
8
+ .everest-forms_page_edit-evf-form {
9
+ * {
10
+ box-sizing: border-box;
11
+ }
12
+
13
+ #wpcontent {
14
+ padding-left: 0;
15
+ }
16
+
17
+ .everest-forms {
18
+ width: 600px;
19
+ margin: 100px auto 50px;
20
+ background-color: $color-white;
21
+ border: 1px solid $color-gray-lighter;
22
+
23
+ span {
24
+ font-size: 12px;
25
+ margin-bottom: 15px;
26
+ color: $color-gray-darker;
27
+ display: inline-block;
28
+ font-weight: 600;
29
+ }
30
+
31
+ .everest-forms-setup-form-name {
32
+ padding: 15px 20px;
33
+ border-bottom: 1px solid $color-gray-lighter;
34
+
35
+ .everest-forms-setup-name {
36
+ margin-left: 40px;
37
+ padding: 10px;
38
+ height: 45px;
39
+ width: 400px;
40
+ }
41
+ }
42
+
43
+ .evf-setup-title {
44
+ width: auto;
45
+ font-size: 24px;
46
+ line-height: 34px;
47
+ font-weight: 600;
48
+ color: $color-gray-darker;
49
+ padding: 15px 20px 10px;
50
+
51
+ p.desc {
52
+ font-weight: normal;
53
+ }
54
+ }
55
+
56
+ .evf-setup-templates {
57
+ height: 290px;
58
+ display: block;
59
+ padding: 0 20px;
60
+ text-align: left;
61
+
62
+ .evf-template {
63
+ width: 48%;
64
+ float: left;
65
+ display: inline-block;
66
+ vertical-align: top;
67
+ position: relative;
68
+
69
+ img {
70
+ width:100%;
71
+ display: block;
72
+ }
73
+
74
+ &:nth-child( even ) {
75
+ float: right;
76
+ }
77
+
78
+ .evf-template-overlay {
79
+ position: absolute;
80
+ background-color: rgba(0,0,0,0.5);
81
+ top: 0;
82
+ left: 0;
83
+ right: 0;
84
+ bottom: 0;
85
+ opacity: 0;
86
+ visibility: hidden;
87
+ transition: 0.5s background-color ease-in-out;
88
+ color: $color-white;
89
+ text-align: center;
90
+ padding: 40% 0;
91
+
92
+ .evf-template-select {
93
+ text-decoration: none;
94
+ }
95
+
96
+ &.loading {
97
+ .evf-button,
98
+ .evf-button:before,
99
+ .evf-button:after {
100
+ background: #ffffff;
101
+ -webkit-animation: load1 1s infinite ease-in-out;
102
+ animation: load1 1s infinite ease-in-out;
103
+ width: 1em;
104
+ height: 4em;
105
+ padding: 0;
106
+ border-radius: 0;
107
+ }
108
+ .evf-button {
109
+ color: #ffffff;
110
+ text-indent: -9999em;
111
+ margin: 0 auto;
112
+ position: relative;
113
+ font-size: 11px;
114
+ -webkit-transform: translateZ(0);
115
+ -ms-transform: translateZ(0);
116
+ transform: translateZ(0);
117
+ -webkit-animation-delay: -0.16s;
118
+ animation-delay: -0.16s;
119
+ }
120
+ .evf-button:before,
121
+ .evf-button:after {
122
+ position: absolute;
123
+ top: 0;
124
+ content: '';
125
+ }
126
+ .evf-button:before {
127
+ left: -1.5em;
128
+ -webkit-animation-delay: -0.32s;
129
+ animation-delay: -0.32s;
130
+ }
131
+ .evf-button:after {
132
+ left: 1.5em;
133
+ }
134
+ @-webkit-keyframes load1 {
135
+ 0%,
136
+ 80%,
137
+ 100% {
138
+ box-shadow: 0 0;
139
+ height: 4em;
140
+ }
141
+ 40% {
142
+ box-shadow: 0 -2em;
143
+ height: 5em;
144
+ }
145
+ }
146
+ @keyframes load1 {
147
+ 0%,
148
+ 80%,
149
+ 100% {
150
+ box-shadow: 0 0;
151
+ height: 4em;
152
+ }
153
+ 40% {
154
+ box-shadow: 0 -2em;
155
+ height: 5em;
156
+ }
157
+ }
158
+
159
+ }
160
+ }
161
+
162
+ &:hover .evf-template-overlay,
163
+ .evf-template-overlay.loading {
164
+ opacity: 1;
165
+ visibility: visible;
166
+ }
167
+
168
+ .evf-button {
169
+ display: inline-block;
170
+ padding: 15px 22px;
171
+ background-color: #fff;
172
+ color: #000;
173
+ font-size: 12px;
174
+ text-transform: uppercase;
175
+ border: none;
176
+ border-radius: 100px;
177
+ }
178
+ }
179
+ }
180
+ }
181
+ }
182
+
183
+ @media screen and (max-width: 782px) {
184
+ .everest-forms_page_edit-evf-form .everest-forms {
185
+ #everest-forms-setup-name {
186
+ width: auto;
187
+ }
188
+
189
+ .evf-setup-desc a {
190
+ width: 200px;
191
+ }
192
+ }
193
+ }
194
+
195
+ @media screen and (max-width: 600px) {
196
+ .everest-forms_page_edit-evf-form .everest-forms {
197
+ width: 100%;
198
+ margin: 20px 0;
199
+
200
+ .evf-setup-desc a {
201
+ display: block;
202
+ margin-bottom: 30px;
203
+ text-align: center;
204
+ width: 100%;
205
+ margin-left: 0;
206
+ }
207
+ }
208
+ }
trunk/assets/css/jquery-ui-datepicker/jquery-ui-datepicker-rtl.css ADDED
@@ -0,0 +1 @@
 
1
+ .ui-datepicker{padding:0;margin:0;border-radius:0;background-color:#fff;border:1px solid #dfdfdf;border-top:none;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075);width:auto}.ui-datepicker *{padding:0;border-radius:0}.ui-datepicker table{width:auto;margin:0;border:none;border-collapse:collapse}.ui-datepicker .ui-datepicker-header,.ui-datepicker .ui-widget-header{background-image:none;border:none;font-weight:400}.ui-datepicker .ui-datepicker-header .ui-state-hover{background:0 0;border-color:transparent;cursor:pointer}.ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;font-size:14px;line-height:14px;text-align:center}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{position:relative;top:0;height:34px;width:34px}.ui-datepicker .ui-state-hover.ui-datepicker-next,.ui-datepicker .ui-state-hover.ui-datepicker-prev{border:none}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-prev-hover{right:0}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-next-hover{left:0}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:none}.ui-datepicker .ui-datepicker-prev{float:right}.ui-datepicker .ui-datepicker-next{float:left}.ui-datepicker .ui-datepicker-next:before,.ui-datepicker .ui-datepicker-prev:before{font:normal 20px/34px dashicons;padding-right:7px;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px}.ui-datepicker .ui-datepicker-prev:before{content:'\f341'}.ui-datepicker .ui-datepicker-next:before{content:'\f345'}.ui-datepicker .ui-datepicker-next-hover:before,.ui-datepicker .ui-datepicker-prev-hover:before{opacity:.7}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:33%}.ui-datepicker thead{font-weight:600}.ui-datepicker th{padding:10px;border-width:1px}.ui-datepicker td{padding:0;border:1px solid #f4f4f4}.ui-datepicker td.ui-datepicker-other-month{border:transparent}.ui-datepicker td.ui-datepicker-today{background-color:#f0f0c0}.ui-datepicker td.ui-datepicker-current-day{background:#bd8}.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:400;color:#444}.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:.5}.ui-datepicker-next.ui-corner-all.ui-state-disabled,.ui-datepicker-prev.ui-corner-all.ui-state-disabled{opacity:.5}.ui-datepicker td.ui-datepicker-closed{background-color:#f4f4f4;border:1px solid #f4f4f4}
trunk/assets/css/jquery-ui-datepicker/jquery-ui-datepicker.css ADDED
@@ -0,0 +1,165 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ui-datepicker {
2
+ padding: 0;
3
+ margin: 0;
4
+ -webkit-border-radius: 0;
5
+ -moz-border-radius: 0;
6
+ border-radius: 0;
7
+ background-color: #fff;
8
+ border: 1px solid #dfdfdf;
9
+ border-top: none;
10
+ -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.075);
11
+ box-shadow: 0 3px 6px rgba(0, 0, 0, 0.075);
12
+ width: auto;
13
+ }
14
+
15
+ .ui-datepicker * {
16
+ padding: 0;
17
+ -webkit-border-radius: 0;
18
+ -moz-border-radius: 0;
19
+ border-radius: 0;
20
+ }
21
+
22
+ .ui-datepicker table {
23
+ width: auto;
24
+ margin: 0;
25
+ border: none;
26
+ border-collapse: collapse;
27
+ }
28
+
29
+ .ui-datepicker .ui-widget-header,
30
+ .ui-datepicker .ui-datepicker-header {
31
+ background-image: none;
32
+ border: none;
33
+ font-weight: normal;
34
+ }
35
+
36
+ .ui-datepicker .ui-datepicker-header .ui-state-hover {
37
+ background: transparent;
38
+ border-color: transparent;
39
+ cursor: pointer;
40
+ }
41
+
42
+ .ui-datepicker .ui-datepicker-title {
43
+ margin: 0;
44
+ padding: 10px 0;
45
+ font-size: 14px;
46
+ line-height: 14px;
47
+ text-align: center;
48
+ }
49
+
50
+ .ui-datepicker .ui-datepicker-prev,
51
+ .ui-datepicker .ui-datepicker-next {
52
+ position: relative;
53
+ top: 0;
54
+ height: 34px;
55
+ width: 34px;
56
+ }
57
+
58
+ .ui-datepicker .ui-state-hover.ui-datepicker-prev,
59
+ .ui-datepicker .ui-state-hover.ui-datepicker-next {
60
+ border: none;
61
+ }
62
+
63
+ .ui-datepicker .ui-datepicker-prev,
64
+ .ui-datepicker .ui-datepicker-prev-hover {
65
+ left: 0;
66
+ }
67
+
68
+ .ui-datepicker .ui-datepicker-next,
69
+ .ui-datepicker .ui-datepicker-next-hover {
70
+ right: 0;
71
+ }
72
+
73
+ .ui-datepicker .ui-datepicker-next span,
74
+ .ui-datepicker .ui-datepicker-prev span {
75
+ display: none;
76
+ }
77
+
78
+ .ui-datepicker .ui-datepicker-prev {
79
+ float: left;
80
+ }
81
+
82
+ .ui-datepicker .ui-datepicker-next {
83
+ float: right;
84
+ }
85
+
86
+ .ui-datepicker .ui-datepicker-prev:before,
87
+ .ui-datepicker .ui-datepicker-next:before {
88
+ font: normal 20px/34px 'dashicons';
89
+ padding-left: 7px;
90
+ speak: none;
91
+ -webkit-font-smoothing: antialiased;
92
+ -moz-osx-font-smoothing: grayscale;
93
+ width: 34px;
94
+ height: 34px;
95
+ }
96
+
97
+ .ui-datepicker .ui-datepicker-prev:before {
98
+ content: '\f341';
99
+ }
100
+
101
+ .ui-datepicker .ui-datepicker-next:before {
102
+ content: '\f345';
103
+ }
104
+
105
+ .ui-datepicker .ui-datepicker-prev-hover:before,
106
+ .ui-datepicker .ui-datepicker-next-hover:before {
107
+ opacity: 0.7;
108
+ }
109
+
110
+ .ui-datepicker select.ui-datepicker-month,
111
+ .ui-datepicker select.ui-datepicker-year {
112
+ width: 33%;
113
+ }
114
+
115
+ .ui-datepicker thead {
116
+ font-weight: 600;
117
+ }
118
+
119
+ .ui-datepicker th {
120
+ padding: 10px;
121
+ border-width: 1px;
122
+ }
123
+
124
+ .ui-datepicker td {
125
+ padding: 0;
126
+ border: 1px solid #f4f4f4;
127
+ }
128
+
129
+ .ui-datepicker td.ui-datepicker-other-month {
130
+ border: transparent;
131
+ }
132
+
133
+ .ui-datepicker td.ui-datepicker-today {
134
+ background-color: #f0f0c0;
135
+ }
136
+
137
+ .ui-datepicker td.ui-datepicker-current-day {
138
+ background: #bbdd88;
139
+ }
140
+
141
+ .ui-datepicker td .ui-state-default {
142
+ background: transparent;
143
+ border: none;
144
+ text-align: center;
145
+ text-decoration: none;
146
+ width: auto;
147
+ display: block;
148
+ padding: 5px 10px;
149
+ font-weight: normal;
150
+ color: #444;
151
+ }
152
+
153
+ .ui-datepicker td.ui-state-disabled .ui-state-default {
154
+ opacity: 0.5;
155
+ }
156
+
157
+ .ui-datepicker-prev.ui-corner-all.ui-state-disabled,
158
+ .ui-datepicker-next.ui-corner-all.ui-state-disabled {
159
+ opacity: 0.5;
160
+ }
161
+
162
+ .ui-datepicker td.ui-datepicker-closed {
163
+ background-color: #f4f4f4;
164
+ border: 1px solid #f4f4f4;
165
+ }
trunk/assets/css/jquery-ui-datepicker/jquery-ui-datepicker.scss ADDED
@@ -0,0 +1,165 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ui-datepicker {
2
+ padding: 0;
3
+ margin: 0;
4
+ -webkit-border-radius: 0;
5
+ -moz-border-radius: 0;
6
+ border-radius: 0;
7
+ background-color: #fff;
8
+ border: 1px solid #dfdfdf;
9
+ border-top: none;
10
+ -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.075);
11
+ box-shadow: 0 3px 6px rgba(0, 0, 0, 0.075);
12
+ width: auto;
13
+ }
14
+
15
+ .ui-datepicker * {
16
+ padding: 0;
17
+ -webkit-border-radius: 0;
18
+ -moz-border-radius: 0;
19
+ border-radius: 0;
20
+ }
21
+
22
+ .ui-datepicker table {
23
+ width: auto;
24
+ margin: 0;
25
+ border: none;
26
+ border-collapse: collapse;
27
+ }
28
+
29
+ .ui-datepicker .ui-widget-header,
30
+ .ui-datepicker .ui-datepicker-header {
31
+ background-image: none;
32
+ border: none;
33
+ font-weight: normal;
34
+ }
35
+
36
+ .ui-datepicker .ui-datepicker-header .ui-state-hover {
37
+ background: transparent;
38
+ border-color: transparent;
39
+ cursor: pointer;
40
+ }
41
+
42
+ .ui-datepicker .ui-datepicker-title {
43
+ margin: 0;
44
+ padding: 10px 0;
45
+ font-size: 14px;
46
+ line-height: 14px;
47
+ text-align: center;
48
+ }
49
+
50
+ .ui-datepicker .ui-datepicker-prev,
51
+ .ui-datepicker .ui-datepicker-next {
52
+ position: relative;
53
+ top: 0;
54
+ height: 34px;
55
+ width: 34px;
56
+ }
57
+
58
+ .ui-datepicker .ui-state-hover.ui-datepicker-prev,
59
+ .ui-datepicker .ui-state-hover.ui-datepicker-next {
60
+ border: none;
61
+ }
62
+
63
+ .ui-datepicker .ui-datepicker-prev,
64
+ .ui-datepicker .ui-datepicker-prev-hover {
65
+ left: 0;
66
+ }
67
+
68
+ .ui-datepicker .ui-datepicker-next,
69
+ .ui-datepicker .ui-datepicker-next-hover {
70
+ right: 0;
71
+ }
72
+
73
+ .ui-datepicker .ui-datepicker-next span,
74
+ .ui-datepicker .ui-datepicker-prev span {
75
+ display: none;
76
+ }
77
+
78
+ .ui-datepicker .ui-datepicker-prev {
79
+ float: left;
80
+ }
81
+
82
+ .ui-datepicker .ui-datepicker-next {
83
+ float: right;
84
+ }
85
+
86
+ .ui-datepicker .ui-datepicker-prev:before,
87
+ .ui-datepicker .ui-datepicker-next:before {
88
+ font: normal 20px/34px 'dashicons';
89
+ padding-left: 7px;
90
+ speak: none;
91
+ -webkit-font-smoothing: antialiased;
92
+ -moz-osx-font-smoothing: grayscale;
93
+ width: 34px;
94
+ height: 34px;
95
+ }
96
+
97
+ .ui-datepicker .ui-datepicker-prev:before {
98
+ content: '\f341';
99
+ }
100
+
101
+ .ui-datepicker .ui-datepicker-next:before {
102
+ content: '\f345';
103
+ }
104
+
105
+ .ui-datepicker .ui-datepicker-prev-hover:before,
106
+ .ui-datepicker .ui-datepicker-next-hover:before {
107
+ opacity: 0.7;
108
+ }
109
+
110
+ .ui-datepicker select.ui-datepicker-month,
111
+ .ui-datepicker select.ui-datepicker-year {
112
+ width: 33%;
113
+ }
114
+
115
+ .ui-datepicker thead {
116
+ font-weight: 600;
117
+ }
118
+
119
+ .ui-datepicker th {
120
+ padding: 10px;
121
+ border-width: 1px;
122
+ }
123
+
124
+ .ui-datepicker td {
125
+ padding: 0;
126
+ border: 1px solid #f4f4f4;
127
+ }
128
+
129
+ .ui-datepicker td.ui-datepicker-other-month {
130
+ border: transparent;
131
+ }
132
+
133
+ .ui-datepicker td.ui-datepicker-today {
134
+ background-color: #f0f0c0;
135
+ }
136
+
137
+ .ui-datepicker td.ui-datepicker-current-day {
138
+ background: #bbdd88;
139
+ }
140
+
141
+ .ui-datepicker td .ui-state-default {
142
+ background: transparent;
143
+ border: none;
144
+ text-align: center;
145
+ text-decoration: none;
146
+ width: auto;
147
+ display: block;
148
+ padding: 5px 10px;
149
+ font-weight: normal;
150
+ color: #444;
151
+ }
152
+
153
+ .ui-datepicker td.ui-state-disabled .ui-state-default {
154
+ opacity: 0.5;
155
+ }
156
+
157
+ .ui-datepicker-prev.ui-corner-all.ui-state-disabled,
158
+ .ui-datepicker-next.ui-corner-all.ui-state-disabled {
159
+ opacity: 0.5;
160
+ }
161
+
162
+ .ui-datepicker td.ui-datepicker-closed {
163
+ background-color: #f4f4f4;
164
+ border: 1px solid #f4f4f4;
165
+ }
trunk/assets/css/scss/_admin.scss ADDED
@@ -0,0 +1,1174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ *Everest Forms Style
3
+ */
4
+ body {
5
+ margin: 0;
6
+ }
7
+
8
+ * {
9
+ box-sizing: border-box;
10
+ }
11
+
12
+ .everest-forms_page_edit-evf-form {
13
+ #wpcontent {
14
+ padding-left: 0;
15
+ }
16
+ }
17
+
18
+ .everest-forms-add-fields-group,
19
+ .everest-forms-field-option-group {
20
+ .handlediv {
21
+ float: right;
22
+
23
+ &::before {
24
+ content: '\f142' !important;
25
+ cursor: pointer;
26
+ display: inline-block;
27
+ font: 400 20px/1 'Dashicons';
28
+ line-height: 0.5 !important;
29
+ padding: 4px;
30
+ position: relative;
31
+ right: 0;
32
+ top: 0;
33
+ }
34
+ }
35
+
36
+ &.closed {
37
+ .handlediv::before {
38
+ content: '\f140' !important;
39
+ }
40
+ }
41
+ }
42
+
43
+ #everest-forms-builder {
44
+ margin: 0;
45
+
46
+ .evf-builder-tabs {
47
+ background-color: $color-brand-secondary;
48
+ }
49
+
50
+ a {
51
+ text-decoration: none;
52
+
53
+ &:focus {
54
+ outline: none;
55
+ box-shadow: 0 0 0 rgba(0, 0, 0, 0);
56
+ }
57
+ }
58
+
59
+ .evf-tab-lists {
60
+ padding: 0;
61
+ margin: 0;
62
+ float: left;
63
+ list-style: none;
64
+ display: flex;
65
+
66
+ li {
67
+ margin-bottom: 0;
68
+
69
+ a {
70
+ font-size: 12px;
71
+ line-height: 24px;
72
+ color: $color-white;
73
+ padding: 10px 30px;
74
+ display: block;
75
+ cursor: pointer;
76
+ transition: 0.5s background-color ease-in-out;
77
+
78
+ &:hover,
79
+ &.active {
80
+ color: $color-gray-darker;
81
+ background-color: $color-whitesmoke;
82
+ outline: none;
83
+ }
84
+
85
+ &:focus {
86
+ outline: none;
87
+ }
88
+ }
89
+
90
+ .dashicons {
91
+ display: block;
92
+ font-size: 32px;
93
+ width: auto;
94
+ height: auto;
95
+ }
96
+ }
97
+ }
98
+
99
+ .evf_save_form_action_button {
100
+ float: right;
101
+ padding: 7px 22px;
102
+ background-color: $color-white;
103
+ color: $color-gray-base;
104
+ font-size: 12px;
105
+ text-transform: uppercase;
106
+ border: 0 none;
107
+ border-radius: 100px;
108
+ margin: 20px 45px 0 20px;
109
+ cursor: pointer;
110
+
111
+ &:focus {
112
+ outline: none;
113
+ }
114
+ }
115
+
116
+ .evf-tab-content {
117
+ .everest-forms-panel {
118
+ width: 100%;
119
+ display: none;
120
+
121
+ &.active {
122
+ display: block;
123
+
124
+ }
125
+
126
+ .everest-forms-panel-sidebar-content {
127
+ display: flex;
128
+ }
129
+
130
+ .everest-forms-panel-sidebar {
131
+ background-color: $color-whitesmoke;
132
+ width: 30%;
133
+ border-right: 1px solid $color-border-right;
134
+
135
+ .everest-forms-add-fields {
136
+ padding: 15px 20px;
137
+ }
138
+
139
+ .everest-forms-add-fields-heading {
140
+ display: block;
141
+ font-size: 14px;
142
+ font-weight: 500;
143
+ margin-bottom: 15px;
144
+ padding-bottom: 10px;
145
+ color: $color-gray-darker;
146
+ border-bottom: 1px solid $color-white-darken;
147
+
148
+ i {
149
+ float: right;
150
+ font-size: 14px;
151
+ margin-left: 5px;
152
+ line-height: 1.5;
153
+ }
154
+ }
155
+
156
+ .evf-registered-buttons {
157
+ margin-right: -1.5%;
158
+ margin-left: -1.5%;
159
+ list-style: none;
160
+ padding: 0;
161
+ display: flex;
162
+ flex-wrap: wrap;
163
+
164
+ .evf-registered-item {
165
+ margin-left: 1.5%;
166
+ margin-right: 1.5%;
167
+ padding: 20px 8px;
168
+ border: 1px solid $color-border-right;
169
+ width: 30.3%;
170
+ z-index: 999;
171
+ margin-bottom: 10px;
172
+ color: $color-gray;
173
+ cursor: pointer;
174
+ border-radius: 2px;
175
+ font-size: 12px;
176
+ transition: 0.5s color ease-in-out, 0.5s border-color ease-in-out;
177
+ text-align: center;
178
+ background-color: $color-white;
179
+
180
+ .dashicons {
181
+ display: block;
182
+ margin: 0 auto;
183
+ }
184
+
185
+ &:hover {
186
+ color: $color-brand-primary;
187
+ border-color: $color-brand-primary;
188
+
189
+ .evf-icon {
190
+ color: inherit;
191
+ }
192
+ }
193
+
194
+ svg {
195
+ width: 40px;
196
+ height: 40px;
197
+ display: block;
198
+ margin: 0 auto 10px;
199
+
200
+ .cls-1,
201
+ .cls-2,
202
+ .cls-3 {
203
+ fill: #414042;
204
+ transition: 0.5s fill ease-in-out;
205
+ font-size: 7px;
206
+ font-weight: 300;
207
+ }
208
+ }
209
+
210
+ &:hover {
211
+ color: $color-brand-primary;
212
+ border-color: $color-brand-primary;
213
+
214
+ svg {
215
+ .cls-1,
216
+ .cls-2,
217
+ .cls-3 {
218
+ fill: $color-brand-primary;
219
+ }
220
+ }
221
+ }
222
+ &.ui-draggable-dragging {
223
+ margin: 0;
224
+ border: 1px solid $color-brand-primary;
225
+ width: 105px !important;
226
+ color: $color-brand-primary;
227
+ background-color: $color-white;
228
+
229
+ svg {
230
+
231
+ .cls-1,
232
+ .cls-2,
233
+ .cls-3 {
234
+ fill: $color-brand-primary;
235
+ }
236
+ }
237
+ }
238
+ }
239
+ }
240
+
241
+ .evf-setting--checkbox,
242
+ .evf-field-option--checkbox {
243
+ input,
244
+ label {
245
+ width: auto;
246
+ padding: 0;
247
+ display: inline-block;
248
+ vertical-align: top;
249
+ height: auto;
250
+ }
251
+
252
+ input {
253
+ margin: 3px 5px 0 0;
254
+ }
255
+ }
256
+
257
+ .everest-forms-field-options {
258
+ display: none;
259
+ background-color: $accordion-content-bg;
260
+ height: 100%;
261
+
262
+ .everest-forms-field-option-group {
263
+ border-bottom: 1px solid $accordion-content-bg;
264
+ }
265
+
266
+ .everest-forms-field-option-row {
267
+ margin-bottom: 15px;
268
+
269
+ &:last-child {
270
+ margin-bottom: 0;
271
+ }
272
+
273
+ .inline {
274
+ margin-bottom: 0;
275
+ display: inline-block;
276
+ vertical-align: top;
277
+ margin-left: 5px;
278
+ }
279
+ }
280
+
281
+ .everest-forms-field-option {
282
+ display: none;
283
+ }
284
+
285
+ .everest-forms-field-option-group-toggle {
286
+ background-color: $accordion-bg;
287
+ padding: 15px 20px;
288
+ font-size: 14px;
289
+ font-weight: 600;
290
+ display: block;
291
+ color: $color-gray-darken;
292
+ }
293
+
294
+ .everest-forms-field-option-group-inner {
295
+ background-color: $accordion-content-bg;
296
+ padding: 15px 20px;
297
+ }
298
+ }
299
+
300
+ .evf-setting-panel {
301
+ background-color: $accordion-content-bg;
302
+ padding: 15px 20px;
303
+ font-size: 14px;
304
+ font-weight: 600;
305
+ display: block;
306
+ color: $color-gray-darken;
307
+ border-bottom: 3px solid $accordion-content-bg;
308
+
309
+ .everest-forms-toggle-arrow {
310
+ float: right;
311
+ font-size: 14px;
312
+ }
313
+
314
+ &.active {
315
+ background-color: $color-white;
316
+ position: relative;
317
+ color: $color-brand-secondary;
318
+ border-color: $color-brand-secondary;
319
+
320
+ &::after {
321
+ position: absolute;
322
+ content: "";
323
+ top: 0;
324
+ right: -1px;
325
+ bottom: 0;
326
+ width: 1px;
327
+ height: 100%;
328
+ background-color: $color-white;
329
+ }
330
+ }
331
+ }
332
+ }
333
+ }
334
+
335
+ .everest-forms-panel-content-wrap {
336
+ background-color: $color-white;
337
+ width: 70%;
338
+ padding: 15px 20px;
339
+
340
+ .everest-forms-title-desc {
341
+ .everest-forms-form-name {
342
+ margin-top: 0;
343
+ }
344
+ }
345
+
346
+ .evf-admin-field-wrapper {
347
+ padding: 0 15px;
348
+
349
+ &.evf-hover {
350
+ background-color: $color-brand-primary-light;
351
+ }
352
+ }
353
+
354
+ .evf-add-row {
355
+ text-align: center;
356
+
357
+ span {
358
+ width: 40px;
359
+ height: 40px;
360
+ line-height: 30px;
361
+ padding: 5px;
362
+ color: $color-white;
363
+ background-color: $color-gray;
364
+ border-radius: 5px;
365
+ cursor: pointer;
366
+ transition: 0.5s ease-in-out background-color;
367
+ margin-bottom: 20px;
368
+
369
+ &:hover,
370
+ &:focus,
371
+ &:active {
372
+ background-color: $color-brand-primary;
373
+ }
374
+ }
375
+ }
376
+
377
+ .evf-admin-row {
378
+ background-color: transparent;
379
+ display: flex;
380
+ margin: 0 -15px 30px;
381
+ position: relative;
382
+ border: 1px solid transparent;
383
+ transition: 0.5s border, 0.5s background-color;
384
+ &:last-child {
385
+ margin-bottom: 10px;
386
+ }
387
+
388
+ .evf-toggle-row {
389
+ background-color: $submit-color;
390
+ color: #fff;
391
+ position: absolute;
392
+ right: 0;
393
+ top: 0;
394
+ z-index: 9999;
395
+ visibility: hidden;
396
+ opacity: 0;
397
+ transition: 0.7s all;
398
+ padding: 5px 10px;
399
+ cursor: pointer;
400
+
401
+ .evf-show-grid {
402
+ display: inline-block;
403
+ font-size: 12px;
404
+ letter-spacing: 1px;
405
+ font-weight: 600;
406
+ text-transform: uppercase;
407
+ }
408
+
409
+ .evf-delete-row {
410
+ display: inline-block;
411
+ padding-right: 5px;
412
+ span {
413
+ font-size: 14px;
414
+ height: auto;
415
+ line-height: 1.2;
416
+ color: $color-alert-danger;
417
+ }
418
+ }
419
+
420
+ .evf-toggle-row-content {
421
+ display: none;
422
+ position: absolute;
423
+ width: 200px;
424
+ padding: 30px;
425
+ text-align: center;
426
+ right: -20px;
427
+ border-radius: 11px;
428
+ background-color: $color-white;
429
+ font-weight: 600;
430
+ font-size: 12px;
431
+ top: 40px;
432
+ box-shadow: 0 0 39px rgba(0, 0, 0, 0.1);
433
+ transition: 0.9s background-color;
434
+
435
+ &::before {
436
+ top: -5px;
437
+ content: "";
438
+ right: 45px;
439
+ border-right: 6px solid transparent;
440
+ border-bottom: 6px solid $color-white;
441
+ border-left: 6px solid transparent;
442
+ position: absolute;
443
+ }
444
+
445
+ > span {
446
+ color: $color-gray-darker;
447
+ display: block;
448
+ }
449
+
450
+ small {
451
+ color: $input-color;
452
+ margin-bottom: 10px;
453
+ display: block;
454
+ }
455
+
456
+ .evf-grid-selector {
457
+ height: 30px;
458
+ width: 40px;
459
+ border: 1px solid $color-gray-lighter;
460
+ display: inline-block;
461
+ margin: 3px;
462
+ border-radius: 3px;
463
+
464
+ span {
465
+ height: 100%;
466
+ display: inline-block;
467
+ background: #fff;
468
+
469
+ &:nth-child(n+1) {
470
+ border-left: 1px solid $color-gray-lighter;
471
+ }
472
+ &:nth-child(1) {
473
+ border-left: 0 none;
474
+ }
475
+ }
476
+
477
+ &.active {
478
+ border-color: $color-brand-primary;
479
+ span {
480
+ border-color: $color-brand-primary;
481
+
482
+ }
483
+ }
484
+
485
+ }
486
+ }
487
+
488
+ }
489
+
490
+ &:hover {
491
+ background-color: $color-evf-hover;
492
+ border: 1px dashed $button-color;
493
+
494
+ .evf-admin-grid {
495
+ border: 1px dashed $color-gray-light;
496
+ }
497
+
498
+ .evf-toggle-row {
499
+ opacity: 1;
500
+ visibility: visible;
501
+ }
502
+ }
503
+
504
+ .evf-admin-grid {
505
+ background: $color-white;
506
+ min-height: 200px;
507
+ margin: 15px;
508
+ padding: 5px;
509
+ border: 1px solid transparent;
510
+ transition: 0.5s border, 0.5s background-color;
511
+ position: relative;
512
+
513
+ &.evf-hover {
514
+ border: 1px dashed $color-gray-light;
515
+
516
+ &.evf-item-hover {
517
+ position: relative;
518
+ box-shadow: 0 0 5px rgba(0, 100, 251, 0.5);
519
+
520
+ &::after {
521
+ position: absolute;
522
+ content: "";
523
+ top: -1px;
524
+ left: -1px;
525
+ right: -1px;
526
+ width: auto;
527
+ height: 15px;
528
+ background-color: $color-brand-primary;
529
+ }
530
+ }
531
+ }
532
+
533
+ &.evf-grid-1 {
534
+ width: 100%;
535
+ }
536
+
537
+ &.evf-grid-2 {
538
+ width: 50%;
539
+ }
540
+
541
+ &.evf-grid-3 {
542
+ width: 30%;
543
+
544
+ }
545
+
546
+ .evf-registered-item {
547
+ padding: 20px;
548
+ font-size: 18px;
549
+ text-align: left;
550
+
551
+ .dashicons {
552
+ font-size: 22px;
553
+ margin-top: 3px;
554
+ }
555
+ }
556
+
557
+ &.evf-empty-grid {
558
+ border: 1px dashed $color-gray-light;
559
+ position: relative;
560
+
561
+ &:before {
562
+ position: absolute;
563
+ margin: auto;
564
+ content: "\f132";
565
+ font-size: 40px;
566
+ display: block;
567
+ font-family: dashicons;
568
+ transform: translate(-50%, -50%);
569
+ left: 50%;
570
+ top: 50%;
571
+ color: $color-gray-lighter;
572
+
573
+ }
574
+ }
575
+ }
576
+ }
577
+
578
+ .everest-forms-field {
579
+ margin-bottom: 30px;
580
+ padding: 15px;
581
+ position: relative;
582
+ box-shadow: 0 0 15px rgba(0, 0, 0, 0);
583
+ transition: 0.5s box-shadow;
584
+
585
+ &:last-child {
586
+ margin-bottom: 0;
587
+ }
588
+
589
+ &.everest-forms-field--first,
590
+ &.everest-forms-field--last {
591
+ width: 48.5%;
592
+ margin-right: 3%;
593
+ float: left;
594
+ }
595
+
596
+ &.everest-forms-field--last {
597
+ margin-right: 0;
598
+ float: right;
599
+ }
600
+
601
+ .evf-field-action {
602
+ position: absolute;
603
+ top: 10px;
604
+ right: 5px;
605
+ visibility: hidden;
606
+ opacity: 0;
607
+ transition: 0.5s all;
608
+
609
+ a {
610
+ color: $color-brand-primary;
611
+ margin-left: 5px;
612
+
613
+ &.everest-forms-field-delete:hover {
614
+ color: $color-alert-danger;
615
+ }
616
+ }
617
+ }
618
+
619
+ &:hover {
620
+ box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
621
+ .evf-field-action {
622
+ visibility: visible;
623
+ opacity: 1;
624
+ }
625
+ }
626
+
627
+ &.ui-sortable-helper {
628
+ box-shadow: 1px 5px 35px rgba(0, 0, 0, 0.2);
629
+ padding: 20px 30px;
630
+ height: auto !important;
631
+ left: -20px;
632
+ right: -20px;
633
+ background-color: $color-white;
634
+
635
+ &::before {
636
+ position: absolute;
637
+ left: 0;
638
+ top: 0;
639
+ width: 5px;
640
+ height: 100%;
641
+ background-color: $color-brand-secondary;
642
+ content: "";
643
+ }
644
+
645
+ &:hover {
646
+ .evf-field-action {
647
+ display: none;
648
+ }
649
+ }
650
+ }
651
+ }
652
+
653
+ .file-uploader {
654
+ width: 100%;
655
+ border: 2px dashed $border-color;
656
+ background-color: $uploader-background;
657
+ border-radius: 3px;
658
+ cursor: pointer;
659
+ text-align: center;
660
+ padding-top: 30px;
661
+ padding-bottom: 30px;
662
+ position: relative;
663
+
664
+ svg {
665
+ width: 30px;
666
+ height: 30px;
667
+ fill: #BBBCBD;
668
+ margin-bottom: 20px;
669
+ }
670
+
671
+ input {
672
+ &.file-input {
673
+ touch-action: manipulation;
674
+ max-width: 100%;
675
+ min-width: 14px;
676
+ margin: 0;
677
+ opacity: 0;
678
+ height: 18px;
679
+ }
680
+ }
681
+
682
+ .drop {
683
+ display: block;
684
+ font-size: 14px;
685
+ font-weight: 600;
686
+ color: $color-gray;
687
+ margin-bottom: 10px;
688
+ }
689
+
690
+ .or {
691
+ font-size: 12px;
692
+ color: $color-gray-light;
693
+ font-weight: 500;
694
+ display: block;
695
+ margin-bottom: 10px;
696
+
697
+ }
698
+
699
+ .file-control {
700
+ position: absolute;
701
+ bottom: 30px;
702
+ color: $button-color;
703
+ padding-bottom: 2px;
704
+ display: block;
705
+ left: 0;
706
+ right: 0;
707
+
708
+ &::before {
709
+ content: "";
710
+ width: 45px;
711
+ background-color: $button-color;
712
+ height: 1px;
713
+ display: block;
714
+ left: 50%;
715
+ bottom: -2px;
716
+ position: absolute;
717
+ transform: translateX(-50%);
718
+ }
719
+ }
720
+
721
+ }
722
+
723
+ .publishing-action {
724
+ width: 100%;
725
+ text-align: right;
726
+ }
727
+
728
+ .submit-button {
729
+ display: inline-block;
730
+ font-size: 12px;
731
+ font-weight: 600;
732
+ color: $color-white;
733
+ padding: 15px 20px;
734
+ border: 0 none;
735
+ background-color: $submit-color;
736
+ border-radius: 3px;
737
+ }
738
+ }
739
+
740
+ label {
741
+ font-size: 12px;
742
+ margin-bottom: 15px;
743
+ color: $color-gray-darker;
744
+ display: block;
745
+ font-weight: 600;
746
+
747
+ i {
748
+ color: $color-gray-light;
749
+ font-size: 16px;
750
+ line-height: 1.2;
751
+ }
752
+
753
+ .required {
754
+ margin-left: 5px;
755
+ }
756
+ }
757
+
758
+ input:not(.ed_button),
759
+ textarea:not(.wp-editor-area),
760
+ select {
761
+ border: 1px solid $border-color;
762
+ border-radius: 3px;
763
+ height: 45px;
764
+ width: 100%;
765
+ padding: 10px 15px;
766
+ color: $color-gray-darker;
767
+ font-size: 14px;
768
+
769
+ &[type="checkbox"],
770
+ &[type="radio"] {
771
+ width: 16px;
772
+ height: 16px;
773
+ background-color: $color-white;
774
+
775
+ }
776
+ &[type="radio"] {
777
+ border-radius: 10px;
778
+ }
779
+
780
+ &[type="checkbox"]:checked {
781
+ background-color: $color-brand-primary;
782
+
783
+ &::before {
784
+ color: $color-white;
785
+ background-color: transparent;
786
+ }
787
+ }
788
+
789
+ &[type="radio"]:checked {
790
+ &::before {
791
+ background-color: $color-brand-primary;
792
+ }
793
+ }
794
+
795
+ &::placeholder {
796
+ color: $input-color;
797
+ }
798
+
799
+ &:focus {
800
+ outline: none;
801
+ }
802
+ }
803
+
804
+ textarea,
805
+ textarea:not(.wp-editor-area) {
806
+ height: 120px;
807
+ }
808
+
809
+ .evf-grid-lists {
810
+ margin-left: -1.5%;
811
+ margin-right: 1.5%;
812
+ background-color: $accordion-bg;
813
+ display: flex;
814
+
815
+ .evf-grid-lists-item {
816
+ padding-left: 1.5%;
817
+ padding-right: 1.5%;
818
+ background-color: $color-white;
819
+ }
820
+ }
821
+ .evf-content-section-title {
822
+ font-size: 24px;
823
+ font-weight: 500;
824
+ margin-bottom: 20px;
825
+ padding-bottom: 20px;
826
+ line-height: 34px;
827
+ border-bottom: 1px solid $color-white-darken;
828
+ }
829
+ .everest-forms-panel-field {
830
+ margin-bottom: 20px;
831
+ }
832
+ }
833
+
834
+ .evf-registered-item {
835
+ z-index: 999;
836
+ cursor: pointer;
837
+ border-radius: 2px;
838
+ font-size: 12px;
839
+ text-align: center;
840
+ margin: 0;
841
+ background-color: $color-white;
842
+ border: 1px solid $color-border-right;
843
+ color: $color-gray;
844
+
845
+ .evf-icon {
846
+ color: inherit;
847
+ display: block !important;
848
+ font-size: 32px !important;
849
+ }
850
+
851
+ &.ui-draggable-dragging {
852
+ border: 1px solid $color-brand-primary;
853
+ width: 105px !important;
854
+ color: $color-brand-primary;
855
+ text-align: center !important;
856
+ font-size: 12px !important;
857
+ box-shadow: 0 0 32px rgba(0, 0, 0, 0.15);
858
+ }
859
+ }
860
+
861
+ .evf-choices-list {
862
+ li {
863
+ input.value {
864
+ display: none;
865
+ }
866
+ input[type="checkbox"], input[type="radio"] {
867
+ float: left;
868
+ margin-top: 6px;
869
+ }
870
+ input[type="text"] {
871
+ height: 30px;
872
+ font-size: 12px;
873
+ width: 70%;
874
+ line-height: 12px;
875
+ }
876
+ a.add, a.remove {
877
+ margin-top: 5px;
878
+ margin-left: 2px;
879
+ display: inline-block;
880
+ float: right;
881
+ }
882
+ clear: both;
883
+ padding: 5px 5px;
884
+ cursor:pointer;
885
+ &:hover {
886
+ background: #f9f9f9;
887
+ }
888
+ }
889
+ }
890
+
891
+ .everest-forms-field.ui-draggable-dragging {
892
+ margin: 0;
893
+ border: 1px solid $color-brand-primary;
894
+ width: 105px !important;
895
+ color: $color-brand-primary;
896
+ background-color: $color-white;
897
+ text-align: center;
898
+ font-size: 12px!important;
899
+
900
+ .evf-icon {
901
+ color: inherit;
902
+ display: block !important;
903
+ font-size: 302x !important;
904
+ }
905
+ }
906
+ }
907
+
908
+ #everest-forms-panel-settings {
909
+ .evf-content-section {
910
+ display: none;
911
+
912
+ }
913
+
914
+ .evf-content-section.active {
915
+ display: block;
916
+ }
917
+ }
918
+
919
+ .jconfirm.jconfirm-white,
920
+ .jconfirm.jconfirm-light {
921
+ .jconfirm-box .jconfirm-buttons button {
922
+ &.evf-confirm-btn,
923
+ &.evf-cancel-btn {
924
+ padding: 7px 15px;
925
+ background-color: $color-gray-more-darken;
926
+ color: $color-white;
927
+ font-size: 12px;
928
+ text-transform: uppercase;
929
+ border: 0 none;
930
+ border-radius: 5px;
931
+ cursor: pointer;
932
+ font-weight: 600;
933
+ }
934
+ }
935
+ }
936
+
937
+ @media screen and (max-width: 1200px) {
938
+ #everest-forms-builder {
939
+ .evf-tab-content {
940
+ .everest-forms-panel {
941
+ .everest-forms-panel-sidebar {
942
+ .evf-registered-buttons {
943
+ .evf-registered-item {
944
+ width: 47%;
945
+ }
946
+ }
947
+ }
948
+ }
949
+ }
950
+ }
951
+ }
952
+
953
+ @media screen and (max-width: 782px) {
954
+ .everest-forms_page_edit-evf-form.auto-fold {
955
+ #wpcontent {
956
+ padding-left: 0;
957
+ }
958
+ }
959
+ #everest-forms-builder {
960
+ .evf-tab-content {
961
+ .everest-forms-panel {
962
+ .everest-forms-panel-sidebar-content {
963
+ flex-direction: column;
964
+ }
965
+
966
+ .everest-forms-panel-sidebar,
967
+ .everest-forms-panel-content-wrap {
968
+ width: 100%;
969
+ }
970
+
971
+ .everest-forms-panel-sidebar {
972
+ .evf-registered-buttons {
973
+ .evf-registered-item {
974
+ width: 30.3%;
975
+ }
976
+ }
977
+ }
978
+ }
979
+ }
980
+ }
981
+ }
982
+
983
+ @media screen and (max-width: 600px) {
984
+ #everest-forms-builder {
985
+ .evf-tab-content {
986
+ .everest-forms-panel-content-wrap {
987
+ padding: 20px 20px 0;
988
+
989
+ .evf-admin-row {
990
+ flex-direction: column;
991
+ margin: 0 0 20px;
992
+ position: relative;
993
+
994
+ .evf-admin-grid {
995
+ &.evf-grid-1,
996
+ &.evf-grid-2,
997
+ &.evf-grid-3 {
998
+ width: auto;
999
+ }
1000
+ }
1001
+ }
1002
+ }
1003
+ }
1004
+ }
1005
+ }
1006
+
1007
+ @media screen and (max-width: 480px) {
1008
+ #everest-forms-builder {
1009
+ .evf-tab-lists li {
1010
+ a {
1011
+ padding: 15px;
1012
+ }
1013
+
1014
+ .dashicons {
1015
+ font-size: 24px;
1016
+ }
1017
+ }
1018
+
1019
+ .evf_save_form_action_button {
1020
+ margin: 12px 15px 0 5px;
1021
+ }
1022
+
1023
+ .evf-tab-content {
1024
+ .everest-forms-panel {
1025
+ .everest-forms-panel-sidebar {
1026
+ .evf-registered-buttons {
1027
+ .evf-registered-item {
1028
+ width: 47%;
1029
+ }
1030
+ }
1031
+ }
1032
+ }
1033
+ }
1034
+ }
1035
+
1036
+ .jconfirm.jconfirm-white .jconfirm-box,
1037
+ .jconfirm.jconfirm-light .jconfirm-box {
1038
+ width: 90% !important;
1039
+ }
1040
+ }
1041
+
1042
+ .evf-overlay {
1043
+ height: 100%;
1044
+ width: 100%;
1045
+ background: transparent;
1046
+ position: absolute;
1047
+ top: 0;
1048
+ right: 0;
1049
+ left: 0;
1050
+ bottom: 0;
1051
+ z-index: 1000;
1052
+ padding: 20px;
1053
+
1054
+ }
1055
+
1056
+ /**
1057
+ * Tooltips
1058
+ */
1059
+ .tips {
1060
+ cursor: help;
1061
+ text-decoration: none;
1062
+ }
1063
+
1064
+ img.tips {
1065
+ padding: 5px 0 0;
1066
+ }
1067
+
1068
+ #tiptip_holder {
1069
+ display: none;
1070
+ z-index: 8675309;
1071
+ position: absolute;
1072
+ top: 0;
1073
+ /*rtl:ignore*/
1074
+ left: 0;
1075
+
1076
+
1077
+ &.tip_top {
1078
+ padding-bottom: 5px;
1079
+
1080
+ #tiptip_arrow_inner {
1081
+ margin-top: -7px;
1082
+ margin-left: -6px;
1083
+ border-top-color: #333;
1084
+ }
1085
+ }
1086
+
1087
+ &.tip_bottom {
1088
+ padding-top: 5px;
1089
+
1090
+ #tiptip_arrow_inner {
1091
+ margin-top: -5px;
1092
+ margin-left: -6px;
1093
+ border-bottom-color: #333;
1094
+ }
1095
+ }
1096
+
1097
+ &.tip_right {
1098
+ padding-left: 5px;
1099
+
1100
+ #tiptip_arrow_inner {
1101
+ margin-top: -6px;
1102
+ margin-left: -5px;
1103
+ border-right-color: #333;
1104
+ }
1105
+ }
1106
+
1107
+ &.tip_left {
1108
+ padding-right: 5px;
1109
+
1110
+ #tiptip_arrow_inner {
1111
+ margin-top: -6px;
1112
+ margin-left: -7px;
1113
+ border-left-color: #333;
1114
+ }
1115
+ }
1116
+ }
1117
+
1118
+ #tiptip_content,
1119
+ .chart-tooltip,
1120
+ .evf_error_tip {
1121
+ color: #fff;
1122
+ font-size: 0.8em;
1123
+ max-width: 150px;
1124
+ background: #333;
1125
+ text-align: center;
1126
+ border-radius: 3px;
1127
+ padding: 0.618em 1em;
1128
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
1129
+
1130
+ code {
1131
+ padding: 1px;
1132
+ background: #888;
1133
+ }
1134
+ }
1135
+
1136
+ #tiptip_arrow,
1137
+ #tiptip_arrow_inner {
1138
+ position: absolute;
1139
+ border-color: transparent;
1140
+ border-style: solid;
1141
+ border-width: 6px;
1142
+ height: 0;
1143
+ width: 0;
1144
+ }
1145
+
1146
+ /*rtl:raw:
1147
+ #tiptip_arrow {
1148
+ right: 50%;
1149
+ margin-right: -6px;
1150
+ }
1151
+ */
1152
+
1153
+ .evf_error_tip {
1154
+ max-width: 20em;
1155
+ line-height: 1.8em;
1156
+ position: absolute;
1157
+ white-space: normal;
1158
+ background: #d82223;
1159
+ margin: 1.5em 1px 0 -1em;
1160
+ z-index: 9999999;
1161
+
1162
+ &::after {
1163
+ content: '';
1164
+ display: block;
1165
+ border: 8px solid #d82223;
1166
+ border-right-color: transparent;
1167
+ border-left-color: transparent;
1168
+ border-top-color: transparent;
1169
+ position: absolute;
1170
+ top: -3px;
1171
+ left: 50%;
1172
+ margin: -1em 0 0 -3px;
1173
+ }
1174
+ }
trunk/assets/css/scss/_backbone.scss ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Backbone modal dialog
3
+ */
4
+ .evf-backbone-modal {
5
+ * {
6
+ box-sizing: border-box;
7
+ }
8
+
9
+ .evf-backbone-modal-content {
10
+ position: fixed;
11
+ background: #fff;
12
+ z-index: 100000;
13
+ left: 50%;
14
+ top: 50%;
15
+ transform: translate(-50%, -50%);
16
+ width: 500px;
17
+ article {
18
+ overflow: auto;
19
+ }
20
+ }
21
+
22
+ .select2-container {
23
+ width: 100% !important;
24
+ }
25
+ }
26
+
27
+ .evf-backbone-modal-backdrop {
28
+ position: fixed;
29
+ top: 0;
30
+ left: 0;
31
+ right: 0;
32
+ bottom: 0;
33
+ min-height: 360px;
34
+ background: #000;
35
+ opacity: 0.7;
36
+ z-index: 99900;
37
+ }
38
+
39
+ .evf-backbone-modal-main {
40
+ padding-bottom: 55px;
41
+
42
+ header,
43
+ article {
44
+ display: block;
45
+ position: relative;
46
+ }
47
+
48
+ .evf-backbone-modal-header {
49
+ height: auto;
50
+ background: #fcfcfc;
51
+ padding: 1em 1.5em;
52
+ border-bottom: 1px solid #ddd;
53
+
54
+ h1 {
55
+ margin: 0;
56
+ font-size: 18px;
57
+ font-weight: 700;
58
+ line-height: 1.5em;
59
+ }
60
+
61
+ .modal-close-link {
62
+ cursor: pointer;
63
+ color: #777;
64
+ height: 54px;
65
+ width: 54px;
66
+ padding: 0;
67
+ position: absolute;
68
+ top: 0;
69
+ right: 0;
70
+ text-align: center;
71
+ border: 0;
72
+ border-left: 1px solid #ddd;
73
+ background-color: transparent;
74
+ transition: color 0.1s ease-in-out, background 0.1s ease-in-out;
75
+
76
+ &::before {
77
+ font: normal 22px/50px 'dashicons' !important;
78
+ color: #666;
79
+ display: block;
80
+ content: '\f335';
81
+ font-weight: 300;
82
+ }
83
+
84
+ &:hover,
85
+ &:focus {
86
+ background: #ddd;
87
+ border-color: #ccc;
88
+ color: #000;
89
+ }
90
+
91
+ &:focus {
92
+ outline: none;
93
+ }
94
+ }
95
+ }
96
+
97
+ article {
98
+ padding: 1.5em;
99
+
100
+ p {
101
+ margin: 1.5em 0;
102
+ }
103
+ p:first-child {
104
+ margin-top: 0;
105
+ }
106
+
107
+ p:last-child {
108
+ margin-bottom: 0;
109
+ }
110
+ .pagination {
111
+ padding: 10px 0 0;
112
+ text-align: center;
113
+ }
114
+ }
115
+
116
+ footer {
117
+ position: absolute;
118
+ left: 0;
119
+ right: 0;
120
+ bottom: 0;
121
+ z-index: 100;
122
+ padding: 1em 1.5em;
123
+ background: #fcfcfc;
124
+ border-top: 1px solid #dfdfdf;
125
+ box-shadow: 0 -4px 4px -4px rgba(0, 0, 0, 0.1);
126
+
127
+ .inner {
128
+ float: right;
129
+ line-height: 23px;
130
+
131
+ .button {
132
+ margin-bottom: 0;
133
+ }
134
+ }
135
+ }
136
+ }
trunk/assets/css/scss/_clearings.scss ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .clearfix::before,
2
+ .clearfix::after,
3
+ .container::before,
4
+ .container::after,
5
+ .container-fluid::before,
6
+ .container-fluid::after,
7
+ .evf-row::before,
8
+ .evf-row::after {
9
+ display: table;
10
+ content: "";
11
+ }
12
+ .clearfix::after,
13
+ .container::after,
14
+ .container-fluid::after,
15
+ .evf-row::after {
16
+ clear: both;
17
+ }
18
+
19
+ @mixin clearfix() {
20
+ *zoom: 1;
21
+
22
+ &::before,
23
+ &::after {
24
+ content: ' ';
25
+ display: table;
26
+ }
27
+
28
+ &::after {
29
+ clear: both;
30
+ }
31
+ }
trunk/assets/css/scss/_colors.scss ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ $primary: #ff0033; // Primary color for buttons (alt)
2
+ $primarytext: desaturate( lighten( $primary, 52% ), 18% ); // Text on primary color bg
3
+
4
+ $secondary: desaturate( lighten( $primary, 44% ), 91% ); // Secondary buttons
5
+ $secondarytext: desaturate( darken( $secondary, 64% ), 91% ); // Text on secondary color bg
6
+
7
+ $border-color: #D5D9E2;
8
+ $text-color: #C6CCD7;
9
+ $uploader-background: #FBFDFE;
10
+ $button-color: #5D96EE;
11
+ $submit-color: #8CE99A;
12
+ $input-color: #C6CCD7;
13
+ $accordion-bg: #F9FAFC;
14
+ $accordion-content-bg: #F0F1F2;
15
+ $color-evf-hover: #F7FAFC;
16
+
17
+
18
+ $color-gray-base: #000000;
19
+ $color-gray-more-darken: #292929; //Gray 16%
20
+ $color-gray-darken: #404040; //Gray 25%
21
+ $color-gray-darker: #575757; // Gray 34%
22
+ $color-gray-dark: #747474; // Gray 45.5%
23
+ $color-gray: #969696; // Gray 59%
24
+ $color-gray-light: #BDBDBD; // Gray 74%
25
+ $color-gray-lighter: #D6D8DA; // Gray 84%
26
+
27
+
28
+ /*===== Light colors ======*/
29
+ $color-white: #FFFFFF;
30
+ $color-white-dark: #FAFAFA; // white 2%
31
+ $color-white-darker: #F5F5F5; // white 4%
32
+ $color-white-darken: #EFEFEF; // white 6.2%
33
+ $color-white-more-darken: #E6E6E6; // white 10%
34
+ $color-whitesmoke: #F9FAFC;
35
+ $color-border-right: #EBEDF0;
36
+
37
+
38
+ /*========== Brand-colors ==========*/
39
+ $color-brand-primary: #7CA8EB; // #337ab7
40
+ $color-brand-primary-light: lighten($color-brand-primary, 20%); // #337ab7
41
+ $color-brand-secondary: #7F5AEC;
42
+
43
+ /*========== Alert Colors ==========*/
44
+ $color-alert-success: #5CB85C;
45
+ $color-alert-info: #5BC0DE;
46
+ $color-alert-warning: #F0AD4E;
47
+ $color-alert-danger: #D9534F;
48
+
49
+ /*========== Typography Colors ==========*/
50
+ $color-heading: $color-gray-dark;
51
+ $color-body: $color-gray;
trunk/assets/css/scss/_confirm.scss ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * _confirm.scss
3
+ * Styling applied to jQuery-confirm JS alert library.
4
+ */
5
+
6
+ /**
7
+ * Styling begins
8
+ */
9
+ div.jconfirm {
10
+
11
+ *,
12
+ *::before,
13
+ *::after {
14
+ -webkit-box-sizing: border-box;
15
+ -moz-box-sizing: border-box;
16
+ box-sizing: border-box;
17
+ }
18
+
19
+ &.jconfirm-modern {
20
+
21
+ div.jconfirm-box-container div.jconfirm-box {
22
+ border-radius: 0;
23
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
24
+ }
25
+
26
+ .jconfirm-box {
27
+
28
+ div.jconfirm-content-pane {
29
+ margin-bottom: 20px;
30
+ display: block;
31
+
32
+ .jconfirm-content {
33
+ overflow: initial;
34
+ }
35
+ }
36
+
37
+ div.jconfirm-content {
38
+ font-size: 16px;
39
+ color: #555;
40
+ line-height: 1.5;
41
+
42
+ p {
43
+ margin: 0 0 16px;
44
+ font-size: 16px;
45
+ }
46
+ }
47
+
48
+ input[type=text] {
49
+ display: block;
50
+ width: 99%;
51
+ border: 1px solid #d6d6d6;
52
+ padding: 10px;
53
+ box-shadow: none;
54
+ margin: 20px auto 0 auto;
55
+ }
56
+
57
+ #evf-embed-shortcode {
58
+ margin: 20px 0;
59
+ text-align: center;
60
+ font-size: 24px;
61
+ padding: 8px 5px;
62
+ }
63
+
64
+ #evf-embed-shortcode:disabled {
65
+ color: #333;
66
+ }
67
+
68
+ button.btn-confirm {
69
+ background-color: $button-color;
70
+ color: $color-white;
71
+ outline: none;
72
+
73
+ &:hover {
74
+ background-color: transparentize( $button-color, 0.2 )
75
+ }
76
+ }
77
+
78
+ .error {
79
+ display: none;
80
+ color: red;
81
+ }
82
+
83
+ div.jconfirm-title-c .jconfirm-icon-c {
84
+ -webkit-transition: none !important;
85
+ transition: none !important;
86
+ -webkit-transform: none !important;
87
+ -ms-transform: none !important;
88
+ transform: none !important;
89
+ font-size: 45px !important;
90
+
91
+ .dashicons {
92
+ height: inherit;
93
+ width: inherit;
94
+ font-size: 60px;
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
trunk/assets/css/scss/_evf-icon.scss ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: 'evf-icon';
3
+ src: url('../fonts/evf-icon.eot?5fwmb3');
4
+ src: url('../fonts/evf-icon.eot?5fwmb3#iefix') format('embedded-opentype'),
5
+ url('../fonts/evf-icon.ttf?5fwmb3') format('truetype'),
6
+ url('../fonts/evf-icon.woff?5fwmb3') format('woff'),
7
+ url('../fonts/evf-icon.svg?5fwmb3#evf-icon') format('svg');
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }
11
+
12
+ [class^="evf-icon-"], [class*=" evf-icon-"] {
13
+ /* use !important to prevent issues with browser extensions that change ../fonts */
14
+ font-family: 'evf-icon' !important;
15
+ speak: none;
16
+ font-style: normal;
17
+ font-weight: normal;
18
+ font-variant: normal;
19
+ text-transform: none;
20
+ line-height: 1;
21
+
22
+ /* Better Font Rendering =========== */
23
+ -webkit-font-smoothing: antialiased;
24
+ -moz-osx-font-smoothing: grayscale;
25
+ }
26
+
27
+ .evf-icon-last-name:before {
28
+ content: "\e900";
29
+ }
30
+ .evf-icon-first-name:before {
31
+ content: "\e901";
32
+ }
33
+ .evf-icon-checkbox:before {
34
+ content: "\e902";
35
+ }
36
+ .evf-icon-radio:before {
37
+ content: "\e903";
38
+ }
39
+ .evf-icon-file-upload:before {
40
+ content: "\e904";
41
+ }
42
+ .evf-icon-hidden-field:before {
43
+ content: "\e90a";
44
+ }
45
+ .evf-icon-address:before {
46
+ content: "\e911";
47
+ }
48
+ .evf-icon-phone:before {
49
+ content: "\e912";
50
+ }
51
+ .evf-icon-website:before {
52
+ content: "\e913";
53
+ }
54
+ .evf-icon-number:before {
55
+ content: "\e914";
56
+ }
57
+ .evf-icon-dropdown:before {
58
+ content: "\e915";
59
+ }
60
+ .evf-icon-paragraph:before {
61
+ content: "\e916";
62
+ }
63
+ .evf-icon-multiple-choices:before {
64
+ content: "\e917";
65
+ }
66
+ .evf-icon-date-time:before {
67
+ content: "\e918";
68
+ }
69
+ .evf-icon-email:before {
70
+ content: "\e919";
71
+ }
72
+ .evf-icon-text:before {
73
+ content: "\e91a";
74
+ }
trunk/assets/fonts/evf-icon.eot ADDED
Binary file
trunk/assets/fonts/evf-icon.svg ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata>Generated by IcoMoon</metadata>
5
+ <defs>
6
+ <font id="icomoon" horiz-adv-x="1024">
7
+ <font-face units-per-em="1024" ascent="960" descent="-64" />
8
+ <missing-glyph horiz-adv-x="1024" />
9
+ <glyph unicode="&#x20;" horiz-adv-x="512" d="" />
10
+ <glyph unicode="&#xe900;" glyph-name="Asset-7" d="M354.28 496.375c-0.035 0-0.076 0-0.118 0-95.557 0-173.021 77.464-173.021 173.021s77.464 173.021 173.021 173.021c95.557 0 173.021-77.464 173.021-173.021v0c-0.134-95.462-77.451-172.82-172.884-173.021h-0.019zM354.28 818.759c-0.035 0-0.076 0-0.118 0-82.556 0-149.48-66.925-149.48-149.48s66.925-149.48 149.48-149.48c82.556 0 149.48 66.925 149.48 149.48 0 0.041 0 0.083 0 0.124v-0.006c-0.067 82.464-66.899 149.296-149.356 149.363h-0.006zM16.596 57.468l-3.649 13.536c-8.22 28.447-12.947 61.122-12.947 94.901 0 195.664 158.617 354.28 354.28 354.28s354.28-158.617 354.28-354.28c0-0.053 0-0.107 0-0.16v0.008c0-0.020 0-0.043 0-0.066 0-29.857-3.734-58.842-10.762-86.514l0.522 2.423-3.178-13.536-12.476 5.414c-89.748 37.287-193.991 58.942-303.292 58.942-4.271 0-8.534-0.033-12.79-0.099l0.643 0.008c-124.528 0-244.348-24.6-337.567-69.208zM354.28 496.375c-182.54-0.201-330.472-148.091-330.74-330.596v-0.026c0.037-26.606 3.166-52.462 9.048-77.253l-0.456 2.277c94.161 42.372 212.451 65.56 334.742 65.56 3.040 0.039 6.63 0.062 10.225 0.062 108.376 0 211.986-20.409 307.195-57.593l-5.747 1.976c4.072 19.583 6.426 42.106 6.474 65.17v0.037c-0.402 182.43-148.282 330.187-330.721 330.387h-0.019zM685.609 831.706h23.54v-683.020h-23.54v683.020zM689.258 91.836h329.799v-23.54h-329.799v23.54z" />
11
+ <glyph unicode="&#xe901;" glyph-name="Asset-8" d="M350.255 495.825c-0.034 0-0.075 0-0.116 0-94.471 0-171.055 76.584-171.055 171.055s76.584 171.055 171.055 171.055c94.471 0 171.055-76.584 171.055-171.055v0c-0.132-94.377-76.571-170.856-170.919-171.055h-0.019zM350.255 814.545c-0.035 0-0.075 0-0.116 0-81.618 0-147.782-66.164-147.782-147.782s66.164-147.782 147.782-147.782c81.618 0 147.782 66.164 147.782 147.782 0 0.041 0 0.082 0 0.123v-0.006c-0.066 81.527-66.139 147.599-147.659 147.665h-0.006zM16.407 61.905l-3.607 13.382c-8.126 28.123-12.8 60.427-12.8 93.822 0 193.44 156.814 350.255 350.255 350.255s350.255-156.814 350.255-350.255c0-0.053 0-0.105 0-0.158v0.008c0-0.019 0-0.042 0-0.065 0-29.518-3.692-58.174-10.639-85.531l0.516 2.395-3.142-13.382-12.335 5.353c-88.728 36.863-191.787 58.272-299.845 58.272-4.223 0-8.437-0.033-12.644-0.098l0.635 0.008c-123.113 0-241.571-24.32-333.731-68.422zM350.255 495.825c-180.493-0.132-326.783-146.382-326.982-326.846v-0.019c0.036-26.303 3.13-51.866 8.945-76.375l-0.451 2.252c93.091 41.891 210.036 64.815 330.938 64.815 3.005 0.039 6.555 0.061 10.109 0.061 107.145 0 209.577-20.177 303.704-56.939l-5.682 1.954c4.026 19.361 6.353 41.627 6.4 64.429v0.036c-0.397 180.357-146.597 326.435-326.963 326.633h-0.019zM677.818 827.345h23.273v-675.258h-23.273v675.258zM693.062 827.113h326.051v-23.273h-326.051v23.273zM693.062 565.178h203.869v-23.273h-203.869v23.273z" />
12
+ <glyph unicode="&#xe902;" glyph-name="Asset-9" d="M383.353 321.589l-136.298 154.895 17.773 15.537 122.645-139.358 626.994 417.957 13.065-19.538-644.178-429.491zM834.030 50.406h-834.030v797.778h834.030v-127.235h-23.54v103.695h-786.95v-750.698h786.95v429.138h23.54v-452.679z" />
13
+ <glyph unicode="&#xe903;" glyph-name="Asset-10" d="M512-64c-282.77 0-512 229.23-512 512s229.23 512 512 512c282.77 0 512-229.23 512-512v0c-0.313-282.644-229.356-511.687-511.97-512h-0.030zM512 932.517c-267.592 0-484.517-216.926-484.517-484.517s216.926-484.517 484.517-484.517c267.592 0 484.517 216.926 484.517 484.517v0c-0.313 267.466-217.052 484.205-484.487 484.517h-0.030zM702.729 448c0-105.337-85.392-190.729-190.729-190.729s-190.729 85.392-190.729 190.729c0 105.337 85.392 190.729 190.729 190.729s190.729-85.392 190.729-190.729z" />
14
+ <glyph unicode="&#xe904;" glyph-name="Asset-11" d="M899.459-69.674h-774.919v774.919h294.054v-27.676h-266.378v-719.568h719.568v719.568h-266.378v27.676h294.054v-774.919zM498.162 940.489h27.676v-373.622h-27.676v373.622zM626.716 806.123l-114.716 114.716-114.716-114.716-19.65 19.511 134.365 134.365 134.365-134.365-19.65-19.511zM387.459 400.813h249.081v-27.676h-249.081v27.676zM387.459 276.272h124.541v-27.676h-124.541v27.676zM387.459 151.732h249.081v-27.676h-249.081v27.676z" />
15
+ <glyph unicode="&#xe905;" d="M1024-64h-1024v1024h1024zM27.676-36.324h968.649v968.649h-968.649z" />
16
+ <glyph unicode="&#xe906;" d="M312.597 367.187h-32.657v83.857h-88.147v-83.857h-32.796v196.636h32.796v-86.486h88.147v86.486h32.657z" />
17
+ <glyph unicode="&#xe907;" d="M490.136 537.531h-59.364v-170.344h-32.934v170.344h-59.364v26.292h152.216z" />
18
+ <glyph unicode="&#xe908;" d="M558.357 563.823l56.735-151.248 56.874 151.248h42.482v-196.636h-32.104v66.975l3.183 85.241-58.396-152.216h-22.141l-57.981 152.216h-0.83l2.491-85.241v-66.975h-32.796v196.636z" />
19
+ <glyph unicode="&#xe909;" d="M791.109 393.479h90.361v-26.292h-123.157v196.636h32.796z" />
20
+ <glyph unicode="&#xe90a;" glyph-name="Asset-13" d="M509.815 185.719c-274.295 0-492.476 240.162-501.623 250.402l-8.192 9.011 8.192 9.694c9.148 10.24 227.328 250.266 501.623 250.266s492.612-240.572 501.76-250.266l8.192-9.148-8.192-9.011c-9.148-10.786-227.328-250.948-501.76-250.948zM37.137 445.133c43.008-43.964 240.162-232.107 472.678-232.107s429.807 188.143 473.225 232.107c-42.871 44.1-240.026 232.107-472.678 232.107s-430.217-188.006-473.225-232.107zM509.815 308.599c-75.405 0-136.533 61.128-136.533 136.533s61.128 136.533 136.533 136.533c75.405 0 136.533-61.128 136.533-136.533v0c0-75.405-61.128-136.533-136.533-136.533v0zM509.815 554.359c-60.324 0-109.227-48.902-109.227-109.227s48.902-109.227 109.227-109.227c60.324 0 109.227 48.902 109.227 109.227v0c0 60.324-48.902 109.227-109.227 109.227v0zM8.675-36.778l983.007 983.007 19.309-19.309-983.007-983.007-19.309 19.309z" />
21
+ <glyph unicode="&#xe90b;" d="M887.836-60.541h-751.671c-36.989 0-66.975 29.986-66.975 66.975v0 516.428c0 36.989 29.986 66.975 66.975 66.975v0h751.671c36.989 0 66.975-29.986 66.975-66.975v0-516.428c0-36.989-29.986-66.975-66.975-66.975v0zM136.164 562.162c-21.673-0.078-39.221-17.627-39.299-39.292v-516.436c0.078-21.673 17.627-39.221 39.292-39.299h751.679c21.673 0.078 39.221 17.627 39.299 39.292v516.436c-0.078 21.673-17.627 39.221-39.292 39.299h-0.008z" />
22
+ <glyph unicode="&#xe90c;" d="M768.83 572.541h-27.676v124.541c0 129.921-105.322 235.243-235.243 235.243s-235.243-105.322-235.243-235.243v0-124.541h-27.676v124.541c0 145.206 117.713 262.919 262.919 262.919s262.919-117.713 262.919-262.919v0z" />
23
+ <glyph unicode="&#xe90d;" d="M373.622 264.649c0-19.106-15.489-34.595-34.595-34.595s-34.595 15.489-34.595 34.595c0 19.106 15.489 34.595 34.595 34.595s34.595-15.489 34.595-34.595z" />
24
+ <glyph unicode="&#xe90e;" d="M488.891 264.649c0-19.106-15.489-34.595-34.595-34.595s-34.595 15.489-34.595 34.595c0 19.106 15.489 34.595 34.595 34.595s34.595-15.489 34.595-34.595z" />
25
+ <glyph unicode="&#xe90f;" d="M604.298 264.649c0-19.106-15.489-34.595-34.595-34.595s-34.595 15.489-34.595 34.595c0 19.106 15.489 34.595 34.595 34.595s34.595-15.489 34.595-34.595z" />
26
+ <glyph unicode="&#xe910;" d="M719.568 264.649c0-19.106-15.489-34.595-34.595-34.595s-34.595 15.489-34.595 34.595c0 19.106 15.489 34.595 34.595 34.595s34.595-15.489 34.595-34.595z" />
27
+ <glyph unicode="&#xe911;" glyph-name="Asset-15" d="M514.076-59.849l-11.070 14.668c-13.976 18.681-343.87 459.416-343.87 650.24 0 196.028 158.912 354.941 354.941 354.941s354.941-158.912 354.941-354.941v0c0-190.824-329.894-631.559-343.87-650.378zM514.076 932.324c-180.648-0.236-327.029-146.616-327.265-327.242v-0.023c0-162.733 268.869-538.984 327.265-618.69 58.396 79.706 327.265 455.957 327.265 618.69-0.236 180.648-146.616 327.029-327.242 327.265h-0.023zM509.232 434.162c-76.424 0-138.378 61.954-138.378 138.378s61.954 138.378 138.378 138.378c76.424 0 138.378-61.954 138.378-138.378v0c0-76.424-61.954-138.378-138.378-138.378v0zM509.232 683.243c-61.139 0-110.703-49.563-110.703-110.703s49.563-110.703 110.703-110.703c61.139 0 110.703 49.563 110.703 110.703v0c0 61.139-49.563 110.703-110.703 110.703v0z" />
28
+ <glyph unicode="&#xe912;" glyph-name="Asset-16" d="M853.656-64h-683.312c-25.265 0.078-45.725 20.538-45.803 45.796v932.402c0.078 25.265 20.538 45.725 45.796 45.803h683.32c25.265-0.078 45.725-20.538 45.803-45.796v-932.402c-0.078-25.265-20.538-45.725-45.796-45.803h-0.008zM170.344 932.324c-10.012 0-18.128-8.116-18.128-18.128v0-932.394c0-10.012 8.116-18.128 18.128-18.128h683.312c10.012 0 18.128 8.116 18.128 18.128v0 932.394c0 10.012-8.116 18.128-18.128 18.128v0zM296.683 835.459h52.999v-27.676h-52.999v27.676zM421.224 835.459h283.676v-27.676h-283.676v27.676zM451.39 84.757h121.081v-27.676h-121.081v27.676z" />
29
+ <glyph unicode="&#xe913;" glyph-name="Asset-17" d="M512-64c-282.716 0.071-511.875 229.274-511.875 512 0 282.77 229.23 512 512 512 185.237 0 347.499-98.37 437.396-245.72l1.278-2.254c7.057-11.762 13.838-24.078 19.926-36.394 33.594-65.837 53.278-143.597 53.278-225.954 0-0.59-0.001-1.18-0.003-1.77v0.091c0-282.77-229.23-512-512-512v0zM512 932.324c-267.485 0-484.324-216.839-484.324-484.324s216.839-484.324 484.324-484.324c267.485 0 484.324 216.839 484.324 484.324v0c0.002 0.449 0.002 0.981 0.002 1.513 0 77.924-18.61 151.501-51.628 216.529l1.256-2.726c-5.812 11.624-12.177 23.248-18.819 34.456-85.563 141.453-238.562 234.555-413.306 234.555-0.643 0-1.285-0.001-1.928-0.004h0.099zM525.838 555.658q-213.795 0-439.351 129.384l13.838 24.078c288.519-166.054 564.307-167.161 819.338-3.875l14.945-23.248c-132.013-84.134-268.039-126.339-408.77-126.339zM97.972 177.332l-16.052 22.417c300.281 213.656 587.555 215.040 853.795 3.875l-17.159-21.587c-259.044 205.354-527.498 203.831-820.584-4.705zM498.162 946.162h27.676v-985.946h-27.676v985.946zM509.648-64c-148.757 0-269.838 229.708-269.838 512s121.081 512 269.838 512 269.838-229.708 269.838-512-120.943-512-269.838-512zM509.648 932.324c-133.535 0-242.162-217.254-242.162-484.324s108.627-484.324 242.162-484.324 242.162 217.254 242.162 484.324-108.627 484.324-242.162 484.324z" />
30
+ <glyph unicode="&#xe914;" glyph-name="Asset-18" d="M1024-64h-1024v1024h1024zM27.676-36.324h968.649v968.649h-968.649zM387.504 200.382l55.347 498.141 27.506-3.056-55.347-498.141-27.506 3.056zM553.501 200.577l57.145 501.559 27.498-3.133-57.145-501.559-27.498 3.133zM262.919 524.108h498.162v-27.676h-498.162v27.676zM262.919 399.568h498.162v-27.676h-498.162v27.676z" />
31
+ <glyph unicode="&#xe915;" glyph-name="Asset-19" d="M512 303.948l-258.906 258.768 19.65 19.65 239.256-239.395 239.256 239.395 19.65-19.65-258.906-258.768zM1024-64h-1024v1024h1024zM27.676-36.324h968.649v968.649h-968.649z" />
32
+ <glyph unicode="&#xe916;" glyph-name="Asset-20" d="M512 440.986c-0.099 0-0.215 0-0.332 0-143.322 0-259.507 116.185-259.507 259.507s116.185 259.507 259.507 259.507c46.49 0 90.125-12.225 127.865-33.636l-1.286 0.672-14.027-24.408c-32.341 18.271-71.016 29.037-112.205 29.037-127.75 0-231.312-103.562-231.312-231.312 0-127.745 103.554-231.303 231.296-231.312h0.001c41.227 0.023 79.909 10.894 113.355 29.912l-1.136-0.595 14.027-24.408c-36.322-20.738-79.822-32.964-126.177-32.964-0.024 0-0.049 0-0.073 0h0.003zM617.205 945.973h28.055v-1009.973h-28.055v1009.973zM743.452 945.973h28.055v-1009.973h-28.055v1009.973z" />
33
+ <glyph unicode="&#xe917;" glyph-name="Asset-21" d="M283.676 683.243h-276.757v276.757h276.757zM34.595 710.919h221.405v221.405h-221.405zM283.676 309.622h-276.757v276.757h276.757zM34.595 337.297h221.405v221.405h-221.405zM283.676-64h-276.757v276.757h276.757zM34.595-36.324h221.405v221.405h-221.405zM394.378 835.459h622.703v-27.676h-622.703v27.676zM394.378 461.838h622.703v-27.676h-622.703v27.676zM394.378 88.216h622.703v-27.676h-622.703v27.676z" />
34
+ <glyph unicode="&#xe918;" glyph-name="Asset-22" d="M1024-57.081h-1024v681.514h1024zM27.676-29.405h968.649v626.162h-968.649zM1024 596.757h-1024v245.622h1024zM27.676 624.432h968.649v190.27h-968.649zM249.081 953.081h27.676v-249.081h-27.676v249.081zM498.162 953.081h27.676v-249.081h-27.676v249.081zM747.243 953.081h27.676v-249.081h-27.676v249.081z" />
35
+ <glyph unicode="&#xe919;" glyph-name="Asset-23" d="M768.203 63.763l-768.203 512.135 1024.406 384.102zM59.009 569.131l693.359-461.788 231.165 808.4zM259.451-64l2.572 491.969 272.985-175.133zM288.821 378.028l-2.030-369.755 207.209 238.744zM276.388 407.54l706.152 516.447 15.979-21.849-706.152-516.447-15.979 21.849z" />
36
+ <glyph unicode="&#xe91a;" glyph-name="Asset-24" d="M1024 697.081h-27.676v235.243h-968.649v-235.243h-27.676v262.919h1024v-262.919zM761.081-64h-498.162v27.676h235.243v982.486h27.676v-982.486h235.243v-27.676z" />
37
+ </font></defs></svg>
trunk/assets/fonts/evf-icon.ttf ADDED
Binary file
trunk/assets/fonts/evf-icon.woff ADDED
Binary file
trunk/assets/images/blank-form.jpg ADDED
Binary file
trunk/assets/images/contact-form.jpg ADDED
Binary file
trunk/assets/js/admin/admin-helper.js ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ;
2
+ var evfHelper = {
3
+
4
+ init: function () {
5
+
6
+
7
+ },
8
+ /**
9
+ * Update query string in URL.
10
+ *
11
+ * @since 1.0.0
12
+ */
13
+ updateQueryString: function ( key, value, url ) {
14
+
15
+ if ( !url ) url = window.location.href;
16
+ var re = new RegExp("([?&])" + key + "=.*?(&|#|$)(.*)", "gi"),
17
+ hash;
18
+
19
+ if ( re.test(url) ) {
20
+ if ( typeof value !== 'undefined' && value !== null )
21
+ return url.replace(re, '$1' + key + "=" + value + '$2$3');
22
+ else {
23
+ hash = url.split('#');
24
+ url = hash[ 0 ].replace(re, '$1$3').replace(/(&|\?)$/, '');
25
+ if ( typeof hash[ 1 ] !== 'undefined' && hash[ 1 ] !== null )
26
+ url += '#' + hash[ 1 ];
27
+ return url;
28
+ }
29
+ } else {
30
+ if ( typeof value !== 'undefined' && value !== null ) {
31
+ var separator = url.indexOf('?') !== -1 ? '&' : '?';
32
+ hash = url.split('#');
33
+ url = hash[ 0 ] + separator + key + '=' + value;
34
+ if ( typeof hash[ 1 ] !== 'undefined' && hash[ 1 ] !== null )
35
+ url += '#' + hash[ 1 ];
36
+ return url;
37
+ }
38
+ else
39
+ return url;
40
+ }
41
+ },
42
+ parseInt: function ( value, number ) {
43
+
44
+ if ( typeof number !== 'undefined' ) {
45
+
46
+ return parseInt(value, number);
47
+
48
+ }
49
+ return parseInt(value, 0);
50
+
51
+ },
52
+ /**
53
+ * Get query string in a URL.
54
+ *
55
+ * @since 1.0.0
56
+ */
57
+ getQueryString: function ( name ) {
58
+
59
+ var match = new RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
60
+ return match && decodeURIComponent(match[ 1 ].replace(/\+/g, ' '));
61
+ },
62
+
63
+ /**
64
+ * Is number?
65
+ *
66
+ * @since 1.0.0
67
+ */
68
+ isNumber: function ( n ) {
69
+ return !isNaN(parseFloat(n)) && isFinite(n);
70
+ },
71
+ startEvfOverLay: function ( $node, $this ) {
72
+
73
+
74
+ var overlay = $("<div class='evf-overlay'/>");
75
+ overlay.append('<div class="loading"/>');
76
+ $this.find('.spinner').remove();
77
+ $node.find('.evf-overlay').remove();
78
+ $node.css({ 'position': 'relative' });
79
+ $node.append(overlay);
80
+ $this.append('<span style="margin-top: -1px;margin-right: 0;" class="spinner is-active"/>');
81
+ },
82
+ endEvfOverLay: function ( $node, $this ) {
83
+
84
+ $node.find('.evf-overlay').fadeOut();
85
+ $node.find('.evf-overlay').remove();
86
+ $node.removeAttr('style');
87
+ $this.find('.spinner').remove();
88
+ }
89
+
90
+ };
91
+ evfHelper.init();
trunk/assets/js/admin/admin-helper.min.js ADDED
@@ -0,0 +1 @@
 
1
+ var evfHelper={init:function(){},updateQueryString:function(e,n,r){r||(r=window.location.href);var i,t=new RegExp("([?&])"+e+"=.*?(&|#|$)(.*)","gi");if(t.test(r))return null!=n?r.replace(t,"$1"+e+"="+n+"$2$3"):(r=(i=r.split("#"))[0].replace(t,"$1$3").replace(/(&|\?)$/,""),"undefined"!=typeof i[1]&&null!==i[1]&&(r+="#"+i[1]),r);if(null!=n){var a=-1!==r.indexOf("?")?"&":"?";return r=(i=r.split("#"))[0]+a+e+"="+n,"undefined"!=typeof i[1]&&null!==i[1]&&(r+="#"+i[1]),r}return r},parseInt:function(e,n){return void 0!==n?parseInt(e,n):parseInt(e,0)},getQueryString:function(e){var n=new RegExp("[?&]"+e+"=([^&]*)").exec(window.location.search);return n&&decodeURIComponent(n[1].replace(/\+/g," "))},isNumber:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},startEvfOverLay:function(e,n){var r=$("<div class='evf-overlay'/>");r.append('<div class="loading"/>'),n.find(".spinner").remove(),e.find(".evf-overlay").remove(),e.css({position:"relative"}),e.append(r),n.append('<span style="margin-top: -1px;margin-right: 0;" class="spinner is-active"/>')},endEvfOverLay:function(e,n){e.find(".evf-overlay").fadeOut(),e.find(".evf-overlay").remove(),e.removeAttr("style"),n.find(".spinner").remove()}};evfHelper.init();
trunk/assets/js/admin/builder-config.js ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ( $ ) {
2
+
3
+ var builder_node = $('#everest-builder');
4
+
5
+ $(document).trigger("everest_builder_builder_node_filter", [ builder_node ]);
6
+
7
+ var builder_config = {
8
+ fields: [
9
+ {
10
+ type: 'text',
11
+ field_settings: {
12
+ required: true,
13
+ default: 'Hello World',
14
+ meta_key: 'this_is_field_meta_key',
15
+ }
16
+ },
17
+
18
+ ],
19
+ form_settings: {
20
+ form_shortcode: ''
21
+ },
22
+ appearance_settings: {},
23
+ dragged_fields: {}
24
+
25
+
26
+ };
27
+ builder_node.EverestBuilder(builder_config);
28
+
29
+ })(jQuery);
trunk/assets/js/admin/builder-config.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e){var t=e("#everest-builder");e(document).trigger("everest_builder_builder_node_filter",[t]);t.EverestBuilder({fields:[{type:"text",field_settings:{required:!0,"default":"Hello World",meta_key:"this_is_field_meta_key"}}],form_settings:{form_shortcode:""},appearance_settings:{},dragged_fields:{}})}(jQuery);
trunk/assets/js/admin/everest-builder.js ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //Plugin made by Umesh Ghimire
2
+ (function ( $ ) {
3
+ $.fn.EverestBuilder = function ( options ) {
4
+
5
+ return this.each(function () {
6
+ // Bob's default settings:
7
+ var defaults = {
8
+ fields: [],
9
+ form_settings: {},
10
+ appearance_settings: {},
11
+ dragged_fields: {}
12
+ };
13
+ var settings = $.extend({}, defaults, options);
14
+
15
+
16
+ var self = {
17
+ draggableNode: function () {
18
+ var draggable_node = $('<div class="eb-draggable"/>');
19
+ $.each(settings.fields, function ( field_index, field_value ) {
20
+ if ( 'undefined' !== typeof field_value.type ) {
21
+ var field_node = $.fn.EverestBuilder.nodeGenerator(field_value.type, field_value, settings);
22
+ draggable_node.append(field_node);
23
+ } else {
24
+ eb_notices('Undefined property type of field');
25
+ }
26
+ })
27
+
28
+ },
29
+ // It will render the builder node
30
+ renderNode: function () {
31
+ var draggable_node = this.draggableNode();
32
+ },
33
+ init: function () {
34
+
35
+ this.renderNode();
36
+
37
+ },
38
+
39
+ };
40
+
41
+ self.init();
42
+
43
+ });
44
+
45
+ };
46
+
47
+
48
+ function eb_notices ( notice, type ) {
49
+
50
+ var color = '#a94442';
51
+
52
+ if ( 'undefined' !== typeof type && 'info' === type ) {
53
+ color = '#31708f';
54
+ }
55
+ console.log('%c ' + 'EverestBuilder - Notice : ' + notice, 'color: ' + color);
56
+ }
57
+
58
+ function eb_error ( error ) {
59
+ throw 'EverestBuilder - Error : ' + error;
60
+ }
61
+ })(jQuery);
62
+
63
+ (function ( $ ) {
64
+ // Node methods
65
+
66
+ $.fn.EverestBuilder.nodeGenerator = function ( type, field, $this ) {
67
+
68
+ if ( 'undefined' === typeof $.fn.EverestBuilder.nodeGenerator[ type ] ) {
69
+
70
+ eb_error('Could not find method - ' + type);
71
+ }
72
+ $.fn.EverestBuilder.nodeGenerator[ type ](field, $this);
73
+
74
+ };
75
+
76
+ $.fn.EverestBuilder.nodeGenerator.text = function ( field, instance ) {
77
+
78
+ var defaults = {
79
+ type: 'text',
80
+ field_settings: {
81
+ required: true,
82
+ default: 'LOL World',
83
+ meta_key: 'this_is_field_meta_key',
84
+ }
85
+ };
86
+ var options = $.extend({}, defaults, field);
87
+ console.log(field);
88
+ console.log(options);
89
+
90
+ };
91
+ })(jQuery);
92
+
93
+
94
+
trunk/assets/js/admin/everest-builder.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(d){d.fn.EverestBuilder=function(e){return this.each(function(){var o=d.extend({},{fields:[],form_settings:{},appearance_settings:{},dragged_fields:{}},e);({draggableNode:function(){var r=d('<div class="eb-draggable"/>');d.each(o.fields,function(e,n){if("undefined"!=typeof n.type){var t=d.fn.EverestBuilder.nodeGenerator(n.type,n,o);r.append(t)}else!function(e,n){var t="#a94442";void 0!==n&&"info"===n&&(t="#31708f");console.log("%c EverestBuilder - Notice : "+e,"color: "+t)}("Undefined property type of field")})},renderNode:function(){this.draggableNode()},init:function(){this.renderNode()}}).init()})}}(jQuery),function(r){r.fn.EverestBuilder.nodeGenerator=function(e,n,t){"undefined"==typeof r.fn.EverestBuilder.nodeGenerator[e]&&eb_error("Could not find method - "+e),r.fn.EverestBuilder.nodeGenerator[e](n,t)},r.fn.EverestBuilder.nodeGenerator.text=function(e,n){var t=r.extend({},{type:"text",field_settings:{required:!0,"default":"LOL World",meta_key:"this_is_field_meta_key"}},e);console.log(e),console.log(t)}}(jQuery);
trunk/assets/js/admin/everest-forms-admin.js ADDED
File without changes
trunk/assets/js/admin/everest-forms-admin.min.js ADDED
File without changes
trunk/assets/js/admin/everest-panel-builder.js ADDED
@@ -0,0 +1,841 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* global jconfirm */
2
+ (function ( $, evf_data ) {
3
+
4
+
5
+ var EVFPanelBuilder = {
6
+
7
+
8
+ /**
9
+ * Start the panel builder.
10
+ *
11
+ * @since 1.0.0
12
+ */
13
+ init: function () {
14
+
15
+ // Document ready
16
+ $(document).ready(EVFPanelBuilder.ready);
17
+
18
+ // Page load
19
+ $(window).on('load', EVFPanelBuilder.load);
20
+
21
+ EVFPanelBuilder.bindUI();
22
+ },
23
+
24
+ /**
25
+ * Document ready.
26
+ *
27
+ * @since 1.3.9
28
+ */
29
+ ready: function() {
30
+ // jquery-confirm defaults.
31
+ jconfirm.defaults = {
32
+ closeIcon: true,
33
+ backgroundDismiss: true,
34
+ escapeKey: true,
35
+ animationBounce: 1,
36
+ useBootstrap: false,
37
+ theme: 'modern',
38
+ boxWidth: '400px',
39
+ columnClass: 'evf-responsive-class'
40
+ };
41
+
42
+ // Action available for each binding.
43
+ $( document ).trigger( 'everest_forms_ready' );
44
+ },
45
+
46
+ load: function () {
47
+
48
+ },
49
+ bindUI: function () {
50
+
51
+ EVFPanelBuilder.bindDefaultTabs();
52
+ EVFPanelBuilder.checkEmptyGrid();
53
+ EVFPanelBuilder.bindFields();
54
+ EVFPanelBuilder.bindFormPreview();
55
+ EVFPanelBuilder.bindGridSwitcher();
56
+ EVFPanelBuilder.bindFieldSettings();
57
+ EVFPanelBuilder.bindFieldDelete();
58
+ EVFPanelBuilder.bindCloneField();
59
+ EVFPanelBuilder.bindSaveOption();
60
+ EVFPanelBuilder.bindFieldOptionChange();
61
+ EVFPanelBuilder.bindAddNewRow();
62
+ EVFPanelBuilder.bindRemoveRow();
63
+ EVFPanelBuilder.bindFormSettings();
64
+ EVFPanelBuilder.choicesInit();
65
+ EVFPanelBuilder.choicesUpdate();
66
+
67
+ var tab = evf_data.tab;
68
+ if ( tab === 'field-options' ) {
69
+ $('.evf-panel-field-options-button').trigger('click');
70
+ }
71
+
72
+ },
73
+ choicesInit: function () {
74
+ var choice_list = $(".evf-choices-list");
75
+ choice_list.sortable({
76
+ out: function ( event, ui ) {
77
+
78
+ var field_id = $(event.target).attr('data-field-id');
79
+ EVFPanelBuilder.choiceChange(field_id);
80
+
81
+ }
82
+ }
83
+ );
84
+ var option_container = choice_list.closest('.everest-forms-field-option');
85
+ var field_id = option_container.attr('data-field-id');
86
+ var field_container = $('#everest-forms-field-' + field_id);
87
+
88
+
89
+ },
90
+ choicesUpdate: function () {
91
+ var choice_list = $(".evf-choices-list");
92
+ $('body').on('click', '.evf-choices-list a.add', function () {
93
+ var clone = $(this).closest('li').clone();
94
+ clone.find('input[type="text"]').val('');
95
+ var ul = $(this).closest('.evf-choices-list');
96
+ var field_id = ul.attr('data-field-id');
97
+ var total_list = ul.find('li').length;
98
+ total_list++;
99
+ clone.find('input[type="checkbox"],input[type="radio"]').prop('checked', false);
100
+ clone.attr('data-key', total_list);
101
+ clone.find('.default').attr('name', 'form_fields[' + field_id + '][choices][' + total_list + '][default]');
102
+ clone.find('.label').attr('name', 'form_fields[' + field_id + '][choices][' + total_list + '][label]');
103
+ clone.find('.value').attr('name', 'form_fields[' + field_id + '][choices][' + total_list + '][value]');
104
+ $(this).closest('li').after(clone);
105
+ EVFPanelBuilder.choiceChange(field_id);
106
+ });
107
+ $('body').on('click', '.evf-choices-list a.remove', function () {
108
+ var ul = $( this ).closest( '.evf-choices-list' );
109
+ var field_id = ul.attr( 'data-field-id' );
110
+
111
+ if ( ul.find( 'li' ).length < 2 ) {
112
+ $.alert({
113
+ title: false,
114
+ content: evf_data.i18n_field_error_choice,
115
+ icon: 'dashicons dashicons-info',
116
+ type: 'blue',
117
+ buttons: {
118
+ ok: {
119
+ text: evf_data.i18n_ok,
120
+ btnClass: 'btn-confirm',
121
+ keys: [ 'enter' ]
122
+ }
123
+ }
124
+ });
125
+ } else {
126
+ $( this ).closest( 'li' ).remove();
127
+ EVFPanelBuilder.choiceChange( field_id );
128
+ }
129
+ });
130
+
131
+ var selector = '.evf-choices-list input';
132
+
133
+ $('body').on('keyup paste click', selector, function () {
134
+ var ul = $(this).closest('.evf-choices-list');
135
+ var field_id = ul.attr('data-field-id');
136
+ var type = $(this).attr('type');
137
+ if ( type.toLowerCase() === 'radio' ) {
138
+ if ( $(this).is(":checked") ) {
139
+ $(this).closest('.evf-choices-list').find('input[type="radio"]').prop('checked', false);
140
+ $(this).prop('checked', true);
141
+ }
142
+ }
143
+
144
+ EVFPanelBuilder.choiceChange(field_id);
145
+
146
+ });
147
+
148
+ },
149
+ choiceChange: function ( field_id ) {
150
+ var choices_wrapper = $('#everest-forms-field-option-row-' + field_id + '-choices');
151
+ var choices_field = $('#everest-forms-field-' + field_id);
152
+ var primary_field = choices_field.find('ul.primary-input');
153
+
154
+ var choice_type = choices_wrapper.find('ul.evf-choices-list').attr('data-field-type');
155
+ if ( choice_type === 'select' ) {
156
+ primary_field = choices_field.find('select.primary-input');
157
+ }
158
+ primary_field.html('');
159
+
160
+ $.each(choices_wrapper.find('ul.evf-choices-list').find('li'), function () {
161
+ var type = $(this).find('.default').attr('type');
162
+ var list = $('<li/>').append('<input type="' + type + '" disabled="">');
163
+ if ( choice_type === 'select' ) {
164
+ list = $('<option/>');
165
+ if ( $(this).find('.default').is(":checked") ) {
166
+ list.attr('selected', 'selected');
167
+ }
168
+ }
169
+ list.append($(this).find('.label').val());
170
+ if ( $(this).find('.default').is(":checked") ) {
171
+ list.find('input').prop('checked', true);
172
+ }
173
+ primary_field.append(list);
174
+ });
175
+
176
+ },
177
+ bindFormSettings: function () {
178
+
179
+ $('body').on('click', '.evf-setting-panel', function ( e ) {
180
+
181
+ var data_setting_section = $(this).attr('data-section');
182
+ $('.evf-setting-panel').removeClass('active');
183
+ $('.evf-content-section').removeClass('active');
184
+ $(this).addClass('active');
185
+ $('.evf-content-' + data_setting_section + '-settings').addClass('active');
186
+ e.preventDefault();
187
+ });
188
+
189
+ $('.evf-setting-panel').eq(0).trigger('click');
190
+ },
191
+ removeRow: function ( row ) {
192
+ $.each(row.find('.everest-forms-field'), function () {
193
+ var field = $(this);
194
+ var field_id = field.attr('data-field-id');
195
+ var option_field = $('#everest-forms-field-option-' + field_id);
196
+ field.remove();
197
+ option_field.remove();
198
+ });
199
+ row.remove();
200
+ },
201
+ bindRemoveRow: function () {
202
+ $( 'body' ).on('click', '.evf-delete-row', function () {
203
+ var row = $( this ).closest( '.evf-admin-row' );
204
+
205
+ if ( $( '.evf-admin-row' ).length < 2 ) {
206
+ $.alert({
207
+ title: evf_data.i18n_row_locked,
208
+ content: evf_data.i18n_row_locked_msg,
209
+ icon: 'dashicons dashicons-info',
210
+ type: 'blue',
211
+ buttons : {
212
+ confirm : {
213
+ text: evf_data.i18n_close,
214
+ btnClass: 'btn-confirm',
215
+ keys: ['enter']
216
+ }
217
+ }
218
+ });
219
+ } else {
220
+ $.confirm({
221
+ title: false,
222
+ content: evf_data.i18n_delete_row_confirm,
223
+ type: 'red',
224
+ closeIcon: false,
225
+ backgroundDismiss: false,
226
+ icon: 'dashicons dashicons-warning',
227
+ buttons: {
228
+ confirm: {
229
+ text: evf_data.i18n_ok,
230
+ btnClass: 'btn-confirm',
231
+ keys: ['enter'],
232
+ action: function () {
233
+ EVFPanelBuilder.removeRow( row );
234
+ }
235
+ },
236
+ cancel: {
237
+ text: evf_data.i18n_cancel
238
+ }
239
+ }
240
+ } );
241
+ }
242
+ });
243
+ },
244
+ bindAddNewRow: function () {
245
+
246
+ $('body').on('click', '.evf-add-row span', function () {
247
+
248
+ var row_clone = $('.evf-admin-row').eq(0).clone();
249
+ var number_of_rows = $('.evf-admin-row').length;
250
+ row_clone.find('.evf-admin-grid').html('');
251
+ row_clone.attr('data-row-id', (number_of_rows + 1));
252
+ $('.evf-admin-field-wrapper').append(row_clone);
253
+ EVFPanelBuilder.bindFields();
254
+
255
+ EVFPanelBuilder.checkEmptyGrid();
256
+ })
257
+ },
258
+ bindFieldOptionChange: function () {
259
+
260
+ var selector = '.everest-forms-field-option-row input[type="text"][name$="[label]"], ' +
261
+ '.everest-forms-field-option-row textarea[name$="[description]"], ' +
262
+ '.everest-forms-field-option-row input[type="checkbox"][name$="[required]"], ' +
263
+ '.everest-forms-field-option-row input[type="checkbox"][name$="[label_hide]"], ' +
264
+ '.everest-forms-field-option-row input[type="text"][name$="[placeholder]"]';
265
+
266
+ $('body').on('keyup paste click', selector, function () {
267
+ EVFPanelBuilder.bindFormFieldChange($(this));
268
+ });
269
+
270
+ },
271
+ bindFormFieldChange: function ( option_field ) {
272
+ var field_id = option_field.closest('.everest-forms-field-option-row').attr('data-field-id');
273
+ var field = $('.evf-admin-grid #everest-forms-field-' + field_id + '.active');
274
+ var option_field_type = option_field.attr('id');
275
+ if ( option_field_type === 'undefined' || option_field_type === undefined ) {
276
+ return;
277
+ }
278
+ option_field_type = option_field_type.replace('everest-forms-field-option-' + field_id + '-', '');
279
+ switch ( option_field_type ) {
280
+ case 'label':
281
+ field.find('.label-title .text').text(option_field.val());
282
+ break;
283
+ case 'description':
284
+ field.find('.description').text(option_field.val());
285
+ break;
286
+ case 'required':
287
+ if ( option_field.is(":checked") ) {
288
+ field.find('.label-title .required').remove();
289
+ field.find('.label-title').append('<span class="required">*</span>');
290
+
291
+ } else {
292
+ field.find('.label-title .required').remove();
293
+ }
294
+ break;
295
+ case 'label_hide':
296
+ if ( option_field.is(":checked") ) {
297
+ field.find('.label-title').hide();
298
+
299
+ } else {
300
+ field.find('.label-title').show();
301
+ }
302
+ break;
303
+ case 'placeholder':
304
+ field.find('input').attr('placeholder', option_field.val());
305
+ break;
306
+
307
+ }
308
+
309
+ },
310
+ bindCloneField: function () {
311
+ $( 'body' ).on( 'click', '.everest-forms-preview .everest-forms-field .everest-forms-field-duplicate', function() {
312
+ var $field = $( this ).closest( '.everest-forms-field' );
313
+
314
+ if ( $field.hasClass( 'no-duplicate' ) ) {
315
+ $.alert({
316
+ title: evf_data.i18n_field_locked,
317
+ content: evf_data.i18n_field_locked_msg,
318
+ icon: 'dashicons dashicons-info',
319
+ type: 'blue',
320
+ buttons : {
321
+ confirm : {
322
+ text: evf_data.i18n_close,
323
+ btnClass: 'btn-confirm',
324
+ keys: ['enter']
325
+ }
326
+ }
327
+ });
328
+ } else {
329
+ $.confirm({
330
+ title: false,
331
+ content: evf_data.i18n_duplicate_field_confirm,
332
+ type: 'orange',
333
+ closeIcon: false,
334
+ backgroundDismiss: false,
335
+ icon: 'dashicons dashicons-warning',
336
+ buttons: {
337
+ confirm: {
338
+ text: evf_data.i18n_ok,
339
+ btnClass: 'btn-confirm',
340
+ keys: ['enter'],
341
+ action: function () {
342
+ EVFPanelBuilder.cloneFieldAction( $field );
343
+ }
344
+ },
345
+ cancel: {
346
+ text: evf_data.i18n_cancel
347
+ }
348
+ }
349
+ } );
350
+ }
351
+ } );
352
+ },
353
+ cloneFieldAction: function ( field ) {
354
+ var element_field_id = field.attr('data-field-id');
355
+ var form_id = evf_data.form_id;
356
+ var data = {
357
+ action: 'everest_forms_get_next_id',
358
+ security: evf_data.evf_get_next_id,
359
+ form_id: form_id
360
+ };
361
+ $.ajax({
362
+ url: evf_data.ajax_url,
363
+ data: data,
364
+ type: 'POST',
365
+ beforeSend: function() {},
366
+ success: function ( response ) {
367
+ if ( typeof response.success === 'boolean' && response.success === true ) {
368
+ var field_id = response.data.field_id;
369
+ var field_key = response.data.field_key;
370
+ $('#everest-forms-field-id').val(field_id);
371
+ EVFPanelBuilder.render_node(field, element_field_id, field_key);
372
+ }
373
+ }
374
+ });
375
+ },
376
+ render_node: function ( field, old_key, new_key ) {
377
+
378
+ var option = $('.everest-forms-field-options #everest-forms-field-option-' + old_key);
379
+ var field_type = field.attr('data-field-type'),
380
+ newOptionHtml = option.html(),
381
+ new_field_label = evf_data.copy_of + $('#everest-forms-field-option-' + old_key + '-label').val(),
382
+ newFieldCloned = field.clone();
383
+ var regex = new RegExp(old_key, 'g');
384
+ newOptionHtml = newOptionHtml.replace(regex, new_key);
385
+ var newOption = $('<div class="everest-forms-field-option everest-forms-field-option-' + field_type + '" id="everest-forms-field-option-' + new_key + '" data-field-id="' + new_key + '" />');
386
+ newOption.append(newOptionHtml);
387
+ $.each(option.find(':input'), function () {
388
+ var type = $(this).attr('type');
389
+ var name = $(this).attr('name');
390
+ var new_name = name.replace(regex, new_key);
391
+ var value = '';
392
+ if ( type === 'text' || type === 'hidden' ) {
393
+ value = $(this).val();
394
+ newOption.find('input[name="' + new_name + '"]').val(value);
395
+ newOption.find('input[value="' + old_key + '"]').val(new_key);
396
+ } else if ( type === 'checkbox' || type === 'radio' ) {
397
+ if ( $(this).is(':checked') ) {
398
+ newOption.find('input[name="' + new_name + '"]').prop('checked', true).attr('checked', 'checked');
399
+ } else {
400
+ newOption.find('[name="' + new_name + '"]').prop('checked', false).attr('checked', false);
401
+ }
402
+ } else if ( $(this).is('select') ) {
403
+ if ( $(this).find('option:selected').length ) {
404
+ var option_value = $(this).find('option:selected').val();
405
+ newOption.find('[name="' + new_name + '"]').find('[value="' + option_value + '"]').prop('selected', true);
406
+ }
407
+ } else {
408
+ if ( $(this).val() !== '' ) {
409
+ newOption.find('[name="' + new_name + '"]').val($(this).val());
410
+ }
411
+ }
412
+ });
413
+
414
+ $('.everest-forms-field-options').append(newOption);
415
+ $('#everest-forms-field-option-' + new_key + '-label').val(new_field_label);
416
+
417
+ // Field Clone
418
+ newFieldCloned.attr('class', field.attr('class'));
419
+ newFieldCloned.attr('id', 'everest-forms-field-' + new_key);
420
+ newFieldCloned.attr('data-field-id', new_key);
421
+ newFieldCloned.attr('data-field-type', field_type);
422
+ newFieldCloned.find('.label-title .text').text(new_field_label);
423
+ field.closest( '.evf-admin-grid' ).find( '[data-field-id="' + old_key + '"]' ).after( newFieldCloned );
424
+ $(document).trigger('everest-form-cloned', [ new_key, field_type ]);
425
+ },
426
+ bindFieldDelete: function () {
427
+ $( 'body' ).on('click', '.everest-forms-preview .everest-forms-field .everest-forms-field-delete', function () {
428
+ var $field = $( this ).closest( '.everest-forms-field' );
429
+ var field_id = $field.attr('data-field-id');
430
+ var option_field = $( '#everest-forms-field-option-' + field_id );
431
+
432
+ if ( $field.hasClass( 'no-delete' ) ) {
433
+ $.alert({
434
+ title: evf_data.i18n_field_locked,
435
+ content: evf_data.i18n_field_locked_msg,
436
+ icon: 'dashicons dashicons-info',
437
+ type: 'blue',
438
+ buttons : {
439
+ confirm : {
440
+ text: evf_data.i18n_close,
441
+ btnClass: 'btn-confirm',
442
+ keys: ['enter']
443
+ }
444
+ }
445
+ });
446
+ } else {
447
+ $.confirm({
448
+ title: false,
449
+ content: evf_data.i18n_delete_field_confirm,
450
+ type: 'orange',
451
+ closeIcon: false,
452
+ backgroundDismiss: false,
453
+ icon: 'dashicons dashicons-warning',
454
+ buttons: {
455
+ confirm: {
456
+ text: evf_data.i18n_ok,
457
+ btnClass: 'btn-confirm',
458
+ keys: ['enter'],
459
+ action: function () {
460
+ $( '.evf-panel-fields-button' ).trigger( 'click' );
461
+ $field.fadeOut( 'slow', function () {
462
+ $field.remove();
463
+ option_field.remove();
464
+ });
465
+ }
466
+ },
467
+ cancel: {
468
+ text: evf_data.i18n_cancel
469
+ }
470
+ }
471
+ } );
472
+ }
473
+ });
474
+ },
475
+ bindSaveOption: function () {
476
+
477
+ $('body').on('click', '.evf_save_form_action_button', function () {
478
+ var $this = $(this);
479
+ var form = $('form#everest-forms-builder-form');
480
+ var structure = EVFPanelBuilder.getStructure();
481
+
482
+ var form_data = form.serializeArray();
483
+
484
+ var new_form_data = form_data.concat(structure);
485
+
486
+ var data = {
487
+ action: 'everest_forms_save_form',
488
+ security: evf_data.evf_save_form,
489
+ form_data: JSON.stringify(new_form_data),
490
+ };
491
+ var $wrapper = $('#everest-forms-builder');
492
+ $.ajax({
493
+ url: evf_data.ajax_url,
494
+ data: data,
495
+ type: 'POST',
496
+ beforeSend: function () {
497
+ evfHelper.startEvfOverLay($wrapper, $this);
498
+ },
499
+ success: function ( response ) {
500
+ evfHelper.endEvfOverLay($wrapper, $this);
501
+
502
+ if ( typeof response.success === 'boolean' && response.success === true ) {
503
+ // console.log(response.data);
504
+ // window.location = response.data.redirect_url;
505
+ window.location.reload();
506
+ }
507
+ }
508
+ });
509
+ })
510
+
511
+ },
512
+ getStructure: function () {
513
+
514
+ var wrapper = $('.evf-admin-field-wrapper');
515
+ var structure = [];
516
+ $.each(wrapper.find('.evf-admin-row'), function () {
517
+ var row = $(this);
518
+ var row_id = row.attr('data-row-id');
519
+ $.each(row.find('.evf-admin-grid'), function () {
520
+ var grid = $(this);
521
+ var grid_id = grid.attr('data-grid-id');
522
+
523
+ var array_index = 0;
524
+ $.each(grid.find('.everest-forms-field'), function () {
525
+ var structure_object = { name: '', value: '' };
526
+ var field_id = $(this).attr('data-field-id');
527
+ structure_object.name = 'structure[row_' + row_id + '][grid_' + grid_id + '][' + array_index + ']';
528
+ array_index++;
529
+ structure_object.value = field_id;
530
+ structure.push(structure_object);
531
+ });
532
+ if ( grid.find('.everest-forms-field').length < 1 ) {
533
+
534
+ structure.push({ name: 'structure[row_' + row_id + '][grid_' + grid_id + ']', value: '' });
535
+
536
+ }
537
+
538
+ })
539
+
540
+ });
541
+ return structure;
542
+ },
543
+ getFieldArray: function ( grid ) {
544
+
545
+ var fields = [];
546
+ $.each(grid.find('.everest-forms-field'), function () {
547
+
548
+ var field_id = $(this).attr('data-field-id');
549
+ fields.push(field_id);
550
+ });
551
+ return fields;
552
+ },
553
+
554
+ checkEmptyGrid: function () {
555
+
556
+ $.each($('.evf-admin-grid'), function () {
557
+ if ( $(this).find('.everest-forms-field').length < 1 ) {
558
+ $(this).addClass('evf-empty-grid');
559
+ } else {
560
+ $(this).removeClass('evf-empty-grid');
561
+ }
562
+ });
563
+ EVFPanelBuilder.choicesInit();
564
+
565
+ },
566
+ bindDefaultTabs: function () {
567
+
568
+ $(document).on('click', '#evf-builder-tabs li', function ( e ) {
569
+ e.preventDefault();
570
+ EVFPanelBuilder.switchTab($(this).data('panel'));
571
+ });
572
+ },
573
+ switchTab: function ( panel ) {
574
+ var $panel = $('#everest-forms-panel-' + panel),
575
+ $panelBtn = $('.evf-panel-' + panel + '-button');
576
+
577
+ $('#evf-builder-tabs').find('li a').removeClass('active');
578
+ $panelBtn.find('a').addClass('active');
579
+ $panel.closest('.evf-tab-content').find('.everest-forms-panel').removeClass('active');
580
+ $panel.addClass('active');
581
+ if ( panel === 'fields' ) {
582
+ $('.everest-forms-field-options').hide();
583
+ $('.everest-forms-add-fields').show();
584
+
585
+
586
+ }
587
+ history.replaceState({}, null, evfHelper.updateQueryString('tab', panel));
588
+ EVFPanelBuilder.switchPanel(panel);
589
+
590
+ },
591
+ switchPanel: function ( panel ) {
592
+ if ( panel === 'field-options' ) {
593
+
594
+ EVFPanelBuilder.switchToFieldOptionPanel();
595
+ }
596
+
597
+ },
598
+ switchToFieldOptionPanel: function ( field_id ) {
599
+ $('li.evf-panel-field-options-button.evf-disabled-tab').show();
600
+ $('.everest-forms-field-options').find('.no-fields').hide();
601
+ $('.evf-admin-field-wrapper .everest-forms-field').removeClass('active');
602
+ $('.everest-forms-panel').removeClass('active');
603
+ $('#everest-forms-panel-fields').addClass('active');
604
+ $('.everest-forms-add-fields').hide();
605
+ $('.everest-forms-field-options').show();
606
+ $('.everest-forms-field-options').find('.everest-forms-field-option').hide();
607
+ $('.evf-tab-lists').find('li a').removeClass('active');
608
+ $('.evf-tab-lists').find('li.evf-panel-field-options-button a').addClass('active');
609
+ if ( typeof field_id !== 'undefined' ) {
610
+
611
+ $('#everest-forms-field-option-' + field_id).show();
612
+ $('#everest-forms-field-' + field_id).addClass('active');
613
+
614
+ } else {
615
+
616
+ if ( $('.evf-admin-field-wrapper .everest-forms-field').length > 0 ) {
617
+ $('.evf-admin-field-wrapper .everest-forms-field').eq(0).addClass('active');
618
+ $('#everest-forms-field-option-' + $('.evf-admin-field-wrapper .everest-forms-field').eq(0).attr('data-field-id')).show();
619
+
620
+ } else {
621
+ $('.everest-forms-field-options').find('.no-fields').show();
622
+ }
623
+ }
624
+ },
625
+ bindFields: function () {
626
+
627
+ $('.evf-admin-grid').sortable({
628
+ containment: '.evf-admin-field-wrapper',
629
+ cancel: false,
630
+ over: function ( event, ui ) {
631
+ $(event.target).addClass('evf-item-hover');
632
+ $('.evf-admin-grid').addClass('evf-hover');
633
+ EVFPanelBuilder.checkEmptyGrid();
634
+ },
635
+ out: function ( event, ui ) {
636
+ $('.evf-admin-grid').removeClass('evf-hover');
637
+ $(event.target).removeClass('evf-item-hover');
638
+ EVFPanelBuilder.checkEmptyGrid();
639
+
640
+ },
641
+ revert: true,
642
+ connectWith: '.evf-admin-grid'
643
+ }).disableSelection();
644
+
645
+ $('.evf-admin-field-wrapper').sortable({
646
+ containment: '.evf-admin-field-wrapper',
647
+ tolerance: 'pointer',
648
+ revert: 'invalid',
649
+ placeholder: 'evf-admin-row',
650
+ forceHelperSize: true,
651
+ over: function () {
652
+ $('.evf-admin-field-wrapper').addClass('evf-hover');
653
+ },
654
+ out: function () {
655
+ $('.evf-admin-field-wrapper').removeClass('evf-hover');
656
+ }
657
+ });
658
+ $('.evf-registered-buttons button.evf-registered-item').draggable({
659
+ connectToSortable: '.evf-admin-grid',
660
+ containment: '#everest-forms-builder',
661
+ helper: 'clone',
662
+ revert: 'invalid',
663
+ cancel: false,
664
+ start: function ( event, ui ) {
665
+ $('.evf-admin-grid').addClass('evf-hover');
666
+ },
667
+ stop: function ( event, ui ) {
668
+ $('.evf-admin-grid').removeClass('evf-hover');
669
+ var grid = ui.helper.closest('.evf-admin-grid');
670
+ var helper = ui.helper;
671
+ EVFPanelBuilder.fieldDrop(helper);
672
+
673
+
674
+ }
675
+ }).disableSelection();
676
+ },
677
+ bindFormPreview: function () {
678
+
679
+ },
680
+ bindGridSwitcher: function () {
681
+ $('body').on('click', '.evf-show-grid', function () {
682
+ $(this).closest('.evf-toggle-row').find(".evf-toggle-row-content").slideToggle(200);
683
+ });
684
+ var max_number_of_grid = 2;
685
+ $('body').on('click', '.evf-grid-selector', function () {
686
+ var $this_single_row = $(this).closest('.evf-admin-row');
687
+ if ( $(this).hasClass('active') ) {
688
+ return;
689
+ }
690
+ var grid_id = evfHelper.parseInt($(this).attr('data-evf-grid'));
691
+ if ( grid_id > max_number_of_grid ) {
692
+ return;
693
+ }
694
+ var grid_node = $('<div class="evf-admin-grid evf-grid-' + grid_id + ' ui-sortable" />');
695
+ var grids = $('<div/>');
696
+
697
+
698
+ $.each($this_single_row.find('.evf-admin-grid'), function () {
699
+ $(this).children('*').each(function () {
700
+ grids.append($(this).clone()); // "this" is the current element in the loop
701
+ });
702
+ });
703
+ $this_single_row.find('.evf-admin-grid').remove();
704
+ $this_single_row.find('.evf-clear ').remove();
705
+ $this_single_row.append('<div class="clear evf-clear"></div>');
706
+
707
+ for ( var $grid_number = 1; $grid_number <= grid_id; $grid_number++ ) {
708
+
709
+ grid_node.attr('data-grid-id', $grid_number);
710
+ $this_single_row.append(grid_node.clone());
711
+
712
+ }
713
+ $this_single_row.append('<div class="clear evf-clear"></div>');
714
+ $this_single_row.find('.evf-admin-grid').eq(0).append(grids.html());
715
+ $this_single_row.find('.evf-grid-selector').removeClass('active');
716
+ $(this).addClass('active');
717
+ EVFPanelBuilder.bindFields();
718
+ });
719
+ },
720
+ fieldDrop: function ( field ) {
721
+ var field_type = field.attr('data-field-type');
722
+ field.css({
723
+ 'width': '100%',
724
+ 'left': '0',
725
+ });
726
+
727
+ field.append('<i class="spinner is-active" style="margin: 0;padding: 0;"></i>');
728
+
729
+ var data = {
730
+ action: 'everest_forms_new_field_' + field_type,
731
+ security: evf_data.evf_field_drop_nonce,
732
+ field_type: field_type,
733
+ form_id: evf_data.form_id
734
+ };
735
+ $.ajax({
736
+ url: evf_data.ajax_url,
737
+ data: data,
738
+ type: 'POST',
739
+ beforeSend: function () {
740
+
741
+ },
742
+ success: function ( response ) {
743
+ var field_preview = response.data.preview;
744
+ var field_options = response.data.options;
745
+ var form_field_id = response.data.form_field_id;
746
+ $('#everest-forms-field-id').val(form_field_id);
747
+ $('.everest-forms-field-options').find('.no-fields').hide();
748
+ $('.everest-forms-field-options').append(field_options);
749
+ field.after(field_preview);
750
+ field.remove();
751
+ EVFPanelBuilder.checkEmptyGrid();
752
+
753
+
754
+ }
755
+ });
756
+ },
757
+ bindFieldSettings: function () {
758
+
759
+ $('body').on('click', '.everest-forms-preview .everest-forms-field, .everest-forms-preview .everest-forms-field .everest-forms-field-setting', function () {
760
+ var field_id = $(this).closest('.everest-forms-field').attr('data-field-id');
761
+
762
+ EVFPanelBuilder.switchToFieldOptionPanel(field_id);
763
+ });
764
+
765
+ }
766
+ };
767
+
768
+ $(function () {
769
+ EVFPanelBuilder.init();
770
+ });
771
+
772
+ })(jQuery, window.evf_data);
773
+
774
+ jQuery(function () {
775
+
776
+ var mySelect = jQuery('#everest-forms-panel-field-settings-redirect_to option:selected').val();
777
+
778
+ if ( mySelect == '0' ) {
779
+ jQuery('#everest-forms-panel-field-settings-custom_page-wrap').hide();
780
+ jQuery('#everest-forms-panel-field-settings-external_url-wrap').hide();
781
+ }
782
+ else if(mySelect == '1') {
783
+ jQuery('#everest-forms-panel-field-settings-custom_page-wrap').show();
784
+ jQuery('#everest-forms-panel-field-settings-external_url-wrap').hide();
785
+ }
786
+ else if(mySelect == '2'){
787
+ jQuery('#everest-forms-panel-field-settings-external_url-wrap').show();
788
+ jQuery('#everest-forms-panel-field-settings-custom_page-wrap').hide();
789
+ }
790
+
791
+ jQuery( '#everest-forms-panel-field-settings-redirect_to' ).on( 'change', function () {
792
+ if ( this.value == '0' ) {
793
+ jQuery('#everest-forms-panel-field-settings-custom_page-wrap').hide();
794
+ jQuery('#everest-forms-panel-field-settings-external_url-wrap').hide();
795
+ }
796
+ else if ( this.value == '1') {
797
+ jQuery('#everest-forms-panel-field-settings-custom_page-wrap').show();
798
+ jQuery('#everest-forms-panel-field-settings-external_url-wrap').hide();
799
+ }
800
+ else if ( this.value == '2') {
801
+ jQuery('#everest-forms-panel-field-settings-custom_page-wrap').hide();
802
+ jQuery('#everest-forms-panel-field-settings-external_url-wrap').show();
803
+ }
804
+ });
805
+ jQuery( 'li.evf-panel-field-options-button.evf-disabled-tab' ).hide();
806
+
807
+ });
808
+
809
+ jQuery( function ( $ ) {
810
+
811
+ // Init tooltip.
812
+ $( document.body ).on( 'init_tooltips', function() {
813
+ $( '.tips, .help_tip, .everest-forms-help-tooltip' ).tipTip( {
814
+ 'attribute': 'data-tip',
815
+ 'fadeIn': 50,
816
+ 'fadeOut': 50,
817
+ 'delay': 200
818
+ } );
819
+ } ).trigger( 'init_tooltips' );
820
+
821
+ $( '.everest-forms-tab-content' ).on( 'click', '.everest-forms-add-fields-group > a', function( event ) {
822
+ event.preventDefault();
823
+ });
824
+
825
+ // Fields Options - Open/close.
826
+ $( '.everest-forms-field-option' ).on( 'click', '.everest-forms-field-option-group > a', function( event ) {
827
+ event.preventDefault();
828
+ $( this ).parent( '.everest-forms-field-option-group' ).toggleClass( 'closed' ).toggleClass( 'open' );
829
+ });
830
+ $( '.everest-forms-field-option' ).on( 'click', '.everest-forms-field-option-group a', function( event ) {
831
+ // If the user clicks on some form input inside, the box should not be toggled.
832
+ if ( $( event.target ).filter( ':input, option, .sort' ).length ) {
833
+ return;
834
+ }
835
+
836
+ $( this ).next( '.everest-forms-field-option-group-inner' ).stop().slideToggle();
837
+ });
838
+ $( '.everest-forms-field-option-group.closed' ).each( function() {
839
+ $( this ).find( '.everest-forms-field-option-group-inner' ).hide();
840
+ });
841
+ });
trunk/assets/js/admin/everest-panel-builder.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(f,c){var r={init:function(){f(document).ready(r.ready),f(window).on("load",r.load),r.bindUI()},ready:function(){jconfirm.defaults={closeIcon:!0,backgroundDismiss:!0,escapeKey:!0,animationBounce:1,useBootstrap:!1,theme:"modern",boxWidth:"400px",columnClass:"evf-responsive-class"},f(document).trigger("everest_forms_ready")},load:function(){},bindUI:function(){r.bindDefaultTabs(),r.checkEmptyGrid(),r.bindFields(),r.bindFormPreview(),r.bindGridSwitcher(),r.bindFieldSettings(),r.bindFieldDelete(),r.bindCloneField(),r.bindSaveOption(),r.bindFieldOptionChange(),r.bindAddNewRow(),r.bindRemoveRow(),r.bindFormSettings(),r.choicesInit(),r.choicesUpdate(),"field-options"===c.tab&&f(".evf-panel-field-options-button").trigger("click")},choicesInit:function(){var e=f(".evf-choices-list");e.sortable({out:function(e,i){var t=f(e.target).attr("data-field-id");r.choiceChange(t)}});var i=e.closest(".everest-forms-field-option").attr("data-field-id");f("#everest-forms-field-"+i)},choicesUpdate:function(){f(".evf-choices-list");f("body").on("click",".evf-choices-list a.add",function(){var e=f(this).closest("li").clone();e.find('input[type="text"]').val("");var i=f(this).closest(".evf-choices-list"),t=i.attr("data-field-id"),n=i.find("li").length;n++,e.find('input[type="checkbox"],input[type="radio"]').prop("checked",!1),e.attr("data-key",n),e.find(".default").attr("name","form_fields["+t+"][choices]["+n+"][default]"),e.find(".label").attr("name","form_fields["+t+"][choices]["+n+"][label]"),e.find(".value").attr("name","form_fields["+t+"][choices]["+n+"][value]"),f(this).closest("li").after(e),r.choiceChange(t)}),f("body").on("click",".evf-choices-list a.remove",function(){var e=f(this).closest(".evf-choices-list"),i=e.attr("data-field-id");e.find("li").length<2?f.alert({title:!1,content:c.i18n_field_error_choice,icon:"dashicons dashicons-info",type:"blue",buttons:{ok:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"]}}}):(f(this).closest("li").remove(),r.choiceChange(i))});f("body").on("keyup paste click",".evf-choices-list input",function(){var e=f(this).closest(".evf-choices-list").attr("data-field-id");"radio"===f(this).attr("type").toLowerCase()&&f(this).is(":checked")&&(f(this).closest(".evf-choices-list").find('input[type="radio"]').prop("checked",!1),f(this).prop("checked",!0)),r.choiceChange(e)})},choiceChange:function(e){var i=f("#everest-forms-field-option-row-"+e+"-choices"),t=f("#everest-forms-field-"+e),n=t.find("ul.primary-input"),o=i.find("ul.evf-choices-list").attr("data-field-type");"select"===o&&(n=t.find("select.primary-input")),n.html(""),f.each(i.find("ul.evf-choices-list").find("li"),function(){var e=f(this).find(".default").attr("type"),i=f("<li/>").append('<input type="'+e+'" disabled="">');"select"===o&&(i=f("<option/>"),f(this).find(".default").is(":checked")&&i.attr("selected","selected")),i.append(f(this).find(".label").val()),f(this).find(".default").is(":checked")&&i.find("input").prop("checked",!0),n.append(i)})},bindFormSettings:function(){f("body").on("click",".evf-setting-panel",function(e){var i=f(this).attr("data-section");f(".evf-setting-panel").removeClass("active"),f(".evf-content-section").removeClass("active"),f(this).addClass("active"),f(".evf-content-"+i+"-settings").addClass("active"),e.preventDefault()}),f(".evf-setting-panel").eq(0).trigger("click")},removeRow:function(e){f.each(e.find(".everest-forms-field"),function(){var e=f(this),i=e.attr("data-field-id"),t=f("#everest-forms-field-option-"+i);e.remove(),t.remove()}),e.remove()},bindRemoveRow:function(){f("body").on("click",".evf-delete-row",function(){var e=f(this).closest(".evf-admin-row");f(".evf-admin-row").length<2?f.alert({title:c.i18n_row_locked,content:c.i18n_row_locked_msg,icon:"dashicons dashicons-info",type:"blue",buttons:{confirm:{text:c.i18n_close,btnClass:"btn-confirm",keys:["enter"]}}}):f.confirm({title:!1,content:c.i18n_delete_row_confirm,type:"red",closeIcon:!1,backgroundDismiss:!1,icon:"dashicons dashicons-warning",buttons:{confirm:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"],action:function(){r.removeRow(e)}},cancel:{text:c.i18n_cancel}}})})},bindAddNewRow:function(){f("body").on("click",".evf-add-row span",function(){var e=f(".evf-admin-row").eq(0).clone(),i=f(".evf-admin-row").length;e.find(".evf-admin-grid").html(""),e.attr("data-row-id",i+1),f(".evf-admin-field-wrapper").append(e),r.bindFields(),r.checkEmptyGrid()})},bindFieldOptionChange:function(){f("body").on("keyup paste click",'.everest-forms-field-option-row input[type="text"][name$="[label]"], .everest-forms-field-option-row textarea[name$="[description]"], .everest-forms-field-option-row input[type="checkbox"][name$="[required]"], .everest-forms-field-option-row input[type="checkbox"][name$="[label_hide]"], .everest-forms-field-option-row input[type="text"][name$="[placeholder]"]',function(){r.bindFormFieldChange(f(this))})},bindFormFieldChange:function(e){var i=e.closest(".everest-forms-field-option-row").attr("data-field-id"),t=f(".evf-admin-grid #everest-forms-field-"+i+".active"),n=e.attr("id");if("undefined"!==n&&n!==undefined)switch(n=n.replace("everest-forms-field-option-"+i+"-","")){case"label":t.find(".label-title .text").text(e.val());break;case"description":t.find(".description").text(e.val());break;case"required":e.is(":checked")?(t.find(".label-title .required").remove(),t.find(".label-title").append('<span class="required">*</span>')):t.find(".label-title .required").remove();break;case"label_hide":e.is(":checked")?t.find(".label-title").hide():t.find(".label-title").show();break;case"placeholder":t.find("input").attr("placeholder",e.val())}},bindCloneField:function(){f("body").on("click",".everest-forms-preview .everest-forms-field .everest-forms-field-duplicate",function(){var e=f(this).closest(".everest-forms-field");e.hasClass("no-duplicate")?f.alert({title:c.i18n_field_locked,content:c.i18n_field_locked_msg,icon:"dashicons dashicons-info",type:"blue",buttons:{confirm:{text:c.i18n_close,btnClass:"btn-confirm",keys:["enter"]}}}):f.confirm({title:!1,content:c.i18n_duplicate_field_confirm,type:"orange",closeIcon:!1,backgroundDismiss:!1,icon:"dashicons dashicons-warning",buttons:{confirm:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"],action:function(){r.cloneFieldAction(e)}},cancel:{text:c.i18n_cancel}}})})},cloneFieldAction:function(n){var o=n.attr("data-field-id"),e=c.form_id,i={action:"everest_forms_get_next_id",security:c.evf_get_next_id,form_id:e};f.ajax({url:c.ajax_url,data:i,type:"POST",beforeSend:function(){},success:function(e){if("boolean"==typeof e.success&&!0===e.success){var i=e.data.field_id,t=e.data.field_key;f("#everest-forms-field-id").val(i),r.render_node(n,o,t)}}})},render_node:function(e,o,s){var i=f(".everest-forms-field-options #everest-forms-field-option-"+o),t=e.attr("data-field-type"),n=i.html(),r=c.copy_of+f("#everest-forms-field-option-"+o+"-label").val(),a=e.clone(),d=new RegExp(o,"g");n=n.replace(d,s);var l=f('<div class="everest-forms-field-option everest-forms-field-option-'+t+'" id="everest-forms-field-option-'+s+'" data-field-id="'+s+'" />');l.append(n),f.each(i.find(":input"),function(){var e=f(this).attr("type"),i=f(this).attr("name").replace(d,s),t="";if("text"===e||"hidden"===e)t=f(this).val(),l.find('input[name="'+i+'"]').val(t),l.find('input[value="'+o+'"]').val(s);else if("checkbox"===e||"radio"===e)f(this).is(":checked")?l.find('input[name="'+i+'"]').prop("checked",!0).attr("checked","checked"):l.find('[name="'+i+'"]').prop("checked",!1).attr("checked",!1);else if(f(this).is("select")){if(f(this).find("option:selected").length){var n=f(this).find("option:selected").val();l.find('[name="'+i+'"]').find('[value="'+n+'"]').prop("selected",!0)}}else""!==f(this).val()&&l.find('[name="'+i+'"]').val(f(this).val())}),f(".everest-forms-field-options").append(l),f("#everest-forms-field-option-"+s+"-label").val(r),a.attr("class",e.attr("class")),a.attr("id","everest-forms-field-"+s),a.attr("data-field-id",s),a.attr("data-field-type",t),a.find(".label-title .text").text(r),e.closest(".evf-admin-grid").find('[data-field-id="'+o+'"]').after(a),f(document).trigger("everest-form-cloned",[s,t])},bindFieldDelete:function(){f("body").on("click",".everest-forms-preview .everest-forms-field .everest-forms-field-delete",function(){var e=f(this).closest(".everest-forms-field"),i=e.attr("data-field-id"),t=f("#everest-forms-field-option-"+i);e.hasClass("no-delete")?f.alert({title:c.i18n_field_locked,content:c.i18n_field_locked_msg,icon:"dashicons dashicons-info",type:"blue",buttons:{confirm:{text:c.i18n_close,btnClass:"btn-confirm",keys:["enter"]}}}):f.confirm({title:!1,content:c.i18n_delete_field_confirm,type:"orange",closeIcon:!1,backgroundDismiss:!1,icon:"dashicons dashicons-warning",buttons:{confirm:{text:c.i18n_ok,btnClass:"btn-confirm",keys:["enter"],action:function(){f(".evf-panel-fields-button").trigger("click"),e.fadeOut("slow",function(){e.remove(),t.remove()})}},cancel:{text:c.i18n_cancel}}})})},bindSaveOption:function(){f("body").on("click",".evf_save_form_action_button",function(){var i=f(this),e=f("form#everest-forms-builder-form"),t=r.getStructure(),n=e.serializeArray().concat(t),o={action:"everest_forms_save_form",security:c.evf_save_form,form_data:JSON.stringify(n)},s=f("#everest-forms-builder");f.ajax({url:c.ajax_url,data:o,type:"POST",beforeSend:function(){evfHelper.startEvfOverLay(s,i)},success:function(e){evfHelper.endEvfOverLay(s,i),"boolean"==typeof e.success&&!0===e.success&&window.location.reload()}})})},getStructure:function(){var e=f(".evf-admin-field-wrapper"),s=[];return f.each(e.find(".evf-admin-row"),function(){var e=f(this),o=e.attr("data-row-id");f.each(e.find(".evf-admin-grid"),function(){var e=f(this),t=e.attr("data-grid-id"),n=0;f.each(e.find(".everest-forms-field"),function(){var e={name:"",value:""},i=f(this).attr("data-field-id");e.name="structure[row_"+o+"][grid_"+t+"]["+n+"]",n++,e.value=i,s.push(e)}),e.find(".everest-forms-field").length<1&&s.push({name:"structure[row_"+o+"][grid_"+t+"]",value:""})})}),s},getFieldArray:function(e){var i=[];return f.each(e.find(".everest-forms-field"),function(){var e=f(this).attr("data-field-id");i.push(e)}),i},checkEmptyGrid:function(){f.each(f(".evf-admin-grid"),function(){f(this).find(".everest-forms-field").length<1?f(this).addClass("evf-empty-grid"):f(this).removeClass("evf-empty-grid")}),r.choicesInit()},bindDefaultTabs:function(){f(document).on("click","#evf-builder-tabs li",function(e){e.preventDefault(),r.switchTab(f(this).data("panel"))})},switchTab:function(e){var i=f("#everest-forms-panel-"+e),t=f(".evf-panel-"+e+"-button");f("#evf-builder-tabs").find("li a").removeClass("active"),t.find("a").addClass("active"),i.closest(".evf-tab-content").find(".everest-forms-panel").removeClass("active"),i.addClass("active"),"fields"===e&&(f(".everest-forms-field-options").hide(),f(".everest-forms-add-fields").show()),history.replaceState({},null,evfHelper.updateQueryString("tab",e)),r.switchPanel(e)},switchPanel:function(e){"field-options"===e&&r.switchToFieldOptionPanel()},switchToFieldOptionPanel:function(e){f("li.evf-panel-field-options-button.evf-disabled-tab").show(),f(".everest-forms-field-options").find(".no-fields").hide(),f(".evf-admin-field-wrapper .everest-forms-field").removeClass("active"),f(".everest-forms-panel").removeClass("active"),f("#everest-forms-panel-fields").addClass("active"),f(".everest-forms-add-fields").hide(),f(".everest-forms-field-options").show(),f(".everest-forms-field-options").find(".everest-forms-field-option").hide(),f(".evf-tab-lists").find("li a").removeClass("active"),f(".evf-tab-lists").find("li.evf-panel-field-options-button a").addClass("active"),void 0!==e?(f("#everest-forms-field-option-"+e).show(),f("#everest-forms-field-"+e).addClass("active")):0<f(".evf-admin-field-wrapper .everest-forms-field").length?(f(".evf-admin-field-wrapper .everest-forms-field").eq(0).addClass("active"),f("#everest-forms-field-option-"+f(".evf-admin-field-wrapper .everest-forms-field").eq(0).attr("data-field-id")).show()):f(".everest-forms-field-options").find(".no-fields").show()},bindFields:function(){f(".evf-admin-grid").sortable({containment:".evf-admin-field-wrapper",cancel:!1,over:function(e,i){f(e.target).addClass("evf-item-hover"),f(".evf-admin-grid").addClass("evf-hover"),r.checkEmptyGrid()},out:function(e,i){f(".evf-admin-grid").removeClass("evf-hover"),f(e.target).removeClass("evf-item-hover"),r.checkEmptyGrid()},revert:!0,connectWith:".evf-admin-grid"}).disableSelection(),f(".evf-admin-field-wrapper").sortable({containment:".evf-admin-field-wrapper",tolerance:"pointer",revert:"invalid",placeholder:"evf-admin-row",forceHelperSize:!0,over:function(){f(".evf-admin-field-wrapper").addClass("evf-hover")},out:function(){f(".evf-admin-field-wrapper").removeClass("evf-hover")}}),f(".evf-registered-buttons button.evf-registered-item").draggable({connectToSortable:".evf-admin-grid",containment:"#everest-forms-builder",helper:"clone",revert:"invalid",cancel:!1,start:function(e,i){f(".evf-admin-grid").addClass("evf-hover")},stop:function(e,i){f(".evf-admin-grid").removeClass("evf-hover");i.helper.closest(".evf-admin-grid");var t=i.helper;r.fieldDrop(t)}}).disableSelection()},bindFormPreview:function(){},bindGridSwitcher:function(){f("body").on("click",".evf-show-grid",function(){f(this).closest(".evf-toggle-row").find(".evf-toggle-row-content").slideToggle(200)});f("body").on("click",".evf-grid-selector",function(){var e=f(this).closest(".evf-admin-row");if(!f(this).hasClass("active")){var i=evfHelper.parseInt(f(this).attr("data-evf-grid"));if(!(2<i)){var t=f('<div class="evf-admin-grid evf-grid-'+i+' ui-sortable" />'),n=f("<div/>");f.each(e.find(".evf-admin-grid"),function(){f(this).children("*").each(function(){n.append(f(this).clone())})}),e.find(".evf-admin-grid").remove(),e.find(".evf-clear ").remove(),e.append('<div class="clear evf-clear"></div>');for(var o=1;o<=i;o++)t.attr("data-grid-id",o),e.append(t.clone());e.append('<div class="clear evf-clear"></div>'),e.find(".evf-admin-grid").eq(0).append(n.html()),e.find(".evf-grid-selector").removeClass("active"),f(this).addClass("active"),r.bindFields()}}})},fieldDrop:function(o){var e=o.attr("data-field-type");o.css({width:"100%",left:"0"}),o.append('<i class="spinner is-active" style="margin: 0;padding: 0;"></i>');var i={action:"everest_forms_new_field_"+e,security:c.evf_field_drop_nonce,field_type:e,form_id:c.form_id};f.ajax({url:c.ajax_url,data:i,type:"POST",beforeSend:function(){},success:function(e){var i=e.data.preview,t=e.data.options,n=e.data.form_field_id;f("#everest-forms-field-id").val(n),f(".everest-forms-field-options").find(".no-fields").hide(),f(".everest-forms-field-options").append(t),o.after(i),o.remove(),r.checkEmptyGrid()}})},bindFieldSettings:function(){f("body").on("click",".everest-forms-preview .everest-forms-field, .everest-forms-preview .everest-forms-field .everest-forms-field-setting",function(){var e=f(this).closest(".everest-forms-field").attr("data-field-id");r.switchToFieldOptionPanel(e)})}};f(function(){r.init()})}(jQuery,window.evf_data),jQuery(function(){var e=jQuery("#everest-forms-panel-field-settings-redirect_to option:selected").val();"0"==e?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"1"==e?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").show(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"2"==e&&(jQuery("#everest-forms-panel-field-settings-external_url-wrap").show(),jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide()),jQuery("#everest-forms-panel-field-settings-redirect_to").on("change",function(){"0"==this.value?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"1"==this.value?(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").show(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").hide()):"2"==this.value&&(jQuery("#everest-forms-panel-field-settings-custom_page-wrap").hide(),jQuery("#everest-forms-panel-field-settings-external_url-wrap").show())}),jQuery("li.evf-panel-field-options-button.evf-disabled-tab").hide()}),jQuery(function(i){i(document.body).on("init_tooltips",function(){i(".tips, .help_tip, .everest-forms-help-tooltip").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200})}).trigger("init_tooltips"),i(".everest-forms-tab-content").on("click",".everest-forms-add-fields-group > a",function(e){e.preventDefault()}),i(".everest-forms-field-option").on("click",".everest-forms-field-option-group > a",function(e){e.preventDefault(),i(this).parent(".everest-forms-field-option-group").toggleClass("closed").toggleClass("open")}),i(".everest-forms-field-option").on("click",".everest-forms-field-option-group a",function(e){i(e.target).filter(":input, option, .sort").length||i(this).next(".everest-forms-field-option-group-inner").stop().slideToggle()}),i(".everest-forms-field-option-group.closed").each(function(){i(this).find(".everest-forms-field-option-group-inner").hide()})});
trunk/assets/js/admin/evf-add-form.js ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* global everest_add_form_params */
2
+ (function( $ ){
3
+ 'use strict';
4
+
5
+ $( function() {
6
+ // Close modal
7
+ var evfModalClose = function() {
8
+ if ( $('#evf-modal-select-form').length ) {
9
+ $('#evf-modal-select-form').get(0).selectedIndex = 0;
10
+ $('#evf-modal-checkbox-title, #evf-modal-checkbox-description').prop('checked', false);
11
+ }
12
+ $('#evf-modal-backdrop, #evf-modal-wrap').css('display','none');
13
+ $( document.body ).removeClass( 'modal-open' );
14
+ };
15
+ // Open modal when media button is clicked
16
+ $(document).on('click', '.evf-insert-form-button', function(event) {
17
+ event.preventDefault();
18
+ $('#evf-modal-backdrop, #evf-modal-wrap').css('display','block');
19
+ $( document.body ).addClass( 'modal-open' );
20
+ });
21
+ // Close modal on close or cancel links
22
+ $(document).on('click', '#evf-modal-close, #evf-modal-cancel a', function(event) {
23
+ event.preventDefault();
24
+ evfModalClose();
25
+ });
26
+ // Insert shortcode into TinyMCE
27
+ $(document).on('click', '#evf-modal-submit', function(event) {
28
+ event.preventDefault();
29
+ var shortcode;
30
+ shortcode = '[everest_form id="' + $('#evf-modal-select-form').val() + '"';
31
+ if ( $('#evf-modal-checkbox-title').is(':checked') ) {
32
+ shortcode = shortcode+' title="true"';
33
+ }
34
+ if ( $('#evf-modal-checkbox-description').is(':checked') ) {
35
+ shortcode = shortcode+' description="true"';
36
+ }
37
+ shortcode = shortcode+']';
38
+ wp.media.editor.insert(shortcode);
39
+ evfModalClose();
40
+ });
41
+
42
+ /**
43
+ * Setup actions.
44
+ */
45
+ var everest_setup_form_actions = {
46
+ $setup_form: $( 'form.everest-forms-setup' ),
47
+ init: function() {
48
+ this.title_focus();
49
+
50
+ // Select and apply a template.
51
+ this.$setup_form.on( 'click', '.evf-template-select', this.template_select );
52
+
53
+ // Prevent <ENTER> key for setup actions.
54
+ $( document.body ).on( 'keypress', '.everest-forms-setup-form-name input', this.input_keypress );
55
+ },
56
+ title_focus: function() {
57
+ setTimeout( function (){
58
+ $( '#everest-forms-setup-name' ).focus();
59
+ }, 100);
60
+ },
61
+ template_select: function( e ) {
62
+ e.preventDefault();
63
+
64
+ var $this = $( this ),
65
+ $formName = $( '#everest-forms-setup-name' ),
66
+ template = $this.data( 'template' ),
67
+ templateName = $this.data( 'template-name-raw' ),
68
+ formName = '';
69
+
70
+ // Don't do anything for selects that trigger modal
71
+ if ( $this.parent().hasClass( 'loading' ) ) {
72
+ return;
73
+ }
74
+
75
+ // Check that form title is provided.
76
+ if ( ! $formName.val() ) {
77
+ formName = templateName;
78
+ } else {
79
+ formName = $formName.val();
80
+ }
81
+
82
+ $this.parent().addClass( 'loading' );
83
+
84
+ var data = {
85
+ title: formName,
86
+ action: 'everest_forms_create_form',
87
+ template: template,
88
+ security: everest_add_form_params.create_form_nonce
89
+ };
90
+
91
+ $.post( everest_add_form_params.ajax_url, data, function( response ) {
92
+ if ( response.success ) {
93
+ $this.parent().removeClass( 'loading' );
94
+ window.location.href = response.data.redirect;
95
+ } else {
96
+ window.console.log( response );
97
+ }
98
+ }).fail( function( xhr ) {
99
+ window.console.log( xhr.responseText );
100
+ });
101
+ },
102
+ input_keypress: function ( e ) {
103
+ var button = e.keyCode || e.which;
104
+
105
+ // Enter key.
106
+ if ( 13 === button && e.target.tagName.toLowerCase() === 'input' ) {
107
+ e.preventDefault();
108
+ return false;
109
+ }
110
+ }
111
+ };
112
+
113
+ everest_setup_form_actions.init();
114
+ } );
115
+ }(jQuery));
trunk/assets/js/admin/evf-add-form.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(r){"use strict";r(function(){var o=function(){r("#evf-modal-select-form").length&&(r("#evf-modal-select-form").get(0).selectedIndex=0,r("#evf-modal-checkbox-title, #evf-modal-checkbox-description").prop("checked",!1)),r("#evf-modal-backdrop, #evf-modal-wrap").css("display","none"),r(document.body).removeClass("modal-open")};r(document).on("click",".evf-insert-form-button",function(e){e.preventDefault(),r("#evf-modal-backdrop, #evf-modal-wrap").css("display","block"),r(document.body).addClass("modal-open")}),r(document).on("click","#evf-modal-close, #evf-modal-cancel a",function(e){e.preventDefault(),o()}),r(document).on("click","#evf-modal-submit",function(e){var t;e.preventDefault(),t='[everest_form id="'+r("#evf-modal-select-form").val()+'"',r("#evf-modal-checkbox-title").is(":checked")&&(t+=' title="true"'),r("#evf-modal-checkbox-description").is(":checked")&&(t+=' description="true"'),t+="]",wp.media.editor.insert(t),o()}),{$setup_form:r("form.everest-forms-setup"),init:function(){this.title_focus(),this.$setup_form.on("click",".evf-template-select",this.template_select),r(document.body).on("keypress",".everest-forms-setup-form-name input",this.input_keypress)},title_focus:function(){setTimeout(function(){r("#everest-forms-setup-name").focus()},100)},template_select:function(e){e.preventDefault();var t=r(this),o=r("#everest-forms-setup-name"),a=t.data("template"),n=t.data("template-name-raw"),s="";if(!t.parent().hasClass("loading")){s=o.val()?o.val():n,t.parent().addClass("loading");var c={title:s,action:"everest_forms_create_form",template:a,security:everest_add_form_params.create_form_nonce};r.post(everest_add_form_params.ajax_url,c,function(e){e.success?(t.parent().removeClass("loading"),window.location.href=e.data.redirect):window.console.log(e)}).fail(function(e){window.console.log(e.responseText)})}},input_keypress:function(e){if(13===(e.keyCode||e.which)&&"input"===e.target.tagName.toLowerCase())return e.preventDefault(),!1}}.init()})}(jQuery);
trunk/assets/js/admin/evf-form-modal.js ADDED
@@ -0,0 +1,195 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*global jQuery, Backbone, _ */
2
+ ( function ( $, Backbone, _, evf_form_modal_data ) {
3
+ 'use strict';
4
+
5
+ /**
6
+ * RestaurantPress Backbone Modal plugin
7
+ *
8
+ * @param {object} options
9
+ */
10
+ $.fn.EVFBackboneModal = function ( options ) {
11
+ return this.each(function () {
12
+ ( new $.EVFBackboneModal($(this), options) );
13
+ });
14
+ };
15
+
16
+ /**
17
+ * Initialize the Backbone Modal
18
+ *
19
+ * @param {object} element [description]
20
+ * @param {object} options [description]
21
+ */
22
+ $.EVFBackboneModal = function ( element, options ) {
23
+ // Set settings
24
+ var settings = $.extend({}, $.EVFBackboneModal.defaultOptions, options);
25
+
26
+ if ( settings.template ) {
27
+ new $.EVFBackboneModal.View({
28
+ target: settings.template,
29
+ string: settings.variable
30
+ });
31
+ }
32
+ };
33
+
34
+ /**
35
+ * Set default options
36
+ *
37
+ * @type {object}
38
+ */
39
+ $.EVFBackboneModal.defaultOptions = {
40
+ template: '',
41
+ variable: {}
42
+ };
43
+
44
+ /**
45
+ * Create the Backbone Modal
46
+ *
47
+ * @return {null}
48
+ */
49
+ $.EVFBackboneModal.View = Backbone.View.extend({
50
+ tagName: 'div',
51
+ id: 'evf-backbone-modal-dialog',
52
+ _target: undefined,
53
+ _string: undefined,
54
+ events: {
55
+ 'click .modal-close': 'closeButton',
56
+ 'click #btn-ok': 'addButton',
57
+ 'touchstart #btn-ok': 'addButton',
58
+ 'keydown': 'keyboardActions'
59
+ },
60
+ resizeContent: function () {
61
+ var $content = $('.evf-backbone-modal-content').find('article');
62
+ var max_h = $(window).height() * 0.75;
63
+
64
+ $content.css({
65
+ 'max-height': max_h + 'px'
66
+ });
67
+ },
68
+ initialize: function ( data ) {
69
+ var view = this;
70
+ this._target = data.target;
71
+ this._string = data.string;
72
+ _.bindAll(this, 'render');
73
+ this.render();
74
+
75
+ $(window).resize(function () {
76
+ view.resizeContent();
77
+ });
78
+ },
79
+ render: function () {
80
+ var template = wp.template(this._target);
81
+
82
+ this.$el.append(
83
+ template(this._string)
84
+ );
85
+
86
+ $(document.body).css({
87
+ 'overflow': 'hidden'
88
+ }).append(this.$el);
89
+
90
+ this.resizeContent();
91
+ this.$('.evf-backbone-modal-content').attr('tabindex', '0').focus();
92
+
93
+ $(document.body).trigger('init_tooltips');
94
+
95
+ $(document.body).trigger('evf_backbone_modal_loaded', this._target);
96
+ },
97
+ closeButton: function ( e ) {
98
+ e.preventDefault();
99
+ $(document.body).trigger('evf_backbone_modal_before_remove', this._target);
100
+ this.undelegateEvents();
101
+ $(document).off('focusin');
102
+ $(document.body).css({
103
+ 'overflow': 'auto'
104
+ });
105
+ this.remove();
106
+ $(document.body).trigger('evf_backbone_modal_removed', this._target);
107
+ },
108
+ addButton: function ( e ) {
109
+ $(document.body).trigger('evf_backbone_modal_response', [ this._target, this.getFormData() ]);
110
+
111
+ var data = {
112
+ action: 'everest_forms_new_form',
113
+ security: evf_form_modal_data.evf_new_form_nonce,
114
+ form_name: $('#evf-modal-form-name').val()
115
+ };
116
+ $.ajax({
117
+ url: evf_form_modal_data.ajax_url,
118
+ data: data,
119
+ type: 'POST',
120
+ beforeSend: function () {
121
+
122
+ },
123
+ success: function ( response ) {
124
+ var message = '';
125
+ var type = 'success';
126
+ debugger;
127
+ if ( typeof response.success !== 'undefined' ) {
128
+ if ( response.data.id > 0 ) {
129
+
130
+ message = 'Form successfully created. Redirecting....';
131
+ setTimeout(function () {
132
+ window.location = response.data.redirect;
133
+ }, 1000)
134
+ //
135
+ } else {
136
+ message = 'Unknown error ! Could not create a form';
137
+ type = 'error';
138
+ }
139
+
140
+ } else {
141
+
142
+ type = 'error';
143
+ message = 'Unknown error ! Could not create a form';
144
+
145
+ }
146
+ var message_node = '<div id="message" class="notice notice-' + type + ' is-dismissible"><p>' + message + '</p></div>';
147
+ $('#evf-backbone-modal-dialog').find('#message').remove();
148
+ $('#evf-backbone-modal-dialog').find('article').append(message_node);
149
+ }
150
+ });
151
+ //this.closeButton(e);
152
+ },
153
+ getFormData: function () {
154
+ var data = {};
155
+
156
+ $(document.body).trigger('evf_backbone_modal_before_update', this._target);
157
+
158
+ $.each($('form', this.$el).serializeArray(), function ( index, item ) {
159
+ if ( item.name.indexOf('[]') !== -1 ) {
160
+ item.name = item.name.replace('[]', '');
161
+ data[ item.name ] = $.makeArray(data[ item.name ]);
162
+ data[ item.name ].push(item.value);
163
+ } else {
164
+ data[ item.name ] = item.value;
165
+ }
166
+ });
167
+
168
+ return data;
169
+ },
170
+ keyboardActions: function ( e ) {
171
+ var button = e.keyCode || e.which;
172
+
173
+ // Enter key
174
+ if ( 13 === button && !( e.target.tagName && ( e.target.tagName.toLowerCase() === 'input' || e.target.tagName.toLowerCase() === 'textarea' ) ) ) {
175
+ this.addButton(e);
176
+ }
177
+
178
+ // ESC key
179
+ if ( 27 === button ) {
180
+ this.closeButton(e);
181
+ }
182
+ }
183
+ });
184
+
185
+ $('body').on('click', '.evf-add-new', function ( event ) {
186
+ $(this).EVFBackboneModal({
187
+ template: 'evf-add-new-form',
188
+ variable: {
189
+ test: 'tet'
190
+ }
191
+ });
192
+ return false;
193
+
194
+ })
195
+ }(jQuery, Backbone, _, window.evf_form_modal_data));
trunk/assets/js/admin/evf-form-modal.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(a,e,o,n){"use strict";a.fn.EVFBackboneModal=function(e){return this.each(function(){new a.EVFBackboneModal(a(this),e)})},a.EVFBackboneModal=function(e,t){var o=a.extend({},a.EVFBackboneModal.defaultOptions,t);o.template&&new a.EVFBackboneModal.View({target:o.template,string:o.variable})},a.EVFBackboneModal.defaultOptions={template:"",variable:{}},a.EVFBackboneModal.View=e.View.extend({tagName:"div",id:"evf-backbone-modal-dialog",_target:undefined,_string:undefined,events:{"click .modal-close":"closeButton","click #btn-ok":"addButton","touchstart #btn-ok":"addButton",keydown:"keyboardActions"},resizeContent:function(){var e=a(".evf-backbone-modal-content").find("article"),t=.75*a(window).height();e.css({"max-height":t+"px"})},initialize:function(e){var t=this;this._target=e.target,this._string=e.string,o.bindAll(this,"render"),this.render(),a(window).resize(function(){t.resizeContent()})},render:function(){var e=wp.template(this._target);this.$el.append(e(this._string)),a(document.body).css({overflow:"hidden"}).append(this.$el),this.resizeContent(),this.$(".evf-backbone-modal-content").attr("tabindex","0").focus(),a(document.body).trigger("init_tooltips"),a(document.body).trigger("evf_backbone_modal_loaded",this._target)},closeButton:function(e){e.preventDefault(),a(document.body).trigger("evf_backbone_modal_before_remove",this._target),this.undelegateEvents(),a(document).off("focusin"),a(document.body).css({overflow:"auto"}),this.remove(),a(document.body).trigger("evf_backbone_modal_removed",this._target)},addButton:function(e){a(document.body).trigger("evf_backbone_modal_response",[this._target,this.getFormData()]);var t={action:"everest_forms_new_form",security:n.evf_new_form_nonce,form_name:a("#evf-modal-form-name").val()};a.ajax({url:n.ajax_url,data:t,type:"POST",beforeSend:function(){},success:function(e){var t="",o="success";"undefined"!=typeof e.success?0<e.data.id?(t="Form successfully created. Redirecting....",setTimeout(function(){window.location=e.data.redirect},1e3)):(t="Unknown error ! Could not create a form",o="error"):(o="error",t="Unknown error ! Could not create a form");var n='<div id="message" class="notice notice-'+o+' is-dismissible"><p>'+t+"</p></div>";a("#evf-backbone-modal-dialog").find("#message").remove(),a("#evf-backbone-modal-dialog").find("article").append(n)}})},getFormData:function(){var o={};return a(document.body).trigger("evf_backbone_modal_before_update",this._target),a.each(a("form",this.$el).serializeArray(),function(e,t){-1!==t.name.indexOf("[]")?(t.name=t.name.replace("[]",""),o[t.name]=a.makeArray(o[t.name]),o[t.name].push(t.value)):o[t.name]=t.value}),o},keyboardActions:function(e){var t=e.keyCode||e.which;13!==t||e.target.tagName&&("input"===e.target.tagName.toLowerCase()||"textarea"===e.target.tagName.toLowerCase())||this.addButton(e),27===t&&this.closeButton(e)}}),a("body").on("click",".evf-add-new",function(e){return a(this).EVFBackboneModal({template:"evf-add-new-form",variable:{test:"tet"}}),!1})}(jQuery,Backbone,_,window.evf_form_modal_data);
trunk/assets/js/admin/settings.js ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //Plugin made by Umesh Ghimire
2
+ (function ( $ ) {
3
+ $(document).ready(function () {
4
+ $('body').on('click', '.evf-nav-tab-wrapper a.nav-tab', function ( event ) {
5
+ event.preventDefault();
6
+ var tab = $(this).attr('data-key');
7
+ $('.everest-forms .nav-tab').removeClass('nav-tab-active');
8
+ $(this).addClass('nav-tab-active');
9
+ $('.evf-setting-tab-content').removeClass('active');
10
+ $('.evf-setting-tab-content[data-conent-key="' + tab + '"]').addClass('active');
11
+ });
12
+ });
13
+ })(jQuery);
trunk/assets/js/admin/settings.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e){e(document).ready(function(){e("body").on("click",".evf-nav-tab-wrapper a.nav-tab",function(t){t.preventDefault();var a=e(this).attr("data-key");e(".everest-forms .nav-tab").removeClass("nav-tab-active"),e(this).addClass("nav-tab-active"),e(".evf-setting-tab-content").removeClass("active"),e('.evf-setting-tab-content[data-conent-key="'+a+'"]').addClass("active")})})}(jQuery);
trunk/assets/js/frontend/everest-forms.js ADDED
@@ -0,0 +1,160 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* global everest_forms_params */
2
+ jQuery( function ( $ ) {
3
+ 'use strict';
4
+
5
+ // everest_forms_params is required to continue, ensure the object exists.
6
+ if ( typeof everest_forms_params === 'undefined' ) {
7
+ return false;
8
+ }
9
+
10
+ var everest_forms = {
11
+ $everest_form: $( 'form.everest-form' ),
12
+ init: function() {
13
+ this.init_datepicker();
14
+ this.load_validation();
15
+
16
+ // Inline validation
17
+ this.$everest_form.on( 'input validate change', '.input-text, select, input:checkbox', this.validate_field );
18
+ },
19
+ init_datepicker: function () {
20
+ $( '.date-picker-field, .date-picker' ).datepicker({
21
+ changeMonth: true,
22
+ changeYear: true,
23
+ defaultDate: '',
24
+ dateFormat: 'yy-mm-dd',
25
+ numberOfMonths: 1,
26
+ minDate: '-15Y',
27
+ maxDate: '+15Y'
28
+ });
29
+ },
30
+ load_validation: function() {
31
+ if ( typeof $.fn.validate === 'undefined' ) {
32
+ return false;
33
+ }
34
+
35
+ // Validator messages.
36
+ $.extend( $.validator.messages, {
37
+ required: everest_forms_params.i18n_messages_required,
38
+ url: everest_forms_params.i18n_messages_url,
39
+ email: everest_forms_params.i18n_messages_email,
40
+ number: everest_forms_params.i18n_messages_number
41
+ });
42
+
43
+ // Validate email addresses.
44
+ $.validator.methods.email = function( value, element ) {
45
+ /* https://stackoverflow.com/questions/2855865/jquery-validate-e-mail-address-regex */
46
+ var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
47
+ return this.optional( element ) || pattern.test( value );
48
+ };
49
+
50
+ this.$everest_form.each( function() {
51
+ var $this = $( this );
52
+
53
+ $this.validate({
54
+ errorClass: 'evf-error',
55
+ validClass: 'evf-valid',
56
+ errorPlacement: function( error, element ) {
57
+ if ( 'radio' === element.attr( 'type' ) || 'checkbox' === element.attr( 'type' ) ) {
58
+ element.parent().parent().parent().append( error );
59
+ } else if ( element.is( 'select' ) && element.attr( 'class' ).match( /date-month|date-day|date-year/ ) ) {
60
+ if ( element.parent().find( 'label.evf-error:visible' ).length === 0 ) {
61
+ element.parent().find( 'select:last' ).after( error );
62
+ }
63
+ } else {
64
+ error.insertAfter( element );
65
+ }
66
+ },
67
+ highlight: function( element, errorClass, validClass ) {
68
+ var $element = $( element ),
69
+ $parent = $element.closest( '.form-row' ),
70
+ inputName = $element.attr( 'name' );
71
+
72
+ if ( $element.attr( 'type' ) === 'radio' || $element.attr( 'type' ) === 'checkbox' ) {
73
+ $parent.find( 'input[name=\''+inputName+'\']' ).addClass( errorClass ).removeClass( validClass );
74
+ } else {
75
+ $element.addClass( errorClass ).removeClass( validClass );
76
+ }
77
+
78
+ $parent.addClass( 'evf-has-error' );
79
+ },
80
+ unhighlight: function( element, errorClass, validClass ) {
81
+ var $element = $( element ),
82
+ $parent = $element.closest( '.form-row' ),
83
+ inputName = $element.attr( 'name' );
84
+
85
+ if ( $element.attr( 'type' ) === 'radio' || $element.attr( 'type' ) === 'checkbox' ) {
86
+ $parent.find( 'input[name=\''+inputName+'\']' ).addClass( validClass ).removeClass( errorClass );
87
+ } else {
88
+ $element.addClass( validClass ).removeClass( errorClass );
89
+ }
90
+
91
+ $parent.removeClass( 'evf-has-error' );
92
+ },
93
+ submitHandler: function( errorClass, form ) {
94
+ if ( grecaptcha.getResponse() == '' ) {
95
+ $( '#evf_node_recaptcha' ).after('<label class="evf-error">' + everest_forms_params.i18n_messages_recaptcha + '</div>');
96
+
97
+
98
+ } else {
99
+ form.submit();
100
+ }
101
+ }
102
+ });
103
+ });
104
+ },
105
+ validate_field: function ( e ) {
106
+ var $this = $( this ),
107
+ $parent = $this.closest( '.form-row' ),
108
+ validated = true,
109
+ validate_required = $parent.is( '.validate-required' ),
110
+ validate_email = $parent.is( '.validate-email' ),
111
+ event_type = e.type;
112
+
113
+ if ( 'input' === event_type ) {
114
+ $parent.removeClass( 'everest-forms-invalid everest-forms-invalid-required-field everest-forms-invalid-email everest-forms-validated' );
115
+ }
116
+
117
+ if ( 'validate' === event_type || 'change' === event_type ) {
118
+
119
+ if ( validate_required ) {
120
+ if ( 'checkbox' === $this.attr( 'type' ) && ! $this.is( ':checked' ) ) {
121
+ $parent.removeClass( 'everest-forms-validated' ).addClass( 'everest-forms-invalid everest-forms-invalid-required-field' );
122
+ validated = false;
123
+ } else if ( $this.val() === '' ) {
124
+ $parent.removeClass( 'everest-forms-validated' ).addClass( 'everest-forms-invalid everest-forms-invalid-required-field' );
125
+ validated = false;
126
+ }
127
+ }
128
+
129
+ if ( validate_email ) {
130
+ if ( $this.val() ) {
131
+ /* https://stackoverflow.com/questions/2855865/jquery-validate-e-mail-address-regex */
132
+ var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
133
+
134
+ if ( ! pattern.test( $this.val() ) ) {
135
+ $parent.removeClass( 'everest-forms-validated' ).addClass( 'everest-forms-invalid everest-forms-invalid-email' );
136
+ validated = false;
137
+ }
138
+ }
139
+ }
140
+
141
+ if ( validated ) {
142
+ $parent.removeClass( 'everest-forms-invalid everest-forms-invalid-required-field everest-forms-invalid-email' ).addClass( 'everest-forms-validated' );
143
+ }
144
+ }
145
+ }
146
+ };
147
+
148
+ everest_forms.init();
149
+ });
150
+
151
+ /* jshint ignore:start */
152
+ var google_recaptcha_everest_forms;
153
+ var onloadEVFCallback = function () {
154
+ google_recaptcha_everest_forms = grecaptcha.render( 'evf_node_recaptcha', {
155
+ 'sitekey': evf_google_recaptcha_code.site_key,
156
+ 'theme': 'light',
157
+ 'style': 'transform:scale(0.77);-webkit-transform:scale(0.77);transform-origin:0 0;-webkit-transform-origin:0 0;',
158
+ });
159
+ };
160
+ /* jshint ignore:end */
trunk/assets/js/frontend/everest-forms.min.js ADDED
@@ -0,0 +1 @@
 
1
+ var google_recaptcha_everest_forms;jQuery(function(i){"use strict";if("undefined"==typeof everest_forms_params)return!1;({$everest_form:i("form.everest-form"),init:function(){this.init_datepicker(),this.load_validation(),this.$everest_form.on("input validate change",".input-text, select, input:checkbox",this.validate_field)},init_datepicker:function(){i(".date-picker-field, .date-picker").datepicker({changeMonth:!0,changeYear:!0,defaultDate:"",dateFormat:"yy-mm-dd",numberOfMonths:1,minDate:"-15Y",maxDate:"+15Y"})},load_validation:function(){if("undefined"==typeof i.fn.validate)return!1;i.extend(i.validator.messages,{required:everest_forms_params.i18n_messages_required,url:everest_forms_params.i18n_messages_url,email:everest_forms_params.i18n_messages_email,number:everest_forms_params.i18n_messages_number}),i.validator.methods.email=function(e,F){var a=new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);return this.optional(F)||a.test(e)},this.$everest_form.each(function(){i(this).validate({errorClass:"evf-error",validClass:"evf-valid",errorPlacement:function(e,F){"radio"===F.attr("type")||"checkbox"===F.attr("type")?F.parent().parent().parent().append(e):F.is("select")&&F.attr("class").match(/date-month|date-day|date-year/)?0===F.parent().find("label.evf-error:visible").length&&F.parent().find("select:last").after(e):e.insertAfter(F)},highlight:function(e,F,a){var r=i(e),u=r.closest(".form-row"),t=r.attr("name");"radio"===r.attr("type")||"checkbox"===r.attr("type")?u.find("input[name='"+t+"']").addClass(F).removeClass(a):r.addClass(F).removeClass(a),u.addClass("evf-has-error")},unhighlight:function(e,F,a){var r=i(e),u=r.closest(".form-row"),t=r.attr("name");"radio"===r.attr("type")||"checkbox"===r.attr("type")?u.find("input[name='"+t+"']").addClass(a).removeClass(F):r.addClass(a).removeClass(F),u.removeClass("evf-has-error")},submitHandler:function(e,F){""==grecaptcha.getResponse()?i("#evf_node_recaptcha").after('<label class="evf-error">'+everest_forms_params.i18n_messages_recaptcha+"</div>"):F.submit()}})})},validate_field:function(e){var F=i(this),a=F.closest(".form-row"),r=!0,u=a.is(".validate-required"),t=a.is(".validate-email"),s=e.type;if("input"===s&&a.removeClass("everest-forms-invalid everest-forms-invalid-required-field everest-forms-invalid-email everest-forms-validated"),"validate"===s||"change"===s){if(u&&("checkbox"!==F.attr("type")||F.is(":checked")?""===F.val()&&(a.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-required-field"),r=!1):(a.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-required-field"),r=!1)),t)if(F.val())new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i).test(F.val())||(a.removeClass("everest-forms-validated").addClass("everest-forms-invalid everest-forms-invalid-email"),r=!1);r&&a.removeClass("everest-forms-invalid everest-forms-invalid-required-field everest-forms-invalid-email").addClass("everest-forms-validated")}}}).init()});var onloadEVFCallback=function(){google_recaptcha_everest_forms=grecaptcha.render("evf_node_recaptcha",{sitekey:evf_google_recaptcha_code.site_key,theme:"light",style:"transform:scale(0.77);-webkit-transform:scale(0.77);transform-origin:0 0;-webkit-transform-origin:0 0;"})};
trunk/assets/js/jquery-blockui/jquery.blockUI.js ADDED
@@ -0,0 +1,619 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery blockUI plugin
3
+ * Version 2.70.0-2014.11.23
4
+ * Requires jQuery v1.7 or later
5
+ *
6
+ * Examples at: http://malsup.com/jquery/block/
7
+ * Copyright (c) 2007-2013 M. Alsup
8
+ * Dual licensed under the MIT and GPL licenses:
9
+ * http://www.opensource.org/licenses/mit-license.php
10
+ * http://www.gnu.org/licenses/gpl.html
11
+ *
12
+ * Thanks to Amir-Hossein Sobhi for some excellent contributions!
13
+ */
14
+ ;(function() {
15
+ /*jshint eqeqeq:false curly:false latedef:false */
16
+ "use strict";
17
+
18
+ function setup($) {
19
+ $.fn._fadeIn = $.fn.fadeIn;
20
+
21
+ var noOp = $.noop || function() {};
22
+
23
+ // this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle
24
+ // confusing userAgent strings on Vista)
25
+ var msie = /MSIE/.test(navigator.userAgent);
26
+ var ie6 = /MSIE 6.0/.test(navigator.userAgent) && ! /MSIE 8.0/.test(navigator.userAgent);
27
+ var mode = document.documentMode || 0;
28
+ var setExpr = $.isFunction( document.createElement('div').style.setExpression );
29
+
30
+ // global $ methods for blocking/unblocking the entire page
31
+ $.blockUI = function(opts) { install(window, opts); };
32
+ $.unblockUI = function(opts) { remove(window, opts); };
33
+
34
+ // convenience method for quick growl-like notifications (http://www.google.com/search?q=growl)
35
+ $.growlUI = function(title, message, timeout, onClose) {
36
+ var $m = $('<div class="growlUI"></div>');
37
+ if (title) $m.append('<h1>'+title+'</h1>');
38
+ if (message) $m.append('<h2>'+message+'</h2>');
39
+ if (timeout === undefined) timeout = 3000;
40
+
41
+ // Added by konapun: Set timeout to 30 seconds if this growl is moused over, like normal toast notifications
42
+ var callBlock = function(opts) {
43
+ opts = opts || {};
44
+
45
+ $.blockUI({
46
+ message: $m,
47
+ fadeIn : typeof opts.fadeIn !== 'undefined' ? opts.fadeIn : 700,
48
+ fadeOut: typeof opts.fadeOut !== 'undefined' ? opts.fadeOut : 1000,
49
+ timeout: typeof opts.timeout !== 'undefined' ? opts.timeout : timeout,
50
+ centerY: false,
51
+ showOverlay: false,
52
+ onUnblock: onClose,
53
+ css: $.blockUI.defaults.growlCSS
54
+ });
55
+ };
56
+
57
+ callBlock();
58
+ var nonmousedOpacity = $m.css('opacity');
59
+ $m.mouseover(function() {
60
+ callBlock({
61
+ fadeIn: 0,
62
+ timeout: 30000
63
+ });
64
+
65
+ var displayBlock = $('.blockMsg');
66
+ displayBlock.stop(); // cancel fadeout if it has started
67
+ displayBlock.fadeTo(300, 1); // make it easier to read the message by removing transparency
68
+ }).mouseout(function() {
69
+ $('.blockMsg').fadeOut(1000);
70
+ });
71
+ // End konapun additions
72
+ };
73
+
74
+ // plugin method for blocking element content
75
+ $.fn.block = function(opts) {
76
+ if ( this[0] === window ) {
77
+ $.blockUI( opts );
78
+ return this;
79
+ }
80
+ var fullOpts = $.extend({}, $.blockUI.defaults, opts || {});
81
+ this.each(function() {
82
+ var $el = $(this);
83
+ if (fullOpts.ignoreIfBlocked && $el.data('blockUI.isBlocked'))
84
+ return;
85
+ $el.unblock({ fadeOut: 0 });
86
+ });
87
+
88
+ return this.each(function() {
89
+ if ($.css(this,'position') == 'static') {
90
+ this.style.position = 'relative';
91
+ $(this).data('blockUI.static', true);
92
+ }
93
+ this.style.zoom = 1; // force 'hasLayout' in ie
94
+ install(this, opts);
95
+ });
96
+ };
97
+
98
+ // plugin method for unblocking element content
99
+ $.fn.unblock = function(opts) {
100
+ if ( this[0] === window ) {
101
+ $.unblockUI( opts );
102
+ return this;
103
+ }
104
+ return this.each(function() {
105
+ remove(this, opts);
106
+ });
107
+ };
108
+
109
+ $.blockUI.version = 2.70; // 2nd generation blocking at no extra cost!
110
+
111
+ // override these in your code to change the default behavior and style
112
+ $.blockUI.defaults = {
113
+ // message displayed when blocking (use null for no message)
114
+ message: '<h1>Please wait...</h1>',
115
+
116
+ title: null, // title string; only used when theme == true
117
+ draggable: true, // only used when theme == true (requires jquery-ui.js to be loaded)
118
+
119
+ theme: false, // set to true to use with jQuery UI themes
120
+
121
+ // styles for the message when blocking; if you wish to disable
122
+ // these and use an external stylesheet then do this in your code:
123
+ // $.blockUI.defaults.css = {};
124
+ css: {
125
+ padding: 0,
126
+ margin: 0,
127
+ width: '30%',
128
+ top: '40%',
129
+ left: '35%',
130
+ textAlign: 'center',
131
+ color: '#000',
132
+ border: '3px solid #aaa',
133
+ backgroundColor:'#fff',
134
+ cursor: 'wait'
135
+ },
136
+
137
+ // minimal style set used when themes are used
138
+ themedCSS: {
139
+ width: '30%',
140
+ top: '40%',
141
+ left: '35%'
142
+ },
143
+
144
+ // styles for the overlay
145
+ overlayCSS: {
146
+ backgroundColor: '#000',
147
+ opacity: 0.6,
148
+ cursor: 'wait'
149
+ },
150
+
151
+ // style to replace wait cursor before unblocking to correct issue
152
+ // of lingering wait cursor
153
+ cursorReset: 'default',
154
+
155
+ // styles applied when using $.growlUI
156
+ growlCSS: {
157
+ width: '350px',
158
+ top: '10px',
159
+ left: '',
160
+ right: '10px',
161
+ border: 'none',
162
+ padding: '5px',
163
+ opacity: 0.6,
164
+ cursor: 'default',
165
+ color: '#fff',
166
+ backgroundColor: '#000',
167
+ '-webkit-border-radius':'10px',
168
+ '-moz-border-radius': '10px',
169
+ 'border-radius': '10px'
170
+ },
171
+
172
+ // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w
173
+ // (hat tip to Jorge H. N. de Vasconcelos)
174
+ /*jshint scripturl:true */
175
+ iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',
176
+
177
+ // force usage of iframe in non-IE browsers (handy for blocking applets)
178
+ forceIframe: false,
179
+
180
+ // z-index for the blocking overlay
181
+ baseZ: 1000,
182
+
183
+ // set these to true to have the message automatically centered
184
+ centerX: true, // <-- only effects element blocking (page block controlled via css above)
185
+ centerY: true,
186
+
187
+ // allow body element to be stetched in ie6; this makes blocking look better
188
+ // on "short" pages. disable if you wish to prevent changes to the body height
189
+ allowBodyStretch: true,
190
+
191
+ // enable if you want key and mouse events to be disabled for content that is blocked
192
+ bindEvents: true,
193
+
194
+ // be default blockUI will supress tab navigation from leaving blocking content
195
+ // (if bindEvents is true)
196
+ constrainTabKey: true,
197
+
198
+ // fadeIn time in millis; set to 0 to disable fadeIn on block
199
+ fadeIn: 200,
200
+
201
+ // fadeOut time in millis; set to 0 to disable fadeOut on unblock
202
+ fadeOut: 400,
203
+
204
+ // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock
205
+ timeout: 0,
206
+
207
+ // disable if you don't want to show the overlay
208
+ showOverlay: true,
209
+
210
+ // if true, focus will be placed in the first available input field when
211
+ // page blocking
212
+ focusInput: true,
213
+
214
+ // elements that can receive focus
215
+ focusableElements: ':input:enabled:visible',
216
+
217
+ // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity)
218
+ // no longer needed in 2012
219
+ // applyPlatformOpacityRules: true,
220
+
221
+ // callback method invoked when fadeIn has completed and blocking message is visible
222
+ onBlock: null,
223
+
224
+ // callback method invoked when unblocking has completed; the callback is
225
+ // passed the element that has been unblocked (which is the window object for page
226
+ // blocks) and the options that were passed to the unblock call:
227
+ // onUnblock(element, options)
228
+ onUnblock: null,
229
+
230
+ // callback method invoked when the overlay area is clicked.
231
+ // setting this will turn the cursor to a pointer, otherwise cursor defined in overlayCss will be used.
232
+ onOverlayClick: null,
233
+
234
+ // don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493
235
+ quirksmodeOffsetHack: 4,
236
+
237
+ // class name of the message block
238
+ blockMsgClass: 'blockMsg',
239
+
240
+ // if it is already blocked, then ignore it (don't unblock and reblock)
241
+ ignoreIfBlocked: false
242
+ };
243
+
244
+ // private data and functions follow...
245
+
246
+ var pageBlock = null;
247
+ var pageBlockEls = [];
248
+
249
+ function install(el, opts) {
250
+ var css, themedCSS;
251
+ var full = (el == window);
252
+ var msg = (opts && opts.message !== undefined ? opts.message : undefined);
253
+ opts = $.extend({}, $.blockUI.defaults, opts || {});
254
+
255
+ if (opts.ignoreIfBlocked && $(el).data('blockUI.isBlocked'))
256
+ return;
257
+
258
+ opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});
259
+ css = $.extend({}, $.blockUI.defaults.css, opts.css || {});
260
+ if (opts.onOverlayClick)
261
+ opts.overlayCSS.cursor = 'pointer';
262
+
263
+ themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});
264
+ msg = msg === undefined ? opts.message : msg;
265
+
266
+ // remove the current block (if there is one)
267
+ if (full && pageBlock)
268
+ remove(window, {fadeOut:0});
269
+
270
+ // if an existing element is being used as the blocking content then we capture
271
+ // its current place in the DOM (and current display style) so we can restore
272
+ // it when we unblock
273
+ if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {
274
+ var node = msg.jquery ? msg[0] : msg;
275
+ var data = {};
276
+ $(el).data('blockUI.history', data);
277
+ data.el = node;
278
+ data.parent = node.parentNode;
279
+ data.display = node.style.display;
280
+ data.position = node.style.position;
281
+ if (data.parent)
282
+ data.parent.removeChild(node);
283
+ }
284
+
285
+ $(el).data('blockUI.onUnblock', opts.onUnblock);
286
+ var z = opts.baseZ;
287
+
288
+ // blockUI uses 3 layers for blocking, for simplicity they are all used on every platform;
289
+ // layer1 is the iframe layer which is used to supress bleed through of underlying content
290
+ // layer2 is the overlay layer which has opacity and a wait cursor (by default)
291
+ // layer3 is the message content that is displayed while blocking
292
+ var lyr1, lyr2, lyr3, s;
293
+ if (msie || opts.forceIframe)
294
+ lyr1 = $('<iframe class="blockUI" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>');
295
+ else
296
+ lyr1 = $('<div class="blockUI" style="display:none"></div>');
297
+
298
+ if (opts.theme)
299
+ lyr2 = $('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+ (z++) +';display:none"></div>');
300
+ else
301
+ lyr2 = $('<div class="blockUI blockOverlay" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');
302
+
303
+ if (opts.theme && full) {
304
+ s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:fixed">';
305
+ if ( opts.title ) {
306
+ s += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || '&nbsp;')+'</div>';
307
+ }
308
+ s += '<div class="ui-widget-content ui-dialog-content"></div>';
309
+ s += '</div>';
310
+ }
311
+ else if (opts.theme) {
312
+ s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:absolute">';
313
+ if ( opts.title ) {
314
+ s += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || '&nbsp;')+'</div>';
315
+ }
316
+ s += '<div class="ui-widget-content ui-dialog-content"></div>';
317
+ s += '</div>';
318
+ }
319
+ else if (full) {
320
+ s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage" style="z-index:'+(z+10)+';display:none;position:fixed"></div>';
321
+ }
322
+ else {
323
+ s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement" style="z-index:'+(z+10)+';display:none;position:absolute"></div>';
324
+ }
325
+ lyr3 = $(s);
326
+
327
+ // if we have a message, style it
328
+ if (msg) {
329
+ if (opts.theme) {
330
+ lyr3.css(themedCSS);
331
+ lyr3.addClass('ui-widget-content');
332
+ }
333
+ else
334
+ lyr3.css(css);
335
+ }
336
+
337
+ // style the overlay
338
+ if (!opts.theme /*&& (!opts.applyPlatformOpacityRules)*/)
339
+ lyr2.css(opts.overlayCSS);
340
+ lyr2.css('position', full ? 'fixed' : 'absolute');
341
+
342
+ // make iframe layer transparent in IE
343
+ if (msie || opts.forceIframe)
344
+ lyr1.css('opacity',0.0);
345
+
346
+ //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);
347
+ var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el);
348
+ $.each(layers, function() {
349
+ this.appendTo($par);
350
+ });
351
+
352
+ if (opts.theme && opts.draggable && $.fn.draggable) {
353
+ lyr3.draggable({
354
+ handle: '.ui-dialog-titlebar',
355
+ cancel: 'li'
356
+ });
357
+ }
358
+
359
+ // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)
360
+ var expr = setExpr && (!$.support.boxModel || $('object,embed', full ? null : el).length > 0);
361
+ if (ie6 || expr) {
362
+ // give body 100% height
363
+ if (full && opts.allowBodyStretch && $.support.boxModel)
364
+ $('html,body').css('height','100%');
365
+
366
+ // fix ie6 issue when blocked element has a border width
367
+ if ((ie6 || !$.support.boxModel) && !full) {
368
+ var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth');
369
+ var fixT = t ? '(0 - '+t+')' : 0;
370
+ var fixL = l ? '(0 - '+l+')' : 0;
371
+ }
372
+
373
+ // simulate fixed position
374
+ $.each(layers, function(i,o) {
375
+ var s = o[0].style;
376
+ s.position = 'absolute';
377
+ if (i < 2) {
378
+ if (full)
379
+ s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"');
380
+ else
381
+ s.setExpression('height','this.parentNode.offsetHeight + "px"');
382
+ if (full)
383
+ s.setExpression('width','jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"');
384
+ else
385
+ s.setExpression('width','this.parentNode.offsetWidth + "px"');
386
+ if (fixL) s.setExpression('left', fixL);
387
+ if (fixT) s.setExpression('top', fixT);
388
+ }
389
+ else if (opts.centerY) {
390
+ if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');
391
+ s.marginTop = 0;
392
+ }
393
+ else if (!opts.centerY && full) {
394
+ var top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0;
395
+ var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"';
396
+ s.setExpression('top',expression);
397
+ }
398
+ });
399
+ }
400
+
401
+ // show the message
402
+ if (msg) {
403
+ if (opts.theme)
404
+ lyr3.find('.ui-widget-content').append(msg);
405
+ else
406
+ lyr3.append(msg);
407
+ if (msg.jquery || msg.nodeType)
408
+ $(msg).show();
409
+ }
410
+
411
+ if ((msie || opts.forceIframe) && opts.showOverlay)
412
+ lyr1.show(); // opacity is zero
413
+ if (opts.fadeIn) {
414
+ var cb = opts.onBlock ? opts.onBlock : noOp;
415
+ var cb1 = (opts.showOverlay && !msg) ? cb : noOp;
416
+ var cb2 = msg ? cb : noOp;
417
+ if (opts.showOverlay)
418
+ lyr2._fadeIn(opts.fadeIn, cb1);
419
+ if (msg)
420
+ lyr3._fadeIn(opts.fadeIn, cb2);
421
+ }
422
+ else {
423
+ if (opts.showOverlay)
424
+ lyr2.show();
425
+ if (msg)
426
+ lyr3.show();
427
+ if (opts.onBlock)
428
+ opts.onBlock.bind(lyr3)();
429
+ }
430
+
431
+ // bind key and mouse events
432
+ bind(1, el, opts);
433
+
434
+ if (full) {
435
+ pageBlock = lyr3[0];
436
+ pageBlockEls = $(opts.focusableElements,pageBlock);
437
+ if (opts.focusInput)
438
+ setTimeout(focus, 20);
439
+ }
440
+ else
441
+ center(lyr3[0], opts.centerX, opts.centerY);
442
+
443
+ if (opts.timeout) {
444
+ // auto-unblock
445
+ var to = setTimeout(function() {
446
+ if (full)
447
+ $.unblockUI(opts);
448
+ else
449
+ $(el).unblock(opts);
450
+ }, opts.timeout);
451
+ $(el).data('blockUI.timeout', to);
452
+ }
453
+ }
454
+
455
+ // remove the block
456
+ function remove(el, opts) {
457
+ var count;
458
+ var full = (el == window);
459
+ var $el = $(el);
460
+ var data = $el.data('blockUI.history');
461
+ var to = $el.data('blockUI.timeout');
462
+ if (to) {
463
+ clearTimeout(to);
464
+ $el.removeData('blockUI.timeout');
465
+ }
466
+ opts = $.extend({}, $.blockUI.defaults, opts || {});
467
+ bind(0, el, opts); // unbind events
468
+
469
+ if (opts.onUnblock === null) {
470
+ opts.onUnblock = $el.data('blockUI.onUnblock');
471
+ $el.removeData('blockUI.onUnblock');
472
+ }
473
+
474
+ var els;
475
+ if (full) // crazy selector to handle odd field errors in ie6/7
476
+ els = $(document.body).children().filter('.blockUI').add('body > .blockUI');
477
+ else
478
+ els = $el.find('>.blockUI');
479
+
480
+ // fix cursor issue
481
+ if ( opts.cursorReset ) {
482
+ if ( els.length > 1 )
483
+ els[1].style.cursor = opts.cursorReset;
484
+ if ( els.length > 2 )
485
+ els[2].style.cursor = opts.cursorReset;
486
+ }
487
+
488
+ if (full)
489
+ pageBlock = pageBlockEls = null;
490
+
491
+ if (opts.fadeOut) {
492
+ count = els.length;
493
+ els.stop().fadeOut(opts.fadeOut, function() {
494
+ if ( --count === 0)
495
+ reset(els,data,opts,el);
496
+ });
497
+ }
498
+ else
499
+ reset(els, data, opts, el);
500
+ }
501
+
502
+ // move blocking element back into the DOM where it started
503
+ function reset(els,data,opts,el) {
504
+ var $el = $(el);
505
+ if ( $el.data('blockUI.isBlocked') )
506
+ return;
507
+
508
+ els.each(function(i,o) {
509
+ // remove via DOM calls so we don't lose event handlers
510
+ if (this.parentNode)
511
+ this.parentNode.removeChild(this);
512
+ });
513
+
514
+ if (data && data.el) {
515
+ data.el.style.display = data.display;
516
+ data.el.style.position = data.position;
517
+ data.el.style.cursor = 'default'; // #59
518
+ if (data.parent)
519
+ data.parent.appendChild(data.el);
520
+ $el.removeData('blockUI.history');
521
+ }
522
+
523
+ if ($el.data('blockUI.static')) {
524
+ $el.css('position', 'static'); // #22
525
+ }
526
+
527
+ if (typeof opts.onUnblock == 'function')
528
+ opts.onUnblock(el,opts);
529
+
530
+ // fix issue in Safari 6 where block artifacts remain until reflow
531
+ var body = $(document.body), w = body.width(), cssW = body[0].style.width;
532
+ body.width(w-1).width(w);
533
+ body[0].style.width = cssW;
534
+ }
535
+
536
+ // bind/unbind the handler
537
+ function bind(b, el, opts) {
538
+ var full = el == window, $el = $(el);
539
+
540
+ // don't bother unbinding if there is nothing to unbind
541
+ if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))
542
+ return;
543
+
544
+ $el.data('blockUI.isBlocked', b);
545
+
546
+ // don't bind events when overlay is not in use or if bindEvents is false
547
+ if (!full || !opts.bindEvents || (b && !opts.showOverlay))
548
+ return;
549
+
550
+ // bind anchors and inputs for mouse and key events
551
+ var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove';
552
+ if (b)
553
+ $(document).bind(events, opts, handler);
554
+ else
555
+ $(document).unbind(events, handler);
556
+
557
+ // former impl...
558
+ // var $e = $('a,:input');
559
+ // b ? $e.bind(events, opts, handler) : $e.unbind(events, handler);
560
+ }
561
+
562
+ // event handler to suppress keyboard/mouse events when blocking
563
+ function handler(e) {
564
+ // allow tab navigation (conditionally)
565
+ if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) {
566
+ if (pageBlock && e.data.constrainTabKey) {
567
+ var els = pageBlockEls;
568
+ var fwd = !e.shiftKey && e.target === els[els.length-1];
569
+ var back = e.shiftKey && e.target === els[0];
570
+ if (fwd || back) {
571
+ setTimeout(function(){focus(back);},10);
572
+ return false;
573
+ }
574
+ }
575
+ }
576
+ var opts = e.data;
577
+ var target = $(e.target);
578
+ if (target.hasClass('blockOverlay') && opts.onOverlayClick)
579
+ opts.onOverlayClick(e);
580
+
581
+ // allow events within the message content
582
+ if (target.parents('div.' + opts.blockMsgClass).length > 0)
583
+ return true;
584
+
585
+ // allow events for content that is not being blocked
586
+ return target.parents().children().filter('div.blockUI').length === 0;
587
+ }
588
+
589
+ function focus(back) {
590
+ if (!pageBlockEls)
591
+ return;
592
+ var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0];
593
+ if (e)
594
+ e.focus();
595
+ }
596
+
597
+ function center(el, x, y) {
598
+ var p = el.parentNode, s = el.style;
599
+ var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth');
600
+ var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth');
601
+ if (x) s.left = l > 0 ? (l+'px') : '0';
602
+ if (y) s.top = t > 0 ? (t+'px') : '0';
603
+ }
604
+
605
+ function sz(el, p) {
606
+ return parseInt($.css(el,p),10)||0;
607
+ }
608
+
609
+ }
610
+
611
+
612
+ /*global define:true */
613
+ if (typeof define === 'function' && define.amd && define.amd.jQuery) {
614
+ define(['jquery'], setup);
615
+ } else {
616
+ setup(jQuery);
617
+ }
618
+
619
+ })();
trunk/assets/js/jquery-blockui/jquery.blockUI.min.js ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery blockUI plugin
3
+ * Version 2.70.0-2014.11.23
4
+ * Requires jQuery v1.7 or later
5
+ *
6
+ * Examples at: http://malsup.com/jquery/block/
7
+ * Copyright (c) 2007-2013 M. Alsup
8
+ * Dual licensed under the MIT and GPL licenses:
9
+ * http://www.opensource.org/licenses/mit-license.php
10
+ * http://www.gnu.org/licenses/gpl.html
11
+ *
12
+ * Thanks to Amir-Hossein Sobhi for some excellent contributions!
13
+ */
14
+ !function(){"use strict";function e(e){function t(t,n){var s,h,k=t==window,y=n&&n.message!==undefined?n.message:undefined;if(!(n=e.extend({},e.blockUI.defaults,n||{})).ignoreIfBlocked||!e(t).data("blockUI.isBlocked")){if(n.overlayCSS=e.extend({},e.blockUI.defaults.overlayCSS,n.overlayCSS||{}),s=e.extend({},e.blockUI.defaults.css,n.css||{}),n.onOverlayClick&&(n.overlayCSS.cursor="pointer"),h=e.extend({},e.blockUI.defaults.themedCSS,n.themedCSS||{}),y=y===undefined?n.message:y,k&&p&&o(window,{fadeOut:0}),y&&"string"!=typeof y&&(y.parentNode||y.jquery)){var m=y.jquery?y[0]:y,g={};e(t).data("blockUI.history",g),g.el=m,g.parent=m.parentNode,g.display=m.style.display,g.position=m.style.position,g.parent&&g.parent.removeChild(m)}e(t).data("blockUI.onUnblock",n.onUnblock);var v,I,w,U,x=n.baseZ;v=e(r||n.forceIframe?'<iframe class="blockUI" style="z-index:'+x+++';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+n.iframeSrc+'"></iframe>':'<div class="blockUI" style="display:none"></div>'),I=e(n.theme?'<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+x+++';display:none"></div>':'<div class="blockUI blockOverlay" style="z-index:'+x+++';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'),n.theme&&k?(U='<div class="blockUI '+n.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(x+10)+';display:none;position:fixed">',n.title&&(U+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(n.title||"&nbsp;")+"</div>"),U+='<div class="ui-widget-content ui-dialog-content"></div>',U+="</div>"):n.theme?(U='<div class="blockUI '+n.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(x+10)+';display:none;position:absolute">',n.title&&(U+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(n.title||"&nbsp;")+"</div>"),U+='<div class="ui-widget-content ui-dialog-content"></div>',U+="</div>"):U=k?'<div class="blockUI '+n.blockMsgClass+' blockPage" style="z-index:'+(x+10)+';display:none;position:fixed"></div>':'<div class="blockUI '+n.blockMsgClass+' blockElement" style="z-index:'+(x+10)+';display:none;position:absolute"></div>',w=e(U),y&&(n.theme?(w.css(h),w.addClass("ui-widget-content")):w.css(s)),n.theme||I.css(n.overlayCSS),I.css("position",k?"fixed":"absolute"),(r||n.forceIframe)&&v.css("opacity",0);var C=[v,I,w],S=e(k?"body":t);e.each(C,function(){this.appendTo(S)}),n.theme&&n.draggable&&e.fn.draggable&&w.draggable({handle:".ui-dialog-titlebar",cancel:"li"});var O=f&&(!e.support.boxModel||e("object,embed",k?null:t).length>0);if(u||O){if(k&&n.allowBodyStretch&&e.support.boxModel&&e("html,body").css("height","100%"),(u||!e.support.boxModel)&&!k)var E=a(t,"borderTopWidth"),T=a(t,"borderLeftWidth"),M=E?"(0 - "+E+")":0,B=T?"(0 - "+T+")":0;e.each(C,function(e,t){var o=t[0].style;if(o.position="absolute",e<2)k?o.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+n.quirksmodeOffsetHack+') + "px"'):o.setExpression("height",'this.parentNode.offsetHeight + "px"'),k?o.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):o.setExpression("width",'this.parentNode.offsetWidth + "px"'),B&&o.setExpression("left",B),M&&o.setExpression("top",M);else if(n.centerY)k&&o.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),o.marginTop=0;else if(!n.centerY&&k){var i="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+(n.css&&n.css.top?parseInt(n.css.top,10):0)+') + "px"';o.setExpression("top",i)}})}if(y&&(n.theme?w.find(".ui-widget-content").append(y):w.append(y),(y.jquery||y.nodeType)&&e(y).show()),(r||n.forceIframe)&&n.showOverlay&&v.show(),n.fadeIn){var j=n.onBlock?n.onBlock:c,H=n.showOverlay&&!y?j:c,z=y?j:c;n.showOverlay&&I._fadeIn(n.fadeIn,H),y&&w._fadeIn(n.fadeIn,z)}else n.showOverlay&&I.show(),y&&w.show(),n.onBlock&&n.onBlock.bind(w)();if(i(1,t,n),k?(p=w[0],b=e(n.focusableElements,p),n.focusInput&&setTimeout(l,20)):d(w[0],n.centerX,n.centerY),n.timeout){var W=setTimeout(function(){k?e.unblockUI(n):e(t).unblock(n)},n.timeout);e(t).data("blockUI.timeout",W)}}}function o(t,o){var s,l=t==window,d=e(t),a=d.data("blockUI.history"),c=d.data("blockUI.timeout");c&&(clearTimeout(c),d.removeData("blockUI.timeout")),o=e.extend({},e.blockUI.defaults,o||{}),i(0,t,o),null===o.onUnblock&&(o.onUnblock=d.data("blockUI.onUnblock"),d.removeData("blockUI.onUnblock"));var r;r=l?e(document.body).children().filter(".blockUI").add("body > .blockUI"):d.find(">.blockUI"),o.cursorReset&&(r.length>1&&(r[1].style.cursor=o.cursorReset),r.length>2&&(r[2].style.cursor=o.cursorReset)),l&&(p=b=null),o.fadeOut?(s=r.length,r.stop().fadeOut(o.fadeOut,function(){0==--s&&n(r,a,o,t)})):n(r,a,o,t)}function n(t,o,n,i){var s=e(i);if(!s.data("blockUI.isBlocked")){t.each(function(e,t){this.parentNode&&this.parentNode.removeChild(this)}),o&&o.el&&(o.el.style.display=o.display,o.el.style.position=o.position,o.el.style.cursor="default",o.parent&&o.parent.appendChild(o.el),s.removeData("blockUI.history")),s.data("blockUI.static")&&s.css("position","static"),"function"==typeof n.onUnblock&&n.onUnblock(i,n);var l=e(document.body),d=l.width(),a=l[0].style.width;l.width(d-1).width(d),l[0].style.width=a}}function i(t,o,n){var i=o==window,l=e(o);if((t||(!i||p)&&(i||l.data("blockUI.isBlocked")))&&(l.data("blockUI.isBlocked",t),i&&n.bindEvents&&(!t||n.showOverlay))){var d="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";t?e(document).bind(d,n,s):e(document).unbind(d,s)}}function s(t){if("keydown"===t.type&&t.keyCode&&9==t.keyCode&&p&&t.data.constrainTabKey){var o=b,n=!t.shiftKey&&t.target===o[o.length-1],i=t.shiftKey&&t.target===o[0];if(n||i)return setTimeout(function(){l(i)},10),!1}var s=t.data,d=e(t.target);return d.hasClass("blockOverlay")&&s.onOverlayClick&&s.onOverlayClick(t),d.parents("div."+s.blockMsgClass).length>0||0===d.parents().children().filter("div.blockUI").length}function l(e){if(b){var t=b[!0===e?b.length-1:0];t&&t.focus()}}function d(e,t,o){var n=e.parentNode,i=e.style,s=(n.offsetWidth-e.offsetWidth)/2-a(n,"borderLeftWidth"),l=(n.offsetHeight-e.offsetHeight)/2-a(n,"borderTopWidth");t&&(i.left=s>0?s+"px":"0"),o&&(i.top=l>0?l+"px":"0")}function a(t,o){return parseInt(e.css(t,o),10)||0}e.fn._fadeIn=e.fn.fadeIn;var c=e.noop||function(){},r=/MSIE/.test(navigator.userAgent),u=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),f=(document.documentMode,e.isFunction(document.createElement("div").style.setExpression));e.blockUI=function(e){t(window,e)},e.unblockUI=function(e){o(window,e)},e.growlUI=function(t,o,n,i){var s=e('<div class="growlUI"></div>');t&&s.append("<h1>"+t+"</h1>"),o&&s.append("<h2>"+o+"</h2>"),n===undefined&&(n=3e3);var l=function(t){t=t||{},e.blockUI({message:s,fadeIn:"undefined"!=typeof t.fadeIn?t.fadeIn:700,fadeOut:"undefined"!=typeof t.fadeOut?t.fadeOut:1e3,timeout:"undefined"!=typeof t.timeout?t.timeout:n,centerY:!1,showOverlay:!1,onUnblock:i,css:e.blockUI.defaults.growlCSS})};l();s.css("opacity");s.mouseover(function(){l({fadeIn:0,timeout:3e4});var t=e(".blockMsg");t.stop(),t.fadeTo(300,1)}).mouseout(function(){e(".blockMsg").fadeOut(1e3)})},e.fn.block=function(o){if(this[0]===window)return e.blockUI(o),this;var n=e.extend({},e.blockUI.defaults,o||{});return this.each(function(){var t=e(this);n.ignoreIfBlocked&&t.data("blockUI.isBlocked")||t.unblock({fadeOut:0})}),this.each(function(){"static"==e.css(this,"position")&&(this.style.position="relative",e(this).data("blockUI.static",!0)),this.style.zoom=1,t(this,o)})},e.fn.unblock=function(t){return this[0]===window?(e.unblockUI(t),this):this.each(function(){o(this,t)})},e.blockUI.version=2.7,e.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};var p=null,b=[]}"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],e):e(jQuery)}();
trunk/assets/js/jquery-confirm/jquery-confirm.min.css ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jquery-confirm v3.3.0 (http://craftpip.github.io/jquery-confirm/)
3
+ * Author: boniface pereira
4
+ * Website: www.craftpip.com
5
+ * Contact: hey@craftpip.com
6
+ *
7
+ * Copyright 2013-2017 jquery-confirm
8
+ * Licensed under MIT (https://github.com/craftpip/jquery-confirm/blob/master/LICENSE)
9
+ */@-webkit-keyframes jconfirm-spin{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes jconfirm-spin{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}body[class*=jconfirm-no-scroll-]{overflow:hidden!important}.jconfirm{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999999;font-family:inherit;overflow:hidden}.jconfirm .jconfirm-bg{position:fixed;top:0;left:0;right:0;bottom:0;-webkit-transition:opacity .4s;transition:opacity .4s}.jconfirm .jconfirm-bg.jconfirm-bg-h{opacity:0!important}.jconfirm .jconfirm-scrollpane{-webkit-perspective:500px;perspective:500px;-webkit-perspective-origin:center;perspective-origin:center;display:table;width:100%;height:100%}.jconfirm .jconfirm-row{display:table-row;width:100%}.jconfirm .jconfirm-cell{display:table-cell;vertical-align:middle}.jconfirm .jconfirm-holder{max-height:100%;padding:50px 0}.jconfirm .jconfirm-box-container{-webkit-transition:-webkit-transform;transition:-webkit-transform;transition:transform;transition:transform,-webkit-transform}.jconfirm .jconfirm-box-container.jconfirm-no-transition{-webkit-transition:none!important;transition:none!important}.jconfirm .jconfirm-box{background:white;border-radius:4px;position:relative;outline:0;padding:15px 15px 0;overflow:hidden;margin-left:auto;margin-right:auto}@-webkit-keyframes type-blue{1%,100%{border-color:#3498db}50%{border-color:#5faee3}}@keyframes type-blue{1%,100%{border-color:#3498db}50%{border-color:#5faee3}}@-webkit-keyframes type-green{1%,100%{border-color:#2ecc71}50%{border-color:#54d98c}}@keyframes type-green{1%,100%{border-color:#2ecc71}50%{border-color:#54d98c}}@-webkit-keyframes type-red{1%,100%{border-color:#e74c3c}50%{border-color:#ed7669}}@keyframes type-red{1%,100%{border-color:#e74c3c}50%{border-color:#ed7669}}@-webkit-keyframes type-orange{1%,100%{border-color:#f1c40f}50%{border-color:#f4d03f}}@keyframes type-orange{1%,100%{border-color:#f1c40f}50%{border-color:#f4d03f}}@-webkit-keyframes type-purple{1%,100%{border-color:#9b59b6}50%{border-color:#b07cc6}}@keyframes type-purple{1%,100%{border-color:#9b59b6}50%{border-color:#b07cc6}}@-webkit-keyframes type-dark{1%,100%{border-color:#34495e}50%{border-color:#46627f}}@keyframes type-dark{1%,100%{border-color:#34495e}50%{border-color:#46627f}}.jconfirm .jconfirm-box.jconfirm-type-animated{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.jconfirm .jconfirm-box.jconfirm-type-blue{border-top:solid 7px #3498db;-webkit-animation-name:type-blue;animation-name:type-blue}.jconfirm .jconfirm-box.jconfirm-type-green{border-top:solid 7px #2ecc71;-webkit-animation-name:type-green;animation-name:type-green}.jconfirm .jconfirm-box.jconfirm-type-red{border-top:solid 7px #e74c3c;-webkit-animation-name:type-red;animation-name:type-red}.jconfirm .jconfirm-box.jconfirm-type-orange{border-top:solid 7px #f1c40f;-webkit-animation-name:type-orange;animation-name:type-orange}.jconfirm .jconfirm-box.jconfirm-type-purple{border-top:solid 7px #9b59b6;-webkit-animation-name:type-purple;animation-name:type-purple}.jconfirm .jconfirm-box.jconfirm-type-dark{border-top:solid 7px #34495e;-webkit-animation-name:type-dark;animation-name:type-dark}.jconfirm .jconfirm-box.loading{height:120px}.jconfirm .jconfirm-box.loading:before{content:'';position:absolute;left:0;background:white;right:0;top:0;bottom:0;border-radius:10px;z-index:1}.jconfirm .jconfirm-box.loading:after{opacity:.6;content:'';height:30px;width:30px;border:solid 3px transparent;position:absolute;left:50%;margin-left:-15px;border-radius:50%;-webkit-animation:jconfirm-spin 1s infinite linear;animation:jconfirm-spin 1s infinite linear;border-bottom-color:dodgerblue;top:50%;margin-top:-15px;z-index:2}.jconfirm .jconfirm-box div.jconfirm-closeIcon{height:20px;width:20px;position:absolute;top:10px;right:10px;cursor:pointer;opacity:.6;text-align:center;font-size:27px!important;line-height:14px!important;display:none;z-index:1}.jconfirm .jconfirm-box div.jconfirm-closeIcon:empty{display:none}.jconfirm .jconfirm-box div.jconfirm-closeIcon .fa{font-size:16px}.jconfirm .jconfirm-box div.jconfirm-closeIcon .glyphicon{font-size:16px}.jconfirm .jconfirm-box div.jconfirm-closeIcon .zmdi{font-size:16px}.jconfirm .jconfirm-box div.jconfirm-closeIcon:hover{opacity:1}.jconfirm .jconfirm-box div.jconfirm-title-c{display:block;font-size:22px;line-height:20px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;padding-bottom:15px}.jconfirm .jconfirm-box div.jconfirm-title-c.jconfirm-hand{cursor:move}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{font-size:inherit;display:inline-block;vertical-align:middle}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c i{vertical-align:middle}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c:empty{display:none}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:inherit;font-family:inherit;display:inline-block;vertical-align:middle}.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title:empty{display:none}.jconfirm .jconfirm-box div.jconfirm-content-pane{margin-bottom:15px;height:auto;-webkit-transition:height .4s ease-in;transition:height .4s ease-in;display:inline-block;width:100%;position:relative;overflow-x:hidden;overflow-y:auto}.jconfirm .jconfirm-box div.jconfirm-content-pane.no-scroll{overflow-y:hidden}.jconfirm .jconfirm-box div.jconfirm-content-pane::-webkit-scrollbar{width:3px}.jconfirm .jconfirm-box div.jconfirm-content-pane::-webkit-scrollbar-track{background:rgba(0,0,0,0.1)}.jconfirm .jconfirm-box div.jconfirm-content-pane::-webkit-scrollbar-thumb{background:#666;border-radius:3px}.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content{overflow:auto}.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content img{max-width:100%;height:auto}.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content:empty{display:none}.jconfirm .jconfirm-box .jconfirm-buttons{padding-bottom:11px}.jconfirm .jconfirm-box .jconfirm-buttons>button{margin-bottom:4px;margin-left:2px;margin-right:2px}.jconfirm .jconfirm-box .jconfirm-buttons button{display:inline-block;padding:6px 12px;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:4px;min-height:1em;-webkit-transition:opacity .1s ease,background-color .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,background .1s ease,-webkit-box-shadow .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease,-webkit-box-shadow .1s ease;-webkit-tap-highlight-color:transparent;border:0;background-image:none}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-blue{background-color:#3498db;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-blue:hover{background-color:#2980b9;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-green{background-color:#2ecc71;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-green:hover{background-color:#27ae60;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-red{background-color:#e74c3c;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-red:hover{background-color:#c0392b;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-orange{background-color:#f1c40f;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-orange:hover{background-color:#f39c12;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-default{background-color:#ecf0f1;color:#000;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-default:hover{background-color:#bdc3c7;color:#000}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-purple{background-color:#9b59b6;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-purple:hover{background-color:#8e44ad;color:#FFF}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-dark{background-color:#34495e;color:#FFF;text-shadow:none;-webkit-transition:background .2s;transition:background .2s}.jconfirm .jconfirm-box .jconfirm-buttons button.btn-dark:hover{background-color:#2c3e50;color:#FFF}.jconfirm .jconfirm-box.jconfirm-type-red .jconfirm-title-c .jconfirm-icon-c{color:#e74c3c!important}.jconfirm .jconfirm-box.jconfirm-type-blue .jconfirm-title-c .jconfirm-icon-c{color:#3498db!important}.jconfirm .jconfirm-box.jconfirm-type-green .jconfirm-title-c .jconfirm-icon-c{color:#2ecc71!important}.jconfirm .jconfirm-box.jconfirm-type-purple .jconfirm-title-c .jconfirm-icon-c{color:#9b59b6!important}.jconfirm .jconfirm-box.jconfirm-type-orange .jconfirm-title-c .jconfirm-icon-c{color:#f1c40f!important}.jconfirm .jconfirm-box.jconfirm-type-dark .jconfirm-title-c .jconfirm-icon-c{color:#34495e!important}.jconfirm .jconfirm-clear{clear:both}.jconfirm.jconfirm-rtl{direction:rtl}.jconfirm.jconfirm-rtl div.jconfirm-closeIcon{left:5px;right:auto}.jconfirm.jconfirm-white .jconfirm-bg,.jconfirm.jconfirm-light .jconfirm-bg{background-color:#444;opacity:.2}.jconfirm.jconfirm-white .jconfirm-box,.jconfirm.jconfirm-light .jconfirm-box{-webkit-box-shadow:0 2px 6px rgba(0,0,0,0.2);box-shadow:0 2px 6px rgba(0,0,0,0.2);border-radius:5px}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-title-c .jconfirm-icon-c,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons{float:right}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button{text-transform:uppercase;font-size:14px;font-weight:bold;text-shadow:none}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.btn-default,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.btn-default{-webkit-box-shadow:none;box-shadow:none;color:#333}.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.btn-default:hover,.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.btn-default:hover{background:#ddd}.jconfirm.jconfirm-white.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c,.jconfirm.jconfirm-light.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm.jconfirm-black .jconfirm-bg,.jconfirm.jconfirm-dark .jconfirm-bg{background-color:darkslategray;opacity:.4}.jconfirm.jconfirm-black .jconfirm-box,.jconfirm.jconfirm-dark .jconfirm-box{-webkit-box-shadow:0 2px 6px rgba(0,0,0,0.2);box-shadow:0 2px 6px rgba(0,0,0,0.2);background:#444;border-radius:5px;color:white}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-title-c .jconfirm-icon-c,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-buttons,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-buttons{float:right}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-buttons button,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-buttons button{border:0;background-image:none;text-transform:uppercase;font-size:14px;font-weight:bold;text-shadow:none;-webkit-transition:background .1s;transition:background .1s;color:white}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-buttons button.btn-default,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-buttons button.btn-default{-webkit-box-shadow:none;box-shadow:none;color:#fff;background:0}.jconfirm.jconfirm-black .jconfirm-box .jconfirm-buttons button.btn-default:hover,.jconfirm.jconfirm-dark .jconfirm-box .jconfirm-buttons button.btn-default:hover{background:#666}.jconfirm.jconfirm-black.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c,.jconfirm.jconfirm-dark.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm .jconfirm-box.hilight.jconfirm-hilight-shake{-webkit-animation:shake .82s cubic-bezier(0.36,0.07,0.19,0.97) both;animation:shake .82s cubic-bezier(0.36,0.07,0.19,0.97) both;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.jconfirm .jconfirm-box.hilight.jconfirm-hilight-glow{-webkit-animation:glow .82s cubic-bezier(0.36,0.07,0.19,0.97) both;animation:glow .82s cubic-bezier(0.36,0.07,0.19,0.97) both;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-webkit-keyframes shake{10%,90%{-webkit-transform:translate3d(-2px,0,0);transform:translate3d(-2px,0,0)}20%,80%{-webkit-transform:translate3d(4px,0,0);transform:translate3d(4px,0,0)}30%,50%,70%{-webkit-transform:translate3d(-8px,0,0);transform:translate3d(-8px,0,0)}40%,60%{-webkit-transform:translate3d(8px,0,0);transform:translate3d(8px,0,0)}}@keyframes shake{10%,90%{-webkit-transform:translate3d(-2px,0,0);transform:translate3d(-2px,0,0)}20%,80%{-webkit-transform:translate3d(4px,0,0);transform:translate3d(4px,0,0)}30%,50%,70%{-webkit-transform:translate3d(-8px,0,0);transform:translate3d(-8px,0,0)}40%,60%{-webkit-transform:translate3d(8px,0,0);transform:translate3d(8px,0,0)}}@-webkit-keyframes glow{0%,100%{-webkit-box-shadow:0 0 0 red;box-shadow:0 0 0 red}50%{-webkit-box-shadow:0 0 30px red;box-shadow:0 0 30px red}}@keyframes glow{0%,100%{-webkit-box-shadow:0 0 0 red;box-shadow:0 0 0 red}50%{-webkit-box-shadow:0 0 30px red;box-shadow:0 0 30px red}}.jconfirm{-webkit-perspective:400px;perspective:400px}.jconfirm .jconfirm-box{opacity:1;-webkit-transition-property:all;transition-property:all}.jconfirm .jconfirm-box.jconfirm-animation-top,.jconfirm .jconfirm-box.jconfirm-animation-left,.jconfirm .jconfirm-box.jconfirm-animation-right,.jconfirm .jconfirm-box.jconfirm-animation-bottom,.jconfirm .jconfirm-box.jconfirm-animation-opacity,.jconfirm .jconfirm-box.jconfirm-animation-zoom,.jconfirm .jconfirm-box.jconfirm-animation-scale,.jconfirm .jconfirm-box.jconfirm-animation-none,.jconfirm .jconfirm-box.jconfirm-animation-rotate,.jconfirm .jconfirm-box.jconfirm-animation-rotatex,.jconfirm .jconfirm-box.jconfirm-animation-rotatey,.jconfirm .jconfirm-box.jconfirm-animation-scaley,.jconfirm .jconfirm-box.jconfirm-animation-scalex{opacity:0}.jconfirm .jconfirm-box.jconfirm-animation-rotate{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.jconfirm .jconfirm-box.jconfirm-animation-rotatex{-webkit-transform:rotateX(90deg);transform:rotateX(90deg);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-rotatexr{-webkit-transform:rotateX(-90deg);transform:rotateX(-90deg);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-rotatey{-webkit-transform:rotatey(90deg);transform:rotatey(90deg);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-rotateyr{-webkit-transform:rotatey(-90deg);transform:rotatey(-90deg);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-scaley{-webkit-transform:scaley(1.5);transform:scaley(1.5);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-scalex{-webkit-transform:scalex(1.5);transform:scalex(1.5);-webkit-transform-origin:center;transform-origin:center}.jconfirm .jconfirm-box.jconfirm-animation-top{-webkit-transform:translate(0px,-100px);transform:translate(0px,-100px)}.jconfirm .jconfirm-box.jconfirm-animation-left{-webkit-transform:translate(-100px,0px);transform:translate(-100px,0px)}.jconfirm .jconfirm-box.jconfirm-animation-right{-webkit-transform:translate(100px,0px);transform:translate(100px,0px)}.jconfirm .jconfirm-box.jconfirm-animation-bottom{-webkit-transform:translate(0px,100px);transform:translate(0px,100px)}.jconfirm .jconfirm-box.jconfirm-animation-zoom{-webkit-transform:scale(1.2);transform:scale(1.2)}.jconfirm .jconfirm-box.jconfirm-animation-scale{-webkit-transform:scale(0.5);transform:scale(0.5)}.jconfirm .jconfirm-box.jconfirm-animation-none{visibility:hidden}.jconfirm.jconfirm-supervan .jconfirm-bg{background-color:rgba(54,70,93,0.95)}.jconfirm.jconfirm-supervan .jconfirm-box{background-color:transparent}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-blue{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-green{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-red{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-orange{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-purple{border:0}.jconfirm.jconfirm-supervan .jconfirm-box.jconfirm-type-dark{border:0}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-closeIcon{color:white}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-title-c{text-align:center;color:white;font-size:28px;font-weight:normal}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-title-c>*{padding-bottom:25px}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-content-pane{margin-bottom:25px}.jconfirm.jconfirm-supervan .jconfirm-box div.jconfirm-content{text-align:center;color:white}.jconfirm.jconfirm-supervan .jconfirm-box .jconfirm-buttons{text-align:center}.jconfirm.jconfirm-supervan .jconfirm-box .jconfirm-buttons button{font-size:16px;border-radius:2px;background:#303f53;text-shadow:none;border:0;color:white;padding:10px;min-width:100px}.jconfirm.jconfirm-supervan.jconfirm-rtl .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm.jconfirm-material .jconfirm-bg{background-color:rgba(0,0,0,0.67)}.jconfirm.jconfirm-material .jconfirm-box{background-color:white;-webkit-box-shadow:0 7px 8px -4px rgba(0,0,0,0.2),0 13px 19px 2px rgba(0,0,0,0.14),0 5px 24px 4px rgba(0,0,0,0.12);box-shadow:0 7px 8px -4px rgba(0,0,0,0.2),0 13px 19px 2px rgba(0,0,0,0.14),0 5px 24px 4px rgba(0,0,0,0.12);padding:30px 25px 10px 25px}.jconfirm.jconfirm-material .jconfirm-box .jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-material .jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-material .jconfirm-box div.jconfirm-title-c{color:rgba(0,0,0,0.87);font-size:22px;font-weight:bold}.jconfirm.jconfirm-material .jconfirm-box div.jconfirm-content{color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-material .jconfirm-box .jconfirm-buttons{text-align:right}.jconfirm.jconfirm-material .jconfirm-box .jconfirm-buttons button{text-transform:uppercase;font-weight:500}.jconfirm.jconfirm-material.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm.jconfirm-bootstrap .jconfirm-bg{background-color:rgba(0,0,0,0.21)}.jconfirm.jconfirm-bootstrap .jconfirm-box{background-color:white;-webkit-box-shadow:0 3px 8px 0 rgba(0,0,0,0.2);box-shadow:0 3px 8px 0 rgba(0,0,0,0.2);border:solid 1px rgba(0,0,0,0.4);padding:15px 0 0}.jconfirm.jconfirm-bootstrap .jconfirm-box .jconfirm-title-c .jconfirm-icon-c{margin-right:8px;margin-left:0}.jconfirm.jconfirm-bootstrap .jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.87)}.jconfirm.jconfirm-bootstrap .jconfirm-box div.jconfirm-title-c{color:rgba(0,0,0,0.87);font-size:22px;font-weight:bold;padding-left:15px;padding-right:15px}.jconfirm.jconfirm-bootstrap .jconfirm-box div.jconfirm-content{color:rgba(0,0,0,0.87);padding:0 15px}.jconfirm.jconfirm-bootstrap .jconfirm-box .jconfirm-buttons{text-align:right;padding:10px;margin:-5px 0 0;border-top:solid 1px #ddd;overflow:hidden;border-radius:0 0 4px 4px}.jconfirm.jconfirm-bootstrap .jconfirm-box .jconfirm-buttons button{font-weight:500}.jconfirm.jconfirm-bootstrap.jconfirm-rtl .jconfirm-title-c .jconfirm-icon-c{margin-left:8px;margin-right:0}.jconfirm.jconfirm-modern .jconfirm-bg{background-color:slategray;opacity:.6}.jconfirm.jconfirm-modern .jconfirm-box{background-color:white;-webkit-box-shadow:0 7px 8px -4px rgba(0,0,0,0.2),0 13px 19px 2px rgba(0,0,0,0.14),0 5px 24px 4px rgba(0,0,0,0.12);box-shadow:0 7px 8px -4px rgba(0,0,0,0.2),0 13px 19px 2px rgba(0,0,0,0.14),0 5px 24px 4px rgba(0,0,0,0.12);padding:30px 30px 15px}.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.87);top:15px;right:15px}.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c{color:rgba(0,0,0,0.87);font-size:24px;font-weight:bold;text-align:center;margin-bottom:10px}.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-title-c .jconfirm-icon-c{-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s;-webkit-transform:scale(0);transform:scale(0);display:block;margin-right:0;margin-left:0;margin-bottom:10px;font-size:69px;color:#aaa}.jconfirm.jconfirm-modern .jconfirm-box div.jconfirm-content{text-align:center;font-size:15px;color:#777;margin-bottom:25px}.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons{text-align:center}.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons button{font-weight:bold;text-transform:uppercase;-webkit-transition:background .1s;transition:background .1s;padding:10px 20px}.jconfirm.jconfirm-modern .jconfirm-box .jconfirm-buttons button+button{margin-left:4px}.jconfirm.jconfirm-modern.jconfirm-open .jconfirm-box .jconfirm-title-c .jconfirm-icon-c{-webkit-transform:scale(1);transform:scale(1)}
trunk/assets/js/jquery-confirm/jquery-confirm.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jquery-confirm v3.3.0 (http://craftpip.github.io/jquery-confirm/)
3
+ * Author: Boniface Pereira
4
+ * Website: www.craftpip.com
5
+ * Contact: hey@craftpip.com
6
+ *
7
+ * Copyright 2013-2017 jquery-confirm
8
+ * Licensed under MIT (https://github.com/craftpip/jquery-confirm/blob/master/LICENSE)
9
+ */
10
+ if(typeof jQuery==="undefined"){throw new Error("jquery-confirm requires jQuery");}var jconfirm,Jconfirm;(function($,window){$.fn.confirm=function(options,option2){if(typeof options==="undefined"){options={};}if(typeof options==="string"){options={content:options,title:(option2)?option2:false};}$(this).each(function(){var $this=$(this);if($this.attr("jc-attached")){console.warn("jConfirm has already been attached to this element ",$this[0]);return;}$this.on("click",function(e){e.preventDefault();var jcOption=$.extend({},options);if($this.attr("data-title")){jcOption.title=$this.attr("data-title");}if($this.attr("data-content")){jcOption.content=$this.attr("data-content");}if(typeof jcOption.buttons=="undefined"){jcOption.buttons={};}jcOption["$target"]=$this;if($this.attr("href")&&Object.keys(jcOption.buttons).length==0){var buttons=$.extend(true,{},jconfirm.pluginDefaults.defaultButtons,(jconfirm.defaults||{}).defaultButtons||{});var firstBtn=Object.keys(buttons)[0];jcOption.buttons=buttons;jcOption.buttons[firstBtn].action=function(){location.href=$this.attr("href");};}jcOption.closeIcon=false;var instance=$.confirm(jcOption);});$this.attr("jc-attached",true);});return $(this);};$.confirm=function(options,option2){if(typeof options==="undefined"){options={};}if(typeof options==="string"){options={content:options,title:(option2)?option2:false};}if(typeof options.buttons!="object"){options.buttons={};}if(Object.keys(options.buttons).length==0){var buttons=$.extend(true,{},jconfirm.pluginDefaults.defaultButtons,(jconfirm.defaults||{}).defaultButtons||{});options.buttons=buttons;}return jconfirm(options);};$.alert=function(options,option2){if(typeof options==="undefined"){options={};}if(typeof options==="string"){options={content:options,title:(option2)?option2:false};}if(typeof options.buttons!="object"){options.buttons={};}if(Object.keys(options.buttons).length==0){var buttons=$.extend(true,{},jconfirm.pluginDefaults.defaultButtons,(jconfirm.defaults||{}).defaultButtons||{});var firstBtn=Object.keys(buttons)[0];options.buttons[firstBtn]=buttons[firstBtn];}return jconfirm(options);};$.dialog=function(options,option2){if(typeof options==="undefined"){options={};}if(typeof options==="string"){options={content:options,title:(option2)?option2:false,closeIcon:function(){}};}options.buttons={};if(typeof options.closeIcon=="undefined"){options.closeIcon=function(){};}options.confirmKeys=[13];return jconfirm(options);};jconfirm=function(options){if(typeof options==="undefined"){options={};}var pluginOptions=$.extend(true,{},jconfirm.pluginDefaults);if(jconfirm.defaults){pluginOptions=$.extend(true,pluginOptions,jconfirm.defaults);}pluginOptions=$.extend(true,{},pluginOptions,options);var instance=new Jconfirm(pluginOptions);jconfirm.instances.push(instance);return instance;};Jconfirm=function(options){$.extend(this,options);this._init();};Jconfirm.prototype={_init:function(){var that=this;if(!jconfirm.instances.length){jconfirm.lastFocused=$("body").find(":focus");}this._id=Math.round(Math.random()*99999);this.contentParsed=$(document.createElement("div"));if(!this.lazyOpen){setTimeout(function(){that.open();},0);}},_buildHTML:function(){var that=this;this._parseAnimation(this.animation,"o");this._parseAnimation(this.closeAnimation,"c");this._parseBgDismissAnimation(this.backgroundDismissAnimation);this._parseColumnClass(this.columnClass);this._parseTheme(this.theme);this._parseType(this.type);var template=$(this.template);template.find(".jconfirm-box").addClass(this.animationParsed).addClass(this.backgroundDismissAnimationParsed).addClass(this.typeParsed);if(this.typeAnimated){template.find(".jconfirm-box").addClass("jconfirm-type-animated");}if(this.useBootstrap){template.find(".jc-bs3-row").addClass(this.bootstrapClasses.row);template.find(".jc-bs3-row").addClass("justify-content-md-center justify-content-sm-center justify-content-xs-center justify-content-lg-center");template.find(".jconfirm-box-container").addClass(this.columnClassParsed);if(this.containerFluid){template.find(".jc-bs3-container").addClass(this.bootstrapClasses.containerFluid);}else{template.find(".jc-bs3-container").addClass(this.bootstrapClasses.container);}}else{template.find(".jconfirm-box").css("width",this.boxWidth);}if(this.titleClass){template.find(".jconfirm-title-c").addClass(this.titleClass);}template.addClass(this.themeParsed);var ariaLabel="jconfirm-box"+this._id;template.find(".jconfirm-box").attr("aria-labelledby",ariaLabel).attr("tabindex",-1);template.find(".jconfirm-content").attr("id",ariaLabel);if(this.bgOpacity!==null){template.find(".jconfirm-bg").css("opacity",this.bgOpacity);}if(this.rtl){template.addClass("jconfirm-rtl");}this.$el=template.appendTo(this.container);this.$jconfirmBoxContainer=this.$el.find(".jconfirm-box-container");this.$jconfirmBox=this.$body=this.$el.find(".jconfirm-box");this.$jconfirmBg=this.$el.find(".jconfirm-bg");this.$title=this.$el.find(".jconfirm-title");this.$titleContainer=this.$el.find(".jconfirm-title-c");this.$content=this.$el.find("div.jconfirm-content");this.$contentPane=this.$el.find(".jconfirm-content-pane");this.$icon=this.$el.find(".jconfirm-icon-c");this.$closeIcon=this.$el.find(".jconfirm-closeIcon");this.$holder=this.$el.find(".jconfirm-holder");this.$btnc=this.$el.find(".jconfirm-buttons");this.$scrollPane=this.$el.find(".jconfirm-scrollpane");that.setStartingPoint();this._contentReady=$.Deferred();this._modalReady=$.Deferred();this.$holder.css({"padding-top":this.offsetTop,"padding-bottom":this.offsetBottom,});this.setTitle();this.setIcon();this._setButtons();this._parseContent();this.initDraggable();if(this.isAjax){this.showLoading(false);}$.when(this._contentReady,this._modalReady).then(function(){if(that.isAjaxLoading){setTimeout(function(){that.isAjaxLoading=false;that.setContent();that.setTitle();that.setIcon();setTimeout(function(){that.hideLoading(false);that._updateContentMaxHeight();},100);if(typeof that.onContentReady==="function"){that.onContentReady();}},50);}else{that._updateContentMaxHeight();that.setTitle();that.setIcon();if(typeof that.onContentReady==="function"){that.onContentReady();}}if(that.autoClose){that._startCountDown();}});this._watchContent();if(this.animation==="none"){this.animationSpeed=1;this.animationBounce=1;}this.$body.css(this._getCSS(this.animationSpeed,this.animationBounce));this.$contentPane.css(this._getCSS(this.animationSpeed,1));this.$jconfirmBg.css(this._getCSS(this.animationSpeed,1));this.$jconfirmBoxContainer.css(this._getCSS(this.animationSpeed,1));},_typePrefix:"jconfirm-type-",typeParsed:"",_parseType:function(type){this.typeParsed=this._typePrefix+type;},setType:function(type){var oldClass=this.typeParsed;this._parseType(type);this.$jconfirmBox.removeClass(oldClass).addClass(this.typeParsed);},themeParsed:"",_themePrefix:"jconfirm-",setTheme:function(theme){var previous=this.theme;this.theme=theme||this.theme;this._parseTheme(this.theme);if(previous){this.$el.removeClass(previous);}this.$el.addClass(this.themeParsed);this.theme=theme;},_parseTheme:function(theme){var that=this;theme=theme.split(",");$.each(theme,function(k,a){if(a.indexOf(that._themePrefix)===-1){theme[k]=that._themePrefix+$.trim(a);}});this.themeParsed=theme.join(" ").toLowerCase();},backgroundDismissAnimationParsed:"",_bgDismissPrefix:"jconfirm-hilight-",_parseBgDismissAnimation:function(bgDismissAnimation){var animation=bgDismissAnimation.split(",");var that=this;$.each(animation,function(k,a){if(a.indexOf(that._bgDismissPrefix)===-1){animation[k]=that._bgDismissPrefix+$.trim(a);}});this.backgroundDismissAnimationParsed=animation.join(" ").toLowerCase();},animationParsed:"",closeAnimationParsed:"",_animationPrefix:"jconfirm-animation-",setAnimation:function(animation){this.animation=animation||this.animation;this._parseAnimation(this.animation,"o");},_parseAnimation:function(animation,which){which=which||"o";var animations=animation.split(",");var that=this;$.each(animations,function(k,a){if(a.indexOf(that._animationPrefix)===-1){animations[k]=that._animationPrefix+$.trim(a);}});var a_string=animations.join(" ").toLowerCase();if(which==="o"){this.animationParsed=a_string;}else{this.closeAnimationParsed=a_string;}return a_string;},setCloseAnimation:function(closeAnimation){this.closeAnimation=closeAnimation||this.closeAnimation;this._parseAnimation(this.closeAnimation,"c");},setAnimationSpeed:function(speed){this.animationSpeed=speed||this.animationSpeed;},columnClassParsed:"",setColumnClass:function(colClass){if(!this.useBootstrap){console.warn("cannot set columnClass, useBootstrap is set to false");return;}this.columnClass=colClass||this.columnClass;this._parseColumnClass(this.columnClass);this.$jconfirmBoxContainer.addClass(this.columnClassParsed);},_updateContentMaxHeight:function(){var height=$(window).height()-(this.$jconfirmBox.outerHeight()-this.$contentPane.outerHeight())-(this.offsetTop+this.offsetBottom);this.$contentPane.css({"max-height":height+"px"});},setBoxWidth:function(width){if(this.useBootstrap){console.warn("cannot set boxWidth, useBootstrap is set to true");return;}this.boxWidth=width;this.$jconfirmBox.css("width",width);},_parseColumnClass:function(colClass){colClass=colClass.toLowerCase();var p;switch(colClass){case"xl":case"xlarge":p="col-md-12";break;case"l":case"large":p="col-md-8 col-md-offset-2";break;case"m":case"medium":p="col-md-6 col-md-offset-3";break;case"s":case"small":p="col-md-4 col-md-offset-4";break;case"xs":case"xsmall":p="col-md-2 col-md-offset-5";break;default:p=colClass;}this.columnClassParsed=p;},initDraggable:function(){var that=this;var $t=this.$titleContainer;this.resetDrag();if(this.draggable){$t.on("mousedown",function(e){$t.addClass("jconfirm-hand");that.mouseX=e.clientX;that.mouseY=e.clientY;that.isDrag=true;});$(window).on("mousemove."+this._id,function(e){if(that.isDrag){that.movingX=e.clientX-that.mouseX+that.initialX;that.movingY=e.clientY-that.mouseY+that.initialY;that.setDrag();}});$(window).on("mouseup."+this._id,function(){$t.removeClass("jconfirm-hand");if(that.isDrag){that.isDrag=false;that.initialX=that.movingX;that.initialY=that.movingY;}});}},resetDrag:function(){this.isDrag=false;this.initialX=0;this.initialY=0;this.movingX=0;this.movingY=0;this.mouseX=0;this.mouseY=0;this.$jconfirmBoxContainer.css("transform","translate("+0+"px, "+0+"px)");},setDrag:function(){if(!this.draggable){return;}this.alignMiddle=false;var boxWidth=this.$jconfirmBox.outerWidth();var boxHeight=this.$jconfirmBox.outerHeight();var windowWidth=$(window).width();var windowHeight=$(window).height();var that=this;var dragUpdate=1;if(that.movingX%dragUpdate===0||that.movingY%dragUpdate===0){if(that.dragWindowBorder){var leftDistance=(windowWidth/2)-boxWidth/2;var topDistance=(windowHeight/2)-boxHeight/2;topDistance-=that.dragWindowGap;leftDistance-=that.dragWindowGap;if(leftDistance+that.movingX<0){that.movingX=-leftDistance;}else{if(leftDistance-that.movingX<0){that.movingX=leftDistance;}}if(topDistance+that.movingY<0){that.movingY=-topDistance;}else{if(topDistance-that.movingY<0){that.movingY=topDistance;}}}that.$jconfirmBoxContainer.css("transform","translate("+that.movingX+"px, "+that.movingY+"px)");}},_scrollTop:function(){if(typeof pageYOffset!=="undefined"){return pageYOffset;}else{var B=document.body;var D=document.documentElement;D=(D.clientHeight)?D:B;return D.scrollTop;}},_watchContent:function(){var that=this;if(this._timer){clearInterval(this._timer);}var prevContentHeight=0;this._timer=setInterval(function(){if(that.smoothContent){var contentHeight=that.$content.outerHeight()||0;if(contentHeight!==prevContentHeight){that.$contentPane.css({height:contentHeight}).scrollTop(0);prevContentHeight=contentHeight;}var wh=$(window).height();var total=that.offsetTop+that.offsetBottom+that.$jconfirmBox.height()-that.$contentPane.height()+that.$content.height();if(total<wh){that.$contentPane.addClass("no-scroll");}else{that.$contentPane.removeClass("no-scroll");}}},this.watchInterval);},_overflowClass:"jconfirm-overflow",_hilightAnimating:false,highlight:function(){this.hiLightModal();},hiLightModal:function(){var that=this;if(this._hilightAnimating){return;}that.$body.addClass("hilight");var duration=parseFloat(that.$body.css("animation-duration"))||2;this._hilightAnimating=true;setTimeout(function(){that._hilightAnimating=false;that.$body.removeClass("hilight");},duration*1000);},_bindEvents:function(){var that=this;this.boxClicked=false;this.$scrollPane.click(function(e){if(!that.boxClicked){var buttonName=false;var shouldClose=false;var str;if(typeof that.backgroundDismiss=="function"){str=that.backgroundDismiss();}else{str=that.backgroundDismiss;}if(typeof str=="string"&&typeof that.buttons[str]!="undefined"){buttonName=str;shouldClose=false;}else{if(typeof str=="undefined"||!!(str)==true){shouldClose=true;}else{shouldClose=false;}}if(buttonName){var btnResponse=that.buttons[buttonName].action.apply(that);shouldClose=(typeof btnResponse=="undefined")||!!(btnResponse);}if(shouldClose){that.close();}else{that.hiLightModal();}}that.boxClicked=false;});this.$jconfirmBox.click(function(e){that.boxClicked=true;});var isKeyDown=false;$(window).on("jcKeyDown."+that._id,function(e){if(!isKeyDown){isKeyDown=true;}});$(window).on("keyup."+that._id,function(e){if(isKeyDown){that.reactOnKey(e);isKeyDown=false;}});$(window).on("resize."+this._id,function(){that._updateContentMaxHeight();setTimeout(function(){that.resetDrag();},100);});},_cubic_bezier:"0.36, 0.55, 0.19",_getCSS:function(speed,bounce){return{"-webkit-transition-duration":speed/1000+"s","transition-duration":speed/1000+"s","-webkit-transition-timing-function":"cubic-bezier("+this._cubic_bezier+", "+bounce+")","transition-timing-function":"cubic-bezier("+this._cubic_bezier+", "+bounce+")"};},_setButtons:function(){var that=this;var total_buttons=0;if(typeof this.buttons!=="object"){this.buttons={};}$.each(this.buttons,function(key,button){total_buttons+=1;if(typeof button==="function"){that.buttons[key]=button={action:button};}that.buttons[key].text=button.text||key;that.buttons[key].btnClass=button.btnClass||"btn-default";that.buttons[key].action=button.action||function(){};that.buttons[key].keys=button.keys||[];that.buttons[key].isHidden=button.isHidden||false;that.buttons[key].isDisabled=button.isDisabled||false;$.each(that.buttons[key].keys,function(i,a){that.buttons[key].keys[i]=a.toLowerCase();});var button_element=$('<button type="button" class="btn"></button>').html(that.buttons[key].text).addClass(that.buttons[key].btnClass).prop("disabled",that.buttons[key].isDisabled).css("display",that.buttons[key].isHidden?"none":"").click(function(e){e.preventDefault();var res=that.buttons[key].action.apply(that,[that.buttons[key]]);that.onAction.apply(that,[key,that.buttons[key]]);that._stopCountDown();if(typeof res==="undefined"||res){that.close();}});that.buttons[key].el=button_element;that.buttons[key].setText=function(text){button_element.html(text);};that.buttons[key].addClass=function(className){button_element.addClass(className);};that.buttons[key].removeClass=function(className){button_element.removeClass(className);};that.buttons[key].disable=function(){that.buttons[key].isDisabled=true;button_element.prop("disabled",true);};that.buttons[key].enable=function(){that.buttons[key].isDisabled=false;button_element.prop("disabled",false);};that.buttons[key].show=function(){that.buttons[key].isHidden=false;button_element.css("display","");};that.buttons[key].hide=function(){that.buttons[key].isHidden=true;button_element.css("display","none");};that["$_"+key]=that["$$"+key]=button_element;that.$btnc.append(button_element);});if(total_buttons===0){this.$btnc.hide();}if(this.closeIcon===null&&total_buttons===0){this.closeIcon=true;}if(this.closeIcon){if(this.closeIconClass){var closeHtml='<i class="'+this.closeIconClass+'"></i>';this.$closeIcon.html(closeHtml);}this.$closeIcon.click(function(e){e.preventDefault();var buttonName=false;var shouldClose=false;var str;if(typeof that.closeIcon=="function"){str=that.closeIcon();}else{str=that.closeIcon;}if(typeof str=="string"&&typeof that.buttons[str]!="undefined"){buttonName=str;shouldClose=false;}else{if(typeof str=="undefined"||!!(str)==true){shouldClose=true;}else{shouldClose=false;}}if(buttonName){var btnResponse=that.buttons[buttonName].action.apply(that);shouldClose=(typeof btnResponse=="undefined")||!!(btnResponse);}if(shouldClose){that.close();}});this.$closeIcon.show();}else{this.$closeIcon.hide();}},setTitle:function(string,force){force=force||false;if(typeof string!=="undefined"){if(typeof string=="string"){this.title=string;}else{if(typeof string=="function"){if(typeof string.promise=="function"){console.error("Promise was returned from title function, this is not supported.");}var response=string();if(typeof response=="string"){this.title=response;}else{this.title=false;}}else{this.title=false;}}}if(this.isAjaxLoading&&!force){return;}this.$title.html(this.title||"");this.updateTitleContainer();},setIcon:function(iconClass,force){force=force||false;if(typeof iconClass!=="undefined"){if(typeof iconClass=="string"){this.icon=iconClass;}else{if(typeof iconClass==="function"){var response=iconClass();if(typeof response=="string"){this.icon=response;}else{this.icon=false;}}else{this.icon=false;}}}if(this.isAjaxLoading&&!force){return;}this.$icon.html(this.icon?'<i class="'+this.icon+'"></i>':"");this.updateTitleContainer();},updateTitleContainer:function(){if(!this.title&&!this.icon){this.$titleContainer.hide();}else{this.$titleContainer.show();}},setContentPrepend:function(content,force){if(!content){return;}this.contentParsed.prepend(content);},setContentAppend:function(content){if(!content){return;}this.contentParsed.append(content);},setContent:function(content,force){force=!!force;var that=this;if(content){this.contentParsed.html("").append(content);}if(this.isAjaxLoading&&!force){return;}this.$content.html("");this.$content.append(this.contentParsed);setTimeout(function(){that.$body.find("input[autofocus]:visible:first").focus();},100);},loadingSpinner:false,showLoading:function(disableButtons){this.loadingSpinner=true;this.$jconfirmBox.addClass("loading");if(disableButtons){this.$btnc.find("button").prop("disabled",true);}},hideLoading:function(enableButtons){this.loadingSpinner=false;this.$jconfirmBox.removeClass("loading");if(enableButtons){this.$btnc.find("button").prop("disabled",false);}},ajaxResponse:false,contentParsed:"",isAjax:false,isAjaxLoading:false,_parseContent:function(){var that=this;var e="&nbsp;";if(typeof this.content=="function"){var res=this.content.apply(this);if(typeof res=="string"){this.content=res;}else{if(typeof res=="object"&&typeof res.always=="function"){this.isAjax=true;this.isAjaxLoading=true;res.always(function(data,status,xhr){that.ajaxResponse={data:data,status:status,xhr:xhr};that._contentReady.resolve(data,status,xhr);if(typeof that.contentLoaded=="function"){that.contentLoaded(data,status,xhr);}});this.content=e;}else{this.content=e;}}}if(typeof this.content=="string"&&this.content.substr(0,4).toLowerCase()==="url:"){this.isAjax=true;this.isAjaxLoading=true;var u=this.content.substring(4,this.content.length);$.get(u).done(function(html){that.contentParsed.html(html);}).always(function(data,status,xhr){that.ajaxResponse={data:data,status:status,xhr:xhr};that._contentReady.resolve(data,status,xhr);if(typeof that.contentLoaded=="function"){that.contentLoaded(data,status,xhr);}});}if(!this.content){this.content=e;}if(!this.isAjax){this.contentParsed.html(this.content);this.setContent();that._contentReady.resolve();}},_stopCountDown:function(){clearInterval(this.autoCloseInterval);if(this.$cd){this.$cd.remove();}},_startCountDown:function(){var that=this;var opt=this.autoClose.split("|");if(opt.length!==2){console.error("Invalid option for autoClose. example 'close|10000'");return false;}var button_key=opt[0];var time=parseInt(opt[1]);if(typeof this.buttons[button_key]==="undefined"){console.error("Invalid button key '"+button_key+"' for autoClose");return false;}var seconds=Math.ceil(time/1000);this.$cd=$('<span class="countdown"> ('+seconds+")</span>").appendTo(this["$_"+button_key]);this.autoCloseInterval=setInterval(function(){that.$cd.html(" ("+(seconds-=1)+") ");if(seconds<=0){that["$$"+button_key].trigger("click");that._stopCountDown();}},1000);},_getKey:function(key){switch(key){case 192:return"tilde";case 13:return"enter";case 16:return"shift";case 9:return"tab";case 20:return"capslock";case 17:return"ctrl";case 91:return"win";case 18:return"alt";case 27:return"esc";case 32:return"space";}var initial=String.fromCharCode(key);if(/^[A-z0-9]+$/.test(initial)){return initial.toLowerCase();}else{return false;}},reactOnKey:function(e){var that=this;var a=$(".jconfirm");if(a.eq(a.length-1)[0]!==this.$el[0]){return false;}var key=e.which;if(this.$content.find(":input").is(":focus")&&/13|32/.test(key)){return false;}var keyChar=this._getKey(key);if(keyChar==="esc"&&this.escapeKey){if(this.escapeKey===true){this.$scrollPane.trigger("click");}else{if(typeof this.escapeKey==="string"||typeof this.escapeKey==="function"){var buttonKey;if(typeof this.escapeKey==="function"){buttonKey=this.escapeKey();}else{buttonKey=this.escapeKey;}if(buttonKey){if(typeof this.buttons[buttonKey]==="undefined"){console.warn("Invalid escapeKey, no buttons found with key "+buttonKey);}else{this["$_"+buttonKey].trigger("click");}}}}}$.each(this.buttons,function(key,button){if(button.keys.indexOf(keyChar)!=-1){that["$_"+key].trigger("click");}});},setDialogCenter:function(){console.info("setDialogCenter is deprecated, dialogs are centered with CSS3 tables");},_unwatchContent:function(){clearInterval(this._timer);},close:function(){var that=this;if(typeof this.onClose==="function"){this.onClose();}this._unwatchContent();$(window).unbind("resize."+this._id);$(window).unbind("keyup."+this._id);$(window).unbind("jcKeyDown."+this._id);if(this.draggable){$(window).unbind("mousemove."+this._id);$(window).unbind("mouseup."+this._id);this.$titleContainer.unbind("mousedown");}that.$el.removeClass(that.loadedClass);$("body").removeClass("jconfirm-no-scroll-"+that._id);that.$jconfirmBoxContainer.removeClass("jconfirm-no-transition");setTimeout(function(){that.$body.addClass(that.closeAnimationParsed);that.$jconfirmBg.addClass("jconfirm-bg-h");var closeTimer=(that.closeAnimation==="none")?1:that.animationSpeed;setTimeout(function(){that.$el.remove();var l=jconfirm.instances;var i=jconfirm.instances.length-1;for(i;i>=0;i--){if(jconfirm.instances[i]._id===that._id){jconfirm.instances.splice(i,1);}}if(!jconfirm.instances.length){if(that.scrollToPreviousElement&&jconfirm.lastFocused&&jconfirm.lastFocused.length&&$.contains(document,jconfirm.lastFocused[0])){var $lf=jconfirm.lastFocused;if(that.scrollToPreviousElementAnimate){var st=$(window).scrollTop();var ot=jconfirm.lastFocused.offset().top;var wh=$(window).height();if(!(ot>st&&ot<(st+wh))){var scrollTo=(ot-Math.round((wh/3)));$("html, body").animate({scrollTop:scrollTo},that.animationSpeed,"swing",function(){$lf.focus();});}else{$lf.focus();}}else{$lf.focus();}jconfirm.lastFocused=false;}}if(typeof that.onDestroy==="function"){that.onDestroy();}},closeTimer*0.4);},50);return true;},open:function(){if(this.isOpen()){return false;}this._buildHTML();this._bindEvents();this._open();return true;},setStartingPoint:function(){var el=false;if(this.animateFromElement!==true&&this.animateFromElement){el=this.animateFromElement;jconfirm.lastClicked=false;}else{if(jconfirm.lastClicked&&this.animateFromElement===true){el=jconfirm.lastClicked;jconfirm.lastClicked=false;}else{return false;}}if(!el){return false;}var offset=el.offset();var iTop=el.outerHeight()/2;var iLeft=el.outerWidth()/2;iTop-=this.$jconfirmBox.outerHeight()/2;iLeft-=this.$jconfirmBox.outerWidth()/2;var sourceTop=offset.top+iTop;sourceTop=sourceTop-this._scrollTop();var sourceLeft=offset.left+iLeft;var wh=$(window).height()/2;var ww=$(window).width()/2;var targetH=wh-this.$jconfirmBox.outerHeight()/2;var targetW=ww-this.$jconfirmBox.outerWidth()/2;sourceTop-=targetH;sourceLeft-=targetW;if(Math.abs(sourceTop)>wh||Math.abs(sourceLeft)>ww){return false;}this.$jconfirmBoxContainer.css("transform","translate("+sourceLeft+"px, "+sourceTop+"px)");},_open:function(){var that=this;if(typeof that.onOpenBefore==="function"){that.onOpenBefore();}this.$body.removeClass(this.animationParsed);this.$jconfirmBg.removeClass("jconfirm-bg-h");this.$body.focus();that.$jconfirmBoxContainer.css("transform","translate("+0+"px, "+0+"px)");setTimeout(function(){that.$body.css(that._getCSS(that.animationSpeed,1));that.$body.css({"transition-property":that.$body.css("transition-property")+", margin"});that.$jconfirmBoxContainer.addClass("jconfirm-no-transition");that._modalReady.resolve();if(typeof that.onOpen==="function"){that.onOpen();}that.$el.addClass(that.loadedClass);},this.animationSpeed);},loadedClass:"jconfirm-open",isClosed:function(){return !this.$el||this.$el.css("display")==="";},isOpen:function(){return !this.isClosed();},toggle:function(){if(!this.isOpen()){this.open();}else{this.close();}}};jconfirm.instances=[];jconfirm.lastFocused=false;jconfirm.pluginDefaults={template:'<div class="jconfirm"><div class="jconfirm-bg jconfirm-bg-h"></div><div class="jconfirm-scrollpane"><div class="jconfirm-row"><div class="jconfirm-cell"><div class="jconfirm-holder"><div class="jc-bs3-container"><div class="jc-bs3-row"><div class="jconfirm-box-container jconfirm-animated"><div class="jconfirm-box" role="dialog" aria-labelledby="labelled" tabindex="-1"><div class="jconfirm-closeIcon">&times;</div><div class="jconfirm-title-c"><span class="jconfirm-icon-c"></span><span class="jconfirm-title"></span></div><div class="jconfirm-content-pane"><div class="jconfirm-content"></div></div><div class="jconfirm-buttons"></div><div class="jconfirm-clear"></div></div></div></div></div></div></div></div></div></div>',title:"Hello",titleClass:"",type:"default",typeAnimated:true,draggable:true,dragWindowGap:15,dragWindowBorder:true,animateFromElement:true,alignMiddle:true,smoothContent:true,content:"Are you sure to continue?",buttons:{},defaultButtons:{ok:{action:function(){}},close:{action:function(){}}},contentLoaded:function(){},icon:"",lazyOpen:false,bgOpacity:null,theme:"light",animation:"scale",closeAnimation:"scale",animationSpeed:400,animationBounce:1,escapeKey:true,rtl:false,container:"body",containerFluid:false,backgroundDismiss:false,backgroundDismissAnimation:"shake",autoClose:false,closeIcon:null,closeIconClass:false,watchInterval:100,columnClass:"col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1",boxWidth:"50%",scrollToPreviousElement:true,scrollToPreviousElementAnimate:true,useBootstrap:true,offsetTop:40,offsetBottom:40,bootstrapClasses:{container:"container",containerFluid:"container-fluid",row:"row"},onContentReady:function(){},onOpenBefore:function(){},onOpen:function(){},onClose:function(){},onDestroy:function(){},onAction:function(){}};var keyDown=false;$(window).on("keydown",function(e){if(!keyDown){var $target=$(e.target);var pass=false;if($target.closest(".jconfirm-box").length){pass=true;}if(pass){$(window).trigger("jcKeyDown");}keyDown=true;}});$(window).on("keyup",function(){keyDown=false;});jconfirm.lastClicked=false;$(document).on("mousedown","button, a",function(){jconfirm.lastClicked=$(this);});})(jQuery,window);
trunk/assets/js/jquery-tiptip/jquery.tipTip.js ADDED
@@ -0,0 +1,191 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * TipTip
3
+ * Copyright 2010 Drew Wilson
4
+ * www.drewwilson.com
5
+ * code.drewwilson.com/entry/tiptip-jquery-plugin
6
+ *
7
+ * Version 1.3 - Updated: Mar. 23, 2010
8
+ *
9
+ * This Plug-In will create a custom tooltip to replace the default
10
+ * browser tooltip. It is extremely lightweight and very smart in
11
+ * that it detects the edges of the browser window and will make sure
12
+ * the tooltip stays within the current window size. As a result the
13
+ * tooltip will adjust itself to be displayed above, below, to the left
14
+ * or to the right depending on what is necessary to stay within the
15
+ * browser window. It is completely customizable as well via CSS.
16
+ *
17
+ * This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses:
18
+ * http://www.opensource.org/licenses/mit-license.php
19
+ * http://www.gnu.org/licenses/gpl.html
20
+ */
21
+
22
+ (function($){
23
+ $.fn.tipTip = function(options) {
24
+ var defaults = {
25
+ activation: "hover",
26
+ keepAlive: false,
27
+ maxWidth: "200px",
28
+ edgeOffset: 3,
29
+ defaultPosition: "bottom",
30
+ delay: 400,
31
+ fadeIn: 200,
32
+ fadeOut: 200,
33
+ attribute: "title",
34
+ content: false, // HTML or String to fill TipTIp with
35
+ enter: function(){},
36
+ exit: function(){}
37
+ };
38
+ var opts = $.extend(defaults, options);
39
+
40
+ // Setup tip tip elements and render them to the DOM
41
+ if($("#tiptip_holder").length <= 0){
42
+ var tiptip_holder = $('<div id="tiptip_holder" style="max-width:'+ opts.maxWidth +';"></div>');
43
+ var tiptip_content = $('<div id="tiptip_content"></div>');
44
+ var tiptip_arrow = $('<div id="tiptip_arrow"></div>');
45
+ $("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('<div id="tiptip_arrow_inner"></div>')));
46
+ } else {
47
+ var tiptip_holder = $("#tiptip_holder");
48
+ var tiptip_content = $("#tiptip_content");
49
+ var tiptip_arrow = $("#tiptip_arrow");
50
+ }
51
+
52
+ return this.each(function(){
53
+ var org_elem = $(this);
54
+ if(opts.content){
55
+ var org_title = opts.content;
56
+ } else {
57
+ var org_title = org_elem.attr(opts.attribute);
58
+ }
59
+ if(org_title != ""){
60
+ if(!opts.content){
61
+ org_elem.removeAttr(opts.attribute); //remove original Attribute
62
+ }
63
+ var timeout = false;
64
+
65
+ if(opts.activation == "hover"){
66
+ org_elem.hover(function(){
67
+ active_tiptip();
68
+ }, function(){
69
+ if(!opts.keepAlive){
70
+ deactive_tiptip();
71
+ }
72
+ });
73
+ if(opts.keepAlive){
74
+ tiptip_holder.hover(function(){}, function(){
75
+ deactive_tiptip();
76
+ });
77
+ }
78
+ } else if(opts.activation == "focus"){
79
+ org_elem.focus(function(){
80
+ active_tiptip();
81
+ }).blur(function(){
82
+ deactive_tiptip();
83
+ });
84
+ } else if(opts.activation == "click"){
85
+ org_elem.click(function(){
86
+ active_tiptip();
87
+ return false;
88
+ }).hover(function(){},function(){
89
+ if(!opts.keepAlive){
90
+ deactive_tiptip();
91
+ }
92
+ });
93
+ if(opts.keepAlive){
94
+ tiptip_holder.hover(function(){}, function(){
95
+ deactive_tiptip();
96
+ });
97
+ }
98
+ }
99
+
100
+ function active_tiptip(){
101
+ opts.enter.call(this);
102
+ tiptip_content.html(org_title);
103
+ tiptip_holder.hide().removeAttr("class").css("margin","0");
104
+ tiptip_arrow.removeAttr("style");
105
+
106
+ var top = parseInt(org_elem.offset()['top']);
107
+ var left = parseInt(org_elem.offset()['left']);
108
+ var org_width = parseInt(org_elem.outerWidth());
109
+ var org_height = parseInt(org_elem.outerHeight());
110
+ var tip_w = tiptip_holder.outerWidth();
111
+ var tip_h = tiptip_holder.outerHeight();
112
+ var w_compare = Math.round((org_width - tip_w) / 2);
113
+ var h_compare = Math.round((org_height - tip_h) / 2);
114
+ var marg_left = Math.round(left + w_compare);
115
+ var marg_top = Math.round(top + org_height + opts.edgeOffset);
116
+ var t_class = "";
117
+ var arrow_top = "";
118
+ var arrow_left = Math.round(tip_w - 12) / 2;
119
+
120
+ if(opts.defaultPosition == "bottom"){
121
+ t_class = "_bottom";
122
+ } else if(opts.defaultPosition == "top"){
123
+ t_class = "_top";
124
+ } else if(opts.defaultPosition == "left"){
125
+ t_class = "_left";
126
+ } else if(opts.defaultPosition == "right"){
127
+ t_class = "_right";
128
+ }
129
+
130
+ var right_compare = (w_compare + left) < parseInt($(window).scrollLeft());
131
+ var left_compare = (tip_w + left) > parseInt($(window).width());
132
+
133
+ if((right_compare && w_compare < 0) || (t_class == "_right" && !left_compare) || (t_class == "_left" && left < (tip_w + opts.edgeOffset + 5))){
134
+ t_class = "_right";
135
+ arrow_top = Math.round(tip_h - 13) / 2;
136
+ arrow_left = -12;
137
+ marg_left = Math.round(left + org_width + opts.edgeOffset);
138
+ marg_top = Math.round(top + h_compare);
139
+ } else if((left_compare && w_compare < 0) || (t_class == "_left" && !right_compare)){
140
+ t_class = "_left";
141
+ arrow_top = Math.round(tip_h - 13) / 2;
142
+ arrow_left = Math.round(tip_w);
143
+ marg_left = Math.round(left - (tip_w + opts.edgeOffset + 5));
144
+ marg_top = Math.round(top + h_compare);
145
+ }
146
+
147
+ var top_compare = (top + org_height + opts.edgeOffset + tip_h + 8) > parseInt($(window).height() + $(window).scrollTop());
148
+ var bottom_compare = ((top + org_height) - (opts.edgeOffset + tip_h + 8)) < 0;
149
+
150
+ if(top_compare || (t_class == "_bottom" && top_compare) || (t_class == "_top" && !bottom_compare)){
151
+ if(t_class == "_top" || t_class == "_bottom"){
152
+ t_class = "_top";
153
+ } else {
154
+ t_class = t_class+"_top";
155
+ }
156
+ arrow_top = tip_h;
157
+ marg_top = Math.round(top - (tip_h + 5 + opts.edgeOffset));
158
+ } else if(bottom_compare | (t_class == "_top" && bottom_compare) || (t_class == "_bottom" && !top_compare)){
159
+ if(t_class == "_top" || t_class == "_bottom"){
160
+ t_class = "_bottom";
161
+ } else {
162
+ t_class = t_class+"_bottom";
163
+ }
164
+ arrow_top = -12;
165
+ marg_top = Math.round(top + org_height + opts.edgeOffset);
166
+ }
167
+
168
+ if(t_class == "_right_top" || t_class == "_left_top"){
169
+ marg_top = marg_top + 5;
170
+ } else if(t_class == "_right_bottom" || t_class == "_left_bottom"){
171
+ marg_top = marg_top - 5;
172
+ }
173
+ if(t_class == "_left_top" || t_class == "_left_bottom"){
174
+ marg_left = marg_left + 5;
175
+ }
176
+ tiptip_arrow.css({"margin-left": arrow_left+"px", "margin-top": arrow_top+"px"});
177
+ tiptip_holder.css({"margin-left": marg_left+"px", "margin-top": marg_top+"px"}).attr("class","tip"+t_class);
178
+
179
+ if (timeout){ clearTimeout(timeout); }
180
+ timeout = setTimeout(function(){ tiptip_holder.stop(true,true).fadeIn(opts.fadeIn); }, opts.delay);
181
+ }
182
+
183
+ function deactive_tiptip(){
184
+ opts.exit.call(this);
185
+ if (timeout){ clearTimeout(timeout); }
186
+ tiptip_holder.fadeOut(opts.fadeOut);
187
+ }
188
+ }
189
+ });
190
+ }
191
+ })(jQuery);
trunk/assets/js/jquery-tiptip/jquery.tipTip.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(t){t.fn.tipTip=function(e){var o=t.extend({activation:"hover",keepAlive:!1,maxWidth:"200px",edgeOffset:3,defaultPosition:"bottom",delay:400,fadeIn:200,fadeOut:200,attribute:"title",content:!1,enter:function(){},exit:function(){}},e);if(t("#tiptip_holder").length<=0){var i=t('<div id="tiptip_holder" style="max-width:'+o.maxWidth+';"></div>'),n=t('<div id="tiptip_content"></div>'),r=t('<div id="tiptip_arrow"></div>');t("body").append(i.html(n).prepend(r.html('<div id="tiptip_arrow_inner"></div>')))}else i=t("#tiptip_holder"),n=t("#tiptip_content"),r=t("#tiptip_arrow");return this.each(function(){function e(){o.enter.call(this),n.html(d),i.hide().removeAttr("class").css("margin","0"),r.removeAttr("style");var e=parseInt(f.offset().top),a=parseInt(f.offset().left),p=parseInt(f.outerWidth()),l=parseInt(f.outerHeight()),h=i.outerWidth(),c=i.outerHeight(),s=Math.round((p-h)/2),_=Math.round((l-c)/2),v=Math.round(a+s),m=Math.round(e+l+o.edgeOffset),g="",b="",M=Math.round(h-12)/2;"bottom"==o.defaultPosition?g="_bottom":"top"==o.defaultPosition?g="_top":"left"==o.defaultPosition?g="_left":"right"==o.defaultPosition&&(g="_right");var w=s+a<parseInt(t(window).scrollLeft()),O=h+a>parseInt(t(window).width());w&&s<0||"_right"==g&&!O||"_left"==g&&a<h+o.edgeOffset+5?(g="_right",b=Math.round(c-13)/2,M=-12,v=Math.round(a+p+o.edgeOffset),m=Math.round(e+_)):(O&&s<0||"_left"==g&&!w)&&(g="_left",b=Math.round(c-13)/2,M=Math.round(h),v=Math.round(a-(h+o.edgeOffset+5)),m=Math.round(e+_));var x=e+l+o.edgeOffset+c+8>parseInt(t(window).height()+t(window).scrollTop()),I=e+l-(o.edgeOffset+c+8)<0;x||"_bottom"==g&&x||"_top"==g&&!I?("_top"==g||"_bottom"==g?g="_top":g+="_top",b=c,m=Math.round(e-(c+5+o.edgeOffset))):(I|("_top"==g&&I)||"_bottom"==g&&!x)&&("_top"==g||"_bottom"==g?g="_bottom":g+="_bottom",b=-12,m=Math.round(e+l+o.edgeOffset)),"_right_top"==g||"_left_top"==g?m+=5:"_right_bottom"!=g&&"_left_bottom"!=g||(m-=5),"_left_top"!=g&&"_left_bottom"!=g||(v+=5),r.css({"margin-left":M+"px","margin-top":b+"px"}),i.css({"margin-left":v+"px","margin-top":m+"px"}).attr("class","tip"+g),u&&clearTimeout(u),u=setTimeout(function(){i.stop(!0,!0).fadeIn(o.fadeIn)},o.delay)}function a(){o.exit.call(this),u&&clearTimeout(u),i.fadeOut(o.fadeOut)}var f=t(this);if(o.content)var d=o.content;else d=f.attr(o.attribute);if(""!=d){o.content||f.removeAttr(o.attribute);var u=!1;"hover"==o.activation?(f.hover(function(){e()},function(){o.keepAlive||a()}),o.keepAlive&&i.hover(function(){},function(){a()})):"focus"==o.activation?f.focus(function(){e()}).blur(function(){a()}):"click"==o.activation&&(f.click(function(){return e(),!1}).hover(function(){},function(){o.keepAlive||a()}),o.keepAlive&&i.hover(function(){},function(){a()}))}})}}(jQuery);
trunk/assets/js/jquery-validate/jquery.validate.js ADDED
@@ -0,0 +1,1601 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery Validation Plugin v1.17.0
3
+ *
4
+ * https://jqueryvalidation.org/
5
+ *
6
+ * Copyright (c) 2017 Jörn Zaefferer
7
+ * Released under the MIT license
8
+ */
9
+ (function( factory ) {
10
+ if ( typeof define === "function" && define.amd ) {
11
+ define( ["jquery"], factory );
12
+ } else if (typeof module === "object" && module.exports) {
13
+ module.exports = factory( require( "jquery" ) );
14
+ } else {
15
+ factory( jQuery );
16
+ }
17
+ }(function( $ ) {
18
+
19
+ $.extend( $.fn, {
20
+
21
+ // https://jqueryvalidation.org/validate/
22
+ validate: function( options ) {
23
+
24
+ // If nothing is selected, return nothing; can't chain anyway
25
+ if ( !this.length ) {
26
+ if ( options && options.debug && window.console ) {
27
+ console.warn( "Nothing selected, can't validate, returning nothing." );
28
+ }
29
+ return;
30
+ }
31
+
32
+ // Check if a validator for this form was already created
33
+ var validator = $.data( this[ 0 ], "validator" );
34
+ if ( validator ) {
35
+ return validator;
36
+ }
37
+
38
+ // Add novalidate tag if HTML5.
39
+ this.attr( "novalidate", "novalidate" );
40
+
41
+ validator = new $.validator( options, this[ 0 ] );
42
+ $.data( this[ 0 ], "validator", validator );
43
+
44
+ if ( validator.settings.onsubmit ) {
45
+
46
+ this.on( "click.validate", ":submit", function( event ) {
47
+
48
+ // Track the used submit button to properly handle scripted
49
+ // submits later.
50
+ validator.submitButton = event.currentTarget;
51
+
52
+ // Allow suppressing validation by adding a cancel class to the submit button
53
+ if ( $( this ).hasClass( "cancel" ) ) {
54
+ validator.cancelSubmit = true;
55
+ }
56
+
57
+ // Allow suppressing validation by adding the html5 formnovalidate attribute to the submit button
58
+ if ( $( this ).attr( "formnovalidate" ) !== undefined ) {
59
+ validator.cancelSubmit = true;
60
+ }
61
+ } );
62
+
63
+ // Validate the form on submit
64
+ this.on( "submit.validate", function( event ) {
65
+ if ( validator.settings.debug ) {
66
+
67
+ // Prevent form submit to be able to see console output
68
+ event.preventDefault();
69
+ }
70
+ function handle() {
71
+ var hidden, result;
72
+
73
+ // Insert a hidden input as a replacement for the missing submit button
74
+ // The hidden input is inserted in two cases:
75
+ // - A user defined a `submitHandler`
76
+ // - There was a pending request due to `remote` method and `stopRequest()`
77
+ // was called to submit the form in case it's valid
78
+ if ( validator.submitButton && ( validator.settings.submitHandler || validator.formSubmitted ) ) {
79
+ hidden = $( "<input type='hidden'/>" )
80
+ .attr( "name", validator.submitButton.name )
81
+ .val( $( validator.submitButton ).val() )
82
+ .appendTo( validator.currentForm );
83
+ }
84
+
85
+ if ( validator.settings.submitHandler ) {
86
+ result = validator.settings.submitHandler.call( validator, validator.currentForm, event );
87
+ if ( hidden ) {
88
+
89
+ // And clean up afterwards; thanks to no-block-scope, hidden can be referenced
90
+ hidden.remove();
91
+ }
92
+ if ( result !== undefined ) {
93
+ return result;
94
+ }
95
+ return false;
96
+ }
97
+ return true;
98
+ }
99
+
100
+ // Prevent submit for invalid forms or custom submit handlers
101
+ if ( validator.cancelSubmit ) {
102
+ validator.cancelSubmit = false;
103
+ return handle();
104
+ }
105
+ if ( validator.form() ) {
106
+ if ( validator.pendingRequest ) {
107
+ validator.formSubmitted = true;
108
+ return false;
109
+ }
110
+ return handle();
111
+ } else {
112
+ validator.focusInvalid();
113
+ return false;
114
+ }
115
+ } );
116
+ }
117
+
118
+ return validator;
119
+ },
120
+
121
+ // https://jqueryvalidation.org/valid/
122
+ valid: function() {
123
+ var valid, validator, errorList;
124
+
125
+ if ( $( this[ 0 ] ).is( "form" ) ) {
126
+ valid = this.validate().form();
127
+ } else {
128
+ errorList = [];
129
+ valid = true;
130
+ validator = $( this[ 0 ].form ).validate();
131
+ this.each( function() {
132
+ valid = validator.element( this ) && valid;
133
+ if ( !valid ) {
134
+ errorList = errorList.concat( validator.errorList );
135
+ }
136
+ } );
137
+ validator.errorList = errorList;
138
+ }
139
+ return valid;
140
+ },
141
+
142
+ // https://jqueryvalidation.org/rules/
143
+ rules: function( command, argument ) {
144
+ var element = this[ 0 ],
145
+ settings, staticRules, existingRules, data, param, filtered;
146
+
147
+ // If nothing is selected, return empty object; can't chain anyway
148
+ if ( element == null ) {
149
+ return;
150
+ }
151
+
152
+ if ( !element.form && element.hasAttribute( "contenteditable" ) ) {
153
+ element.form = this.closest( "form" )[ 0 ];
154
+ element.name = this.attr( "name" );
155
+ }
156
+
157
+ if ( element.form == null ) {
158
+ return;
159
+ }
160
+
161
+ if ( command ) {
162
+ settings = $.data( element.form, "validator" ).settings;
163
+ staticRules = settings.rules;
164
+ existingRules = $.validator.staticRules( element );
165
+ switch ( command ) {
166
+ case "add":
167
+ $.extend( existingRules, $.validator.normalizeRule( argument ) );
168
+
169
+ // Remove messages from rules, but allow them to be set separately
170
+ delete existingRules.messages;
171
+ staticRules[ element.name ] = existingRules;
172
+ if ( argument.messages ) {
173
+ settings.messages[ element.name ] = $.extend( settings.messages[ element.name ], argument.messages );
174
+ }
175
+ break;
176
+ case "remove":
177
+ if ( !argument ) {
178
+ delete staticRules[ element.name ];
179
+ return existingRules;
180
+ }
181
+ filtered = {};
182
+ $.each( argument.split( /\s/ ), function( index, method ) {
183
+ filtered[ method ] = existingRules[ method ];
184
+ delete existingRules[ method ];
185
+ } );
186
+ return filtered;
187
+ }
188
+ }
189
+
190
+ data = $.validator.normalizeRules(
191
+ $.extend(
192
+ {},
193
+ $.validator.classRules( element ),
194
+ $.validator.attributeRules( element ),
195
+ $.validator.dataRules( element ),
196
+ $.validator.staticRules( element )
197
+ ), element );
198
+
199
+ // Make sure required is at front
200
+ if ( data.required ) {
201
+ param = data.required;
202
+ delete data.required;
203
+ data = $.extend( { required: param }, data );
204
+ }
205
+
206
+ // Make sure remote is at back
207
+ if ( data.remote ) {
208
+ param = data.remote;
209
+ delete data.remote;
210
+ data = $.extend( data, { remote: param } );
211
+ }
212
+
213
+ return data;
214
+ }
215
+ } );
216
+
217
+ // Custom selectors
218
+ $.extend( $.expr.pseudos || $.expr[ ":" ], { // '|| $.expr[ ":" ]' here enables backwards compatibility to jQuery 1.7. Can be removed when dropping jQ 1.7.x support
219
+
220
+ // https://jqueryvalidation.org/blank-selector/
221
+ blank: function( a ) {
222
+ return !$.trim( "" + $( a ).val() );
223
+ },
224
+
225
+ // https://jqueryvalidation.org/filled-selector/
226
+ filled: function( a ) {
227
+ var val = $( a ).val();
228
+ return val !== null && !!$.trim( "" + val );
229
+ },
230
+
231
+ // https://jqueryvalidation.org/unchecked-selector/
232
+ unchecked: function( a ) {
233
+ return !$( a ).prop( "checked" );
234
+ }
235
+ } );
236
+
237
+ // Constructor for validator
238
+ $.validator = function( options, form ) {
239
+ this.settings = $.extend( true, {}, $.validator.defaults, options );
240
+ this.currentForm = form;
241
+ this.init();
242
+ };
243
+
244
+ // https://jqueryvalidation.org/jQuery.validator.format/
245
+ $.validator.format = function( source, params ) {
246
+ if ( arguments.length === 1 ) {
247
+ return function() {
248
+ var args = $.makeArray( arguments );
249
+ args.unshift( source );
250
+ return $.validator.format.apply( this, args );
251
+ };
252
+ }
253
+ if ( params === undefined ) {
254
+ return source;
255
+ }
256
+ if ( arguments.length > 2 && params.constructor !== Array ) {
257
+ params = $.makeArray( arguments ).slice( 1 );
258
+ }
259
+ if ( params.constructor !== Array ) {
260
+ params = [ params ];
261
+ }
262
+ $.each( params, function( i, n ) {
263
+ source = source.replace( new RegExp( "\\{" + i + "\\}", "g" ), function() {
264
+ return n;
265
+ } );
266
+ } );
267
+ return source;
268
+ };
269
+
270
+ $.extend( $.validator, {
271
+
272
+ defaults: {
273
+ messages: {},
274
+ groups: {},
275
+ rules: {},
276
+ errorClass: "error",
277
+ pendingClass: "pending",
278
+ validClass: "valid",
279
+ errorElement: "label",
280
+ focusCleanup: false,
281
+ focusInvalid: true,
282
+ errorContainer: $( [] ),
283
+ errorLabelContainer: $( [] ),
284
+ onsubmit: true,
285
+ ignore: ":hidden",
286
+ ignoreTitle: false,
287
+ onfocusin: function( element ) {
288
+ this.lastActive = element;
289
+
290
+ // Hide error label and remove error class on focus if enabled
291
+ if ( this.settings.focusCleanup ) {
292
+ if ( this.settings.unhighlight ) {
293
+ this.settings.unhighlight.call( this, element, this.settings.errorClass, this.settings.validClass );
294
+ }
295
+ this.hideThese( this.errorsFor( element ) );
296
+ }
297
+ },
298
+ onfocusout: function( element ) {
299
+ if ( !this.checkable( element ) && ( element.name in this.submitted || !this.optional( element ) ) ) {
300
+ this.element( element );
301
+ }
302
+ },
303
+ onkeyup: function( element, event ) {
304
+
305
+ // Avoid revalidate the field when pressing one of the following keys
306
+ // Shift => 16
307
+ // Ctrl => 17
308
+ // Alt => 18
309
+ // Caps lock => 20
310
+ // End => 35
311
+ // Home => 36
312
+ // Left arrow => 37
313
+ // Up arrow => 38
314
+ // Right arrow => 39
315
+ // Down arrow => 40
316
+ // Insert => 45
317
+ // Num lock => 144
318
+ // AltGr key => 225
319
+ var excludedKeys = [
320
+ 16, 17, 18, 20, 35, 36, 37,
321
+ 38, 39, 40, 45, 144, 225
322
+ ];
323
+
324
+ if ( event.which === 9 && this.elementValue( element ) === "" || $.inArray( event.keyCode, excludedKeys ) !== -1 ) {
325
+ return;
326
+ } else if ( element.name in this.submitted || element.name in this.invalid ) {
327
+ this.element( element );
328
+ }
329
+ },
330
+ onclick: function( element ) {
331
+
332
+ // Click on selects, radiobuttons and checkboxes
333
+ if ( element.name in this.submitted ) {
334
+ this.element( element );
335
+
336
+ // Or option elements, check parent select in that case
337
+ } else if ( element.parentNode.name in this.submitted ) {
338
+ this.element( element.parentNode );
339
+ }
340
+ },
341
+ highlight: function( element, errorClass, validClass ) {
342
+ if ( element.type === "radio" ) {
343
+ this.findByName( element.name ).addClass( errorClass ).removeClass( validClass );
344
+ } else {
345
+ $( element ).addClass( errorClass ).removeClass( validClass );
346
+ }
347
+ },
348
+ unhighlight: function( element, errorClass, validClass ) {
349
+ if ( element.type === "radio" ) {
350
+ this.findByName( element.name ).removeClass( errorClass ).addClass( validClass );
351
+ } else {
352
+ $( element ).removeClass( errorClass ).addClass( validClass );
353
+ }
354
+ }
355
+ },
356
+
357
+ // https://jqueryvalidation.org/jQuery.validator.setDefaults/
358
+ setDefaults: function( settings ) {
359
+ $.extend( $.validator.defaults, settings );
360
+ },
361
+
362
+ messages: {
363
+ required: "This field is required.",
364
+ remote: "Please fix this field.",
365
+ email: "Please enter a valid email address.",
366
+ url: "Please enter a valid URL.",
367
+ date: "Please enter a valid date.",
368
+ dateISO: "Please enter a valid date (ISO).",
369
+ number: "Please enter a valid number.",
370
+ digits: "Please enter only digits.",
371
+ equalTo: "Please enter the same value again.",
372
+ maxlength: $.validator.format( "Please enter no more than {0} characters." ),
373
+ minlength: $.validator.format( "Please enter at least {0} characters." ),
374
+ rangelength: $.validator.format( "Please enter a value between {0} and {1} characters long." ),
375
+ range: $.validator.format( "Please enter a value between {0} and {1}." ),
376
+ max: $.validator.format( "Please enter a value less than or equal to {0}." ),
377
+ min: $.validator.format( "Please enter a value greater than or equal to {0}." ),
378
+ step: $.validator.format( "Please enter a multiple of {0}." )
379
+ },
380
+
381
+ autoCreateRanges: false,
382
+
383
+ prototype: {
384
+
385
+ init: function() {
386
+ this.labelContainer = $( this.settings.errorLabelContainer );
387
+ this.errorContext = this.labelContainer.length && this.labelContainer || $( this.currentForm );
388
+ this.containers = $( this.settings.errorContainer ).add( this.settings.errorLabelContainer );
389
+ this.submitted = {};
390
+ this.valueCache = {};
391
+ this.pendingRequest = 0;
392
+ this.pending = {};
393
+ this.invalid = {};
394
+ this.reset();
395
+
396
+ var groups = ( this.groups = {} ),
397
+ rules;
398
+ $.each( this.settings.groups, function( key, value ) {
399
+ if ( typeof value === "string" ) {
400
+ value = value.split( /\s/ );
401
+ }
402
+ $.each( value, function( index, name ) {
403
+ groups[ name ] = key;
404
+ } );
405
+ } );
406
+ rules = this.settings.rules;
407
+ $.each( rules, function( key, value ) {
408
+ rules[ key ] = $.validator.normalizeRule( value );
409
+ } );
410
+
411
+ function delegate( event ) {
412
+
413
+ // Set form expando on contenteditable
414
+ if ( !this.form && this.hasAttribute( "contenteditable" ) ) {
415
+ this.form = $( this ).closest( "form" )[ 0 ];
416
+ this.name = $( this ).attr( "name" );
417
+ }
418
+
419
+ var validator = $.data( this.form, "validator" ),
420
+ eventType = "on" + event.type.replace( /^validate/, "" ),
421
+ settings = validator.settings;
422
+ if ( settings[ eventType ] && !$( this ).is( settings.ignore ) ) {
423
+ settings[ eventType ].call( validator, this, event );
424
+ }
425
+ }
426
+
427
+ $( this.currentForm )
428
+ .on( "focusin.validate focusout.validate keyup.validate",
429
+ ":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], " +
430
+ "[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], " +
431
+ "[type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], " +
432
+ "[type='radio'], [type='checkbox'], [contenteditable], [type='button']", delegate )
433
+
434
+ // Support: Chrome, oldIE
435
+ // "select" is provided as event.target when clicking a option
436
+ .on( "click.validate", "select, option, [type='radio'], [type='checkbox']", delegate );
437
+
438
+ if ( this.settings.invalidHandler ) {
439
+ $( this.currentForm ).on( "invalid-form.validate", this.settings.invalidHandler );
440
+ }
441
+ },
442
+
443
+ // https://jqueryvalidation.org/Validator.form/
444
+ form: function() {
445
+ this.checkForm();
446
+ $.extend( this.submitted, this.errorMap );
447
+ this.invalid = $.extend( {}, this.errorMap );
448
+ if ( !this.valid() ) {
449
+ $( this.currentForm ).triggerHandler( "invalid-form", [ this ] );
450
+ }
451
+ this.showErrors();
452
+ return this.valid();
453
+ },
454
+
455
+ checkForm: function() {
456
+ this.prepareForm();
457
+ for ( var i = 0, elements = ( this.currentElements = this.elements() ); elements[ i ]; i++ ) {
458
+ this.check( elements[ i ] );
459
+ }
460
+ return this.valid();
461
+ },
462
+
463
+ // https://jqueryvalidation.org/Validator.element/
464
+ element: function( element ) {
465
+ var cleanElement = this.clean( element ),
466
+ checkElement = this.validationTargetFor( cleanElement ),
467
+ v = this,
468
+ result = true,
469
+ rs, group;
470
+
471
+ if ( checkElement === undefined ) {
472
+ delete this.invalid[ cleanElement.name ];
473
+ } else {
474
+ this.prepareElement( checkElement );
475
+ this.currentElements = $( checkElement );
476
+
477
+ // If this element is grouped, then validate all group elements already
478
+ // containing a value
479
+ group = this.groups[ checkElement.name ];
480
+ if ( group ) {
481
+ $.each( this.groups, function( name, testgroup ) {
482
+ if ( testgroup === group && name !== checkElement.name ) {
483
+ cleanElement = v.validationTargetFor( v.clean( v.findByName( name ) ) );
484
+ if ( cleanElement && cleanElement.name in v.invalid ) {
485
+ v.currentElements.push( cleanElement );
486
+ result = v.check( cleanElement ) && result;
487
+ }
488
+ }
489
+ } );
490
+ }
491
+
492
+ rs = this.check( checkElement ) !== false;
493
+ result = result && rs;
494
+ if ( rs ) {
495
+ this.invalid[ checkElement.name ] = false;
496
+ } else {
497
+ this.invalid[ checkElement.name ] = true;
498
+ }
499
+
500
+ if ( !this.numberOfInvalids() ) {
501
+
502
+ // Hide error containers on last error
503
+ this.toHide = this.toHide.add( this.containers );
504
+ }
505
+ this.showErrors();
506
+
507
+ // Add aria-invalid status for screen readers
508
+ $( element ).attr( "aria-invalid", !rs );
509
+ }
510
+
511
+ return result;
512
+ },
513
+
514
+ // https://jqueryvalidation.org/Validator.showErrors/
515
+ showErrors: function( errors ) {
516
+ if ( errors ) {
517
+ var validator = this;
518
+
519
+ // Add items to error list and map
520
+ $.extend( this.errorMap, errors );
521
+ this.errorList = $.map( this.errorMap, function( message, name ) {
522
+ return {
523
+ message: message,
524
+ element: validator.findByName( name )[ 0 ]
525
+ };
526
+ } );
527
+
528
+ // Remove items from success list
529
+ this.successList = $.grep( this.successList, function( element ) {
530
+ return !( element.name in errors );
531
+ } );
532
+ }
533
+ if ( this.settings.showErrors ) {
534
+ this.settings.showErrors.call( this, this.errorMap, this.errorList );
535
+ } else {
536
+ this.defaultShowErrors();
537
+ }
538
+ },
539
+
540
+ // https://jqueryvalidation.org/Validator.resetForm/
541
+ resetForm: function() {
542
+ if ( $.fn.resetForm ) {
543
+ $( this.currentForm ).resetForm();
544
+ }
545
+ this.invalid = {};
546
+ this.submitted = {};
547
+ this.prepareForm();
548
+ this.hideErrors();
549
+ var elements = this.elements()
550
+ .removeData( "previousValue" )
551
+ .removeAttr( "aria-invalid" );
552
+
553
+ this.resetElements( elements );
554
+ },
555
+
556
+ resetElements: function( elements ) {
557
+ var i;
558
+
559
+ if ( this.settings.unhighlight ) {
560
+ for ( i = 0; elements[ i ]; i++ ) {
561
+ this.settings.unhighlight.call( this, elements[ i ],
562
+ this.settings.errorClass, "" );
563
+ this.findByName( elements[ i ].name ).removeClass( this.settings.validClass );
564
+ }
565
+ } else {
566
+ elements
567
+ .removeClass( this.settings.errorClass )
568
+ .removeClass( this.settings.validClass );
569
+ }
570
+ },
571
+
572
+ numberOfInvalids: function() {
573
+ return this.objectLength( this.invalid );
574
+ },
575
+
576
+ objectLength: function( obj ) {
577
+ /* jshint unused: false */
578
+ var count = 0,
579
+ i;
580
+ for ( i in obj ) {
581
+
582
+ // This check allows counting elements with empty error
583
+ // message as invalid elements
584
+ if ( obj[ i ] !== undefined && obj[ i ] !== null && obj[ i ] !== false ) {
585
+ count++;
586
+ }
587
+ }
588
+ return count;
589
+ },
590
+
591
+ hideErrors: function() {
592
+ this.hideThese( this.toHide );
593
+ },
594
+
595
+ hideThese: function( errors ) {
596
+ errors.not( this.containers ).text( "" );
597
+ this.addWrapper( errors ).hide();
598
+ },
599
+
600
+ valid: function() {
601
+ return this.size() === 0;
602
+ },
603
+
604
+ size: function() {
605
+ return this.errorList.length;
606
+ },
607
+
608
+ focusInvalid: function() {
609
+ if ( this.settings.focusInvalid ) {
610
+ try {
611
+ $( this.findLastActive() || this.errorList.length && this.errorList[ 0 ].element || [] )
612
+ .filter( ":visible" )
613
+ .focus()
614
+
615
+ // Manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find
616
+ .trigger( "focusin" );
617
+ } catch ( e ) {
618
+
619
+ // Ignore IE throwing errors when focusing hidden elements
620
+ }
621
+ }
622
+ },
623
+
624
+ findLastActive: function() {
625
+ var lastActive = this.lastActive;
626
+ return lastActive && $.grep( this.errorList, function( n ) {
627
+ return n.element.name === lastActive.name;
628
+ } ).length === 1 && lastActive;
629
+ },
630
+
631
+ elements: function() {
632
+ var validator = this,
633
+ rulesCache = {};
634
+
635
+ // Select all valid inputs inside the form (no submit or reset buttons)
636
+ return $( this.currentForm )
637
+ .find( "input, select, textarea, [contenteditable]" )
638
+ .not( ":submit, :reset, :image, :disabled" )
639
+ .not( this.settings.ignore )
640
+ .filter( function() {
641
+ var name = this.name || $( this ).attr( "name" ); // For contenteditable
642
+ if ( !name && validator.settings.debug && window.console ) {
643
+ console.error( "%o has no name assigned", this );
644
+ }
645
+
646
+ // Set form expando on contenteditable
647
+ if ( this.hasAttribute( "contenteditable" ) ) {
648
+ this.form = $( this ).closest( "form" )[ 0 ];
649
+ this.name = name;
650
+ }
651
+
652
+ // Select only the first element for each name, and only those with rules specified
653
+ if ( name in rulesCache || !validator.objectLength( $( this ).rules() ) ) {
654
+ return false;
655
+ }
656
+
657
+ rulesCache[ name ] = true;
658
+ return true;
659
+ } );
660
+ },
661
+
662
+ clean: function( selector ) {
663
+ return $( selector )[ 0 ];
664
+ },
665
+
666
+ errors: function() {
667
+ var errorClass = this.settings.errorClass.split( " " ).join( "." );
668
+ return $( this.settings.errorElement + "." + errorClass, this.errorContext );
669
+ },
670
+
671
+ resetInternals: function() {
672
+ this.successList = [];
673
+ this.errorList = [];
674
+ this.errorMap = {};
675
+ this.toShow = $( [] );
676
+ this.toHide = $( [] );
677
+ },
678
+
679
+ reset: function() {
680
+ this.resetInternals();
681
+ this.currentElements = $( [] );
682
+ },
683
+
684
+ prepareForm: function() {
685
+ this.reset();
686
+ this.toHide = this.errors().add( this.containers );
687
+ },
688
+
689
+ prepareElement: function( element ) {
690
+ this.reset();
691
+ this.toHide = this.errorsFor( element );
692
+ },
693
+
694
+ elementValue: function( element ) {
695
+ var $element = $( element ),
696
+ type = element.type,
697
+ val, idx;
698
+
699
+ if ( type === "radio" || type === "checkbox" ) {
700
+ return this.findByName( element.name ).filter( ":checked" ).val();
701
+ } else if ( type === "number" && typeof element.validity !== "undefined" ) {
702
+ return element.validity.badInput ? "NaN" : $element.val();
703
+ }
704
+
705
+ if ( element.hasAttribute( "contenteditable" ) ) {
706
+ val = $element.text();
707
+ } else {
708
+ val = $element.val();
709
+ }
710
+
711
+ if ( type === "file" ) {
712
+
713
+ // Modern browser (chrome & safari)
714
+ if ( val.substr( 0, 12 ) === "C:\\fakepath\\" ) {
715
+ return val.substr( 12 );
716
+ }
717
+
718
+ // Legacy browsers
719
+ // Unix-based path
720
+ idx = val.lastIndexOf( "/" );
721
+ if ( idx >= 0 ) {
722
+ return val.substr( idx + 1 );
723
+ }
724
+
725
+ // Windows-based path
726
+ idx = val.lastIndexOf( "\\" );
727
+ if ( idx >= 0 ) {
728
+ return val.substr( idx + 1 );
729
+ }
730
+
731
+ // Just the file name
732
+ return val;
733
+ }
734
+
735
+ if ( typeof val === "string" ) {
736
+ return val.replace( /\r/g, "" );
737
+ }
738
+ return val;
739
+ },
740
+
741
+ check: function( element ) {
742
+ element = this.validationTargetFor( this.clean( element ) );
743
+
744
+ var rules = $( element ).rules(),
745
+ rulesCount = $.map( rules, function( n, i ) {
746
+ return i;
747
+ } ).length,
748
+ dependencyMismatch = false,
749
+ val = this.elementValue( element ),
750
+ result, method, rule, normalizer;
751
+
752
+ // Prioritize the local normalizer defined for this element over the global one
753
+ // if the former exists, otherwise user the global one in case it exists.
754
+ if ( typeof rules.normalizer === "function" ) {
755
+ normalizer = rules.normalizer;
756
+ } else if ( typeof this.settings.normalizer === "function" ) {
757
+ normalizer = this.settings.normalizer;
758
+ }
759
+
760
+ // If normalizer is defined, then call it to retreive the changed value instead
761
+ // of using the real one.
762
+ // Note that `this` in the normalizer is `element`.
763
+ if ( normalizer ) {
764
+ val = normalizer.call( element, val );
765
+
766
+ if ( typeof val !== "string" ) {
767
+ throw new TypeError( "The normalizer should return a string value." );
768
+ }
769
+
770
+ // Delete the normalizer from rules to avoid treating it as a pre-defined method.
771
+ delete rules.normalizer;
772
+ }
773
+
774
+ for ( method in rules ) {
775
+ rule = { method: method, parameters: rules[ method ] };
776
+ try {
777
+ result = $.validator.methods[ method ].call( this, val, element, rule.parameters );
778
+
779
+ // If a method indicates that the field is optional and therefore valid,
780
+ // don't mark it as valid when there are no other rules
781
+ if ( result === "dependency-mismatch" && rulesCount === 1 ) {
782
+ dependencyMismatch = true;
783
+ continue;
784
+ }
785
+ dependencyMismatch = false;
786
+
787
+ if ( result === "pending" ) {
788
+ this.toHide = this.toHide.not( this.errorsFor( element ) );
789
+ return;
790
+ }
791
+
792
+ if ( !result ) {
793
+ this.formatAndAdd( element, rule );
794
+ return false;
795
+ }
796
+ } catch ( e ) {
797
+ if ( this.settings.debug && window.console ) {
798
+ console.log( "Exception occurred when checking element " + element.id + ", check the '" + rule.method + "' method.", e );
799
+ }
800
+ if ( e instanceof TypeError ) {
801
+ e.message += ". Exception occurred when checking element " + element.id + ", check the '" + rule.method + "' method.";
802
+ }
803
+
804
+ throw e;
805
+ }
806
+ }
807
+ if ( dependencyMismatch ) {
808
+ return;
809
+ }
810
+ if ( this.objectLength( rules ) ) {
811
+ this.successList.push( element );
812
+ }
813
+ return true;
814
+ },
815
+
816
+ // Return the custom message for the given element and validation method
817
+ // specified in the element's HTML5 data attribute
818
+ // return the generic message if present and no method specific message is present
819
+ customDataMessage: function( element, method ) {
820
+ return $( element ).data( "msg" + method.charAt( 0 ).toUpperCase() +
821
+ method.substring( 1 ).toLowerCase() ) || $( element ).data( "msg" );
822
+ },
823
+
824
+ // Return the custom message for the given element name and validation method
825
+ customMessage: function( name, method ) {
826
+ var m = this.settings.messages[ name ];
827
+ return m && ( m.constructor === String ? m : m[ method ] );
828
+ },
829
+
830
+ // Return the first defined argument, allowing empty strings
831
+ findDefined: function() {
832
+ for ( var i = 0; i < arguments.length; i++ ) {
833
+ if ( arguments[ i ] !== undefined ) {
834
+ return arguments[ i ];
835
+ }
836
+ }
837
+ return undefined;
838
+ },
839
+
840
+ // The second parameter 'rule' used to be a string, and extended to an object literal
841
+ // of the following form:
842
+ // rule = {
843
+ // method: "method name",
844
+ // parameters: "the given method parameters"
845
+ // }
846
+ //
847
+ // The old behavior still supported, kept to maintain backward compatibility with
848
+ // old code, and will be removed in the next major release.
849
+ defaultMessage: function( element, rule ) {
850
+ if ( typeof rule === "string" ) {
851
+ rule = { method: rule };
852
+ }
853
+
854
+ var message = this.findDefined(
855
+ this.customMessage( element.name, rule.method ),
856
+ this.customDataMessage( element, rule.method ),
857
+
858
+ // 'title' is never undefined, so handle empty string as undefined
859
+ !this.settings.ignoreTitle && element.title || undefined,
860
+ $.validator.messages[ rule.method ],
861
+ "<strong>Warning: No message defined for " + element.name + "</strong>"
862
+ ),
863
+ theregex = /\$?\{(\d+)\}/g;
864
+ if ( typeof message === "function" ) {
865
+ message = message.call( this, rule.parameters, element );
866
+ } else if ( theregex.test( message ) ) {
867
+ message = $.validator.format( message.replace( theregex, "{$1}" ), rule.parameters );
868
+ }
869
+
870
+ return message;
871
+ },
872
+
873
+ formatAndAdd: function( element, rule ) {
874
+ var message = this.defaultMessage( element, rule );
875
+
876
+ this.errorList.push( {
877
+ message: message,
878
+ element: element,
879
+ method: rule.method
880
+ } );
881
+
882
+ this.errorMap[ element.name ] = message;
883
+ this.submitted[ element.name ] = message;
884
+ },
885
+
886
+ addWrapper: function( toToggle ) {
887
+ if ( this.settings.wrapper ) {
888
+ toToggle = toToggle.add( toToggle.parent( this.settings.wrapper ) );
889
+ }
890
+ return toToggle;
891
+ },
892
+
893
+ defaultShowErrors: function() {
894
+ var i, elements, error;
895
+ for ( i = 0; this.errorList[ i ]; i++ ) {
896
+ error = this.errorList[ i ];
897
+ if ( this.settings.highlight ) {
898
+ this.settings.highlight.call( this, error.element, this.settings.errorClass, this.settings.validClass );
899
+ }
900
+ this.showLabel( error.element, error.message );
901
+ }
902
+ if ( this.errorList.length ) {
903
+ this.toShow = this.toShow.add( this.containers );
904
+ }
905
+ if ( this.settings.success ) {
906
+ for ( i = 0; this.successList[ i ]; i++ ) {
907
+ this.showLabel( this.successList[ i ] );
908
+ }
909
+ }
910
+ if ( this.settings.unhighlight ) {
911
+ for ( i = 0, elements = this.validElements(); elements[ i ]; i++ ) {
912
+ this.settings.unhighlight.call( this, elements[ i ], this.settings.errorClass, this.settings.validClass );
913
+ }
914
+ }
915
+ this.toHide = this.toHide.not( this.toShow );
916
+ this.hideErrors();
917
+ this.addWrapper( this.toShow ).show();
918
+ },
919
+
920
+ validElements: function() {
921
+ return this.currentElements.not( this.invalidElements() );
922
+ },
923
+
924
+ invalidElements: function() {
925
+ return $( this.errorList ).map( function() {
926
+ return this.element;
927
+ } );
928
+ },
929
+
930
+ showLabel: function( element, message ) {
931
+ var place, group, errorID, v,
932
+ error = this.errorsFor( element ),
933
+ elementID = this.idOrName( element ),
934
+ describedBy = $( element ).attr( "aria-describedby" );
935
+
936
+ if ( error.length ) {
937
+
938
+ // Refresh error/success class
939
+ error.removeClass( this.settings.validClass ).addClass( this.settings.errorClass );
940
+
941
+ // Replace message on existing label
942
+ error.html( message );
943
+ } else {
944
+
945
+ // Create error element
946
+ error = $( "<" + this.settings.errorElement + ">" )
947
+ .attr( "id", elementID + "-error" )
948
+ .addClass( this.settings.errorClass )
949
+ .html( message || "" );
950
+
951
+ // Maintain reference to the element to be placed into the DOM
952
+ place = error;
953
+ if ( this.settings.wrapper ) {
954
+
955
+ // Make sure the element is visible, even in IE
956
+ // actually showing the wrapped element is handled elsewhere
957
+ place = error.hide().show().wrap( "<" + this.settings.wrapper + "/>" ).parent();
958
+ }
959
+ if ( this.labelContainer.length ) {
960
+ this.labelContainer.append( place );
961
+ } else if ( this.settings.errorPlacement ) {
962
+ this.settings.errorPlacement.call( this, place, $( element ) );
963
+ } else {
964
+ place.insertAfter( element );
965
+ }
966
+
967
+ // Link error back to the element
968
+ if ( error.is( "label" ) ) {
969
+
970
+ // If the error is a label, then associate using 'for'
971
+ error.attr( "for", elementID );
972
+
973
+ // If the element is not a child of an associated label, then it's necessary
974
+ // to explicitly apply aria-describedby
975
+ } else if ( error.parents( "label[for='" + this.escapeCssMeta( elementID ) + "']" ).length === 0 ) {
976
+ errorID = error.attr( "id" );
977
+
978
+ // Respect existing non-error aria-describedby
979
+ if ( !describedBy ) {
980
+ describedBy = errorID;
981
+ } else if ( !describedBy.match( new RegExp( "\\b" + this.escapeCssMeta( errorID ) + "\\b" ) ) ) {
982
+
983
+ // Add to end of list if not already present
984
+ describedBy += " " + errorID;
985
+ }
986
+ $( element ).attr( "aria-describedby", describedBy );
987
+
988
+ // If this element is grouped, then assign to all elements in the same group
989
+ group = this.groups[ element.name ];
990
+ if ( group ) {
991
+ v = this;
992
+ $.each( v.groups, function( name, testgroup ) {
993
+ if ( testgroup === group ) {
994
+ $( "[name='" + v.escapeCssMeta( name ) + "']", v.currentForm )
995
+ .attr( "aria-describedby", error.attr( "id" ) );
996
+ }
997
+ } );
998
+ }
999
+ }
1000
+ }
1001
+ if ( !message && this.settings.success ) {
1002
+ error.text( "" );
1003
+ if ( typeof this.settings.success === "string" ) {
1004
+ error.addClass( this.settings.success );
1005
+ } else {
1006
+ this.settings.success( error, element );
1007
+ }
1008
+ }
1009
+ this.toShow = this.toShow.add( error );
1010
+ },
1011
+
1012
+ errorsFor: function( element ) {
1013
+ var name = this.escapeCssMeta( this.idOrName( element ) ),
1014
+ describer = $( element ).attr( "aria-describedby" ),
1015
+ selector = "label[for='" + name + "'], label[for='" + name + "'] *";
1016
+
1017
+ // 'aria-describedby' should directly reference the error element
1018
+ if ( describer ) {
1019
+ selector = selector + ", #" + this.escapeCssMeta( describer )
1020
+ .replace( /\s+/g, ", #" );
1021
+ }
1022
+
1023
+ return this
1024
+ .errors()
1025
+ .filter( selector );
1026
+ },
1027
+
1028
+ // See https://api.jquery.com/category/selectors/, for CSS
1029
+ // meta-characters that should be escaped in order to be used with JQuery
1030
+ // as a literal part of a name/id or any selector.
1031
+ escapeCssMeta: function( string ) {
1032
+ return string.replace( /([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g, "\\$1" );
1033
+ },
1034
+
1035
+ idOrName: function( element ) {
1036
+ return this.groups[ element.name ] || ( this.checkable( element ) ? element.name : element.id || element.name );
1037
+ },
1038
+
1039
+ validationTargetFor: function( element ) {
1040
+
1041
+ // If radio/checkbox, validate first element in group instead
1042
+ if ( this.checkable( element ) ) {
1043
+ element = this.findByName( element.name );
1044
+ }
1045
+
1046
+ // Always apply ignore filter
1047
+ return $( element ).not( this.settings.ignore )[ 0 ];
1048
+ },
1049
+
1050
+ checkable: function( element ) {
1051
+ return ( /radio|checkbox/i ).test( element.type );
1052
+ },
1053
+
1054
+ findByName: function( name ) {
1055
+ return $( this.currentForm ).find( "[name='" + this.escapeCssMeta( name ) + "']" );
1056
+ },
1057
+
1058
+ getLength: function( value, element ) {
1059
+ switch ( element.nodeName.toLowerCase() ) {
1060
+ case "select":
1061
+ return $( "option:selected", element ).length;
1062
+ case "input":
1063
+ if ( this.checkable( element ) ) {
1064
+ return this.findByName( element.name ).filter( ":checked" ).length;
1065
+ }
1066
+ }
1067
+ return value.length;
1068
+ },
1069
+
1070
+ depend: function( param, element ) {
1071
+ return this.dependTypes[ typeof param ] ? this.dependTypes[ typeof param ]( param, element ) : true;
1072
+ },
1073
+
1074
+ dependTypes: {
1075
+ "boolean": function( param ) {
1076
+ return param;
1077
+ },
1078
+ "string": function( param, element ) {
1079
+ return !!$( param, element.form ).length;
1080
+ },
1081
+ "function": function( param, element ) {
1082
+ return param( element );
1083
+ }
1084
+ },
1085
+
1086
+ optional: function( element ) {
1087
+ var val = this.elementValue( element );
1088
+ return !$.validator.methods.required.call( this, val, element ) && "dependency-mismatch";
1089
+ },
1090
+
1091
+ startRequest: function( element ) {
1092
+ if ( !this.pending[ element.name ] ) {
1093
+ this.pendingRequest++;
1094
+ $( element ).addClass( this.settings.pendingClass );
1095
+ this.pending[ element.name ] = true;
1096
+ }
1097
+ },
1098
+
1099
+ stopRequest: function( element, valid ) {
1100
+ this.pendingRequest--;
1101
+
1102
+ // Sometimes synchronization fails, make sure pendingRequest is never < 0
1103
+ if ( this.pendingRequest < 0 ) {
1104
+ this.pendingRequest = 0;
1105
+ }
1106
+ delete this.pending[ element.name ];
1107
+ $( element ).removeClass( this.settings.pendingClass );
1108
+ if ( valid && this.pendingRequest === 0 && this.formSubmitted && this.form() ) {
1109
+ $( this.currentForm ).submit();
1110
+
1111
+ // Remove the hidden input that was used as a replacement for the
1112
+ // missing submit button. The hidden input is added by `handle()`
1113
+ // to ensure that the value of the used submit button is passed on
1114
+ // for scripted submits triggered by this method
1115
+ if ( this.submitButton ) {
1116
+ $( "input:hidden[name='" + this.submitButton.name + "']", this.currentForm ).remove();
1117
+ }
1118
+
1119
+ this.formSubmitted = false;
1120
+ } else if ( !valid && this.pendingRequest === 0 && this.formSubmitted ) {
1121
+ $( this.currentForm ).triggerHandler( "invalid-form", [ this ] );
1122
+ this.formSubmitted = false;
1123
+ }
1124
+ },
1125
+
1126
+ previousValue: function( element, method ) {
1127
+ method = typeof method === "string" && method || "remote";
1128
+
1129
+ return $.data( element, "previousValue" ) || $.data( element, "previousValue", {
1130
+ old: null,
1131
+ valid: true,
1132
+ message: this.defaultMessage( element, { method: method } )
1133
+ } );
1134
+ },
1135
+
1136
+ // Cleans up all forms and elements, removes validator-specific events
1137
+ destroy: function() {
1138
+ this.resetForm();
1139
+
1140
+ $( this.currentForm )
1141
+ .off( ".validate" )
1142
+ .removeData( "validator" )
1143
+ .find( ".validate-equalTo-blur" )
1144
+ .off( ".validate-equalTo" )
1145
+ .removeClass( "validate-equalTo-blur" );
1146
+ }
1147
+
1148
+ },
1149
+
1150
+ classRuleSettings: {
1151
+ required: { required: true },
1152
+ email: { email: true },
1153
+ url: { url: true },
1154
+ date: { date: true },
1155
+ dateISO: { dateISO: true },
1156
+ number: { number: true },
1157
+ digits: { digits: true },
1158
+ creditcard: { creditcard: true }
1159
+ },
1160
+
1161
+ addClassRules: function( className, rules ) {
1162
+ if ( className.constructor === String ) {
1163
+ this.classRuleSettings[ className ] = rules;
1164
+ } else {
1165
+ $.extend( this.classRuleSettings, className );
1166
+ }
1167
+ },
1168
+
1169
+ classRules: function( element ) {
1170
+ var rules = {},
1171
+ classes = $( element ).attr( "class" );
1172
+
1173
+ if ( classes ) {
1174
+ $.each( classes.split( " " ), function() {
1175
+ if ( this in $.validator.classRuleSettings ) {
1176
+ $.extend( rules, $.validator.classRuleSettings[ this ] );
1177
+ }
1178
+ } );
1179
+ }
1180
+ return rules;
1181
+ },
1182
+
1183
+ normalizeAttributeRule: function( rules, type, method, value ) {
1184
+
1185
+ // Convert the value to a number for number inputs, and for text for backwards compability
1186
+ // allows type="date" and others to be compared as strings
1187
+ if ( /min|max|step/.test( method ) && ( type === null || /number|range|text/.test( type ) ) ) {
1188
+ value = Number( value );
1189
+
1190
+ // Support Opera Mini, which returns NaN for undefined minlength
1191
+ if ( isNaN( value ) ) {
1192
+ value = undefined;
1193
+ }
1194
+ }
1195
+
1196
+ if ( value || value === 0 ) {
1197
+ rules[ method ] = value;
1198
+ } else if ( type === method && type !== "range" ) {
1199
+
1200
+ // Exception: the jquery validate 'range' method
1201
+ // does not test for the html5 'range' type
1202
+ rules[ method ] = true;
1203
+ }
1204
+ },
1205
+
1206
+ attributeRules: function( element ) {
1207
+ var rules = {},
1208
+ $element = $( element ),
1209
+ type = element.getAttribute( "type" ),
1210
+ method, value;
1211
+
1212
+ for ( method in $.validator.methods ) {
1213
+
1214
+ // Support for <input required> in both html5 and older browsers
1215
+ if ( method === "required" ) {
1216
+ value = element.getAttribute( method );
1217
+
1218
+ // Some browsers return an empty string for the required attribute
1219
+ // and non-HTML5 browsers might have required="" markup
1220
+ if ( value === "" ) {
1221
+ value = true;
1222
+ }
1223
+
1224
+ // Force non-HTML5 browsers to return bool
1225
+ value = !!value;
1226
+ } else {
1227
+ value = $element.attr( method );
1228
+ }
1229
+
1230
+ this.normalizeAttributeRule( rules, type, method, value );
1231
+ }
1232
+
1233
+ // 'maxlength' may be returned as -1, 2147483647 ( IE ) and 524288 ( safari ) for text inputs
1234
+ if ( rules.maxlength && /-1|2147483647|524288/.test( rules.maxlength ) ) {
1235
+ delete rules.maxlength;
1236
+ }
1237
+
1238
+ return rules;
1239
+ },
1240
+
1241
+ dataRules: function( element ) {
1242
+ var rules = {},
1243
+ $element = $( element ),
1244
+ type = element.getAttribute( "type" ),
1245
+ method, value;
1246
+
1247
+ for ( method in $.validator.methods ) {
1248
+ value = $element.data( "rule" + method.charAt( 0 ).toUpperCase() + method.substring( 1 ).toLowerCase() );
1249
+ this.normalizeAttributeRule( rules, type, method, value );
1250
+ }
1251
+ return rules;
1252
+ },
1253
+
1254
+ staticRules: function( element ) {
1255
+ var rules = {},
1256
+ validator = $.data( element.form, "validator" );
1257
+
1258
+ if ( validator.settings.rules ) {
1259
+ rules = $.validator.normalizeRule( validator.settings.rules[ element.name ] ) || {};
1260
+ }
1261
+ return rules;
1262
+ },
1263
+
1264
+ normalizeRules: function( rules, element ) {
1265
+
1266
+ // Handle dependency check
1267
+ $.each( rules, function( prop, val ) {
1268
+
1269
+ // Ignore rule when param is explicitly false, eg. required:false
1270
+ if ( val === false ) {
1271
+ delete rules[ prop ];
1272
+ return;
1273
+ }
1274
+ if ( val.param || val.depends ) {
1275
+ var keepRule = true;
1276
+ switch ( typeof val.depends ) {
1277
+ case "string":
1278
+ keepRule = !!$( val.depends, element.form ).length;
1279
+ break;
1280
+ case "function":
1281
+ keepRule = val.depends.call( element, element );
1282
+ break;
1283
+ }
1284
+ if ( keepRule ) {
1285
+ rules[ prop ] = val.param !== undefined ? val.param : true;
1286
+ } else {
1287
+ $.data( element.form, "validator" ).resetElements( $( element ) );
1288
+ delete rules[ prop ];
1289
+ }
1290
+ }
1291
+ } );
1292
+
1293
+ // Evaluate parameters
1294
+ $.each( rules, function( rule, parameter ) {
1295
+ rules[ rule ] = $.isFunction( parameter ) && rule !== "normalizer" ? parameter( element ) : parameter;
1296
+ } );
1297
+
1298
+ // Clean number parameters
1299
+ $.each( [ "minlength", "maxlength" ], function() {
1300
+ if ( rules[ this ] ) {
1301
+ rules[ this ] = Number( rules[ this ] );
1302
+ }
1303
+ } );
1304
+ $.each( [ "rangelength", "range" ], function() {
1305
+ var parts;
1306
+ if ( rules[ this ] ) {
1307
+ if ( $.isArray( rules[ this ] ) ) {
1308
+ rules[ this ] = [ Number( rules[ this ][ 0 ] ), Number( rules[ this ][ 1 ] ) ];
1309
+ } else if ( typeof rules[ this ] === "string" ) {
1310
+ parts = rules[ this ].replace( /[\[\]]/g, "" ).split( /[\s,]+/ );
1311
+ rules[ this ] = [ Number( parts[ 0 ] ), Number( parts[ 1 ] ) ];
1312
+ }
1313
+ }
1314
+ } );
1315
+
1316
+ if ( $.validator.autoCreateRanges ) {
1317
+
1318
+ // Auto-create ranges
1319
+ if ( rules.min != null && rules.max != null ) {
1320
+ rules.range = [ rules.min, rules.max ];
1321
+ delete rules.min;
1322
+ delete rules.max;
1323
+ }
1324
+ if ( rules.minlength != null && rules.maxlength != null ) {
1325
+ rules.rangelength = [ rules.minlength, rules.maxlength ];
1326
+ delete rules.minlength;
1327
+ delete rules.maxlength;
1328
+ }
1329
+ }
1330
+
1331
+ return rules;
1332
+ },
1333
+
1334
+ // Converts a simple string to a {string: true} rule, e.g., "required" to {required:true}
1335
+ normalizeRule: function( data ) {
1336
+ if ( typeof data === "string" ) {
1337
+ var transformed = {};
1338
+ $.each( data.split( /\s/ ), function() {
1339
+ transformed[ this ] = true;
1340
+ } );
1341
+ data = transformed;
1342
+ }
1343
+ return data;
1344
+ },
1345
+
1346
+ // https://jqueryvalidation.org/jQuery.validator.addMethod/
1347
+ addMethod: function( name, method, message ) {
1348
+ $.validator.methods[ name ] = method;
1349
+ $.validator.messages[ name ] = message !== undefined ? message : $.validator.messages[ name ];
1350
+ if ( method.length < 3 ) {
1351
+ $.validator.addClassRules( name, $.validator.normalizeRule( name ) );
1352
+ }
1353
+ },
1354
+
1355
+ // https://jqueryvalidation.org/jQuery.validator.methods/
1356
+ methods: {
1357
+
1358
+ // https://jqueryvalidation.org/required-method/
1359
+ required: function( value, element, param ) {
1360
+
1361
+ // Check if dependency is met
1362
+ if ( !this.depend( param, element ) ) {
1363
+ return "dependency-mismatch";
1364
+ }
1365
+ if ( element.nodeName.toLowerCase() === "select" ) {
1366
+
1367
+ // Could be an array for select-multiple or a string, both are fine this way
1368
+ var val = $( element ).val();
1369
+ return val && val.length > 0;
1370
+ }
1371
+ if ( this.checkable( element ) ) {
1372
+ return this.getLength( value, element ) > 0;
1373
+ }
1374
+ return value.length > 0;
1375
+ },
1376
+
1377
+ // https://jqueryvalidation.org/email-method/
1378
+ email: function( value, element ) {
1379
+
1380
+ // From https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
1381
+ // Retrieved 2014-01-14
1382
+ // If you have a problem with this implementation, report a bug against the above spec
1383
+ // Or use custom methods to implement your own email validation
1384
+ return this.optional( element ) || /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test( value );
1385
+ },
1386
+
1387
+ // https://jqueryvalidation.org/url-method/
1388
+ url: function( value, element ) {
1389
+
1390
+ // Copyright (c) 2010-2013 Diego Perini, MIT licensed
1391
+ // https://gist.github.com/dperini/729294
1392
+ // see also https://mathiasbynens.be/demo/url-regex
1393
+ // modified to allow protocol-relative URLs
1394
+ return this.optional( element ) || /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test( value );
1395
+ },
1396
+
1397
+ // https://jqueryvalidation.org/date-method/
1398
+ date: function( value, element ) {
1399
+ return this.optional( element ) || !/Invalid|NaN/.test( new Date( value ).toString() );
1400
+ },
1401
+
1402
+ // https://jqueryvalidation.org/dateISO-method/
1403
+ dateISO: function( value, element ) {
1404
+ return this.optional( element ) || /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test( value );
1405
+ },
1406
+
1407
+ // https://jqueryvalidation.org/number-method/
1408
+ number: function( value, element ) {
1409
+ return this.optional( element ) || /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test( value );
1410
+ },
1411
+
1412
+ // https://jqueryvalidation.org/digits-method/
1413
+ digits: function( value, element ) {
1414
+ return this.optional( element ) || /^\d+$/.test( value );
1415
+ },
1416
+
1417
+ // https://jqueryvalidation.org/minlength-method/
1418
+ minlength: function( value, element, param ) {
1419
+ var length = $.isArray( value ) ? value.length : this.getLength( value, element );
1420
+ return this.optional( element ) || length >= param;
1421
+ },
1422
+
1423
+ // https://jqueryvalidation.org/maxlength-method/
1424
+ maxlength: function( value, element, param ) {
1425
+ var length = $.isArray( value ) ? value.length : this.getLength( value, element );
1426
+ return this.optional( element ) || length <= param;
1427
+ },
1428
+
1429
+ // https://jqueryvalidation.org/rangelength-method/
1430
+ rangelength: function( value, element, param ) {
1431
+ var length = $.isArray( value ) ? value.length : this.getLength( value, element );
1432
+ return this.optional( element ) || ( length >= param[ 0 ] && length <= param[ 1 ] );
1433
+ },
1434
+
1435
+ // https://jqueryvalidation.org/min-method/
1436
+ min: function( value, element, param ) {
1437
+ return this.optional( element ) || value >= param;
1438
+ },
1439
+
1440
+ // https://jqueryvalidation.org/max-method/
1441
+ max: function( value, element, param ) {
1442
+ return this.optional( element ) || value <= param;
1443
+ },
1444
+
1445
+ // https://jqueryvalidation.org/range-method/
1446
+ range: function( value, element, param ) {
1447
+ return this.optional( element ) || ( value >= param[ 0 ] && value <= param[ 1 ] );
1448
+ },
1449
+
1450
+ // https://jqueryvalidation.org/step-method/
1451
+ step: function( value, element, param ) {
1452
+ var type = $( element ).attr( "type" ),
1453
+ errorMessage = "Step attribute on input type " + type + " is not supported.",
1454
+ supportedTypes = [ "text", "number", "range" ],
1455
+ re = new RegExp( "\\b" + type + "\\b" ),
1456
+ notSupported = type && !re.test( supportedTypes.join() ),
1457
+ decimalPlaces = function( num ) {
1458
+ var match = ( "" + num ).match( /(?:\.(\d+))?$/ );
1459
+ if ( !match ) {
1460
+ return 0;
1461
+ }
1462
+
1463
+ // Number of digits right of decimal point.
1464
+ return match[ 1 ] ? match[ 1 ].length : 0;
1465
+ },
1466
+ toInt = function( num ) {
1467
+ return Math.round( num * Math.pow( 10, decimals ) );
1468
+ },
1469
+ valid = true,
1470
+ decimals;
1471
+
1472
+ // Works only for text, number and range input types
1473
+ // TODO find a way to support input types date, datetime, datetime-local, month, time and week
1474
+ if ( notSupported ) {
1475
+ throw new Error( errorMessage );
1476
+ }
1477
+
1478
+ decimals = decimalPlaces( param );
1479
+
1480
+ // Value can't have too many decimals
1481
+ if ( decimalPlaces( value ) > decimals || toInt( value ) % toInt( param ) !== 0 ) {
1482
+ valid = false;
1483
+ }
1484
+
1485
+ return this.optional( element ) || valid;
1486
+ },
1487
+
1488
+ // https://jqueryvalidation.org/equalTo-method/
1489
+ equalTo: function( value, element, param ) {
1490
+
1491
+ // Bind to the blur event of the target in order to revalidate whenever the target field is updated
1492
+ var target = $( param );
1493
+ if ( this.settings.onfocusout && target.not( ".validate-equalTo-blur" ).length ) {
1494
+ target.addClass( "validate-equalTo-blur" ).on( "blur.validate-equalTo", function() {
1495
+ $( element ).valid();
1496
+ } );
1497
+ }
1498
+ return value === target.val();
1499
+ },
1500
+
1501
+ // https://jqueryvalidation.org/remote-method/
1502
+ remote: function( value, element, param, method ) {
1503
+ if ( this.optional( element ) ) {
1504
+ return "dependency-mismatch";
1505
+ }
1506
+
1507
+ method = typeof method === "string" && method || "remote";
1508
+
1509
+ var previous = this.previousValue( element, method ),
1510
+ validator, data, optionDataString;
1511
+
1512
+ if ( !this.settings.messages[ element.name ] ) {
1513
+ this.settings.messages[ element.name ] = {};
1514
+ }
1515
+ previous.originalMessage = previous.originalMessage || this.settings.messages[ element.name ][ method ];
1516
+ this.settings.messages[ element.name ][ method ] = previous.message;
1517
+
1518
+ param = typeof param === "string" && { url: param } || param;
1519
+ optionDataString = $.param( $.extend( { data: value }, param.data ) );
1520
+ if ( previous.old === optionDataString ) {
1521
+ return previous.valid;
1522
+ }
1523
+
1524
+ previous.old = optionDataString;
1525
+ validator = this;
1526
+ this.startRequest( element );
1527
+ data = {};
1528
+ data[ element.name ] = value;
1529
+ $.ajax( $.extend( true, {
1530
+ mode: "abort",
1531
+ port: "validate" + element.name,
1532
+ dataType: "json",
1533
+ data: data,
1534
+ context: validator.currentForm,
1535
+ success: function( response ) {
1536
+ var valid = response === true || response === "true",
1537
+ errors, message, submitted;
1538
+
1539
+ validator.settings.messages[ element.name ][ method ] = previous.originalMessage;
1540
+ if ( valid ) {
1541
+ submitted = validator.formSubmitted;
1542
+ validator.resetInternals();
1543
+ validator.toHide = validator.errorsFor( element );
1544
+ validator.formSubmitted = submitted;
1545
+ validator.successList.push( element );
1546
+ validator.invalid[ element.name ] = false;
1547
+ validator.showErrors();
1548
+ } else {
1549
+ errors = {};
1550
+ message = response || validator.defaultMessage( element, { method: method, parameters: value } );
1551
+ errors[ element.name ] = previous.message = message;
1552
+ validator.invalid[ element.name ] = true;
1553
+ validator.showErrors( errors );
1554
+ }
1555
+ previous.valid = valid;
1556
+ validator.stopRequest( element, valid );
1557
+ }
1558
+ }, param ) );
1559
+ return "pending";
1560
+ }
1561
+ }
1562
+
1563
+ } );
1564
+
1565
+ // Ajax mode: abort
1566
+ // usage: $.ajax({ mode: "abort"[, port: "uniqueport"]});
1567
+ // if mode:"abort" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort()
1568
+
1569
+ var pendingRequests = {},
1570
+ ajax;
1571
+
1572
+ // Use a prefilter if available (1.5+)
1573
+ if ( $.ajaxPrefilter ) {
1574
+ $.ajaxPrefilter( function( settings, _, xhr ) {
1575
+ var port = settings.port;
1576
+ if ( settings.mode === "abort" ) {
1577
+ if ( pendingRequests[ port ] ) {
1578
+ pendingRequests[ port ].abort();
1579
+ }
1580
+ pendingRequests[ port ] = xhr;
1581
+ }
1582
+ } );
1583
+ } else {
1584
+
1585
+ // Proxy ajax
1586
+ ajax = $.ajax;
1587
+ $.ajax = function( settings ) {
1588
+ var mode = ( "mode" in settings ? settings : $.ajaxSettings ).mode,
1589
+ port = ( "port" in settings ? settings : $.ajaxSettings ).port;
1590
+ if ( mode === "abort" ) {
1591
+ if ( pendingRequests[ port ] ) {
1592
+ pendingRequests[ port ].abort();
1593
+ }
1594
+ pendingRequests[ port ] = ajax.apply( this, arguments );
1595
+ return pendingRequests[ port ];
1596
+ }
1597
+ return ajax.apply( this, arguments );
1598
+ };
1599
+ }
1600
+ return $;
1601
+ }));
trunk/assets/js/jquery-validate/jquery.validate.min.js ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ /*! jQuery Validation Plugin - v1.17.0 - 7/29/2017
2
+ * https://jqueryvalidation.org/
3
+ * Copyright (c) 2017 Jörn Zaefferer; Licensed MIT */
4
+ !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.submitButton=b.currentTarget,a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.submitButton&&(c.settings.submitHandler||c.formSubmitted)&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),!c.settings.submitHandler||(e=c.settings.submitHandler.call(c,c.currentForm,b),d&&d.remove(),void 0!==e&&e)}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(null!=j&&(!j.form&&j.hasAttribute("contenteditable")&&(j.form=this.closest("form")[0],j.name=this.attr("name")),null!=j.form)){if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(a,b){i[b]=f[b],delete f[b]}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g)),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}}),a.extend(a.expr.pseudos||a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){var c=a(b).val();return null!==c&&!!a.trim(""+c)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||a.inArray(c.keyCode,d)!==-1||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){!this.form&&this.hasAttribute("contenteditable")&&(this.form=a(this).closest("form")[0],this.name=a(this).attr("name"));var c=a.data(this.form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!a(this).is(e.ignore)&&e[d].call(c,this,b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=g.check(e)&&h))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)void 0!==a[b]&&null!==a[b]&&a[b]!==!1&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.hasAttribute("contenteditable")&&(this.form=a(this).closest("form")[0],this.name=d),!(d in c||!b.objectLength(a(this).rules()))&&(c[d]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type;return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=b.hasAttribute("contenteditable")?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f,g=a(b).rules(),h=a.map(g,function(a,b){return b}).length,i=!1,j=this.elementValue(b);if("function"==typeof g.normalizer?f=g.normalizer:"function"==typeof this.settings.normalizer&&(f=this.settings.normalizer),f){if(j=f.call(b,j),"string"!=typeof j)throw new TypeError("The normalizer should return a string value.");delete g.normalizer}for(d in g){e={method:d,parameters:g[d]};try{if(c=a.validator.methods[d].call(this,j,b,e.parameters),"dependency-mismatch"===c&&1===h){i=!0;continue}if(i=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(k){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",k),k instanceof TypeError&&(k.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),k}}if(!i)return this.objectLength(g)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]},defaultMessage:function(b,c){"string"==typeof c&&(c={method:c});var d=this.findDefined(this.customMessage(b.name,c.method),this.customDataMessage(b,c.method),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c.method],"<strong>Warning: No message defined for "+b.name+"</strong>"),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),h.html(c)):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass).html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement.call(this,d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.name],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return a.replace(/([\\!"#$%&'()*+,.\/:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return!this.dependTypes[typeof a]||this.dependTypes[typeof a](a,b)},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.submitButton&&a("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b,c){return c="string"==typeof c&&c||"remote",a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0===e.param||e.param:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(d,e){b[d]=a.isFunction(e)&&"normalizer"!==d?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e<=d},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e,f=a(c).attr("type"),g="Step attribute on input type "+f+" is not supported.",h=["text","number","range"],i=new RegExp("\\b"+f+"\\b"),j=f&&!i.test(h.join()),k=function(a){var b=(""+a).match(/(?:\.(\d+))?$/);return b&&b[1]?b[1].length:0},l=function(a){return Math.round(a*Math.pow(10,e))},m=!0;if(j)throw new Error(g);return e=k(d),(k(b)>e||l(b)%l(d)!==0)&&(m=!1),this.optional(c)||m},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),i.old===h?i.valid:(i.old=h,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.resetInternals(),f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var b,c={};return a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)}),a});
trunk/everest-forms.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Plugin Name: Everest Forms
4
+ * Plugin URI: https://wpeverest.com/wordpress-plugins/everest-forms/
5
+ * Description: Drag and Drop form builder to easily create contact forms and more.
6
+ * Version: 1.1.3
7
+ * Author: WPEverest
8
+ * Author URI: https://wpeverest.com
9
+ * Text Domain: everest-forms
10
+ * Domain Path: /languages/
11
+ *
12
+ * @package EverestForms
13
+ */
14
+
15
+ if ( ! defined( 'ABSPATH' ) ) {
16
+ exit; // Exit if accessed directly.
17
+ }
18
+
19
+ // Define EVF_PLUGIN_FILE.
20
+ if ( ! defined( 'EVF_PLUGIN_FILE' ) ) {
21
+ define( 'EVF_PLUGIN_FILE', __FILE__ );
22
+ }
23
+
24
+ // Include the main EverestForms class.
25
+ if ( ! class_exists( 'EverestForms' ) ) {
26
+ include_once dirname( __FILE__ ) . '/includes/class-everest-forms.php';
27
+ }
28
+
29
+ /**
30
+ * Main instance of EverestForms.
31
+ *
32
+ * Returns the main instance of EVF to prevent the need to use globals.
33
+ *
34
+ * @since 1.0.0
35
+ * @return EverestForms
36
+ */
37
+ function evf() {
38
+ return EverestForms::instance();
39
+ }
40
+
41
+ // Global for backwards compatibility.
42
+ $GLOBALS['everest-forms'] = evf();
trunk/includes/abstracts/abstract-evf-admin-form-panel.php ADDED
@@ -0,0 +1,182 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ }
5
+
6
+ /**
7
+ * Abstract EVF_Admin_Form_Panel Class
8
+ *
9
+ * @version 1.0.0
10
+ * @author WPEverest
11
+ */
12
+ abstract class EVF_Admin_Form_Panel {
13
+
14
+ /**
15
+ * Full name of the panel.
16
+ *
17
+ * @var string
18
+ */
19
+ public $name;
20
+
21
+ /**
22
+ * Slug.
23
+ *
24
+ * @var string
25
+ */
26
+ public $slug;
27
+
28
+ /**
29
+ * Font Awesome Icon used for the editor button.
30
+ *
31
+ * @var mixed
32
+ */
33
+ public $icon = false;
34
+
35
+ /**
36
+ * Priority order the field button should show inside the "Add Fields" tab.
37
+ *
38
+ * @var integer
39
+ */
40
+ public $order = 50;
41
+
42
+ /**
43
+ * If panel contains a sidebar element or is full width.
44
+ *
45
+ * @var boolean
46
+ */
47
+ public $sidebar = false;
48
+
49
+ /**
50
+ * Contains form object if we have one.
51
+ *
52
+ * @var object
53
+ */
54
+ public $form;
55
+
56
+ /**
57
+ * Contains array of the form data (post_content).
58
+ *
59
+ * @var array
60
+ */
61
+ public $form_data;
62
+
63
+ /**
64
+ * Primary class constructor.
65
+ */
66
+ public $form_setting;
67
+
68
+ public function __construct() {
69
+ // Load form if found.
70
+ $form_id = isset( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : false;
71
+ $this->form = EVF()->form->get( $form_id );
72
+ $this->form_data = $this->form ? evf_decode( $this->form->post_content ) : false;
73
+ $this->form_setting = isset( $this->form_data['settings'] ) ? $this->form_data['settings'] : array();
74
+ $this->init();
75
+
76
+ // Hooks.
77
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueues' ), 15 );
78
+ add_action( 'everest_forms_builder_panel_buttons', array( $this, 'button' ), $this->order, 2 );
79
+ add_action( 'everest_forms_builder_panels', array( $this, 'panel_output' ), $this->order, 2 );
80
+ }
81
+
82
+ /**
83
+ * Hook in tabs.
84
+ */
85
+ public function init() {}
86
+
87
+ /**
88
+ * Enqueue assets
89
+ */
90
+ public function enqueues() {}
91
+
92
+ /**
93
+ * Primary panel button in the left panel navigation.
94
+ *
95
+ * @param mixed $form
96
+ * @param string $view
97
+ */
98
+ public function button( $form, $view ) {
99
+ $active = $view == $this->slug ? 'active' : '';
100
+
101
+ printf( '<li class="evf-panel-%s-button" data-panel="%s">', $this->slug, $this->slug );
102
+ printf( '<a href="#" class="%s">', $active );
103
+ printf( '<span class="%s"></span>', $this->icon );
104
+ printf( '%s</a>', $this->name );
105
+ echo '</li>';
106
+ }
107
+
108
+ /**
109
+ * Outputs the contents of the panel.
110
+ *
111
+ * @param object $form
112
+ * @param string $view
113
+ */
114
+ public function panel_output( $form, $view ) {
115
+ $active = $view == $this->slug ? 'active' : '';
116
+
117
+ $wrap = $this->sidebar ? 'everest-forms-panel-sidebar-content' : 'everest-forms-panel-full-content';
118
+
119
+ printf( '<div class="everest-forms-panel %s" id="everest-forms-panel-%s">', $active, $this->slug );
120
+
121
+ printf( '<div class="%s">', $wrap );
122
+
123
+ if ( true == $this->sidebar ) {
124
+
125
+ echo '<div class="everest-forms-panel-sidebar">';
126
+
127
+ do_action( 'everest_forms_builder_before_panel_sidebar', $this->form, $this->slug );
128
+
129
+ $this->panel_sidebar();
130
+
131
+ do_action( 'everest_forms_builder_after_panel_sidebar', $this->form, $this->slug );
132
+
133
+ echo '</div>';
134
+ }
135
+
136
+ echo '<div class="everest-forms-panel-content-wrap">';
137
+ echo '<div class="everest-forms-panel-content">';
138
+
139
+ do_action( 'everest_forms_builder_before_panel_content', $this->form, $this->slug );
140
+
141
+ $this->panel_content();
142
+
143
+ do_action( 'everest_forms_builder_after_panel_content', $this->form, $this->slug );
144
+
145
+ echo '</div></div></div></div>';
146
+ }
147
+
148
+ /**
149
+ * Outputs the panel's sidebar if we have one.
150
+ */
151
+ public function panel_sidebar() {}
152
+
153
+ /**
154
+ * Outputs panel sidebar sections.
155
+ */
156
+ public function panel_sidebar_section( $name, $slug, $icon = '' ) {
157
+
158
+ $class = '';
159
+ $class .= $slug == 'default' ? ' default' : '';
160
+ $class .= ! empty( $icon ) ? ' icon' : '';
161
+
162
+ echo '<a href="#" class="evf-setting-panel everest-forms-panel-sidebar-section everest-forms-panel-sidebar-section-' . esc_attr( $slug ) . $class . '" data-section="' . esc_attr( $slug ) . '">';
163
+
164
+ if ( ! empty( $icon ) ) {
165
+ echo '<img src="' . esc_url( $icon ) . '">';
166
+ }
167
+
168
+ echo esc_html( $name );
169
+
170
+ echo '<i class="dashicons dashicons-arrow-right-alt2 everest-forms-toggle-arrow"></i>';
171
+
172
+ echo '</a>';
173
+ }
174
+
175
+ /**
176
+ * Outputs the panel's primary content.
177
+ *
178
+ * @since 1.0.0
179
+ */
180
+ public function panel_content() {
181
+ }
182
+ }
trunk/includes/abstracts/abstract-evf-form-fields.php ADDED
@@ -0,0 +1,833 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit; // Exit if accessed directly
4
+ }
5
+
6
+ /**
7
+ * Abstract EVF_Form_Fields Class
8
+ *
9
+ * @version 1.0.0
10
+ * @package EverestFroms/Abstracts
11
+ * @category Abstract Class
12
+ * @author WPEverest
13
+ */
14
+ abstract class EVF_Form_Fields {
15
+ /**
16
+ * Full name of the field type, eg "Paragraph Text".
17
+ *
18
+ * $since 1.0.0
19
+ * @var string
20
+ */
21
+ public $name;
22
+
23
+ /**
24
+ * Type of the field, eg "textarea".
25
+ *
26
+ * $since 1.0.0
27
+ * @var string
28
+ */
29
+ public $type;
30
+
31
+ /**
32
+ * Font Awesome Icon used for the editor button.
33
+ *
34
+ * $since 1.0.0
35
+ * @var mixed
36
+ */
37
+ public $icon = false;
38
+
39
+ /**
40
+ * Priority order the field button should show inside the "Add Fields" tab.
41
+ *
42
+ * $since 1.0.0
43
+ * @var integer
44
+ */
45
+ public $order = 20;
46
+
47
+ /**
48
+ * Field group the field belongs to.
49
+ *
50
+ * $since 1.0.0
51
+ * @var string
52
+ */
53
+ public $group = 'general';
54
+
55
+ /**
56
+ * Placeholder to hold default value(s) for some field types.
57
+ *
58
+ * $since 1.0.0
59
+ * @var mixed
60
+ */
61
+ public $defaults;
62
+
63
+ /**
64
+ * Current form ID in the admin builder.
65
+ *
66
+ * $since 1.0.0
67
+ * @var mixed, int or false
68
+ */
69
+ public $form_id;
70
+
71
+ /**
72
+ * Current form data in admin builder.
73
+ *
74
+ * $since 1.0.0
75
+ * @var mixed, int or false
76
+ */
77
+ public $form_data;
78
+
79
+ /**
80
+ * Primary class constructor.
81
+ *
82
+ * $since 1.0.0
83
+ *
84
+ * @param bool $init
85
+ */
86
+ public function __construct( $init = true ) {
87
+ if ( ! $init ) {
88
+ return;
89
+ }
90
+
91
+ // The form ID is to be accessed in the builder.
92
+ $this->form_id = isset( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : false;
93
+
94
+ // Bootstrap.
95
+ $this->init();
96
+
97
+ // Add fields tab.
98
+ add_filter( 'everest_forms_builder_fields_buttons', array( $this, 'field_button' ), 15 );
99
+
100
+ // Field options tab.
101
+ add_action( "everest_forms_builder_fields_options_{$this->type}", array( $this, 'field_options' ), 10 );
102
+
103
+ // Preview fields.
104
+ add_action( "everest_forms_builder_fields_previews_{$this->type}", array( $this, 'field_preview' ), 10 );
105
+
106
+ // AJAX Add new field.
107
+ add_action( "wp_ajax_everest_forms_new_field_{$this->type}", array( $this, 'field_new' ) );
108
+
109
+ // Display field input elements on front-end.
110
+ add_action( "evf_display_field_{$this->type}", array( $this, 'field_display' ), 10, 3 );
111
+
112
+ // Validation on submit.
113
+ add_action( "everest_forms_process_validate_{$this->type}", array( $this, 'validate' ), 10, 4 );
114
+
115
+ // Format.
116
+ add_action( "everest_forms_process_format_{$this->type}", array( $this, 'format' ), 10, 3 );
117
+ }
118
+
119
+ /**
120
+ * All systems go. Used by subclasses.
121
+ *
122
+ * $since 1.0.0
123
+ */
124
+ public function init() {
125
+ }
126
+
127
+ /**
128
+ * Create the button for the 'Add Fields' tab, inside the form editor.
129
+ *
130
+ * $since 1.0.0
131
+ *
132
+ * @param array $fields
133
+ *
134
+ * @return array
135
+ */
136
+ public function field_button( $fields ) {
137
+
138
+ // Add field information to fields array.
139
+ $fields[ $this->group ]['fields'][] = array(
140
+ 'order' => $this->order,
141
+ 'name' => $this->name,
142
+ 'type' => $this->type,
143
+ 'icon' => $this->icon,
144
+ );
145
+
146
+ // Wipe hands clean.
147
+ return $fields;
148
+ }
149
+
150
+ /**
151
+ * Creates the field options panel. Used by subclasses.
152
+ *
153
+ * $since 1.0.0
154
+ *
155
+ * @param array $field
156
+ */
157
+ public function field_options( $field ) {
158
+ }
159
+
160
+ /**
161
+ * Creates the field preview. Used by subclasses.
162
+ *
163
+ * $since 1.0.0
164
+ *
165
+ * @param array $field
166
+ */
167
+ public function field_preview( $field ) {
168
+ }
169
+
170
+ /**
171
+ * Helper function to create field option elements.
172
+ *
173
+ * Field option elements are pieces that help create a field option.
174
+ * They are used to quickly build field options.
175
+ *
176
+ * $since 1.0.0
177
+ *
178
+ * @param string $option
179
+ * @param array $field
180
+ * @param array $args
181
+ * @param boolean $echo
182
+ *
183
+ * @return mixed echo or return string
184
+ */
185
+ public function field_element( $option, $field, $args = array(), $echo = true ) {
186
+
187
+ $id = $field['id'];
188
+ $class = ! empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
189
+ $slug = ! empty( $args['slug'] ) ? sanitize_title( $args['slug'] ) : '';
190
+ $data = '';
191
+ $output = '';
192
+
193
+ if ( ! empty( $args['data'] ) ) {
194
+ foreach ( $args['data'] as $key => $val ) {
195
+ if ( is_array( $val ) ) {
196
+ $val = wp_json_encode( $val );
197
+ }
198
+ $data .= ' data-' . $key . '=\'' . $val . '\'';
199
+ }
200
+ }
201
+
202
+ switch ( $option ) {
203
+
204
+ // Row.
205
+ case 'row':
206
+ $output = sprintf( '<div class="everest-forms-field-option-row everest-forms-field-option-row-%s %s" id="everest-forms-field-option-row-%s-%s" data-field-id="%s">%s</div>', $slug, $class, $id, $slug, $id, $args['content'] );
207
+ break;
208
+
209
+ // Label.
210
+ case 'label':
211
+ $output = sprintf( '<label for="everest-forms-field-option-%s-%s">%s', $id, $slug, esc_html( $args['value'] ) );
212
+ if ( isset( $args['tooltip'] ) && ! empty( $args['tooltip'] ) ) {
213
+ $output .= ' ' . sprintf( '<i class="dashicons dashicons-editor-help everest-forms-help-tooltip" data-tip="%s"></i>', esc_attr( $args['tooltip'] ) );
214
+ }
215
+ if ( isset( $args['after_tooltip'] ) && ! empty( $args['after_tooltip'] ) ) {
216
+ $output .= $args['after_tooltip'];
217
+ }
218
+ $output .= '</label>';
219
+ break;
220
+
221
+ // Text input.
222
+ case 'text':
223
+ $type = ! empty( $args['type'] ) ? esc_attr( $args['type'] ) : 'text';
224
+ $placeholder = ! empty( $args['placeholder'] ) ? esc_attr( $args['placeholder'] ) : '';
225
+ $before = ! empty( $args['before'] ) ? '<span class="before-input">' . esc_html( $args['before'] ) . '</span>' : '';
226
+ if ( ! empty( $before ) ) {
227
+ $class .= ' has-before';
228
+ }
229
+ $output = sprintf( '%s<input type="%s" class="%s" id="everest-forms-field-option-%s-%s" name="form_fields[%s][%s]" value="%s" placeholder="%s" %s>', $before, $type, $class, $id, $slug, $id, $slug, esc_attr( $args['value'] ), $placeholder, $data );
230
+ break;
231
+
232
+ // Textarea.
233
+ case 'textarea':
234
+ $rows = ! empty( $args['rows'] ) ? (int) $args['rows'] : '3';
235
+ $output = sprintf( '<textarea class="%s" id="everest-forms-field-option-%s-%s" name="form_fields[%s][%s]" rows="%s" %s>%s</textarea>', $class, $id, $slug, $id, $slug, $rows, $data, $args['value'] );
236
+ break;
237
+
238
+ // Checkbox.
239
+ case 'checkbox':
240
+ $checked = checked( '1', $args['value'], false );
241
+ $output = sprintf( '<input type="checkbox" class="%s" id="everest-forms-field-option-%s-%s" name="form_fields[%s][%s]" value="1" %s %s>', $class, $id, $slug, $id, $slug, $checked, $data );
242
+ $output .= sprintf( '<label for="everest-forms-field-option-%s-%s" class="inline">%s', $id, $slug, $args['desc'] );
243
+ if ( isset( $args['tooltip'] ) && ! empty( $args['tooltip'] ) ) {
244
+ $output .= ' ' . sprintf( '<i class="dashicons dashicons-editor-help everest-forms-help-tooltip" data-tip="%s"></i>', esc_attr( $args['tooltip'] ) );
245
+ }
246
+ $output .= '</label>';
247
+ break;
248
+
249
+ // Toggle.
250
+ case 'toggle':
251
+ $checked = checked( '1', $args['value'], false );
252
+ $icon = $args['value'] ? 'fa-toggle-on' : 'fa-toggle-off';
253
+ $cls = $args['value'] ? 'everest-forms-on' : 'everest-forms-off';
254
+ $status = $args['value'] ? __( 'On', 'everest-forms' ) : __( 'Off', 'everest-forms' );
255
+ $output = sprintf( '<span class="everest-forms-toggle-icon %s"><i class="fa %s" aria-hidden="true"></i> <span class="everest-forms-toggle-icon-label">%s</span>', $cls, $icon, $status );
256
+ $output .= sprintf( '<input type="checkbox" class="%s" id="everest-forms-field-option-%s-%s" name="form_fields[%s][%s]" value="1" %s %s></span>', $class, $id, $slug, $id, $slug, $checked, $data );
257
+ break;
258
+
259
+ // Select.
260
+ case 'select':
261
+ $options = $args['options'];
262
+ $value = isset( $args['value'] ) ? $args['value'] : '';
263
+ $output = sprintf( '<select class="%s" id="everest-forms-field-option-%s-%s" name="form_fields[%s][%s]" %s>', $class, $id, $slug, $id, $slug, $data );
264
+ foreach ( $options as $key => $option ) {
265
+ $output .= sprintf( '<option value="%s" %s>%s</option>', esc_attr( $key ), selected( $key, $value, false ), $option );
266
+ }
267
+ $output .= '</select>';
268
+ break;
269
+ } // End switch().
270
+
271
+ if ( $echo ) {
272
+ echo $output; // WPCS: XSS ok.
273
+ } else {
274
+ return $output;
275
+ }
276
+ }
277
+
278
+ /**
279
+ * Helper function to create common field options that are used frequently.
280
+ *
281
+ * $since 1.0.0
282
+ *
283
+ * @param string $option
284
+ * @param array $field
285
+ * @param array $args
286
+ * @param boolean $echo
287
+ *
288
+ * @return mixed echo or return string
289
+ */
290
+ public function field_option( $option, $field, $args = array(), $echo = true ) {
291
+
292
+ $output = '';
293
+
294
+ switch ( $option ) {
295
+
296
+ // --------------------------------------------------------------//
297
+ // Basic Fields.
298
+ // --------------------------------------------------------------//
299
+
300
+ // Basic Options markup. ------------------------------------------//
301
+
302
+ case 'basic-options':
303
+ $markup = ! empty( $args['markup'] ) ? $args['markup'] : 'open';
304
+ $class = ! empty( $args['class'] ) ? esc_html( $args['class'] ) : '';
305
+ if ( 'open' === $markup ) {
306
+ $output = sprintf( '<div class="everest-forms-field-option-group everest-forms-field-option-group-basic open" id="everest-forms-field-option-basic-%s">', $field['id'] );
307
+ $output .= sprintf( '<a href="#" class="everest-forms-field-option-group-toggle">%s<span>(ID #%s)</span> <i class="handlediv"></i></a>', $this->name, $field['id'] );
308
+ $output .= sprintf( '<div class="everest-forms-field-option-group-inner %s">', $class );
309
+ } else {
310
+ $output = '</div></div>';
311
+ }
312
+ break;
313
+
314
+ // Field Label. ---------------------------------------------------//
315
+
316
+ case 'label':
317
+ $value = ! empty( $field['label'] ) ? esc_attr( $field['label'] ) : '';
318
+ $tooltip = __( 'Enter text for the form field label.', 'everest-forms' );
319
+ $output = $this->field_element( 'label', $field, array(
320
+ 'slug' => 'label',
321
+ 'value' => __( 'Label', 'everest-forms' ),
322
+ 'tooltip' => $tooltip
323
+ ), false );
324
+ $output .= $this->field_element( 'text', $field, array(
325
+ 'slug' => 'label',
326
+ 'value' => $value
327
+ ), false );
328
+ $output = $this->field_element( 'row', $field, array(
329
+ 'slug' => 'label',
330
+ 'content' => $output
331
+ ), false );
332
+ break;
333
+
334
+ // EVF meta fields
335
+ case 'meta':
336
+ $value = ! empty( $field['meta-key'] ) ? esc_attr( $field['meta-key'] ) : evf_get_meta_key_field_option( $field );
337
+ $tooltip = __( 'Enter meta key to be stored in database.', 'everest-forms' );
338
+ $output = $this->field_element( 'label', $field, array(
339
+ 'slug' => 'meta-key',
340
+ 'value' => __( 'Meta Key', 'everest-forms' ),
341
+ 'tooltip' => $tooltip
342
+ ), false );
343
+ $output .= $this->field_element( 'text', $field, array(
344
+ 'slug' => 'meta-key',
345
+ 'value' => $value
346
+ ), false );
347
+ $output = $this->field_element( 'row', $field, array(
348
+ 'slug' => 'meta-key',
349
+ 'content' => $output
350
+ ), false );
351
+ break;
352
+
353
+ // Field Description. ---------------------------------------------//
354
+
355
+ case 'description':
356
+ $value = ! empty( $field['description'] ) ? esc_attr( $field['description'] ) : '';
357
+ $tooltip = __( 'Enter text for the form field description.', 'everest-forms' );
358
+ $output = $this->field_element( 'label', $field, array(
359
+ 'slug' => 'description',
360
+ 'value' => __( 'Description', 'everest-forms' ),
361
+ 'tooltip' => $tooltip
362
+ ), false );
363
+ $output .= $this->field_element( 'textarea', $field, array(
364
+ 'slug' => 'description',
365
+ 'value' => $value
366
+ ), false );
367
+ $output = $this->field_element( 'row', $field, array(
368
+ 'slug' => 'description',
369
+ 'content' => $output
370
+ ), false );
371
+ break;
372
+
373
+
374
+ case 'required':
375
+ $default = ! empty( $args['default'] ) ? $args['default'] : '0';
376
+ $value = isset( $field['required'] ) ? $field['required'] : $default;
377
+ $tooltip = __( 'Check this option to mark the field required.', 'everest-forms' );
378
+ $output = $this->field_element( 'checkbox', $field, array(
379
+ 'slug' => 'required',
380
+ 'value' => $value,
381
+ 'desc' => __( 'Required', 'everest-forms' ),
382
+ 'tooltip' => $tooltip
383
+ ), false );
384
+ $output = $this->field_element( 'row', $field, array(
385
+ 'slug' => 'required',
386
+ 'content' => $output
387
+ ), false );
388
+ break;
389
+
390
+ case 'choices':
391
+ $tooltip = __( 'Add choices for the form field.', 'everest-forms' );
392
+ $toggle = '';
393
+ $dynamic = ! empty( $field['dynamic_choices'] ) ? esc_html( $field['dynamic_choices'] ) : '';
394
+ $values = ! empty( $field['choices'] ) ? $field['choices'] : $this->defaults;
395
+ $class = ! empty( $field['show_values'] ) && $field['show_values'] == '1' ? 'show-values' : '';
396
+ $class .= ! empty( $dynamic ) ? ' evf-hidden' : '';
397
+
398
+ // Field option label and type.
399
+ $option_label = $this->field_element(
400
+ 'label',
401
+ $field,
402
+ array(
403
+ 'slug' => 'choices',
404
+ 'value' => __( 'Choices', 'everest-forms' ),
405
+ 'tooltip' => $tooltip,
406
+ 'after_tooltip' => $toggle,
407
+ ),
408
+ false
409
+ );
410
+ $option_type = 'checkbox' === $this->type ? 'checkbox' : 'radio';
411
+
412
+ // Field option choices inputs
413
+ $option_choices = sprintf( '<ul data-next-id="%s" class="evf-choices-list %s" data-field-id="%s" data-field-type="%s">', max( array_keys( $values ) ) + 1, $class, $field['id'], $this->type );
414
+ foreach ( $values as $key => $value ) {
415
+ $default = ! empty( $value['default'] ) ? $value['default'] : '';
416
+ $option_choices .= sprintf( '<li data-key="%d">', $key );
417
+ $option_choices .= sprintf( '<input type="%s" name="form_fields[%s][choices][%s][default]" class="default" value="1" %s>', $option_type, $field['id'], $key, checked( '1', $default, false ) );
418
+ $option_choices .= sprintf( '<input type="text" name="form_fields[%s][choices][%s][label]" value="%s" class="label">', $field['id'], $key, esc_attr( $value['label'] ) );
419
+ $option_choices .= sprintf( '<input type="text" name="form_fields[%s][choices][%s][value]" value="%s" class="value">', $field['id'], $key, esc_attr( $value['value'] ) );
420
+ $option_choices .= '<a class="remove" href="#"><i class="dashicons dashicons-dismiss"></i></a>';
421
+ $option_choices .= '<a class="add" href="#"><i class="dashicons dashicons-plus-alt"></i></a>';
422
+
423
+ $option_choices .= '</li>';
424
+ }
425
+ $option_choices .= '</ul>';
426
+ // Field option row (markup) including label and input.
427
+ $output = $this->field_element(
428
+ 'row',
429
+ $field,
430
+ array(
431
+ 'slug' => 'choices',
432
+ 'content' => $option_label . $option_choices,
433
+ )
434
+ );
435
+ break;
436
+
437
+ // ---------------------------------------------------------------//
438
+ // Advanced Fields.
439
+ // ---------------------------------------------------------------//
440
+
441
+ // Default value. -------------------------------------------------//
442
+
443
+ case 'default_value':
444
+ $value = ! empty( $field['default_value'] ) ? esc_attr( $field['default_value'] ) : '';
445
+ $tooltip = __( 'Enter text for the default form field value.', 'everest-forms' );
446
+ $toggle = '';
447
+ $output = $this->field_element( 'label', $field, array(
448
+ 'slug' => 'default_value',
449
+ 'value' => __( 'Default Value', 'everest-forms' ),
450
+ 'tooltip' => $tooltip,
451
+ 'after_tooltip' => $toggle
452
+ ), false );
453
+ $output .= $this->field_element( 'text', $field, array(
454
+ 'slug' => 'default_value',
455
+ 'value' => $value
456
+ ), false );
457
+ $output = $this->field_element( 'row', $field, array(
458
+ 'slug' => 'default_value',
459
+ 'content' => $output
460
+ ), false );
461
+ break;
462
+
463
+ // Advanced Options markup. ---------------------------------------//
464
+
465
+ case 'advanced-options':
466
+ $markup = ! empty( $args['markup'] ) ? $args['markup'] : 'open';
467
+ if ( 'open' === $markup ) {
468
+ $override = apply_filters( 'everest_forms_advanced_options_override', false );
469
+ $override = ! empty( $override ) ? 'style="display:' . $override . ';"' : '';
470
+ $output = sprintf( '<div class="everest-forms-field-option-group everest-forms-field-option-group-advanced everest-forms-hide closed" id="everest-forms-field-option-advanced-%s" %s>', $field['id'], $override );
471
+ $output .= sprintf( '<a href="#" class="everest-forms-field-option-group-toggle">%s<i class="handlediv"></i></a>', __( 'Advanced Options', 'everest-forms' ) );
472
+ $output .= '<div class="everest-forms-field-option-group-inner">';
473
+ } else {
474
+ $output = '</div></div>';
475
+ }
476
+ break;
477
+
478
+ // Placeholder. ---------------------------------------------------//
479
+
480
+ case 'placeholder':
481
+ $value = ! empty( $field['placeholder'] ) ? esc_attr( $field['placeholder'] ) : '';
482
+ $tooltip = __( 'Enter text for the form field placeholder.', 'everest-forms' );
483
+ $output = $this->field_element( 'label', $field, array(
484
+ 'slug' => 'placeholder',
485
+ 'value' => __( 'Placeholder Text', 'everest-forms' ),
486
+ 'tooltip' => $tooltip
487
+ ), false );
488
+ $output .= $this->field_element( 'text', $field, array(
489
+ 'slug' => 'placeholder',
490
+ 'value' => $value
491
+ ), false );
492
+ $output = $this->field_element( 'row', $field, array(
493
+ 'slug' => 'placeholder',
494
+ 'content' => $output
495
+ ), false );
496
+ break;
497
+
498
+ // CSS classes. ---------------------------------------------------//
499
+
500
+ case 'css':
501
+ $toggle = '';
502
+ $tooltip = __( 'Enter CSS class for this field container. Class names should be separated with spaces.', 'everest-forms' );
503
+ $value = ! empty( $field['css'] ) ? esc_attr( $field['css'] ) : '';
504
+ // Build output
505
+ $output = $this->field_element( 'label', $field, array(
506
+ 'slug' => 'css',
507
+ 'value' => __( 'CSS Classes', 'everest-forms' ),
508
+ 'tooltip' => $tooltip,
509
+ 'after_tooltip' => $toggle
510
+ ), false );
511
+ $output .= $this->field_element( 'text', $field, array( 'slug' => 'css', 'value' => $value ), false );
512
+ $output = $this->field_element( 'row', $field, array( 'slug' => 'css', 'content' => $output ), false );
513
+ break;
514
+
515
+ // Hide Label. ----------------------------------------------------//
516
+
517
+ case 'label_hide':
518
+ $value = isset( $field['label_hide'] ) ? $field['label_hide'] : '0';
519
+ $tooltip = __( 'Check this option to hide the form field label.', 'everest-forms' );
520
+ // Build output
521
+ $output = $this->field_element( 'checkbox', $field, array(
522
+ 'slug' => 'label_hide',
523
+ 'value' => $value,
524
+ 'desc' => __( 'Hide Label', 'everest-forms' ),
525
+ 'tooltip' => $tooltip
526
+ ), false );
527
+ $output = $this->field_element( 'row', $field, array(
528
+ 'slug' => 'label_hide',
529
+ 'content' => $output
530
+ ), false );
531
+ break;
532
+
533
+ // Hide Sub-Labels. -----------------------------------------------//
534
+
535
+ case 'sublabel_hide':
536
+ $value = isset( $field['sublabel_hide'] ) ? $field['sublabel_hide'] : '0';
537
+ $tooltip = __( 'Check this option to hide the form field sub-label.', 'everest-forms' );
538
+ // Build output
539
+ $output = $this->field_element( 'checkbox', $field, array(
540
+ 'slug' => 'sublabel_hide',
541
+ 'value' => $value,
542
+ 'desc' => __( 'Hide Sub-Labels', 'everest-forms' ),
543
+ 'tooltip' => $tooltip
544
+ ), false );
545
+ $output = $this->field_element( 'row', $field, array(
546
+ 'slug' => 'sublabel_hide',
547
+ 'content' => $output
548
+ ), false );
549
+ break;
550
+
551
+ } // End switch().
552
+
553
+ if ( $echo ) {
554
+
555
+ if ( in_array( $option, array( 'basic-options', 'advanced-options' ), true ) ) {
556
+
557
+ if ( 'open' === $markup ) {
558
+ do_action( "everest_forms_field_options_before_{$option}", $field, $this );
559
+ }
560
+
561
+ echo $output; // WPCS: XSS ok.
562
+
563
+ if ( 'close' === $markup ) {
564
+ do_action( "everest_forms_field_options_after_{$option}", $field, $this );
565
+ }
566
+ } else {
567
+ echo $output; // WPCS: XSS ok.
568
+ }
569
+ } else {
570
+ return $output;
571
+ }
572
+ }
573
+
574
+ /**
575
+ * Helper function to create common field options that are used frequently
576
+ * in the field preview.
577
+ *
578
+ * $since 1.0.0
579
+ *
580
+ * @param string $option
581
+ * @param array $field
582
+ * @param array $args
583
+ * @param boolean $echo
584
+ *
585
+ * @return mixed echo or return string
586
+ */
587
+ public function field_preview_option( $option, $field, $args = array(), $echo = true ) {
588
+
589
+ $required_string = isset( $field['required'] ) && $field['required'] ? '<span class="required">*</span>' : '';
590
+ $hide_style = isset( $field['label_hide'] ) && $field['label_hide'] ? 'display:none' : '';
591
+ switch ( $option ) {
592
+
593
+ case 'label':
594
+ $label = isset( $field['label'] ) && ! empty( $field['label'] ) ? esc_html( $field['label'] ) : '';
595
+ $output = sprintf( '<label style="%s" class="label-title"><span class="text">%s</span>%s</label>', $hide_style, $label, $required_string );
596
+ break;
597
+
598
+ case 'description':
599
+ $description = isset( $field['description'] ) && ! empty( $field['description'] ) ? $field['description'] : '';
600
+ $output = sprintf( '<div class="description">%s</div>', $description );
601
+ break;
602
+ }
603
+
604
+ if ( $echo ) {
605
+ echo $output; // WPCS: XSS ok.
606
+ } else {
607
+ return $output;
608
+ }
609
+ }
610
+
611
+ /**
612
+ * Create a new field in the admin AJAX editor.
613
+ *
614
+ * $since 1.0.0
615
+ */
616
+ public function field_new() {
617
+
618
+ // Run a security check.
619
+ check_ajax_referer( 'everest_forms_field_drop', 'security' );
620
+
621
+ // Check for permissions.
622
+ if ( ! current_user_can( apply_filters( 'everest_forms_manage_cap', 'manage_options' ) ) ) {
623
+ die( esc_html__( 'You do no have permission.', 'everest-forms' ) );
624
+ }
625
+
626
+
627
+ // Check for form ID.
628
+ if ( ! isset( $_POST['form_id'] ) || empty( $_POST['form_id'] ) ) {
629
+ die( esc_html__( 'No form ID found', 'everest-forms' ) );
630
+ }
631
+
632
+ // Check for field type to add.
633
+ if ( ! isset( $_POST['field_type'] ) || empty( $_POST['field_type'] ) ) {
634
+ die( esc_html__( 'No field type found', 'everest-forms' ) );
635
+ }
636
+
637
+ $field_args = ! empty( $_POST['defaults'] ) ? (array) $_POST['defaults'] : array();
638
+
639
+ $field_type = esc_attr( $_POST['field_type'] );
640
+ $field_id = EVF()->form->field_unique_key( $_POST['form_id'] );
641
+ $field = array(
642
+ 'id' => $field_id,
643
+ 'type' => $field_type,
644
+ 'label' => $this->name,
645
+ 'description' => '',
646
+ );
647
+
648
+ $field = wp_parse_args( $field_args, $field );
649
+ $field = apply_filters( 'everest_forms_field_new_default', $field );
650
+ $field_required = apply_filters( 'everest_forms_field_new_required', '', $field );
651
+ $field_class = apply_filters( 'everest_forms_field_new_class', '', $field );
652
+
653
+ // Field types that default to required.
654
+ if ( ! empty( $field_required ) ) {
655
+ $field_required = 'required';
656
+ $field['required'] = '1';
657
+ }
658
+
659
+ // Build Preview.
660
+ ob_start();
661
+
662
+ $this->field_preview( $field );
663
+ $prev = ob_get_clean();
664
+ $preview = sprintf( '<div class="everest-forms-field everest-forms-field-%s %s %s" id="everest-forms-field-%s" data-field-id="%s" data-field-type="%s">', $field_type, $field_required, $field_class, $field['id'], $field['id'], $field_type );
665
+ $preview .= sprintf( '<div class="evf-field-action">' );
666
+ $preview .= sprintf( '<a href="#" class="everest-forms-field-duplicate" title="%s"><span class="dashicons dashicons-media-default"></span></a>', __( 'Duplicate Field', 'everest-forms' ) );
667
+ $preview .= sprintf( '<a href="#" class="everest-forms-field-delete" title="%s"><span class="dashicons dashicons-trash"></span></a>', __( 'Delete Field', 'everest-forms' ) );
668
+ $preview .= sprintf( '<a href="#" class="everest-forms-field-setting" title="%s"><span class="dashicons dashicons-admin-generic"></span></a>', __( 'Settings', 'everest-forms' ) );
669
+ $preview .= sprintf( '</div>' );
670
+ $preview .= $prev;
671
+ $preview .= '</div>';
672
+
673
+ // Build Options.
674
+ $options = sprintf( '<div class="everest-forms-field-option everest-forms-field-option-%s" id="everest-forms-field-option-%s" data-field-id="%s">', esc_attr( $field['type'] ), $field['id'], $field['id'] );
675
+ $options .= sprintf( '<input type="hidden" name="form_fields[%s][id]" value="%s" class="everest-forms-field-option-hidden-id">', $field['id'], $field['id'] );
676
+ $options .= sprintf( '<input type="hidden" name="form_fields[%s][type]" value="%s" class="everest-forms-field-option-hidden-type">', $field['id'], esc_attr( $field['type'] ) );
677
+ ob_start();
678
+ $this->field_options( $field );
679
+ $options .= ob_get_clean();
680
+ $options .= '</div>';
681
+
682
+ $form_field_array = explode( '-', $field_id );
683
+ $field_id_int = absint( $form_field_array[ count( $form_field_array ) - 1 ] );
684
+
685
+ // Prepare to return compiled results.
686
+ wp_send_json_success(
687
+ array(
688
+ 'form_id' => $_POST['form_id'],
689
+ 'field' => $field,
690
+ 'preview' => $preview,
691
+ 'options' => $options,
692
+ 'form_field_id' => ( $field_id_int + 1 )
693
+ )
694
+ );
695
+ }
696
+
697
+ /**
698
+ * Display the field input elements on the frontend.
699
+ *
700
+ * $since 1.0.0
701
+ *
702
+ * @param array $field
703
+ * @param array $field_atts
704
+ * @param array $form_data
705
+ */
706
+ public function field_display( $field, $field_atts, $form_data ) {
707
+ }
708
+
709
+ /**
710
+ * Display field input errors if present.
711
+ *
712
+ * $since 1.0.0
713
+ *
714
+ * @param string $key
715
+ * @param array $field
716
+ */
717
+ public function field_display_error( $key, $field ) {
718
+
719
+ // Need an error.
720
+ if ( empty( $field['properties']['error']['value'][ $key ] ) ) {
721
+ return;
722
+ }
723
+
724
+ printf(
725
+ '<label class="everest-forms-error" for="%s">%s</label>',
726
+ esc_attr( $field['properties']['inputs'][ $key ]['id'] ),
727
+ esc_html( $field['properties']['error']['value'][ $key ] )
728
+ );
729
+ }
730
+
731
+ /**
732
+ * Display field input sublabel if present.
733
+ *
734
+ * $since 1.0.0
735
+ *
736
+ * @param string $key
737
+ * @param string $position
738
+ * @param array $field
739
+ */
740
+ public function field_display_sublabel( $key, $position, $field ) {
741
+
742
+ // Need a sublabel value.
743
+ if ( empty( $field['properties']['inputs'][ $key ]['sublabel']['value'] ) ) {
744
+ return;
745
+ }
746
+
747
+ $pos = ! empty( $field['properties']['inputs'][ $key ]['sublabel']['position'] ) ? $field['properties']['inputs'][ $key ]['sublabel']['position'] : 'after';
748
+ $hidden = ! empty( $field['properties']['inputs'][ $key ]['sublabel']['hidden'] ) ? 'everest-forms-sublabel-hide' : '';
749
+
750
+ if ( $pos !== $position ) {
751
+ return;
752
+ }
753
+
754
+ printf(
755
+ '<label for="%s" class="everest-forms-field-sublabel %s %s">%s</label>',
756
+ esc_attr( $field['properties']['inputs'][ $key ]['id'] ),
757
+ sanitize_html_class( $pos ),
758
+ $hidden,
759
+ $field['properties']['inputs'][ $key ]['sublabel']['value']
760
+ );
761
+ }
762
+
763
+ /**
764
+ * Validates field on form submit.
765
+ *
766
+ * $since 1.0.0
767
+ *
768
+ * @param int $field_id
769
+ * @param array $field_submit
770
+ * @param array $form_data
771
+ */
772
+ public function validate( $field_id, $field_type, $field_submit, $form_data ) {
773
+ $required_field = isset( $form_data['form_fields'][ $field_id ]['required'] ) ? $form_data['form_fields'][ $field_id ]['required'] : false;
774
+
775
+ // Basic required check - If field is marked as required, check for entry data.
776
+ if ( false !== $required_field && ( empty( $field_submit ) && '0' !== $field_submit ) ) {
777
+ EVF()->process->errors[ $form_data['id'] ][ $field_id ] = apply_filters( 'everest_forms_required_label', get_option( 'evf_required_validation', __( 'This field is required.', 'everest-forms' ) ) );
778
+ update_option( 'evf_validation_error', 'yes');
779
+ }
780
+ // Type validations.
781
+ switch ( $field_type ) {
782
+ case 'url':
783
+ if( ! empty( $_POST['everest_forms']['form_fields'][ $field_id ] ) && filter_var( $field_submit, FILTER_VALIDATE_URL ) === FALSE ){
784
+ $validation_text = get_option( 'evf_' . $field_type . '_validation', __( 'Please enter a valid url', 'everest-forms' ) );
785
+ }
786
+ break;
787
+ case 'email':
788
+ if ( ! empty( $_POST['everest_forms']['form_fields'][ $field_id ] ) && ! is_email( $field_submit ) ) {
789
+ $validation_text = get_option( 'evf_' . $field_type . '_validation', __( 'Please enter a valid email address', 'everest-forms' ) );
790
+ }
791
+ break;
792
+ case 'number':
793
+ if ( ! empty( $_POST['everest_forms']['form_fields'][ $field_id ] ) && ! is_numeric( $field_submit ) ){
794
+ $validation_text = get_option( 'evf_' . $field_type . '_validation', __( 'Please enter a valid number', 'everest-forms' ) );
795
+ }
796
+ break;
797
+ }
798
+
799
+ if( isset( $validation_text ) ){
800
+ EVF()->process->errors[ $form_data['id'] ][ $field_id ] = apply_filters( 'everest_forms_type_validation', $validation_text );
801
+ update_option( 'evf_validation_error', 'yes');
802
+ }
803
+ }
804
+
805
+ /**
806
+ * Formats and sanitizes field.
807
+ *
808
+ * $since 1.0.0
809
+ *
810
+ * @param int $field_id
811
+ * @param array $field_submit
812
+ * @param array $form_data
813
+ */
814
+ public function format( $field_id, $field_submit, $form_data ) {
815
+
816
+ if ( is_array( $field_submit ) ) {
817
+ $field_submit = array_filter( $field_submit );
818
+ $field_submit = implode( "\r\n", $field_submit );
819
+ }
820
+
821
+ $name = ! empty( $form_data['form_fields'][ $field_id ]['label'] ) ? sanitize_text_field( $form_data['form_fields'][ $field_id ]['label'] ) : '';
822
+
823
+ // Sanitize but keep line breaks.
824
+ $value = everest_forms_sanitize_textarea_field( $field_submit );
825
+
826
+ EVF()->process->fields[ $field_id ] = array(
827
+ 'name' => $name,
828
+ 'value' => $value,
829
+ 'id' => absint( $field_id ),
830
+ 'type' => $this->type,
831
+ );
832
+ }
833
+ }
trunk/includes/abstracts/abstract-evf-log-handler.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit; // Exit if accessed directly
4
+ }
5
+
6
+ /**
7
+ * Abstract EVF Log Handler Class
8
+ *
9
+ * @version 1.0.0
10
+ * @package EverestFroms/Abstracts
11
+ * @category Abstract Class
12
+ * @author WPEverest
13
+ */
14
+ abstract class EVF_Log_Handler implements EVF_Log_Handler_Interface {
15
+
16
+ /**
17
+ * Formats a timestamp for use in log messages.
18
+ *
19
+ * @param int $timestamp Log timestamp.
20
+ *
21
+ * @return string Formatted time for use in log entry.
22
+ */
23
+ protected static function format_time( $timestamp ) {
24
+ return date( 'c', $timestamp );
25
+ }
26
+
27
+ /**
28
+ * Builds a log entry text from level, timestamp and message.
29
+ *
30
+ * @param int $timestamp Log timestamp.
31
+ * @param string $level emergency|alert|critical|error|warning|notice|info|debug
32
+ * @param string $message Log message.
33
+ * @param array $context Additional information for log handlers.
34
+ *
35
+ * @return string Formatted log entry.
36
+ */
37
+ protected static function format_entry( $timestamp, $level, $message, $context ) {
38
+ $time_string = self::format_time( $timestamp );
39
+ $level_string = strtoupper( $level );
40
+ $entry = "{$time_string} {$level_string} {$message}";
41
+
42
+ return apply_filters( 'everest_forms_format_log_entry', $entry, array(
43
+ 'timestamp' => $timestamp,
44
+ 'level' => $level,
45
+ 'message' => $message,
46
+ 'context' => $context,
47
+ ) );
48
+ }
49
+ }
trunk/includes/abstracts/abstract-evf-session.php ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php // @codingStandardsIgnoreLine.
2
+ /**
3
+ * Handle data for the current customers session
4
+ *
5
+ * @version 1.0.0
6
+ * @package EverestForms\Abstracts
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit;
11
+ }
12
+
13
+ /**
14
+ * EVF_Session
15
+ */
16
+ abstract class EVF_Session {
17
+
18
+ /**
19
+ * Customer ID.
20
+ *
21
+ * @var int $_customer_id Customer ID.
22
+ */
23
+ protected $_customer_id;
24
+
25
+ /**
26
+ * Session Data.
27
+ *
28
+ * @var array $_data Data array.
29
+ */
30
+ protected $_data = array();
31
+
32
+ /**
33
+ * Dirty when the session needs saving.
34
+ *
35
+ * @var bool $_dirty When something changes
36
+ */
37
+ protected $_dirty = false;
38
+
39
+ /**
40
+ * Init hooks and session data. Extended by child classes.
41
+ */
42
+ public function init() {}
43
+
44
+ /**
45
+ * Cleanup session data. Extended by child classes.
46
+ */
47
+ public function cleanup_sessions() {}
48
+
49
+ /**
50
+ * Magic get method.
51
+ *
52
+ * @param mixed $key Key to get.
53
+ * @return mixed
54
+ */
55
+ public function __get( $key ) {
56
+ return $this->get( $key );
57
+ }
58
+
59
+ /**
60
+ * Magic set method.
61
+ *
62
+ * @param mixed $key Key to set.
63
+ * @param mixed $value Value to set.
64
+ */
65
+ public function __set( $key, $value ) {
66
+ $this->set( $key, $value );
67
+ }
68
+
69
+ /**
70
+ * Magic isset method.
71
+ *
72
+ * @param mixed $key Key to check.
73
+ * @return bool
74
+ */
75
+ public function __isset( $key ) {
76
+ return isset( $this->_data[ sanitize_title( $key ) ] );
77
+ }
78
+
79
+ /**
80
+ * Magic unset method.
81
+ *
82
+ * @param mixed $key Key to unset.
83
+ */
84
+ public function __unset( $key ) {
85
+ if ( isset( $this->_data[ $key ] ) ) {
86
+ unset( $this->_data[ $key ] );
87
+ $this->_dirty = true;
88
+ }
89
+ }
90
+
91
+ /**
92
+ * Get a session variable.
93
+ *
94
+ * @param string $key Key to get.
95
+ * @param mixed $default used if the session variable isn't set.
96
+ * @return array|string value of session variable
97
+ */
98
+ public function get( $key, $default = null ) {
99
+ $key = sanitize_key( $key );
100
+ return isset( $this->_data[ $key ] ) ? maybe_unserialize( $this->_data[ $key ] ) : $default;
101
+ }
102
+
103
+ /**
104
+ * Set a session variable.
105
+ *
106
+ * @param string $key Key to set.
107
+ * @param mixed $value Value to set.
108
+ */
109
+ public function set( $key, $value ) {
110
+ if ( $value !== $this->get( $key ) ) {
111
+ $this->_data[ sanitize_key( $key ) ] = maybe_serialize( $value );
112
+ $this->_dirty = true;
113
+ }
114
+ }
115
+
116
+ /**
117
+ * Get customer ID.
118
+ *
119
+ * @return int
120
+ */
121
+ public function get_customer_id() {
122
+ return $this->_customer_id;
123
+ }
124
+ }
trunk/includes/abstracts/class-evf-background-process.php ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Abstract WP_Background_Process class.
4
+ *
5
+ * Uses https://github.com/A5hleyRich/wp-background-processing to handle DB
6
+ * updates in the background.
7
+ *
8
+ * @package EverestForms/Classes
9
+ */
10
+
11
+ defined( 'ABSPATH' ) || exit;
12
+
13
+ if ( ! class_exists( 'WP_Async_Request', false ) ) {
14
+ include_once dirname( EVF_PLUGIN_FILE ) . '/includes/libraries/wp-async-request.php';
15
+ }
16
+
17
+ if ( ! class_exists( 'WP_Background_Process', false ) ) {
18
+ include_once dirname( EVF_PLUGIN_FILE ) . '/includes/libraries/wp-background-process.php';
19
+ }
20
+
21
+ /**
22
+ * EVF_Background_Process class.
23
+ */
24
+ abstract class EVF_Background_Process extends WP_Background_Process {
25
+
26
+ /**
27
+ * Is queue empty.
28
+ *
29
+ * @return bool
30
+ */
31
+ protected function is_queue_empty() {
32
+ global $wpdb;
33
+
34
+ $table = $wpdb->options;
35
+ $column = 'option_name';
36
+
37
+ if ( is_multisite() ) {
38
+ $table = $wpdb->sitemeta;
39
+ $column = 'meta_key';
40
+ }
41
+
42
+ $key = $wpdb->esc_like( $this->identifier . '_batch_' ) . '%';
43
+
44
+ $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$table} WHERE {$column} LIKE %s", $key ) ); // @codingStandardsIgnoreLine.
45
+
46
+ return ! ( $count > 0 );
47
+ }
48
+
49
+ /**
50
+ * Get batch.
51
+ *
52
+ * @return stdClass Return the first batch from the queue.
53
+ */
54
+ protected function get_batch() {
55
+ global $wpdb;
56
+
57
+ $table = $wpdb->options;
58
+ $column = 'option_name';
59
+ $key_column = 'option_id';
60
+ $value_column = 'option_value';
61
+
62
+ if ( is_multisite() ) {
63
+ $table = $wpdb->sitemeta;
64
+ $column = 'meta_key';
65
+ $key_column = 'meta_id';
66
+ $value_column = 'meta_value';
67
+ }
68
+
69
+ $key = $wpdb->esc_like( $this->identifier . '_batch_' ) . '%';
70
+
71
+ $query = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$table} WHERE {$column} LIKE %s ORDER BY {$key_column} ASC LIMIT 1", $key ) ); // @codingStandardsIgnoreLine.
72
+
73
+ $batch = new stdClass();
74
+ $batch->key = $query->$column;
75
+ $batch->data = array_filter( (array) maybe_unserialize( $query->$value_column ) );
76
+
77
+ return $batch;
78
+ }
79
+
80
+ /**
81
+ * See if the batch limit has been exceeded.
82
+ *
83
+ * @return bool
84
+ */
85
+ protected function batch_limit_exceeded() {
86
+ return $this->time_exceeded() || $this->memory_exceeded();
87
+ }
88
+
89
+ /**
90
+ * Handle.
91
+ *
92
+ * Pass each queue item to the task handler, while remaining
93
+ * within server memory and time limit constraints.
94
+ */
95
+ protected function handle() {
96
+ $this->lock_process();
97
+
98
+ do {
99
+ $batch = $this->get_batch();
100
+
101
+ foreach ( $batch->data as $key => $value ) {
102
+ $task = $this->task( $value );
103
+
104
+ if ( false !== $task ) {
105
+ $batch->data[ $key ] = $task;
106
+ } else {
107
+ unset( $batch->data[ $key ] );
108
+ }
109
+
110
+ if ( $this->batch_limit_exceeded() ) {
111
+ // Batch limits reached.
112
+ break;
113
+ }
114
+ }
115
+
116
+ // Update or delete current batch.
117
+ if ( ! empty( $batch->data ) ) {
118
+ $this->update( $batch->key, $batch->data );
119
+ } else {
120
+ $this->delete( $batch->key );
121
+ }
122
+ } while ( ! $this->batch_limit_exceeded() && ! $this->is_queue_empty() );
123
+
124
+ $this->unlock_process();
125
+
126
+ // Start next batch or complete process.
127
+ if ( ! $this->is_queue_empty() ) {
128
+ $this->dispatch();
129
+ } else {
130
+ $this->complete();
131
+ }
132
+ }
133
+
134
+ /**
135
+ * Get memory limit.
136
+ *
137
+ * @return int
138
+ */
139
+ protected function get_memory_limit() {
140
+ if ( function_exists( 'ini_get' ) ) {
141
+ $memory_limit = ini_get( 'memory_limit' );
142
+ } else {
143
+ // Sensible default.
144
+ $memory_limit = '128M';
145
+ }
146
+
147
+ if ( ! $memory_limit || -1 === intval( $memory_limit ) ) {
148
+ // Unlimited, set to 32GB.
149
+ $memory_limit = '32000M';
150
+ }
151
+
152
+ return intval( $memory_limit ) * 1024 * 1024;
153
+ }
154
+
155
+ /**
156
+ * Schedule cron healthcheck.
157
+ *
158
+ * @param array $schedules Schedules.
159
+ * @return array
160
+ */
161
+ public function schedule_cron_healthcheck( $schedules ) {
162
+ $interval = apply_filters( $this->identifier . '_cron_interval', 5 );
163
+
164
+ if ( property_exists( $this, 'cron_interval' ) ) {
165
+ $interval = apply_filters( $this->identifier . '_cron_interval', $this->cron_interval_identifier );
166
+ }
167
+
168
+ // Adds every 5 minutes to the existing schedules.
169
+ $schedules[ $this->identifier . '_cron_interval' ] = array(
170
+ 'interval' => MINUTE_IN_SECONDS * $interval,
171
+ /* translators: %d: interval */
172
+ 'display' => sprintf( __( 'Every %d minutes', 'everest-forms' ), $interval ),
173
+ );
174
+
175
+ return $schedules;
176
+ }
177
+
178
+ /**
179
+ * Delete all batches.
180
+ *
181
+ * @return EVF_Background_Process
182
+ */
183
+ public function delete_all_batches() {
184
+ global $wpdb;
185
+
186
+ $table = $wpdb->options;
187
+ $column = 'option_name';
188
+
189
+ if ( is_multisite() ) {
190
+ $table = $wpdb->sitemeta;
191
+ $column = 'meta_key';
192
+ }
193
+
194
+ $key = $wpdb->esc_like( $this->identifier . '_batch_' ) . '%';
195
+
196
+ $wpdb->query( $wpdb->prepare( "DELETE FROM {$table} WHERE {$column} LIKE %s", $key ) ); // @codingStandardsIgnoreLine.
197
+
198
+ return $this;
199
+ }
200
+
201
+ /**
202
+ * Kill process.
203
+ *
204
+ * Stop processing queue items, clear cronjob and delete all batches.
205
+ */
206
+ public function kill_process() {
207
+ if ( ! $this->is_queue_empty() ) {
208
+ $this->delete_all_batches();
209
+ wp_clear_scheduled_hook( $this->cron_hook_identifier );
210
+ }
211
+ }
212
+ }
trunk/includes/admin/class-evf-add-form.php ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Functionality related to the admin TinyMCE editor.
5
+ *
6
+ * @class EVF_Add_Form
7
+ * @version 1.0.0
8
+ * @package EverestForms/Admin
9
+ * @category Admin
10
+ * @author WPEverest
11
+ */
12
+
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ if ( ! class_exists( 'EVF_Add_Form', false ) ) :
18
+
19
+ class EVF_Add_Form {
20
+
21
+ /**
22
+ * Primary class constructor.
23
+ */
24
+
25
+ public function __construct() {
26
+
27
+ add_action( 'media_buttons', array( $this, 'media_button' ), 15 );
28
+ }
29
+
30
+ /**
31
+ * Allow easy shortcode insertion via a custom media button.
32
+ *
33
+ * @since 1.0.0
34
+ *
35
+ * @param string $editor_id
36
+ */
37
+ function media_button( $editor_id ) {
38
+
39
+ if ( ! apply_filters( 'evf_display_media_button', is_admin(), $editor_id ) ) {
40
+ return;
41
+ }
42
+
43
+ // Setup the icon - cevfrently using a dashicon
44
+
45
+ $icon = '<span class="dashicons dashicons-list-view" style="line-height:25px; font-size:16px"></span>';
46
+ $login_icon = '<span class="dashicons dashicons-migrate" style="line-height:25px; font-size:16px"></span>';
47
+
48
+ printf( '<a href="#" class="button evf-insert-form-button" data-editor="%s" title="%s">%s %s</a>',
49
+ esc_attr( $editor_id ),
50
+ esc_attr__( 'Add Everest Form', 'everest-forms' ),
51
+ $icon,
52
+ __( 'Add Form', 'everest-forms' )
53
+ );
54
+
55
+ add_action( 'admin_footer', array( $this, 'shortcode_modal' ) );
56
+ }
57
+
58
+ function shortcode_modal() {
59
+
60
+ ?>
61
+ <div id="evf-modal-backdrop" style="display: none"></div>
62
+ <div id="evf-modal-wrap" style="display: none">
63
+ <form id="evf-modal" tabindex="-1">
64
+ <div id="evf-modal-title">
65
+ <?php _e( 'Insert Form', 'everest-forms' ); ?>
66
+ <button type="button" id="evf-modal-close"><span class="screen-reader-text"><?php _e( 'Close', 'everest-forms' ); ?></span></button>
67
+ </div>
68
+ <div id="evf-modal-inner">
69
+ <div id="evf-modal-options">
70
+ <?php
71
+ $forms = evf_get_all_forms();
72
+
73
+ if ( !empty( $forms ) ) {
74
+ printf( '<p><label for="evf-modal-select-form">%s</label></p>', __( 'Select a form below to insert', 'everest-forms' ) );
75
+ echo '<select id="evf-modal-select-form">';
76
+ foreach ( $forms as $form => $form_value) {
77
+ printf( '<option value="%d">%s</option>', $form, esc_html( $form_value ) );
78
+ }
79
+ echo '</select>';
80
+
81
+ } else {
82
+ echo '<p>';
83
+ __(printf( 'Whoops, you haven\'t created a form yet.'),'everest-forms');
84
+ echo '</p>';
85
+ }
86
+ ?>
87
+ </div>
88
+ </div>
89
+ <div class="submitbox">
90
+ <div id="evf-modal-cancel">
91
+ <a class="submitdelete deletion" href="#"><?php _e( 'Cancel', 'everest-forms' ); ?></a>
92
+ </div>
93
+ <?php if ( ! empty( $forms ) ) : ?>
94
+ <div id="evf-modal-update">
95
+ <button class="button button-primary" id="evf-modal-submit"><?php _e( 'Add Form', 'everest-forms' ); ?></button>
96
+ </div>
97
+ <?php endif; ?>
98
+ </div>
99
+ </form>
100
+ </div>
101
+
102
+ <?php
103
+ }
104
+ }
105
+
106
+ endif;
107
+
108
+ return new EVF_Add_Form();
trunk/includes/admin/class-evf-admin-assets.php ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Load assets
4
+ *
5
+ * @author WPEverest
6
+ * @category Admin
7
+ * @package EverestForms/Admin
8
+ * @version 1.00
9
+ */
10
+
11
+ if ( ! defined( 'ABSPATH' ) ) {
12
+ exit;
13
+ }
14
+
15
+ if ( ! class_exists( 'EVF_Admin_Assets', false ) ) :
16
+
17
+ /**
18
+ * EVF_Admin_Assets Class.
19
+ */
20
+ class EVF_Admin_Assets {
21
+
22
+ /**
23
+ * Hook in tabs.
24
+ */
25
+ public function __construct() {
26
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_styles' ) );
27
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) );
28
+ add_action( 'everest_forms_builder_scripts', array( $this, 'everest_forms_builder_scripts' ) );
29
+ }
30
+
31
+ /**
32
+ * Enqueue assets for the builder.
33
+ *
34
+ * @since 1.0.0
35
+ */
36
+ public function everest_forms_builder_scripts() {
37
+
38
+ // Remove conflicting scripts.
39
+ do_action( 'everest_forms_builder_enqueues_before' );
40
+
41
+ wp_enqueue_style( 'everest_forms_admin_menu_styles', EVF()->plugin_url() . '/assets/css/everest-builder.css', array(), EVF_VERSION );
42
+ wp_enqueue_style( 'jquery-confirm-style', EVF()->plugin_url() . '/assets/js/jquery-confirm/jquery-confirm.min.css', array(), '3.3.0' );
43
+
44
+ wp_enqueue_script(
45
+ 'evf-admin-helper',
46
+ EVF()->plugin_url() . '/assets/js/admin/admin-helper.js',
47
+ array(
48
+
49
+ 'jquery',
50
+ 'jquery-blockui',
51
+ 'jquery-tiptip',
52
+ 'jquery-ui-sortable',
53
+ 'jquery-ui-widget',
54
+ 'jquery-ui-core',
55
+ 'jquery-ui-tabs',
56
+ 'jquery-ui-draggable',
57
+ 'jquery-ui-droppable',
58
+ 'jquery-tiptip',
59
+
60
+ ),
61
+ EVF_VERSION
62
+ );
63
+
64
+ wp_enqueue_script(
65
+ 'evf-panel-builder',
66
+ EVF()->plugin_url() . '/assets/js/admin/everest-panel-builder.js',
67
+ array( 'evf-admin-helper', 'jquery-confirm-script' ),
68
+ EVF_VERSION
69
+ );
70
+
71
+ // JS
72
+ wp_enqueue_media();
73
+
74
+ $params = apply_filters(
75
+ 'everest_forms_builder_strings', array(
76
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
77
+ 'tab' => isset( $_GET['tab'] ) ? $_GET['tab'] : '',
78
+ 'evf_field_drop_nonce' => wp_create_nonce( 'everest_forms_field_drop' ),
79
+ 'evf_save_form' => wp_create_nonce( 'everest_forms_save_form' ),
80
+ 'evf_get_next_id' => wp_create_nonce( 'everest_forms_get_next_id' ),
81
+ 'form_id' => isset( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : 0,
82
+ 'field' => esc_html__( 'field', 'everest-forms' ),
83
+ 'copy_of' => esc_html__( 'Copy of ', 'everest-forms' ),
84
+ 'i18n_ok' => esc_html__( 'OK', 'everest-forms' ),
85
+ 'i18n_close' => esc_html__( 'Close', 'everest-forms' ),
86
+ 'i18n_cancel' => esc_html__( 'Cancel', 'everest-forms' ),
87
+ 'i18n_row_locked' => esc_html__( 'Row Locked', 'everest-forms' ),
88
+ 'i18n_row_locked_msg' => esc_html__( 'Single row cannot be deleted.', 'everest-forms' ),
89
+ 'i18n_field_locked' => esc_html__( 'Field Locked', 'everest-forms' ),
90
+ 'i18n_field_locked_msg' => esc_html__( 'This field cannot be deleted or duplicated.', 'everest-forms' ),
91
+ 'i18n_field_error_choice' => esc_html__( 'This item must contain at least one choice.', 'everest-forms' ),
92
+ 'i18n_delete_row_confirm' => esc_html__( 'Are you sure you want to delete this row?', 'everest-forms' ),
93
+ 'i18n_delete_field_confirm' => esc_html__( 'Are you sure you want to delete this field?', 'everest-forms' ),
94
+ 'i18n_duplicate_field_confirm' => esc_html__( 'Are you sure you want to duplicate this field?', 'everest-forms' ),
95
+ )
96
+ );
97
+
98
+ wp_localize_script( 'evf-panel-builder', 'evf_data', $params );
99
+ }
100
+
101
+ /**
102
+ * Enqueue styles.
103
+ */
104
+ public function admin_styles() {
105
+ global $wp_scripts;
106
+
107
+ $screen = get_current_screen();
108
+ $screen_id = $screen ? $screen->id : '';
109
+
110
+
111
+ $jquery_version = isset( $wp_scripts->registered['jquery-ui-core']->ver ) ? $wp_scripts->registered['jquery-ui-core']->ver : '1.11.4';
112
+
113
+ // Sitewide menu CSS
114
+ wp_register_style( 'everest_forms_admin_menu_styles', EVF()->plugin_url() . '/assets/css/menu.css', array(), EVF_VERSION );
115
+
116
+ wp_register_style ( 'evf_add_form_css', EVF()->plugin_url() . '/assets/css/evf-add-form.css', array(), EVF_VERSION );
117
+ wp_enqueue_style('evf_add_form_css');
118
+
119
+ // Add RTL support for admin styles
120
+ wp_style_add_data( 'everest_forms_admin_menu_styles', 'rtl', 'replace' );
121
+
122
+ // Register admin styles
123
+ wp_register_style( 'evf-admin-entries-style', EVF()->plugin_url() . '/assets/css/admin-entries.css', array(), EVF_VERSION );
124
+ wp_register_style( 'evf-admin-setting-style', EVF()->plugin_url() . '/assets/css/admin-settings.css', array(), EVF_VERSION );
125
+
126
+ if ( in_array( $screen_id, array( 'toplevel_page_everest-forms', 'everest-forms_page_evf-entries' ), true ) ) {
127
+ wp_enqueue_style( 'evf-admin-entries-style' );
128
+ }
129
+
130
+ if ( $screen_id === 'everest-forms_page_evf-settings' ) {
131
+ wp_enqueue_style( 'evf-admin-setting-style' );
132
+ }
133
+ }
134
+
135
+ /**
136
+ * Enqueue scripts.
137
+ */
138
+ public function admin_scripts() {
139
+ global $wp_query, $post;
140
+
141
+ $screen = get_current_screen();
142
+ $screen_id = $screen ? $screen->id : '';
143
+ $evf_screen_id = sanitize_title( __( 'EverestForms', 'everest-forms' ) );
144
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
145
+
146
+ // Register scripts
147
+ wp_register_script( 'everest_forms_builder', EVF()->plugin_url() . '/assets/js/admin/everest-builder' . $suffix . '.js', array(
148
+ 'jquery',
149
+ ), EVF_VERSION );
150
+
151
+ wp_register_script( 'everest_forms_settings', EVF()->plugin_url() . '/assets/js/admin/settings' . $suffix . '.js', array(
152
+ 'jquery',
153
+ ), EVF_VERSION );
154
+
155
+
156
+ wp_register_script( 'jquery-confirm-script', EVF()->plugin_url() . '/assets/js/jquery-confirm/jquery-confirm.min.js', array(
157
+ 'jquery',
158
+ ), '3.3.0' );
159
+ wp_register_script( 'everest_forms_admin', EVF()->plugin_url() . '/assets/js/admin/everest-forms-admin' . $suffix . '.js', array(
160
+ 'jquery',
161
+ 'jquery-blockui',
162
+ 'jquery-ui-sortable',
163
+ 'jquery-ui-widget',
164
+ 'jquery-ui-core',
165
+ 'jquery-tiptip'
166
+ ), EVF_VERSION );
167
+ wp_register_script( 'jquery-blockui', EVF()->plugin_url() . '/assets/js/jquery-blockui/jquery.blockUI' . $suffix . '.js', array( 'jquery' ), '2.70', true );
168
+ wp_register_script( 'jquery-tiptip', EVF()->plugin_url() . '/assets/js/jquery-tiptip/jquery.tipTip' . $suffix . '.js', array( 'jquery' ), EVF_VERSION, true );
169
+ wp_register_script( 'evf_add_form_js', EVF()->plugin_url() . '/assets/js/admin/evf-add-form' . $suffix . '.js', 'jquery' );
170
+ wp_localize_script( 'evf_add_form_js', 'everest_add_form_params', array(
171
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
172
+ 'create_form_nonce' => wp_create_nonce( 'everest_forms_create_form' ),
173
+ ) );
174
+
175
+ wp_enqueue_script('evf_add_form_js');
176
+
177
+ if ( 'everest-forms_page_evf-settings' === $screen_id ) {
178
+ wp_enqueue_script( 'everest_forms_settings' );
179
+
180
+ }
181
+ // EverestForms admin pages
182
+ if ( in_array( $screen_id, evf_get_screen_ids() ) ) {
183
+
184
+ wp_enqueue_script( 'everest_forms_admin' );
185
+
186
+ $params = array(
187
+
188
+ 'urls' => array(
189
+ 'import_products' => esc_url_raw( admin_url( 'edit.php?post_type=product&page=product_importer' ) ),
190
+ 'export_products' => esc_url_raw( admin_url( 'edit.php?post_type=product&page=product_exporter' ) ),
191
+ ),
192
+ );
193
+
194
+ wp_localize_script( 'everest_forms_admin', 'everest_forms_admin', $params );
195
+ }
196
+ }
197
+ }
198
+
199
+ endif;
200
+
201
+ return new EVF_Admin_Assets();
trunk/includes/admin/class-evf-admin-entries-table-list.php ADDED
@@ -0,0 +1,436 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * EverestForms Entries Table List
4
+ *
5
+ * @package EverestForms\Admin
6
+ * @since 1.1.0
7
+ */
8
+
9
+ defined( 'ABSPATH' ) || exit;
10
+
11
+ if ( ! class_exists( 'WP_List_Table' ) ) {
12
+ require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
13
+ }
14
+
15
+ /**
16
+ * Entries table list class.
17
+ */
18
+ class EVF_Admin_Entries_Table_List extends WP_List_Table {
19
+
20
+ /**
21
+ * Form ID.
22
+ *
23
+ * @var int
24
+ */
25
+ public $form_id;
26
+
27
+ /**
28
+ * Forms object.
29
+ *
30
+ * @var EVF_Form_Handler
31
+ */
32
+ public $form;
33
+
34
+ /**
35
+ * Forms object.
36
+ *
37
+ * @var EVF_Form_Handler[]
38
+ */
39
+ public $forms;
40
+
41
+ /**
42
+ * Form data as an array.
43
+ *
44
+ * @var array
45
+ */
46
+ public $form_data;
47
+
48
+ /**
49
+ * Initialize the log table list.
50
+ */
51
+ public function __construct() {
52
+ // Fetch all forms.
53
+ $this->forms = evf_get_all_forms( true );
54
+
55
+ // Check that the user has created at least one form.
56
+ if ( ! empty( $this->forms ) ) {
57
+ $this->form_id = ! empty( $_REQUEST['form_id'] ) ? absint( $_REQUEST['form_id'] ) : apply_filters( 'everest_forms_entry_list_default_form_id', key( $this->forms ) );
58
+ $this->form = EVF()->form->get( $this->form_id );
59
+ $this->form_data = ! empty( $this->form->post_content ) ? evf_decode( $this->form->post_content ) : '';
60
+ }
61
+
62
+ parent::__construct( array(
63
+ 'singular' => 'entry',
64
+ 'plural' => 'entries',
65
+ 'ajax' => false,
66
+ ) );
67
+ }
68
+
69
+ /**
70
+ * No items found text.
71
+ */
72
+ public function no_items() {
73
+ esc_html_e( 'Whoops, it appears you do not have any form entries yet.', 'everest-forms' );
74
+ }
75
+
76
+ /**
77
+ * Get list columns.
78
+ *
79
+ * @return array
80
+ */
81
+ public function get_columns() {
82
+ $columns = array();
83
+ $columns['cb'] = '<input type="checkbox" />';
84
+ $columns = $this->get_columns_form_fields( $columns );
85
+ $columns['date'] = esc_html__( 'Date', 'everest-forms' );
86
+ $columns['actions'] = esc_html__( 'Actions', 'everest-forms' );
87
+
88
+ return apply_filters( 'everest_forms_entries_table_columns', $columns, $this->form_data );
89
+ }
90
+
91
+ /**
92
+ * Get a list of sortable columns.
93
+ *
94
+ * @return array
95
+ */
96
+ protected function get_sortable_columns() {
97
+ return array(
98
+ 'id' => array( 'title', false ),
99
+ 'date' => array( 'date', false ),
100
+ );
101
+ }
102
+
103
+ /**
104
+ * Get the list of fields, that are disallowed to be displayed as column in a table.
105
+ *
106
+ * @return array
107
+ */
108
+ public static function get_columns_form_disallowed_fields() {
109
+ return (array) apply_filters( 'everest_forms_entries_table_fields_disallow', array( 'divider', 'html', 'pagebreak', 'captcha' ) );
110
+ }
111
+
112
+ /**
113
+ * Logic to determine which fields are displayed in the table columns.
114
+ *
115
+ * @param array $columns
116
+ * @param int $display
117
+ *
118
+ * @return array
119
+ */
120
+ public function get_columns_form_fields( $columns = array(), $display = 3 ) {
121
+ $entry_columns = EVF()->form->get_meta( $this->form_id, 'entry_columns' );
122
+
123
+ if ( ! $entry_columns && ! empty( $this->form_data['form_fields'] ) ) {
124
+ $x = 0;
125
+ foreach ( $this->form_data['form_fields'] as $id => $field ) {
126
+ if ( ! in_array( $field['type'], self::get_columns_form_disallowed_fields(), true ) && $x < $display ) {
127
+ $columns[ 'evf_field_' . $id ] = ! empty( $field['label'] ) ? wp_strip_all_tags( $field['label'] ) : esc_html__( 'Field', 'everest-forms' );
128
+ $x++;
129
+ }
130
+ }
131
+ } elseif ( ! empty( $entry_columns ) ) {
132
+ foreach ( $entry_columns as $id ) {
133
+ // Check to make sure the field as not been removed.
134
+ if ( empty( $this->form_data['form_fields'][ $id ] ) ) {
135
+ continue;
136
+ }
137
+
138
+ $columns[ 'evf_field_' . $id ] = ! empty( $this->form_data['form_fields'][ $id ]['label'] ) ? wp_strip_all_tags( $this->form_data['form_fields'][ $id ]['label'] ) : esc_html__( 'Field', 'everest-forms' );
139
+ }
140
+ }
141
+
142
+ return $columns;
143
+ }
144
+
145
+ /**
146
+ * Column cb.
147
+ *
148
+ * @param object $entry Entry object.
149
+ * @return string
150
+ */
151
+ public function column_cb( $entry ) {
152
+ return sprintf( '<input type="checkbox" name="%1$s[]" value="%2$s" />', $this->_args['singular'], $entry->entry_id );
153
+ }
154
+
155
+ /**
156
+ * Show specific form fields.
157
+ *
158
+ * @param object $entry
159
+ * @param string $column_name
160
+ * @return string
161
+ */
162
+ public function column_form_field( $entry, $column_name ) {
163
+ $field_id = str_replace( 'evf_field_', '', $column_name );
164
+ $meta_value = isset( $this->form_data['form_fields'][ $field_id ]['meta-key'] ) ? $this->form_data['form_fields'][ $field_id ]['meta-key'] : $field_id;
165
+
166
+ if ( ! empty( $entry->meta[ $meta_value ] ) ) {
167
+ $value = $entry->meta[ $meta_value ];
168
+
169
+ // Limit to 5 lines.
170
+ $lines = explode( "\n", $value );
171
+ $value = array_slice( $lines, 0, 4 );
172
+ $value = implode( "\n", $value );
173
+
174
+ if ( count( $lines ) > 5 ) {
175
+ $value .= '&hellip;';
176
+ } elseif ( strlen( $value ) > 75 ) {
177
+ $value = substr( $value, 0, 75 ) . '&hellip;';
178
+ }
179
+
180
+ $value = nl2br( wp_strip_all_tags( trim( $value ) ) );
181
+
182
+ if ( is_serialized( $value ) ) {
183
+ $field_html = array();
184
+ $field_value = maybe_unserialize( $value );
185
+
186
+ foreach ( $field_value as $field => $meta_val ) {
187
+ $field_html[] = $meta_val;
188
+ }
189
+
190
+ $value = implode( ' | ', $field_html );
191
+ }
192
+
193
+ return apply_filters( 'everest_forms_html_field_value', $value, $entry->meta[ $meta_value ], $this->form_data, 'entry-table' );
194
+ } else {
195
+ return '<span class="na">&mdash;</span>';
196
+ }
197
+ }
198
+
199
+ /**
200
+ * Renders the columns.
201
+ *
202
+ * @param object $entry
203
+ * @param string $column_name
204
+ * @return string
205
+ */
206
+ public function column_default( $entry, $column_name ) {
207
+ switch ( $column_name ) {
208
+ case 'id':
209
+ $value = absint( $entry->entry_id );
210
+ break;
211
+
212
+ case 'date':
213
+ $value = date_i18n( get_option( 'date_format' ), strtotime( $entry->date_created ) + ( get_option( 'gmt_offset' ) * 3600 ) );
214
+ break;
215
+
216
+ default:
217
+ if ( false !== strpos( $column_name, 'evf_field_' ) ) {
218
+ $value = $this->column_form_field( $entry, $column_name );
219
+ } else {
220
+ $value = '';
221
+ }
222
+ break;
223
+ }
224
+
225
+ return apply_filters( 'everest_forms_entry_table_column_value', $value, $entry, $column_name );
226
+ }
227
+
228
+ /**
229
+ * Render the actions column.
230
+ *
231
+ * @param object $entry
232
+ * @return string
233
+ */
234
+ public function column_actions( $entry ) {
235
+ if ( 'trash' !== $entry->status ) {
236
+ $actions = array(
237
+ 'view' => '<a href="' . esc_url( admin_url( 'admin.php?page=evf-entries&amp;form_id=' . $entry->form_id . '&amp;view-entry=' . $entry->entry_id ) ) . '">' . esc_html__( 'View', 'everest-forms' ) . '</a>',
238
+ /* translators: %s: entry name */
239
+ 'trash' => '<a class="submitdelete" aria-label="' . esc_attr__( 'Trash form entry', 'everest-forms' ) . '" href="' . esc_url( wp_nonce_url( add_query_arg( array(
240
+ 'trash' => $entry->entry_id,
241
+ 'form_id' => $this->form_id,
242
+ ), admin_url( 'admin.php?page=evf-entries' ) ), 'trash-entry' ) ) . '">' . esc_html__( 'Trash', 'everest-forms' ) . '</a>',
243
+ );
244
+ } else {
245
+ $actions = array(
246
+ 'untrash' => '<a aria-label="' . esc_attr__( 'Restore form entry from trash', 'everest-forms' ) . '" href="' . esc_url( wp_nonce_url( add_query_arg( array(
247
+ 'untrash' => $entry->entry_id,
248
+ 'form_id' => $this->form_id,
249
+ ), admin_url( 'admin.php?page=evf-entries' ) ), 'untrash-entry' ) ) . '">' . esc_html__( 'Restore', 'everest-forms' ) . '</a>',
250
+ 'delete' => '<a class="submitdelete" aria-label="' . esc_attr__( 'Delete form entry permanently', 'everest-forms' ) . '" href="' . esc_url( wp_nonce_url( add_query_arg( array(
251
+ 'delete' => $entry->entry_id,
252
+ 'form_id' => $this->form_id,
253
+ ), admin_url( 'admin.php?page=evf-entries' ) ), 'delete-entry' ) ) . '">' . esc_html__( 'Delete Permanently', 'everest-forms' ) . '</a>',
254
+ );
255
+ }
256
+
257
+ return implode( ' <span class="sep">|</span> ', apply_filters( 'everest_forms_entry_table_actions', $actions, $entry ) );
258
+ }
259
+
260
+ /**
261
+ * Get the status label for entries.
262
+ *
263
+ * @param string $status_name Status name.
264
+ * @param int $amount Amount of entries.
265
+ * @return array
266
+ */
267
+ private function get_status_label( $status_name, $amount ) {
268
+ $statuses = evf_get_entry_statuses();
269
+
270
+ if ( isset( $statuses[ $status_name ] ) ) {
271
+ return array(
272
+ 'singular' => sprintf( '%s <span class="count">(%s)</span>', esc_html( $statuses[ $status_name ] ), $amount ),
273
+ 'plural' => sprintf( '%s <span class="count">(%s)</span>', esc_html( $statuses[ $status_name ] ), $amount ),
274
+ 'context' => '',
275
+ 'domain' => 'everest-forms',
276
+ );
277
+ }
278
+
279
+ return array(
280
+ 'singular' => sprintf( '%s <span class="count">(%s)</span>', esc_html( $status_name ), $amount ),
281
+ 'plural' => sprintf( '%s <span class="count">(%s)</span>', esc_html( $status_name ), $amount ),
282
+ 'context' => '',
283
+ 'domain' => 'everest-forms',
284
+ );
285
+ }
286
+
287
+ /**
288
+ * Table list views.
289
+ *
290
+ * @return array
291
+ */
292
+ protected function get_views() {
293
+ $status_links = array();
294
+ $num_entries = evf_get_count_entries_by_status( $this->form_id );
295
+ $total_entries = array_sum( (array) $num_entries ) - $num_entries['trash'];
296
+ $statuses = array_keys( evf_get_entry_statuses() );
297
+ $class = empty( $_REQUEST['status'] ) ? ' class="current"' : ''; // WPCS: input var okay. CSRF ok.
298
+
299
+ /* translators: %s: count */
300
+ $status_links['all'] = "<a href='admin.php?page=evf-entries&amp;form_id=$this->form_id'$class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_entries, 'entries', 'everest-forms' ), number_format_i18n( $total_entries ) ) . '</a>';
301
+
302
+ foreach ( $statuses as $status_name ) {
303
+ $class = '';
304
+
305
+ if ( empty( $num_entries[ $status_name ] ) || 'publish' === $status_name ) {
306
+ continue;
307
+ }
308
+
309
+ if ( isset( $_REQUEST['status'] ) && sanitize_key( wp_unslash( $_REQUEST['status'] ) ) === $status_name ) { // WPCS: input var okay, CSRF ok.
310
+ $class = ' class="current"';
311
+ }
312
+
313
+ $label = $this->get_status_label( $status_name, $num_entries[ $status_name ] );
314
+
315
+ $status_links[ $status_name ] = "<a href='admin.php?page=evf-entries&amp;form_id=$this->form_id&amp;status=$status_name'$class>" . sprintf( translate_nooped_plural( $label, $num_entries[ $status_name ] ), number_format_i18n( $num_entries[ $status_name ] ) ) . '</a>';
316
+ }
317
+
318
+ return $status_links;
319
+ }
320
+
321
+ /**
322
+ * Get bulk actions.
323
+ *
324
+ * @return array
325
+ */
326
+ protected function get_bulk_actions() {
327
+ if ( isset( $_GET['status'] ) && 'trash' == $_GET['status'] ) {
328
+ return array(
329
+ 'untrash' => __( 'Restore', 'everest-forms' ),
330
+ 'delete' => __( 'Delete Permanently', 'everest-forms' )
331
+ );
332
+ }
333
+
334
+ return array(
335
+ 'trash' => __( 'Move to Trash', 'everest-forms' )
336
+ );
337
+ }
338
+
339
+ /**
340
+ * Extra controls to be displayed between bulk actions and pagination.
341
+ *
342
+ * @param string $which
343
+ */
344
+ protected function extra_tablenav( $which ) {
345
+ ?>
346
+ <div class="alignleft actions">
347
+ <?php
348
+ if ( ! empty( $this->forms ) && 'top' == $which ) {
349
+ ob_start();
350
+ $this->forms_dropdown();
351
+ $output = ob_get_clean();
352
+
353
+ if ( ! empty( $output ) ) {
354
+ echo $output;
355
+ submit_button( __( 'Filter', 'everest-forms' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
356
+ }
357
+ }
358
+
359
+ if ( isset( $_GET['status'] ) && 'trash' == $_GET['status'] && current_user_can( 'manage_everest_forms' ) ) {
360
+ submit_button( __( 'Empty Trash', 'everest-forms' ), 'apply', 'delete_all', false );
361
+ }
362
+ ?>
363
+ </div>
364
+ <?php
365
+ }
366
+
367
+ /**
368
+ * Display a form dropdown for filtering entries.
369
+ */
370
+ public function forms_dropdown() {
371
+ $forms = evf_get_all_forms( true );
372
+ $form_id = isset( $_REQUEST['form_id'] ) ? absint( $_REQUEST['form_id'] ) : $this->form_id;
373
+
374
+ ?>
375
+ <label for="filter-by-form" class="screen-reader-text"><?php esc_html_e( 'Filter by form', 'everest-forms' ); ?></label>
376
+ <select name="form_id" id="filter-by-form">
377
+ <?php foreach( $forms as $id => $form ) : ?>
378
+ <option value="<?php echo esc_attr( $id ); ?>" <?php selected( $form_id, $id ); ?>><?php echo esc_html( $form ); ?></option>
379
+ <?php endforeach; ?>
380
+ </select>
381
+ <?php
382
+ }
383
+
384
+ /**
385
+ * Prepare table list items.
386
+ *
387
+ * @global wpdb $wpdb
388
+ */
389
+ public function prepare_items( $args = array() ) {
390
+ global $wpdb;
391
+
392
+ $per_page = $this->get_items_per_page( 'evf_entries_per_page' );
393
+ $current_page = $this->get_pagenum();
394
+
395
+ // Query args.
396
+ $args = array(
397
+ 'status' => 'publish',
398
+ 'form_id' => $this->form_id,
399
+ 'limit' => $per_page,
400
+ 'offset' => $per_page * ( $current_page - 1 ),
401
+ );
402
+
403
+ // Handle the status query.
404
+ if ( ! empty( $_REQUEST['status'] ) ) { // WPCS: input var okay, CSRF ok.
405
+ $args['status'] = sanitize_key( wp_unslash( $_REQUEST['status'] ) ); // WPCS: input var okay, CSRF ok.
406
+ }
407
+
408
+ if ( ! empty( $_REQUEST['s'] ) ) { // WPCS: input var okay, CSRF ok.
409
+ $args['search'] = sanitize_text_field( wp_unslash( $_REQUEST['s'] ) ); // WPCS: input var okay, CSRF ok.
410
+ }
411
+
412
+ if ( ! empty( $_REQUEST['orderby'] ) ) { // WPCS: input var okay, CSRF ok.
413
+ $args['orderby'] = sanitize_text_field( wp_unslash( $_REQUEST['orderby'] ) ); // WPCS: input var okay, CSRF ok.
414
+ }
415
+
416
+ if ( ! empty( $_REQUEST['order'] ) ) { // WPCS: input var okay, CSRF ok.
417
+ $args['order'] = sanitize_text_field( wp_unslash( $_REQUEST['order'] ) ); // WPCS: input var okay, CSRF ok.
418
+ }
419
+
420
+ // Get the entries.
421
+ $entries = evf_search_entries( $args );
422
+ $this->items = array_map( 'evf_get_entry', $entries );
423
+
424
+ // Get total items.
425
+ $args['limit'] = -1;
426
+ $args['offset'] = 0;
427
+ $total_items = count( evf_search_entries( $args ) );
428
+
429
+ // Set the pagination.
430
+ $this->set_pagination_args( array(
431
+ 'total_items' => $total_items,
432
+ 'per_page' => $per_page,
433
+ 'total_pages' => ceil( $total_items / $per_page ),
434
+ ) );
435
+ }
436
+ }
trunk/includes/admin/class-evf-admin-entries.php ADDED
@@ -0,0 +1,300 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * EverestForms Admin Entries Class
4
+ *
5
+ * @package EverestForms\Admin
6
+ * @since 1.1.0
7
+ */
8
+
9
+ defined( 'ABSPATH' ) || exit;
10
+
11
+ /**
12
+ * EVF_Admin_Entries class.
13
+ */
14
+ class EVF_Admin_Entries {
15
+
16
+ /**
17
+ * Initialize the entries admin actions.
18
+ */
19
+ public function __construct() {
20
+ add_action( 'admin_init', array( $this, 'actions' ) );
21
+ }
22
+
23
+ /**
24
+ * Check if is entries page.
25
+ *
26
+ * @return bool
27
+ */
28
+ private function is_entries_page() {
29
+ return isset( $_GET['page'] ) && 'evf-entries' === $_GET['page']; // WPCS: input var okay, CSRF ok.
30
+ }
31
+
32
+ /**
33
+ * Page output.
34
+ */
35
+ public static function page_output() {
36
+ if ( isset( $_GET['view-entry'] ) ) {
37
+ $form_id = isset( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : 0; // WPCS: input var okay, CSRF ok.
38
+ $entry_id = isset( $_GET['view-entry'] ) ? absint( $_GET['view-entry'] ) : 0; // WPCS: input var okay, CSRF ok.
39
+ $entry = evf_get_entry( $entry_id );
40
+
41
+ include 'views/html-admin-page-entries-view.php';
42
+ } else {
43
+ self::table_list_output();
44
+ }
45
+ }
46
+
47
+ /**
48
+ * Table list output.
49
+ */
50
+ private static function table_list_output() {
51
+ global $entries_table_list;
52
+
53
+ // Get the entries count.
54
+ $count = count( evf_get_entries_ids( $entries_table_list->form_id ) );
55
+
56
+ $entries_table_list->prepare_items();
57
+ ?>
58
+ <div class="wrap">
59
+ <h1 class="wp-heading-inline"><?php esc_html_e( 'Entries', 'everest-forms' ); ?></h1>
60
+ <hr class="wp-header-end">
61
+ <?php if ( 0 < $count ) : ?>
62
+ <form id="entries-list" method="post">
63
+ <input type="hidden" name="page" value="evf-entries" />
64
+ <?php
65
+ $entries_table_list->views();
66
+ $entries_table_list->search_box( __( 'Search Entries', 'everest-forms' ), 'everest-forms' );
67
+ $entries_table_list->display();
68
+ ?>
69
+ </form>
70
+ <?php else : ?>
71
+ <div class="everest-forms-BlankState">
72
+ <svg aria-hidden="true" class="octicon octicon-graph everest-forms-BlankState-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg>
73
+ <h2 class="everest-forms-BlankState-message"><?php esc_html_e( 'Whoops, it appears you do not have any form entries yet.', 'everest-forms' ); ?></h2>
74
+ <?php if ( ! empty( $entries_table_list->forms ) ) : ?>
75
+ <form id="entries-list" method="post"><?php
76
+ ob_start();
77
+ $entries_table_list->forms_dropdown();
78
+ $output = ob_get_clean();
79
+
80
+ if ( ! empty( $output ) ) {
81
+ echo $output;
82
+ submit_button( __( 'Filter', 'everest-forms' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
83
+ }
84
+ ?></form>
85
+ <?php else : ?>
86
+ <a class="everest-forms-BlankState-cta button-primary button" target="_blank" href="https://docs.wpeverest.com/docs/everest-forms/entry-management/?utm_source=blankslate&utm_medium=entry&utm_content=entriesdoc&utm_campaign=everestformplugin"><?php esc_html_e( 'Learn more about entries', 'everest-forms' ); ?></a>
87
+ <a class="everest-forms-BlankState-cta button" href="<?php echo esc_url( admin_url( 'admin.php?page=edit-evf-form&create-form=1' ) ); ?>"><?php esc_html_e( 'Create your first form!', 'everest-forms' ); ?></a>
88
+ <?php endif; ?>
89
+ <style type="text/css">#posts-filter .wp-list-table, #posts-filter .tablenav.top, .tablenav.bottom .actions, .wrap .subsubsub { display: none; }</style>
90
+ </div>
91
+ <?php endif; ?>
92
+ </div>
93
+ <?php
94
+ }
95
+
96
+ /**
97
+ * Entries admin actions.
98
+ */
99
+ public function actions() {
100
+ if ( $this->is_entries_page() ) {
101
+ // Trash entry.
102
+ if ( isset( $_GET['trash'] ) ) { // WPCS: input var okay, CSRF ok.
103
+ $this->trash_entry();
104
+ }
105
+
106
+ // Untrash entry.
107
+ if ( isset( $_GET['untrash'] ) ) { // WPCS: input var okay, CSRF ok.
108
+ $this->untrash_entry();
109
+ }
110
+
111
+ // Delete entry.
112
+ if ( isset( $_GET['delete'] ) ) { // WPCS: input var okay, CSRF ok.
113
+ $this->delete_entry();
114
+ }
115
+
116
+ // Bulk actions.
117
+ if ( isset( $_REQUEST['action'] ) && isset( $_REQUEST['entry'] ) ) { // WPCS: input var okay, CSRF ok.
118
+ $this->bulk_actions();
119
+ }
120
+
121
+ if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) { // WPCS: input var okay, CSRF ok.
122
+ $this->empty_trash();
123
+ }
124
+ }
125
+ }
126
+
127
+ /**
128
+ * Trash entry.
129
+ */
130
+ private function trash_entry() {
131
+ check_admin_referer( 'trash-entry' );
132
+
133
+ $form_id = isset( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : '';
134
+
135
+ if ( isset( $_GET['trash'] ) ) { // WPCS: input var okay, CSRF ok.
136
+ $entry_id = absint( $_GET['trash'] ); // WPCS: input var okay, CSRF ok.
137
+
138
+ if ( $entry_id ) {
139
+ $this->update_status( $entry_id, 'trash' );
140
+ }
141
+ }
142
+
143
+ wp_redirect( esc_url_raw( add_query_arg( array( 'form_id' => $form_id, 'trashed' => 1 ), admin_url( 'admin.php?page=evf-entries' ) ) ) );
144
+ exit();
145
+ }
146
+
147
+ /**
148
+ * Trash entry.
149
+ */
150
+ private function untrash_entry() {
151
+ check_admin_referer( 'untrash-entry' );
152
+
153
+ $form_id = isset( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : '';
154
+
155
+ if ( isset( $_GET['untrash'] ) ) { // WPCS: input var okay, CSRF ok.
156
+ $entry_id = absint( $_GET['untrash'] ); // WPCS: input var okay, CSRF ok.
157
+
158
+ if ( $entry_id ) {
159
+ $this->update_status( $entry_id, 'publish' );
160
+ }
161
+ }
162
+
163
+ wp_redirect( esc_url_raw( add_query_arg( array( 'form_id' => $form_id, 'untrashed' => 1 ), admin_url( 'admin.php?page=evf-entries' ) ) ) );
164
+ exit();
165
+ }
166
+
167
+ /**
168
+ * Delete entry.
169
+ */
170
+ private function delete_entry() {
171
+ check_admin_referer( 'delete-entry' );
172
+
173
+ $form_id = isset( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : '';
174
+
175
+ if ( isset( $_GET['delete'] ) ) { // WPCS: input var okay, CSRF ok.
176
+ $entry_id = absint( $_GET['delete'] ); // WPCS: input var okay, CSRF ok.
177
+
178
+ if ( $entry_id ) {
179
+ $this->remove_entry( $entry_id );
180
+ }
181
+ }
182
+
183
+ wp_redirect( esc_url_raw( add_query_arg( array( 'form_id' => $form_id, 'deleted' => 1 ), admin_url( 'admin.php?page=evf-entries' ) ) ) );
184
+ exit();
185
+ }
186
+
187
+ /**
188
+ * Empty Trash
189
+ */
190
+ public function empty_trash() {
191
+ global $wpdb;
192
+
193
+ if ( ! current_user_can( 'manage_everest_forms' ) ) {
194
+ wp_die( __( 'You do not have permissions to delete Entries!', 'everest-forms' ) );
195
+ }
196
+
197
+ if ( isset( $_GET['form_id'] ) ) { // WPCS: input var okay, CSRF ok.
198
+ $form_id = absint( $_GET['form_id'] ); // WPCS: input var okay, CSRF ok.
199
+
200
+ if ( $form_id ) {
201
+ $results = $wpdb->get_results( $wpdb->prepare( "SELECT entry_id FROM {$wpdb->prefix}evf_entries WHERE `status` = 'trash' AND form_id = %d", $form_id ) ); // WPCS: cache ok, DB call ok.
202
+ $entries = array_map( 'intval', wp_list_pluck( $results, 'entry_id' ) );
203
+
204
+ foreach ( $entries as $entry_id ) {
205
+ $this->remove_entry( $entry_id );
206
+ }
207
+
208
+ $qty = count( $entries );
209
+ }
210
+ }
211
+
212
+ wp_redirect( esc_url_raw( add_query_arg( array( 'form_id' => $form_id, 'deleted' => $qty ), admin_url( 'admin.php?page=evf-entries' ) ) ) );
213
+ exit();
214
+ }
215
+
216
+ /**
217
+ * Bulk actions.
218
+ */
219
+ private function bulk_actions() {
220
+ check_admin_referer( 'bulk-entries' );
221
+
222
+ if ( ! current_user_can( 'manage_everest_forms' ) ) {
223
+ wp_die( esc_html__( 'You do not have permission to edit Entries', 'everest-forms' ) );
224
+ }
225
+
226
+ if ( isset( $_REQUEST['action'] ) ) { // WPCS: input var okay, CSRF ok.
227
+ $action = sanitize_text_field( wp_unslash( $_REQUEST['action'] ) ); // WPCS: input var okay, CSRF ok.
228
+ $entries = isset( $_REQUEST['entry'] ) ? array_map( 'absint', (array) $_REQUEST['entry'] ) : array(); // WPCS: input var okay, CSRF ok.
229
+
230
+ if ( 'delete' === $action ) {
231
+ $this->bulk_delete_entry( $entries );
232
+ } elseif ( 'trash' === $action ) {
233
+ $this->bulk_update_status( $entries, 'trash' );
234
+ } elseif ( 'untrash' === $action ) {
235
+ $this->bulk_update_status( $entries, 'publish' );
236
+ }
237
+ }
238
+ }
239
+
240
+ /**
241
+ * Bulk delete entry.
242
+ *
243
+ * @param array $entries Entries.
244
+ */
245
+ private function bulk_delete_entry( $entries ) {
246
+ foreach ( $entries as $entry_id ) {
247
+ $this->remove_entry( $entry_id );
248
+ }
249
+ }
250
+
251
+ /**
252
+ * Bulk update entry status.
253
+ *
254
+ * @param array $entries Entries.
255
+ * @param string $status Entry status.
256
+ */
257
+ private function bulk_update_status( $entries, $status = '' ) {
258
+ foreach ( $entries as $entry_id ) {
259
+ $this->update_status( $entry_id, $status );
260
+ }
261
+ }
262
+
263
+ /**
264
+ * Remove entry.
265
+ *
266
+ * @param int $entry_id Entry ID.
267
+ * @return bool
268
+ */
269
+ private function remove_entry( $entry_id ) {
270
+ global $wpdb;
271
+
272
+ $delete = $wpdb->delete( $wpdb->prefix . 'evf_entries', array( 'entry_id' => $entry_id ), array( '%d' ) );
273
+
274
+ if ( apply_filters( 'everest_forms_delete_entrymeta', true ) ) {
275
+ $wpdb->delete( $wpdb->prefix . 'evf_entrymeta', array( 'entry_id' => $entry_id ), array( '%d' ) );
276
+ }
277
+
278
+ return $delete;
279
+ }
280
+
281
+ /**
282
+ * Set entry status.
283
+ *
284
+ * @param int $entry_id Entry ID.
285
+ * @param string $status Entry status.
286
+ */
287
+ private function update_status( $entry_id, $status = 'publish' ) {
288
+ global $wpdb;
289
+
290
+ $wpdb->update(
291
+ $wpdb->prefix . 'evf_entries',
292
+ array( 'status' => $status ),
293
+ array( 'entry_id' => $entry_id ),
294
+ array( '%s' ),
295
+ array( '%d' )
296
+ );
297
+ }
298
+ }
299
+
300
+ new EVF_Admin_Entries();
trunk/includes/admin/class-evf-admin-form-builder.php ADDED
@@ -0,0 +1,210 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * EverestForms Admin
4
+ *
5
+ * @package EverestForms/Admin
6
+ * @version 1.0.0
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit;
11
+ }
12
+
13
+ /**
14
+ * EVF_Admin_Form_Builder Class.
15
+ */
16
+ class EVF_Admin_Form_Builder {
17
+
18
+ /**
19
+ * Current view (panel)
20
+ *
21
+ * @since 1.0.0
22
+ * @var string
23
+ */
24
+ public $tab_view;
25
+
26
+ /**
27
+ * Available panels.
28
+ *
29
+ * @since 1.0.0
30
+ * @var array
31
+ */
32
+ public $admin_form_panels;
33
+
34
+ /**
35
+ * Current form.
36
+ *
37
+ * @since 1.0.0
38
+ * @var object
39
+ */
40
+ public $form;
41
+
42
+ /**
43
+ * Current template information.
44
+ *
45
+ * @since 1.0.0
46
+ * @var array
47
+ */
48
+ public $template;
49
+
50
+ private $sec_post_id;
51
+
52
+ /**
53
+ * Primary class constructor.
54
+ *
55
+ * @since 1.0.0
56
+ */
57
+ public function __construct() {
58
+
59
+ // Maybe load form builder
60
+
61
+ $this->init();
62
+ }
63
+
64
+ /**
65
+ * Determing if the user is viewing the builder, if so, party on.
66
+ *
67
+ * @since 1.0.0
68
+ */
69
+ public function init() {
70
+
71
+ // Check what page we are on
72
+ $page = isset( $_GET['page'] ) ? $_GET['page'] : '';
73
+
74
+ if ( ! 'edit-evf-form' === $page ) {
75
+ return;
76
+ }
77
+
78
+ // Load conditionally.
79
+ if ( ! isset( $_GET['tab'], $_GET['form_id'] ) ) {
80
+ add_action( 'everest_form_admin_form_template_page', array( $this, 'output_template' ) );
81
+ } elseif ( isset( $_GET['tab'], $_GET['form_id'] ) ) {
82
+ // Load form if found
83
+ $form_id = isset( $_GET['form_id'] ) ? absint( $_GET['form_id'] ) : false;
84
+
85
+ $this->form = EVF()->form->get( $form_id );
86
+
87
+ $this->tab_view = isset( $_GET['tab'] ) ? $_GET['tab'] : 'Fields';
88
+
89
+ // Default for new field is the setup panel
90
+ $this->load_admin_panels();
91
+
92
+ add_action( 'everest_form_admin_form_builder_page', array( $this, 'output' ) );
93
+
94
+ // Provide hook for addons
95
+ do_action( 'everest_forms_builder_init', $this->tab_view );
96
+
97
+ do_action( 'everest_forms_builder_scripts' );
98
+ }
99
+ }
100
+
101
+ public function load_admin_panels() {
102
+
103
+ // Abstract class
104
+ require_once EVF_ABSPATH . 'includes/abstracts/abstract-evf-admin-form-panel.php';
105
+
106
+ $this->admin_form_panels = apply_filters( 'everest_forms_builder_panels', array(
107
+ 'fields',
108
+ 'settings',
109
+ ) );
110
+
111
+ foreach ( $this->admin_form_panels as $panel ) {
112
+
113
+ $panel = 'class-evf-' . $panel . '-panel';
114
+
115
+ if ( file_exists( EVF_ABSPATH . 'includes/admin/form-panels/' . $panel . '.php' ) ) {
116
+
117
+ require_once EVF_ABSPATH . 'includes/admin/form-panels/' . $panel . '.php';
118
+
119
+ }
120
+ }
121
+ }
122
+
123
+ /**
124
+ * Load the appropriate files to build the page.
125
+ *
126
+ * @since 1.0.0
127
+ */
128
+ public function output() {
129
+ $form_id = $this->form ? absint( $this->form->ID ) : '';
130
+ $form_data = $this->form ? evf_decode( $this->form->post_content ) : false;
131
+ $form_data['form_field_id'] = isset( $form_data['form_field_id'] ) ? $form_data['form_field_id'] : 0;
132
+
133
+ ?>
134
+ <div id="everest-forms-builder">
135
+ <form name="everest-forms-builder" id="everest-forms-builder-form" method="post" data-id="<?php echo $form_id; ?>">
136
+ <input type="hidden" name="id" value="<?php echo $form_id; ?>">
137
+ <input type="hidden" value="<?php echo( $form_data['form_field_id'] ); ?>" name="form_field_id" id="everest-forms-field-id">
138
+
139
+ <!-- Panel toggle buttons -->
140
+ <div class="evf-builder-tabs clearfix" id="evf-builder-tabs">
141
+ <ul class="evf-tab-lists">
142
+ <?php do_action( 'everest_forms_builder_panel_buttons', $this->form, $this->tab_view ); ?>
143
+ <li class="evf-panel-field-options-button evf-disabled-tab" data-panel="field-options">
144
+ <a href="#"><span class="dashicons dashicons-admin-settings"></span><?php esc_html_e( 'Options', 'everest-forms' ); ?></a>
145
+ </li>
146
+ </ul>
147
+ <button type="button" name="save_form" class="evf_save_form_action_button"><?php esc_html_e( 'Save', 'everest-forms' ); ?></button>
148
+ </div>
149
+
150
+ <div class="evf-tab-content">
151
+ <?php do_action( 'everest_forms_builder_panels', $this->form, $this->tab_view ); ?>
152
+ <div style="clear:both"></div>
153
+ </div>
154
+ </form>
155
+ </div>
156
+ <?php
157
+ }
158
+
159
+ public function output_template() {
160
+
161
+ wp_enqueue_script( 'everest_forms_builder' );
162
+ wp_enqueue_script( 'everest_forms_settings' );
163
+ wp_enqueue_script( 'everest_forms_admin' );
164
+
165
+ include_once( dirname( __FILE__ ) . '/views/html-admin-form-modal.php' );
166
+ wp_enqueue_style( 'evf-form-modal-style', EVF()->plugin_url() . '/assets/css/evf-form-modal.css', array(), EVF_VERSION );
167
+
168
+ wp_enqueue_script( 'evf-admin-form-modal', EVF()->plugin_url() . '/assets/js/admin/evf-form-modal.js', array( 'underscore', 'backbone', 'wp-util' ), EVF_VERSION );
169
+
170
+ $core_templates = apply_filters( 'everest_forms_templates_core', array(
171
+ 'blank-form' => array(
172
+ 'slug' => 'blank',
173
+ 'name' => __( 'Blank Form', 'everest-forms' ),
174
+ ),
175
+ 'contact-form' => array(
176
+ 'slug' => 'contact',
177
+ 'name' => __( 'Contact Form', 'everest-forms' ),
178
+ ),
179
+ ) );
180
+ ?>
181
+ <div class ="wrap everest-forms">
182
+ <form id="everest-forms" class="everest-forms-setup" name="everest-forms-setup" method="post">
183
+ <div class="everest-forms-setup-form-name">
184
+ <span class="title"><?php _e( 'Form Name', 'everest-forms' ); ?></span>
185
+ <input type="text" id="everest-forms-setup-name" class="widefat everest-forms-setup-name" placeholder="<?php _e( 'Enter your form name here&hellip;', 'everest-forms' ); ?>">
186
+ </div>
187
+ <div class="evf-setup-title">
188
+ <?php esc_html_e( 'Select A Template', 'everest-forms' ); ?>
189
+ <p class="desc">
190
+ <?php esc_html_e( 'To speed up the process, you can select from one of our pre-made templates listed below:', 'everest-forms' ); ?>
191
+ </p>
192
+ </div>
193
+ <div class="evf-setup-templates">
194
+ <?php foreach ( $core_templates as $template ) : ?>
195
+ <div class="evf-template" id="everest-forms-template-<?php echo esc_attr( $template['slug'] ); ?>">
196
+ <img src="<?php echo esc_url( EVF()->plugin_url(). "/assets/images/{$template['slug']}-form.jpg" ); ?>" />
197
+ <div class="evf-template-overlay">
198
+ <a href="#" class="evf-button evf-button-rounded evf-template-select" data-template-name-raw="<?php echo esc_attr( $template['name'] ); ?>" data-template-name="<?php printf( _x( '%s template', 'Template name', 'everest-forms' ), esc_attr( $template['name'] ) ); ?>" data-template="<?php echo esc_attr( $template['slug'] ); ?>"><?php printf( _x( 'Create a %s', 'Template name', 'everest-forms' ), esc_html( $template['name'] ) ); ?></a>
199
+ </div>
200
+ </div>
201
+ <?php endforeach; ?>
202
+ </div>
203
+ <div class="clear"></div>
204
+ </form>
205
+ </div>
206
+ <?php
207
+ }
208
+ }
209
+
210
+ new EVF_Admin_Form_Builder();
trunk/includes/admin/class-evf-admin-forms-table-list.php ADDED
@@ -0,0 +1,388 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * EverestForms Forms Table List
4
+ *
5
+ * @package EverestForms\Admin
6
+ * @version 1.0.0
7
+ */
8
+
9
+ defined( 'ABSPATH' ) || exit;
10
+
11
+ if ( ! class_exists( 'WP_List_Table' ) ) {
12
+ require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
13
+ }
14
+
15
+ /**
16
+ * Forms table list class.
17
+ */
18
+ class EVF_Admin_Forms_Table_List extends WP_List_Table {
19
+
20
+ /**
21
+ * Initialize the form table list.
22
+ */
23
+ public function __construct() {
24
+ parent::__construct( array(
25
+ 'singular' => 'form',
26
+ 'plural' => 'forms',
27
+ 'ajax' => false,
28
+ ) );
29
+ }
30
+
31
+ /**
32
+ * No items found text.
33
+ */
34
+ public function no_items() {
35
+ esc_html_e( 'No Forms found.', 'everest-forms' );
36
+ }
37
+
38
+ /**
39
+ * Get list columns.
40
+ *
41
+ * @return array
42
+ */
43
+ public function get_columns() {
44
+ return array(
45
+ 'cb' => '<input type="checkbox" />',
46
+ 'title' => __( 'Title', 'everest-forms' ),
47
+ 'shortcode' => __( 'Shortcode', 'everest-forms' ),
48
+ 'author' => __( 'Author', 'everest-forms' ),
49
+ 'date' => __( 'Date', 'everest-forms' ),
50
+ 'entries' => __( 'Entries', 'everest-forms' ),
51
+ );
52
+ }
53
+
54
+ /**
55
+ * Get a list of sortable columns.
56
+ *
57
+ * @return array
58
+ */
59
+ protected function get_sortable_columns() {
60
+ return array(
61
+ 'title' => array( 'title', false ),
62
+ 'author' => array( 'author', false ),
63
+ 'date' => array( 'date', false ),
64
+ );
65
+ }
66
+
67
+ /**
68
+ * Column cb.
69
+ *
70
+ * @param array $post
71
+ *
72
+ * @return string
73
+ */
74
+ public function column_cb( $post ) {
75
+ return sprintf( '<input type="checkbox" name="%1$s[]" value="%2$s" />', $this->_args['singular'], $post->ID );
76
+ }
77
+
78
+ /**
79
+ * Return title column.
80
+ *
81
+ * @param object $posts
82
+ *
83
+ * @return string
84
+ */
85
+ public function column_title( $posts ) {
86
+ $edit_link = admin_url( 'admin.php?page=edit-evf-form&amp;tab=fields&amp;form_id=' . $posts->ID );
87
+ $title = _draft_or_post_title( $posts->ID );
88
+ $post_type_object = get_post_type_object( 'everest_form' );
89
+ $post_status = $posts->post_status;
90
+
91
+ // Title
92
+ $output = '<strong>';
93
+ if ( 'trash' == $post_status ) {
94
+ $output .= esc_html( $title );
95
+ } else {
96
+ $output .= '<a href="' . esc_url( $edit_link ) . '" class="row-title">' . esc_html( $title ) . '</a>';
97
+ }
98
+ $output .= '</strong>';
99
+
100
+ // Get actions.
101
+ if ( current_user_can( $post_type_object->cap->edit_post, $posts->ID ) && 'trash' !== $post_status ) {
102
+ $actions['edit'] = '<a href="' . esc_url( $edit_link ) . '">' . __( 'Edit', 'everest-forms' ) . '</a>';
103
+ }
104
+
105
+ $actions['entries'] = '<a href="' . esc_url( admin_url( 'admin.php?page=evf-entries&amp;form_id=' . $posts->ID ) ) . '">' . __( 'Entries', 'everest-forms' ) . '</a>';
106
+
107
+ if ( current_user_can( $post_type_object->cap->delete_post, $posts->ID ) ) {
108
+ if ( 'trash' == $post_status ) {
109
+ $actions['untrash'] = '<a aria-label="' . esc_attr__( 'Restore this item from the Trash', 'everest-forms' ) . '" href="' . wp_nonce_url( admin_url( sprintf( $post_type_object->_edit_link . '&amp;action=untrash', $posts->ID ) ), 'untrash-post_' . $posts->ID ) . '">' . esc_html__( 'Restore', 'everest-forms' ) . '</a>';
110
+ } elseif ( EMPTY_TRASH_DAYS ) {
111
+ $actions['trash'] = '<a class="submitdelete" aria-label="' . esc_attr__( 'Move this item to the Trash', 'everest-forms' ) . '" href="' . get_delete_post_link( $posts->ID ) . '">' . esc_html__( 'Trash', 'everest-forms' ) . '</a>';
112
+ }
113
+ if ( 'trash' == $post_status || ! EMPTY_TRASH_DAYS ) {
114
+ $actions['delete'] = '<a class="submitdelete" aria-label="' . esc_attr__( 'Delete this item permanently', 'everest-forms' ) . '" href="' . get_delete_post_link( $posts->ID, '', true ) . '">' . esc_html__( 'Delete permanently', 'everest-forms' ) . '</a>';
115
+ }
116
+ }
117
+ $duplicate_nonce = wp_create_nonce( 'everest_forms_form_duplicate' . $posts->ID );
118
+ $duplicate_link = admin_url( 'admin.php?page=everest-forms&action=duplicate&_wpnonce=' . $duplicate_nonce . '&form=' . $posts->ID );
119
+
120
+ if ( current_user_can( $post_type_object->cap->edit_post, $posts->ID ) && 'publish' === $post_status ) {
121
+ $actions['duplicate'] = '<a href="' . esc_url( $duplicate_link ) . '">' . __( 'Duplicate', 'everest-forms' ) . '</a>';
122
+ }
123
+
124
+ $row_actions = array();
125
+
126
+ foreach ( $actions as $action => $link ) {
127
+ $row_actions[] = '<span class="' . esc_attr( $action ) . '">' . $link . '</span>';
128
+ }
129
+
130
+ $output .= '<div class="row-actions">' . implode( ' | ', $row