diff --git a/.wordpress-org/screenshot-2.png b/.wordpress-org/screenshot-2.png new file mode 100644 index 0000000..fafd7a4 Binary files /dev/null and b/.wordpress-org/screenshot-2.png differ diff --git a/admin/class-variable-inspector-admin.php b/admin/class-variable-inspector-admin.php index 86fbecd..0a946a4 100644 --- a/admin/class-variable-inspector-admin.php +++ b/admin/class-variable-inspector-admin.php @@ -99,6 +99,13 @@ public function enqueue_styles() $this->version, 'all' ); + wp_enqueue_style( + $this->plugin_name . '-jbox', + plugin_dir_url( __FILE__ ) . 'css/jBox.all.min.css', + array(), + $this->version, + 'all' + ); } /** @@ -147,6 +154,13 @@ public function enqueue_scripts() $this->version, false ); + wp_enqueue_script( + $this->plugin_name . '-jbox', + plugin_dir_url( __FILE__ ) . 'js/jBox.all.min.js', + array(), + $this->version, + false + ); $preferred_viewer = get_user_meta( get_current_user_id(), 'variable_inspector_viewer' ); if ( empty($preferred_viewer) ) { $preferred_viewer = 'var_export'; @@ -168,6 +182,9 @@ public function vi_inspect_variable( $args = array() ) if ( false === $result ) { $variable_type = gettype( $args[1] ); + if ( 'double' == $variable_type ) { + $variable_type = 'float'; + } $variable_name = $args[0]; $variable_content = maybe_serialize( $args[1] ); $file_path = ( !empty($args[2]) ? '/' . str_replace( ABSPATH, '', $args[2] ) : '' ); @@ -237,14 +254,16 @@ public function vi_generate_sample_results() ] ); $vehicle_types = array( 'bicycle' => array( - 'fuel' => 'food', - 'wheels' => 2, - 'ecofriendly' => true, + 'fuel' => 'food', + 'wheels' => 2, + 'price_in_usd' => 399.99, + 'ecofriendly' => true, ), 'car' => array( - 'fuel' => 'gasoline', - 'wheels' => 4, - 'ecofriendly' => false, + 'fuel' => 'gasoline', + 'wheels' => 4, + 'price_in_usd' => 14999.99, + 'ecofriendly' => false, ), ); do_action( 'inspect', [ @@ -285,6 +304,13 @@ public function vi_generate_sample_results() __FILE__, __LINE__ ] ); + $discounted_price = 99.98999999999999; + do_action( 'inspect', [ + 'discounted_price', + $discounted_price, + __FILE__, + __LINE__ + ] ); $count = 1024; do_action( 'inspect', [ 'count', @@ -312,20 +338,20 @@ public function vi_inspection_results() $output = ''; $output .= '
-

Results

+

Results

-
- '; $output .= ' Expand all -
-
- Refresh - Clear + Refresh'; + $output .= 'Clear
'; @@ -334,6 +360,7 @@ public function vi_inspection_results() $output .= '
There is no data in the inspection log.
'; } foreach ( $inspection_results as $variable ) { + $row_id = $variable['ID']; $inspection_time = date( 'H:i:s', strtotime( $variable['date'] ) ); $inspection_time_hi = date( 'H:i', strtotime( $variable['date'] ) ); $inspection_time_s = date( ':s', strtotime( $variable['date'] ) ); @@ -347,6 +374,9 @@ public function vi_inspection_results() case 'integer': $variable_content = (int) maybe_unserialize( $variable['content'] ); break; + case 'float': + $variable_content = floatval( maybe_unserialize( $variable['content'] ) ); + break; case 'string': $variable_content = (string) maybe_unserialize( $variable['content'] ); break; @@ -357,12 +387,15 @@ public function vi_inspection_results() $variable_content = (object) maybe_unserialize( $variable['content'] ); break; } + $variable_category = ( $variable['category'] ? $variable['category'] : 'gray' ); + $variable_notes = $variable['extra']; $variable_name_plain = $variable['name']; $variable_name = '$' . $variable['name']; - $identifier = $variable_name_plain . '-' . $inspection_time_numeric; + $variable_name = explode( '___', $variable_name ); + $variable_name = $variable_name[0]; + $identifier = $variable_name_plain . '-' . $row_id . '-' . $inspection_time_numeric; $origin_script_path = $variable['file_path']; $origin_script_line = $variable['line_number']; - $type_tag = '' . esc_html( $variable_type ) . ''; // Get var_dump() result ob_start(); var_dump( $variable_content ); @@ -382,9 +415,9 @@ public function vi_inspection_results() // Output inspection results $separator = ''; $output .= '
'; - $output .= '
' . $inspection_time_formatted . '
'; + $output .= '
' . $inspection_time_formatted . '
'; $output .= '
'; - $output .= '
' . esc_html( $variable_name ) . $type_tag . '
'; + $output .= '
' . esc_html( $variable_type ) . '' . esc_html( $variable_name ) . '' . esc_html( $variable_notes ) . '
'; $output .= '
@@ -404,7 +437,7 @@ public function vi_inspection_results() $output .= ' @@ -456,7 +489,7 @@ public function vi_create_main_page() - Bowo + Bowo
@@ -466,34 +499,32 @@ public function vi_create_main_page() // Free version code ?> - + - ✚ + - + - ❤ +
❤ + - - - get_upgrade_url(); ?> - +
+ +
- +
@@ -511,17 +542,141 @@ public function vi_create_main_page() How do I use Variable Inspector?
-

Simply place the following line anywhere in your code after the $variable_name you’d like to inspect:

-
do_action( 'inspect', [ 'variable_name', $variable_name ] );
-

If you’d like to record the originating PHP file and line number, append the PHP magic constants __FILE__ and __LINE__ as follows:

-
do_action( 'inspect', [ 'variable_name', $variable_name, __FILE__, __LINE__ ] );
-

This would help you locate and clean up the inspector lines once you’re done debugging.

+ +

Simply place the following line anywhere in your code after the $variable_name you’d like to inspect:

+
do_action( 'inspect', [ 'variable_name', $variable_name ] );
+

If you’d like to record the originating PHP file and line number, append the PHP magic constants __FILE__ and __LINE__ as follows:

+
do_action( 'inspect', [ 'variable_name', $variable_name, __FILE__, __LINE__ ] );
+

This would help you locate and clean up the inspector lines once you’re done debugging.

+
+ + - Variable Inspector is on github + Variable Inspector is on github WordPress Newsboard: The latest from 100+ sources'; + return 'Also by Bowo → WordPress Newsboard: The latest from 100+ sources'; } /** diff --git a/admin/css/jBox.all.min.css b/admin/css/jBox.all.min.css new file mode 100644 index 0000000..850c56c --- /dev/null +++ b/admin/css/jBox.all.min.css @@ -0,0 +1 @@ +.jBox-wrapper{text-align:left;box-sizing:border-box}.jBox-container,.jBox-content,.jBox-title{position:relative;word-break:break-word;box-sizing:border-box}.jBox-container{background:#fff}.jBox-content{padding:8px 12px;overflow-x:hidden;overflow-y:auto;transition:opacity .2s}.jBox-footer{box-sizing:border-box}.jBox-Mouse .jBox-container,.jBox-Tooltip .jBox-container{border-radius:4px;box-shadow:0 0 3px rgba(0,0,0,.25)}.jBox-Mouse .jBox-title,.jBox-Tooltip .jBox-title{padding:8px 10px 0;font-weight:700}.jBox-Mouse.jBox-hasTitle .jBox-content,.jBox-Tooltip.jBox-hasTitle .jBox-content{padding-top:5px}.jBox-Mouse{pointer-events:none}.jBox-pointer{position:absolute;overflow:hidden;box-sizing:border-box}.jBox-pointer:after{content:'';width:20px;height:20px;position:absolute;background:#fff;transform:rotate(45deg);box-sizing:border-box}.jBox-pointer-top{top:0}.jBox-pointer-top:after{left:5px;top:6px;box-shadow:-1px -1px 2px rgba(0,0,0,.15)}.jBox-pointer-right{right:0}.jBox-pointer-right:after{top:5px;right:6px;box-shadow:1px -1px 2px rgba(0,0,0,.15)}.jBox-pointer-left{left:0}.jBox-pointer-left:after{top:5px;left:6px;box-shadow:-1px 1px 2px rgba(0,0,0,.15)}.jBox-pointer-bottom{bottom:0}.jBox-pointer-bottom:after{left:5px;bottom:6px;box-shadow:1px 1px 2px rgba(0,0,0,.15)}.jBox-pointer-bottom,.jBox-pointer-top{width:30px;height:12px}.jBox-pointer-left,.jBox-pointer-right{width:12px;height:30px}.jBox-Modal .jBox-container{border-radius:4px}.jBox-Modal .jBox-container,.jBox-Modal.jBox-closeButton-box:before{box-shadow:0 3px 15px rgba(0,0,0,.4),0 0 5px rgba(0,0,0,.4)}.jBox-Modal .jBox-content{padding:15px 20px}.jBox-Modal .jBox-title{border-radius:4px 4px 0 0;padding:15px 20px;background:#fafafa;border-bottom:1px solid #eee}.jBox-Modal.jBox-closeButton-title .jBox-title{padding-right:65px}.jBox-Modal .jBox-footer{border-radius:0 0 4px 4px}.jBox-closeButton{z-index:1;cursor:pointer;position:absolute;box-sizing:border-box}.jBox-closeButton svg{position:absolute;top:50%;right:50%}.jBox-closeButton path{fill:#aaa;transition:fill .2s}.jBox-closeButton:hover path{fill:#888}.jBox-overlay .jBox-closeButton{top:0;right:0;width:40px;height:40px}.jBox-overlay .jBox-closeButton svg{width:20px;height:20px;margin-top:-10px;margin-right:-10px}.jBox-overlay .jBox-closeButton path{fill:#ddd}.jBox-overlay .jBox-closeButton:hover path{fill:#fff}.jBox-closeButton-title .jBox-closeButton{top:0;right:0;bottom:0;width:50px}.jBox-closeButton-title svg{width:12px;height:12px;margin-top:-6px;margin-right:-6px}.jBox-closeButton-box{box-sizing:border-box}.jBox-closeButton-box .jBox-closeButton{top:-8px;right:-10px;width:24px;height:24px;background:#fff;border-radius:50%}.jBox-closeButton-box .jBox-closeButton svg{width:10px;height:10px;margin-top:-5px;margin-right:-5px}.jBox-closeButton-box:before{content:'';position:absolute;top:-8px;right:-10px;width:24px;height:24px;border-radius:50%;box-shadow:0 0 5px rgba(0,0,0,.3)}.jBox-closeButton-box.jBox-pointerPosition-top:before{top:5px}.jBox-closeButton-box.jBox-pointerPosition-right:before{right:2px}.jBox-Modal.jBox-hasTitle.jBox-closeButton-box .jBox-closeButton{background:#fafafa}.jBox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.82)}.jBox-footer{background:#fafafa;border-top:1px solid #eee;padding:8px 10px;border-radius:0 0 3px 3px}body[class*=" jBox-blockScroll-"],body[class^=jBox-blockScroll-]{overflow:hidden}.jBox-draggable{cursor:move}@keyframes jBoxLoading{to{transform:rotate(360deg)}}.jBox-loading .jBox-content{opacity:.2}.jBox-loading-spinner .jBox-content{min-height:38px!important;min-width:38px!important;opacity:0}.jBox-spinner{box-sizing:border-box;position:absolute;top:50%;left:50%;width:24px;height:24px;margin-top:-12px;margin-left:-12px}.jBox-spinner:before{display:block;box-sizing:border-box;content:'';width:24px;height:24px;border-radius:50%;border:2px solid rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.8);animation:jBoxLoading .6s linear infinite}.jBox-countdown{border-radius:4px 4px 0 0;z-index:0;background:#000;opacity:.2;position:absolute;top:0;left:0;right:0;height:3px;overflow:hidden}.jBox-countdown-inner{top:0;right:0;width:100%;height:3px;position:absolute;background:#fff}[class*=" jBox-animated-"],[class^=jBox-animated-]{animation-fill-mode:both}@keyframes jBox-tada{0%{transform:scale(1)}10%,20%{transform:scale(.8) rotate(-4deg)}30%,50%,70%,90%{transform:scale(1.2) rotate(4deg)}40%,60%,80%{transform:scale(1.2) rotate(-4deg)}100%{transform:scale(1) rotate(0)}}.jBox-animated-tada{animation:jBox-tada 1s}@keyframes jBox-tadaSmall{0%{transform:scale(1)}10%,20%{transform:scale(.9) rotate(-2deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(2deg)}40%,60%,80%{transform:scale(1.1) rotate(-2deg)}100%{transform:scale(1) rotate(0)}}.jBox-animated-tadaSmall{animation:jBox-tadaSmall 1s}@keyframes jBox-flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.jBox-animated-flash{animation:jBox-flash .5s}@keyframes jBox-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}.jBox-animated-shake{animation:jBox-shake .4s}@keyframes jBox-pulseUp{0%{transform:scale(1)}50%{transform:scale(1.15)}100%{transform:scale(1)}}.jBox-animated-pulseUp{animation:jBox-pulseUp .25s}@keyframes jBox-pulseDown{0%{transform:scale(1)}50%{transform:scale(.85)}100%{transform:scale(1)}}.jBox-animated-pulseDown{animation:jBox-pulseDown .25s}@keyframes jBox-popIn{0%{transform:scale(0)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.jBox-animated-popIn{animation:jBox-popIn .25s}@keyframes jBox-popOut{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(0)}}.jBox-animated-popOut{animation:jBox-popOut .25s}@keyframes jBox-fadeIn{0%{opacity:0}100%{opacity:1}}.jBox-animated-fadeIn{animation:jBox-fadeIn .2s}@keyframes jBox-fadeOut{0%{opacity:1}100%{opacity:0}}.jBox-animated-fadeOut{animation:jBox-fadeOut .2s}@keyframes jBox-slideUp{0%{transform:translateY(0)}100%{transform:translateY(-300px);opacity:0}}.jBox-animated-slideUp{animation:jBox-slideUp .4s}@keyframes jBox-slideRight{0%{transform:translateX(0)}100%{transform:translateX(300px);opacity:0}}.jBox-animated-slideRight{animation:jBox-slideRight .4s}@keyframes jBox-slideDown{0%{transform:translateY(0)}100%{transform:translateY(300px);opacity:0}}.jBox-animated-slideDown{animation:jBox-slideDown .4s}@keyframes jBox-slideLeft{0%{transform:translateX(0)}100%{transform:translateX(-300px);opacity:0}}.jBox-animated-slideLeft{animation:jBox-slideLeft .4s}.jBox-Confirm .jBox-content{text-align:center;padding:46px 35px}@media (max-width:500px){.jBox-Confirm .jBox-content{padding:32px 20px}}.jBox-Confirm-footer{height:46px}.jBox-Confirm-button{display:block;float:left;cursor:pointer;text-align:center;width:50%;line-height:46px;height:46px;overflow:hidden;padding:0 10px;transition:color .2s,background-color .2s;box-sizing:border-box}.jBox-Confirm-button-cancel{border-bottom-left-radius:4px;background:#ddd;color:#666}.jBox-Confirm-button-cancel:active,.jBox-Confirm-button-cancel:hover{background:#ccc}.jBox-Confirm-button-cancel:active{box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.jBox-Confirm-button-submit{border-bottom-right-radius:4px;background:#7d0;color:#fff}.jBox-Confirm-button-submit:active,.jBox-Confirm-button-submit:hover{background:#6c0}.jBox-Confirm-button-submit:active{box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.jBox-Image .jBox-container{background-color:transparent}.jBox-Image .jBox-content{padding:0;width:100%;height:100%}.jBox-image-container{background:center center no-repeat;position:absolute;width:100%;height:100%;opacity:0}.jBox-image-label-wrapper{position:absolute;top:100%;left:0;right:0;height:40px;z-index:100;display:flex}.jBox-image-label-container{position:relative;flex:1}.jBox-image-label{box-sizing:border-box;position:absolute;left:0;bottom:0;width:100%;text-align:center;color:#fff;padding:8px 12px;font-size:15px;line-height:24px;transition:opacity .36s;opacity:0;z-index:0;pointer-events:none}.jBox-image-label.expanded{background:#000}.jBox-image-label:not(.expanded){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jBox-image-label.active{opacity:1;pointer-events:all}@media (max-width:600px){.jBox-image-label{font-size:13px}}.jBox-image-pointer-next,.jBox-image-pointer-prev{flex-shrink:0;width:40px;height:40px;cursor:pointer;opacity:.8;transition:opacity .2s;background:no-repeat center center url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ijc0LjcgMjI0IDE4LjcgMzIiPg0KPHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTTkzLDIyNy40TDgwLjQsMjQwTDkzLDI1Mi42YzAuNCwwLjQsMC40LDEuMSwwLDEuNWwtMS42LDEuNmMtMC40LDAuNC0xLDAuNS0xLjUsMEw3NSwyNDAuN2MtMC40LTAuNC0wLjUtMSwwLTEuNWwxNC45LTE0LjljMC40LTAuNCwxLTAuNCwxLjUsMGwxLjYsMS42QzkzLjUsMjI2LjQsOTMuNCwyMjcsOTMsMjI3LjR6Ii8+DQo8L3N2Zz4=);background-size:11px auto;user-select:none;z-index:1}.jBox-image-pointer-next:hover,.jBox-image-pointer-prev:hover{opacity:1}.jBox-image-pointer-next{transform:scaleX(-1)}.jBox-image-counter-container{flex-shrink:0;white-space:nowrap;height:40px;line-height:40px;font-size:13px;color:#fff;text-align:right;display:none}.jBox-image-has-counter .jBox-image-counter-container{display:block}.jBox-overlay.jBox-overlay-Image{background:#000}.jBox-image-not-found{background:#000}.jBox-image-not-found:before{content:'';box-sizing:border-box;display:block;width:80px;height:80px;margin-top:-40px;margin-left:-40px;position:absolute;top:50%;left:50%;border:5px solid #222;border-radius:50%}.jBox-image-not-found:after{content:'';display:block;box-sizing:content-box;z-index:auto;width:6px;height:74px;margin-top:-37px;margin-left:-3px;position:absolute;top:50%;left:50%;background:#222;transform:rotateZ(45deg);transform-origin:50% 50% 0}.jBox-image-download-button-wrapper{position:absolute;top:-40px;right:35px;height:40px;display:flex;cursor:pointer;opacity:.8;transition:opacity .2s}.jBox-image-download-button-wrapper:hover{opacity:1}.jBox-image-download-button-icon{width:40px;height:40px;background:center center no-repeat url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NDAgNjQwIj48cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNNDE2IDI1NnYtMTkyaC0xOTJ2MTkyaC0xNjBsMjU2IDI1NiAyNTYtMjU2aC0xNjB6TTAgNTc2aDY0MHY2NGgtNjQwdi02NHoiPjwvcGF0aD48L3N2Zz4=);background-size:60%}.jBox-image-download-button-text{white-space:nowrap;line-height:40px;padding:0 10px 0 0;color:#fff;font-size:14px}@keyframes jBoxImageLoading{to{transform:rotate(360deg)}}.jBox-image-loading:before{content:'';position:absolute;top:50%;left:50%;width:32px;height:32px;margin-top:-16px;margin-left:-16px;border:4px solid #333;border-bottom-color:#666;animation:jBoxImageLoading 1.2s linear infinite;border-radius:50%}.jBox-Notice{transition:margin .2s}.jBox-Notice .jBox-container{border-radius:4px;box-shadow:inset 1px 1px 0 0 rgba(255,255,255,.25),inset -1px -1px 0 0 rgba(0,0,0,.1)}.jBox-Notice .jBox-content{border-radius:4px;padding:12px 20px}@media (max-width:768px){.jBox-Notice .jBox-content{padding:10px 15px}}@media (max-width:500px){.jBox-Notice .jBox-content{padding:8px 10px}}.jBox-Notice.jBox-hasTitle .jBox-content{padding-top:5px}@media (max-width:500px){.jBox-Notice.jBox-hasTitle .jBox-content{padding-top:0}}.jBox-Notice.jBox-hasTitle .jBox-title{padding:12px 20px 0;font-weight:700}@media (max-width:768px){.jBox-Notice.jBox-hasTitle .jBox-title{padding:10px 15px 0}}@media (max-width:500px){.jBox-Notice.jBox-hasTitle .jBox-title{padding:8px 10px 0}}.jBox-Notice.jBox-closeButton-title .jBox-title{padding-right:55px}.jBox-Notice.jBox-closeButton-title.jBox-hasTitle .jBox-closeButton{width:40px}.jBox-Notice.jBox-Notice-black .jBox-container{color:#fff;background:#000}.jBox-Notice.jBox-Notice-black.jBox-closeButton-title.jBox-hasTitle .jBox-closeButton path,.jBox-Notice.jBox-Notice-black.jBox-closeButton-title.jBox-hasTitle .jBox-closeButton:hover path{fill:#fff}.jBox-Notice.jBox-Notice-gray .jBox-container{color:#222;background:#f6f6f6}.jBox-Notice.jBox-Notice-gray.jBox-closeButton-title.jBox-hasTitle .jBox-closeButton path,.jBox-Notice.jBox-Notice-gray.jBox-closeButton-title.jBox-hasTitle .jBox-closeButton:hover path{fill:#222}.jBox-Notice.jBox-Notice-red .jBox-container{color:#fff;background:#d00}.jBox-Notice.jBox-Notice-red.jBox-closeButton-title.jBox-hasTitle .jBox-closeButton path,.jBox-Notice.jBox-Notice-red.jBox-closeButton-title.jBox-hasTitle .jBox-closeButton:hover path{fill:#fff}.jBox-Notice.jBox-Notice-green .jBox-container{color:#fff;background:#5d0}.jBox-Notice.jBox-Notice-green.jBox-closeButton-title.jBox-hasTitle .jBox-closeButton path,.jBox-Notice.jBox-Notice-green.jBox-closeButton-title.jBox-hasTitle .jBox-closeButton:hover path{fill:#fff}.jBox-Notice.jBox-Notice-blue .jBox-container{color:#fff;background:#49d}.jBox-Notice.jBox-Notice-blue.jBox-closeButton-title.jBox-hasTitle .jBox-closeButton path,.jBox-Notice.jBox-Notice-blue.jBox-closeButton-title.jBox-hasTitle .jBox-closeButton:hover path{fill:#fff}.jBox-Notice.jBox-Notice-yellow .jBox-container{color:#000;background:#fd0}.jBox-Notice.jBox-Notice-yellow.jBox-closeButton-title.jBox-hasTitle .jBox-closeButton path,.jBox-Notice.jBox-Notice-yellow.jBox-closeButton-title.jBox-hasTitle .jBox-closeButton:hover path{fill:#fff}.jBox-NoticeFancy .jBox-content,.jBox-NoticeFancy .jBox-title{padding-left:25px}.jBox-NoticeFancy.jBox-Notice-color .jBox-container{color:#fff;background:#000}.jBox-NoticeFancy.jBox-Notice-color .jBox-container:after{content:'';position:absolute;top:0;left:0;bottom:0;width:8px;border-radius:4px 0 0 4px;background-image:linear-gradient(45deg,rgba(255,255,255,.4) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.4) 75%,transparent 75%,transparent);background-size:14px 14px}.jBox-NoticeFancy.jBox-Notice-black .jBox-container:after,.jBox-NoticeFancy.jBox-Notice-gray .jBox-container:after{background-color:#888}.jBox-NoticeFancy.jBox-Notice-red .jBox-container:after{background-color:#e00}.jBox-NoticeFancy.jBox-Notice-green .jBox-container:after{background-color:#6c0}.jBox-NoticeFancy.jBox-Notice-blue .jBox-container:after{background-color:#49d}.jBox-NoticeFancy.jBox-Notice-yellow .jBox-container:after{background-color:#fb0}.jBox-NoticeFancy .jBox-countdown{left:8px;border-radius:0 4px 0 0}.jBox-TooltipBorder .jBox-container,.jBox-TooltipBorder .jBox-pointer:after{border:2px solid #49d}.jBox-TooltipBorder .jBox-pointer:after{width:22px;height:22px}.jBox-TooltipBorder .jBox-pointer-bottom,.jBox-TooltipBorder .jBox-pointer-top{width:34px;height:13px}.jBox-TooltipBorder .jBox-pointer-bottom:after,.jBox-TooltipBorder .jBox-pointer-top:after{left:6px}.jBox-TooltipBorder .jBox-pointer-left,.jBox-TooltipBorder .jBox-pointer-right{width:13px;height:34px}.jBox-TooltipBorder .jBox-pointer-left:after,.jBox-TooltipBorder .jBox-pointer-right:after{top:6px}.jBox-TooltipBorder.jBox-closeButton-box:before{width:28px;height:28px;background:#49d}.jBox-TooltipBorderThick .jBox-container{box-shadow:none;border-radius:8px;border:4px solid #ccc}.jBox-TooltipBorderThick .jBox-pointer:after{box-shadow:none;border:4px solid #ccc;width:24px;height:24px}.jBox-TooltipBorderThick .jBox-pointer-bottom,.jBox-TooltipBorderThick .jBox-pointer-top{width:38px;height:13px}.jBox-TooltipBorderThick .jBox-pointer-left,.jBox-TooltipBorderThick .jBox-pointer-right{width:13px;height:38px}.jBox-TooltipBorderThick.jBox-closeButton-box:before{width:32px;height:32px;background:#ccc}.jBox-TooltipDark .jBox-container{border-radius:4px;background:#000;color:#fff;box-shadow:0 0 6px rgba(0,0,0,.4)}.jBox-TooltipDark .jBox-pointer:after{background:#000}.jBox-TooltipDark .jBox-closeButton{background:#000}.jBox-TooltipDark.jBox-closeButton-box:before{box-shadow:0 0 6px rgba(0,0,0,.4)}.jBox-TooltipDark.jBox-closeButton-box .jBox-closeButton path{fill:#ddd}.jBox-TooltipDark.jBox-closeButton-box .jBox-closeButton:hover path{fill:#fff}.jBox-TooltipDark.jBox-closeButton-box .jBox-closeButton:active path{fill:#bbb}.jBox-TooltipError{pointer-events:none}.jBox-TooltipError .jBox-container{border-radius:2px;background:#d00;color:#fff;font-weight:700;font-size:13px}.jBox-TooltipError .jBox-content{padding:0 10px;line-height:28px}.jBox-TooltipError .jBox-pointer:after{background:#d00;width:20px;height:20px}.jBox-TooltipError .jBox-pointer-bottom,.jBox-TooltipError .jBox-pointer-top{width:22px;height:8px}.jBox-TooltipError .jBox-pointer-left,.jBox-TooltipError .jBox-pointer-right{width:8px;height:22px}.jBox-TooltipError .jBox-pointer-top:after{left:1px;top:6px}.jBox-TooltipError .jBox-pointer-right:after{top:1px;right:6px}.jBox-TooltipError .jBox-pointer-bottom:after{left:1px;bottom:6px}.jBox-TooltipError .jBox-pointer-left:after{top:1px;left:6px}.jBox-TooltipSmall{pointer-events:none}.jBox-TooltipSmall .jBox-container{border-radius:2px}.jBox-TooltipSmall .jBox-content{padding:0 10px;line-height:28px}.jBox-TooltipSmall .jBox-pointer:after{width:20px;height:20px}.jBox-TooltipSmall .jBox-pointer-bottom,.jBox-TooltipSmall .jBox-pointer-top{width:22px;height:8px}.jBox-TooltipSmall .jBox-pointer-left,.jBox-TooltipSmall .jBox-pointer-right{width:8px;height:22px}.jBox-TooltipSmall .jBox-pointer-top:after{left:1px;top:6px}.jBox-TooltipSmall .jBox-pointer-right:after{top:1px;right:6px}.jBox-TooltipSmall .jBox-pointer-bottom:after{left:1px;bottom:6px}.jBox-TooltipSmall .jBox-pointer-left:after{top:1px;left:6px}.jBox-TooltipSmallGray{pointer-events:none}.jBox-TooltipSmallGray .jBox-container{font-size:13px;line-height:24px;border-radius:12px;background-image:linear-gradient(to bottom,#fafafa,#f2f2f2)}.jBox-TooltipSmallGray .jBox-content{padding:0 10px}.jBox-TooltipSmallGray .jBox-pointer:after{width:20px;height:20px}.jBox-TooltipSmallGray .jBox-pointer-bottom,.jBox-TooltipSmallGray .jBox-pointer-top{width:22px;height:8px}.jBox-TooltipSmallGray .jBox-pointer-left,.jBox-TooltipSmallGray .jBox-pointer-right{width:8px;height:22px}.jBox-TooltipSmallGray .jBox-pointer-top:after{background:#fafafa;left:1px;top:6px}.jBox-TooltipSmallGray .jBox-pointer-right:after{top:1px;right:6px}.jBox-TooltipSmallGray .jBox-pointer-bottom:after{background:#f2f2f2;left:1px;bottom:6px}.jBox-TooltipSmallGray .jBox-pointer-left:after{top:1px;left:6px} \ No newline at end of file diff --git a/admin/css/variable-inspector-admin.css b/admin/css/variable-inspector-admin.css index 5f9f01f..aee6fe3 100644 --- a/admin/css/variable-inspector-admin.css +++ b/admin/css/variable-inspector-admin.css @@ -103,10 +103,21 @@ .vi .inspector-header h2 { line-height: 22px; - width: 10%; + width: 112px; color: #3c434a; } +.vi .results-counter { + display: inline-block; + margin-right: 4px; + font-size: 0.8125em; + color: #bbb; +} + +.vi #results-spinner { + margin-left: -6px; +} + .vi img.spinner_inline { height: 1em; width: 1em; @@ -117,14 +128,14 @@ } .vi .inspector-actions { - width: 90%; + width: calc( 100% - 120px ); display: flex; flex-direction: row; justify-content: space-between; align-items: center; } -.vi .results-operations { +.vi .results-filters { display: flex; justify-content: flex-start; align-items: center; @@ -135,10 +146,11 @@ } .vi .toggle-results { + min-width: 92px; margin-right: 8px; } -.vi .results-options { +.vi .results-operations { display: flex; justify-content: flex-start; align-items: center; @@ -156,7 +168,7 @@ } .vi .no-results { - padding-top: 1.5em; + padding-top: .5em; padding-bottom: 1.5em; border-bottom: 1px solid #ddd; } @@ -197,10 +209,10 @@ } .vi .accordion__control { position: relative; - padding: 1em 1.5em; + padding: 12px 12px 8px; background-color: #f7f7f7; - border: 1px solid #e7e7e7; - border-left: none; + border: 1px solid #dddddd; + border-radius: 3px; transition: 0.25s; font-weight: 600; } @@ -209,9 +221,11 @@ } .vi .accordion__control:hover { background-color: #f1f1f1; + border-color: #999; } .vi .accordion__control--active { background-color: #f7f7f7; + border-radius: 3px 3px 0 0; } .vi .accordion__control:hover { cursor: pointer; @@ -232,8 +246,9 @@ } .vi .accordion__panel { display: none; - border: 1px solid #e7e7e7; + border: 1px solid #dddddd; border-top: none; + border-radius: 0 0 3px 3px; padding: 0.5em 1.5em 1.5em; background: #f7f7f7; } @@ -263,36 +278,63 @@ } .vi .inspection-time, -.vi .inspection-accordion { +.vi .inspection-accordion, +.vi .accordion__control, +.vi .result-deletion, +.vi .delete-result { box-sizing: border-box; } +.vi .inspection-time, +.vi .accordion__control, +.vi .delete-result { + min-height: 48px; +} + .vi .inspection-time { - width: 10%; - padding: 1em .5em 1em 1em; + width: 112px; + padding: 1em .75em 1em 1.25em; margin-top: 1em; margin-bottom: 1em; background-color: #f7f7f7; - border: 1px solid #e7e7e7; + border: 1px solid #dddddd; + border-radius: 3px; font-weight: 600; } .vi .inspection-accordion { - width: 90%; + width: calc( 100% - 120px ); } + + .vi .ui.tab.active, .vi .ui.tab.open { max-height: 50vh; overflow-y: scroll; - border: 1px solid #e7e7e7; + border: 1px solid #dddddd; } .vi .variable-type { - border: 1px solid #ddd; - border-radius: 8px; + display: inline-block; + box-sizing: border-box; + min-width: 67px; + position: relative; + top: -1px; + text-align: center; + border: 1px solid #999; + border-radius: 5px; background: #fafafa; - padding: 2px 8px 4px; + padding: 1px 8px 3px; + margin-right: 8px; + font-weight: normal; +} + +.vi .variable-name { + font-size: 1.125em; +} + +.vi .variable-notes { margin-left: 8px; font-weight: normal; } @@ -324,7 +366,6 @@ cursor: pointer; margin: 0 12px; padding-bottom: 4px; - font-weight: 600; } .vi .functions .item:first-child { @@ -379,21 +420,24 @@ border-color: #b13c5c; } +.wp-core-ui .button-primary.plugin-sponsor:focus { + box-shadow: none; +} */ + .wp-core-ui .button-primary.plugin-upgrade { - border-radius: 0 3px 3px 0; - background: #519e48; - border-color: #519e48; + margin-left: 8px; + background: #008000; + border-color: #008000; } .wp-core-ui .button-primary.plugin-upgrade:hover { - background: #3f7b38; - border-color: #3f7b38; + background: #006600; + border-color: #006600; } -.wp-core-ui .button-primary.plugin-sponsor:focus, .wp-core-ui .button-primary.plugin-upgrade:focus { box-shadow: none; -} */ +} /* Button Style - Outlined */ @@ -414,7 +458,11 @@ background: #de4c73; } -.wp-core-ui .button-primary.plugin-upgrade { +.wp-core-ui .button-primary.plugin-sponsor:focus { + box-shadow: none; +} + +/* .wp-core-ui .button-primary.plugin-upgrade { margin-left: 8px; color: green; background: transparent; @@ -426,9 +474,178 @@ background: green; } -.wp-core-ui .button-primary.plugin-sponsor:focus, .wp-core-ui .button-primary.plugin-upgrade:focus { box-shadow: none; +} */ + +.vi .gray-dot { + background: #6B7282; +} + + + +/* Sponsorship and Upgrade Modals */ + +.jBox-Modal.plugin-sponsor-modal .jBox-content, +.jBox-Modal.plugin-upgrade-modal .jBox-content { + max-height: calc( 100vh - 120px ) !important; + margin-top: 40px; + padding: 20px 40px; +} +.cta-modal-content .sponsorship-content, +.cta-modal-content .upgrade-content { +} +.cta-modal-content h2 { + font-size: 1.875em; + line-height: 1.2; +} +.cta-modal-content h3 { + font-size: 1.5em; + line-height: 1.4; +} +.cta-modal-content p { + text-align: left; + font-size: 1.25em; + line-height: 1.7; +} +/* Sponsorship Modal */ + +.jBox-Modal.plugin-sponsor-modal .jBox-content { +} +.cta-modal-content.sponsorship .sponsorship-content { + display: flex !important; + flex-direction: column; + align-items: center; +} +.cta-modal-content.sponsorship .sponsorship-header { + text-align: center; +} +.cta-modal-content.sponsorship .sponsorship-image { + display: flex; + justify-content: center; + margin-bottom: -20px; +} +.cta-modal-content.sponsorship .sponsorship-image img { + width: 50%; +} +.cta-modal-content.sponsorship .sponsorship-content-sections { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: flex-start; +} +.cta-modal-content .sponsorship-info { + display: flex; + width: 48%; +} +.cta-modal-content .sponsorship-methods { + display: flex; + width: 48%; + flex-direction: column; + justify-content: flex-start; + align-items: flex-start; +} +.cta-modal-content.sponsorship a:not(.button) { + color: #de4c73; + text-decoration: none; +} +.cta-modal-content.sponsorship a:not(.button):hover { + text-decoration: underline; +} +.cta-modal-content .sponsorship-button { + display: flex; + align-items: center; + font-size: 1.25em; +} +.cta-modal-content .sponsorship-button.monthly { + font-weight: 500; + transition: .25s; + color: #fff; + background: #de4c73; + border-color: #de4c73; + margin-bottom: 2em; +} +.cta-modal-content .sponsorship-button.monthly:hover { + background: #b13c5c; + border-color: #b13c5c; +} +.cta-modal-content .sponsorship-button.monthly:focus { + box-shadow: none; +} +.cta-modal-content .sponsorship-button.one-time { + color: #de4c73; + background: transparent; + border-color: #de4c73; + transition: .1s; +} +.cta-modal-content .sponsorship-button.one-time:hover { + color: #fff; + background: #de4c73; +} +.cta-modal-content .sponsorship-button.one-time:focus { + box-shadow: none; +} + +.cta-modal-content .sponsorship-button .dashicons { + margin-left: 4px; +} + +/* Upgrade Modal */ + +.jBox-Modal.plugin-upgrade-modal .jBox-content { + padding-bottom: 0; +} +.cta-modal-content .upgrade-header { + width: 100%; + display: flex; + flex-direction: column; + align-items: center; +} +.cta-modal-content.upgrade .upgrade-image { + display: flex; + justify-content: center; + margin-bottom: -20px; +} +.cta-modal-content.upgrade .upgrade-image img { + width: 50%; +} +.cta-modal-content .upgrade-header h2 { + margin-bottom: 0; +} +.cta-modal-content .upgrade-header h3 { + margin-top: 0.25em; +} +.cta-modal-content .feature-description { + margin-bottom: 40px; +} +.cta-modal-content .feature-description h3 { + padding-bottom: 0.5em; + border-bottom: 3px solid #008000; +} +.cta-modal-content .feature-description img { + box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px; + margin: 16px 0; +} +.cta-modal-content .upgrade-footer { + position: sticky; + left: 0; + bottom: 0; + margin-left: -40px; + margin-right: -40px; +} +.cta-modal-content .upgrade-footer a { + display: block; + background: #008000; + padding: 20px 40px; + font-size: 1.25em; + font-weight: 600; + color: #fff; + text-align: center; + text-decoration: none; + transition: .25s; +} +.cta-modal-content .upgrade-footer a:hover { + background: #006600; } diff --git a/admin/img/pro/sample-variables-vi-inspector.png b/admin/img/pro/sample-variables-vi-inspector.png new file mode 100644 index 0000000..a274cb7 Binary files /dev/null and b/admin/img/pro/sample-variables-vi-inspector.png differ diff --git a/admin/img/pro/variable_inspector_plugin_color_categories.png b/admin/img/pro/variable_inspector_plugin_color_categories.png new file mode 100644 index 0000000..fcfb49b Binary files /dev/null and b/admin/img/pro/variable_inspector_plugin_color_categories.png differ diff --git a/admin/img/pro/variable_inspector_plugin_color_categorized_results.png b/admin/img/pro/variable_inspector_plugin_color_categorized_results.png new file mode 100644 index 0000000..f3f5589 Binary files /dev/null and b/admin/img/pro/variable_inspector_plugin_color_categorized_results.png differ diff --git a/admin/img/pro/variable_inspector_plugin_color_filter.png b/admin/img/pro/variable_inspector_plugin_color_filter.png new file mode 100644 index 0000000..c8a209b Binary files /dev/null and b/admin/img/pro/variable_inspector_plugin_color_filter.png differ diff --git a/admin/img/pro/variable_inspector_plugin_counter_notes.png b/admin/img/pro/variable_inspector_plugin_counter_notes.png new file mode 100644 index 0000000..1b5d0ab Binary files /dev/null and b/admin/img/pro/variable_inspector_plugin_counter_notes.png differ diff --git a/admin/img/pro/variable_inspector_plugin_dump_print_r.png b/admin/img/pro/variable_inspector_plugin_dump_print_r.png new file mode 100644 index 0000000..795f31c Binary files /dev/null and b/admin/img/pro/variable_inspector_plugin_dump_print_r.png differ diff --git a/admin/img/pro/variable_inspector_plugin_dump_print_tree.png b/admin/img/pro/variable_inspector_plugin_dump_print_tree.png new file mode 100644 index 0000000..bb8efd7 Binary files /dev/null and b/admin/img/pro/variable_inspector_plugin_dump_print_tree.png differ diff --git a/admin/img/pro/variable_inspector_plugin_kint_viewer.png b/admin/img/pro/variable_inspector_plugin_kint_viewer.png new file mode 100644 index 0000000..5b5063d Binary files /dev/null and b/admin/img/pro/variable_inspector_plugin_kint_viewer.png differ diff --git a/admin/img/pro/variable_inspector_plugin_results_deletion.png b/admin/img/pro/variable_inspector_plugin_results_deletion.png new file mode 100644 index 0000000..4a27aaf Binary files /dev/null and b/admin/img/pro/variable_inspector_plugin_results_deletion.png differ diff --git a/admin/img/pro/variable_inspector_plugin_search_filter_by_name.png b/admin/img/pro/variable_inspector_plugin_search_filter_by_name.png new file mode 100644 index 0000000..278147d Binary files /dev/null and b/admin/img/pro/variable_inspector_plugin_search_filter_by_name.png differ diff --git a/admin/img/pro/variable_inspector_plugin_search_filter_by_type.png b/admin/img/pro/variable_inspector_plugin_search_filter_by_type.png new file mode 100644 index 0000000..19db6fa Binary files /dev/null and b/admin/img/pro/variable_inspector_plugin_search_filter_by_type.png differ diff --git a/admin/img/undraw_Developer_activity_re_39tg.png b/admin/img/undraw_Developer_activity_re_39tg.png new file mode 100644 index 0000000..a259fea Binary files /dev/null and b/admin/img/undraw_Developer_activity_re_39tg.png differ diff --git a/admin/img/undraw_Programming_re_kg9v.png b/admin/img/undraw_Programming_re_kg9v.png new file mode 100644 index 0000000..d5188be Binary files /dev/null and b/admin/img/undraw_Programming_re_kg9v.png differ diff --git a/admin/js/jBox.all.min.js b/admin/js/jBox.all.min.js new file mode 100644 index 0000000..ad0eaee --- /dev/null +++ b/admin/js/jBox.all.min.js @@ -0,0 +1 @@ +function jBoxWrapper(j){function h(t,i){return this.options={id:null,width:"auto",height:"auto",minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,responsiveWidth:!0,responsiveHeight:!0,responsiveMinWidth:100,responsiveMinHeight:100,attach:null,trigger:"click",preventDefault:!1,content:null,getContent:null,title:null,getTitle:null,footer:null,isolateScroll:!0,ajax:{url:null,data:"",reload:!1,getURL:"data-url",getData:"data-ajax",setContent:!0,loadingClass:!0,spinner:!0,spinnerDelay:300,spinnerReposition:!0},cancelAjaxOnClose:!0,target:null,position:{x:"center",y:"center"},outside:null,offset:0,attributes:{x:"left",y:"top"},fixed:!1,adjustPosition:!0,adjustTracker:!1,adjustDistance:5,reposition:!0,repositionOnOpen:!0,repositionOnContent:!0,holdPosition:!0,pointer:!1,pointTo:"target",fade:180,animation:null,theme:"Default",addClass:null,overlay:!1,overlayClass:null,zIndex:1e4,delayOpen:0,delayClose:0,closeOnEsc:!1,closeOnClick:!1,closeOnMouseleave:!1,closeButton:!1,appendTo:j("body"),createOnInit:!1,blockScroll:!1,blockScrollAdjust:!0,draggable:!1,dragOver:!0,autoClose:!1,delayOnHover:!1,showCountdown:!1,preloadAudio:!0,audio:null,volume:100,onInit:null,onAttach:null,onPosition:null,onCreated:null,onOpen:null,onOpenComplete:null,onClose:null,onCloseComplete:null,onDragStart:null,onDragEnd:null},this._pluginOptions={Tooltip:{getContent:"title",trigger:"mouseenter",position:{x:"center",y:"top"},outside:"y",pointer:!0},Mouse:{responsiveWidth:!1,responsiveHeight:!1,adjustPosition:"flip",target:"mouse",trigger:"mouseenter",position:{x:"right",y:"bottom"},outside:"xy",offset:5},Modal:{target:j(window),fixed:!0,blockScroll:!0,closeOnEsc:!0,closeOnClick:"overlay",closeButton:!0,overlay:!0,animation:"zoomIn"}},this.options=j.extend(!0,this.options,this._pluginOptions[t]||h._pluginOptions[t],i),"string"==j.type(t)&&(this.type=t),this.isTouchDevice=function(){var t=" -webkit- -moz- -o- -ms- ".split(" ");if("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)return!0;var i,t=["(",t.join("touch-enabled),("),"heartz",")"].join("");return i=t,window.matchMedia(i).matches}(),this.isTouchDevice&&"mouseenter"===this.options.trigger&&!1===this.options.closeOnClick&&(this.options.closeOnClick="body"),this._fireEvent=function(t,i){this.options["_"+t]&&this.options["_"+t].bind(this)(i),this.options[t]&&this.options[t].bind(this)(i)},null===this.options.id&&(this.options.id="jBox"+h._getUniqueID()),this.id=this.options.id,("center"==this.options.position.x&&"x"==this.options.outside||"center"==this.options.position.y&&"y"==this.options.outside)&&(this.options.outside=null),"target"!=this.options.pointTo||this.options.outside&&"xy"!=this.options.outside||(this.options.pointer=!1),"object"!=j.type(this.options.offset)?this.options.offset={x:this.options.offset,y:this.options.offset}:this.options.offset=j.extend({x:0,y:0},this.options.offset),"object"!=j.type(this.options.adjustDistance)?this.options.adjustDistance={top:this.options.adjustDistance,right:this.options.adjustDistance,bottom:this.options.adjustDistance,left:this.options.adjustDistance}:this.options.adjustDistance=j.extend({top:5,left:5,right:5,bottom:5},this.options.adjustDistance),this.outside=!(!this.options.outside||"xy"==this.options.outside)&&this.options.position[this.options.outside],this.align=this.outside||("center"!=this.options.position.y&&"number"!=j.type(this.options.position.y)?this.options.position.x:"center"!=this.options.position.x&&"number"!=j.type(this.options.position.x)?this.options.position.y:this.options.attributes.x),h.zIndexMax=Math.max(h.zIndexMax||0,"auto"===this.options.zIndex?1e4:this.options.zIndex),"auto"===this.options.zIndex&&(this.adjustZIndexOnOpen=!0,this.options.zIndex=h.zIndexMax+=2,this.trueModal=this.options.overlay),this._getOpp=function(t){return{left:"right",right:"left",top:"bottom",bottom:"top",x:"y",y:"x"}[t]},this._getXY=function(t){return{left:"x",right:"x",top:"y",bottom:"y",center:"x"}[t]},this._getTL=function(t){return{left:"left",right:"left",top:"top",bottom:"top",center:"left",x:"left",y:"top"}[t]},this._getInt=function(t,i){return"auto"==t?"auto":t&&"string"==j.type(t)&&"%"==t.slice(-1)?j(window)["height"==i?"innerHeight":"innerWidth"]()*parseInt(t.replace("%",""))/100:t},this._createSVG=function(t,i){var o=document.createElementNS("http://www.w3.org/2000/svg",t);return j.each(i,function(t,i){o.setAttribute(i[0],i[1]||"")}),o},this._isolateScroll=function(e){e&&e.length&&e.on("DOMMouseScroll.jBoxIsolateScroll mousewheel.jBoxIsolateScroll",function(t){var i=t.wheelDelta||t.originalEvent&&t.originalEvent.wheelDelta||-t.detail,o=0<=this.scrollTop+e.outerHeight()-this.scrollHeight,s=this.scrollTop<=0;(i<0&&o||0",{id:this.id,class:"jBox-wrapper"+(this.type?" jBox-"+this.type:"")+(this.options.theme?" jBox-"+this.options.theme:"")+(this.options.addClass?" "+this.options.addClass:"")}).css({position:this.options.fixed?"fixed":"absolute",display:"none",opacity:0,zIndex:this.options.zIndex}).data("jBox",this),this.options.closeOnMouseleave&&this.wrapper.on("mouseleave",function(t){!this.source||t.relatedTarget!=this.source[0]&&-1===j.inArray(this.source[0],j(t.relatedTarget).parents("*"))&&this.close()}.bind(this)),"box"==this.options.closeOnClick&&this.wrapper.on("click tap",function(){this.close({ignoreDelay:!0})}.bind(this)),this.container=j('
').appendTo(this.wrapper),this.content=j('
').appendTo(this.container),this.options.footer&&(this.footer=j('