Version Description
(20th Dec 2021) = * Enhancement: Refactored code to enqueue JS and CSS files as per coding standards * Enhancement: Refactored code to utilise libraries bundled with WordPress core * Enhancement: Sanitized, Escaped, and Validated all variable, file uploads and data * Enhancement: Moved inline scripts to wp_enqueue_script and wp_add_inline_script
Download this release
Release Info
Developer | expresstech |
Plugin | Responsive Menu |
Version | 4.1.6 |
Comparing to | |
See all releases |
Code changes from version 4.1.5 to 4.1.6
- app/Collections/OptionsCollection.php +0 -95
- app/Container/Container.php +0 -47
- app/Controllers/AdminController.php +0 -377
- app/Controllers/FrontController.php +0 -140
- app/Database/Database.php +0 -31
- app/Database/Migration.php +0 -54
- app/Database/Migrations/Migrate.php +0 -35
- app/Database/Migrations/Migrate_0_0_1_0_0_2.php +0 -29
- app/Database/Migrations/Migrate_0_0_2_0_0_3.php +0 -25
- app/Database/Migrations/Migrate_0_0_5_0_0_6.php +0 -11
- app/Database/Migrations/Migrate_1_1_0_1_1_1.php +0 -7
- app/Database/Migrations/Migrate_3_1_0_3_1_1.php +0 -14
- app/Database/Migrations/Migrate_3_1_13_3_1_14.php +0 -75
- app/Database/Migrations/Migrate_3_1_7_3_1_8.php +0 -21
- app/Formatters/Minifier.php +0 -24
- app/Management/OptionManager.php +0 -66
- app/Tasks/UpdateOptionsTask.php +0 -68
- app/Validation/Validator.php +0 -118
- app/Validation/Validators/BaseValidator.php +0 -19
- app/Validation/Validators/Colour.php +0 -24
- app/Validation/Validators/Number.php +0 -19
- app/Validation/Validators/Positive.php +0 -19
- app/View/View.php +0 -18
- app/Walkers/Walker.php +0 -140
- config/default_options.php +0 -344
- config/polylang.php +0 -16
- config/routing.php +0 -101
- config/services.php +0 -43
- config/twig.php +0 -145
- config/wp/scripts.php +0 -76
- imgs/responsive-menu-logo.png +0 -0
- migration.php +0 -49
- public/css/admin/additional.css +0 -109
- public/css/admin/base.css +0 -733
- public/css/admin/bootstrap-select.css +0 -6
- public/css/admin/bootstrap-toggle.css +0 -28
- public/css/admin/bootstrap.css +0 -5
- public/css/admin/minicolours.css +0 -323
- public/css/admin/resposnsive-menu-notice.css +0 -48
- public/css/admin/selectize.css +0 -324
- public/css/admin/themes/dark.css +0 -178
- public/css/admin/themes/light.css +0 -188
- public/css/animations/boring.css.twig +0 -19
- public/css/animations/off.css.twig +0 -0
- public/css/app.css.twig +0 -710
- public/fonts/admin/glyphicons-halflings-regular.eot +0 -0
- public/fonts/admin/glyphicons-halflings-regular.svg +0 -288
- public/fonts/admin/glyphicons-halflings-regular.ttf +0 -0
- public/fonts/admin/glyphicons-halflings-regular.woff +0 -0
- public/fonts/admin/glyphicons-halflings-regular.woff2 +0 -0
- public/img/banner.jpg +0 -0
- public/img/banner.png +0 -0
- public/js/admin/additional.js +0 -80
- public/js/admin/base.js +0 -202
- public/js/admin/bootstrap-file.js +0 -1
- public/js/admin/bootstrap-select.js +0 -9
- public/js/admin/bootstrap-toggle.js +0 -9
- public/js/admin/bootstrap.js +0 -7
- public/js/admin/minicolours.js +0 -11
- public/js/admin/selectize.js +0 -3
- public/js/app.js.twig +0 -280
- readme.txt +8 -2
- responsive-menu.php +53 -56
- review-banner-class.php +31 -44
- tests/app/Collections/OptionsCollectionTest.php +0 -135
- tests/app/Container/ContainerTest.php +0 -66
- tests/app/Controllers/AdminControllerTest.php +0 -21
- tests/app/Database/MigrationTest.php +0 -227
- tests/app/Formatters/MinifierTest.php +0 -28
- tests/app/Management/OptionManagerTest.php +0 -85
- tests/app/Validation/ValidatorTest.php +0 -47
- tests/app/Validation/Validators/ColourTest.php +0 -40
- tests/app/Validation/Validators/NumberTest.php +0 -47
- tests/app/Validation/Validators/PositiveTest.php +0 -41
- v4.0.0/assets/admin/build/js/rmpMain.js +1 -1
- v4.0.0/assets/admin/js/rmp-menu-wizard.js +1 -1
- v4.0.0/assets/admin/js/rmp-preview.js +27 -27
- v4.0.0/assets/admin/rmp-main.js +1 -1
- v4.0.0/assets/scss/main.scss +3 -1
- v4.0.0/inc/classes/class-admin.php +136 -162
- v4.0.0/inc/classes/class-assets.php +17 -24
- v4.0.0/inc/classes/class-control-manager.php +841 -947
- v4.0.0/inc/classes/class-editor-manager.php +31 -38
- v4.0.0/inc/classes/class-editor.php +21 -21
app/Collections/OptionsCollection.php
DELETED
@@ -1,95 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Collections;
|
4 |
-
|
5 |
-
class OptionsCollection implements \ArrayAccess, \Countable {
|
6 |
-
|
7 |
-
private $options;
|
8 |
-
|
9 |
-
public function __construct(array $options = []) {
|
10 |
-
$this->options = array_map(function($o) {
|
11 |
-
return is_array($o) ? json_encode($o) : $o;
|
12 |
-
}, $options);
|
13 |
-
}
|
14 |
-
|
15 |
-
public function add(array $option) {
|
16 |
-
$value = $option[key($option)];
|
17 |
-
$this->options[key($option)] = is_array($value) ? json_encode($value) : $value;
|
18 |
-
}
|
19 |
-
|
20 |
-
public function getActiveArrow() {
|
21 |
-
if($this->options['active_arrow_image'])
|
22 |
-
return '<img alt="' . $this->options['active_arrow_image_alt'] .'" src="' . $this->getThemedUrl($this->options['active_arrow_image']) .'" />';
|
23 |
-
|
24 |
-
return $this->options['active_arrow_shape'];
|
25 |
-
|
26 |
-
}
|
27 |
-
|
28 |
-
public function getInActiveArrow() {
|
29 |
-
if($this->options['inactive_arrow_image'])
|
30 |
-
return '<img alt="' . $this->options['inactive_arrow_image_alt'] .'" src="' . $this->getThemedUrl($this->options['inactive_arrow_image']) .'" />';
|
31 |
-
|
32 |
-
return $this->options['inactive_arrow_shape'];
|
33 |
-
|
34 |
-
}
|
35 |
-
|
36 |
-
public function getTitleImage() {
|
37 |
-
if($this->options['menu_title_image'])
|
38 |
-
return '<img alt="' . $this->options['menu_title_image_alt'] .'" src="' . $this->getThemedUrl($this->options['menu_title_image']) .'" />';
|
39 |
-
|
40 |
-
return null;
|
41 |
-
|
42 |
-
}
|
43 |
-
|
44 |
-
public function getButtonIcon() {
|
45 |
-
if($this->options['button_image'])
|
46 |
-
return '<img alt="' . $this->options['button_image_alt'] .'" src="' . $this->getThemedUrl($this->options['button_image']) .'" class="responsive-menu-button-icon responsive-menu-button-icon-active" />';
|
47 |
-
|
48 |
-
return '<span class="responsive-menu-inner"></span>';
|
49 |
-
}
|
50 |
-
|
51 |
-
public function getButtonIconActive() {
|
52 |
-
if($this->options['button_image'])
|
53 |
-
return '<img alt="' . $this->options['button_image_alt_when_clicked'] .'" src="' . $this->getThemedUrl($this->options['button_image_when_clicked']) .'" class="responsive-menu-button-icon responsive-menu-button-icon-inactive" />';
|
54 |
-
}
|
55 |
-
|
56 |
-
public function offsetExists($offset) {
|
57 |
-
return array_key_exists($offset, $this->options);
|
58 |
-
}
|
59 |
-
|
60 |
-
public function offsetGet($offset) {
|
61 |
-
if(isset($this->options[$offset]))
|
62 |
-
return $this->options[$offset];
|
63 |
-
return null;
|
64 |
-
}
|
65 |
-
|
66 |
-
public function offsetSet($offset, $value) {
|
67 |
-
$this->add([$offset => $value]);
|
68 |
-
}
|
69 |
-
|
70 |
-
public function offsetUnset($offset) {
|
71 |
-
if(isset($this->options[$offset]))
|
72 |
-
unset($this->options[$offset]);
|
73 |
-
}
|
74 |
-
|
75 |
-
public function toArray() {
|
76 |
-
$array = [];
|
77 |
-
foreach($this->options as $key => $val)
|
78 |
-
$array[$key] = $val;
|
79 |
-
return $array;
|
80 |
-
}
|
81 |
-
|
82 |
-
public function count() {
|
83 |
-
return count($this->options);
|
84 |
-
}
|
85 |
-
|
86 |
-
private function getThemedUrl($image_url) {
|
87 |
-
if($this->options['menu_theme']):
|
88 |
-
$theme_url = wp_upload_dir()['baseurl'] . '/responsive-menu-themes/' . $this->options['menu_theme'];
|
89 |
-
$image_url = str_replace('{theme_images}', $theme_url . '/images', $image_url);
|
90 |
-
endif;
|
91 |
-
|
92 |
-
return $image_url;
|
93 |
-
}
|
94 |
-
|
95 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Container/Container.php
DELETED
@@ -1,47 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Container;
|
4 |
-
|
5 |
-
class Container implements \ArrayAccess {
|
6 |
-
|
7 |
-
private $values = [];
|
8 |
-
private $raw = [];
|
9 |
-
private $keys = [];
|
10 |
-
|
11 |
-
public function offsetSet($id, $value) {
|
12 |
-
$this->values[$id] = $value;
|
13 |
-
$this->keys[$id] = true;
|
14 |
-
}
|
15 |
-
|
16 |
-
public function offsetGet($id) {
|
17 |
-
|
18 |
-
if(!isset($this->keys[$id])) {
|
19 |
-
throw new \InvalidArgumentException(sprintf('Identifier "%s" is not defined.', $id));
|
20 |
-
}
|
21 |
-
|
22 |
-
if(isset($this->raw[$id]) || !is_object($this->values[$id]) || !method_exists($this->values[$id], '__invoke')) {
|
23 |
-
return $this->values[$id];
|
24 |
-
}
|
25 |
-
|
26 |
-
$raw = $this->values[$id];
|
27 |
-
$val = $this->values[$id] = $raw($this);
|
28 |
-
$this->raw[$id] = $this->values[$id];
|
29 |
-
|
30 |
-
return $this->values[$id];
|
31 |
-
}
|
32 |
-
|
33 |
-
public function offsetExists($id) {
|
34 |
-
return isset($this->keys[$id]);
|
35 |
-
}
|
36 |
-
|
37 |
-
public function offsetUnset($id) {
|
38 |
-
if(isset($this->keys[$id])) {
|
39 |
-
unset($this->values[$id], $this->raw[$id], $this->keys[$id]);
|
40 |
-
}
|
41 |
-
}
|
42 |
-
|
43 |
-
public function keys() {
|
44 |
-
return array_keys($this->values);
|
45 |
-
}
|
46 |
-
|
47 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Controllers/AdminController.php
DELETED
@@ -1,377 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Controllers;
|
4 |
-
use ResponsiveMenu\View\View;
|
5 |
-
use ResponsiveMenu\Management\OptionManager;
|
6 |
-
use ResponsiveMenu\Validation\Validator;
|
7 |
-
use ResponsiveMenu\Tasks\UpdateOptionsTask;
|
8 |
-
use ResponsiveMenu\Collections\OptionsCollection;
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Entry point for all admin functionality.
|
12 |
-
*
|
13 |
-
* All routing for the admin comes through the functions below. When any
|
14 |
-
* button is pressed in the admin view, it will come through here.
|
15 |
-
*
|
16 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
17 |
-
*
|
18 |
-
* @since 3.0
|
19 |
-
*/
|
20 |
-
class AdminController {
|
21 |
-
|
22 |
-
/**
|
23 |
-
* Constructor for setting up the AdminController.
|
24 |
-
*
|
25 |
-
* The constructor allows us to switch implementations for managing options
|
26 |
-
* and for rendering views. Useful for switching out mocked or stubbed
|
27 |
-
* classes during testing.
|
28 |
-
*
|
29 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
30 |
-
*
|
31 |
-
* @since 3.0
|
32 |
-
*
|
33 |
-
* @param OptionManager $manager Instance of a Management options class.
|
34 |
-
* @param View $view Instance of a View class for rendering.
|
35 |
-
*/
|
36 |
-
public function __construct(OptionManager $manager, View $view) {
|
37 |
-
$this->manager = $manager;
|
38 |
-
$this->view = $view;
|
39 |
-
}
|
40 |
-
|
41 |
-
/**
|
42 |
-
* Main GET route for the admin section.
|
43 |
-
*
|
44 |
-
* This is the default view for the plugin on an initial GET request to the
|
45 |
-
* page.
|
46 |
-
*
|
47 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
48 |
-
*
|
49 |
-
* @since 3.0
|
50 |
-
*
|
51 |
-
* @return string Output HTML from rendered view.
|
52 |
-
*/
|
53 |
-
public function index() {
|
54 |
-
return $this->view->render(
|
55 |
-
'admin/main.html.twig', ['options' => $this->manager->all()]
|
56 |
-
);
|
57 |
-
}
|
58 |
-
|
59 |
-
/**
|
60 |
-
* Rebuild database POST route for the admin section.
|
61 |
-
*
|
62 |
-
* This route is called when the Rebuild Database button is clicked from
|
63 |
-
* inside the admin section. The intention is to set the version back to
|
64 |
-
* a pre 3.0 version, which will then force a rebuild.
|
65 |
-
*
|
66 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
67 |
-
*
|
68 |
-
* @since 3.0
|
69 |
-
* @param bool $valid_nonce Is the form nonce valid or not.
|
70 |
-
*
|
71 |
-
* @return string Output HTML from rendered view.
|
72 |
-
*/
|
73 |
-
public function rebuild( $valid_nonce ) {
|
74 |
-
|
75 |
-
// Check form nonce is valid or not.
|
76 |
-
if ( ! $valid_nonce ) {
|
77 |
-
return $this->view->render(
|
78 |
-
'admin/main.html.twig',
|
79 |
-
[
|
80 |
-
'options' => $this->manager->all(),
|
81 |
-
'alert' => [ 'danger' => 'CSRF token not valid' ]
|
82 |
-
]
|
83 |
-
);
|
84 |
-
}
|
85 |
-
|
86 |
-
update_option('responsive_menu_version', '2.8.9');
|
87 |
-
|
88 |
-
return $this->view->render(
|
89 |
-
'admin/main.html.twig',
|
90 |
-
[
|
91 |
-
'options' => $this->manager->all(),
|
92 |
-
'alert' => ['success' => 'Responsive Menu Database Rebuilt Successfully.']
|
93 |
-
]
|
94 |
-
);
|
95 |
-
}
|
96 |
-
|
97 |
-
|
98 |
-
/**
|
99 |
-
* Apply a specific theme options and commit to the database.
|
100 |
-
*
|
101 |
-
* This route is called when the Apply Theme button is pressed inside the
|
102 |
-
* admin area. It loads in the options file for the theme and updates the
|
103 |
-
* options accordingly.
|
104 |
-
*
|
105 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
106 |
-
*
|
107 |
-
* @since 3.1.16
|
108 |
-
*
|
109 |
-
* @param string $theme The theme name to apply
|
110 |
-
* @param bool $valid_nonce Is the form nonce valid or not.
|
111 |
-
*
|
112 |
-
* @return string Output HTML from rendered view.
|
113 |
-
*/
|
114 |
-
public function apply_theme( $theme, $valid_nonce ) {
|
115 |
-
$options = $this->manager->all();
|
116 |
-
|
117 |
-
// Check form nonce is valid or not.
|
118 |
-
if ( ! $valid_nonce ) {
|
119 |
-
return $this->view->render(
|
120 |
-
'admin/main.html.twig',
|
121 |
-
[
|
122 |
-
'options' => $options,
|
123 |
-
'alert' => [ 'danger' => 'CSRF token not valid' ]
|
124 |
-
]
|
125 |
-
);
|
126 |
-
}
|
127 |
-
|
128 |
-
$upload_folder = wp_upload_dir()['basedir'];
|
129 |
-
$theme_folder = $upload_folder . '/responsive-menu-themes/';
|
130 |
-
$options_file_location = $theme_folder . $theme . '/options.json';
|
131 |
-
|
132 |
-
$theme_options_file = file_get_contents($options_file_location);
|
133 |
-
$theme_options = json_decode($theme_options_file, true);
|
134 |
-
|
135 |
-
foreach($theme_options as $key => $value)
|
136 |
-
$options[$key] = $value;
|
137 |
-
|
138 |
-
$options['menu_theme'] = $theme;
|
139 |
-
|
140 |
-
$this->manager->updateOptions($options->toArray());
|
141 |
-
|
142 |
-
return $this->view->render(
|
143 |
-
'admin/main.html.twig',
|
144 |
-
[
|
145 |
-
'options' => $options,
|
146 |
-
'alert' => ['success' => 'Responsive Menu Theme Applied Successfully.']
|
147 |
-
]
|
148 |
-
);
|
149 |
-
}
|
150 |
-
|
151 |
-
/**
|
152 |
-
* Import a theme from a zip file.
|
153 |
-
*
|
154 |
-
* This route is called when the Upload Theme button is pressed inside the
|
155 |
-
* admin area. It loads in the selected zip file for the theme and unpacks
|
156 |
-
* it in the uploads directory.
|
157 |
-
*
|
158 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
159 |
-
*
|
160 |
-
* @since 3.1.16
|
161 |
-
*
|
162 |
-
* @param string $theme The theme file location to unzip
|
163 |
-
* @param bool $valid_nonce Is the form nonce valid or not.
|
164 |
-
*
|
165 |
-
* @return string Output HTML from rendered view.
|
166 |
-
*/
|
167 |
-
public function import_theme( $theme, $valid_nonce ) {
|
168 |
-
|
169 |
-
// Check nonce is valid or not.
|
170 |
-
if ( ! $valid_nonce ):
|
171 |
-
$alert = [ 'danger' => 'CSRF token not valid' ];
|
172 |
-
elseif ( ! empty( $theme ) ):
|
173 |
-
WP_Filesystem();
|
174 |
-
$upload_folder = wp_upload_dir()['basedir'] . '/responsive-menu-themes';
|
175 |
-
|
176 |
-
$unzipfile = unzip_file($theme, $upload_folder);
|
177 |
-
|
178 |
-
if(is_wp_error($unzipfile)) {
|
179 |
-
$alert = ['danger' => $unzipfile->get_error_message()];
|
180 |
-
} else {
|
181 |
-
$alert = ['success' => 'Responsive Menu Theme Imported Successfully.'];
|
182 |
-
}
|
183 |
-
|
184 |
-
else:
|
185 |
-
$alert = ['danger' => 'No import file selected'];
|
186 |
-
|
187 |
-
endif;
|
188 |
-
|
189 |
-
return $this->view->render(
|
190 |
-
'admin/main.html.twig',
|
191 |
-
[
|
192 |
-
'options' => $this->manager->all(),
|
193 |
-
'alert' => $alert
|
194 |
-
]
|
195 |
-
);
|
196 |
-
}
|
197 |
-
|
198 |
-
/**
|
199 |
-
* Update the options based on submitted admin form.
|
200 |
-
*
|
201 |
-
* This route is called whenever the Update Options button is pressed and is
|
202 |
-
* the most commonly called route. Takes the submitted options and runs the
|
203 |
-
* update options task.
|
204 |
-
*
|
205 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
206 |
-
*
|
207 |
-
* @since 3.0
|
208 |
-
*
|
209 |
-
* @param bool $valid_nonce Is the form nonce valid or not
|
210 |
-
* @param array $new_options An array of the submitted options.
|
211 |
-
*
|
212 |
-
* @return string Output HTML from rendered view.
|
213 |
-
*/
|
214 |
-
public function update($valid_nonce, $new_options) {
|
215 |
-
$validator = new Validator();
|
216 |
-
$errors = [];
|
217 |
-
|
218 |
-
if(!$valid_nonce):
|
219 |
-
$alert = ['danger' => 'CSRF token not valid'];
|
220 |
-
$options = new OptionsCollection($new_options);
|
221 |
-
|
222 |
-
elseif($validator->validate($new_options)):
|
223 |
-
try {
|
224 |
-
$options = $this->manager->updateOptions($new_options);
|
225 |
-
$task = new UpdateOptionsTask;
|
226 |
-
$task->run($options, $this->view);
|
227 |
-
$alert = ['success' => 'Responsive Menu Options Updated Successfully.'];
|
228 |
-
|
229 |
-
} catch (\Exception $e) {
|
230 |
-
$alert = ['danger' => $e->getMessage()];
|
231 |
-
}
|
232 |
-
|
233 |
-
else:
|
234 |
-
$options = new OptionsCollection($new_options);
|
235 |
-
$errors = $validator->getErrors();
|
236 |
-
$alert = ['danger' => $errors];
|
237 |
-
|
238 |
-
endif;
|
239 |
-
|
240 |
-
return $this->view->render(
|
241 |
-
'admin/main.html.twig',
|
242 |
-
[
|
243 |
-
'options' => $options,
|
244 |
-
'alert' => $alert,
|
245 |
-
'errors' => $errors
|
246 |
-
]
|
247 |
-
);
|
248 |
-
}
|
249 |
-
|
250 |
-
/**
|
251 |
-
* Reset the options back to the defaults.
|
252 |
-
*
|
253 |
-
* This route is called whenever the Reset Options button is pressed. Resets
|
254 |
-
* all options back to their default states and runs the update options
|
255 |
-
* task.
|
256 |
-
*
|
257 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
258 |
-
*
|
259 |
-
* @since 3.0
|
260 |
-
*
|
261 |
-
* @param array $default_options An array of the default options.
|
262 |
-
* @param bool $valid_nonce Is the form nonce valid or not.
|
263 |
-
*
|
264 |
-
* @return string Output HTML from rendered view.
|
265 |
-
*/
|
266 |
-
public function reset($default_options, $valid_nonce ) {
|
267 |
-
|
268 |
-
// Check form nonce is valid or not.
|
269 |
-
if ( ! $valid_nonce ) {
|
270 |
-
return $this->view->render(
|
271 |
-
'admin/main.html.twig',
|
272 |
-
[
|
273 |
-
'options' => $this->manager->all(),
|
274 |
-
'alert' => [ 'danger' => 'CSRF token not valid' ]
|
275 |
-
]
|
276 |
-
);
|
277 |
-
}
|
278 |
-
|
279 |
-
try {
|
280 |
-
$options = $this->manager->updateOptions($default_options);
|
281 |
-
$task = new UpdateOptionsTask;
|
282 |
-
$task->run($options, $this->view);
|
283 |
-
$alert = ['success' => 'Responsive Menu Options Reset Successfully'];
|
284 |
-
|
285 |
-
} catch(\Exception $e) {
|
286 |
-
$alert = ['danger' => $e->getMessage()];
|
287 |
-
}
|
288 |
-
|
289 |
-
return $this->view->render(
|
290 |
-
'admin/main.html.twig',
|
291 |
-
[
|
292 |
-
'options' => $options,
|
293 |
-
'alert' => $alert
|
294 |
-
]
|
295 |
-
);
|
296 |
-
}
|
297 |
-
|
298 |
-
/**
|
299 |
-
* Import options from a file.
|
300 |
-
*
|
301 |
-
* This route is called when the Import Options button is pressed inside the
|
302 |
-
* admin area. It loads in the selected json file and updates the options.
|
303 |
-
*
|
304 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
305 |
-
*
|
306 |
-
* @since 3.0
|
307 |
-
*
|
308 |
-
* @param array $imported_options An array of the imported options.
|
309 |
-
* @param bool $valid_nonce Is the form nonce valid or not.
|
310 |
-
*
|
311 |
-
* @return string Output HTML from rendered view.
|
312 |
-
*/
|
313 |
-
public function import( $imported_options, $valid_nonce ) {
|
314 |
-
$errors = [];
|
315 |
-
|
316 |
-
// Check nonce is valid or not.
|
317 |
-
if ( ! $valid_nonce ) {
|
318 |
-
$alert = [ 'danger' => 'CSRF token not valid' ];
|
319 |
-
$options = $this->manager->all();
|
320 |
-
} elseif( ! empty( $imported_options ) ) {
|
321 |
-
|
322 |
-
$validator = new Validator();
|
323 |
-
if($validator->validate($imported_options)):
|
324 |
-
try {
|
325 |
-
unset($imported_options['button_click_trigger']);
|
326 |
-
$options = $this->manager->updateOptions($imported_options);
|
327 |
-
$task = new UpdateOptionsTask;
|
328 |
-
$task->run($options, $this->view);
|
329 |
-
$alert = ['success' => 'Responsive Menu Options Imported Successfully.'];
|
330 |
-
} catch(\Exception $e) {
|
331 |
-
$options = $this->manager->all();
|
332 |
-
$alert = ['danger' => $e->getMessage()];
|
333 |
-
}
|
334 |
-
|
335 |
-
else:
|
336 |
-
$options = new OptionsCollection($imported_options);
|
337 |
-
$errors = $validator->getErrors();
|
338 |
-
$alert = ['danger' => $errors];
|
339 |
-
|
340 |
-
endif;
|
341 |
-
|
342 |
-
} else {
|
343 |
-
$options = $this->manager->all();
|
344 |
-
$alert = ['danger' => 'No import file selected'];
|
345 |
-
|
346 |
-
}
|
347 |
-
|
348 |
-
return $this->view->render(
|
349 |
-
'admin/main.html.twig',
|
350 |
-
[
|
351 |
-
'options' => $options,
|
352 |
-
'alert' => $alert,
|
353 |
-
'errors' => $errors
|
354 |
-
]
|
355 |
-
);
|
356 |
-
}
|
357 |
-
|
358 |
-
/**
|
359 |
-
* Export all current options to a json file.
|
360 |
-
*
|
361 |
-
* This route is called when the Export Options button is pressed inside
|
362 |
-
* the admin area. It returns a json file of all the current options as a
|
363 |
-
* download attachment to the browser.
|
364 |
-
*
|
365 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
366 |
-
*
|
367 |
-
* @since 3.0
|
368 |
-
*
|
369 |
-
* @return attachment json file attachment of plugin options.
|
370 |
-
*/
|
371 |
-
public function export() {
|
372 |
-
return json_encode(
|
373 |
-
$this->manager->all()->toArray()
|
374 |
-
);
|
375 |
-
}
|
376 |
-
|
377 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Controllers/FrontController.php
DELETED
@@ -1,140 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Controllers;
|
4 |
-
use ResponsiveMenu\Collections\OptionsCollection;
|
5 |
-
use ResponsiveMenu\View\View;
|
6 |
-
use ResponsiveMenu\Management\OptionManager;
|
7 |
-
use ResponsiveMenu\Formatters\Minifier;
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Entry point for all front end functionality.
|
11 |
-
*
|
12 |
-
* All routing for the front end comes through the functions below. When a
|
13 |
-
* front end page is loaded in the browser it will come through here.
|
14 |
-
*
|
15 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
16 |
-
*
|
17 |
-
* @since 3.0
|
18 |
-
*/
|
19 |
-
class FrontController {
|
20 |
-
|
21 |
-
/**
|
22 |
-
* Constructor for setting up the FrontController.
|
23 |
-
*
|
24 |
-
* The constructor allows us to switch implementations for managing options
|
25 |
-
* and for rendering views. Useful for switching out mocked or stubbed
|
26 |
-
* classes during testing.
|
27 |
-
*
|
28 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
29 |
-
*
|
30 |
-
* @since 3.0
|
31 |
-
*
|
32 |
-
* @param OptionManager $manager Instance of a Management options class.
|
33 |
-
* @param View $view Instance of a View class for rendering.
|
34 |
-
*/
|
35 |
-
public function __construct(OptionManager $manager, View $view) {
|
36 |
-
$this->manager = $manager;
|
37 |
-
$this->view = $view;
|
38 |
-
}
|
39 |
-
|
40 |
-
/**
|
41 |
-
* Main route for the front end.
|
42 |
-
*
|
43 |
-
* This is the default view for the plugin on an initial GET request to the
|
44 |
-
* front end page.
|
45 |
-
*
|
46 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
47 |
-
*
|
48 |
-
* @since 3.0
|
49 |
-
*
|
50 |
-
* @return string Output HTML from rendered view.
|
51 |
-
*/
|
52 |
-
public function index() {
|
53 |
-
$options = $this->manager->all();
|
54 |
-
$this->buildFrontEnd($options);
|
55 |
-
}
|
56 |
-
|
57 |
-
/**
|
58 |
-
* Preview route for the front end.
|
59 |
-
*
|
60 |
-
* This is the preview view for the plugin when the preview admin option is
|
61 |
-
* pressed.
|
62 |
-
*
|
63 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
64 |
-
*
|
65 |
-
* @since 3.0
|
66 |
-
*
|
67 |
-
* @return string Output HTML from rendered view.
|
68 |
-
*/
|
69 |
-
public function preview() {
|
70 |
-
return $this->view->render('preview.html.twig');
|
71 |
-
}
|
72 |
-
|
73 |
-
/**
|
74 |
-
* Helper private method to setup and build the front end.
|
75 |
-
*
|
76 |
-
* This is the preview view for the plugin when the preview admin option is
|
77 |
-
* pressed. We turn external files off to enable the preview options to
|
78 |
-
* take effect.
|
79 |
-
*
|
80 |
-
* TODO: This is a horrible method that really needs to be broken up in some
|
81 |
-
* way. There is a lot of setup and WordPress specific functionality going
|
82 |
-
* on here that would ideally be abstracted away.
|
83 |
-
*
|
84 |
-
* @author Peter Featherstone <peter@featherstone.me>
|
85 |
-
*
|
86 |
-
* @since 3.0
|
87 |
-
*
|
88 |
-
* @param OptionsCollection $options A OptionsCollection object.
|
89 |
-
*/
|
90 |
-
private function buildFrontEnd(OptionsCollection $options) {
|
91 |
-
add_filter('body_class', function($classes) use($options) {
|
92 |
-
$classes[] = 'responsive-menu-' . $options['animation_type'] . '-' . $options['menu_appear_from'];
|
93 |
-
return $classes;
|
94 |
-
});
|
95 |
-
|
96 |
-
if($options['external_files'] == 'on'):
|
97 |
-
add_action('wp_enqueue_scripts', function() use($options) {
|
98 |
-
$css_file = wp_upload_dir()['baseurl'] . '/responsive-menu/css/responsive-menu-' . get_current_blog_id() . '.css';
|
99 |
-
$js_file = wp_upload_dir()['baseurl'] . '/responsive-menu/js/responsive-menu-' . get_current_blog_id() . '.js';
|
100 |
-
wp_enqueue_style('responsive-menu', $css_file, null, false);
|
101 |
-
wp_enqueue_script('responsive-menu', $js_file, ['jquery'], false, $options['scripts_in_footer'] == 'on' ? true : false);
|
102 |
-
});
|
103 |
-
else:
|
104 |
-
add_action('wp_head', function() use($options) {
|
105 |
-
$css_data = $this->view->render('css/app.css.twig', ['options' => $options]);
|
106 |
-
if($options['minify_scripts'] == 'on')
|
107 |
-
$css_data = Minifier::minify($css_data);
|
108 |
-
|
109 |
-
echo '<style>' . $css_data . '</style>';
|
110 |
-
}, 100);
|
111 |
-
|
112 |
-
add_action($options['scripts_in_footer'] == 'on' ? 'wp_footer' : 'wp_head', function() use($options) {
|
113 |
-
$js_data = $this->view->render('js/app.js.twig', ['options' => $options]);
|
114 |
-
if($options['minify_scripts'] == 'on')
|
115 |
-
$js_data = Minifier::minify($js_data);
|
116 |
-
|
117 |
-
echo '<script>' . $js_data . '</script>';
|
118 |
-
}, 100);
|
119 |
-
endif;
|
120 |
-
|
121 |
-
if($options['shortcode'] == 'on'):
|
122 |
-
add_shortcode('responsive_menu', function($atts) use($options) {
|
123 |
-
|
124 |
-
if(is_array($atts))
|
125 |
-
$merged_options = array_merge($options->toArray(), $atts);
|
126 |
-
else
|
127 |
-
$merged_options = $options->toArray();
|
128 |
-
|
129 |
-
$new_collection = new OptionsCollection($merged_options);
|
130 |
-
return $this->view->render('app.html.twig', ['options' => $new_collection]);
|
131 |
-
});
|
132 |
-
else:
|
133 |
-
add_action('wp_footer', function() use($options) {
|
134 |
-
echo $this->view->render('app.html.twig', ['options' => $options]);
|
135 |
-
});
|
136 |
-
endif;
|
137 |
-
|
138 |
-
}
|
139 |
-
|
140 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Database/Database.php
DELETED
@@ -1,31 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Database;
|
4 |
-
|
5 |
-
class Database {
|
6 |
-
|
7 |
-
public function __construct($db_base) {
|
8 |
-
$this->db = $db_base;
|
9 |
-
}
|
10 |
-
|
11 |
-
public function all($table) {
|
12 |
-
$results = $this->db->get_results("SELECT * FROM {$this->db->prefix}{$table}", ARRAY_A);
|
13 |
-
$flattened = [];
|
14 |
-
foreach($results as $result)
|
15 |
-
$flattened[$result['name']] = $result['value'];
|
16 |
-
return $flattened;
|
17 |
-
}
|
18 |
-
|
19 |
-
public function update($table, array $to_update) {
|
20 |
-
return $this->db->replace($this->db->prefix . $table, $to_update, ['%s', '%s']);
|
21 |
-
}
|
22 |
-
|
23 |
-
public function delete($table, $name) {
|
24 |
-
return $this->db->delete($this->db->prefix . $table, $name);
|
25 |
-
}
|
26 |
-
|
27 |
-
public function insert($table, array $arguments) {
|
28 |
-
return $this->db->insert($this->db->prefix . $table, $arguments);
|
29 |
-
}
|
30 |
-
|
31 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Database/Migration.php
DELETED
@@ -1,54 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Database;
|
4 |
-
use ResponsiveMenu\Management\OptionManager;
|
5 |
-
|
6 |
-
class Migration {
|
7 |
-
|
8 |
-
private $manager;
|
9 |
-
private $old_version;
|
10 |
-
private $new_version;
|
11 |
-
private $defaults;
|
12 |
-
|
13 |
-
public function __construct(OptionManager $manager, $old_version, $new_version, $defaults) {
|
14 |
-
$this->manager = $manager;
|
15 |
-
$this->old_version = $old_version;
|
16 |
-
$this->new_version = $new_version;
|
17 |
-
$this->defaults = $defaults;
|
18 |
-
}
|
19 |
-
|
20 |
-
public function needsTable() {
|
21 |
-
return substr($this->old_version, 0, 1) < 3;
|
22 |
-
}
|
23 |
-
|
24 |
-
public function needsUpdate() {
|
25 |
-
return version_compare($this->old_version, $this->new_version, '<');
|
26 |
-
}
|
27 |
-
|
28 |
-
public function addNewOptions() {
|
29 |
-
return $this->manager->createOptions(array_diff_key($this->defaults, $this->manager->all()->toArray()));
|
30 |
-
}
|
31 |
-
|
32 |
-
public function tidyUpOptions() {
|
33 |
-
return $this->manager->removeOptions(array_diff_key($this->manager->all()->toArray(), $this->defaults));
|
34 |
-
}
|
35 |
-
|
36 |
-
public function getMigrationClasses() {
|
37 |
-
$migrations = [];
|
38 |
-
if($this->old_version):
|
39 |
-
foreach(glob(__DIR__ . '/Migrations/Migrate_*.php') as $file) {
|
40 |
-
$class_name = 'ResponsiveMenu\Database\Migrations\\' . basename($file, '.php');
|
41 |
-
$class = new $class_name;
|
42 |
-
if(
|
43 |
-
version_compare($class->getOldVersion(), $this->new_version, '<') &&
|
44 |
-
version_compare($this->old_version, $class->getNewVersion(), '<')
|
45 |
-
)
|
46 |
-
$migrations[$class->getOldVersion()] = $class;
|
47 |
-
}
|
48 |
-
|
49 |
-
uksort($migrations, 'version_compare');
|
50 |
-
endif;
|
51 |
-
return $migrations;
|
52 |
-
}
|
53 |
-
|
54 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Database/Migrations/Migrate.php
DELETED
@@ -1,35 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Database\Migrations;
|
4 |
-
use ResponsiveMenu\Collections\OptionsCollection;
|
5 |
-
|
6 |
-
class Migrate {
|
7 |
-
|
8 |
-
public function migrate(OptionsCollection $options) {
|
9 |
-
if(isset($this->migrations))
|
10 |
-
foreach($this->migrations as $copy_to => $copy_from)
|
11 |
-
$options[$copy_to] = $options[$copy_from];
|
12 |
-
|
13 |
-
if(isset($this->migration_scripts))
|
14 |
-
foreach($this->migration_scripts as $script)
|
15 |
-
$options = $this->$script($options);
|
16 |
-
|
17 |
-
return $options;
|
18 |
-
}
|
19 |
-
|
20 |
-
public function getOldVersion() {
|
21 |
-
$v = $this->getVersionArray();
|
22 |
-
return $v[0] . '.' . $v[1] . '.' . $v[2];
|
23 |
-
}
|
24 |
-
|
25 |
-
public function getNewVersion() {
|
26 |
-
$v = $this->getVersionArray();
|
27 |
-
return $v[3] . '.' . $v[4] . '.' . $v[5];
|
28 |
-
}
|
29 |
-
|
30 |
-
private function getVersionArray() {
|
31 |
-
$versions = str_replace('ResponsiveMenu\Database\Migrations\Migrate_', '', get_class($this));
|
32 |
-
return explode('_', $versions);
|
33 |
-
}
|
34 |
-
|
35 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Database/Migrations/Migrate_0_0_1_0_0_2.php
DELETED
@@ -1,29 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Database\Migrations;
|
4 |
-
use ResponsiveMenu\Collections\OptionsCollection;
|
5 |
-
|
6 |
-
class Migrate_0_0_1_0_0_2 extends Migrate {
|
7 |
-
|
8 |
-
protected $migrations = [
|
9 |
-
'foo' => 'baz'
|
10 |
-
];
|
11 |
-
|
12 |
-
protected $migration_scripts = [
|
13 |
-
'updateSun'
|
14 |
-
];
|
15 |
-
|
16 |
-
protected function updateSun(OptionsCollection $options) {
|
17 |
-
$sun = json_decode($options['sun']);
|
18 |
-
if(is_array($sun)):
|
19 |
-
$new_sun = [];
|
20 |
-
foreach($sun as $update):
|
21 |
-
unset($update[2]);
|
22 |
-
$new_sun[] = $update;
|
23 |
-
endforeach;
|
24 |
-
$options['sun'] = $new_sun;
|
25 |
-
endif;
|
26 |
-
return $options;
|
27 |
-
}
|
28 |
-
|
29 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Database/Migrations/Migrate_0_0_2_0_0_3.php
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Database\Migrations;
|
4 |
-
use ResponsiveMenu\Collections\OptionsCollection;
|
5 |
-
|
6 |
-
class Migrate_0_0_2_0_0_3 extends Migrate {
|
7 |
-
|
8 |
-
protected $migration_scripts = [
|
9 |
-
'updateSun'
|
10 |
-
];
|
11 |
-
|
12 |
-
protected function updateSun(OptionsCollection $options) {
|
13 |
-
$sun = json_decode($options['sun']);
|
14 |
-
if(is_array($sun)):
|
15 |
-
$new_sun = [];
|
16 |
-
foreach($sun as $update):
|
17 |
-
unset($update[1]);
|
18 |
-
$new_sun[] = $update;
|
19 |
-
endforeach;
|
20 |
-
$options['sun'] = $new_sun;
|
21 |
-
endif;
|
22 |
-
return $options;
|
23 |
-
}
|
24 |
-
|
25 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Database/Migrations/Migrate_0_0_5_0_0_6.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Database\Migrations;
|
4 |
-
|
5 |
-
class Migrate_0_0_5_0_0_6 extends Migrate {
|
6 |
-
|
7 |
-
protected $migrations = [
|
8 |
-
'moon' => 'baz'
|
9 |
-
];
|
10 |
-
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Database/Migrations/Migrate_1_1_0_1_1_1.php
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Database\Migrations;
|
4 |
-
|
5 |
-
class Migrate_1_1_0_1_1_1 extends Migrate {
|
6 |
-
|
7 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Database/Migrations/Migrate_3_1_0_3_1_1.php
DELETED
@@ -1,14 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Database\Migrations;
|
4 |
-
|
5 |
-
class Migrate_3_1_0_3_1_1 extends Migrate {
|
6 |
-
|
7 |
-
protected $migrations = [
|
8 |
-
'button_background_colour_active' => 'button_background_colour',
|
9 |
-
'button_line_colour_hover' => 'button_line_colour',
|
10 |
-
'button_line_colour_active' => 'button_line_colour',
|
11 |
-
'menu_container_background_colour' => 'menu_background_colour',
|
12 |
-
];
|
13 |
-
|
14 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Database/Migrations/Migrate_3_1_13_3_1_14.php
DELETED
@@ -1,75 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Database\Migrations;
|
4 |
-
|
5 |
-
class Migrate_3_1_13_3_1_14 extends Migrate {
|
6 |
-
|
7 |
-
protected $migrations = [
|
8 |
-
// Menu > Styling
|
9 |
-
'menu_links_line_height' => 'menu_links_height',
|
10 |
-
'menu_links_line_height_unit' => 'menu_links_height_unit',
|
11 |
-
|
12 |
-
// Sub Menus > Styling
|
13 |
-
'submenu_font' => 'menu_font',
|
14 |
-
'submenu_font_size' => 'menu_font_size',
|
15 |
-
'submenu_font_size_unit' => 'menu_font_size_unit',
|
16 |
-
'submenu_links_height' => 'menu_links_height',
|
17 |
-
'submenu_links_height_unit' => 'menu_links_height_unit',
|
18 |
-
'submenu_links_line_height' => 'menu_links_height',
|
19 |
-
'submenu_links_line_height_unit' => 'menu_links_height_unit',
|
20 |
-
'submenu_text_alignment' => 'menu_text_alignment',
|
21 |
-
|
22 |
-
// Sub Menus > Item Borders
|
23 |
-
'submenu_border_width' => 'menu_border_width',
|
24 |
-
'submenu_border_width_unit' => 'menu_border_width_unit',
|
25 |
-
'submenu_item_border_colour' => 'menu_item_border_colour',
|
26 |
-
'submenu_item_border_colour_hover' => 'menu_item_border_colour_hover',
|
27 |
-
'submenu_current_item_border_colour' => 'menu_current_item_border_colour',
|
28 |
-
'submenu_current_item_border_hover_colour' => 'menu_current_item_border_hover_colour',
|
29 |
-
|
30 |
-
// Sub Menus > Item Text
|
31 |
-
'submenu_link_colour' => 'menu_link_colour',
|
32 |
-
'submenu_link_hover_colour' => 'menu_link_hover_colour',
|
33 |
-
'submenu_current_link_colour' => 'menu_current_link_colour',
|
34 |
-
'submenu_current_link_hover_colour' => 'menu_current_link_hover_colour',
|
35 |
-
|
36 |
-
// Sub Menus > Item Background
|
37 |
-
'submenu_item_background_colour' => 'menu_item_background_colour',
|
38 |
-
'submenu_item_background_hover_colour' => 'menu_item_background_hover_colour',
|
39 |
-
'submenu_current_item_background_colour' => 'menu_current_item_background_colour',
|
40 |
-
'submenu_current_item_background_hover_colour' => 'menu_current_item_background_hover_colour',
|
41 |
-
|
42 |
-
// Sub Menus > Trigger Icon
|
43 |
-
'submenu_arrow_position' => 'arrow_position',
|
44 |
-
|
45 |
-
// Sub Menus > Trigger Sizing
|
46 |
-
'submenu_submenu_arrow_height' => 'submenu_arrow_height',
|
47 |
-
'submenu_submenu_arrow_height_unit' => 'submenu_arrow_height_unit',
|
48 |
-
'submenu_submenu_arrow_width' => 'submenu_arrow_width',
|
49 |
-
'submenu_submenu_arrow_width_unit' => 'submenu_arrow_width_unit',
|
50 |
-
|
51 |
-
// Sub Menus > Trigger Colours
|
52 |
-
'submenu_sub_arrow_shape_colour' => 'menu_sub_arrow_shape_colour',
|
53 |
-
'submenu_sub_arrow_shape_hover_colour' => 'menu_sub_arrow_shape_hover_colour',
|
54 |
-
'submenu_sub_arrow_shape_colour_active' => 'menu_sub_arrow_shape_colour_active',
|
55 |
-
'submenu_sub_arrow_shape_hover_colour_active' => 'menu_sub_arrow_shape_hover_colour_active',
|
56 |
-
|
57 |
-
// Sub Menus > Trigger Background
|
58 |
-
'submenu_sub_arrow_background_colour' => 'menu_sub_arrow_background_colour',
|
59 |
-
'submenu_sub_arrow_background_hover_colour' => 'menu_sub_arrow_background_hover_colour',
|
60 |
-
'submenu_sub_arrow_background_colour_active' => 'menu_sub_arrow_background_colour_active',
|
61 |
-
'submenu_sub_arrow_background_hover_colour_active' => 'menu_sub_arrow_background_hover_colour_active',
|
62 |
-
|
63 |
-
// Sub Menus > Trigger Border
|
64 |
-
'submenu_sub_arrow_border_colour' => 'menu_sub_arrow_border_colour',
|
65 |
-
'submenu_sub_arrow_border_hover_colour' => 'menu_sub_arrow_border_hover_colour',
|
66 |
-
'submenu_sub_arrow_border_colour_active' => 'menu_sub_arrow_border_colour_active',
|
67 |
-
'submenu_sub_arrow_border_hover_colour_active' => 'menu_sub_arrow_border_hover_colour_active',
|
68 |
-
|
69 |
-
// Desktop Menu > Top Level Styling
|
70 |
-
'single_menu_line_height' => 'single_menu_height',
|
71 |
-
'single_menu_line_height_unit' => 'single_menu_height_unit',
|
72 |
-
|
73 |
-
];
|
74 |
-
|
75 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Database/Migrations/Migrate_3_1_7_3_1_8.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Database\Migrations;
|
4 |
-
use ResponsiveMenu\Collections\OptionsCollection;
|
5 |
-
|
6 |
-
class Migrate_3_1_7_3_1_8 extends Migrate {
|
7 |
-
|
8 |
-
protected $migrations = [
|
9 |
-
'use_desktop_menu' => 'use_single_menu'
|
10 |
-
];
|
11 |
-
|
12 |
-
protected $migration_scripts = [
|
13 |
-
'setOldTheme'
|
14 |
-
];
|
15 |
-
|
16 |
-
protected function setOldTheme(OptionsCollection $options) {
|
17 |
-
$options['admin_theme'] = 'light';
|
18 |
-
return $options;
|
19 |
-
}
|
20 |
-
|
21 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Formatters/Minifier.php
DELETED
@@ -1,24 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Formatters;
|
4 |
-
|
5 |
-
class Minifier {
|
6 |
-
|
7 |
-
public static function minify($data) {
|
8 |
-
|
9 |
-
/* remove comments */
|
10 |
-
$minified = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $data);
|
11 |
-
|
12 |
-
/* remove tabs, spaces, newlines, etc. */
|
13 |
-
$minified = str_replace(array("\r\n","\r","\n","\t",' ',' ',' '), '', $minified);
|
14 |
-
|
15 |
-
/* remove other spaces before/after ; */
|
16 |
-
$minified = preg_replace(array('(( )+{)','({( )+)'), '{', $minified);
|
17 |
-
$minified = preg_replace(array('(( )+})','(}( )+)','(;( )*})'), '}', $minified);
|
18 |
-
$minified = preg_replace(array('(;( )+)','(( )+;)'), ';', $minified);
|
19 |
-
|
20 |
-
return $minified;
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Management/OptionManager.php
DELETED
@@ -1,66 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Management;
|
4 |
-
use ResponsiveMenu\Collections\OptionsCollection;
|
5 |
-
use ResponsiveMenu\Database\Database;
|
6 |
-
|
7 |
-
class OptionManager {
|
8 |
-
|
9 |
-
private $db;
|
10 |
-
private $default_options;
|
11 |
-
|
12 |
-
public function __construct(Database $db, $default_options) {
|
13 |
-
$this->db = $db;
|
14 |
-
$this->default_options = $default_options;
|
15 |
-
}
|
16 |
-
|
17 |
-
public function all() {
|
18 |
-
$options = $this->db->all('responsive_menu');
|
19 |
-
return new OptionsCollection($options);
|
20 |
-
}
|
21 |
-
|
22 |
-
public function updateOptions(array $options) {
|
23 |
-
$updated_options = $this->combineOptions($options);
|
24 |
-
foreach($updated_options as $name => $val):
|
25 |
-
$val = is_array($val) ? json_encode($val) : $val;
|
26 |
-
$updated_options[$name] = $val;
|
27 |
-
$this->db->update('responsive_menu', ['name' => $name, 'value' => $val]);
|
28 |
-
endforeach;
|
29 |
-
return new OptionsCollection($updated_options);
|
30 |
-
}
|
31 |
-
|
32 |
-
public function createOptions(array $options) {
|
33 |
-
$updated_options = $this->combineOptions($options);
|
34 |
-
foreach($options as $name => $val):
|
35 |
-
$val = is_array($val) ? json_encode($val) : $val;
|
36 |
-
$updated_options[$name] = $val;
|
37 |
-
$this->db->insert('responsive_menu', ['name' => $name, 'value' => $val]);
|
38 |
-
endforeach;
|
39 |
-
return new OptionsCollection($updated_options);
|
40 |
-
}
|
41 |
-
|
42 |
-
public function removeOptions(array $options) {
|
43 |
-
$updated_options = $this->combineOptions($options);
|
44 |
-
foreach($options as $name => $val):
|
45 |
-
$val = is_array($val) ? json_encode($val) : $val;
|
46 |
-
$updated_options[$name] = $val;
|
47 |
-
unset($updated_options[$name]);
|
48 |
-
$this->db->delete('responsive_menu', ['name' => $name]);
|
49 |
-
endforeach;
|
50 |
-
return new OptionsCollection($updated_options);
|
51 |
-
}
|
52 |
-
|
53 |
-
public function buildFromArray(array $options) {
|
54 |
-
$new_options = $this->combineOptions($options);
|
55 |
-
foreach($options as $name => $val):
|
56 |
-
$val = is_array($val) ? json_encode($val) : $val;
|
57 |
-
$new_options[$name] = $val;
|
58 |
-
endforeach;
|
59 |
-
return new OptionsCollection($new_options);
|
60 |
-
}
|
61 |
-
|
62 |
-
private function combineOptions($new_options) {
|
63 |
-
return array_merge($this->default_options, $new_options);
|
64 |
-
}
|
65 |
-
|
66 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Tasks/UpdateOptionsTask.php
DELETED
@@ -1,68 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Tasks;
|
4 |
-
use ResponsiveMenu\Collections\OptionsCollection;
|
5 |
-
use ResponsiveMenu\Formatters\Minifier;
|
6 |
-
use ResponsiveMenu\View\View;
|
7 |
-
|
8 |
-
class UpdateOptionsTask {
|
9 |
-
|
10 |
-
private $translatables = [
|
11 |
-
'menu_to_use',
|
12 |
-
'button_title',
|
13 |
-
'menu_title',
|
14 |
-
'menu_title_link',
|
15 |
-
'menu_additional_content',
|
16 |
-
'menu_search_box_text'
|
17 |
-
];
|
18 |
-
|
19 |
-
public function run(OptionsCollection $options, View $view) {
|
20 |
-
/*
|
21 |
-
* Build CSS and Js files
|
22 |
-
*
|
23 |
-
*/
|
24 |
-
if($options['external_files'] == 'on'):
|
25 |
-
|
26 |
-
$base_dir = wp_upload_dir()['basedir'] . '/responsive-menu';
|
27 |
-
|
28 |
-
if(!wp_mkdir_p($base_dir . '/css'))
|
29 |
-
throw new \Exception('You don\'t have permissions to create CSS data folder - please check permissions.');
|
30 |
-
|
31 |
-
if(!wp_mkdir_p($base_dir . '/js'))
|
32 |
-
throw new \Exception('You don\'t have permissions to create JS data folder - please check permissions.');
|
33 |
-
|
34 |
-
$css_file = $base_dir . '/css/responsive-menu-' . get_current_blog_id() . '.css';
|
35 |
-
$css_data = $view->render('css/app.css.twig', ['options' => $options]);
|
36 |
-
|
37 |
-
if($options['minify_scripts'] == 'on')
|
38 |
-
$css_data = Minifier::minify($css_data);
|
39 |
-
|
40 |
-
if(!file_put_contents($css_file, $css_data))
|
41 |
-
throw new \Exception('You don\'t have permissions to write external CSS file - please check permissions.');
|
42 |
-
|
43 |
-
$js_file = $base_dir . '/js/responsive-menu-' . get_current_blog_id() . '.js';
|
44 |
-
$js_data = $view->render('js/app.js.twig', ['options' => $options]);
|
45 |
-
|
46 |
-
if($options['minify_scripts'] == 'on')
|
47 |
-
$js_data = Minifier::minify($js_data);
|
48 |
-
|
49 |
-
if(!file_put_contents($js_file, $js_data)):
|
50 |
-
throw new \Exception('You don\'t have permissions to write external JS file - please check permissions.');
|
51 |
-
endif;
|
52 |
-
|
53 |
-
else:
|
54 |
-
/*
|
55 |
-
* TODO: Do some tidy up like removing external files if this option is not set - be a good citizen!
|
56 |
-
*/
|
57 |
-
endif;
|
58 |
-
|
59 |
-
/*
|
60 |
-
* Update translations for WPML
|
61 |
-
*/
|
62 |
-
foreach($this->translatables as $option_name)
|
63 |
-
if(isset($options[$option_name]))
|
64 |
-
do_action('wpml_register_single_string', 'Responsive Menu', $option_name, $options[$option_name]);
|
65 |
-
|
66 |
-
}
|
67 |
-
|
68 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Validation/Validator.php
DELETED
@@ -1,118 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Validation;
|
4 |
-
|
5 |
-
class Validator {
|
6 |
-
|
7 |
-
private $errors;
|
8 |
-
|
9 |
-
public function validate($options) {
|
10 |
-
foreach($this->validation_map as $validator_name => $options_list):
|
11 |
-
foreach($options_list as $option):
|
12 |
-
if(isset($options[$option])):
|
13 |
-
$validator_obj = 'ResponsiveMenu\Validation\Validators\\' . $validator_name;
|
14 |
-
$validator = new $validator_obj($options[$option]);
|
15 |
-
if(!$validator->validate()):
|
16 |
-
$nice_name = str_replace('_', ' ', ucwords($option));
|
17 |
-
$this->errors[$option][] = 'Validation failed on <a class="validation-error scroll-to-option" href="#responsive-menu-' . str_replace('_', '-', $option) . '">' . $nice_name . '</a>: ' . $validator->getErrorMessage();
|
18 |
-
endif;
|
19 |
-
endif;
|
20 |
-
endforeach;
|
21 |
-
endforeach;
|
22 |
-
|
23 |
-
if(!empty($this->errors))
|
24 |
-
return false;
|
25 |
-
|
26 |
-
return true;
|
27 |
-
}
|
28 |
-
|
29 |
-
public function getErrors() {
|
30 |
-
return $this->errors;
|
31 |
-
}
|
32 |
-
|
33 |
-
private $validation_map = [
|
34 |
-
|
35 |
-
// Numeric Validators
|
36 |
-
'Number' => [
|
37 |
-
'breakpoint',
|
38 |
-
'button_line_width',
|
39 |
-
'button_line_height',
|
40 |
-
'button_line_margin',
|
41 |
-
'button_width',
|
42 |
-
'button_height',
|
43 |
-
'button_top',
|
44 |
-
'animation_speed',
|
45 |
-
'transition_speed',
|
46 |
-
'button_font_size',
|
47 |
-
'button_title_line_height',
|
48 |
-
'menu_width',
|
49 |
-
'menu_title_font_size',
|
50 |
-
'menu_border_width',
|
51 |
-
'menu_font_size',
|
52 |
-
'menu_links_height',
|
53 |
-
'menu_links_line_height',
|
54 |
-
'submenu_arrow_height',
|
55 |
-
'submenu_arrow_width',
|
56 |
-
'menu_depth_0',
|
57 |
-
'menu_depth_1',
|
58 |
-
'menu_depth_2',
|
59 |
-
'menu_depth_3',
|
60 |
-
'menu_depth_4',
|
61 |
-
'menu_depth_5',
|
62 |
-
],
|
63 |
-
|
64 |
-
// Positive Digits
|
65 |
-
'Positive' => [
|
66 |
-
'breakpoint',
|
67 |
-
],
|
68 |
-
|
69 |
-
// Colour Validators
|
70 |
-
'Colour' => [
|
71 |
-
'button_background_colour',
|
72 |
-
'button_background_colour_hover',
|
73 |
-
'button_line_colour',
|
74 |
-
'button_text_colour',
|
75 |
-
'menu_background_colour',
|
76 |
-
'menu_item_background_colour',
|
77 |
-
'menu_item_background_hover_colour',
|
78 |
-
'menu_item_border_colour',
|
79 |
-
'menu_item_border_colour_hover',
|
80 |
-
'menu_title_background_colour',
|
81 |
-
'menu_title_background_hover_colour',
|
82 |
-
'menu_current_item_background_colour',
|
83 |
-
'menu_current_item_background_hover_colour',
|
84 |
-
'menu_current_item_border_colour',
|
85 |
-
'menu_current_item_border_hover_colour',
|
86 |
-
'menu_title_colour',
|
87 |
-
'menu_title_hover_colour',
|
88 |
-
'menu_link_colour',
|
89 |
-
'menu_link_hover_colour',
|
90 |
-
'menu_current_link_colour',
|
91 |
-
'menu_current_link_hover_colour',
|
92 |
-
'menu_sub_arrow_border_colour',
|
93 |
-
'menu_sub_arrow_border_hover_colour',
|
94 |
-
'menu_sub_arrow_border_colour_active',
|
95 |
-
'menu_sub_arrow_border_hover_colour_active',
|
96 |
-
'menu_sub_arrow_background_colour',
|
97 |
-
'menu_sub_arrow_background_hover_colour',
|
98 |
-
'menu_sub_arrow_background_colour_active',
|
99 |
-
'menu_sub_arrow_background_hover_colour_active',
|
100 |
-
'menu_sub_arrow_shape_colour',
|
101 |
-
'menu_sub_arrow_shape_hover_colour',
|
102 |
-
'menu_sub_arrow_shape_colour_active',
|
103 |
-
'menu_sub_arrow_shape_hover_colour_active',
|
104 |
-
'menu_additional_content_colour',
|
105 |
-
'menu_overlay_colour',
|
106 |
-
'menu_search_box_text_colour',
|
107 |
-
'menu_search_box_border_colour',
|
108 |
-
'menu_search_box_background_colour',
|
109 |
-
'menu_search_box_placeholder_colour',
|
110 |
-
'button_background_colour_active',
|
111 |
-
'button_line_colour_hover',
|
112 |
-
'button_line_colour_active',
|
113 |
-
'menu_container_background_colour'
|
114 |
-
]
|
115 |
-
|
116 |
-
];
|
117 |
-
|
118 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Validation/Validators/BaseValidator.php
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Validation\Validators;
|
4 |
-
|
5 |
-
abstract class BaseValidator {
|
6 |
-
|
7 |
-
protected $error;
|
8 |
-
protected $data;
|
9 |
-
|
10 |
-
abstract public function validate();
|
11 |
-
|
12 |
-
public function __construct($data) {
|
13 |
-
$this->data = $data;
|
14 |
-
}
|
15 |
-
|
16 |
-
public function getErrorMessage() {
|
17 |
-
return $this->error;
|
18 |
-
}
|
19 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Validation/Validators/Colour.php
DELETED
@@ -1,24 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Validation\Validators;
|
4 |
-
|
5 |
-
class Colour extends BaseValidator {
|
6 |
-
|
7 |
-
public function validate() {
|
8 |
-
$valid_colour = false;
|
9 |
-
|
10 |
-
// First check valid Hex
|
11 |
-
if(preg_match('/^#(?:[0-9a-f]{3}){1,2}$/i', $this->data))
|
12 |
-
$valid_colour = true;
|
13 |
-
|
14 |
-
// Next check valid rgba()
|
15 |
-
if(preg_match('/rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*(?:\.\d+)?)\)/i', $this->data))
|
16 |
-
$valid_colour = true;
|
17 |
-
|
18 |
-
if(!$valid_colour)
|
19 |
-
$this->error = 'Invalid colour value';
|
20 |
-
|
21 |
-
return $valid_colour;
|
22 |
-
}
|
23 |
-
|
24 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Validation/Validators/Number.php
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Validation\Validators;
|
4 |
-
|
5 |
-
class Number extends BaseValidator {
|
6 |
-
|
7 |
-
public function validate() {
|
8 |
-
$valid_integer = false;
|
9 |
-
|
10 |
-
if(is_numeric($this->data))
|
11 |
-
$valid_integer = true;
|
12 |
-
|
13 |
-
if(!$valid_integer)
|
14 |
-
$this->error = 'Invalid number';
|
15 |
-
|
16 |
-
return $valid_integer;
|
17 |
-
}
|
18 |
-
|
19 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Validation/Validators/Positive.php
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Validation\Validators;
|
4 |
-
|
5 |
-
class Positive extends BaseValidator {
|
6 |
-
|
7 |
-
public function validate() {
|
8 |
-
$is_positive = false;
|
9 |
-
|
10 |
-
if($this->data >= 0)
|
11 |
-
$is_positive = true;
|
12 |
-
|
13 |
-
if(!$is_positive)
|
14 |
-
$this->error = 'Number must be 0 or positive';
|
15 |
-
|
16 |
-
return $is_positive;
|
17 |
-
}
|
18 |
-
|
19 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/View/View.php
DELETED
@@ -1,18 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\View;
|
4 |
-
use \Twig_Environment;
|
5 |
-
|
6 |
-
class View {
|
7 |
-
|
8 |
-
protected $twig;
|
9 |
-
|
10 |
-
public function __construct(Twig_Environment $twig) {
|
11 |
-
$this->twig = $twig;
|
12 |
-
}
|
13 |
-
|
14 |
-
public function render($location, $options = []) {
|
15 |
-
return $this->twig->render($location, $options);
|
16 |
-
}
|
17 |
-
|
18 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/Walkers/Walker.php
DELETED
@@ -1,140 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace ResponsiveMenu\Walkers;
|
4 |
-
use ResponsiveMenu\Collections\OptionsCollection;
|
5 |
-
|
6 |
-
class Walker extends \Walker_Nav_Menu {
|
7 |
-
|
8 |
-
private $current_item;
|
9 |
-
|
10 |
-
public function __construct(OptionsCollection $options) {
|
11 |
-
$this->options = $options;
|
12 |
-
}
|
13 |
-
|
14 |
-
public function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) {
|
15 |
-
|
16 |
-
$this->setCurrentItem($item);
|
17 |
-
|
18 |
-
$classes = empty($item->classes) ? array() : (array) $item->classes;
|
19 |
-
$responsive_menu_classes = $classes;
|
20 |
-
|
21 |
-
# Turn into our Responsive Menu Classes
|
22 |
-
foreach($classes as $class):
|
23 |
-
switch($class):
|
24 |
-
case 'menu-item': $responsive_menu_classes[] = 'responsive-menu-item'; break;
|
25 |
-
case 'current-menu-item': $responsive_menu_classes[] = 'responsive-menu-current-item'; break;
|
26 |
-
case 'menu-item-has-children': $responsive_menu_classes[] = 'responsive-menu-item-has-children'; break;
|
27 |
-
case 'current-menu-parent': $responsive_menu_classes[] = 'responsive-menu-item-current-parent'; break;
|
28 |
-
case 'current-menu-ancestor': $responsive_menu_classes[] = 'responsive-menu-item-current-ancestor'; break;
|
29 |
-
endswitch;
|
30 |
-
endforeach;
|
31 |
-
|
32 |
-
/* Clear child class if we are at the final depth level */
|
33 |
-
if(isset($responsive_menu_classes)):
|
34 |
-
if($depth + 1 == $this->options['menu_depth'] && ($key = array_search('responsive-menu-item-has-children', $responsive_menu_classes)) !== false) {
|
35 |
-
unset($responsive_menu_classes[$key]);
|
36 |
-
}
|
37 |
-
endif;
|
38 |
-
|
39 |
-
$class_names = join(' ', array_unique($responsive_menu_classes));
|
40 |
-
$class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
|
41 |
-
|
42 |
-
$id = ' id="responsive-menu-item-' . esc_attr( $item->ID ) . '"';
|
43 |
-
|
44 |
-
$output .= '<li' . $id . $class_names .' role="none">';
|
45 |
-
|
46 |
-
$atts = array();
|
47 |
-
$atts['title'] = ! empty( $item->attr_title ) ? $item->attr_title : '';
|
48 |
-
$atts['target'] = ! empty( $item->target ) ? $item->target : '';
|
49 |
-
$atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : '';
|
50 |
-
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
|
51 |
-
$atts['class'] = 'responsive-menu-item-link';
|
52 |
-
$atts['tabindex'] = 1;
|
53 |
-
$atts['role']= "menuitem";
|
54 |
-
$atts = apply_filters('nav_menu_link_attributes', $atts, $item, $args, $depth);
|
55 |
-
|
56 |
-
$attributes = '';
|
57 |
-
foreach ($atts as $attr => $value) {
|
58 |
-
if (!empty( $value)) {
|
59 |
-
$value = ('href' === $attr ) ? esc_url( $value) : esc_attr($value);
|
60 |
-
$attributes .= ' ' . $attr . '="' . $value . '"';
|
61 |
-
}
|
62 |
-
}
|
63 |
-
|
64 |
-
$title = apply_filters('the_title', $item->title, $item->ID);
|
65 |
-
$title = apply_filters('nav_menu_item_title', $title, $item, $args, $depth);
|
66 |
-
|
67 |
-
/* Calculate which arrow to show */
|
68 |
-
if(in_array('responsive-menu-item-has-children', $responsive_menu_classes)):
|
69 |
-
$inactive_arrow = '<div class="responsive-menu-subarrow">' . $this->options->getInActiveArrow() . '</div>';
|
70 |
-
$active_arrow = '<div class="responsive-menu-subarrow responsive-menu-subarrow-active">' . $this->options->getActiveArrow() . '</div>';
|
71 |
-
if($this->options['auto_expand_all_submenus'] == 'on'):
|
72 |
-
$initial_arrow = $active_arrow;
|
73 |
-
elseif(
|
74 |
-
$this->options['auto_expand_current_submenus'] == 'on' && (in_array('responsive-menu-item-current-parent', $responsive_menu_classes)
|
75 |
-
|| in_array('responsive-menu-item-current-ancestor', $responsive_menu_classes))):
|
76 |
-
$initial_arrow = $active_arrow;
|
77 |
-
else:
|
78 |
-
$initial_arrow = $inactive_arrow;
|
79 |
-
endif;
|
80 |
-
else:
|
81 |
-
$initial_arrow = '';
|
82 |
-
endif;
|
83 |
-
|
84 |
-
/* Clear Arrow if we are at the final depth level */
|
85 |
-
if($depth + 1 == $this->options['menu_depth'])
|
86 |
-
$initial_arrow = '';
|
87 |
-
|
88 |
-
$item_output = '<a'. $attributes .'>';
|
89 |
-
$item_output .= $title;
|
90 |
-
$item_output .= $initial_arrow;
|
91 |
-
|
92 |
-
if(isset($item->description) && $item->description && $this->options['submenu_descriptions_on'])
|
93 |
-
$item_output .= '<span class="responsive-menu-item-description">' . $item->description . '</span>';
|
94 |
-
|
95 |
-
$item_output .= '</a>';
|
96 |
-
|
97 |
-
// Theme support for twenty twenty one.
|
98 |
-
if ( function_exists( 'twenty_twenty_one_add_sub_menu_toggle' ) ) {
|
99 |
-
remove_filter( 'walker_nav_menu_start_el', 'twenty_twenty_one_add_sub_menu_toggle', 10 );
|
100 |
-
remove_filter( 'walker_nav_menu_start_el', 'twenty_twenty_one_nav_menu_social_icons', 10 );
|
101 |
-
}
|
102 |
-
|
103 |
-
$output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);
|
104 |
-
|
105 |
-
}
|
106 |
-
|
107 |
-
public function start_lvl(&$output, $depth = 0, $args = array()) {
|
108 |
-
$output .= "<ul aria-label='". esc_attr( $this->current_item->title) ."' role='menu' class='responsive-menu-submenu responsive-menu-submenu-depth-" . ($depth + 1) . $this->getSubmenuClassOpenOrNot() . "'>";
|
109 |
-
}
|
110 |
-
|
111 |
-
public function end_el(&$output, $item, $depth = 0, $args = array()) {
|
112 |
-
$output .= "</li>";
|
113 |
-
}
|
114 |
-
|
115 |
-
public function end_lvl(&$output, $depth = 0, $args = array()) {
|
116 |
-
$output .= "</ul>";
|
117 |
-
}
|
118 |
-
|
119 |
-
public function setCurrentItem($item) {
|
120 |
-
$this->current_item = $item;
|
121 |
-
}
|
122 |
-
|
123 |
-
public function getCurrentItem() {
|
124 |
-
return $this->current_item;
|
125 |
-
}
|
126 |
-
|
127 |
-
public function getSubmenuClassOpenOrNot() {
|
128 |
-
return $this->expandAllSubmenuOptionsIsOn() || $this->expandCurrentSubmenuOnAndItemIsParent() ? ' responsive-menu-submenu-open' : '';
|
129 |
-
}
|
130 |
-
|
131 |
-
public function expandAllSubmenuOptionsIsOn() {
|
132 |
-
return $this->options['auto_expand_all_submenus'] == 'on';
|
133 |
-
}
|
134 |
-
|
135 |
-
public function expandCurrentSubmenuOnAndItemIsParent() {
|
136 |
-
return ($this->options['auto_expand_current_submenus'] == 'on')
|
137 |
-
&& ($this->getCurrentItem()->current_item_ancestor || $this->getCurrentItem()->current_item_parent);
|
138 |
-
}
|
139 |
-
|
140 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
config/default_options.php
DELETED
@@ -1,344 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
function get_responsive_menu_default_options() {
|
4 |
-
|
5 |
-
return [
|
6 |
-
|
7 |
-
'breakpoint' => 8000,
|
8 |
-
'menu_to_hide' => '',
|
9 |
-
'menu_depth' => 5,
|
10 |
-
'menu_depth_side' => 'left',
|
11 |
-
'menu_depth_0' => 5,
|
12 |
-
'menu_depth_1' => 10,
|
13 |
-
'menu_depth_2' => 15,
|
14 |
-
'menu_depth_3' => 20,
|
15 |
-
'menu_depth_4' => 25,
|
16 |
-
'menu_depth_5' => 30,
|
17 |
-
'menu_depth_0_unit' => '%',
|
18 |
-
'menu_depth_1_unit' => '%',
|
19 |
-
'menu_depth_2_unit' => '%',
|
20 |
-
'menu_depth_3_unit' => '%',
|
21 |
-
'menu_depth_4_unit' => '%',
|
22 |
-
'menu_depth_5_unit' => '%',
|
23 |
-
'menu_to_use' => '',
|
24 |
-
'theme_location_menu' => '',
|
25 |
-
'show_menu_on_page_load' => false,
|
26 |
-
'keyboard_shortcut_close_menu' => '27,37',
|
27 |
-
'keyboard_shortcut_open_menu' => '32,39',
|
28 |
-
|
29 |
-
// Button Settings
|
30 |
-
'button_title' => null,
|
31 |
-
'button_title_open' => null,
|
32 |
-
'button_image' => null,
|
33 |
-
'button_image_alt' => null,
|
34 |
-
'button_image_when_clicked' => null,
|
35 |
-
'button_image_alt_when_clicked' => null,
|
36 |
-
'button_font' => null,
|
37 |
-
'button_font_icon' => null,
|
38 |
-
'button_font_icon_type' => 'font-awesome',
|
39 |
-
'button_font_icon_when_clicked' => null,
|
40 |
-
'button_font_icon_when_clicked_type' => 'font-awesome',
|
41 |
-
'button_trigger_type' => 'click',
|
42 |
-
'button_click_trigger' => '#responsive-menu-button',
|
43 |
-
'button_title_position' => 'left',
|
44 |
-
'button_title_line_height' => '13',
|
45 |
-
'button_title_line_height_unit' => 'px',
|
46 |
-
'button_background_colour' => '#000',
|
47 |
-
'button_background_colour_hover' => '#000',
|
48 |
-
'button_background_colour_active' => '#000',
|
49 |
-
'button_click_animation' => 'boring',
|
50 |
-
'button_line_colour' => '#fff',
|
51 |
-
'button_line_colour_hover' => '#fff',
|
52 |
-
'button_line_colour_active' => '#fff',
|
53 |
-
'button_text_colour' => '#fff',
|
54 |
-
'button_transparent_background' => 'off',
|
55 |
-
'button_width' => 55,
|
56 |
-
'button_width_unit' => 'px',
|
57 |
-
'button_height' => 55,
|
58 |
-
'button_height_unit' => 'px',
|
59 |
-
'button_line_margin' => 5,
|
60 |
-
'button_line_margin_unit' => 'px',
|
61 |
-
'button_line_height' => 3,
|
62 |
-
'button_line_height_unit' => 'px',
|
63 |
-
'button_line_width' => 25,
|
64 |
-
'button_line_width_unit' => 'px',
|
65 |
-
'button_top' => 15,
|
66 |
-
'button_top_unit' => 'px',
|
67 |
-
'button_distance_from_side' => 5,
|
68 |
-
'button_distance_from_side_unit' => '%',
|
69 |
-
'button_left_or_right' => 'right',
|
70 |
-
'button_position_type' => 'fixed',
|
71 |
-
'button_push_with_animation' => 'off',
|
72 |
-
'button_font_size' => 14,
|
73 |
-
'button_font_size_unit' => 'px',
|
74 |
-
|
75 |
-
// Animation Settings
|
76 |
-
'animation_type' => 'slide',
|
77 |
-
'page_wrapper' => null,
|
78 |
-
'animation_speed' => 0.5,
|
79 |
-
'transition_speed' => 0.5,
|
80 |
-
'sub_menu_speed' => 0.2,
|
81 |
-
|
82 |
-
// Menu Settings
|
83 |
-
'active_arrow_shape' => '▲',
|
84 |
-
'inactive_arrow_shape' => '▼',
|
85 |
-
'active_arrow_image' => '',
|
86 |
-
'active_arrow_image_alt' => '',
|
87 |
-
'inactive_arrow_image' => '',
|
88 |
-
'inactive_arrow_image_alt' => '',
|
89 |
-
'active_arrow_font_icon' => '',
|
90 |
-
'active_arrow_font_icon_type' => 'font-awesome',
|
91 |
-
'inactive_arrow_font_icon' => '',
|
92 |
-
'inactive_arrow_font_icon_type' => 'font-awesome',
|
93 |
-
'arrow_position' => 'right',
|
94 |
-
'submenu_arrow_width' => '40',
|
95 |
-
'submenu_arrow_width_unit' => 'px',
|
96 |
-
'submenu_arrow_height' => '39',
|
97 |
-
'submenu_arrow_height_unit' => 'px',
|
98 |
-
'submenu_descriptions_on' => false,
|
99 |
-
'accordion_animation' => 'off',
|
100 |
-
'auto_expand_all_submenus' => 'off',
|
101 |
-
'auto_expand_current_submenus' => 'off',
|
102 |
-
|
103 |
-
'menu_background_colour' => '#212121',
|
104 |
-
'menu_container_background_colour' => '#212121',
|
105 |
-
'menu_background_image' => '',
|
106 |
-
'menu_item_background_colour' => '#212121',
|
107 |
-
'menu_item_background_hover_colour' => '#3f3f3f',
|
108 |
-
'menu_item_border_colour' => '#212121',
|
109 |
-
'menu_item_border_colour_hover' => '#212121',
|
110 |
-
'menu_title_background_colour' => '#212121',
|
111 |
-
'menu_title_background_hover_colour' => '#212121',
|
112 |
-
'menu_current_item_background_colour' => '#212121',
|
113 |
-
'menu_current_item_background_hover_colour' => '#3f3f3f',
|
114 |
-
'menu_current_item_border_colour' => '#212121',
|
115 |
-
'menu_current_item_border_hover_colour' => '#3f3f3f',
|
116 |
-
'menu_title_colour' => '#fff',
|
117 |
-
'menu_title_hover_colour' => '#fff',
|
118 |
-
'menu_link_colour' => '#fff',
|
119 |
-
'menu_link_hover_colour' => '#fff',
|
120 |
-
'menu_current_link_colour' => '#fff',
|
121 |
-
'menu_current_link_hover_colour' => '#fff',
|
122 |
-
'menu_sub_arrow_border_colour' => '#212121',
|
123 |
-
'menu_sub_arrow_border_hover_colour' => '#3f3f3f',
|
124 |
-
'menu_sub_arrow_border_colour_active' => '#212121',
|
125 |
-
'menu_sub_arrow_border_hover_colour_active' => '#3f3f3f',
|
126 |
-
'menu_sub_arrow_background_colour' => '#212121',
|
127 |
-
'menu_sub_arrow_background_hover_colour' => '#3f3f3f',
|
128 |
-
'menu_sub_arrow_background_colour_active' => '#212121',
|
129 |
-
'menu_sub_arrow_background_hover_colour_active' => '#3f3f3f',
|
130 |
-
'menu_sub_arrow_shape_colour' => '#fff',
|
131 |
-
'menu_sub_arrow_shape_hover_colour' => '#fff',
|
132 |
-
'menu_sub_arrow_shape_colour_active' => '#fff',
|
133 |
-
'menu_sub_arrow_shape_hover_colour_active' => '#fff',
|
134 |
-
|
135 |
-
// Sub Menus > Styling
|
136 |
-
'submenu_font' => null,
|
137 |
-
'submenu_font_size' => 13,
|
138 |
-
'submenu_font_size_unit' => 'px',
|
139 |
-
'submenu_links_height' => 40,
|
140 |
-
'submenu_links_height_unit' => 'px',
|
141 |
-
'submenu_links_line_height' => 40,
|
142 |
-
'submenu_links_line_height_unit' => 'px',
|
143 |
-
'submenu_text_alignment' => 'left',
|
144 |
-
|
145 |
-
// Sub Menus > Item Borders
|
146 |
-
'submenu_border_width' => 1,
|
147 |
-
'submenu_border_width_unit' => 'px',
|
148 |
-
'submenu_item_border_colour' => '#212121',
|
149 |
-
'submenu_item_border_colour_hover' => '#212121',
|
150 |
-
'submenu_current_item_border_colour' => '#212121',
|
151 |
-
'submenu_current_item_border_hover_colour' => '#3f3f3f',
|
152 |
-
|
153 |
-
// Sub Menus > Item Text
|
154 |
-
'submenu_link_colour' => '#fff',
|
155 |
-
'submenu_link_hover_colour' => '#fff',
|
156 |
-
'submenu_current_link_colour' => '#fff',
|
157 |
-
'submenu_current_link_hover_colour' => '#fff',
|
158 |
-
|
159 |
-
// Sub Menus > Item Background
|
160 |
-
'submenu_item_background_colour' => '#212121',
|
161 |
-
'submenu_item_background_hover_colour' => '#3f3f3f',
|
162 |
-
'submenu_current_item_background_colour' => '#212121',
|
163 |
-
'submenu_current_item_background_hover_colour' => '#3f3f3f',
|
164 |
-
|
165 |
-
// Sub Menus > Trigger Icon
|
166 |
-
'submenu_arrow_position' => 'right',
|
167 |
-
|
168 |
-
// Sub Menus > Trigger Sizing
|
169 |
-
'submenu_submenu_arrow_height' => '39',
|
170 |
-
'submenu_submenu_arrow_height_unit' => 'px',
|
171 |
-
'submenu_submenu_arrow_width' => '40',
|
172 |
-
'submenu_submenu_arrow_width_unit' => 'px',
|
173 |
-
|
174 |
-
// Sub Menus > Trigger Colours
|
175 |
-
'submenu_sub_arrow_shape_colour' => '#fff',
|
176 |
-
'submenu_sub_arrow_shape_hover_colour' => '#fff',
|
177 |
-
'submenu_sub_arrow_shape_colour_active' => '#fff',
|
178 |
-
'submenu_sub_arrow_shape_hover_colour_active' => '#fff',
|
179 |
-
|
180 |
-
// Sub Menus > Trigger Background
|
181 |
-
'submenu_sub_arrow_background_colour' => '#212121',
|
182 |
-
'submenu_sub_arrow_background_hover_colour' => '#3f3f3f',
|
183 |
-
'submenu_sub_arrow_background_colour_active' => '#212121',
|
184 |
-
'submenu_sub_arrow_background_hover_colour_active' => '#3f3f3f',
|
185 |
-
|
186 |
-
// Sub Menus > Trigger Border
|
187 |
-
'submenu_sub_arrow_border_colour' => '#212121',
|
188 |
-
'submenu_sub_arrow_border_hover_colour' => '#3f3f3f',
|
189 |
-
'submenu_sub_arrow_border_colour_active' => '#212121',
|
190 |
-
'submenu_sub_arrow_border_hover_colour_active' => '#3f3f3f',
|
191 |
-
|
192 |
-
'menu_font' => null,
|
193 |
-
'menu_font_size' => 13,
|
194 |
-
'menu_font_size_unit' => 'px',
|
195 |
-
'menu_title_font_size' => 13,
|
196 |
-
'menu_title_font_size_unit' => 'px',
|
197 |
-
'menu_text_alignment' => 'left',
|
198 |
-
'menu_links_height' => 40,
|
199 |
-
'menu_links_height_unit' => 'px',
|
200 |
-
'menu_links_line_height' => 40,
|
201 |
-
'menu_links_line_height_unit' => 'px',
|
202 |
-
'menu_border_width' => 1,
|
203 |
-
'menu_border_width_unit' => 'px',
|
204 |
-
|
205 |
-
'menu_minimum_width' => null,
|
206 |
-
'menu_minimum_width_unit' => 'px',
|
207 |
-
'menu_maximum_width' => null,
|
208 |
-
'menu_maximum_width_unit' => 'px',
|
209 |
-
'menu_auto_height' => 'off',
|
210 |
-
'menu_adjust_for_wp_admin_bar' => 'off',
|
211 |
-
'menu_additional_content' => null,
|
212 |
-
'menu_additional_content_colour' => '#fff',
|
213 |
-
'menu_title' => null,
|
214 |
-
'menu_title_alignment' => 'left',
|
215 |
-
|
216 |
-
// Container > Title Image
|
217 |
-
'menu_title_image' => null,
|
218 |
-
'menu_title_image_alt' => null,
|
219 |
-
'menu_title_image_height' => null,
|
220 |
-
'menu_title_image_height_unit' => 'px',
|
221 |
-
'menu_title_image_width' => null,
|
222 |
-
'menu_title_image_width_unit' => '%',
|
223 |
-
'menu_title_font_icon' => null,
|
224 |
-
'menu_title_font_icon_type' => 'font-awesome',
|
225 |
-
|
226 |
-
'menu_appear_from' => 'left',
|
227 |
-
'menu_title_link' => null,
|
228 |
-
'menu_title_link_location' => '_self',
|
229 |
-
'menu_width' => 75,
|
230 |
-
'menu_width_unit' => '%',
|
231 |
-
|
232 |
-
// Container > Technical
|
233 |
-
'menu_close_on_link_click' => 'off',
|
234 |
-
'menu_close_on_body_click' => 'off',
|
235 |
-
'menu_close_on_scroll' => 'off',
|
236 |
-
'enable_touch_gestures' => false,
|
237 |
-
|
238 |
-
'menu_item_click_to_trigger_submenu' => 'off',
|
239 |
-
'menu_disable_scrolling' => 'off',
|
240 |
-
'menu_overlay' => 'off',
|
241 |
-
'menu_overlay_colour' => 'rgba(0,0,0,0.7)',
|
242 |
-
'menu_font_icons' => '',
|
243 |
-
'menu_search_box_text' => 'Search',
|
244 |
-
'menu_search_box_text_colour' => '#333',
|
245 |
-
'menu_search_box_border_colour' => '#dadada',
|
246 |
-
'menu_search_box_background_colour' => '#fff',
|
247 |
-
'menu_search_box_placeholder_colour' => '#C7C7CD',
|
248 |
-
'menu_word_wrap' => 'off',
|
249 |
-
|
250 |
-
'minify_scripts' => 'off',
|
251 |
-
'scripts_in_footer' => 'off',
|
252 |
-
'external_files' => 'off',
|
253 |
-
'remove_fontawesome' => false,
|
254 |
-
'remove_bootstrap' => false,
|
255 |
-
|
256 |
-
'shortcode' => 'off',
|
257 |
-
'mobile_only' => 'off',
|
258 |
-
'hide_on_mobile' => 'off',
|
259 |
-
'hide_on_desktop' => 'off',
|
260 |
-
'excluded_pages' => null,
|
261 |
-
'custom_walker' => null,
|
262 |
-
'custom_css' => null,
|
263 |
-
|
264 |
-
'use_desktop_menu' => false,
|
265 |
-
'desktop_menu_to_hide' => '',
|
266 |
-
'desktop_menu_options' => '{}',
|
267 |
-
'desktop_menu_positioning' => 'fixed',
|
268 |
-
'desktop_menu_hide_and_show' => false,
|
269 |
-
'desktop_submenu_open_on_click' => false,
|
270 |
-
'desktop_submenu_open_animation' => '',
|
271 |
-
'desktop_submenu_open_animation_speed' => '0ms',
|
272 |
-
'desktop_menu_width' => '',
|
273 |
-
'desktop_menu_width_unit' => 'px',
|
274 |
-
'desktop_menu_side' => '',
|
275 |
-
|
276 |
-
'single_menu_height' => '80',
|
277 |
-
'single_menu_height_unit' => 'px',
|
278 |
-
'single_menu_line_height' => '80',
|
279 |
-
'single_menu_line_height_unit' => 'px',
|
280 |
-
'single_menu_font' => null,
|
281 |
-
'single_menu_font_size' => '14',
|
282 |
-
'single_menu_font_size_unit' => 'px',
|
283 |
-
|
284 |
-
'single_menu_submenu_height' => null,
|
285 |
-
'single_menu_submenu_height_unit' => 'auto',
|
286 |
-
'single_menu_submenu_line_height' => '40',
|
287 |
-
'single_menu_submenu_line_height_unit' => 'px',
|
288 |
-
'single_menu_submenu_font' => null,
|
289 |
-
'single_menu_submenu_font_size' => '12',
|
290 |
-
'single_menu_submenu_font_size_unit' => 'px',
|
291 |
-
|
292 |
-
'single_menu_item_link_colour' => '#000000',
|
293 |
-
'single_menu_item_link_colour_hover' => '#000000',
|
294 |
-
'single_menu_item_background_colour' => '#ffffff',
|
295 |
-
'single_menu_item_background_colour_hover' => '#ffffff',
|
296 |
-
|
297 |
-
'single_menu_item_submenu_link_colour' => '#000000',
|
298 |
-
'single_menu_item_submenu_link_colour_hover' => '#000000',
|
299 |
-
'single_menu_item_submenu_background_colour' => '#ffffff',
|
300 |
-
'single_menu_item_submenu_background_colour_hover' => '#ffffff',
|
301 |
-
|
302 |
-
'use_header_bar' => 'off',
|
303 |
-
'header_bar_adjust_page' => null,
|
304 |
-
'header_bar_breakpoint' => '800',
|
305 |
-
'header_bar_logo' => null,
|
306 |
-
'header_bar_logo_height' => null,
|
307 |
-
'header_bar_logo_height_unit' => 'px',
|
308 |
-
'header_bar_logo_width' => null,
|
309 |
-
'header_bar_logo_width_unit' => '%',
|
310 |
-
'header_bar_logo_alt' => '',
|
311 |
-
'header_bar_logo_link' => null,
|
312 |
-
'header_bar_title' => null,
|
313 |
-
'header_bar_html_content' => null,
|
314 |
-
'header_bar_height' => '80',
|
315 |
-
'header_bar_height_unit' => 'px',
|
316 |
-
'header_bar_font_size' => '14',
|
317 |
-
'header_bar_font_size_unit' => 'px',
|
318 |
-
'header_bar_font' => null,
|
319 |
-
'header_bar_background_color' => '#ffffff',
|
320 |
-
'header_bar_text_color' => '#ffffff',
|
321 |
-
'header_bar_position_type' => 'fixed',
|
322 |
-
|
323 |
-
'items_order' => '{"title":"on","menu":"on","search":"on","additional content":"on"}',
|
324 |
-
'header_bar_items_order' => '{"logo":"on","title":"on","search":"on","html content":"on"}',
|
325 |
-
|
326 |
-
// Menu > Animations
|
327 |
-
'smooth_scroll_on' => 'off',
|
328 |
-
'smooth_scroll_speed' => 500,
|
329 |
-
|
330 |
-
// Menu > Fade Items In
|
331 |
-
'fade_submenus' => 'off',
|
332 |
-
'fade_submenus_side' => 'left',
|
333 |
-
'fade_submenus_delay' => 100,
|
334 |
-
'fade_submenus_speed' => 500,
|
335 |
-
|
336 |
-
'use_slide_effect' => 'off',
|
337 |
-
'slide_effect_back_to_text' => 'Back',
|
338 |
-
|
339 |
-
'admin_theme' => 'dark',
|
340 |
-
'menu_theme' => null
|
341 |
-
|
342 |
-
];
|
343 |
-
|
344 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
config/polylang.php
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(is_admin()):
|
4 |
-
add_action('plugins_loaded', function() {
|
5 |
-
if(function_exists('pll_register_string')):
|
6 |
-
$options = get_responsive_menu_service('option_manager')->all();
|
7 |
-
pll_register_string('menu_to_use', $options['menu_to_use'], 'Responsive Menu');
|
8 |
-
pll_register_string('button_title', $options['button_title'], 'Responsive Menu');
|
9 |
-
pll_register_string('button_title_open', $options['button_title_open'], 'Responsive Menu');
|
10 |
-
pll_register_string('menu_title', $options['menu_title'], 'Responsive Menu');
|
11 |
-
pll_register_string('menu_title_link', $options['menu_title_link'], 'Responsive Menu');
|
12 |
-
pll_register_string('menu_additional_content', $options['menu_additional_content'], 'Responsive Menu');
|
13 |
-
pll_register_string('menu_search_box_text', $options['menu_search_box_text'], 'Responsive Menu');
|
14 |
-
endif;
|
15 |
-
});
|
16 |
-
endif;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
config/routing.php
DELETED
@@ -1,101 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(is_admin()):
|
4 |
-
add_action('admin_menu', function() {
|
5 |
-
|
6 |
-
if(isset($_POST['responsive-menu-export']) && isset($_GET['page']) && $_GET['page'] == 'responsive-menu'):
|
7 |
-
header('Cache-Control: no-cache, no-store, must-revalidate');
|
8 |
-
header('Pragma: no-cache');
|
9 |
-
header('Expires: 0');
|
10 |
-
header('Content-Type: application/json; charset=utf-8');
|
11 |
-
header('Content-Disposition: attachment; filename=responsive-menu-settings.json');
|
12 |
-
$controller = get_responsive_menu_service('admin_controller');
|
13 |
-
echo $controller->export();
|
14 |
-
exit();
|
15 |
-
|
16 |
-
endif;
|
17 |
-
|
18 |
-
add_menu_page(
|
19 |
-
'Responsive Menu',
|
20 |
-
'Responsive Menu',
|
21 |
-
'manage_options',
|
22 |
-
'responsive-menu',
|
23 |
-
function() {
|
24 |
-
$controller = get_responsive_menu_service('admin_controller');
|
25 |
-
|
26 |
-
if(isset($_POST['responsive-menu-current-page']))
|
27 |
-
update_option('responsive_menu_current_page', $_POST['responsive-menu-current-page']);
|
28 |
-
|
29 |
-
if(isset($_POST['responsive-menu-submit'])):
|
30 |
-
update_option('hide_pro_options', isset($_POST['hide-pro-options']) ? 'yes' : 'no');
|
31 |
-
$valid_nonce = wp_verify_nonce($_POST['responsive-menu-nonce'], 'update');
|
32 |
-
echo $controller->update($valid_nonce, wp_unslash($_POST['menu']));
|
33 |
-
|
34 |
-
elseif(isset($_POST['responsive-menu-reset'])):
|
35 |
-
$valid_nonce = wp_verify_nonce( $_POST['responsive-menu-nonce'], 'update' );
|
36 |
-
|
37 |
-
echo $controller->reset(get_responsive_menu_default_options(), $valid_nonce );
|
38 |
-
|
39 |
-
elseif(isset($_POST['responsive-menu-theme'])):
|
40 |
-
$valid_nonce = wp_verify_nonce( $_POST['responsive-menu-nonce'], 'update' );
|
41 |
-
|
42 |
-
echo $controller->apply_theme($_POST['menu']['menu_theme'], $valid_nonce );
|
43 |
-
|
44 |
-
elseif(isset($_POST['responsive-menu-import'])):
|
45 |
-
$valid_nonce = wp_verify_nonce( $_POST['responsive-menu-nonce'], 'update' );
|
46 |
-
|
47 |
-
$file = $_FILES['responsive-menu-import-file'];
|
48 |
-
$file_options = isset($file['tmp_name']) ? (array) json_decode(file_get_contents($file['tmp_name'])) : null;
|
49 |
-
echo $controller->import( $file_options, $valid_nonce );
|
50 |
-
|
51 |
-
elseif(isset($_POST['responsive-menu-import-theme'])):
|
52 |
-
$valid_nonce = wp_verify_nonce( $_POST['responsive-menu-nonce'], 'update' );
|
53 |
-
|
54 |
-
$file = $_FILES['responsive-menu-import-theme-file'];
|
55 |
-
$theme = isset($file['tmp_name']) && $file['tmp_name'] ? $file['tmp_name'] : null;
|
56 |
-
|
57 |
-
echo $controller->import_theme( $theme, $valid_nonce );
|
58 |
-
|
59 |
-
elseif(isset($_POST['responsive-menu-rebuild-db'])):
|
60 |
-
$valid_nonce = wp_verify_nonce( $_POST['responsive-menu-nonce'], 'update' );
|
61 |
-
|
62 |
-
echo $controller->rebuild( $valid_nonce );
|
63 |
-
|
64 |
-
else:
|
65 |
-
echo $controller->index();
|
66 |
-
|
67 |
-
endif;
|
68 |
-
},
|
69 |
-
'dashicons-menu');
|
70 |
-
});
|
71 |
-
|
72 |
-
/** Function to move to the new version */
|
73 |
-
add_action('wp_ajax_rmp_switch_version', function() {
|
74 |
-
|
75 |
-
if ( empty ( update_option( 'is_rmp_new_version', 1 ) ) ) {
|
76 |
-
add_option( 'is_rmp_new_version', 1 );
|
77 |
-
}
|
78 |
-
|
79 |
-
update_option( 'rm_upgrade_admin_notice', true );
|
80 |
-
wp_send_json_success( ['redirect' => admin_url('edit.php?post_type=rmp_menu')] );
|
81 |
-
|
82 |
-
});
|
83 |
-
|
84 |
-
add_action( "wp_ajax_rmp_version_admin_notice_dismiss", "rmp_version_admin_notice_dismiss");
|
85 |
-
/**
|
86 |
-
* Function to hide the version upgrade admin notice permanent.
|
87 |
-
*/
|
88 |
-
function rmp_version_admin_notice_dismiss() {
|
89 |
-
update_option( 'rm_upgrade_admin_notice', true );
|
90 |
-
}
|
91 |
-
|
92 |
-
|
93 |
-
else:
|
94 |
-
add_action('template_redirect', function() {
|
95 |
-
$controller = get_responsive_menu_service('front_controller');
|
96 |
-
if(isset($_GET['responsive-menu-preview']) && isset($_POST['menu']))
|
97 |
-
echo $controller->preview();
|
98 |
-
else
|
99 |
-
$controller->index();
|
100 |
-
});
|
101 |
-
endif;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
config/services.php
DELETED
@@ -1,43 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/* Horrible hack
|
4 |
-
* named something random so as not to conflict and can be accessed using the factory method at the
|
5 |
-
* bottom of this file
|
6 |
-
*
|
7 |
-
*/
|
8 |
-
global $services_428734872364;
|
9 |
-
$services_428734872364 = new ResponsiveMenu\Container\Container;
|
10 |
-
|
11 |
-
$services_428734872364['database'] = function($c) {
|
12 |
-
global $wpdb;
|
13 |
-
return new ResponsiveMenu\Database\Database($wpdb);
|
14 |
-
};
|
15 |
-
|
16 |
-
$services_428734872364['option_manager'] = function($c) {
|
17 |
-
return new ResponsiveMenu\Management\OptionManager(
|
18 |
-
$c['database'],
|
19 |
-
get_responsive_menu_default_options()
|
20 |
-
);
|
21 |
-
};
|
22 |
-
|
23 |
-
$services_428734872364['twig'] = function($c) {
|
24 |
-
include_once dirname(__FILE__) . '/twig.php';
|
25 |
-
return $twig;
|
26 |
-
};
|
27 |
-
|
28 |
-
$services_428734872364['view'] = function($c) {
|
29 |
-
return new ResponsiveMenu\View\View($c['twig']);
|
30 |
-
};
|
31 |
-
|
32 |
-
$services_428734872364['admin_controller'] = function($c) {
|
33 |
-
return new ResponsiveMenu\Controllers\AdminController($c['option_manager'], $c['view']);
|
34 |
-
};
|
35 |
-
|
36 |
-
$services_428734872364['front_controller'] = function($c) {
|
37 |
-
return new ResponsiveMenu\Controllers\FrontController($c['option_manager'], $c['view']);
|
38 |
-
};
|
39 |
-
|
40 |
-
function get_responsive_menu_service($service) {
|
41 |
-
global $services_428734872364;
|
42 |
-
return $services_428734872364[$service];
|
43 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
config/twig.php
DELETED
@@ -1,145 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
$twig = new Twig_Environment(new Twig_Loader_Filesystem([
|
4 |
-
dirname(dirname(__FILE__)) . '/views',
|
5 |
-
dirname(dirname(__FILE__)) . '/public',
|
6 |
-
]), ['autoescape' => false, 'debug' => false]);
|
7 |
-
|
8 |
-
if(!is_admin()):
|
9 |
-
|
10 |
-
$twig->addFilter(new Twig_SimpleFilter('shortcode', function($string) {
|
11 |
-
return do_shortcode($string);
|
12 |
-
}));
|
13 |
-
|
14 |
-
$twig->addFilter(new Twig_SimpleFilter('translate', function($string, $key) {
|
15 |
-
$translated = apply_filters('wpml_translate_single_string', $string, 'Responsive Menu', $key);
|
16 |
-
$translated = function_exists('pll__') ? pll__($translated) : $translated;
|
17 |
-
return $translated;
|
18 |
-
}));
|
19 |
-
|
20 |
-
$twig->addFunction(new Twig_SimpleFunction('build_menu', function($env, $options) {
|
21 |
-
|
22 |
-
$translator = $env->getFilter('translate')->getCallable();
|
23 |
-
$menu = $translator($options['menu_to_use'], 'menu_to_use');
|
24 |
-
$walker = $options['custom_walker'] ? new $options['custom_walker']($options) : new ResponsiveMenu\Walkers\Walker($options);
|
25 |
-
|
26 |
-
/** Check menu is exist or not */
|
27 |
-
$menu_arial_label = '';
|
28 |
-
foreach( get_terms('nav_menu') as $nav_menu ) {
|
29 |
-
if ( $nav_menu->slug === $menu ) {
|
30 |
-
$menu_arial_label = $menu;
|
31 |
-
break;
|
32 |
-
}
|
33 |
-
}
|
34 |
-
|
35 |
-
return wp_nav_menu(
|
36 |
-
[
|
37 |
-
'container' => '',
|
38 |
-
'menu_id' => 'responsive-menu',
|
39 |
-
'menu_class' => null,
|
40 |
-
'menu' => $menu && !$options['theme_location_menu'] ? $menu : null,
|
41 |
-
'depth' => $options['menu_depth'] ? $options['menu_depth'] : 0,
|
42 |
-
'theme_location' => $options['theme_location_menu'] ? $options['theme_location_menu'] : null,
|
43 |
-
'walker' => $walker,
|
44 |
-
'items_wrap' => '<ul id="%1$s" role="menubar" aria-label="'. $menu_arial_label .'" >%3$s</ul>',
|
45 |
-
'echo' => false
|
46 |
-
]
|
47 |
-
);
|
48 |
-
|
49 |
-
}, ['needs_environment' => true]));
|
50 |
-
|
51 |
-
$twig->addGlobal('search_url', function_exists('icl_get_home_url') ? icl_get_home_url() : get_home_url());
|
52 |
-
|
53 |
-
else:
|
54 |
-
|
55 |
-
$twig->addFunction(new Twig_SimpleFunction('csrf', function() {
|
56 |
-
return wp_nonce_field('update', 'responsive-menu-nonce', true, false);
|
57 |
-
}));
|
58 |
-
|
59 |
-
$twig->addFunction(new Twig_SimpleFunction('current_page', function() {
|
60 |
-
return get_option('responsive_menu_current_page', 'initial-setup');
|
61 |
-
}));
|
62 |
-
|
63 |
-
$twig->addFunction(new Twig_SimpleFunction('header_bar_items', function($items) {
|
64 |
-
if(isset($items['button']))
|
65 |
-
unset($items['button']);
|
66 |
-
return $items;
|
67 |
-
}));
|
68 |
-
|
69 |
-
$twig->addFunction(new Twig_SimpleFunction('menu_items', function($options) {
|
70 |
-
|
71 |
-
$menu = '';
|
72 |
-
if( $options['theme_location_menu'] ) {
|
73 |
-
$menu = get_term(get_nav_menu_locations()[$options['theme_location_menu']], 'nav_menu')->name;
|
74 |
-
} elseif( $options['menu_to_use'] ) {
|
75 |
-
$menu = $options['menu_to_use'];
|
76 |
-
} elseif( ! empty( get_terms('nav_menu')[0]->slug ) ) {
|
77 |
-
$menu = get_terms('nav_menu')[0]->slug;
|
78 |
-
}
|
79 |
-
|
80 |
-
return wp_get_nav_menu_items($menu);
|
81 |
-
}));
|
82 |
-
|
83 |
-
$twig->addFunction(new Twig_SimpleFunction('all_pages', function() {
|
84 |
-
return get_pages();
|
85 |
-
}));
|
86 |
-
|
87 |
-
$twig->addFunction(new Twig_SimpleFunction('font_icons', function($array) {
|
88 |
-
$new_array = [];
|
89 |
-
for($i=0; $i < count($array['id']); $i++):
|
90 |
-
$new_array[$i] = [
|
91 |
-
'id' => $array['id'][$i],
|
92 |
-
'icon' => $array['icon'][$i],
|
93 |
-
'type' => $array['type'][$i]
|
94 |
-
];
|
95 |
-
endfor;
|
96 |
-
return $new_array;
|
97 |
-
}));
|
98 |
-
|
99 |
-
$twig->addGlobal('admin_url', get_admin_url());
|
100 |
-
$twig->addGlobal('shortcode', '[responsive_menu]');
|
101 |
-
|
102 |
-
$twig->addFunction(new Twig_SimpleFunction('get_available_themes', function() {
|
103 |
-
$theme_folder_path = wp_upload_dir()['basedir'] . '/responsive-menu-themes';
|
104 |
-
$theme_folders = glob($theme_folder_path . '/*' , GLOB_ONLYDIR);
|
105 |
-
|
106 |
-
$themes = [];
|
107 |
-
foreach($theme_folders as $theme_folder):
|
108 |
-
$config = json_decode(file_get_contents($theme_folder . '/config.json'), true);
|
109 |
-
$themes[basename($theme_folder)]['version'] = $config['version'];
|
110 |
-
$themes[basename($theme_folder)]['name'] = $config['name'];
|
111 |
-
endforeach;
|
112 |
-
|
113 |
-
return $themes;
|
114 |
-
}));
|
115 |
-
|
116 |
-
$twig->addGlobal('themes_folder_url', wp_upload_dir()['baseurl'] . '/responsive-menu-themes/');
|
117 |
-
$twig->addGlobal('themes_folder_dir', wp_upload_dir()['basedir'] . '/responsive-menu-themes/');
|
118 |
-
|
119 |
-
$twig->addFunction(new Twig_SimpleFunction('hide_pro_options', function() {
|
120 |
-
return get_option('hide_pro_options', 'no');
|
121 |
-
}));
|
122 |
-
|
123 |
-
$twig->addFunction(new Twig_SimpleFunction('nav_menus', function() {
|
124 |
-
$menus_array = [];
|
125 |
-
foreach(get_terms('nav_menu') as $menu)
|
126 |
-
$menus_array[$menu->slug] = $menu->name;
|
127 |
-
|
128 |
-
return $menus_array;
|
129 |
-
}));
|
130 |
-
|
131 |
-
$twig->addFunction(new Twig_SimpleFunction('location_menus', function() {
|
132 |
-
$location_menus = ['' => 'None'];
|
133 |
-
foreach(get_registered_nav_menus() as $location => $menu)
|
134 |
-
$location_menus[$location] = $menu;
|
135 |
-
|
136 |
-
return $location_menus;
|
137 |
-
}));
|
138 |
-
|
139 |
-
endif;
|
140 |
-
|
141 |
-
$twig->addFilter(new Twig_SimpleFilter('json_decode', function($string) {
|
142 |
-
return json_decode($string, true);
|
143 |
-
}));
|
144 |
-
|
145 |
-
return $twig;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
config/wp/scripts.php
DELETED
@@ -1,76 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* Admin scripts
|
5 |
-
*/
|
6 |
-
if(isset($_GET['page']) && $_GET['page'] == 'responsive-menu'):
|
7 |
-
add_action('admin_enqueue_scripts', function() {
|
8 |
-
wp_enqueue_media();
|
9 |
-
|
10 |
-
wp_enqueue_script('responsive-menu-bootstrap-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/bootstrap.js', null, null);
|
11 |
-
wp_enqueue_style('responsive-menu-bootstrap-css', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/bootstrap.css', null, null);
|
12 |
-
|
13 |
-
wp_enqueue_script('responsive-menu-select-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/bootstrap-select.js', null, null);
|
14 |
-
wp_enqueue_style('responsive-menu-select-css', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/bootstrap-select.css', null, null);
|
15 |
-
|
16 |
-
wp_enqueue_script('responsive-menu-checkbox-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/bootstrap-toggle.js', null, null);
|
17 |
-
wp_enqueue_style('responsive-menu-checkbox-css', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/bootstrap-toggle.css', null, null);
|
18 |
-
|
19 |
-
wp_enqueue_script('responsive-menu-file-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/bootstrap-file.js', null, null);
|
20 |
-
|
21 |
-
wp_enqueue_script('responsive-menu-minicolours-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/minicolours.js', null, null);
|
22 |
-
wp_enqueue_style('responsive-menu-minicolours-css', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/minicolours.css', null, null);
|
23 |
-
|
24 |
-
wp_enqueue_script('responsive-menu-selectize-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/selectize.js', null, null);
|
25 |
-
wp_enqueue_style('responsive-menu-selectize-css', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/selectize.css', null, null);
|
26 |
-
|
27 |
-
wp_enqueue_script('jquery-ui-core');
|
28 |
-
wp_enqueue_script('jquery-ui-sortable');
|
29 |
-
wp_enqueue_script('jquery-ui-draggable');
|
30 |
-
|
31 |
-
wp_register_style('responsive-menu-base-css', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/base.css', false, RMP_PLUGIN_VERSION );
|
32 |
-
wp_enqueue_style('responsive-menu-base-css');
|
33 |
-
|
34 |
-
wp_register_style('responsive-menu-additional-css', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/additional.css', false, RMP_PLUGIN_VERSION );
|
35 |
-
wp_enqueue_style('responsive-menu-additional-css');
|
36 |
-
|
37 |
-
$options = get_responsive_menu_service('option_manager')->all();
|
38 |
-
if(isset($options['admin_theme']) || isset($_POST['menu']['admin_theme'])):
|
39 |
-
$theme = isset($_POST['menu']['admin_theme']) ? $_POST['menu']['admin_theme'] : $options['admin_theme'];
|
40 |
-
wp_register_style('responsive-menu-admin-css-theme' . $theme, plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/themes/' . $theme . '.css', false, null);
|
41 |
-
wp_enqueue_style('responsive-menu-admin-css-theme' . $theme);
|
42 |
-
endif;
|
43 |
-
|
44 |
-
wp_register_script('responsive-menu-base-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/base.js', 'jquery', RMP_PLUGIN_VERSION );
|
45 |
-
|
46 |
-
wp_localize_script(
|
47 |
-
'responsive-menu-base-js',
|
48 |
-
'WP_RMP',
|
49 |
-
[ 'HOME_URL' => home_url('/') ]
|
50 |
-
);
|
51 |
-
|
52 |
-
wp_localize_script(
|
53 |
-
'responsive-menu-base-js',
|
54 |
-
'WP_RMP_THEME',
|
55 |
-
[ 'FOLDER_URL' => wp_upload_dir()['baseurl'] . '/responsive-menu-themes/' ]
|
56 |
-
);
|
57 |
-
|
58 |
-
wp_enqueue_script('responsive-menu-base-js');
|
59 |
-
|
60 |
-
wp_register_script('responsive-menu-additional-js', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/js/admin/additional.js', 'jquery', RMP_PLUGIN_VERSION );
|
61 |
-
wp_localize_script(
|
62 |
-
'responsive-menu-additional-js',
|
63 |
-
'WP_RMP',
|
64 |
-
[ 'HOME_URL' => home_url('/') ]
|
65 |
-
);
|
66 |
-
wp_enqueue_script('responsive-menu-additional-js');
|
67 |
-
|
68 |
-
wp_enqueue_style('resposnsive-menu-notice-style', plugin_dir_url(dirname(dirname(__FILE__))) . 'public/css/admin/resposnsive-menu-notice.css', null, RMP_PLUGIN_VERSION );
|
69 |
-
|
70 |
-
});
|
71 |
-
endif;
|
72 |
-
|
73 |
-
/* Front End scripts */
|
74 |
-
add_action('wp_enqueue_scripts', function() {
|
75 |
-
wp_enqueue_script('jquery');
|
76 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
imgs/responsive-menu-logo.png
DELETED
Binary file
|
migration.php
DELETED
@@ -1,49 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
add_action('init', function() {
|
4 |
-
|
5 |
-
$options_manager = get_responsive_menu_service('option_manager');
|
6 |
-
$plugin_data = get_file_data(dirname(__FILE__) . '/responsive-menu.php', ['version']);
|
7 |
-
$new_version = $plugin_data[0];
|
8 |
-
|
9 |
-
$old_version = get_option('responsive_menu_version') ? get_option('responsive_menu_version') : get_option('RMVer');
|
10 |
-
|
11 |
-
$migration = new ResponsiveMenu\Database\Migration(
|
12 |
-
$options_manager,
|
13 |
-
$old_version,
|
14 |
-
$new_version,
|
15 |
-
get_responsive_menu_default_options()
|
16 |
-
);
|
17 |
-
|
18 |
-
if($migration->needsTable()) {
|
19 |
-
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
20 |
-
global $wpdb;
|
21 |
-
maybe_create_table(
|
22 |
-
$wpdb->prefix . 'responsive_menu',
|
23 |
-
"CREATE TABLE " . $wpdb->prefix . "responsive_menu (
|
24 |
-
name varchar(50) NOT NULL,
|
25 |
-
value LONGTEXT DEFAULT NULL,
|
26 |
-
PRIMARY KEY (name)
|
27 |
-
) " . $wpdb->get_charset_collate() . ";"
|
28 |
-
);
|
29 |
-
}
|
30 |
-
|
31 |
-
if($migration->needsUpdate()) {
|
32 |
-
|
33 |
-
$migration->addNewOptions();
|
34 |
-
$migration->tidyUpOptions();
|
35 |
-
|
36 |
-
if($migration->getMigrationClasses()):
|
37 |
-
$updated_options = $options_manager->all();
|
38 |
-
foreach($migration->getMigrationClasses() as $migration)
|
39 |
-
$migrated_options = $migration->migrate($updated_options);
|
40 |
-
$options_manager->updateOptions($migrated_options->toArray());
|
41 |
-
endif;
|
42 |
-
|
43 |
-
$task = new ResponsiveMenu\Tasks\UpdateOptionsTask();
|
44 |
-
$task->run($options_manager->all(), get_responsive_menu_service('view'));
|
45 |
-
update_option('responsive_menu_version', $new_version);
|
46 |
-
|
47 |
-
}
|
48 |
-
|
49 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/css/admin/additional.css
DELETED
@@ -1,109 +0,0 @@
|
|
1 |
-
#responsive-menu-admin .pro::before,
|
2 |
-
#responsive-menu-admin .semi-pro::before {
|
3 |
-
content: "PRO";
|
4 |
-
float: right;
|
5 |
-
color: #DE4B42;
|
6 |
-
font-weight: bold;
|
7 |
-
font-size: 9px;
|
8 |
-
margin-top: 10px;
|
9 |
-
border-left: 1px solid #DE4B42;
|
10 |
-
padding-left: 8px;
|
11 |
-
padding-right: 8px;
|
12 |
-
}
|
13 |
-
|
14 |
-
#responsive-menu-admin .semi-pro::before {
|
15 |
-
content: "SEMI PRO";
|
16 |
-
color: #333;
|
17 |
-
border-color: #333;
|
18 |
-
}
|
19 |
-
|
20 |
-
#responsive-menu-admin .responsive-menu-pro-overlay {
|
21 |
-
display: none;
|
22 |
-
position: absolute;
|
23 |
-
top: 0;
|
24 |
-
right: 0;
|
25 |
-
left: 0;
|
26 |
-
bottom: 0;
|
27 |
-
background: rgba(222, 75, 66, 0.6);
|
28 |
-
text-align: center;
|
29 |
-
z-index: 3;
|
30 |
-
}
|
31 |
-
|
32 |
-
#responsive-menu-admin .responsive-menu-pro-overlay a {
|
33 |
-
top: 50%;
|
34 |
-
transform: translateY(-50%);
|
35 |
-
position: relative;
|
36 |
-
color: white;
|
37 |
-
font-size: 17px;
|
38 |
-
display: block;
|
39 |
-
}
|
40 |
-
|
41 |
-
#responsive-menu-admin .pro-container:hover .responsive-menu-pro-overlay,
|
42 |
-
#responsive-menu-admin tr.pro-row:hover .responsive-menu-pro-overlay {
|
43 |
-
display: block;
|
44 |
-
}
|
45 |
-
|
46 |
-
#responsive-menu-admin #hide-pro-options-label {
|
47 |
-
text-align: right;
|
48 |
-
}
|
49 |
-
|
50 |
-
#responsive-menu-admin #hide-pro-options {
|
51 |
-
display: inline-block;
|
52 |
-
width: auto !important;
|
53 |
-
vertical-align: sub;
|
54 |
-
}
|
55 |
-
|
56 |
-
.rtl #responsive-menu-admin .pro::before,
|
57 |
-
.rtl #responsive-menu-admin .semi-pro::before {
|
58 |
-
float: left;
|
59 |
-
}
|
60 |
-
|
61 |
-
#responsive-menu-admin #upgrade-bottom-banner a,
|
62 |
-
#responsive-menu-admin #upgrade-banner-title a {
|
63 |
-
color: #ffffff;
|
64 |
-
}
|
65 |
-
|
66 |
-
#responsive-menu-admin #upgrade-banner {
|
67 |
-
color: #fff;
|
68 |
-
border-radius: 2px;
|
69 |
-
text-align: center;
|
70 |
-
margin: 0 auto 15px auto;
|
71 |
-
background-color: #d9534f;
|
72 |
-
max-width: 350px;
|
73 |
-
font-size: 18px;
|
74 |
-
font-weight: bold;
|
75 |
-
line-height: 24px;
|
76 |
-
}
|
77 |
-
|
78 |
-
#responsive-menu-admin #upgrade-banner i {
|
79 |
-
margin-right: 5px;
|
80 |
-
}
|
81 |
-
|
82 |
-
#responsive-menu-admin #upgrade-banner .glyphicon {
|
83 |
-
margin-right: 5px;
|
84 |
-
}
|
85 |
-
|
86 |
-
#responsive-menu-admin #upgrade-banner ul {
|
87 |
-
margin: 25px 0 35px 0;
|
88 |
-
}
|
89 |
-
|
90 |
-
#responsive-menu-admin #upgrade-banner li {
|
91 |
-
list-style: none;
|
92 |
-
font-weight: bold;
|
93 |
-
font-size: 12px;
|
94 |
-
line-height: 18px;
|
95 |
-
}
|
96 |
-
|
97 |
-
#responsive-menu-admin .nav-tabs > li:first-child {
|
98 |
-
display: none;
|
99 |
-
}
|
100 |
-
|
101 |
-
#responsive-menu-admin #hide-pro-options-label {
|
102 |
-
padding: 10px;
|
103 |
-
font-size: 12px;
|
104 |
-
display: inline;
|
105 |
-
}
|
106 |
-
|
107 |
-
#responsive-menu-admin #hide-pro-options-label input {
|
108 |
-
margin-left: 5px;
|
109 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/css/admin/base.css
DELETED
@@ -1,733 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
Responsive Menu CSS file.
|
3 |
-
Safe to Copy
|
4 |
-
**/
|
5 |
-
|
6 |
-
/* vietnamese */
|
7 |
-
@font-face {
|
8 |
-
font-family: 'Montserrat';
|
9 |
-
font-style: normal;
|
10 |
-
font-weight: 400;
|
11 |
-
src: local('Montserrat Regular'), local('Montserrat-Regular'), url(https://fonts.gstatic.com/s/montserrat/v10/SKK6Nusyv8QPNMtI4j9J2yEAvth_LlrfE80CYdSH47w.woff2) format('woff2');
|
12 |
-
unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
|
13 |
-
}
|
14 |
-
/* latin-ext */
|
15 |
-
@font-face {
|
16 |
-
font-family: 'Montserrat';
|
17 |
-
font-style: normal;
|
18 |
-
font-weight: 400;
|
19 |
-
src: local('Montserrat Regular'), local('Montserrat-Regular'), url(https://fonts.gstatic.com/s/montserrat/v10/gFXtEMCp1m_YzxsBpKl68iEAvth_LlrfE80CYdSH47w.woff2) format('woff2');
|
20 |
-
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
21 |
-
}
|
22 |
-
/* latin */
|
23 |
-
@font-face {
|
24 |
-
font-family: 'Montserrat';
|
25 |
-
font-style: normal;
|
26 |
-
font-weight: 400;
|
27 |
-
src: local('Montserrat Regular'), local('Montserrat-Regular'), url(https://fonts.gstatic.com/s/montserrat/v10/zhcz-_WihjSQC0oHJ9TCYPk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
|
28 |
-
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
|
29 |
-
}
|
30 |
-
|
31 |
-
|
32 |
-
#responsive-menu-admin {
|
33 |
-
font-family: "Montserrat", Arial, Helvetica, sans-serif;
|
34 |
-
}
|
35 |
-
|
36 |
-
#responsive-menu-admin #banner-area,
|
37 |
-
#responsive-menu-admin #options-area {
|
38 |
-
display: inline-block;
|
39 |
-
width: 75%;
|
40 |
-
vertical-align: top;
|
41 |
-
}
|
42 |
-
|
43 |
-
#responsive-menu-admin #banner-area {
|
44 |
-
width: 20%;
|
45 |
-
margin-left: 5%;
|
46 |
-
margin-top: 25px;
|
47 |
-
}
|
48 |
-
|
49 |
-
#responsive-menu-admin .input-group {
|
50 |
-
width:100%;
|
51 |
-
}
|
52 |
-
|
53 |
-
#responsive-menu-admin .input-group-btn {
|
54 |
-
width:189px;
|
55 |
-
}
|
56 |
-
|
57 |
-
#responsive-menu-admin .toggle.btn {
|
58 |
-
width: 50px !important;
|
59 |
-
}
|
60 |
-
|
61 |
-
#responsive-menu-admin label {
|
62 |
-
display: block;
|
63 |
-
width: 100%;
|
64 |
-
text-align: left;
|
65 |
-
}
|
66 |
-
|
67 |
-
#responsive-menu-admin .selectize-input,
|
68 |
-
#responsive-menu-admin .bootstrap-select,
|
69 |
-
#responsive-menu-admin input,
|
70 |
-
#responsive-menu-admin textarea {
|
71 |
-
width: calc(100% - 75px) !important;
|
72 |
-
display: inline-block;
|
73 |
-
}
|
74 |
-
|
75 |
-
#responsive-menu-admin .selectize-input input,
|
76 |
-
#responsive-menu-admin input#responsive-menu-button-trigger-type-selectized {
|
77 |
-
width: auto !important;
|
78 |
-
}
|
79 |
-
|
80 |
-
#responsive-menu-admin .input-group input {
|
81 |
-
width: 100% !important;
|
82 |
-
}
|
83 |
-
|
84 |
-
#responsive-menu-admin .bootstrap-filestyle,
|
85 |
-
#responsive-menu-admin input.has-unit {
|
86 |
-
width: calc(100% - 179px) !important;
|
87 |
-
}
|
88 |
-
|
89 |
-
#responsive-menu-admin input.font-icon-input {
|
90 |
-
width: 70% !important;
|
91 |
-
}
|
92 |
-
|
93 |
-
#responsive-menu-admin .font-icon-select {
|
94 |
-
width: calc(30% - 75px) !important;
|
95 |
-
}
|
96 |
-
|
97 |
-
#responsive-menu-admin .bootstrap-select.is-unit {
|
98 |
-
width: 100px !important;
|
99 |
-
}
|
100 |
-
|
101 |
-
#responsive-menu-admin .bootstrap-select.is-animation-input {
|
102 |
-
width: 45% !important;
|
103 |
-
}
|
104 |
-
|
105 |
-
#responsive-menu-admin td {
|
106 |
-
vertical-align: middle;
|
107 |
-
}
|
108 |
-
|
109 |
-
#responsive-menu-admin td {
|
110 |
-
padding: 15px;
|
111 |
-
}
|
112 |
-
|
113 |
-
#responsive-menu-admin ul {
|
114 |
-
margin-bottom: 0;
|
115 |
-
}
|
116 |
-
|
117 |
-
#responsive-menu-admin #font-icon-container {
|
118 |
-
width: 100%;
|
119 |
-
}
|
120 |
-
|
121 |
-
#responsive-menu-admin #font-icon-container td {
|
122 |
-
padding: 0 0 10px 0;
|
123 |
-
}
|
124 |
-
|
125 |
-
#responsive-menu-admin #font-icon-container td input {
|
126 |
-
width: 95% !important;
|
127 |
-
}
|
128 |
-
|
129 |
-
#responsive-menu-admin #font-icon-container td:first-child {
|
130 |
-
width: 150px;
|
131 |
-
}
|
132 |
-
|
133 |
-
#responsive-menu-admin .panel {
|
134 |
-
border-radius: 0;
|
135 |
-
}
|
136 |
-
|
137 |
-
#responsive-menu-admin .panel-body {
|
138 |
-
font-weight: bold;
|
139 |
-
font-size: 16px;
|
140 |
-
}
|
141 |
-
|
142 |
-
#responsive-menu-admin .panel-header .glyphicon,
|
143 |
-
#responsive-menu-admin .panel-body .glyphicon {
|
144 |
-
margin-right: 10px;
|
145 |
-
}
|
146 |
-
|
147 |
-
#responsive-menu-admin .panel-body small {
|
148 |
-
display: none;
|
149 |
-
float: right;
|
150 |
-
font-weight: normal;
|
151 |
-
line-height: 22px;
|
152 |
-
}
|
153 |
-
|
154 |
-
#responsive-menu-admin .delete-font-icon-row {
|
155 |
-
cursor: pointer;
|
156 |
-
}
|
157 |
-
|
158 |
-
#responsive-menu-admin .glyphicon.glyphicon-ok {
|
159 |
-
color: green;
|
160 |
-
}
|
161 |
-
|
162 |
-
#responsive-menu-admin .top-submit-buttons,
|
163 |
-
#responsive-menu-admin .alert,
|
164 |
-
#responsive-menu-admin ul.nav-tabs {
|
165 |
-
margin-top: 25px;
|
166 |
-
}
|
167 |
-
|
168 |
-
#responsive-menu-admin .top-submit-buttons {
|
169 |
-
padding: 0;
|
170 |
-
}
|
171 |
-
|
172 |
-
#responsive-menu-admin .top-submit-buttons button {
|
173 |
-
margin-left: 5px;
|
174 |
-
}
|
175 |
-
|
176 |
-
#responsive-menu-admin .nav-tabs {
|
177 |
-
border: none;
|
178 |
-
padding: 0;
|
179 |
-
}
|
180 |
-
|
181 |
-
#responsive-menu-admin .nav-tabs > li > a {
|
182 |
-
background: none;
|
183 |
-
border: 0;
|
184 |
-
border-radius: 0;
|
185 |
-
}
|
186 |
-
|
187 |
-
#responsive-menu-admin .nav-tabs > li.active > a,
|
188 |
-
#responsive-menu-admin .nav-tabs > li.active > a:focus,
|
189 |
-
#responsive-menu-admin .nav-tabs > li.active > a:hover {
|
190 |
-
border: 0;
|
191 |
-
border-radius: 0;
|
192 |
-
}
|
193 |
-
|
194 |
-
#responsive-menu-admin .nav-tabs .label {
|
195 |
-
margin: 0 10px;
|
196 |
-
vertical-align: middle;
|
197 |
-
}
|
198 |
-
|
199 |
-
#responsive-menu-admin .nav-tabs > li {
|
200 |
-
margin-bottom: 0;
|
201 |
-
}
|
202 |
-
|
203 |
-
#responsive-menu-admin .nav > li > a {
|
204 |
-
padding: 10px;
|
205 |
-
}
|
206 |
-
|
207 |
-
#responsive-menu-admin input#filter-options {
|
208 |
-
padding: 0 15px;
|
209 |
-
width: 100% !important;
|
210 |
-
height: 50px;
|
211 |
-
}
|
212 |
-
|
213 |
-
#responsive-menu-admin #filter-options-container {
|
214 |
-
margin-top: 25px;
|
215 |
-
}
|
216 |
-
|
217 |
-
#responsive-menu-admin ul.nav-tabs .btn-default {
|
218 |
-
margin-right: 5px;
|
219 |
-
}
|
220 |
-
|
221 |
-
#responsive-menu-admin .input-group-btn .btn,
|
222 |
-
#responsive-menu-admin .btn.btn-rm {
|
223 |
-
border-radius: 0;
|
224 |
-
border: 0;
|
225 |
-
padding: 12px;
|
226 |
-
}
|
227 |
-
|
228 |
-
#responsive-menu-admin .selectize-control.multi .selectize-input > div,
|
229 |
-
#responsive-menu-admin .selectize-control.multi .selectize-input > div.active {
|
230 |
-
background: #5cb85c;
|
231 |
-
color: white;
|
232 |
-
}
|
233 |
-
|
234 |
-
#responsive-menu-admin .sub-text {
|
235 |
-
color: #777;
|
236 |
-
padding-top: 5px;
|
237 |
-
font-size: 13px;
|
238 |
-
font-weight: normal;
|
239 |
-
margin-bottom: 15px;
|
240 |
-
}
|
241 |
-
|
242 |
-
#responsive-menu-admin .sub_sub_title {
|
243 |
-
padding-top: 2px;
|
244 |
-
color: dimgray;
|
245 |
-
font-size: 10px;
|
246 |
-
font-style: italic;
|
247 |
-
font-weight: normal;
|
248 |
-
}
|
249 |
-
|
250 |
-
#responsive-menu-admin .unit {
|
251 |
-
font-size: 12px;
|
252 |
-
margin-left: 5px;
|
253 |
-
}
|
254 |
-
|
255 |
-
#responsive-menu-admin .option-highlight .col-left,
|
256 |
-
#responsive-menu-admin .option-highlight,
|
257 |
-
#responsive-menu-admin .table-hover > tbody > tr.option-highlight,
|
258 |
-
#responsive-menu-admin .table-hover > tbody > tr.option-highlight:hover,
|
259 |
-
#responsive-menu-admin .table-hover > tbody > tr.option-highlight td,
|
260 |
-
#responsive-menu-admin .table-hover > tbody > tr.option-highlight td:hover {
|
261 |
-
background-color: #ffff99 !important;
|
262 |
-
}
|
263 |
-
|
264 |
-
#responsive-menu-admin .panel table tr.option-highlight td.col-right,
|
265 |
-
#responsive-menu-admin .panel table tr.option-highlight td.col-left label,
|
266 |
-
#responsive-menu-admin .panel table tr.option-highlight td.col-left .sub-text,
|
267 |
-
#responsive-menu-admin .panel table tr.option-highlight td.col-left .sub_sub_title {
|
268 |
-
color: #333;
|
269 |
-
}
|
270 |
-
|
271 |
-
#responsive-menu-admin .draggable {
|
272 |
-
border-radius: 2px;
|
273 |
-
background: #EFEFEF;
|
274 |
-
padding: 10px 0;
|
275 |
-
margin: 4px 0;
|
276 |
-
cursor: move;
|
277 |
-
padding-left: 65px;
|
278 |
-
box-sizing: border-box;
|
279 |
-
border: 1px solid #ccc;
|
280 |
-
}
|
281 |
-
|
282 |
-
#responsive-menu-admin .draggable input {
|
283 |
-
display: none !important;
|
284 |
-
}
|
285 |
-
|
286 |
-
#responsive-menu-admin .dashed-placeholder {
|
287 |
-
border: 3px #CCC dashed;
|
288 |
-
height: 50px;
|
289 |
-
}
|
290 |
-
|
291 |
-
#responsive-menu-admin .menu-order-option-switch,
|
292 |
-
#responsive-menu-admin .order-option-switch {
|
293 |
-
background: #DE4B42;
|
294 |
-
color: white;
|
295 |
-
position: absolute;
|
296 |
-
left: 0;
|
297 |
-
top: 0;
|
298 |
-
bottom: 0;
|
299 |
-
line-height: 40px;
|
300 |
-
padding: 0 5px;
|
301 |
-
width: 50px;
|
302 |
-
text-align: center;
|
303 |
-
cursor: pointer;
|
304 |
-
}
|
305 |
-
|
306 |
-
#responsive-menu-admin .menu-order-option-switch.menu-order-option-switch-on,
|
307 |
-
#responsive-menu-admin .order-option-switch.order-option-switch-on {
|
308 |
-
background: #5cb85c;
|
309 |
-
}
|
310 |
-
|
311 |
-
#responsive-menu-admin .menu-order-option-switch:after,
|
312 |
-
#responsive-menu-admin .order-option-switch:after {
|
313 |
-
content: "OFF";
|
314 |
-
}
|
315 |
-
|
316 |
-
#responsive-menu-admin .menu-order-option-switch.menu-order-option-switch-on:after,
|
317 |
-
#responsive-menu-admin .order-option-switch.order-option-switch-on:after {
|
318 |
-
content: "ON";
|
319 |
-
}
|
320 |
-
|
321 |
-
#responsive-menu-admin li.draggable {
|
322 |
-
position: relative;
|
323 |
-
}
|
324 |
-
|
325 |
-
#responsive-menu-admin #upgrade-banner,
|
326 |
-
#responsive-menu-admin #docs-banner,
|
327 |
-
#responsive-menu-admin #themes-banner,
|
328 |
-
#responsive-menu-admin #new-version-banner {
|
329 |
-
background: #FAB719;
|
330 |
-
padding: 35px;
|
331 |
-
color: #333;
|
332 |
-
text-align: center;
|
333 |
-
font-size: 18px;
|
334 |
-
font-weight: bold;
|
335 |
-
line-height: 24px;
|
336 |
-
}
|
337 |
-
|
338 |
-
#responsive-menu-admin #upgrade-banner .button,
|
339 |
-
#responsive-menu-admin #docs-banner .button,
|
340 |
-
#responsive-menu-admin #themes-banner .button,
|
341 |
-
#responsive-menu-admin #new-version-banner .button {
|
342 |
-
background: white;
|
343 |
-
padding: 0 25px;
|
344 |
-
height: 50px;
|
345 |
-
line-height: 50px;
|
346 |
-
font-weight: bold;
|
347 |
-
font-size: 13px;
|
348 |
-
color: #333;
|
349 |
-
display: block;
|
350 |
-
margin: auto;
|
351 |
-
width: auto;
|
352 |
-
text-align: center;
|
353 |
-
margin-top: 15px;
|
354 |
-
}
|
355 |
-
|
356 |
-
#responsive-menu-admin #new-version-banner {
|
357 |
-
margin-bottom: 10px;
|
358 |
-
background: #3e4960;
|
359 |
-
color: #ffffff;
|
360 |
-
border: dashed #ffffff 2px;
|
361 |
-
}
|
362 |
-
|
363 |
-
#responsive-menu-admin #new-version-banner .button{
|
364 |
-
background: #0db932;
|
365 |
-
color: #fff;
|
366 |
-
border: solid 1px green;
|
367 |
-
}
|
368 |
-
|
369 |
-
#responsive-menu-admin #themes-banner {
|
370 |
-
background: #15a4fa;
|
371 |
-
color: white;
|
372 |
-
margin-bottom: 15px;
|
373 |
-
}
|
374 |
-
|
375 |
-
#responsive-menu-admin #add-font-icon {
|
376 |
-
margin-top: 15px;
|
377 |
-
}
|
378 |
-
|
379 |
-
#responsive-menu-admin .mini-colours {
|
380 |
-
cursor: pointer;
|
381 |
-
}
|
382 |
-
|
383 |
-
#responsive-menu-admin #header-bar-items-order-container .draggable {
|
384 |
-
display: inline-block;
|
385 |
-
width: 19%;
|
386 |
-
text-align: left;
|
387 |
-
}
|
388 |
-
|
389 |
-
#responsive-menu-admin td.col-left .sub-text ul {
|
390 |
-
margin: 15px;
|
391 |
-
}
|
392 |
-
|
393 |
-
#responsive-menu-admin td.col-left .sub-text ul li {
|
394 |
-
list-style: disc;
|
395 |
-
}
|
396 |
-
|
397 |
-
#responsive-menu-admin .panel,
|
398 |
-
#responsive-menu-admin .panel table,
|
399 |
-
#responsive-menu-admin .panel table td,
|
400 |
-
#responsive-menu-admin .panel table th,
|
401 |
-
#responsive-menu-admin .panel table td.col-left {
|
402 |
-
border: 0;
|
403 |
-
}
|
404 |
-
|
405 |
-
#responsive-menu-admin a.remove {
|
406 |
-
color: white;
|
407 |
-
}
|
408 |
-
|
409 |
-
#responsive-menu-admin .panel table td.col-left {
|
410 |
-
border-radius: 0;
|
411 |
-
box-shadow: none;
|
412 |
-
}
|
413 |
-
|
414 |
-
#responsive-menu-admin .panel table td.col-left,
|
415 |
-
#responsive-menu-admin .panel table td.col-right {
|
416 |
-
border-bottom-width: 1px;
|
417 |
-
border-bottom-style: solid;
|
418 |
-
}
|
419 |
-
|
420 |
-
#responsive-menu-admin .panel table td.col-right {
|
421 |
-
position: relative;
|
422 |
-
}
|
423 |
-
|
424 |
-
#responsive-menu-admin .panel table td.col-left {
|
425 |
-
border-right-width: 1px;
|
426 |
-
border-right-style: solid;
|
427 |
-
}
|
428 |
-
|
429 |
-
#responsive-menu-admin .panel table tr:last-child td.col-left {
|
430 |
-
border-bottom: 0;
|
431 |
-
}
|
432 |
-
|
433 |
-
#responsive-menu-admin .panel table td.col-left label {
|
434 |
-
font-weight: normal;
|
435 |
-
}
|
436 |
-
|
437 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget {
|
438 |
-
border-width: 1px;
|
439 |
-
border-style: solid;
|
440 |
-
}
|
441 |
-
|
442 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget.responsive-menu-desktop-menu-image-widget .responsive-menu-desktop-menu-widget-body {
|
443 |
-
padding-left: 37.5px;
|
444 |
-
}
|
445 |
-
|
446 |
-
#responsive-menu-admin .panel #font-icon-container td {
|
447 |
-
border-bottom: 0;
|
448 |
-
}
|
449 |
-
|
450 |
-
#responsive-menu-admin #responsive-menu-header-bar-html-content,
|
451 |
-
#responsive-menu-admin #responsive-menu-menu-additional-content {
|
452 |
-
height: 250px;
|
453 |
-
}
|
454 |
-
|
455 |
-
#responsive-menu-admin #responsive-menu-custom-css {
|
456 |
-
height: 500px;
|
457 |
-
font-family: 'monospace';
|
458 |
-
}
|
459 |
-
|
460 |
-
.rtl #responsive-menu-admin #header-bar-items-order-container .draggable,
|
461 |
-
.rtl #responsive-menu-admin label,
|
462 |
-
.rtl #responsive-menu-admin .bootstrap-select.btn-group .dropdown-toggle .filter-option,
|
463 |
-
.rtl #responsive-menu-admin .bootstrap-select.btn-group .dropdown-menu.inner {
|
464 |
-
text-align: right;
|
465 |
-
}
|
466 |
-
|
467 |
-
.rtl #responsive-menu-admin .input-group .form-control:last-child,
|
468 |
-
.rtl #responsive-menu-admin .input-group-addon:last-child, .input-group-btn:first-child > .btn-group:not(:first-child) > .btn,
|
469 |
-
.rtl #responsive-menu-admin .input-group-btn:first-child > .btn:not(:first-child),
|
470 |
-
.rtl #responsive-menu-admin .input-group-btn:last-child > .btn,
|
471 |
-
.rtl #responsive-menu-admin .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle {
|
472 |
-
border-radius: 4px 0 0 4px;
|
473 |
-
}
|
474 |
-
|
475 |
-
.rtl #responsive-menu-admin .draggable {
|
476 |
-
padding-right: 25px;
|
477 |
-
}
|
478 |
-
|
479 |
-
.rtl #responsive-menu-admin .btn-group-lg > .btn, .btn-lg,
|
480 |
-
.rtl #responsive-menu-admin .panel-body small {
|
481 |
-
margin-left: 15px;
|
482 |
-
}
|
483 |
-
|
484 |
-
.rtl #responsive-menu-admin .toggle-off {
|
485 |
-
right: -50%;
|
486 |
-
text-align: left !important;
|
487 |
-
}
|
488 |
-
|
489 |
-
.rtl #responsive-menu-admin #banner-area {
|
490 |
-
margin-left: 0;
|
491 |
-
margin-right: 5%;
|
492 |
-
}
|
493 |
-
|
494 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container {
|
495 |
-
border-top: 1px solid #ddd;
|
496 |
-
}
|
497 |
-
|
498 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container {
|
499 |
-
background: #F5F5F5;
|
500 |
-
padding: 0;
|
501 |
-
}
|
502 |
-
|
503 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container,
|
504 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-options-wrapper {
|
505 |
-
min-height: 600px;
|
506 |
-
}
|
507 |
-
|
508 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-header,
|
509 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-top-level-label,
|
510 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-sub-menu-label,
|
511 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-sub-sub-menu-label {
|
512 |
-
cursor: pointer;
|
513 |
-
}
|
514 |
-
|
515 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-top-level-label,
|
516 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-sub-menu-label,
|
517 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-sub-sub-menu-label,
|
518 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-body,
|
519 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-header {
|
520 |
-
padding: 10px;
|
521 |
-
}
|
522 |
-
|
523 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-body {
|
524 |
-
background: white;
|
525 |
-
padding: 25px 0;
|
526 |
-
}
|
527 |
-
|
528 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-body input,
|
529 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-body textarea {
|
530 |
-
padding: 10px;
|
531 |
-
color: #333;
|
532 |
-
}
|
533 |
-
|
534 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-header {
|
535 |
-
border-bottom: 1px solid #ddd;
|
536 |
-
font-weight: bold;
|
537 |
-
}
|
538 |
-
|
539 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget {
|
540 |
-
border-left: 1px solid #ddd;
|
541 |
-
width: 100%;
|
542 |
-
background: #F5F5F5;
|
543 |
-
margin-bottom: 10px;
|
544 |
-
}
|
545 |
-
|
546 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-sub-menu-label {
|
547 |
-
padding-left: 25px;
|
548 |
-
}
|
549 |
-
|
550 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-sub-sub-menu-label {
|
551 |
-
padding-left: 45px;
|
552 |
-
}
|
553 |
-
|
554 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-sub-menu-label,
|
555 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-sub-sub-menu-label,
|
556 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-sub-sub-sub-menu-label {
|
557 |
-
background: white;
|
558 |
-
border-bottom: 0;
|
559 |
-
border-top: 0;
|
560 |
-
display: block;
|
561 |
-
}
|
562 |
-
|
563 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-options-container,
|
564 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-container {
|
565 |
-
display: none;
|
566 |
-
}
|
567 |
-
|
568 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-container {
|
569 |
-
background: white;
|
570 |
-
padding: 15px;
|
571 |
-
border: 1px solid #DDDDDD;
|
572 |
-
}
|
573 |
-
|
574 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-options-container {
|
575 |
-
padding: 15px 0;
|
576 |
-
}
|
577 |
-
|
578 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-options-container:first-child {
|
579 |
-
display: block;
|
580 |
-
}
|
581 |
-
|
582 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-label-active {
|
583 |
-
background: #0073AA;
|
584 |
-
color: white;
|
585 |
-
}
|
586 |
-
|
587 |
-
#responsive-menu-admin .docs {
|
588 |
-
float: right;
|
589 |
-
margin-left: 15px;
|
590 |
-
font-weight: 100;
|
591 |
-
}
|
592 |
-
|
593 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-option-container-grid {
|
594 |
-
border: 2px solid #DDDDDD;
|
595 |
-
padding: 25px;
|
596 |
-
text-align: center;
|
597 |
-
background: white;
|
598 |
-
min-height: 136px;
|
599 |
-
}
|
600 |
-
|
601 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-option-container-grid:empty:after {
|
602 |
-
content: "Drag widgets here to begin";
|
603 |
-
color: #8c8c8c;
|
604 |
-
position: relative;
|
605 |
-
font-size: 18px;
|
606 |
-
font-weight: bold;
|
607 |
-
top: 25px;
|
608 |
-
}
|
609 |
-
|
610 |
-
#responsive-menu-admin .label-info {
|
611 |
-
border-radius: 0;
|
612 |
-
}
|
613 |
-
|
614 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container {
|
615 |
-
border: 0;
|
616 |
-
position: relative;
|
617 |
-
}
|
618 |
-
|
619 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-option-container-grid .responsive-menu-desktop-menu-widget {
|
620 |
-
width: 100% !important;
|
621 |
-
background: #F5F5F5;
|
622 |
-
margin-bottom: 15px;
|
623 |
-
}
|
624 |
-
|
625 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-option-container-grid .responsive-menu-desktop-menu-widget {
|
626 |
-
height: auto !important;
|
627 |
-
}
|
628 |
-
|
629 |
-
#responsive-menu-admin .dropdown-menu {
|
630 |
-
padding: 0;
|
631 |
-
margin: 0;
|
632 |
-
}
|
633 |
-
|
634 |
-
#responsive-menu-admin .dropdown-menu li {
|
635 |
-
margin: 0;
|
636 |
-
}
|
637 |
-
|
638 |
-
#responsive-menu-admin .dropdown-menu > li > a {
|
639 |
-
padding: 10px 15px;
|
640 |
-
}
|
641 |
-
|
642 |
-
#responsive-menu-admin .dropdown-menu > li > a .glyphicon {
|
643 |
-
top: 9px;
|
644 |
-
}
|
645 |
-
|
646 |
-
#responsive-menu-admin .dropdown-menu > li > a:focus {
|
647 |
-
box-shadow: none;
|
648 |
-
}
|
649 |
-
|
650 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-container .responsive-menu-desktop-menu-widget .responsive-menu-desktop-menu-widget-header .glyphicon,
|
651 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget .responsive-menu-desktop-menu-widget-body {
|
652 |
-
display: none;
|
653 |
-
}
|
654 |
-
|
655 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget .responsive-menu-desktop-menu-widget-header {
|
656 |
-
position: relative;
|
657 |
-
text-align: center;
|
658 |
-
}
|
659 |
-
|
660 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget .responsive-menu-desktop-menu-widget-header .glyphicon {
|
661 |
-
position: absolute;
|
662 |
-
top: 13px;
|
663 |
-
font-size: 12px;
|
664 |
-
right: 11px;
|
665 |
-
color: #333;
|
666 |
-
}
|
667 |
-
|
668 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-option-container {
|
669 |
-
margin-bottom: 15px;
|
670 |
-
background: #F5F5F5;
|
671 |
-
padding: 15px;
|
672 |
-
border: 1px solid #DDDDDD;
|
673 |
-
border-radius: 2px;
|
674 |
-
}
|
675 |
-
|
676 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widgets-container {
|
677 |
-
margin-top: 25px;
|
678 |
-
}
|
679 |
-
|
680 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-option-badges {
|
681 |
-
margin-right: 8px;
|
682 |
-
}
|
683 |
-
|
684 |
-
#responsive-menu-admin #responsive-menu-theme-container {
|
685 |
-
margin-top: 15px;
|
686 |
-
margin-right: 75px;
|
687 |
-
}
|
688 |
-
|
689 |
-
#responsive-menu-admin img#responsive-menu-theme-preview {
|
690 |
-
width: calc(100% - 75px);
|
691 |
-
}
|
692 |
-
|
693 |
-
@media screen and (max-width: 1600px) {
|
694 |
-
|
695 |
-
#responsive-menu-admin .top-submit-buttons,
|
696 |
-
#responsive-menu-admin ul.nav-tabs,
|
697 |
-
#responsive-menu-admin #banner-area,
|
698 |
-
#responsive-menu-admin #options-area {
|
699 |
-
width: 100%;
|
700 |
-
display: block;
|
701 |
-
float: none;
|
702 |
-
}
|
703 |
-
|
704 |
-
#responsive-menu-admin #banner-area {
|
705 |
-
margin: 25px 0 25px 0;
|
706 |
-
}
|
707 |
-
|
708 |
-
}
|
709 |
-
|
710 |
-
@media screen and (max-width: 1100px) {
|
711 |
-
|
712 |
-
#responsive-menu-admin .nav.nav-tabs > li {
|
713 |
-
width: 49%;
|
714 |
-
display: inline-block;
|
715 |
-
float: none;
|
716 |
-
margin: 0;
|
717 |
-
text-align: center;
|
718 |
-
}
|
719 |
-
|
720 |
-
#responsive-menu-admin .nav.nav-tabs > li.pull-right {
|
721 |
-
display: none;
|
722 |
-
}
|
723 |
-
|
724 |
-
#responsive-menu-admin td {
|
725 |
-
width: 100%;
|
726 |
-
display: block;
|
727 |
-
}
|
728 |
-
|
729 |
-
#responsive-menu-admin td.col-left {
|
730 |
-
margin-bottom: 0;
|
731 |
-
}
|
732 |
-
|
733 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/css/admin/bootstrap-select.css
DELETED
@@ -1,6 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
3 |
-
*
|
4 |
-
* Copyright 2013-2017 bootstrap-select
|
5 |
-
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
6 |
-
*/select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:220px\9}.bootstrap-select>.dropdown-toggle{width:100%;padding-right:25px;z-index:1}.bootstrap-select>.dropdown-toggle.bs-placeholder,.bootstrap-select>.dropdown-toggle.bs-placeholder:active,.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder:hover{color:#999}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:none}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2}.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .dropdown-toggle:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.form-control.input-group-btn{z-index:auto}.bootstrap-select.form-control.input-group-btn:not(:first-child):not(:last-child)>.btn{border-radius:0}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-group-lg .bootstrap-select.btn-group.form-control .dropdown-toggle,.form-group-sm .bootstrap-select.btn-group.form-control .dropdown-toggle{height:100%;font-size:inherit;line-height:inherit;border-radius:inherit}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.bootstrap-select.btn-group.disabled,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group.disabled:focus,.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group.bs-container{position:absolute;height:0!important;padding:0!important}.bootstrap-select.btn-group.bs-container .dropdown-menu{z-index:1060}.bootstrap-select.btn-group .dropdown-toggle .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*=col-] .dropdown-toggle{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li.active small{color:#fff}.bootstrap-select.btn-group .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option{position:static}.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none}
|
|
|
|
|
|
|
|
|
|
|
|
public/css/admin/bootstrap-toggle.css
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
/*! ========================================================================
|
2 |
-
* Bootstrap Toggle: bootstrap-toggle.css v2.2.0
|
3 |
-
* http://www.bootstraptoggle.com
|
4 |
-
* ========================================================================
|
5 |
-
* Copyright 2014 Min Hur, The New York Times Company
|
6 |
-
* Licensed under MIT
|
7 |
-
* ======================================================================== */
|
8 |
-
.checkbox label .toggle,.checkbox-inline .toggle{margin-left:-20px;margin-right:5px}
|
9 |
-
.toggle{position:relative;overflow:hidden}
|
10 |
-
.toggle input[type=checkbox]{display:none}
|
11 |
-
.toggle-group{position:absolute;width:200%;top:0;bottom:0;left:0;transition:left .35s;-webkit-transition:left .35s;-moz-user-select:none;-webkit-user-select:none}
|
12 |
-
.toggle.off .toggle-group{left:-100%}
|
13 |
-
.toggle-on{position:absolute;top:0;bottom:0;left:0;right:50%;margin:0;border:0;border-radius:0}
|
14 |
-
.toggle-off{position:absolute;top:0;bottom:0;left:50%;right:0;margin:0;border:0;border-radius:0}
|
15 |
-
.toggle-handle{position:relative;margin:0 auto;padding-top:0;padding-bottom:0;height:100%;width:0;border-width:0 1px}
|
16 |
-
.toggle.btn{min-width:59px;min-height:34px}
|
17 |
-
.toggle-on.btn{padding-right:24px}
|
18 |
-
.toggle-off.btn{padding-left:24px}
|
19 |
-
.toggle.btn-lg{min-width:79px;min-height:45px}
|
20 |
-
.toggle-on.btn-lg{padding-right:31px}
|
21 |
-
.toggle-off.btn-lg{padding-left:31px}
|
22 |
-
.toggle-handle.btn-lg{width:40px}
|
23 |
-
.toggle.btn-sm{min-width:50px;min-height:30px}
|
24 |
-
.toggle-on.btn-sm{padding-right:20px}
|
25 |
-
.toggle-off.btn-sm{padding-left:20px}
|
26 |
-
.toggle.btn-xs{min-width:35px;min-height:22px}
|
27 |
-
.toggle-on.btn-xs{padding-right:12px}
|
28 |
-
.toggle-off.btn-xs{padding-left:12px}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/css/admin/bootstrap.css
DELETED
@@ -1,5 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
3 |
-
* Copyright 2011-2016 Twitter, Inc.
|
4 |
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
-
*//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../../fonts/admin/glyphicons-halflings-regular.eot);src:url(../../fonts/admin/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../../fonts/admin/glyphicons-halflings-regular.woff2) format('woff2'),url(../../fonts/admin/glyphicons-halflings-regular.woff) format('woff'),url(../../fonts/admin/glyphicons-halflings-regular.ttf) format('truetype'),url(../../fonts/admin/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;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;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
|
|
|
|
|
|
|
|
|
|
public/css/admin/minicolours.css
DELETED
@@ -1,323 +0,0 @@
|
|
1 |
-
.minicolors {
|
2 |
-
position: relative;
|
3 |
-
}
|
4 |
-
|
5 |
-
.minicolors-sprite {
|
6 |
-
background-image: url(data:image/png;base64,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);
|
7 |
-
}
|
8 |
-
|
9 |
-
.minicolors-no-data-uris .minicolors-sprite {
|
10 |
-
background-image: url(jquery.minicolors.png);
|
11 |
-
}
|
12 |
-
|
13 |
-
.minicolors-swatch {
|
14 |
-
position: absolute;
|
15 |
-
vertical-align: middle;
|
16 |
-
background-position: -80px 0;
|
17 |
-
border: solid 1px #ccc;
|
18 |
-
cursor: text;
|
19 |
-
padding: 0;
|
20 |
-
margin: 0;
|
21 |
-
display: inline-block;
|
22 |
-
}
|
23 |
-
|
24 |
-
.minicolors-swatch-color {
|
25 |
-
position: absolute;
|
26 |
-
top: 0;
|
27 |
-
left: 0;
|
28 |
-
right: 0;
|
29 |
-
bottom: 0;
|
30 |
-
}
|
31 |
-
|
32 |
-
.minicolors input[type=hidden] + .minicolors-swatch {
|
33 |
-
width: 28px;
|
34 |
-
position: static;
|
35 |
-
cursor: pointer;
|
36 |
-
}
|
37 |
-
|
38 |
-
.minicolors input[type=hidden][disabled] + .minicolors-swatch {
|
39 |
-
cursor: default;
|
40 |
-
}
|
41 |
-
|
42 |
-
/* Panel */
|
43 |
-
.minicolors-panel {
|
44 |
-
position: absolute;
|
45 |
-
width: 173px;
|
46 |
-
background: white;
|
47 |
-
border: solid 1px #CCC;
|
48 |
-
box-shadow: 0 0 20px rgba(0, 0, 0, .2);
|
49 |
-
z-index: 99999;
|
50 |
-
box-sizing: content-box;
|
51 |
-
display: none;
|
52 |
-
}
|
53 |
-
|
54 |
-
.minicolors-panel.minicolors-visible {
|
55 |
-
display: block;
|
56 |
-
}
|
57 |
-
|
58 |
-
/* Panel positioning */
|
59 |
-
.minicolors-position-top .minicolors-panel {
|
60 |
-
top: -154px;
|
61 |
-
}
|
62 |
-
|
63 |
-
.minicolors-position-right .minicolors-panel {
|
64 |
-
right: 0;
|
65 |
-
}
|
66 |
-
|
67 |
-
.minicolors-position-bottom .minicolors-panel {
|
68 |
-
top: auto;
|
69 |
-
}
|
70 |
-
|
71 |
-
.minicolors-position-left .minicolors-panel {
|
72 |
-
left: 0;
|
73 |
-
}
|
74 |
-
|
75 |
-
.minicolors-with-opacity .minicolors-panel {
|
76 |
-
width: 194px;
|
77 |
-
}
|
78 |
-
|
79 |
-
.minicolors .minicolors-grid {
|
80 |
-
position: relative;
|
81 |
-
top: 1px;
|
82 |
-
left: 1px;
|
83 |
-
width: 150px;
|
84 |
-
height: 150px;
|
85 |
-
background-position: -120px 0;
|
86 |
-
cursor: crosshair;
|
87 |
-
}
|
88 |
-
|
89 |
-
.minicolors .minicolors-grid-inner {
|
90 |
-
position: absolute;
|
91 |
-
top: 0;
|
92 |
-
left: 0;
|
93 |
-
width: 150px;
|
94 |
-
height: 150px;
|
95 |
-
}
|
96 |
-
|
97 |
-
.minicolors-slider-saturation .minicolors-grid {
|
98 |
-
background-position: -420px 0;
|
99 |
-
}
|
100 |
-
|
101 |
-
.minicolors-slider-saturation .minicolors-grid-inner {
|
102 |
-
background-position: -270px 0;
|
103 |
-
background-image: inherit;
|
104 |
-
}
|
105 |
-
|
106 |
-
.minicolors-slider-brightness .minicolors-grid {
|
107 |
-
background-position: -570px 0;
|
108 |
-
}
|
109 |
-
|
110 |
-
.minicolors-slider-brightness .minicolors-grid-inner {
|
111 |
-
background-color: black;
|
112 |
-
}
|
113 |
-
|
114 |
-
.minicolors-slider-wheel .minicolors-grid {
|
115 |
-
background-position: -720px 0;
|
116 |
-
}
|
117 |
-
|
118 |
-
.minicolors-slider,
|
119 |
-
.minicolors-opacity-slider {
|
120 |
-
position: absolute;
|
121 |
-
top: 1px;
|
122 |
-
left: 152px;
|
123 |
-
width: 20px;
|
124 |
-
height: 150px;
|
125 |
-
background-color: white;
|
126 |
-
background-position: 0 0;
|
127 |
-
cursor: row-resize;
|
128 |
-
}
|
129 |
-
|
130 |
-
.minicolors-slider-saturation .minicolors-slider {
|
131 |
-
background-position: -60px 0;
|
132 |
-
}
|
133 |
-
|
134 |
-
.minicolors-slider-brightness .minicolors-slider {
|
135 |
-
background-position: -20px 0;
|
136 |
-
}
|
137 |
-
|
138 |
-
.minicolors-slider-wheel .minicolors-slider {
|
139 |
-
background-position: -20px 0;
|
140 |
-
}
|
141 |
-
|
142 |
-
.minicolors-opacity-slider {
|
143 |
-
left: 173px;
|
144 |
-
background-position: -40px 0;
|
145 |
-
display: none;
|
146 |
-
}
|
147 |
-
|
148 |
-
.minicolors-with-opacity .minicolors-opacity-slider {
|
149 |
-
display: block;
|
150 |
-
}
|
151 |
-
|
152 |
-
/* Pickers */
|
153 |
-
.minicolors-grid .minicolors-picker {
|
154 |
-
position: absolute;
|
155 |
-
top: 70px;
|
156 |
-
left: 70px;
|
157 |
-
width: 12px;
|
158 |
-
height: 12px;
|
159 |
-
border: solid 1px black;
|
160 |
-
border-radius: 10px;
|
161 |
-
margin-top: -6px;
|
162 |
-
margin-left: -6px;
|
163 |
-
background: none;
|
164 |
-
}
|
165 |
-
|
166 |
-
.minicolors-grid .minicolors-picker > div {
|
167 |
-
position: absolute;
|
168 |
-
top: 0;
|
169 |
-
left: 0;
|
170 |
-
width: 8px;
|
171 |
-
height: 8px;
|
172 |
-
border-radius: 8px;
|
173 |
-
border: solid 2px white;
|
174 |
-
box-sizing: content-box;
|
175 |
-
}
|
176 |
-
|
177 |
-
.minicolors-picker {
|
178 |
-
position: absolute;
|
179 |
-
top: 0;
|
180 |
-
left: 0;
|
181 |
-
width: 18px;
|
182 |
-
height: 2px;
|
183 |
-
background: white;
|
184 |
-
border: solid 1px black;
|
185 |
-
margin-top: -2px;
|
186 |
-
box-sizing: content-box;
|
187 |
-
}
|
188 |
-
|
189 |
-
/* Swatches */
|
190 |
-
.minicolors-swatches,
|
191 |
-
.minicolors-swatches li {
|
192 |
-
margin: 5px 0 3px 5px;
|
193 |
-
padding: 0;
|
194 |
-
list-style: none;
|
195 |
-
overflow: hidden;
|
196 |
-
}
|
197 |
-
|
198 |
-
.minicolors-swatches .minicolors-swatch {
|
199 |
-
position: relative;
|
200 |
-
float: left;
|
201 |
-
cursor: pointer;
|
202 |
-
margin:0 4px 0 0;
|
203 |
-
}
|
204 |
-
|
205 |
-
.minicolors-with-opacity .minicolors-swatches .minicolors-swatch {
|
206 |
-
margin-right: 7px;
|
207 |
-
}
|
208 |
-
|
209 |
-
.minicolors-swatch.selected {
|
210 |
-
border-color: #000;
|
211 |
-
}
|
212 |
-
|
213 |
-
/* Inline controls */
|
214 |
-
.minicolors-inline {
|
215 |
-
display: inline-block;
|
216 |
-
}
|
217 |
-
|
218 |
-
.minicolors-inline .minicolors-input {
|
219 |
-
display: none !important;
|
220 |
-
}
|
221 |
-
|
222 |
-
.minicolors-inline .minicolors-panel {
|
223 |
-
position: relative;
|
224 |
-
top: auto;
|
225 |
-
left: auto;
|
226 |
-
box-shadow: none;
|
227 |
-
z-index: auto;
|
228 |
-
display: inline-block;
|
229 |
-
}
|
230 |
-
|
231 |
-
/* Default theme */
|
232 |
-
.minicolors-theme-default .minicolors-swatch {
|
233 |
-
top: 5px;
|
234 |
-
left: 5px;
|
235 |
-
width: 18px;
|
236 |
-
height: 18px;
|
237 |
-
}
|
238 |
-
.minicolors-theme-default .minicolors-swatches .minicolors-swatch {
|
239 |
-
margin-bottom: 2px;
|
240 |
-
top: 0;
|
241 |
-
left: 0;
|
242 |
-
width: 18px;
|
243 |
-
height: 18px;
|
244 |
-
}
|
245 |
-
.minicolors-theme-default.minicolors-position-right .minicolors-swatch {
|
246 |
-
left: auto;
|
247 |
-
right: 5px;
|
248 |
-
}
|
249 |
-
.minicolors-theme-default.minicolors {
|
250 |
-
width: auto;
|
251 |
-
display: inline-block;
|
252 |
-
}
|
253 |
-
.minicolors-theme-default .minicolors-input {
|
254 |
-
height: 20px;
|
255 |
-
width: auto;
|
256 |
-
display: inline-block;
|
257 |
-
padding-left: 26px;
|
258 |
-
}
|
259 |
-
.minicolors-theme-default.minicolors-position-right .minicolors-input {
|
260 |
-
padding-right: 26px;
|
261 |
-
padding-left: inherit;
|
262 |
-
}
|
263 |
-
|
264 |
-
/* Bootstrap theme */
|
265 |
-
.minicolors-theme-bootstrap .minicolors-swatch {
|
266 |
-
z-index: 2;
|
267 |
-
top: 3px;
|
268 |
-
left: 3px;
|
269 |
-
width: 28px;
|
270 |
-
height: 28px;
|
271 |
-
border-radius: 3px;
|
272 |
-
}
|
273 |
-
.minicolors-theme-bootstrap .minicolors-swatches .minicolors-swatch {
|
274 |
-
margin-bottom: 2px;
|
275 |
-
top: 0;
|
276 |
-
left: 0;
|
277 |
-
width: 20px;
|
278 |
-
height: 20px;
|
279 |
-
}
|
280 |
-
.minicolors-theme-bootstrap .minicolors-swatch-color {
|
281 |
-
border-radius: inherit;
|
282 |
-
}
|
283 |
-
.minicolors-theme-bootstrap.minicolors-position-right > .minicolors-swatch {
|
284 |
-
left: auto;
|
285 |
-
right: 3px;
|
286 |
-
}
|
287 |
-
.minicolors-theme-bootstrap .minicolors-input {
|
288 |
-
float: none;
|
289 |
-
padding-left: 44px;
|
290 |
-
}
|
291 |
-
.minicolors-theme-bootstrap.minicolors-position-right .minicolors-input {
|
292 |
-
padding-right: 44px;
|
293 |
-
padding-left: 12px;
|
294 |
-
}
|
295 |
-
.minicolors-theme-bootstrap .minicolors-input.input-lg + .minicolors-swatch {
|
296 |
-
top: 4px;
|
297 |
-
left: 4px;
|
298 |
-
width: 37px;
|
299 |
-
height: 37px;
|
300 |
-
border-radius: 5px;
|
301 |
-
}
|
302 |
-
.minicolors-theme-bootstrap .minicolors-input.input-sm + .minicolors-swatch {
|
303 |
-
width: 24px;
|
304 |
-
height: 24px;
|
305 |
-
}
|
306 |
-
.minicolors-theme-bootstrap .minicolors-input.input-xs + .minicolors-swatch {
|
307 |
-
width: 18px;
|
308 |
-
height: 18px;
|
309 |
-
}
|
310 |
-
.input-group .minicolors-theme-bootstrap:not(:first-child) .minicolors-input {
|
311 |
-
border-top-left-radius: 0;
|
312 |
-
border-bottom-left-radius: 0;
|
313 |
-
}
|
314 |
-
|
315 |
-
/* Semantic Ui theme */
|
316 |
-
.minicolors-theme-semanticui .minicolors-swatch {
|
317 |
-
top: 0;
|
318 |
-
left: 0;
|
319 |
-
padding: 18px;
|
320 |
-
}
|
321 |
-
.minicolors-theme-semanticui input {
|
322 |
-
text-indent: 30px;
|
323 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/css/admin/resposnsive-menu-notice.css
DELETED
@@ -1,48 +0,0 @@
|
|
1 |
-
div.notice-responsive-menu {
|
2 |
-
display: flex;
|
3 |
-
align-items: center;
|
4 |
-
border-left-color: #15a4fa;
|
5 |
-
padding: 10px;
|
6 |
-
}
|
7 |
-
|
8 |
-
div.notice-responsive-menu .notice-responsive-menu-logo {
|
9 |
-
margin-right: 10px;
|
10 |
-
}
|
11 |
-
|
12 |
-
div.notice-responsive-menu .notice-responsive-menu-message h4,
|
13 |
-
div.notice-responsive-menu .notice-responsive-menu-message p {
|
14 |
-
margin: 0;
|
15 |
-
}
|
16 |
-
|
17 |
-
div.notice-responsive-menu .notice-responsive-menu-action {
|
18 |
-
position: absolute;
|
19 |
-
right: 40px;
|
20 |
-
}
|
21 |
-
|
22 |
-
@media screen and (max-width: 1150px) {
|
23 |
-
div.notice-responsive-menu {
|
24 |
-
flex-direction: column;
|
25 |
-
align-items: flex-start;
|
26 |
-
}
|
27 |
-
div.notice-responsive-menu .notice-responsive-menu-action {
|
28 |
-
margin-top: 20px;
|
29 |
-
}
|
30 |
-
}
|
31 |
-
|
32 |
-
div.notice-responsive-menu .notice-responsive-menu-action a {
|
33 |
-
text-decoration: none;
|
34 |
-
color: #fff;
|
35 |
-
padding: 8px 15px;
|
36 |
-
background: #36bef7;
|
37 |
-
font-size: 15px;
|
38 |
-
font-weight: 700;
|
39 |
-
border:1px solid #1d9cd2;
|
40 |
-
}
|
41 |
-
div.notice-responsive-menu .notice-responsive-menu-action a:hover {
|
42 |
-
opacity: 0.8;
|
43 |
-
}
|
44 |
-
|
45 |
-
.responsive-menu-license-upgrade-link {
|
46 |
-
color: #f80668;
|
47 |
-
font-weight: 600;
|
48 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/css/admin/selectize.css
DELETED
@@ -1,324 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* selectize.css (v0.12.4)
|
3 |
-
* Copyright (c) 2013–2015 Brian Reavis & contributors
|
4 |
-
*
|
5 |
-
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
|
6 |
-
* file except in compliance with the License. You may obtain a copy of the License at:
|
7 |
-
* http://www.apache.org/licenses/LICENSE-2.0
|
8 |
-
*
|
9 |
-
* Unless required by applicable law or agreed to in writing, software distributed under
|
10 |
-
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
11 |
-
* ANY KIND, either express or implied. See the License for the specific language
|
12 |
-
* governing permissions and limitations under the License.
|
13 |
-
*
|
14 |
-
* @author Brian Reavis <brian@thirdroute.com>
|
15 |
-
*/
|
16 |
-
|
17 |
-
.selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder {
|
18 |
-
visibility: visible !important;
|
19 |
-
background: #f2f2f2 !important;
|
20 |
-
background: rgba(0, 0, 0, 0.06) !important;
|
21 |
-
border: 0 none !important;
|
22 |
-
-webkit-box-shadow: inset 0 0 12px 4px #ffffff;
|
23 |
-
box-shadow: inset 0 0 12px 4px #ffffff;
|
24 |
-
}
|
25 |
-
.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after {
|
26 |
-
content: '!';
|
27 |
-
visibility: hidden;
|
28 |
-
}
|
29 |
-
.selectize-control.plugin-drag_drop .ui-sortable-helper {
|
30 |
-
-webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
|
31 |
-
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
|
32 |
-
}
|
33 |
-
.selectize-dropdown-header {
|
34 |
-
position: relative;
|
35 |
-
padding: 5px 8px;
|
36 |
-
border-bottom: 1px solid #d0d0d0;
|
37 |
-
background: #f8f8f8;
|
38 |
-
-webkit-border-radius: 3px 3px 0 0;
|
39 |
-
-moz-border-radius: 3px 3px 0 0;
|
40 |
-
border-radius: 3px 3px 0 0;
|
41 |
-
}
|
42 |
-
.selectize-dropdown-header-close {
|
43 |
-
position: absolute;
|
44 |
-
right: 8px;
|
45 |
-
top: 50%;
|
46 |
-
color: #303030;
|
47 |
-
opacity: 0.4;
|
48 |
-
margin-top: -12px;
|
49 |
-
line-height: 20px;
|
50 |
-
font-size: 20px !important;
|
51 |
-
}
|
52 |
-
.selectize-dropdown-header-close:hover {
|
53 |
-
color: #000000;
|
54 |
-
}
|
55 |
-
.selectize-dropdown.plugin-optgroup_columns .optgroup {
|
56 |
-
border-right: 1px solid #f2f2f2;
|
57 |
-
border-top: 0 none;
|
58 |
-
float: left;
|
59 |
-
-webkit-box-sizing: border-box;
|
60 |
-
-moz-box-sizing: border-box;
|
61 |
-
box-sizing: border-box;
|
62 |
-
}
|
63 |
-
.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child {
|
64 |
-
border-right: 0 none;
|
65 |
-
}
|
66 |
-
.selectize-dropdown.plugin-optgroup_columns .optgroup:before {
|
67 |
-
display: none;
|
68 |
-
}
|
69 |
-
.selectize-dropdown.plugin-optgroup_columns .optgroup-header {
|
70 |
-
border-top: 0 none;
|
71 |
-
}
|
72 |
-
.selectize-control.plugin-remove_button [data-value] {
|
73 |
-
position: relative;
|
74 |
-
padding-right: 24px !important;
|
75 |
-
}
|
76 |
-
.selectize-control.plugin-remove_button [data-value] .remove {
|
77 |
-
z-index: 1;
|
78 |
-
/* fixes ie bug (see #392) */
|
79 |
-
position: absolute;
|
80 |
-
top: 0;
|
81 |
-
right: 0;
|
82 |
-
bottom: 0;
|
83 |
-
width: 17px;
|
84 |
-
text-align: center;
|
85 |
-
font-weight: bold;
|
86 |
-
font-size: 12px;
|
87 |
-
color: inherit;
|
88 |
-
text-decoration: none;
|
89 |
-
vertical-align: middle;
|
90 |
-
display: inline-block;
|
91 |
-
padding: 2px 0 0 0;
|
92 |
-
border-left: 1px solid #d0d0d0;
|
93 |
-
-webkit-border-radius: 0 2px 2px 0;
|
94 |
-
-moz-border-radius: 0 2px 2px 0;
|
95 |
-
border-radius: 0 2px 2px 0;
|
96 |
-
-webkit-box-sizing: border-box;
|
97 |
-
-moz-box-sizing: border-box;
|
98 |
-
box-sizing: border-box;
|
99 |
-
}
|
100 |
-
.selectize-control.plugin-remove_button [data-value] .remove:hover {
|
101 |
-
background: rgba(0, 0, 0, 0.05);
|
102 |
-
}
|
103 |
-
.selectize-control.plugin-remove_button [data-value].active .remove {
|
104 |
-
border-left-color: #cacaca;
|
105 |
-
}
|
106 |
-
.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover {
|
107 |
-
background: none;
|
108 |
-
}
|
109 |
-
.selectize-control.plugin-remove_button .disabled [data-value] .remove {
|
110 |
-
border-left-color: #ffffff;
|
111 |
-
}
|
112 |
-
.selectize-control.plugin-remove_button .remove-single {
|
113 |
-
position: absolute;
|
114 |
-
right: 28px;
|
115 |
-
top: 6px;
|
116 |
-
font-size: 23px;
|
117 |
-
}
|
118 |
-
.selectize-control {
|
119 |
-
position: relative;
|
120 |
-
}
|
121 |
-
.selectize-dropdown,
|
122 |
-
.selectize-input,
|
123 |
-
.selectize-input input {
|
124 |
-
color: #303030;
|
125 |
-
font-family: inherit;
|
126 |
-
font-size: 13px;
|
127 |
-
line-height: 18px;
|
128 |
-
-webkit-font-smoothing: inherit;
|
129 |
-
}
|
130 |
-
.selectize-input,
|
131 |
-
.selectize-control.single .selectize-input.input-active {
|
132 |
-
background: #ffffff;
|
133 |
-
cursor: text;
|
134 |
-
display: inline-block;
|
135 |
-
}
|
136 |
-
.selectize-input {
|
137 |
-
border: 1px solid #d0d0d0;
|
138 |
-
padding: 8px 8px;
|
139 |
-
display: inline-block;
|
140 |
-
width: 100%;
|
141 |
-
overflow: hidden;
|
142 |
-
position: relative;
|
143 |
-
z-index: 1;
|
144 |
-
-webkit-box-sizing: border-box;
|
145 |
-
-moz-box-sizing: border-box;
|
146 |
-
box-sizing: border-box;
|
147 |
-
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
|
148 |
-
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
|
149 |
-
-webkit-border-radius: 3px;
|
150 |
-
-moz-border-radius: 3px;
|
151 |
-
border-radius: 3px;
|
152 |
-
}
|
153 |
-
.selectize-control.multi .selectize-input.has-items {
|
154 |
-
padding: 6px 8px 3px;
|
155 |
-
}
|
156 |
-
.selectize-input.full {
|
157 |
-
background-color: #ffffff;
|
158 |
-
}
|
159 |
-
.selectize-input.disabled,
|
160 |
-
.selectize-input.disabled * {
|
161 |
-
cursor: default !important;
|
162 |
-
}
|
163 |
-
.selectize-input.focus {
|
164 |
-
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
|
165 |
-
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
|
166 |
-
}
|
167 |
-
.selectize-input.dropdown-active {
|
168 |
-
-webkit-border-radius: 3px 3px 0 0;
|
169 |
-
-moz-border-radius: 3px 3px 0 0;
|
170 |
-
border-radius: 3px 3px 0 0;
|
171 |
-
}
|
172 |
-
.selectize-input > * {
|
173 |
-
vertical-align: baseline;
|
174 |
-
display: -moz-inline-stack;
|
175 |
-
display: inline-block;
|
176 |
-
zoom: 1;
|
177 |
-
*display: inline;
|
178 |
-
}
|
179 |
-
.selectize-control.multi .selectize-input > div {
|
180 |
-
cursor: pointer;
|
181 |
-
margin: 0 3px 3px 0;
|
182 |
-
padding: 2px 6px;
|
183 |
-
background: #f2f2f2;
|
184 |
-
color: #303030;
|
185 |
-
border: 0 solid #d0d0d0;
|
186 |
-
}
|
187 |
-
.selectize-control.multi .selectize-input > div.active {
|
188 |
-
background: #e8e8e8;
|
189 |
-
color: #303030;
|
190 |
-
border: 0 solid #cacaca;
|
191 |
-
}
|
192 |
-
.selectize-control.multi .selectize-input.disabled > div,
|
193 |
-
.selectize-control.multi .selectize-input.disabled > div.active {
|
194 |
-
color: #7d7d7d;
|
195 |
-
background: #ffffff;
|
196 |
-
border: 0 solid #ffffff;
|
197 |
-
}
|
198 |
-
.selectize-input > input {
|
199 |
-
display: inline-block !important;
|
200 |
-
padding: 0 !important;
|
201 |
-
min-height: 0 !important;
|
202 |
-
max-height: none !important;
|
203 |
-
max-width: 100% !important;
|
204 |
-
margin: 0 2px 0 0 !important;
|
205 |
-
text-indent: 0 !important;
|
206 |
-
border: 0 none !important;
|
207 |
-
background: none !important;
|
208 |
-
line-height: inherit !important;
|
209 |
-
-webkit-user-select: auto !important;
|
210 |
-
-webkit-box-shadow: none !important;
|
211 |
-
box-shadow: none !important;
|
212 |
-
}
|
213 |
-
.selectize-input > input::-ms-clear {
|
214 |
-
display: none;
|
215 |
-
}
|
216 |
-
.selectize-input > input:focus {
|
217 |
-
outline: none !important;
|
218 |
-
}
|
219 |
-
.selectize-input::after {
|
220 |
-
content: ' ';
|
221 |
-
display: block;
|
222 |
-
clear: left;
|
223 |
-
}
|
224 |
-
.selectize-input.dropdown-active::before {
|
225 |
-
content: ' ';
|
226 |
-
display: block;
|
227 |
-
position: absolute;
|
228 |
-
background: #f0f0f0;
|
229 |
-
height: 1px;
|
230 |
-
bottom: 0;
|
231 |
-
left: 0;
|
232 |
-
right: 0;
|
233 |
-
}
|
234 |
-
.selectize-dropdown {
|
235 |
-
position: absolute;
|
236 |
-
z-index: 10;
|
237 |
-
border: 1px solid #d0d0d0;
|
238 |
-
background: #ffffff;
|
239 |
-
margin: -1px 0 0 0;
|
240 |
-
border-top: 0 none;
|
241 |
-
-webkit-box-sizing: border-box;
|
242 |
-
-moz-box-sizing: border-box;
|
243 |
-
box-sizing: border-box;
|
244 |
-
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
245 |
-
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
246 |
-
-webkit-border-radius: 0 0 3px 3px;
|
247 |
-
-moz-border-radius: 0 0 3px 3px;
|
248 |
-
border-radius: 0 0 3px 3px;
|
249 |
-
}
|
250 |
-
.selectize-dropdown [data-selectable] {
|
251 |
-
cursor: pointer;
|
252 |
-
overflow: hidden;
|
253 |
-
}
|
254 |
-
.selectize-dropdown [data-selectable] .highlight {
|
255 |
-
background: rgba(125, 168, 208, 0.2);
|
256 |
-
-webkit-border-radius: 1px;
|
257 |
-
-moz-border-radius: 1px;
|
258 |
-
border-radius: 1px;
|
259 |
-
}
|
260 |
-
.selectize-dropdown [data-selectable],
|
261 |
-
.selectize-dropdown .optgroup-header {
|
262 |
-
padding: 5px 8px;
|
263 |
-
}
|
264 |
-
.selectize-dropdown .optgroup:first-child .optgroup-header {
|
265 |
-
border-top: 0 none;
|
266 |
-
}
|
267 |
-
.selectize-dropdown .optgroup-header {
|
268 |
-
color: #303030;
|
269 |
-
background: #ffffff;
|
270 |
-
cursor: default;
|
271 |
-
}
|
272 |
-
.selectize-dropdown .active {
|
273 |
-
background-color: #f5fafd;
|
274 |
-
color: #495c68;
|
275 |
-
}
|
276 |
-
.selectize-dropdown .active.create {
|
277 |
-
color: #495c68;
|
278 |
-
}
|
279 |
-
.selectize-dropdown .create {
|
280 |
-
color: rgba(48, 48, 48, 0.5);
|
281 |
-
}
|
282 |
-
.selectize-dropdown-content {
|
283 |
-
overflow-y: auto;
|
284 |
-
overflow-x: hidden;
|
285 |
-
max-height: 200px;
|
286 |
-
-webkit-overflow-scrolling: touch;
|
287 |
-
}
|
288 |
-
.selectize-control.single .selectize-input,
|
289 |
-
.selectize-control.single .selectize-input input {
|
290 |
-
cursor: pointer;
|
291 |
-
}
|
292 |
-
.selectize-control.single .selectize-input.input-active,
|
293 |
-
.selectize-control.single .selectize-input.input-active input {
|
294 |
-
cursor: text;
|
295 |
-
}
|
296 |
-
.selectize-control.single .selectize-input:after {
|
297 |
-
content: ' ';
|
298 |
-
display: block;
|
299 |
-
position: absolute;
|
300 |
-
top: 50%;
|
301 |
-
right: 15px;
|
302 |
-
margin-top: -3px;
|
303 |
-
width: 0;
|
304 |
-
height: 0;
|
305 |
-
border-style: solid;
|
306 |
-
border-width: 5px 5px 0 5px;
|
307 |
-
border-color: #808080 transparent transparent transparent;
|
308 |
-
}
|
309 |
-
.selectize-control.single .selectize-input.dropdown-active:after {
|
310 |
-
margin-top: -4px;
|
311 |
-
border-width: 0 5px 5px 5px;
|
312 |
-
border-color: transparent transparent #808080 transparent;
|
313 |
-
}
|
314 |
-
.selectize-control.rtl.single .selectize-input:after {
|
315 |
-
left: 15px;
|
316 |
-
right: auto;
|
317 |
-
}
|
318 |
-
.selectize-control.rtl .selectize-input > input {
|
319 |
-
margin: 0 4px 0 -2px !important;
|
320 |
-
}
|
321 |
-
.selectize-control .selectize-input.disabled {
|
322 |
-
opacity: 0.5;
|
323 |
-
background-color: #fafafa;
|
324 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/css/admin/themes/dark.css
DELETED
@@ -1,178 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
Responsive Menu CSS file.
|
3 |
-
Safe to Copy
|
4 |
-
**/
|
5 |
-
|
6 |
-
#responsive-menu-admin .draggable,
|
7 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-sub-menu-label,
|
8 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-sub-sub-menu-label {
|
9 |
-
background: white;
|
10 |
-
}
|
11 |
-
|
12 |
-
#wpfooter,
|
13 |
-
#wpfooter a,
|
14 |
-
#responsive-menu-admin .panel-body,
|
15 |
-
#responsive-menu-admin .panel-body small,
|
16 |
-
#responsive-menu-admin .panel table td.col-left label,
|
17 |
-
#responsive-menu-admin .nav-tabs > li.active > a,
|
18 |
-
#responsive-menu-admin .nav-tabs > li.active > a:focus,
|
19 |
-
#responsive-menu-admin .nav-tabs > li.active > a:hover,
|
20 |
-
#responsive-menu-admin .nav-tabs > li > a,
|
21 |
-
#responsive-menu-admin .nav-tabs > li > a:focus,
|
22 |
-
#responsive-menu-admin .nav-tabs > li > a:hover,
|
23 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget,
|
24 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-top-level-label,
|
25 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-sub-menu-label,
|
26 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-sub-sub-menu-label,
|
27 |
-
#responsive-menu-admin .panel table td.col-left .sub_sub_title,
|
28 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-links-container,
|
29 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-option-container {
|
30 |
-
color: white;
|
31 |
-
}
|
32 |
-
|
33 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-label-active,
|
34 |
-
#responsive-menu-admin .label-info {
|
35 |
-
background: #15A4FA;
|
36 |
-
}
|
37 |
-
|
38 |
-
#responsive-menu-admin a {
|
39 |
-
color: #15A4FA;
|
40 |
-
}
|
41 |
-
|
42 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget {
|
43 |
-
border-color: #CCCCCC;
|
44 |
-
}
|
45 |
-
|
46 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-label-active,
|
47 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-sub-menu-label.responsive-menu-desktop-menu-label-active,
|
48 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-sub-sub-menu-label.responsive-menu-desktop-menu-label-active {
|
49 |
-
color: white;
|
50 |
-
}
|
51 |
-
|
52 |
-
|
53 |
-
#responsive-menu-admin .valid-license {
|
54 |
-
color: #00FF87;
|
55 |
-
}
|
56 |
-
|
57 |
-
/*
|
58 |
-
--> Start page background styles
|
59 |
-
*/
|
60 |
-
#wpwrap {
|
61 |
-
background: #7D7F8C;
|
62 |
-
}
|
63 |
-
/*
|
64 |
-
<-- End page background styles
|
65 |
-
*/
|
66 |
-
|
67 |
-
/*
|
68 |
-
--> Start nav tabs styles
|
69 |
-
*/
|
70 |
-
#responsive-menu-admin .nav-tabs > li.active > a,
|
71 |
-
#responsive-menu-admin .nav-tabs > li.active > a:focus,
|
72 |
-
#responsive-menu-admin .nav-tabs > li.active > a:hover {
|
73 |
-
background: #15A4FA;
|
74 |
-
}
|
75 |
-
/*
|
76 |
-
<-- End nav tabs styles
|
77 |
-
*/
|
78 |
-
|
79 |
-
/*
|
80 |
-
--> Start Header panel styles
|
81 |
-
*/
|
82 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container,
|
83 |
-
#responsive-menu-admin .nav-tabs,
|
84 |
-
#responsive-menu-admin .panel-body {
|
85 |
-
background: #3E4960;
|
86 |
-
}
|
87 |
-
/*
|
88 |
-
<-- End Header panel styles
|
89 |
-
*/
|
90 |
-
|
91 |
-
/*
|
92 |
-
--> Left hand panel styles
|
93 |
-
*/
|
94 |
-
#responsive-menu-admin .panel table td.col-left,
|
95 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label,
|
96 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-links-container,
|
97 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-option-container,
|
98 |
-
#responsive-menu-admin .nav-tabs > li > a:focus,
|
99 |
-
#responsive-menu-admin .nav-tabs > li > a:hover {
|
100 |
-
background: #333C4E;
|
101 |
-
}
|
102 |
-
|
103 |
-
#responsive-menu-admin .bootstrap-select a,
|
104 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-sub-menu-label,
|
105 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-sub-sub-menu-label,
|
106 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-header {
|
107 |
-
color: #333C4E;
|
108 |
-
}
|
109 |
-
|
110 |
-
/* --> Sub Text */
|
111 |
-
#responsive-menu-admin .panel table td.col-left .sub-text,
|
112 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-option-container .sub-text {
|
113 |
-
color: #8795AC;
|
114 |
-
}
|
115 |
-
|
116 |
-
#responsive-menu-admin .panel table td.col-left {
|
117 |
-
border-bottom-color: #28303E;
|
118 |
-
border-right-color: #28303E;
|
119 |
-
}
|
120 |
-
|
121 |
-
/* --> Hover */
|
122 |
-
#responsive-menu-admin .panel tr:hover td.col-left {
|
123 |
-
background: #28303E;
|
124 |
-
}
|
125 |
-
/*
|
126 |
-
--> End Left hand panel styles
|
127 |
-
*/
|
128 |
-
|
129 |
-
/*
|
130 |
-
--> Right hand panel styles
|
131 |
-
*/
|
132 |
-
#responsive-menu-admin .panel table td.col-right,
|
133 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-body,
|
134 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container,
|
135 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-options-wrapper {
|
136 |
-
background: #E9F0FA;
|
137 |
-
}
|
138 |
-
|
139 |
-
#responsive-menu-admin .panel table td.col-right {
|
140 |
-
border-bottom-color: #D4E2F5;
|
141 |
-
}
|
142 |
-
|
143 |
-
/* --> Hover */
|
144 |
-
#responsive-menu-admin .panel tr:hover td.col-right {
|
145 |
-
background: #D4E2F5;
|
146 |
-
}
|
147 |
-
/*
|
148 |
-
--> End Right hand panel styles
|
149 |
-
*/
|
150 |
-
|
151 |
-
/*
|
152 |
-
--> Start button styles
|
153 |
-
*/
|
154 |
-
#responsive-menu-admin .btn.btn-rm.btn-primary {
|
155 |
-
background: #15A4FA;
|
156 |
-
}
|
157 |
-
|
158 |
-
#responsive-menu-admin .btn.btn-rm.btn-primary:hover {
|
159 |
-
background: #1293E1;
|
160 |
-
}
|
161 |
-
|
162 |
-
#responsive-menu-admin .btn.btn-rm.btn-default {
|
163 |
-
background: #FFFFFF;
|
164 |
-
}
|
165 |
-
|
166 |
-
#responsive-menu-admin .btn.btn-rm.btn-default:hover {
|
167 |
-
background: #E6E6E6;
|
168 |
-
}
|
169 |
-
/*
|
170 |
-
<-- End button styles
|
171 |
-
*/
|
172 |
-
|
173 |
-
/* --> Start specific theme styles */
|
174 |
-
#responsive-menu-admin #hide-pro-options-label {
|
175 |
-
background: #3E4960;
|
176 |
-
color: white;
|
177 |
-
}
|
178 |
-
/* <-- End specific theme styles */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/css/admin/themes/light.css
DELETED
@@ -1,188 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
Responsive Menu CSS file.
|
3 |
-
Safe to Copy
|
4 |
-
**/
|
5 |
-
|
6 |
-
#responsive-menu-admin .draggable,
|
7 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-sub-menu-label,
|
8 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-sub-sub-menu-label {
|
9 |
-
background: white;
|
10 |
-
}
|
11 |
-
|
12 |
-
#wpfooter,
|
13 |
-
#wpfooter a,
|
14 |
-
#responsive-menu-admin .panel-body,
|
15 |
-
#responsive-menu-admin .panel-body small,
|
16 |
-
#responsive-menu-admin .panel table td.col-left label,
|
17 |
-
#responsive-menu-admin .nav-tabs > li.active > a,
|
18 |
-
#responsive-menu-admin .nav-tabs > li.active > a:focus,
|
19 |
-
#responsive-menu-admin .nav-tabs > li.active > a:hover,
|
20 |
-
#responsive-menu-admin .nav-tabs > li > a,
|
21 |
-
#responsive-menu-admin .nav-tabs > li > a:focus,
|
22 |
-
#responsive-menu-admin .nav-tabs > li > a:hover,
|
23 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget,
|
24 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-top-level-label,
|
25 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-sub-menu-label,
|
26 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-sub-sub-menu-label,
|
27 |
-
#responsive-menu-admin .panel table td.col-left .sub_sub_title,
|
28 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-links-container,
|
29 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-option-container {
|
30 |
-
color: #333;
|
31 |
-
}
|
32 |
-
|
33 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-label-active,
|
34 |
-
#responsive-menu-admin .label-info {
|
35 |
-
background: #15A4FA;
|
36 |
-
}
|
37 |
-
|
38 |
-
#responsive-menu-admin a {
|
39 |
-
color: #15A4FA;
|
40 |
-
}
|
41 |
-
|
42 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget {
|
43 |
-
border-color: #CCCCCC;
|
44 |
-
}
|
45 |
-
|
46 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-label-active,
|
47 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-sub-menu-label.responsive-menu-desktop-menu-label-active,
|
48 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-sub-sub-menu-label.responsive-menu-desktop-menu-label-active {
|
49 |
-
color: white;
|
50 |
-
}
|
51 |
-
|
52 |
-
#responsive-menu-admin .valid-license {
|
53 |
-
color: green;
|
54 |
-
}
|
55 |
-
|
56 |
-
/*
|
57 |
-
--> Start page background styles
|
58 |
-
*/
|
59 |
-
#wpwrap {
|
60 |
-
background: #FFFFFF;
|
61 |
-
}
|
62 |
-
/*
|
63 |
-
<-- End page background styles
|
64 |
-
*/
|
65 |
-
|
66 |
-
/*
|
67 |
-
--> Start nav tabs styles
|
68 |
-
*/
|
69 |
-
#responsive-menu-admin .nav-tabs > li.active > a,
|
70 |
-
#responsive-menu-admin .nav-tabs > li.active > a:focus,
|
71 |
-
#responsive-menu-admin .nav-tabs > li.active > a:hover {
|
72 |
-
background: #F5F5F5;
|
73 |
-
}
|
74 |
-
/*
|
75 |
-
<-- End nav tabs styles
|
76 |
-
*/
|
77 |
-
|
78 |
-
/*
|
79 |
-
--> Start Header panel styles
|
80 |
-
*/
|
81 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container,
|
82 |
-
#responsive-menu-admin .nav-tabs,
|
83 |
-
#responsive-menu-admin .panel-body {
|
84 |
-
background: #FFFFFF;
|
85 |
-
}
|
86 |
-
/*
|
87 |
-
<-- End Header panel styles
|
88 |
-
*/
|
89 |
-
|
90 |
-
/*
|
91 |
-
--> Start left hand panel styles
|
92 |
-
*/
|
93 |
-
#responsive-menu-admin .panel table td.col-left,
|
94 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label,
|
95 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-links-container,
|
96 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-option-container,
|
97 |
-
#responsive-menu-admin .nav-tabs > li > a:focus,
|
98 |
-
#responsive-menu-admin .nav-tabs > li > a:hover {
|
99 |
-
background: #F5F5F5;
|
100 |
-
}
|
101 |
-
|
102 |
-
#responsive-menu-admin .bootstrap-select a,
|
103 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-sub-menu-label,
|
104 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-links-container .responsive-menu-desktop-menu-label.responsive-menu-desktop-menu-sub-sub-menu-label,
|
105 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-header {
|
106 |
-
color: #333;
|
107 |
-
}
|
108 |
-
|
109 |
-
/* --> Sub Text */
|
110 |
-
#responsive-menu-admin .panel table td.col-left .sub-text,
|
111 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-option-container .sub-text{
|
112 |
-
color: #666666;
|
113 |
-
}
|
114 |
-
|
115 |
-
#responsive-menu-admin .panel table td.col-left {
|
116 |
-
border-bottom-color: #DCDCDC;
|
117 |
-
border-right-color: #DCDCDC;
|
118 |
-
}
|
119 |
-
|
120 |
-
/* --> Hover */
|
121 |
-
#responsive-menu-admin .panel tr:hover td.col-left {
|
122 |
-
background: #DCDCDC;
|
123 |
-
}
|
124 |
-
/*
|
125 |
-
<-- End left hand panel styles
|
126 |
-
*/
|
127 |
-
|
128 |
-
/*
|
129 |
-
--> Start right hand panel styles
|
130 |
-
*/
|
131 |
-
#responsive-menu-admin .panel table td.col-right,
|
132 |
-
#responsive-menu-admin .responsive-menu-desktop-menu-widget-body,
|
133 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container,
|
134 |
-
#responsive-menu-admin #responsive-menu-desktop-menu-container .responsive-menu-desktop-menu-options-wrapper {
|
135 |
-
background: #FFFFFF;
|
136 |
-
}
|
137 |
-
|
138 |
-
#responsive-menu-admin .panel table td.col-right {
|
139 |
-
border-bottom-color: #F6F6F6;
|
140 |
-
}
|
141 |
-
|
142 |
-
/* --> Hover */
|
143 |
-
#responsive-menu-admin .panel tr:hover td.col-right {
|
144 |
-
background: #F6F6F6;
|
145 |
-
}
|
146 |
-
/*
|
147 |
-
<-- End right hand panel styles
|
148 |
-
*/
|
149 |
-
|
150 |
-
/*
|
151 |
-
--> Start button styles
|
152 |
-
*/
|
153 |
-
#responsive-menu-admin .btn.btn-rm.btn-primary {
|
154 |
-
background: #15A4FA;
|
155 |
-
}
|
156 |
-
|
157 |
-
#responsive-menu-admin .btn.btn-rm.btn-primary:hover {
|
158 |
-
background: #1293E1;
|
159 |
-
}
|
160 |
-
|
161 |
-
#responsive-menu-admin .btn.btn-rm.btn-default {
|
162 |
-
background: #F5F5F5;
|
163 |
-
}
|
164 |
-
|
165 |
-
#responsive-menu-admin .btn.btn-rm.btn-default:hover {
|
166 |
-
background: #E6E6E6;
|
167 |
-
}
|
168 |
-
/*
|
169 |
-
<-- End button styles
|
170 |
-
*/
|
171 |
-
|
172 |
-
/* --> Start specific theme styles */
|
173 |
-
#responsive-menu-admin .panel {
|
174 |
-
border: 1px solid #C4C4C4;
|
175 |
-
}
|
176 |
-
|
177 |
-
#responsive-menu-admin .panel .panel-body {
|
178 |
-
border-bottom: 1px solid #C4C4C4;
|
179 |
-
}
|
180 |
-
|
181 |
-
#responsive-menu-admin #hide-pro-options-label {
|
182 |
-
padding-right: 0;
|
183 |
-
}
|
184 |
-
|
185 |
-
#responsive-menu-admin #upgrade-bottom-banner a {
|
186 |
-
color: #333;
|
187 |
-
}
|
188 |
-
/* <-- End specific theme styles */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/css/animations/boring.css.twig
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
.responsive-menu-boring .responsive-menu-inner,
|
2 |
-
.responsive-menu-boring .responsive-menu-inner::before,
|
3 |
-
.responsive-menu-boring .responsive-menu-inner::after {
|
4 |
-
transition-property: none;
|
5 |
-
}
|
6 |
-
|
7 |
-
.responsive-menu-boring.is-active .responsive-menu-inner {
|
8 |
-
transform: rotate(45deg);
|
9 |
-
}
|
10 |
-
|
11 |
-
.responsive-menu-boring.is-active .responsive-menu-inner::before {
|
12 |
-
top: 0;
|
13 |
-
opacity: 0;
|
14 |
-
}
|
15 |
-
|
16 |
-
.responsive-menu-boring.is-active .responsive-menu-inner::after {
|
17 |
-
bottom: 0;
|
18 |
-
transform: rotate(-90deg);
|
19 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/css/animations/off.css.twig
DELETED
File without changes
|
public/css/app.css.twig
DELETED
@@ -1,710 +0,0 @@
|
|
1 |
-
button#responsive-menu-button,
|
2 |
-
#responsive-menu-container {
|
3 |
-
display: none;
|
4 |
-
-webkit-text-size-adjust: 100%;
|
5 |
-
}
|
6 |
-
|
7 |
-
@media screen and (max-width: {{ options.breakpoint }}px) {
|
8 |
-
|
9 |
-
#responsive-menu-container {
|
10 |
-
display: block;
|
11 |
-
position: fixed;
|
12 |
-
top: 0;
|
13 |
-
bottom: 0;
|
14 |
-
z-index: 99998;
|
15 |
-
padding-bottom: 5px;
|
16 |
-
margin-bottom: -5px;
|
17 |
-
outline: 1px solid transparent;
|
18 |
-
overflow-y: auto;
|
19 |
-
overflow-x: hidden;
|
20 |
-
}
|
21 |
-
|
22 |
-
#responsive-menu-container .responsive-menu-search-box {
|
23 |
-
width: 100%;
|
24 |
-
padding: 0 2%;
|
25 |
-
border-radius: 2px;
|
26 |
-
height: 50px;
|
27 |
-
-webkit-appearance: none;
|
28 |
-
}
|
29 |
-
|
30 |
-
#responsive-menu-container.push-left,
|
31 |
-
#responsive-menu-container.slide-left {
|
32 |
-
transform: translateX(-100%);
|
33 |
-
-ms-transform: translateX(-100%);
|
34 |
-
-webkit-transform: translateX(-100%);
|
35 |
-
-moz-transform: translateX(-100%);
|
36 |
-
}
|
37 |
-
|
38 |
-
.responsive-menu-open #responsive-menu-container.push-left,
|
39 |
-
.responsive-menu-open #responsive-menu-container.slide-left {
|
40 |
-
transform: translateX(0);
|
41 |
-
-ms-transform: translateX(0);
|
42 |
-
-webkit-transform: translateX(0);
|
43 |
-
-moz-transform: translateX(0);
|
44 |
-
}
|
45 |
-
|
46 |
-
#responsive-menu-container.push-top,
|
47 |
-
#responsive-menu-container.slide-top {
|
48 |
-
transform: translateY(-100%);
|
49 |
-
-ms-transform: translateY(-100%);
|
50 |
-
-webkit-transform: translateY(-100%);
|
51 |
-
-moz-transform: translateY(-100%);
|
52 |
-
}
|
53 |
-
|
54 |
-
.responsive-menu-open #responsive-menu-container.push-top,
|
55 |
-
.responsive-menu-open #responsive-menu-container.slide-top {
|
56 |
-
transform: translateY(0);
|
57 |
-
-ms-transform: translateY(0);
|
58 |
-
-webkit-transform: translateY(0);
|
59 |
-
-moz-transform: translateY(0);
|
60 |
-
}
|
61 |
-
|
62 |
-
#responsive-menu-container.push-right,
|
63 |
-
#responsive-menu-container.slide-right {
|
64 |
-
transform: translateX(100%);
|
65 |
-
-ms-transform: translateX(100%);
|
66 |
-
-webkit-transform: translateX(100%);
|
67 |
-
-moz-transform: translateX(100%);
|
68 |
-
}
|
69 |
-
|
70 |
-
.responsive-menu-open #responsive-menu-container.push-right,
|
71 |
-
.responsive-menu-open #responsive-menu-container.slide-right {
|
72 |
-
transform: translateX(0);
|
73 |
-
-ms-transform: translateX(0);
|
74 |
-
-webkit-transform: translateX(0);
|
75 |
-
-moz-transform: translateX(0);
|
76 |
-
}
|
77 |
-
|
78 |
-
#responsive-menu-container.push-bottom,
|
79 |
-
#responsive-menu-container.slide-bottom {
|
80 |
-
transform: translateY(100%);
|
81 |
-
-ms-transform: translateY(100%);
|
82 |
-
-webkit-transform: translateY(100%);
|
83 |
-
-moz-transform: translateY(100%);
|
84 |
-
}
|
85 |
-
|
86 |
-
.responsive-menu-open #responsive-menu-container.push-bottom,
|
87 |
-
.responsive-menu-open #responsive-menu-container.slide-bottom {
|
88 |
-
transform: translateY(0);
|
89 |
-
-ms-transform: translateY(0);
|
90 |
-
-webkit-transform: translateY(0);
|
91 |
-
-moz-transform: translateY(0);
|
92 |
-
}
|
93 |
-
|
94 |
-
#responsive-menu-container,
|
95 |
-
#responsive-menu-container:before,
|
96 |
-
#responsive-menu-container:after,
|
97 |
-
#responsive-menu-container *,
|
98 |
-
#responsive-menu-container *:before,
|
99 |
-
#responsive-menu-container *:after {
|
100 |
-
box-sizing: border-box;
|
101 |
-
margin: 0;
|
102 |
-
padding: 0;
|
103 |
-
}
|
104 |
-
|
105 |
-
#responsive-menu-container #responsive-menu-search-box,
|
106 |
-
#responsive-menu-container #responsive-menu-additional-content,
|
107 |
-
#responsive-menu-container #responsive-menu-title {
|
108 |
-
padding: 25px 5%;
|
109 |
-
}
|
110 |
-
|
111 |
-
#responsive-menu-container #responsive-menu,
|
112 |
-
#responsive-menu-container #responsive-menu ul {
|
113 |
-
width: 100%;
|
114 |
-
}
|
115 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu {
|
116 |
-
display: none;
|
117 |
-
}
|
118 |
-
|
119 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu.responsive-menu-submenu-open {
|
120 |
-
display: block;
|
121 |
-
}
|
122 |
-
|
123 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu-depth-1 a.responsive-menu-item-link {
|
124 |
-
padding-{{ options.menu_depth_side }}: {{ options.menu_depth_1 }}%;
|
125 |
-
}
|
126 |
-
|
127 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu-depth-2 a.responsive-menu-item-link {
|
128 |
-
padding-{{ options.menu_depth_side }}: {{ options.menu_depth_2 }}%;
|
129 |
-
}
|
130 |
-
|
131 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu-depth-3 a.responsive-menu-item-link {
|
132 |
-
padding-{{ options.menu_depth_side }}: {{ options.menu_depth_3 }}%;
|
133 |
-
}
|
134 |
-
|
135 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu-depth-4 a.responsive-menu-item-link {
|
136 |
-
padding-{{ options.menu_depth_side }}: {{ options.menu_depth_4 }}%;
|
137 |
-
}
|
138 |
-
|
139 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu-depth-5 a.responsive-menu-item-link {
|
140 |
-
padding-{{ options.menu_depth_side }}: {{ options.menu_depth_5 }}%;
|
141 |
-
}
|
142 |
-
|
143 |
-
#responsive-menu-container li.responsive-menu-item {
|
144 |
-
width: 100%;
|
145 |
-
list-style: none;
|
146 |
-
}
|
147 |
-
|
148 |
-
#responsive-menu-container li.responsive-menu-item a {
|
149 |
-
width: 100%;
|
150 |
-
display: block;
|
151 |
-
text-decoration: none;
|
152 |
-
|
153 |
-
position: relative;
|
154 |
-
}
|
155 |
-
|
156 |
-
|
157 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a {
|
158 |
-
{% if options.menu_text_alignment == 'left' and options.arrow_position == 'left' %}
|
159 |
-
padding-left: {{options.submenu_arrow_width + 5}}px;
|
160 |
-
{% elseif options.menu_text_alignment == 'right' and options.arrow_position == 'right' %}
|
161 |
-
padding-right: {{options.submenu_arrow_width + 5}}px;
|
162 |
-
{% else %}
|
163 |
-
padding: 0 {{ ' ' }} {{ options.menu_depth_0 }}%;
|
164 |
-
{% endif %}
|
165 |
-
}
|
166 |
-
|
167 |
-
#responsive-menu-container .responsive-menu-submenu li.responsive-menu-item a {
|
168 |
-
{% if options.submenu_text_alignment == 'left' and options.submenu_arrow_position == 'left' %}
|
169 |
-
padding-left: {{options.submenu_submenu_arrow_width + 5}}px !important;
|
170 |
-
padding-right:unset !important;
|
171 |
-
{% elseif options.submenu_text_alignment == 'right' and options.submenu_arrow_position == 'right' %}
|
172 |
-
padding-right: {{options.submenu_submenu_arrow_width + 5}}px !important;
|
173 |
-
padding-left:unset !important;
|
174 |
-
{% else %}
|
175 |
-
padding: 0 {{ ' ' }} {{ options.menu_depth_0 }}%;
|
176 |
-
{% endif %}
|
177 |
-
}
|
178 |
-
|
179 |
-
#responsive-menu-container li.responsive-menu-item a .fa {
|
180 |
-
margin-right: 15px;
|
181 |
-
}
|
182 |
-
|
183 |
-
#responsive-menu-container li.responsive-menu-item a .responsive-menu-subarrow {
|
184 |
-
position: absolute;
|
185 |
-
top: 0;
|
186 |
-
bottom: 0;
|
187 |
-
text-align: center;
|
188 |
-
overflow: hidden;
|
189 |
-
}
|
190 |
-
|
191 |
-
#responsive-menu-container li.responsive-menu-item a .responsive-menu-subarrow .fa {
|
192 |
-
margin-right: 0;
|
193 |
-
}
|
194 |
-
|
195 |
-
button#responsive-menu-button .responsive-menu-button-icon-inactive {
|
196 |
-
display: none;
|
197 |
-
}
|
198 |
-
|
199 |
-
button#responsive-menu-button {
|
200 |
-
z-index: 99999;
|
201 |
-
display: none;
|
202 |
-
overflow: hidden;
|
203 |
-
outline: none;
|
204 |
-
}
|
205 |
-
|
206 |
-
button#responsive-menu-button img {
|
207 |
-
max-width: 100%;
|
208 |
-
}
|
209 |
-
|
210 |
-
.responsive-menu-label {
|
211 |
-
display: inline-block;
|
212 |
-
font-weight: 600;
|
213 |
-
margin: 0 5px;
|
214 |
-
vertical-align: middle;
|
215 |
-
}
|
216 |
-
|
217 |
-
.responsive-menu-label .responsive-menu-button-text-open {
|
218 |
-
display: none;
|
219 |
-
}
|
220 |
-
|
221 |
-
.responsive-menu-accessible {
|
222 |
-
display: inline-block;
|
223 |
-
}
|
224 |
-
|
225 |
-
.responsive-menu-accessible .responsive-menu-box {
|
226 |
-
display: inline-block;
|
227 |
-
vertical-align: middle;
|
228 |
-
}
|
229 |
-
|
230 |
-
.responsive-menu-label.responsive-menu-label-top,
|
231 |
-
.responsive-menu-label.responsive-menu-label-bottom
|
232 |
-
{
|
233 |
-
display: block;
|
234 |
-
margin: 0 auto;
|
235 |
-
}
|
236 |
-
|
237 |
-
button#responsive-menu-button {
|
238 |
-
padding: 0 0;
|
239 |
-
display: inline-block;
|
240 |
-
cursor: pointer;
|
241 |
-
transition-property: opacity, filter;
|
242 |
-
transition-duration: 0.15s;
|
243 |
-
transition-timing-function: linear;
|
244 |
-
font: inherit;
|
245 |
-
color: inherit;
|
246 |
-
text-transform: none;
|
247 |
-
background-color: transparent;
|
248 |
-
border: 0;
|
249 |
-
margin: 0;
|
250 |
-
overflow: visible;
|
251 |
-
}
|
252 |
-
|
253 |
-
.responsive-menu-box {
|
254 |
-
width: {{ options.button_line_width }}px;
|
255 |
-
height: {{ options.button_line_height * 3 + options.button_line_margin * 2 }}px;
|
256 |
-
display: inline-block;
|
257 |
-
position: relative;
|
258 |
-
}
|
259 |
-
|
260 |
-
.responsive-menu-inner {
|
261 |
-
display: block;
|
262 |
-
top: 50%;
|
263 |
-
margin-top: {{ options.button_line_height / -2 }}px;
|
264 |
-
}
|
265 |
-
|
266 |
-
.responsive-menu-inner,
|
267 |
-
.responsive-menu-inner::before,
|
268 |
-
.responsive-menu-inner::after {
|
269 |
-
width: {{ options.button_line_width }}px;
|
270 |
-
height: {{ options.button_line_height }}px;
|
271 |
-
background-color: {{ options.button_line_colour }};
|
272 |
-
border-radius: 4px;
|
273 |
-
position: absolute;
|
274 |
-
transition-property: transform;
|
275 |
-
transition-duration: 0.15s;
|
276 |
-
transition-timing-function: ease;
|
277 |
-
}
|
278 |
-
|
279 |
-
.responsive-menu-open .responsive-menu-inner,
|
280 |
-
.responsive-menu-open .responsive-menu-inner::before,
|
281 |
-
.responsive-menu-open .responsive-menu-inner::after {
|
282 |
-
background-color: {{ options.button_line_colour_active }};
|
283 |
-
}
|
284 |
-
|
285 |
-
button#responsive-menu-button:hover .responsive-menu-inner,
|
286 |
-
button#responsive-menu-button:hover .responsive-menu-inner::before,
|
287 |
-
button#responsive-menu-button:hover .responsive-menu-inner::after,
|
288 |
-
button#responsive-menu-button:hover .responsive-menu-open .responsive-menu-inner,
|
289 |
-
button#responsive-menu-button:hover .responsive-menu-open .responsive-menu-inner::before,
|
290 |
-
button#responsive-menu-button:hover .responsive-menu-open .responsive-menu-inner::after,
|
291 |
-
button#responsive-menu-button:focus .responsive-menu-inner,
|
292 |
-
button#responsive-menu-button:focus .responsive-menu-inner::before,
|
293 |
-
button#responsive-menu-button:focus .responsive-menu-inner::after,
|
294 |
-
button#responsive-menu-button:focus .responsive-menu-open .responsive-menu-inner,
|
295 |
-
button#responsive-menu-button:focus .responsive-menu-open .responsive-menu-inner::before,
|
296 |
-
button#responsive-menu-button:focus .responsive-menu-open .responsive-menu-inner::after {
|
297 |
-
background-color: {{ options.button_line_colour_hover }};
|
298 |
-
}
|
299 |
-
|
300 |
-
.responsive-menu-inner::before,
|
301 |
-
.responsive-menu-inner::after {
|
302 |
-
content: "";
|
303 |
-
display: block;
|
304 |
-
}
|
305 |
-
|
306 |
-
.responsive-menu-inner::before {
|
307 |
-
top: {{ (options.button_line_margin + options.button_line_height) * -1 }}px;
|
308 |
-
}
|
309 |
-
|
310 |
-
.responsive-menu-inner::after {
|
311 |
-
bottom: {{ (options.button_line_margin + options.button_line_height) * -1 }}px;
|
312 |
-
}
|
313 |
-
|
314 |
-
{% if options.button_click_animation %}
|
315 |
-
{% include 'css/animations/' ~ options.button_click_animation ~ '.css.twig' %}
|
316 |
-
{% else %}
|
317 |
-
{% include 'css/animations/off.css.twig' %}
|
318 |
-
{% endif %}
|
319 |
-
|
320 |
-
button#responsive-menu-button {
|
321 |
-
width: {{ options.button_width }}px;
|
322 |
-
height: {{ options.button_height }}px;
|
323 |
-
position: {{ options.button_position_type }};
|
324 |
-
top: {{ options.button_top }}px;
|
325 |
-
{{ options.button_left_or_right }}: {{ options.button_distance_from_side }}%;
|
326 |
-
{% if options.button_transparent_background == 'off' %}
|
327 |
-
background: {{ options.button_background_colour }}
|
328 |
-
{% endif %}
|
329 |
-
}
|
330 |
-
|
331 |
-
{% if options.button_transparent_background == 'off' %}
|
332 |
-
.responsive-menu-open button#responsive-menu-button {
|
333 |
-
background: {{ options.button_background_colour_active }}
|
334 |
-
}
|
335 |
-
{% endif %}
|
336 |
-
|
337 |
-
{% if options.button_transparent_background == 'off' %}
|
338 |
-
.responsive-menu-open button#responsive-menu-button:hover,
|
339 |
-
.responsive-menu-open button#responsive-menu-button:focus,
|
340 |
-
button#responsive-menu-button:hover,
|
341 |
-
button#responsive-menu-button:focus {
|
342 |
-
background: {{ options.button_background_colour_hover }}
|
343 |
-
}
|
344 |
-
{% endif %}
|
345 |
-
|
346 |
-
button#responsive-menu-button .responsive-menu-box {
|
347 |
-
color: {{ options.button_line_colour }};
|
348 |
-
}
|
349 |
-
|
350 |
-
.responsive-menu-open button#responsive-menu-button .responsive-menu-box {
|
351 |
-
color: {{ options.button_line_colour_active }};
|
352 |
-
}
|
353 |
-
|
354 |
-
.responsive-menu-label {
|
355 |
-
color: {{ options.button_text_colour }};
|
356 |
-
font-size: {{ options.button_font_size }}px;
|
357 |
-
line-height: {{ options.button_title_line_height }}px;
|
358 |
-
{% if options.button_font %}
|
359 |
-
font-family: '{{ options.button_font }}';
|
360 |
-
{% endif %}
|
361 |
-
}
|
362 |
-
|
363 |
-
button#responsive-menu-button {
|
364 |
-
display: inline-block;
|
365 |
-
transition: transform {{ ' ' }} {{ options.animation_speed }}s, background-color {{ ' ' }} {{ options.transition_speed }}s;
|
366 |
-
}
|
367 |
-
|
368 |
-
{% if options.menu_close_on_body_click == 'on' %}
|
369 |
-
html.responsive-menu-open {
|
370 |
-
cursor: pointer;
|
371 |
-
}
|
372 |
-
|
373 |
-
#responsive-menu-container {
|
374 |
-
cursor: initial;
|
375 |
-
}
|
376 |
-
{% endif %}
|
377 |
-
|
378 |
-
{% if options.page_wrapper %}
|
379 |
-
{{ options.page_wrapper }} {
|
380 |
-
transition: transform {{ ' ' }} {{ options.animation_speed }}s;
|
381 |
-
}
|
382 |
-
|
383 |
-
html.responsive-menu-open,
|
384 |
-
.responsive-menu-open body {
|
385 |
-
width: 100%;
|
386 |
-
}
|
387 |
-
{% endif %}
|
388 |
-
|
389 |
-
#responsive-menu-container {
|
390 |
-
width: {{ options.menu_width }}%;
|
391 |
-
{{ options.menu_appear_from }}: 0;
|
392 |
-
transition: transform {{ ' ' }} {{ options.animation_speed }}s;
|
393 |
-
text-align: {{ options.menu_text_alignment }};
|
394 |
-
{% if options.menu_maximum_width %}
|
395 |
-
max-width: {{ options.menu_maximum_width }}px;
|
396 |
-
{% endif %}
|
397 |
-
{% if options.menu_minimum_width %}
|
398 |
-
min-width: {{ options.menu_minimum_width }}px;
|
399 |
-
{% endif %}
|
400 |
-
{% if options.menu_font %}
|
401 |
-
font-family: '{{ options.menu_font }}';
|
402 |
-
{% endif %}
|
403 |
-
{% if options.menu_background_image %}
|
404 |
-
background-image: url('{{ options.menu_background_image }}');
|
405 |
-
background-size: cover;
|
406 |
-
{% else %}
|
407 |
-
background: {{ options.menu_container_background_colour }};
|
408 |
-
{% endif %}
|
409 |
-
}
|
410 |
-
|
411 |
-
#responsive-menu-container #responsive-menu-wrapper {
|
412 |
-
background: {{ options.menu_background_colour }};
|
413 |
-
}
|
414 |
-
|
415 |
-
#responsive-menu-container #responsive-menu-additional-content {
|
416 |
-
color: {{ options.menu_additional_content_colour }};
|
417 |
-
}
|
418 |
-
|
419 |
-
#responsive-menu-container .responsive-menu-search-box {
|
420 |
-
background: {{ options.menu_search_box_background_colour }};
|
421 |
-
border: 2px solid {{ ' ' }} {{ options.menu_search_box_border_colour }};
|
422 |
-
color: {{ options.menu_search_box_text_colour }};
|
423 |
-
}
|
424 |
-
|
425 |
-
#responsive-menu-container .responsive-menu-search-box:-ms-input-placeholder {
|
426 |
-
color: {{ options.menu_search_box_placeholder_colour }};
|
427 |
-
}
|
428 |
-
|
429 |
-
#responsive-menu-container .responsive-menu-search-box::-webkit-input-placeholder {
|
430 |
-
color: {{ options.menu_search_box_placeholder_colour }};
|
431 |
-
}
|
432 |
-
|
433 |
-
#responsive-menu-container .responsive-menu-search-box:-moz-placeholder {
|
434 |
-
color: {{ options.menu_search_box_placeholder_colour }};
|
435 |
-
opacity: 1;
|
436 |
-
}
|
437 |
-
|
438 |
-
#responsive-menu-container .responsive-menu-search-box::-moz-placeholder {
|
439 |
-
color: {{ options.menu_search_box_placeholder_colour }};
|
440 |
-
opacity: 1;
|
441 |
-
}
|
442 |
-
|
443 |
-
#responsive-menu-container .responsive-menu-item-link,
|
444 |
-
#responsive-menu-container #responsive-menu-title,
|
445 |
-
#responsive-menu-container .responsive-menu-subarrow {
|
446 |
-
transition: background-color {{ ' ' }} {{ options.transition_speed }}s, border-color {{ ' ' }} {{ options.transition_speed }}s, color {{ ' ' }} {{ options.transition_speed }}s;
|
447 |
-
}
|
448 |
-
|
449 |
-
#responsive-menu-container #responsive-menu-title {
|
450 |
-
background-color: {{ options.menu_title_background_colour }};
|
451 |
-
color: {{ options.menu_title_colour }};
|
452 |
-
font-size: {{ options.menu_title_font_size }}px;
|
453 |
-
text-align: {{ options.menu_title_alignment }};
|
454 |
-
}
|
455 |
-
|
456 |
-
#responsive-menu-container #responsive-menu-title a {
|
457 |
-
color: {{ options.menu_title_colour }};
|
458 |
-
font-size: {{ options.menu_title_font_size }}px;
|
459 |
-
text-decoration: none;
|
460 |
-
}
|
461 |
-
|
462 |
-
#responsive-menu-container #responsive-menu-title a:hover {
|
463 |
-
color: {{ options.menu_title_hover_colour }};
|
464 |
-
}
|
465 |
-
|
466 |
-
#responsive-menu-container #responsive-menu-title:hover {
|
467 |
-
background-color: {{ options.menu_title_background_hover_colour }};
|
468 |
-
color: {{ options.menu_title_hover_colour }};
|
469 |
-
}
|
470 |
-
|
471 |
-
#responsive-menu-container #responsive-menu-title:hover a {
|
472 |
-
color: {{ options.menu_title_hover_colour }};
|
473 |
-
}
|
474 |
-
|
475 |
-
#responsive-menu-container #responsive-menu-title #responsive-menu-title-image {
|
476 |
-
display: inline-block;
|
477 |
-
vertical-align: middle;
|
478 |
-
max-width: 100%;
|
479 |
-
margin-bottom: 15px;
|
480 |
-
}
|
481 |
-
|
482 |
-
#responsive-menu-container #responsive-menu-title #responsive-menu-title-image img {
|
483 |
-
{% if options.menu_title_image_height %}
|
484 |
-
height: {{ options.menu_title_image_height }}{{ options.menu_title_image_height_unit }};
|
485 |
-
{% endif %}
|
486 |
-
{% if options.menu_title_image_width %}
|
487 |
-
width: {{ options.menu_title_image_width }}{{ options.menu_title_image_width_unit }};
|
488 |
-
{% endif %}
|
489 |
-
max-width: 100%;
|
490 |
-
}
|
491 |
-
|
492 |
-
#responsive-menu-container #responsive-menu > li.responsive-menu-item:first-child > a {
|
493 |
-
border-top: {{ options.menu_border_width }}px solid {{ ' ' }} {{ options.menu_item_border_colour }};
|
494 |
-
}
|
495 |
-
|
496 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item .responsive-menu-item-link {
|
497 |
-
font-size: {{ options.menu_font_size }}px;
|
498 |
-
}
|
499 |
-
|
500 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a {
|
501 |
-
line-height: {{ options.menu_links_line_height }}px;
|
502 |
-
border-bottom: {{ options.menu_border_width }}px solid {{ ' ' }} {{ options.menu_item_border_colour }};
|
503 |
-
color: {{ options.menu_link_colour }};
|
504 |
-
background-color: {{ options.menu_item_background_colour }};
|
505 |
-
{% if options.menu_word_wrap != 'off' %}
|
506 |
-
word-wrap: break-word;
|
507 |
-
height: auto;
|
508 |
-
padding-right: {{ options.submenu_arrow_width }}px;
|
509 |
-
{% else %}
|
510 |
-
height: {{ options.menu_links_height }}px;
|
511 |
-
{% endif %}
|
512 |
-
}
|
513 |
-
|
514 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a:hover {
|
515 |
-
color: {{ options.menu_link_hover_colour }};
|
516 |
-
background-color: {{ options.menu_item_background_hover_colour }};
|
517 |
-
border-color: {{ options.menu_item_border_colour_hover }};
|
518 |
-
}
|
519 |
-
|
520 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a:hover .responsive-menu-subarrow {
|
521 |
-
color: {{ options.menu_sub_arrow_shape_hover_colour }};
|
522 |
-
border-color: {{ options.menu_sub_arrow_border_hover_colour }};
|
523 |
-
background-color: {{ options.menu_sub_arrow_background_hover_colour }};
|
524 |
-
}
|
525 |
-
|
526 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a:hover .responsive-menu-subarrow.responsive-menu-subarrow-active {
|
527 |
-
color: {{ options.menu_sub_arrow_shape_hover_colour_active }};
|
528 |
-
border-color: {{ options.menu_sub_arrow_border_hover_colour_active }};
|
529 |
-
background-color: {{ options.menu_sub_arrow_background_hover_colour_active }};
|
530 |
-
}
|
531 |
-
|
532 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a .responsive-menu-subarrow {
|
533 |
-
{{ options.arrow_position }}: 0;
|
534 |
-
height: {{ options.submenu_arrow_height }}px;
|
535 |
-
line-height: {{ options.submenu_arrow_height }}px;
|
536 |
-
width: {{ options.submenu_arrow_width }}px;
|
537 |
-
color: {{ options.menu_sub_arrow_shape_colour }};
|
538 |
-
{% if options.arrow_position == 'left' %}
|
539 |
-
border-right: {{ options.menu_border_width ~ 'px solid ' ~ options.menu_sub_arrow_border_colour }};
|
540 |
-
{% endif %}
|
541 |
-
{% if options.arrow_position == 'right' %}
|
542 |
-
border-left: {{ options.menu_border_width ~ 'px solid ' ~ options.menu_sub_arrow_border_colour }};
|
543 |
-
{% endif %}
|
544 |
-
|
545 |
-
background-color: {{ options.menu_sub_arrow_background_colour }};
|
546 |
-
}
|
547 |
-
|
548 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a .responsive-menu-subarrow.responsive-menu-subarrow-active {
|
549 |
-
color: {{ options.menu_sub_arrow_shape_colour_active }};
|
550 |
-
border-color: {{ options.menu_sub_arrow_border_colour_active }};
|
551 |
-
background-color: {{ options.menu_sub_arrow_background_colour_active }};
|
552 |
-
}
|
553 |
-
|
554 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a .responsive-menu-subarrow.responsive-menu-subarrow-active:hover {
|
555 |
-
color: {{ options.menu_sub_arrow_shape_hover_colour_active }};
|
556 |
-
border-color: {{ options.menu_sub_arrow_border_hover_colour_active }};
|
557 |
-
background-color: {{ options.menu_sub_arrow_background_hover_colour_active }};
|
558 |
-
}
|
559 |
-
|
560 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a .responsive-menu-subarrow:hover {
|
561 |
-
color: {{ options.menu_sub_arrow_shape_hover_colour }};
|
562 |
-
border-color: {{ options.menu_sub_arrow_border_hover_colour }};
|
563 |
-
background-color: {{ options.menu_sub_arrow_background_hover_colour }};
|
564 |
-
}
|
565 |
-
|
566 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-current-item > .responsive-menu-item-link {
|
567 |
-
background-color: {{ options.menu_current_item_background_colour }};
|
568 |
-
color: {{ options.menu_current_link_colour }};
|
569 |
-
border-color: {{ options.menu_current_item_border_colour }};
|
570 |
-
}
|
571 |
-
|
572 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-current-item > .responsive-menu-item-link:hover {
|
573 |
-
background-color: {{ options.menu_current_item_background_hover_colour }};
|
574 |
-
color: {{ options.menu_current_link_hover_colour }};
|
575 |
-
border-color: {{ options.menu_current_item_border_hover_colour }};
|
576 |
-
}
|
577 |
-
|
578 |
-
{# ---> Sub Menu Styles #}
|
579 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item .responsive-menu-item-link {
|
580 |
-
{% if options.submenu_font %}
|
581 |
-
font-family: {{ "'" ~ options.submenu_font ~ "'" }};
|
582 |
-
{% endif %}
|
583 |
-
font-size: {{ options.submenu_font_size }}px;
|
584 |
-
text-align: {{ options.submenu_text_alignment }};
|
585 |
-
}
|
586 |
-
|
587 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a {
|
588 |
-
{% if options.menu_word_wrap != 'off' %}
|
589 |
-
word-wrap: break-word;
|
590 |
-
height: auto;
|
591 |
-
padding-right: {{ options.submenu_arrow_width }}px;
|
592 |
-
{% else %}
|
593 |
-
height: {{ options.menu_links_height }}px;
|
594 |
-
{% endif %}
|
595 |
-
line-height: {{ options.submenu_links_line_height }}px;
|
596 |
-
border-bottom: {{ options.submenu_border_width }}px solid {{ ' ' }} {{ options.submenu_item_border_colour }};
|
597 |
-
color: {{ options.submenu_link_colour }};
|
598 |
-
background-color: {{ options.submenu_item_background_colour }};
|
599 |
-
}
|
600 |
-
|
601 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a:hover {
|
602 |
-
color: {{ options.submenu_link_hover_colour }};
|
603 |
-
background-color: {{ options.submenu_item_background_hover_colour }};
|
604 |
-
border-color: {{ options.submenu_item_border_colour_hover }};
|
605 |
-
}
|
606 |
-
|
607 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a:hover .responsive-menu-subarrow {
|
608 |
-
color: {{ options.submenu_sub_arrow_shape_hover_colour }};
|
609 |
-
border-color: {{ options.submenu_sub_arrow_border_hover_colour }};
|
610 |
-
background-color: {{ options.submenu_sub_arrow_background_hover_colour }};
|
611 |
-
}
|
612 |
-
|
613 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a:hover .responsive-menu-subarrow.responsive-menu-subarrow-active {
|
614 |
-
color: {{ options.submenu_sub_arrow_shape_hover_colour_active }};
|
615 |
-
border-color: {{ options.submenu_sub_arrow_border_hover_colour_active }};
|
616 |
-
background-color: {{ options.submenu_sub_arrow_background_hover_colour_active }};
|
617 |
-
}
|
618 |
-
|
619 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a .responsive-menu-subarrow {
|
620 |
-
{% if options.submenu_arrow_position == 'left' %}
|
621 |
-
left:0;
|
622 |
-
right:unset;
|
623 |
-
{% endif %}
|
624 |
-
{% if options.submenu_arrow_position == 'right' %}
|
625 |
-
left:unset;
|
626 |
-
right:0;
|
627 |
-
{% endif %}
|
628 |
-
height: {{ options.submenu_submenu_arrow_height }}px;
|
629 |
-
line-height: {{ options.submenu_submenu_arrow_height }}px;
|
630 |
-
width: {{ options.submenu_submenu_arrow_width }}px;
|
631 |
-
color: {{ options.submenu_sub_arrow_shape_colour }};
|
632 |
-
{% if options.submenu_arrow_position == 'left' %}
|
633 |
-
border-right: {{ options.submenu_border_width }}px solid {{ ' ' }} {{ options.submenu_sub_arrow_border_colour }} !important;
|
634 |
-
border-left:unset !important;
|
635 |
-
{% endif %}
|
636 |
-
{% if options.submenu_arrow_position == 'right' %}
|
637 |
-
border-left: {{ options.submenu_border_width }}px solid {{ ' ' }} {{ options.submenu_sub_arrow_border_colour }} !important;
|
638 |
-
border-right:unset !important;
|
639 |
-
{% endif %}
|
640 |
-
background-color: {{ options.submenu_sub_arrow_background_colour }};
|
641 |
-
}
|
642 |
-
|
643 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a .responsive-menu-subarrow.responsive-menu-subarrow-active {
|
644 |
-
color: {{ options.submenu_sub_arrow_shape_colour_active }};
|
645 |
-
border-color: {{ options.submenu_sub_arrow_border_colour_active }};
|
646 |
-
background-color: {{ options.submenu_sub_arrow_background_colour_active }};
|
647 |
-
}
|
648 |
-
|
649 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a .responsive-menu-subarrow.responsive-menu-subarrow-active:hover {
|
650 |
-
color: {{ options.submenu_sub_arrow_shape_hover_colour_active }};
|
651 |
-
border-color: {{ options.submenu_sub_arrow_border_hover_colour_active }};
|
652 |
-
background-color: {{ options.submenu_sub_arrow_background_hover_colour_active }};
|
653 |
-
}
|
654 |
-
|
655 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a .responsive-menu-subarrow:hover {
|
656 |
-
color: {{ options.submenu_sub_arrow_shape_hover_colour }};
|
657 |
-
border-color: {{ options.submenu_sub_arrow_border_hover_colour }};
|
658 |
-
background-color: {{ options.submenu_sub_arrow_background_hover_colour }};
|
659 |
-
}
|
660 |
-
|
661 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-current-item > .responsive-menu-item-link {
|
662 |
-
background-color: {{ options.submenu_current_item_background_colour }};
|
663 |
-
color: {{ options.submenu_current_link_colour }};
|
664 |
-
border-color: {{ options.submenu_current_item_border_colour }};
|
665 |
-
}
|
666 |
-
|
667 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-current-item > .responsive-menu-item-link:hover {
|
668 |
-
background-color: {{ options.submenu_current_item_background_hover_colour }};
|
669 |
-
color: {{ options.submenu_current_link_hover_colour }};
|
670 |
-
border-color: {{ options.submenu_current_item_border_hover_colour }};
|
671 |
-
}
|
672 |
-
{# <-- End Sub-Menu Styles #}
|
673 |
-
|
674 |
-
{% if options.menu_background_image %}
|
675 |
-
#responsive-menu-container #responsive-menu-title,
|
676 |
-
#responsive-menu-container #responsive-menu-title:hover,
|
677 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a,
|
678 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a:hover,
|
679 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a .responsive-menu-subarrow,
|
680 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a .responsive-menu-subarrow:hover,
|
681 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a:hover .responsive-menu-subarrow,
|
682 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a:hover .responsive-menu-subarrow.responsive-menu-subarrow-active,
|
683 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a .responsive-menu-subarrow.responsive-menu-subarrow-active,
|
684 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item a .responsive-menu-subarrow.responsive-menu-subarrow-active:hover,
|
685 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item.responsive-menu-current-item > .responsive-menu-item-link,
|
686 |
-
#responsive-menu-container #responsive-menu li.responsive-menu-item.responsive-menu-current-item > .responsive-menu-item-link:hover,
|
687 |
-
#responsive-menu-container #responsive-menu > li.responsive-menu-item:first-child > a,
|
688 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a,
|
689 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a:hover,
|
690 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a .responsive-menu-subarrow,
|
691 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a .responsive-menu-subarrow:hover,
|
692 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a:hover .responsive-menu-subarrow,
|
693 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a:hover .responsive-menu-subarrow.responsive-menu-subarrow-active,
|
694 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a .responsive-menu-subarrow.responsive-menu-subarrow-active,
|
695 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item a .responsive-menu-subarrow.responsive-menu-subarrow-active:hover,
|
696 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item.responsive-menu-current-item > .responsive-menu-item-link,
|
697 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu li.responsive-menu-item.responsive-menu-current-item > .responsive-menu-item-link:hover,
|
698 |
-
#responsive-menu-container #responsive-menu ul.responsive-menu-submenu > li.responsive-menu-item:first-child > a,
|
699 |
-
#responsive-menu-container #responsive-menu-wrapper {
|
700 |
-
background: none;
|
701 |
-
border: 0;
|
702 |
-
}
|
703 |
-
{% endif %}
|
704 |
-
|
705 |
-
{% if options.menu_to_hide %}
|
706 |
-
{{ options.menu_to_hide }} {
|
707 |
-
display: none !important;
|
708 |
-
}
|
709 |
-
{% endif %}
|
710 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/fonts/admin/glyphicons-halflings-regular.eot
DELETED
Binary file
|
public/fonts/admin/glyphicons-halflings-regular.svg
DELETED
@@ -1,288 +0,0 @@
|
|
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></metadata>
|
5 |
-
<defs>
|
6 |
-
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
|
7 |
-
<font-face units-per-em="1200" ascent="960" descent="-240" />
|
8 |
-
<missing-glyph horiz-adv-x="500" />
|
9 |
-
<glyph horiz-adv-x="0" />
|
10 |
-
<glyph horiz-adv-x="400" />
|
11 |
-
<glyph unicode=" " />
|
12 |
-
<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
|
13 |
-
<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
|
14 |
-
<glyph unicode=" " />
|
15 |
-
<glyph unicode="¥" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
|
16 |
-
<glyph unicode=" " horiz-adv-x="650" />
|
17 |
-
<glyph unicode=" " horiz-adv-x="1300" />
|
18 |
-
<glyph unicode=" " horiz-adv-x="650" />
|
19 |
-
<glyph unicode=" " horiz-adv-x="1300" />
|
20 |
-
<glyph unicode=" " horiz-adv-x="433" />
|
21 |
-
<glyph unicode=" " horiz-adv-x="325" />
|
22 |
-
<glyph unicode=" " horiz-adv-x="216" />
|
23 |
-
<glyph unicode=" " horiz-adv-x="216" />
|
24 |
-
<glyph unicode=" " horiz-adv-x="162" />
|
25 |
-
<glyph unicode=" " horiz-adv-x="260" />
|
26 |
-
<glyph unicode=" " horiz-adv-x="72" />
|
27 |
-
<glyph unicode=" " horiz-adv-x="260" />
|
28 |
-
<glyph unicode=" " horiz-adv-x="325" />
|
29 |
-
<glyph unicode="€" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
|
30 |
-
<glyph unicode="₽" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
|
31 |
-
<glyph unicode="−" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
|
32 |
-
<glyph unicode="⌛" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
|
33 |
-
<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" />
|
34 |
-
<glyph unicode="☁" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
|
35 |
-
<glyph unicode="⛺" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
|
36 |
-
<glyph unicode="✉" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
|
37 |
-
<glyph unicode="✏" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
|
38 |
-
<glyph unicode="" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
|
39 |
-
<glyph unicode="" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
|
40 |
-
<glyph unicode="" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
|
41 |
-
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
|
42 |
-
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
|
43 |
-
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
|
44 |
-
<glyph unicode="" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
|
45 |
-
<glyph unicode="" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
|
46 |
-
<glyph unicode="" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
47 |
-
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
|
48 |
-
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
|
49 |
-
<glyph unicode="" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
|
50 |
-
<glyph unicode="" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
|
51 |
-
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
|
52 |
-
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
53 |
-
<glyph unicode="" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
|
54 |
-
<glyph unicode="" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
|
55 |
-
<glyph unicode="" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
|
56 |
-
<glyph unicode="" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
|
57 |
-
<glyph unicode="" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
|
58 |
-
<glyph unicode="" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
|
59 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
|
60 |
-
<glyph unicode="" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
|
61 |
-
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
|
62 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
|
63 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
|
64 |
-
<glyph unicode="" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
|
65 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
|
66 |
-
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
|
67 |
-
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
|
68 |
-
<glyph unicode="" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
|
69 |
-
<glyph unicode="" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
|
70 |
-
<glyph unicode="" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
|
71 |
-
<glyph unicode="" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
|
72 |
-
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
|
73 |
-
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
|
74 |
-
<glyph unicode="" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
|
75 |
-
<glyph unicode="" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
|
76 |
-
<glyph unicode="" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
|
77 |
-
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
|
78 |
-
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
|
79 |
-
<glyph unicode="" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
|
80 |
-
<glyph unicode="" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
|
81 |
-
<glyph unicode="" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
|
82 |
-
<glyph unicode="" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
|
83 |
-
<glyph unicode="" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
|
84 |
-
<glyph unicode="" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
|
85 |
-
<glyph unicode="" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
|
86 |
-
<glyph unicode="" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
|
87 |
-
<glyph unicode="" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
|
88 |
-
<glyph unicode="" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
89 |
-
<glyph unicode="" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
90 |
-
<glyph unicode="" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
91 |
-
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
92 |
-
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
93 |
-
<glyph unicode="" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
94 |
-
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
95 |
-
<glyph unicode="" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
|
96 |
-
<glyph unicode="" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
|
97 |
-
<glyph unicode="" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
|
98 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
|
99 |
-
<glyph unicode="" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
|
100 |
-
<glyph unicode="" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
|
101 |
-
<glyph unicode="" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
|
102 |
-
<glyph unicode="" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
|
103 |
-
<glyph unicode="" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
|
104 |
-
<glyph unicode="" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
|
105 |
-
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
|
106 |
-
<glyph unicode="" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
|
107 |
-
<glyph unicode="" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
|
108 |
-
<glyph unicode="" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
|
109 |
-
<glyph unicode="" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
|
110 |
-
<glyph unicode="" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
|
111 |
-
<glyph unicode="" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
|
112 |
-
<glyph unicode="" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
|
113 |
-
<glyph unicode="" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
114 |
-
<glyph unicode="" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
|
115 |
-
<glyph unicode="" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
|
116 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
|
117 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
|
118 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
|
119 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
|
120 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
|
121 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
|
122 |
-
<glyph unicode="" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
|
123 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
|
124 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
|
125 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
|
126 |
-
<glyph unicode="" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
|
127 |
-
<glyph unicode="" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
|
128 |
-
<glyph unicode="" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
|
129 |
-
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
|
130 |
-
<glyph unicode="" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
|
131 |
-
<glyph unicode="" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
|
132 |
-
<glyph unicode="" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
|
133 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
|
134 |
-
<glyph unicode="" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
|
135 |
-
<glyph unicode="" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
|
136 |
-
<glyph unicode="" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
|
137 |
-
<glyph unicode="" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
|
138 |
-
<glyph unicode="" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
|
139 |
-
<glyph unicode="" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
|
140 |
-
<glyph unicode="" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
|
141 |
-
<glyph unicode="" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
|
142 |
-
<glyph unicode="" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
|
143 |
-
<glyph unicode="" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
|
144 |
-
<glyph unicode="" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
|
145 |
-
<glyph unicode="" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
|
146 |
-
<glyph unicode="" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
|
147 |
-
<glyph unicode="" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
148 |
-
<glyph unicode="" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
|
149 |
-
<glyph unicode="" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
|
150 |
-
<glyph unicode="" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
|
151 |
-
<glyph unicode="" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
152 |
-
<glyph unicode="" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
|
153 |
-
<glyph unicode="" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
|
154 |
-
<glyph unicode="" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
|
155 |
-
<glyph unicode="" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
|
156 |
-
<glyph unicode="" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
|
157 |
-
<glyph unicode="" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
|
158 |
-
<glyph unicode="" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
|
159 |
-
<glyph unicode="" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
|
160 |
-
<glyph unicode="" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
|
161 |
-
<glyph unicode="" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
162 |
-
<glyph unicode="" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
|
163 |
-
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
|
164 |
-
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
|
165 |
-
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
|
166 |
-
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
|
167 |
-
<glyph unicode="" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
|
168 |
-
<glyph unicode="" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
|
169 |
-
<glyph unicode="" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
|
170 |
-
<glyph unicode="" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
|
171 |
-
<glyph unicode="" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
|
172 |
-
<glyph unicode="" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
|
173 |
-
<glyph unicode="" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
|
174 |
-
<glyph unicode="" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
|
175 |
-
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
|
176 |
-
<glyph unicode="" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
|
177 |
-
<glyph unicode="" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
|
178 |
-
<glyph unicode="" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
|
179 |
-
<glyph unicode="" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
|
180 |
-
<glyph unicode="" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
|
181 |
-
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
182 |
-
<glyph unicode="" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
|
183 |
-
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
|
184 |
-
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
|
185 |
-
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
|
186 |
-
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
|
187 |
-
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
|
188 |
-
<glyph unicode="" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
|
189 |
-
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
|
190 |
-
<glyph unicode="" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
|
191 |
-
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
|
192 |
-
<glyph unicode="" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
|
193 |
-
<glyph unicode="" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
|
194 |
-
<glyph unicode="" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
|
195 |
-
<glyph unicode="" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
|
196 |
-
<glyph unicode="" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
|
197 |
-
<glyph unicode="" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
|
198 |
-
<glyph unicode="" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
|
199 |
-
<glyph unicode="" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
|
200 |
-
<glyph unicode="" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
|
201 |
-
<glyph unicode="" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
|
202 |
-
<glyph unicode="" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
|
203 |
-
<glyph unicode="" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
|
204 |
-
<glyph unicode="" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
|
205 |
-
<glyph unicode="" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
|
206 |
-
<glyph unicode="" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
|
207 |
-
<glyph unicode="" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
|
208 |
-
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
|
209 |
-
<glyph unicode="" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
|
210 |
-
<glyph unicode="" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
|
211 |
-
<glyph unicode="" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
|
212 |
-
<glyph unicode="" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
|
213 |
-
<glyph unicode="" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
|
214 |
-
<glyph unicode="" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
|
215 |
-
<glyph unicode="" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
216 |
-
<glyph unicode="" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
|
217 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
|
218 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
|
219 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
|
220 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
|
221 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
|
222 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
|
223 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
|
224 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
|
225 |
-
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
|
226 |
-
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
|
227 |
-
<glyph unicode="" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
|
228 |
-
<glyph unicode="" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
|
229 |
-
<glyph unicode="" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
|
230 |
-
<glyph unicode="" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
|
231 |
-
<glyph unicode="" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
|
232 |
-
<glyph unicode="" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
|
233 |
-
<glyph unicode="" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
|
234 |
-
<glyph unicode="" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
|
235 |
-
<glyph unicode="" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
|
236 |
-
<glyph unicode="" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
|
237 |
-
<glyph unicode="" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
|
238 |
-
<glyph unicode="" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
239 |
-
<glyph unicode="" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
240 |
-
<glyph unicode="" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
241 |
-
<glyph unicode="" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
242 |
-
<glyph unicode="" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
243 |
-
<glyph unicode="" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
244 |
-
<glyph unicode="" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
|
245 |
-
<glyph unicode="" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
|
246 |
-
<glyph unicode="" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
|
247 |
-
<glyph unicode="" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
|
248 |
-
<glyph unicode="" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
|
249 |
-
<glyph unicode="" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
|
250 |
-
<glyph unicode="" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
|
251 |
-
<glyph unicode="" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
|
252 |
-
<glyph unicode="" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
|
253 |
-
<glyph unicode="" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
|
254 |
-
<glyph unicode="" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
|
255 |
-
<glyph unicode="" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
|
256 |
-
<glyph unicode="" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
|
257 |
-
<glyph unicode="" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
|
258 |
-
<glyph unicode="" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
|
259 |
-
<glyph unicode="" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
260 |
-
<glyph unicode="" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
|
261 |
-
<glyph unicode="" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
|
262 |
-
<glyph unicode="" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
|
263 |
-
<glyph unicode="" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
|
264 |
-
<glyph unicode="" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
|
265 |
-
<glyph unicode="" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
|
266 |
-
<glyph unicode="" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
|
267 |
-
<glyph unicode="" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
|
268 |
-
<glyph unicode="" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
|
269 |
-
<glyph unicode="" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
|
270 |
-
<glyph unicode="" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
271 |
-
<glyph unicode="" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
|
272 |
-
<glyph unicode="" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
273 |
-
<glyph unicode="" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
|
274 |
-
<glyph unicode="" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
|
275 |
-
<glyph unicode="" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
|
276 |
-
<glyph unicode="" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
|
277 |
-
<glyph unicode="" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
|
278 |
-
<glyph unicode="" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
|
279 |
-
<glyph unicode="" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
|
280 |
-
<glyph unicode="" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
|
281 |
-
<glyph unicode="" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
|
282 |
-
<glyph unicode="" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
|
283 |
-
<glyph unicode="" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
|
284 |
-
<glyph unicode="" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
|
285 |
-
<glyph unicode="🔑" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
|
286 |
-
<glyph unicode="🚪" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
|
287 |
-
</font>
|
288 |
-
</defs></svg>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/fonts/admin/glyphicons-halflings-regular.ttf
DELETED
Binary file
|
public/fonts/admin/glyphicons-halflings-regular.woff
DELETED
Binary file
|
public/fonts/admin/glyphicons-halflings-regular.woff2
DELETED
Binary file
|
public/img/banner.jpg
DELETED
Binary file
|
public/img/banner.png
DELETED
Binary file
|
public/js/admin/additional.js
DELETED
@@ -1,80 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
Responsive Menu JS file.
|
3 |
-
NOT Safe to Copy
|
4 |
-
|
5 |
-
Do Not Copy
|
6 |
-
**/
|
7 |
-
|
8 |
-
jQuery(function($) {
|
9 |
-
|
10 |
-
/* --> Colour Select Options */
|
11 |
-
$.minicolors.defaults = $.extend(
|
12 |
-
$.minicolors.defaults, {
|
13 |
-
format: 'hex',
|
14 |
-
opacity: false,
|
15 |
-
theme: 'bootstrap'
|
16 |
-
}
|
17 |
-
);
|
18 |
-
$('.mini-colours').minicolors();
|
19 |
-
/* <-- End Colour Select Options */
|
20 |
-
|
21 |
-
/* --> Hide Pro Options */
|
22 |
-
$(document).on('change', '#hide-pro-options', function() {
|
23 |
-
if($(this).is(':checked')) {
|
24 |
-
$('.nav > li.pro-tab, ' +
|
25 |
-
'.fully-pro-container, ' +
|
26 |
-
'.responsive-menu-preview, ' +
|
27 |
-
'.pro-row'
|
28 |
-
).hide();
|
29 |
-
} else {
|
30 |
-
$('.nav > li.pro-tab, ' +
|
31 |
-
'.fully-pro-container, ' +
|
32 |
-
'.responsive-menu-preview, ' +
|
33 |
-
'.pro-row'
|
34 |
-
).show();
|
35 |
-
}
|
36 |
-
});
|
37 |
-
/* <-- End Hide Pro Options */
|
38 |
-
|
39 |
-
/* --> Preview Options */
|
40 |
-
$(document).on('click', '.responsive-menu-preview', function(e) {
|
41 |
-
e.preventDefault();
|
42 |
-
var form = $('#responsive-menu-form');
|
43 |
-
form.attr('action', WP_RMP.HOME_URL + '?responsive-menu-preview=true');
|
44 |
-
form.attr('target', '_blank');
|
45 |
-
form.submit();
|
46 |
-
form.attr('action', '');
|
47 |
-
form.attr('target', '');
|
48 |
-
});
|
49 |
-
/* <-- End Preview Options */
|
50 |
-
|
51 |
-
/** Move to new version */
|
52 |
-
jQuery('.rmp-upgrade-version').on( 'click', function(e) {
|
53 |
-
e.preventDefault();
|
54 |
-
jQuery.ajax({
|
55 |
-
url: ajaxurl,
|
56 |
-
data: { action : 'rmp_switch_version' },
|
57 |
-
type: 'POST',
|
58 |
-
dataType: 'json',
|
59 |
-
error: function( error ) {
|
60 |
-
jQuery(this).prop('disabled', false);
|
61 |
-
},
|
62 |
-
success: function( response ) {
|
63 |
-
if ( response.data.redirect ) {
|
64 |
-
location.href = response.data.redirect;
|
65 |
-
}
|
66 |
-
}
|
67 |
-
});
|
68 |
-
});
|
69 |
-
|
70 |
-
/** Call ajax to hide admin notice permanent. */
|
71 |
-
$( '.rmp-version-upgrade-notice' ).on( 'click', '.notice-dismiss', function( event ) {
|
72 |
-
event.preventDefault();
|
73 |
-
jQuery.ajax( {
|
74 |
-
type: "POST",
|
75 |
-
url: ajaxurl,
|
76 |
-
data: "action=rmp_version_admin_notice_dismiss",
|
77 |
-
});
|
78 |
-
});
|
79 |
-
|
80 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/js/admin/base.js
DELETED
@@ -1,202 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
Responsive Menu JS file.
|
3 |
-
Safe to Copy
|
4 |
-
**/
|
5 |
-
|
6 |
-
jQuery(function($) {
|
7 |
-
|
8 |
-
/* --> File Upload Options */
|
9 |
-
$(':file').filestyle({
|
10 |
-
icon: false,
|
11 |
-
buttonName: 'btn btn-primary btn-rm',
|
12 |
-
placeholder: 'No file'
|
13 |
-
});
|
14 |
-
/* <-- End File Upload Options */
|
15 |
-
|
16 |
-
/* --> Image Upload Options */
|
17 |
-
var custom_uploader;
|
18 |
-
|
19 |
-
$(document).on('click', '.image_button', function(e) {
|
20 |
-
e.preventDefault();
|
21 |
-
window.imgFor = $(this).attr('for');
|
22 |
-
//If the uploader object has already been created, reopen the dialog
|
23 |
-
if (custom_uploader) {
|
24 |
-
custom_uploader.open();
|
25 |
-
return;
|
26 |
-
}
|
27 |
-
//Extend the wp.media object
|
28 |
-
custom_uploader = wp.media.frames.file_frame = wp.media({
|
29 |
-
title: 'Choose Image',
|
30 |
-
button: {
|
31 |
-
text: 'Choose Image',
|
32 |
-
id: 'test'
|
33 |
-
},
|
34 |
-
multiple: false
|
35 |
-
});
|
36 |
-
|
37 |
-
//When a file is selected, grab the URL and set it as the text field's value
|
38 |
-
custom_uploader.on('select', function () {
|
39 |
-
attachment = custom_uploader.state().get('selection').first().toJSON();
|
40 |
-
$('#' + window.imgFor).val(attachment.url);
|
41 |
-
});
|
42 |
-
|
43 |
-
//Open the uploader dialog
|
44 |
-
custom_uploader.open();
|
45 |
-
});
|
46 |
-
/* <-- End Image Upload Options */
|
47 |
-
|
48 |
-
/* --> Scroll to Option */
|
49 |
-
$(document).on('click', '.scroll-to-option', function(e) {
|
50 |
-
e.preventDefault();
|
51 |
-
var id_to_scroll_to = $(this).attr('href');
|
52 |
-
var parent_panel_id = $(id_to_scroll_to).parents('.tab-pane').attr('id');
|
53 |
-
var parent_tab = $('a[href="#' + parent_panel_id + '"]').parent('li');
|
54 |
-
|
55 |
-
$('tr').removeClass('option-highlight');
|
56 |
-
$('ul.nav-tabs li').removeClass('active');
|
57 |
-
parent_tab.addClass('active');
|
58 |
-
|
59 |
-
$('#responsive-menu-current-page').val(parent_panel_id);
|
60 |
-
|
61 |
-
$('.tab-content .tab-pane').removeClass('active').removeClass('in');
|
62 |
-
|
63 |
-
$('#' + parent_panel_id).addClass('active').addClass('in');
|
64 |
-
|
65 |
-
$('html, body').animate({
|
66 |
-
scrollTop: $(id_to_scroll_to).offset().top - 50
|
67 |
-
}, 1000);
|
68 |
-
|
69 |
-
$(id_to_scroll_to).closest('tr').addClass('option-highlight');
|
70 |
-
});
|
71 |
-
/* <-- End Scroll to Option */
|
72 |
-
|
73 |
-
/* --> Filter Options */
|
74 |
-
$(document).on('keyup', '#filter-options', function() {
|
75 |
-
var search_query = $(this).val();
|
76 |
-
$('#options-area').css('width', '99%');
|
77 |
-
$('.nav-tabs, #banner-area, .top-submit-buttons').hide();
|
78 |
-
|
79 |
-
if(search_query) {
|
80 |
-
$('.tab-pane').show().css('opacity', '1');
|
81 |
-
$('.panel-body small').css('display', 'block');
|
82 |
-
$('#responsive-menu-desktop-menu-container').parent('.panel').hide();
|
83 |
-
|
84 |
-
$('.control-label').closest('tr').hide();
|
85 |
-
$('.control-label').each(function() {
|
86 |
-
if ($(this).text().toLowerCase().indexOf(search_query.toLowerCase()) >= 0) {
|
87 |
-
$(this).closest('tr').show();
|
88 |
-
}
|
89 |
-
});
|
90 |
-
|
91 |
-
$('#options-area .table-bordered').each(function() {
|
92 |
-
|
93 |
-
var visible_rows = $(this).children('tbody').children('tr').filter(function() {
|
94 |
-
return $(this).css('display') == 'table-row';
|
95 |
-
});
|
96 |
-
|
97 |
-
if(visible_rows.length > 0) {
|
98 |
-
$(this).parents('.panel').show();
|
99 |
-
} else {
|
100 |
-
$(this).parents('.panel').hide();
|
101 |
-
}
|
102 |
-
});
|
103 |
-
|
104 |
-
} else {
|
105 |
-
$('.tab-pane').css('display', '').css('opacity', '');
|
106 |
-
$('.control-label').closest('tr').show();
|
107 |
-
$('.nav-tabs, #banner-area, .panel, .top-submit-buttons').show();
|
108 |
-
$('#options-area').css('width', '');
|
109 |
-
$('.panel-body small').css('display', '');
|
110 |
-
}
|
111 |
-
});
|
112 |
-
/* <-- End Filter Options */
|
113 |
-
|
114 |
-
/* --> Navigation Tabs */
|
115 |
-
$(document).on('click', '.nav-tabs li a', function() {
|
116 |
-
var tab_name = $(this).attr('href').replace('#', '');
|
117 |
-
$('#responsive-menu-current-page').val(tab_name);
|
118 |
-
});
|
119 |
-
/* <-- End Navigation Tabs */
|
120 |
-
|
121 |
-
/* --> Trigger Types */
|
122 |
-
$('#responsive-menu-button-trigger-type').selectize({
|
123 |
-
plugins: ['remove_button'],
|
124 |
-
options: [
|
125 |
-
{
|
126 |
-
value:'click',
|
127 |
-
text:'Click'
|
128 |
-
},
|
129 |
-
{
|
130 |
-
value:'mouseover',
|
131 |
-
text:'Hover'
|
132 |
-
}
|
133 |
-
]
|
134 |
-
});
|
135 |
-
/* <-- End Trigger Types */
|
136 |
-
|
137 |
-
/* --> Keyboard Shortcuts */
|
138 |
-
$('.keyboard-shortcuts').selectize({
|
139 |
-
plugins: ['remove_button'],
|
140 |
-
options: [
|
141 |
-
{
|
142 |
-
value:27,
|
143 |
-
text:'Esc'
|
144 |
-
},
|
145 |
-
{
|
146 |
-
value:13,
|
147 |
-
text:'Enter'
|
148 |
-
},
|
149 |
-
{
|
150 |
-
value:32,
|
151 |
-
text:'Space'
|
152 |
-
},
|
153 |
-
{
|
154 |
-
value:37,
|
155 |
-
text:'Left'
|
156 |
-
},
|
157 |
-
{
|
158 |
-
value:38,
|
159 |
-
text:'Up'
|
160 |
-
},
|
161 |
-
{
|
162 |
-
value:39,
|
163 |
-
text:'Right'
|
164 |
-
},
|
165 |
-
{
|
166 |
-
value:40,
|
167 |
-
text:'Down'
|
168 |
-
}
|
169 |
-
]
|
170 |
-
});
|
171 |
-
/* <-- End Keyboard Shortcuts */
|
172 |
-
|
173 |
-
/* --> Menu Order Scripts */
|
174 |
-
$(document).on('click', '.menu-order-option-switch', function() {
|
175 |
-
var siblings = $(this).siblings('input.orderable-item');
|
176 |
-
if(siblings.val() != 'on') {
|
177 |
-
siblings.val('on');
|
178 |
-
$(this).addClass('menu-order-option-switch-on');
|
179 |
-
} else {
|
180 |
-
siblings.val('');
|
181 |
-
$(this).removeClass('menu-order-option-switch-on');
|
182 |
-
}
|
183 |
-
});
|
184 |
-
|
185 |
-
$('#menu-sortable').sortable({
|
186 |
-
revert: true,
|
187 |
-
placeholder: 'dashed-placeholder'
|
188 |
-
});
|
189 |
-
|
190 |
-
$('#sortable, .draggable').disableSelection();
|
191 |
-
/* <-- End Menu Order Scripts */
|
192 |
-
|
193 |
-
/* --> Theme Selector Script */
|
194 |
-
$('#responsive-menu-menu-theme').on('changed.bs.select', function() {
|
195 |
-
var selected_theme_key = $(this).val();
|
196 |
-
var preview_image_url = WP_RMP_THEME.FOLDER_URL + selected_theme_key + '/preview.png';
|
197 |
-
var $preview_image = $('#responsive-menu-theme-preview');
|
198 |
-
|
199 |
-
$preview_image.attr('src', preview_image_url);
|
200 |
-
});
|
201 |
-
/* <-- End Theme Selector Script */
|
202 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/js/admin/bootstrap-file.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
(function($){var nextId=0;var Filestyle=function(element,options){this.options=options;this.$elementFilestyle=[];this.$element=$(element)};Filestyle.prototype={clear:function(){this.$element.val("");this.$elementFilestyle.find(":text").val("");this.$elementFilestyle.find(".badge").remove()},destroy:function(){this.$element.removeAttr("style").removeData("filestyle");this.$elementFilestyle.remove()},disabled:function(value){if(value===true){if(!this.options.disabled){this.$element.attr("disabled","true");this.$elementFilestyle.find("label").attr("disabled","true");this.options.disabled=true}}else{if(value===false){if(this.options.disabled){this.$element.removeAttr("disabled");this.$elementFilestyle.find("label").removeAttr("disabled");this.options.disabled=false}}else{return this.options.disabled}}},buttonBefore:function(value){if(value===true){if(!this.options.buttonBefore){this.options.buttonBefore=true;if(this.options.input){this.$elementFilestyle.remove();this.constructor();this.pushNameFiles()}}}else{if(value===false){if(this.options.buttonBefore){this.options.buttonBefore=false;if(this.options.input){this.$elementFilestyle.remove();this.constructor();this.pushNameFiles()}}}else{return this.options.buttonBefore}}},icon:function(value){if(value===true){if(!this.options.icon){this.options.icon=true;this.$elementFilestyle.find("label").prepend(this.htmlIcon())}}else{if(value===false){if(this.options.icon){this.options.icon=false;this.$elementFilestyle.find(".icon-span-filestyle").remove()}}else{return this.options.icon}}},input:function(value){if(value===true){if(!this.options.input){this.options.input=true;if(this.options.buttonBefore){this.$elementFilestyle.append(this.htmlInput())}else{this.$elementFilestyle.prepend(this.htmlInput())}this.$elementFilestyle.find(".badge").remove();this.pushNameFiles();this.$elementFilestyle.find(".group-span-filestyle").addClass("input-group-btn")}}else{if(value===false){if(this.options.input){this.options.input=false;this.$elementFilestyle.find(":text").remove();var files=this.pushNameFiles();if(files.length>0&&this.options.badge){this.$elementFilestyle.find("label").append(' <span class="badge">'+files.length+"</span>")}this.$elementFilestyle.find(".group-span-filestyle").removeClass("input-group-btn")}}else{return this.options.input}}},size:function(value){if(value!==undefined){var btn=this.$elementFilestyle.find("label"),input=this.$elementFilestyle.find("input");btn.removeClass("btn-lg btn-sm");input.removeClass("input-lg input-sm");if(value!="nr"){btn.addClass("btn-"+value);input.addClass("input-"+value)}}else{return this.options.size}},placeholder:function(value){if(value!==undefined){this.options.placeholder=value;this.$elementFilestyle.find("input").attr("placeholder",value)}else{return this.options.placeholder}},buttonText:function(value){if(value!==undefined){this.options.buttonText=value;this.$elementFilestyle.find("label .buttonText").html(this.options.buttonText)}else{return this.options.buttonText}},buttonName:function(value){if(value!==undefined){this.options.buttonName=value;this.$elementFilestyle.find("label").attr({"class":"btn "+this.options.buttonName})}else{return this.options.buttonName}},iconName:function(value){if(value!==undefined){this.$elementFilestyle.find(".icon-span-filestyle").attr({"class":"icon-span-filestyle "+this.options.iconName})}else{return this.options.iconName}},htmlIcon:function(){if(this.options.icon){return'<span class="icon-span-filestyle '+this.options.iconName+'"></span> '}else{return""}},htmlInput:function(){if(this.options.input){return'<input type="text" class="form-control '+(this.options.size=="nr"?"":"input-"+this.options.size)+'" placeholder="'+this.options.placeholder+'" disabled> '}else{return""}},pushNameFiles:function(){var content="",files=[];if(this.$element[0].files===undefined){files[0]={name:this.$element[0]&&this.$element[0].value}}else{files=this.$element[0].files}for(var i=0;i<files.length;i++){content+=files[i].name.split("\\").pop()+", "}if(content!==""){this.$elementFilestyle.find(":text").val(content.replace(/\, $/g,""))}else{this.$elementFilestyle.find(":text").val("")}return files},constructor:function(){var _self=this,html="",id=_self.$element.attr("id"),files=[],btn="",$label;if(id===""||!id){id="filestyle-"+nextId;_self.$element.attr({id:id});nextId++}btn='<span class="group-span-filestyle '+(_self.options.input?"input-group-btn":"")+'"><label for="'+id+'" class="btn '+_self.options.buttonName+" "+(_self.options.size=="nr"?"":"btn-"+_self.options.size)+'" '+(_self.options.disabled?'disabled="true"':"")+">"+_self.htmlIcon()+'<span class="buttonText">'+_self.options.buttonText+"</span></label></span>";html=_self.options.buttonBefore?btn+_self.htmlInput():_self.htmlInput()+btn;_self.$elementFilestyle=$('<div class="bootstrap-filestyle input-group">'+html+"</div>");_self.$elementFilestyle.find(".group-span-filestyle").attr("tabindex","0").keypress(function(e){if(e.keyCode===13||e.charCode===32){_self.$elementFilestyle.find("label").click();return false}});_self.$element.css({position:"absolute",clip:"rect(0px 0px 0px 0px)"}).attr("tabindex","-1").after(_self.$elementFilestyle);if(_self.options.disabled){_self.$element.attr("disabled","true")}_self.$element.change(function(){var files=_self.pushNameFiles();if(_self.options.input==false&&_self.options.badge){if(_self.$elementFilestyle.find(".badge").length==0){_self.$elementFilestyle.find("label").append(' <span class="badge">'+files.length+"</span>")}else{if(files.length==0){_self.$elementFilestyle.find(".badge").remove()}else{_self.$elementFilestyle.find(".badge").html(files.length)}}}else{_self.$elementFilestyle.find(".badge").remove()}});if(window.navigator.userAgent.search(/firefox/i)>-1){_self.$elementFilestyle.find("label").click(function(){_self.$element.click();return false})}}};var old=$.fn.filestyle;$.fn.filestyle=function(option,value){var get="",element=this.each(function(){if($(this).attr("type")==="file"){var $this=$(this),data=$this.data("filestyle"),options=$.extend({},$.fn.filestyle.defaults,option,typeof option==="object"&&option);if(!data){$this.data("filestyle",(data=new Filestyle(this,options)));data.constructor()}if(typeof option==="string"){get=data[option](value)}}});if(typeof get!==undefined){return get}else{return element}};$.fn.filestyle.defaults={buttonText:"Choose file",iconName:"glyphicon glyphicon-folder-open",buttonName:"btn-default",size:"nr",input:true,badge:true,icon:true,buttonBefore:false,disabled:false,placeholder:""};$.fn.filestyle.noConflict=function(){$.fn.filestyle=old;return this};$(function(){$(".filestyle").each(function(){var $this=$(this),options={input:$this.attr("data-input")==="false"?false:true,icon:$this.attr("data-icon")==="false"?false:true,buttonBefore:$this.attr("data-buttonBefore")==="true"?true:false,disabled:$this.attr("data-disabled")==="true"?true:false,size:$this.attr("data-size"),buttonText:$this.attr("data-buttonText"),buttonName:$this.attr("data-buttonName"),iconName:$this.attr("data-iconName"),badge:$this.attr("data-badge")==="false"?false:true,placeholder:$this.attr("data-placeholder")};$this.filestyle(options)})})})(window.jQuery);
|
|
public/js/admin/bootstrap-select.js
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Bootstrap-select v1.12.2 (http://silviomoreto.github.io/bootstrap-select)
|
3 |
-
*
|
4 |
-
* Copyright 2013-2017 bootstrap-select
|
5 |
-
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
6 |
-
*/
|
7 |
-
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){"use strict";function b(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b?b.replace(this.re,this.ch):""}),b}function c(b){var c=arguments,d=b;[].shift.apply(c);var e,f=this.each(function(){var b=a(this);if(b.is("select")){var f=b.data("selectpicker"),g="object"==typeof d&&d;if(f){if(g)for(var h in g)g.hasOwnProperty(h)&&(f.options[h]=g[h])}else{var i=a.extend({},k.DEFAULTS,a.fn.selectpicker.defaults||{},b.data(),g);i.template=a.extend({},k.DEFAULTS.template,a.fn.selectpicker.defaults?a.fn.selectpicker.defaults.template:{},b.data().template,g.template),b.data("selectpicker",f=new k(this,i))}"string"==typeof d&&(e=f[d]instanceof Function?f[d].apply(f,c):f.options[d])}});return"undefined"!=typeof e?e:f}String.prototype.includes||!function(){var a={}.toString,b=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(a){}return c}(),c="".indexOf,d=function(b){if(null==this)throw new TypeError;var d=String(this);if(b&&"[object RegExp]"==a.call(b))throw new TypeError;var e=d.length,f=String(b),g=f.length,h=arguments.length>1?arguments[1]:void 0,i=h?Number(h):0;i!=i&&(i=0);var j=Math.min(Math.max(i,0),e);return!(g+j>e)&&c.call(d,f,i)!=-1};b?b(String.prototype,"includes",{value:d,configurable:!0,writable:!0}):String.prototype.includes=d}(),String.prototype.startsWith||!function(){var a=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(a){}return c}(),b={}.toString,c=function(a){if(null==this)throw new TypeError;var c=String(this);if(a&&"[object RegExp]"==b.call(a))throw new TypeError;var d=c.length,e=String(a),f=e.length,g=arguments.length>1?arguments[1]:void 0,h=g?Number(g):0;h!=h&&(h=0);var i=Math.min(Math.max(h,0),d);if(f+i>d)return!1;for(var j=-1;++j<f;)if(c.charCodeAt(i+j)!=e.charCodeAt(j))return!1;return!0};a?a(String.prototype,"startsWith",{value:c,configurable:!0,writable:!0}):String.prototype.startsWith=c}(),Object.keys||(Object.keys=function(a,b,c){c=[];for(b in a)c.hasOwnProperty.call(a,b)&&c.push(b);return c});var d={useDefault:!1,_set:a.valHooks.select.set};a.valHooks.select.set=function(b,c){return c&&!d.useDefault&&a(b).data("selected",!0),d._set.apply(this,arguments)};var e=null;a.fn.triggerNative=function(a){var b,c=this[0];c.dispatchEvent?("function"==typeof Event?b=new Event(a,{bubbles:!0}):(b=document.createEvent("Event"),b.initEvent(a,!0,!1)),c.dispatchEvent(b)):c.fireEvent?(b=document.createEventObject(),b.eventType=a,c.fireEvent("on"+a,b)):this.trigger(a)},a.expr.pseudos.icontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toString().toUpperCase();return f.includes(d[3].toUpperCase())},a.expr.pseudos.ibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toString().toUpperCase();return f.startsWith(d[3].toUpperCase())},a.expr.pseudos.aicontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toString().toUpperCase();return f.includes(d[3].toUpperCase())},a.expr.pseudos.aibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toString().toUpperCase();return f.startsWith(d[3].toUpperCase())};var f={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},g={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},h=function(a){var b=function(b){return a[b]},c="(?:"+Object.keys(a).join("|")+")",d=RegExp(c),e=RegExp(c,"g");return function(a){return a=null==a?"":""+a,d.test(a)?a.replace(e,b):a}},i=h(f),j=h(g),k=function(b,c){d.useDefault||(a.valHooks.select.set=d._set,d.useDefault=!0),this.$element=a(b),this.$newElement=null,this.$button=null,this.$menu=null,this.$lis=null,this.options=c,null===this.options.title&&(this.options.title=this.$element.attr("title"));var e=this.options.windowPadding;"number"==typeof e&&(this.options.windowPadding=[e,e,e,e]),this.val=k.prototype.val,this.render=k.prototype.render,this.refresh=k.prototype.refresh,this.setStyle=k.prototype.setStyle,this.selectAll=k.prototype.selectAll,this.deselectAll=k.prototype.deselectAll,this.destroy=k.prototype.destroy,this.remove=k.prototype.remove,this.show=k.prototype.show,this.hide=k.prototype.hide,this.init()};k.VERSION="1.12.2",k.DEFAULTS={noneSelectedText:"Nothing selected",noneResultsText:"No results matched {0}",countSelectedText:function(a,b){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){return[1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",doneButton:!1,doneButtonText:"Close",multipleSeparator:", ",styleBase:"btn",style:"btn-default",size:"auto",title:null,selectedTextFormat:"values",width:!1,container:!1,hideDisabled:!1,showSubtext:!1,showIcon:!0,showContent:!0,dropupAuto:!0,header:!1,liveSearch:!1,liveSearchPlaceholder:null,liveSearchNormalize:!1,liveSearchStyle:"contains",actionsBox:!1,iconBase:"glyphicon",tickIcon:"glyphicon-ok",showTick:!1,template:{caret:'<span class="caret"></span>'},maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1,windowPadding:0},k.prototype={constructor:k,init:function(){var b=this,c=this.$element.attr("id");this.$element.addClass("bs-select-hidden"),this.liObj={},this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement).appendTo(this.$newElement),this.$button=this.$newElement.children("button"),this.$menu=this.$newElement.children(".dropdown-menu"),this.$menuInner=this.$menu.children(".inner"),this.$searchbox=this.$menu.find("input"),this.$element.removeClass("bs-select-hidden"),this.options.dropdownAlignRight===!0&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile(),this.$newElement.on({"hide.bs.dropdown":function(a){b.$menuInner.attr("aria-expanded",!1),b.$element.trigger("hide.bs.select",a)},"hidden.bs.dropdown":function(a){b.$element.trigger("hidden.bs.select",a)},"show.bs.dropdown":function(a){b.$menuInner.attr("aria-expanded",!0),b.$element.trigger("show.bs.select",a)},"shown.bs.dropdown":function(a){b.$element.trigger("shown.bs.select",a)}}),b.$element[0].hasAttribute("required")&&this.$element.on("invalid",function(){b.$button.addClass("bs-invalid").focus(),b.$element.on({"focus.bs.select":function(){b.$button.focus(),b.$element.off("focus.bs.select")},"shown.bs.select":function(){b.$element.val(b.$element.val()).off("shown.bs.select")},"rendered.bs.select":function(){this.validity.valid&&b.$button.removeClass("bs-invalid"),b.$element.off("rendered.bs.select")}})}),setTimeout(function(){b.$element.trigger("loaded.bs.select")})},createDropdown:function(){var b=this.multiple||this.options.showTick?" show-tick":"",c=this.$element.parent().hasClass("input-group")?" input-group-btn":"",d=this.autofocus?" autofocus":"",e=this.options.header?'<div class="popover-title"><button type="button" class="close" aria-hidden="true">×</button>'+this.options.header+"</div>":"",f=this.options.liveSearch?'<div class="bs-searchbox"><input type="text" class="form-control" autocomplete="off"'+(null===this.options.liveSearchPlaceholder?"":' placeholder="'+i(this.options.liveSearchPlaceholder)+'"')+' role="textbox" aria-label="Search"></div>':"",g=this.multiple&&this.options.actionsBox?'<div class="bs-actionsbox"><div class="btn-group btn-group-sm btn-block"><button type="button" class="actions-btn bs-select-all btn btn-default">'+this.options.selectAllText+'</button><button type="button" class="actions-btn bs-deselect-all btn btn-default">'+this.options.deselectAllText+"</button></div></div>":"",h=this.multiple&&this.options.doneButton?'<div class="bs-donebutton"><div class="btn-group btn-block"><button type="button" class="btn btn-sm btn-default">'+this.options.doneButtonText+"</button></div></div>":"",j='<div class="btn-group bootstrap-select'+b+c+'"><button type="button" class="'+this.options.styleBase+' dropdown-toggle" data-toggle="dropdown"'+d+' role="button"><span class="filter-option pull-left"></span> <span class="bs-caret">'+this.options.template.caret+'</span></button><div class="dropdown-menu open" role="combobox">'+e+f+g+'<ul class="dropdown-menu inner" role="listbox" aria-expanded="false"></ul>'+h+"</div></div>";return a(j)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul")[0].innerHTML=b,a},reloadLi:function(){var a=this.createLi();this.$menuInner[0].innerHTML=a},createLi:function(){var c=this,d=[],e=0,f=document.createElement("option"),g=-1,h=function(a,b,c,d){return"<li"+("undefined"!=typeof c&""!==c?' class="'+c+'"':"")+("undefined"!=typeof b&null!==b?' data-original-index="'+b+'"':"")+("undefined"!=typeof d&null!==d?'data-optgroup="'+d+'"':"")+">"+a+"</li>"},j=function(d,e,f,g){return'<a tabindex="0"'+("undefined"!=typeof e?' class="'+e+'"':"")+(f?' style="'+f+'"':"")+(c.options.liveSearchNormalize?' data-normalized-text="'+b(i(a(d).html()))+'"':"")+("undefined"!=typeof g||null!==g?' data-tokens="'+g+'"':"")+' role="option">'+d+'<span class="'+c.options.iconBase+" "+c.options.tickIcon+' check-mark"></span></a>'};if(this.options.title&&!this.multiple&&(g--,!this.$element.find(".bs-title-option").length)){var k=this.$element[0];f.className="bs-title-option",f.innerHTML=this.options.title,f.value="",k.insertBefore(f,k.firstChild);var l=a(k.options[k.selectedIndex]);void 0===l.attr("selected")&&void 0===this.$element.data("selected")&&(f.selected=!0)}return this.$element.find("option").each(function(b){var f=a(this);if(g++,!f.hasClass("bs-title-option")){var k=this.className||"",l=this.style.cssText,m=f.data("content")?f.data("content"):f.html(),n=f.data("tokens")?f.data("tokens"):null,o="undefined"!=typeof f.data("subtext")?'<small class="text-muted">'+f.data("subtext")+"</small>":"",p="undefined"!=typeof f.data("icon")?'<span class="'+c.options.iconBase+" "+f.data("icon")+'"></span> ':"",q=f.parent(),r="OPTGROUP"===q[0].tagName,s=r&&q[0].disabled,t=this.disabled||s;if(""!==p&&t&&(p="<span>"+p+"</span>"),c.options.hideDisabled&&(t&&!r||s))return void g--;if(f.data("content")||(m=p+'<span class="text">'+m+o+"</span>"),r&&f.data("divider")!==!0){if(c.options.hideDisabled&&t){if(void 0===q.data("allOptionsDisabled")){var u=q.children();q.data("allOptionsDisabled",u.filter(":disabled").length===u.length)}if(q.data("allOptionsDisabled"))return void g--}var v=" "+q[0].className||"";if(0===f.index()){e+=1;var w=q[0].label,x="undefined"!=typeof q.data("subtext")?'<small class="text-muted">'+q.data("subtext")+"</small>":"",y=q.data("icon")?'<span class="'+c.options.iconBase+" "+q.data("icon")+'"></span> ':"";w=y+'<span class="text">'+i(w)+x+"</span>",0!==b&&d.length>0&&(g++,d.push(h("",null,"divider",e+"div"))),g++,d.push(h(w,null,"dropdown-header"+v,e))}if(c.options.hideDisabled&&t)return void g--;d.push(h(j(m,"opt "+k+v,l,n),b,"",e))}else if(f.data("divider")===!0)d.push(h("",b,"divider"));else if(f.data("hidden")===!0)d.push(h(j(m,k,l,n),b,"hidden is-hidden"));else{var z=this.previousElementSibling&&"OPTGROUP"===this.previousElementSibling.tagName;if(!z&&c.options.hideDisabled)for(var A=a(this).prevAll(),B=0;B<A.length;B++)if("OPTGROUP"===A[B].tagName){for(var C=0,D=0;D<B;D++){var E=A[D];(E.disabled||a(E).data("hidden")===!0)&&C++}C===B&&(z=!0);break}z&&(g++,d.push(h("",null,"divider",e+"div"))),d.push(h(j(m,k,l,n),b))}c.liObj[b]=g}}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),d.join("")},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c,d=this;b!==!1&&this.$element.find("option").each(function(a){var b=d.findLis().eq(d.liObj[a]);d.setDisabled(a,this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled,b),d.setSelected(a,this.selected,b)}),this.togglePlaceholder(),this.tabIndex();var e=this.$element.find("option").map(function(){if(this.selected){if(d.options.hideDisabled&&(this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled))return;var b,c=a(this),e=c.data("icon")&&d.options.showIcon?'<i class="'+d.options.iconBase+" "+c.data("icon")+'"></i> ':"";return b=d.options.showSubtext&&c.data("subtext")&&!d.multiple?' <small class="text-muted">'+c.data("subtext")+"</small>":"","undefined"!=typeof c.attr("title")?c.attr("title"):c.data("content")&&d.options.showContent?c.data("content").toString():e+c.html()+b}}).toArray(),f=this.multiple?e.join(this.options.multipleSeparator):e[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var g=this.options.selectedTextFormat.split(">");if(g.length>1&&e.length>g[1]||1==g.length&&e.length>=2){c=this.options.hideDisabled?", [disabled]":"";var h=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+c).length,i="function"==typeof this.options.countSelectedText?this.options.countSelectedText(e.length,h):this.options.countSelectedText;f=i.replace("{0}",e.length.toString()).replace("{1}",h.toString())}}void 0==this.options.title&&(this.options.title=this.$element.attr("title")),"static"==this.options.selectedTextFormat&&(f=this.options.title),f||(f="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",j(a.trim(f.replace(/<[^>]*>?/g,"")))),this.$button.children(".filter-option").html(f),this.$element.trigger("rendered.bs.select")},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(b){if(b||this.options.size!==!1&&!this.sizeInfo){var c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("ul"),f=document.createElement("li"),g=document.createElement("li"),h=document.createElement("a"),i=document.createElement("span"),j=this.options.header&&this.$menu.find(".popover-title").length>0?this.$menu.find(".popover-title")[0].cloneNode(!0):null,k=this.options.liveSearch?document.createElement("div"):null,l=this.options.actionsBox&&this.multiple&&this.$menu.find(".bs-actionsbox").length>0?this.$menu.find(".bs-actionsbox")[0].cloneNode(!0):null,m=this.options.doneButton&&this.multiple&&this.$menu.find(".bs-donebutton").length>0?this.$menu.find(".bs-donebutton")[0].cloneNode(!0):null;if(i.className="text",c.className=this.$menu[0].parentNode.className+" open",d.className="dropdown-menu open",e.className="dropdown-menu inner",f.className="divider",i.appendChild(document.createTextNode("Inner text")),h.appendChild(i),g.appendChild(h),e.appendChild(g),e.appendChild(f),j&&d.appendChild(j),k){var n=document.createElement("input");k.className="bs-searchbox",n.className="form-control",k.appendChild(n),d.appendChild(k)}l&&d.appendChild(l),d.appendChild(e),m&&d.appendChild(m),c.appendChild(d),document.body.appendChild(c);var o=h.offsetHeight,p=j?j.offsetHeight:0,q=k?k.offsetHeight:0,r=l?l.offsetHeight:0,s=m?m.offsetHeight:0,t=a(f).outerHeight(!0),u="function"==typeof getComputedStyle&&getComputedStyle(d),v=u?null:a(d),w={vert:parseInt(u?u.paddingTop:v.css("paddingTop"))+parseInt(u?u.paddingBottom:v.css("paddingBottom"))+parseInt(u?u.borderTopWidth:v.css("borderTopWidth"))+parseInt(u?u.borderBottomWidth:v.css("borderBottomWidth")),horiz:parseInt(u?u.paddingLeft:v.css("paddingLeft"))+parseInt(u?u.paddingRight:v.css("paddingRight"))+parseInt(u?u.borderLeftWidth:v.css("borderLeftWidth"))+parseInt(u?u.borderRightWidth:v.css("borderRightWidth"))},x={vert:w.vert+parseInt(u?u.marginTop:v.css("marginTop"))+parseInt(u?u.marginBottom:v.css("marginBottom"))+2,horiz:w.horiz+parseInt(u?u.marginLeft:v.css("marginLeft"))+parseInt(u?u.marginRight:v.css("marginRight"))+2};document.body.removeChild(c),this.sizeInfo={liHeight:o,headerHeight:p,searchHeight:q,actionsHeight:r,doneButtonHeight:s,dividerHeight:t,menuPadding:w,menuExtras:x}}},setSize:function(){if(this.findLis(),this.liHeight(),this.options.header&&this.$menu.css("padding-top",0),this.options.size!==!1){var b,c,d,e,f,g,h,i,j=this,k=this.$menu,l=this.$menuInner,m=a(window),n=this.$newElement[0].offsetHeight,o=this.$newElement[0].offsetWidth,p=this.sizeInfo.liHeight,q=this.sizeInfo.headerHeight,r=this.sizeInfo.searchHeight,s=this.sizeInfo.actionsHeight,t=this.sizeInfo.doneButtonHeight,u=this.sizeInfo.dividerHeight,v=this.sizeInfo.menuPadding,w=this.sizeInfo.menuExtras,x=this.options.hideDisabled?".disabled":"",y=function(){var b,c=j.$newElement.offset(),d=a(j.options.container);j.options.container&&!d.is("body")?(b=d.offset(),b.top+=parseInt(d.css("borderTopWidth")),b.left+=parseInt(d.css("borderLeftWidth"))):b={top:0,left:0};var e=j.options.windowPadding;f=c.top-b.top-m.scrollTop(),g=m.height()-f-n-b.top-e[2],h=c.left-b.left-m.scrollLeft(),i=m.width()-h-o-b.left-e[1],f-=e[0],h-=e[3]};if(y(),"auto"===this.options.size){var z=function(){var m,n=function(b,c){return function(d){return c?d.classList?d.classList.contains(b):a(d).hasClass(b):!(d.classList?d.classList.contains(b):a(d).hasClass(b))}},u=j.$menuInner[0].getElementsByTagName("li"),x=Array.prototype.filter?Array.prototype.filter.call(u,n("hidden",!1)):j.$lis.not(".hidden"),z=Array.prototype.filter?Array.prototype.filter.call(x,n("dropdown-header",!0)):x.filter(".dropdown-header");y(),b=g-w.vert,c=i-w.horiz,j.options.container?(k.data("height")||k.data("height",k.height()),d=k.data("height"),k.data("width")||k.data("width",k.width()),e=k.data("width")):(d=k.height(),e=k.width()),j.options.dropupAuto&&j.$newElement.toggleClass("dropup",f>g&&b-w.vert<d),j.$newElement.hasClass("dropup")&&(b=f-w.vert),"auto"===j.options.dropdownAlignRight&&k.toggleClass("dropdown-menu-right",h>i&&c-w.horiz<e-o),m=x.length+z.length>3?3*p+w.vert-2:0,k.css({"max-height":b+"px",overflow:"hidden","min-height":m+q+r+s+t+"px"}),l.css({"max-height":b-q-r-s-t-v.vert+"px","overflow-y":"auto","min-height":Math.max(m-v.vert,0)+"px"})};z(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",z),m.off("resize.getSize scroll.getSize").on("resize.getSize scroll.getSize",z)}else if(this.options.size&&"auto"!=this.options.size&&this.$lis.not(x).length>this.options.size){var A=this.$lis.not(".divider").not(x).children().slice(0,this.options.size).last().parent().index(),B=this.$lis.slice(0,A+1).filter(".divider").length;b=p*this.options.size+B*u+v.vert,j.options.container?(k.data("height")||k.data("height",k.height()),d=k.data("height")):d=k.height(),j.options.dropupAuto&&this.$newElement.toggleClass("dropup",f>g&&b-w.vert<d),k.css({"max-height":b+q+r+s+t+"px",overflow:"hidden","min-height":""}),l.css({"max-height":b-v.vert+"px","overflow-y":"auto","min-height":""})}}},setWidth:function(){if("auto"===this.options.width){this.$menu.css("min-width","0");var a=this.$menu.parent().clone().appendTo("body"),b=this.options.container?this.$newElement.clone().appendTo("body"):a,c=a.children(".dropdown-menu").outerWidth(),d=b.css("width","auto").children("button").outerWidth();a.remove(),b.remove(),this.$newElement.css("width",Math.max(c,d)+"px")}else"fit"===this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width","").addClass("fit-width")):this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width",this.options.width)):(this.$menu.css("min-width",""),this.$newElement.css("width",""));this.$newElement.hasClass("fit-width")&&"fit"!==this.options.width&&this.$newElement.removeClass("fit-width")},selectPosition:function(){this.$bsContainer=a('<div class="bs-container" />');var b,c,d,e=this,f=a(this.options.container),g=function(a){e.$bsContainer.addClass(a.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),f.is("body")?c={top:0,left:0}:(c=f.offset(),c.top+=parseInt(f.css("borderTopWidth"))-f.scrollTop(),c.left+=parseInt(f.css("borderLeftWidth"))-f.scrollLeft()),d=a.hasClass("dropup")?0:a[0].offsetHeight,e.$bsContainer.css({top:b.top-c.top+d,left:b.left-c.left,width:a[0].offsetWidth})};this.$button.on("click",function(){var b=a(this);e.isDisabled()||(g(e.$newElement),e.$bsContainer.appendTo(e.options.container).toggleClass("open",!b.hasClass("open")).append(e.$menu))}),a(window).on("resize scroll",function(){g(e.$newElement)}),this.$element.on("hide.bs.select",function(){e.$menu.data("height",e.$menu.height()),e.$bsContainer.detach()})},setSelected:function(a,b,c){c||(this.togglePlaceholder(),c=this.findLis().eq(this.liObj[a])),c.toggleClass("selected",b).find("a").attr("aria-selected",b)},setDisabled:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),b?c.addClass("disabled").children("a").attr("href","#").attr("tabindex",-1).attr("aria-disabled",!0):c.removeClass("disabled").children("a").removeAttr("href").attr("tabindex",0).attr("aria-disabled",!1)},isDisabled:function(){return this.$element[0].disabled},checkDisabled:function(){var a=this;this.isDisabled()?(this.$newElement.addClass("disabled"),this.$button.addClass("disabled").attr("tabindex",-1).attr("aria-disabled",!0)):(this.$button.hasClass("disabled")&&(this.$newElement.removeClass("disabled"),this.$button.removeClass("disabled").attr("aria-disabled",!1)),this.$button.attr("tabindex")!=-1||this.$element.data("tabindex")||this.$button.removeAttr("tabindex")),this.$button.click(function(){return!a.isDisabled()})},togglePlaceholder:function(){var a=this.$element.val();this.$button.toggleClass("bs-placeholder",null===a||""===a||a.constructor===Array&&0===a.length)},tabIndex:function(){this.$element.data("tabindex")!==this.$element.attr("tabindex")&&this.$element.attr("tabindex")!==-98&&"-98"!==this.$element.attr("tabindex")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex"))),this.$element.attr("tabindex",-98)},clickListener:function(){var b=this,c=a(document);c.data("spaceSelect",!1),this.$button.on("keyup",function(a){/(32)/.test(a.keyCode.toString(10))&&c.data("spaceSelect")&&(a.preventDefault(),c.data("spaceSelect",!1))}),this.$button.on("click",function(){b.setSize()}),this.$element.on("shown.bs.select",function(){if(b.options.liveSearch||b.multiple){if(!b.multiple){var a=b.liObj[b.$element[0].selectedIndex];if("number"!=typeof a||b.options.size===!1)return;var c=b.$lis.eq(a)[0].offsetTop-b.$menuInner[0].offsetTop;c=c-b.$menuInner[0].offsetHeight/2+b.sizeInfo.liHeight/2,b.$menuInner[0].scrollTop=c}}else b.$menuInner.find(".selected a").focus()}),this.$menuInner.on("click","li a",function(c){var d=a(this),f=d.parent().data("originalIndex"),g=b.$element.val(),h=b.$element.prop("selectedIndex"),i=!0;if(b.multiple&&1!==b.options.maxOptions&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var j=b.$element.find("option"),k=j.eq(f),l=k.prop("selected"),m=k.parent("optgroup"),n=b.options.maxOptions,o=m.data("maxOptions")||!1;if(b.multiple){if(k.prop("selected",!l),b.setSelected(f,!l),d.blur(),n!==!1||o!==!1){var p=n<j.filter(":selected").length,q=o<m.find("option:selected").length;if(n&&p||o&&q)if(n&&1==n)j.prop("selected",!1),k.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected"),b.setSelected(f,!0);else if(o&&1==o){m.find("option:selected").prop("selected",!1),k.prop("selected",!0);var r=d.parent().data("optgroup");b.$menuInner.find('[data-optgroup="'+r+'"]').removeClass("selected"),b.setSelected(f,!0)}else{var s="string"==typeof b.options.maxOptionsText?[b.options.maxOptionsText,b.options.maxOptionsText]:b.options.maxOptionsText,t="function"==typeof s?s(n,o):s,u=t[0].replace("{n}",n),v=t[1].replace("{n}",o),w=a('<div class="notify"></div>');t[2]&&(u=u.replace("{var}",t[2][n>1?0:1]),v=v.replace("{var}",t[2][o>1?0:1])),k.prop("selected",!1),b.$menu.append(w),n&&p&&(w.append(a("<div>"+u+"</div>")),i=!1,b.$element.trigger("maxReached.bs.select")),o&&q&&(w.append(a("<div>"+v+"</div>")),i=!1,b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(f,!1)},10),w.delay(750).fadeOut(300,function(){a(this).remove()})}}}else j.prop("selected",!1),k.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected").find("a").attr("aria-selected",!1),b.setSelected(f,!0);!b.multiple||b.multiple&&1===b.options.maxOptions?b.$button.focus():b.options.liveSearch&&b.$searchbox.focus(),i&&(g!=b.$element.val()&&b.multiple||h!=b.$element.prop("selectedIndex")&&!b.multiple)&&(e=[f,k.prop("selected"),l],b.$element.triggerNative("change"))}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(c){c.currentTarget==this&&(c.preventDefault(),c.stopPropagation(),b.options.liveSearch&&!a(c.target).hasClass("close")?b.$searchbox.focus():b.$button.focus())}),this.$menuInner.on("click",".divider, .dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.click()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).hasClass("bs-select-all")?b.selectAll():b.deselectAll()}),this.$element.change(function(){b.render(!1),b.$element.trigger("changed.bs.select",e),e=null})},liveSearchListener:function(){var c=this,d=a('<li class="no-results"></li>');this.$button.on("click.dropdown.data-api",function(){c.$menuInner.find(".active").removeClass("active"),c.$searchbox.val()&&(c.$searchbox.val(""),c.$lis.not(".is-hidden").removeClass("hidden"),d.parent().length&&d.remove()),c.multiple||c.$menuInner.find(".selected").addClass("active"),setTimeout(function(){c.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){if(c.$lis.not(".is-hidden").removeClass("hidden"),c.$lis.filter(".active").removeClass("active"),d.remove(),c.$searchbox.val()){var e,f=c.$lis.not(".is-hidden, .divider, .dropdown-header");if(e=c.options.liveSearchNormalize?f.find("a").not(":a"+c._searchStyle()+'("'+b(c.$searchbox.val())+'")'):f.find("a").not(":"+c._searchStyle()+'("'+c.$searchbox.val()+'")'),e.length===f.length)d.html(c.options.noneResultsText.replace("{0}",'"'+i(c.$searchbox.val())+'"')),c.$menuInner.append(d),c.$lis.addClass("hidden");else{e.parent().addClass("hidden");var g,h=c.$lis.not(".hidden");h.each(function(b){var c=a(this);c.hasClass("divider")?void 0===g?c.addClass("hidden"):(g&&g.addClass("hidden"),g=c):c.hasClass("dropdown-header")&&h.eq(b+1).data("optgroup")!==c.data("optgroup")?c.addClass("hidden"):g=null}),g&&g.addClass("hidden"),f.not(".hidden").first().addClass("active")}}})},_searchStyle:function(){var a={begins:"ibegins",startsWith:"ibegins"};return a[this.options.liveSearchStyle]||"icontains"},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},changeAll:function(b){if(this.multiple){"undefined"==typeof b&&(b=!0),this.findLis();var c=this.$element.find("option"),d=this.$lis.not(".divider, .dropdown-header, .disabled, .hidden"),e=d.length,f=[];if(b){if(d.filter(".selected").length===d.length)return}else if(0===d.filter(".selected").length)return;d.toggleClass("selected",b);for(var g=0;g<e;g++){var h=d[g].getAttribute("data-original-index");f[f.length]=c.eq(h)[0]}a(f).prop("selected",b),this.render(!1),this.togglePlaceholder(),this.$element.triggerNative("change")}},selectAll:function(){return this.changeAll(!0)},deselectAll:function(){return this.changeAll(!1)},toggle:function(a){a=a||window.event,a&&a.stopPropagation(),this.$button.trigger("click")},keydown:function(c){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p=":not(.disabled, .hidden, .dropdown-header, .divider)",q={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a('[role="listbox"] li',n),l=o.$newElement.hasClass("open"),!l&&(c.keyCode>=48&&c.keyCode<=57||c.keyCode>=96&&c.keyCode<=105||c.keyCode>=65&&c.keyCode<=90))return o.options.container?o.$button.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),void o.$searchbox.focus();if(o.options.liveSearch&&(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(c.preventDefault(),c.stopPropagation(),o.$menuInner.click(),o.$button.focus()),d=a('[role="listbox"] li'+p,n),m.val()||/(38|40)/.test(c.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$menuInner.find("li"),d=o.options.liveSearchNormalize?d.filter(":a"+o._searchStyle()+"("+b(q[c.keyCode])+")"):d.filter(":"+o._searchStyle()+"("+q[c.keyCode]+")"))),d.length){if(/(38|40)/.test(c.keyCode.toString(10)))e=d.index(d.find("a").filter(":focus").parent()),g=d.filter(p).first().index(),h=d.filter(p).last().index(),f=d.eq(e).nextAll(p).eq(0).index(),i=d.eq(e).prevAll(p).eq(0).index(),j=d.eq(f).prevAll(p).eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).hasClass("disabled")||a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.first().data("index"),h=d.last().data("index"),f=d.eq(e).nextAll().eq(0).data("index"),i=d.eq(e).prevAll().eq(0).data("index"),j=d.eq(f).prevAll().eq(0).data("index")),k=m.data("prevIndex"),38==c.keyCode?(o.options.liveSearch&&e--,e!=j&&e>i&&(e=i),e<g&&(e=g),e==k&&(e=h)):40==c.keyCode&&(o.options.liveSearch&&e++,e==-1&&(e=0),e!=j&&e<f&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(c.preventDefault(),m.hasClass("dropdown-toggle")||(d.removeClass("active").eq(e).addClass("active").children("a").focus(),m.focus())):d.eq(e).children("a").focus();else if(!m.is("input")){var r,s,t=[];d.each(function(){a(this).hasClass("disabled")||a.trim(a(this).children("a").text().toLowerCase()).substring(0,1)==q[c.keyCode]&&t.push(a(this).index())}),r=a(document).data("keycount"),r++,a(document).data("keycount",r),s=a.trim(a(":focus").text().toLowerCase()).substring(0,1),s!=q[c.keyCode]?(r=1,a(document).data("keycount",r)):r>=t.length&&(a(document).data("keycount",0),r>t.length&&(r=1)),d.eq(t[r-1]).children("a").focus()}if((/(13|32)/.test(c.keyCode.toString(10))||/(^9$)/.test(c.keyCode.toString(10))&&o.options.selectOnTab)&&l){if(/(32)/.test(c.keyCode.toString(10))||c.preventDefault(),o.options.liveSearch)/(32)/.test(c.keyCode.toString(10))||(o.$menuInner.find(".active a").click(),
|
8 |
-
m.focus());else{var u=a(":focus");u.click(),u.focus(),c.preventDefault(),a(document).data("spaceSelect",!0)}a(document).data("keycount",0)}(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(c.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device")},refresh:function(){this.$lis=null,this.liObj={},this.reloadLi(),this.render(),this.checkDisabled(),this.liHeight(!0),this.setStyle(),this.setWidth(),this.$lis&&this.$searchbox.trigger("propertychange"),this.$element.trigger("refreshed.bs.select")},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()},destroy:function(){this.$newElement.before(this.$element).remove(),this.$bsContainer?this.$bsContainer.remove():this.$menu.remove(),this.$element.off(".bs.select").removeData("selectpicker").removeClass("bs-select-hidden selectpicker")}};var l=a.fn.selectpicker;a.fn.selectpicker=c,a.fn.selectpicker.Constructor=k,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=l,this},a(document).data("keycount",0).on("keydown.bs.select",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .bs-searchbox input',k.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .bs-searchbox input',function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);c.call(b,b.data())})})}(a)});
|
9 |
-
//# sourceMappingURL=bootstrap-select.js.map
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/js/admin/bootstrap-toggle.js
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
/*! ========================================================================
|
2 |
-
* Bootstrap Toggle: bootstrap-toggle.js v2.2.0
|
3 |
-
* http://www.bootstraptoggle.com
|
4 |
-
* ========================================================================
|
5 |
-
* Copyright 2014 Min Hur, The New York Times Company
|
6 |
-
* Licensed under MIT
|
7 |
-
* ======================================================================== */
|
8 |
-
+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.toggle"),f="object"==typeof b&&b;e||d.data("bs.toggle",e=new c(this,f)),"string"==typeof b&&e[b]&&e[b]()})}var c=function(b,c){this.$element=a(b),this.options=a.extend({},this.defaults(),c),this.render()};c.VERSION="2.2.0",c.DEFAULTS={on:"On",off:"Off",onstyle:"primary",offstyle:"default",size:"normal",style:"",width:null,height:null},c.prototype.defaults=function(){return{on:this.$element.attr("data-on")||c.DEFAULTS.on,off:this.$element.attr("data-off")||c.DEFAULTS.off,onstyle:this.$element.attr("data-onstyle")||c.DEFAULTS.onstyle,offstyle:this.$element.attr("data-offstyle")||c.DEFAULTS.offstyle,size:this.$element.attr("data-size")||c.DEFAULTS.size,style:this.$element.attr("data-style")||c.DEFAULTS.style,width:this.$element.attr("data-width")||c.DEFAULTS.width,height:this.$element.attr("data-height")||c.DEFAULTS.height}},c.prototype.render=function(){this._onstyle="btn-"+this.options.onstyle,this._offstyle="btn-"+this.options.offstyle;var b="large"===this.options.size?"btn-lg":"small"===this.options.size?"btn-sm":"mini"===this.options.size?"btn-xs":"",c=a('<label class="btn">').html(this.options.on).addClass(this._onstyle+" "+b),d=a('<label class="btn">').html(this.options.off).addClass(this._offstyle+" "+b+" active"),e=a('<span class="toggle-handle btn btn-default">').addClass(b),f=a('<div class="toggle-group">').append(c,d,e),g=a('<div class="toggle btn" data-toggle="toggle">').addClass(this.$element.prop("checked")?this._onstyle:this._offstyle+" off").addClass(b).addClass(this.options.style);this.$element.wrap(g),a.extend(this,{$toggle:this.$element.parent(),$toggleOn:c,$toggleOff:d,$toggleGroup:f}),this.$toggle.append(f);var h=this.options.width||Math.max(c.outerWidth(),d.outerWidth())+e.outerWidth()/2,i=this.options.height||Math.max(c.outerHeight(),d.outerHeight());c.addClass("toggle-on"),d.addClass("toggle-off"),this.$toggle.css({width:h,height:i}),this.options.height&&(c.css("line-height",c.height()+"px"),d.css("line-height",d.height()+"px")),this.update(!0),this.trigger(!0)},c.prototype.toggle=function(){this.$element.prop("checked")?this.off():this.on()},c.prototype.on=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._offstyle+" off").addClass(this._onstyle),this.$element.prop("checked",!0),void(a||this.trigger()))},c.prototype.off=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._onstyle).addClass(this._offstyle+" off"),this.$element.prop("checked",!1),void(a||this.trigger()))},c.prototype.enable=function(){this.$toggle.removeAttr("disabled"),this.$element.prop("disabled",!1)},c.prototype.disable=function(){this.$toggle.attr("disabled","disabled"),this.$element.prop("disabled",!0)},c.prototype.update=function(a){this.$element.prop("disabled")?this.disable():this.enable(),this.$element.prop("checked")?this.on(a):this.off(a)},c.prototype.trigger=function(b){this.$element.off("change.bs.toggle"),b||this.$element.change(),this.$element.on("change.bs.toggle",a.proxy(function(){this.update()},this))},c.prototype.destroy=function(){this.$element.off("change.bs.toggle"),this.$toggleGroup.remove(),this.$element.removeData("bs.toggle"),this.$element.unwrap()};var d=a.fn.bootstrapToggle;a.fn.bootstrapToggle=b,a.fn.bootstrapToggle.Constructor=c,a.fn.toggle.noConflict=function(){return a.fn.bootstrapToggle=d,this},a(function(){a("input[type=checkbox][data-toggle^=toggle]").bootstrapToggle()}),a(document).on("click.bs.toggle","div[data-toggle^=toggle]",function(b){var c=a(this).find("input[type=checkbox]");c.bootstrapToggle("toggle"),b.preventDefault()})}(jQuery);
|
9 |
-
//# sourceMappingURL=bootstrap-toggle.min.js.map
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/js/admin/bootstrap.js
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
3 |
-
* Copyright 2011-2016 Twitter, Inc.
|
4 |
-
* Licensed under the MIT license
|
5 |
-
*/
|
6 |
-
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);if(this.$element.trigger(g),!g.isDefaultPrevented())return f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=window.SVGElement&&c instanceof window.SVGElement,g=d?{top:0,left:0}:f?null:b.offset(),h={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},i=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,h,i,g)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){
|
7 |
-
this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e<c&&"top";if("bottom"==this.affixed)return null!=c?!(e+this.unpin<=f.top)&&"bottom":!(e+g<=a-d)&&"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&e<=c?"top":null!=d&&i+j>=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/js/admin/minicolours.js
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
* jQuery MiniColors: A tiny color picker built on jQuery
|
3 |
-
*
|
4 |
-
* Copyright: Cory LaViska for A Beautiful Site, LLC: http://www.abeautifulsite.net/
|
5 |
-
*
|
6 |
-
* Contribute: https://github.com/claviska/jquery-minicolors
|
7 |
-
*
|
8 |
-
* @license: http://opensource.org/licenses/MIT
|
9 |
-
*
|
10 |
-
*/
|
11 |
-
!function(i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function($){"use strict";function i(i,t){var o=$('<div class="minicolors" />'),s=$.minicolors.defaults,a,n,r,c,l;if(!i.data("minicolors-initialized")){if(t=$.extend(!0,{},s,t),o.addClass("minicolors-theme-"+t.theme).toggleClass("minicolors-with-opacity",t.opacity).toggleClass("minicolors-no-data-uris",t.dataUris!==!0),void 0!==t.position&&$.each(t.position.split(" "),function(){o.addClass("minicolors-position-"+this)}),a="rgb"===t.format?t.opacity?"25":"20":t.keywords?"11":"7",i.addClass("minicolors-input").data("minicolors-initialized",!1).data("minicolors-settings",t).prop("size",a).wrap(o).after('<div class="minicolors-panel minicolors-slider-'+t.control+'"><div class="minicolors-slider minicolors-sprite"><div class="minicolors-picker"></div></div><div class="minicolors-opacity-slider minicolors-sprite"><div class="minicolors-picker"></div></div><div class="minicolors-grid minicolors-sprite"><div class="minicolors-grid-inner"></div><div class="minicolors-picker"><div></div></div></div></div>'),t.inline||(i.after('<span class="minicolors-swatch minicolors-sprite minicolors-input-swatch"><span class="minicolors-swatch-color"></span></span>'),i.next(".minicolors-input-swatch").on("click",function(t){t.preventDefault(),i.focus()})),c=i.parent().find(".minicolors-panel"),c.on("selectstart",function(){return!1}).end(),t.swatches&&0!==t.swatches.length)for(t.swatches.length>7&&(t.swatches.length=7),c.addClass("minicolors-with-swatches"),n=$('<ul class="minicolors-swatches"></ul>').appendTo(c),l=0;l<t.swatches.length;++l)r=t.swatches[l],r=f(r)?u(r,!0):x(p(r,!0)),$('<li class="minicolors-swatch minicolors-sprite"><span class="minicolors-swatch-color"></span></li>').appendTo(n).data("swatch-color",t.swatches[l]).find(".minicolors-swatch-color").css({backgroundColor:y(r),opacity:r.a}),t.swatches[l]=r;t.inline&&i.parent().addClass("minicolors-inline"),e(i,!1),i.data("minicolors-initialized",!0)}}function t(i){var t=i.parent();i.removeData("minicolors-initialized").removeData("minicolors-settings").removeProp("size").removeClass("minicolors-input"),t.before(i).remove()}function o(i){var t=i.parent(),o=t.find(".minicolors-panel"),a=i.data("minicolors-settings");!i.data("minicolors-initialized")||i.prop("disabled")||t.hasClass("minicolors-inline")||t.hasClass("minicolors-focus")||(s(),t.addClass("minicolors-focus"),o.stop(!0,!0).fadeIn(a.showSpeed,function(){a.show&&a.show.call(i.get(0))}))}function s(){$(".minicolors-focus").each(function(){var i=$(this),t=i.find(".minicolors-input"),o=i.find(".minicolors-panel"),s=t.data("minicolors-settings");o.fadeOut(s.hideSpeed,function(){s.hide&&s.hide.call(t.get(0)),i.removeClass("minicolors-focus")})})}function a(i,t,o){var s=i.parents(".minicolors").find(".minicolors-input"),a=s.data("minicolors-settings"),r=i.find("[class$=-picker]"),e=i.offset().left,c=i.offset().top,l=Math.round(t.pageX-e),h=Math.round(t.pageY-c),d=o?a.animationSpeed:0,p,u,g,m;t.originalEvent.changedTouches&&(l=t.originalEvent.changedTouches[0].pageX-e,h=t.originalEvent.changedTouches[0].pageY-c),0>l&&(l=0),0>h&&(h=0),l>i.width()&&(l=i.width()),h>i.height()&&(h=i.height()),i.parent().is(".minicolors-slider-wheel")&&r.parent().is(".minicolors-grid")&&(p=75-l,u=75-h,g=Math.sqrt(p*p+u*u),m=Math.atan2(u,p),0>m&&(m+=2*Math.PI),g>75&&(g=75,l=75-75*Math.cos(m),h=75-75*Math.sin(m)),l=Math.round(l),h=Math.round(h)),i.is(".minicolors-grid")?r.stop(!0).animate({top:h+"px",left:l+"px"},d,a.animationEasing,function(){n(s,i)}):r.stop(!0).animate({top:h+"px"},d,a.animationEasing,function(){n(s,i)})}function n(i,t){function o(i,t){var o,s;return i.length&&t?(o=i.offset().left,s=i.offset().top,{x:o-t.offset().left+i.outerWidth()/2,y:s-t.offset().top+i.outerHeight()/2}):null}var s,a,n,e,l,h,d,p=i.val(),u=i.attr("data-opacity"),g=i.parent(),f=i.data("minicolors-settings"),v=g.find(".minicolors-input-swatch"),b=g.find(".minicolors-grid"),w=g.find(".minicolors-slider"),y=g.find(".minicolors-opacity-slider"),k=b.find("[class$=-picker]"),M=w.find("[class$=-picker]"),x=y.find("[class$=-picker]"),I=o(k,b),S=o(M,w),z=o(x,y);if(t.is(".minicolors-grid, .minicolors-slider, .minicolors-opacity-slider")){switch(f.control){case"wheel":e=b.width()/2-I.x,l=b.height()/2-I.y,h=Math.sqrt(e*e+l*l),d=Math.atan2(l,e),0>d&&(d+=2*Math.PI),h>75&&(h=75,I.x=69-75*Math.cos(d),I.y=69-75*Math.sin(d)),a=m(h/.75,0,100),s=m(180*d/Math.PI,0,360),n=m(100-Math.floor(S.y*(100/w.height())),0,100),p=C({h:s,s:a,b:n}),w.css("backgroundColor",C({h:s,s:a,b:100}));break;case"saturation":s=m(parseInt(I.x*(360/b.width()),10),0,360),a=m(100-Math.floor(S.y*(100/w.height())),0,100),n=m(100-Math.floor(I.y*(100/b.height())),0,100),p=C({h:s,s:a,b:n}),w.css("backgroundColor",C({h:s,s:100,b:n})),g.find(".minicolors-grid-inner").css("opacity",a/100);break;case"brightness":s=m(parseInt(I.x*(360/b.width()),10),0,360),a=m(100-Math.floor(I.y*(100/b.height())),0,100),n=m(100-Math.floor(S.y*(100/w.height())),0,100),p=C({h:s,s:a,b:n}),w.css("backgroundColor",C({h:s,s:a,b:100})),g.find(".minicolors-grid-inner").css("opacity",1-n/100);break;default:s=m(360-parseInt(S.y*(360/w.height()),10),0,360),a=m(Math.floor(I.x*(100/b.width())),0,100),n=m(100-Math.floor(I.y*(100/b.height())),0,100),p=C({h:s,s:a,b:n}),b.css("backgroundColor",C({h:s,s:100,b:100}))}u=f.opacity?parseFloat(1-z.y/y.height()).toFixed(2):1,r(i,p,u)}else v.find("span").css({backgroundColor:p,opacity:u}),c(i,p,u)}function r(i,t,o){var s,a=i.parent(),n=i.data("minicolors-settings"),r=a.find(".minicolors-input-swatch");n.opacity&&i.attr("data-opacity",o),"rgb"===n.format?(s=f(t)?u(t,!0):x(p(t,!0)),o=""===i.attr("data-opacity")?1:m(parseFloat(i.attr("data-opacity")).toFixed(2),0,1),(isNaN(o)||!n.opacity)&&(o=1),t=i.minicolors("rgbObject").a<=1&&s&&n.opacity?"rgba("+s.r+", "+s.g+", "+s.b+", "+parseFloat(o)+")":"rgb("+s.r+", "+s.g+", "+s.b+")"):(f(t)&&(t=w(t)),t=d(t,n.letterCase)),i.val(t),r.find("span").css({backgroundColor:t,opacity:o}),c(i,t,o)}function e(i,t){var o,s,a,n,r,e,l,h,b,y,M=i.parent(),x=i.data("minicolors-settings"),I=M.find(".minicolors-input-swatch"),S=M.find(".minicolors-grid"),z=M.find(".minicolors-slider"),F=M.find(".minicolors-opacity-slider"),D=S.find("[class$=-picker]"),T=z.find("[class$=-picker]"),j=F.find("[class$=-picker]");switch(f(i.val())?(o=w(i.val()),r=m(parseFloat(v(i.val())).toFixed(2),0,1),r&&i.attr("data-opacity",r)):o=d(p(i.val(),!0),x.letterCase),o||(o=d(g(x.defaultValue,!0),x.letterCase)),s=k(o),n=x.keywords?$.map(x.keywords.split(","),function(i){return $.trim(i.toLowerCase())}):[],e=""!==i.val()&&$.inArray(i.val().toLowerCase(),n)>-1?d(i.val()):f(i.val())?u(i.val()):o,t||i.val(e),x.opacity&&(a=""===i.attr("data-opacity")?1:m(parseFloat(i.attr("data-opacity")).toFixed(2),0,1),isNaN(a)&&(a=1),i.attr("data-opacity",a),I.find("span").css("opacity",a),h=m(F.height()-F.height()*a,0,F.height()),j.css("top",h+"px")),"transparent"===i.val().toLowerCase()&&I.find("span").css("opacity",0),I.find("span").css("backgroundColor",o),x.control){case"wheel":b=m(Math.ceil(.75*s.s),0,S.height()/2),y=s.h*Math.PI/180,l=m(75-Math.cos(y)*b,0,S.width()),h=m(75-Math.sin(y)*b,0,S.height()),D.css({top:h+"px",left:l+"px"}),h=150-s.b/(100/S.height()),""===o&&(h=0),T.css("top",h+"px"),z.css("backgroundColor",C({h:s.h,s:s.s,b:100}));break;case"saturation":l=m(5*s.h/12,0,150),h=m(S.height()-Math.ceil(s.b/(100/S.height())),0,S.height()),D.css({top:h+"px",left:l+"px"}),h=m(z.height()-s.s*(z.height()/100),0,z.height()),T.css("top",h+"px"),z.css("backgroundColor",C({h:s.h,s:100,b:s.b})),M.find(".minicolors-grid-inner").css("opacity",s.s/100);break;case"brightness":l=m(5*s.h/12,0,150),h=m(S.height()-Math.ceil(s.s/(100/S.height())),0,S.height()),D.css({top:h+"px",left:l+"px"}),h=m(z.height()-s.b*(z.height()/100),0,z.height()),T.css("top",h+"px"),z.css("backgroundColor",C({h:s.h,s:s.s,b:100})),M.find(".minicolors-grid-inner").css("opacity",1-s.b/100);break;default:l=m(Math.ceil(s.s/(100/S.width())),0,S.width()),h=m(S.height()-Math.ceil(s.b/(100/S.height())),0,S.height()),D.css({top:h+"px",left:l+"px"}),h=m(z.height()-s.h/(360/z.height()),0,z.height()),T.css("top",h+"px"),S.css("backgroundColor",C({h:s.h,s:100,b:100}))}i.data("minicolors-initialized")&&c(i,e,a)}function c(i,t,o){var s=i.data("minicolors-settings"),a=i.data("minicolors-lastChange"),n,r,e;if(!a||a.value!==t||a.opacity!==o){if(i.data("minicolors-lastChange",{value:t,opacity:o}),s.swatches&&0!==s.swatches.length){for(n=f(t)?u(t,!0):x(t),r=-1,e=0;e<s.swatches.length;++e)if(n.r===s.swatches[e].r&&n.g===s.swatches[e].g&&n.b===s.swatches[e].b&&n.a===s.swatches[e].a){r=e;break}i.parent().find(".minicolors-swatches .minicolors-swatch").removeClass("selected"),-1!==e&&i.parent().find(".minicolors-swatches .minicolors-swatch").eq(e).addClass("selected")}s.change&&(s.changeDelay?(clearTimeout(i.data("minicolors-changeTimeout")),i.data("minicolors-changeTimeout",setTimeout(function(){s.change.call(i.get(0),t,o)},s.changeDelay))):s.change.call(i.get(0),t,o)),i.trigger("change").trigger("input")}}function l(i){var t=p($(i).val(),!0),o=x(t),s=$(i).attr("data-opacity");return o?(void 0!==s&&$.extend(o,{a:parseFloat(s)}),o):null}function h(i,t){var o=p($(i).val(),!0),s=x(o),a=$(i).attr("data-opacity");return s?(void 0===a&&(a=1),t?"rgba("+s.r+", "+s.g+", "+s.b+", "+parseFloat(a)+")":"rgb("+s.r+", "+s.g+", "+s.b+")"):null}function d(i,t){return"uppercase"===t?i.toUpperCase():i.toLowerCase()}function p(i,t){return i=i.replace(/^#/g,""),i.match(/^[A-F0-9]{3,6}/gi)?3!==i.length&&6!==i.length?"":(3===i.length&&t&&(i=i[0]+i[0]+i[1]+i[1]+i[2]+i[2]),"#"+i):""}function u(i,t){var o=i.replace(/[^\d,.]/g,""),s=o.split(",");return s[0]=m(parseInt(s[0],10),0,255),s[1]=m(parseInt(s[1],10),0,255),s[2]=m(parseInt(s[2],10),0,255),s[3]&&(s[3]=m(parseFloat(s[3],10),0,1)),t?{r:s[0],g:s[1],b:s[2],a:s[3]?s[3]:null}:"undefined"!=typeof s[3]&&s[3]<=1?"rgba("+s[0]+", "+s[1]+", "+s[2]+", "+s[3]+")":"rgb("+s[0]+", "+s[1]+", "+s[2]+")"}function g(i,t){return f(i)?u(i):p(i,t)}function m(i,t,o){return t>i&&(i=t),i>o&&(i=o),i}function f(i){var t=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);return t&&4===t.length?!0:!1}function v(i){return i=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+(\.\d{1,2})?|\.\d{1,2})[\s+]?/i),i&&6===i.length?i[4]:"1"}function b(i){var t={},o=Math.round(i.h),s=Math.round(255*i.s/100),a=Math.round(255*i.b/100);if(0===s)t.r=t.g=t.b=a;else{var n=a,r=(255-s)*a/255,e=(n-r)*(o%60)/60;360===o&&(o=0),60>o?(t.r=n,t.b=r,t.g=r+e):120>o?(t.g=n,t.b=r,t.r=n-e):180>o?(t.g=n,t.r=r,t.b=r+e):240>o?(t.b=n,t.r=r,t.g=n-e):300>o?(t.b=n,t.g=r,t.r=r+e):360>o?(t.r=n,t.g=r,t.b=n-e):(t.r=0,t.g=0,t.b=0)}return{r:Math.round(t.r),g:Math.round(t.g),b:Math.round(t.b)}}function w(i){return i=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i),i&&4===i.length?"#"+("0"+parseInt(i[1],10).toString(16)).slice(-2)+("0"+parseInt(i[2],10).toString(16)).slice(-2)+("0"+parseInt(i[3],10).toString(16)).slice(-2):""}function y(i){var t=[i.r.toString(16),i.g.toString(16),i.b.toString(16)];return $.each(t,function(i,o){1===o.length&&(t[i]="0"+o)}),"#"+t.join("")}function C(i){return y(b(i))}function k(i){var t=M(x(i));return 0===t.s&&(t.h=360),t}function M(i){var t={h:0,s:0,b:0},o=Math.min(i.r,i.g,i.b),s=Math.max(i.r,i.g,i.b),a=s-o;return t.b=s,t.s=0!==s?255*a/s:0,0!==t.s?i.r===s?t.h=(i.g-i.b)/a:i.g===s?t.h=2+(i.b-i.r)/a:t.h=4+(i.r-i.g)/a:t.h=-1,t.h*=60,t.h<0&&(t.h+=360),t.s*=100/255,t.b*=100/255,t}function x(i){return i=parseInt(i.indexOf("#")>-1?i.substring(1):i,16),{r:i>>16,g:(65280&i)>>8,b:255&i}}$.minicolors={defaults:{animationSpeed:50,animationEasing:"swing",change:null,changeDelay:0,control:"hue",dataUris:!0,defaultValue:"",format:"hex",hide:null,hideSpeed:100,inline:!1,keywords:"",letterCase:"lowercase",opacity:!1,position:"bottom left",show:null,showSpeed:100,theme:"default",swatches:[]}},$.extend($.fn,{minicolors:function(a,n){switch(a){case"destroy":return $(this).each(function(){t($(this))}),$(this);case"hide":return s(),$(this);case"opacity":return void 0===n?$(this).attr("data-opacity"):($(this).each(function(){e($(this).attr("data-opacity",n))}),$(this));case"rgbObject":return l($(this),"rgbaObject"===a);case"rgbString":case"rgbaString":return h($(this),"rgbaString"===a);case"settings":return void 0===n?$(this).data("minicolors-settings"):($(this).each(function(){var i=$(this).data("minicolors-settings")||{};t($(this)),$(this).minicolors($.extend(!0,i,n))}),$(this));case"show":return o($(this).eq(0)),$(this);case"value":return void 0===n?$(this).val():($(this).each(function(){"object"==typeof n&&null!==typeof n?(n.opacity&&$(this).attr("data-opacity",m(n.opacity,0,1)),n.color&&$(this).val(n.color)):$(this).val(n),e($(this))}),$(this));default:return"create"!==a&&(n=a),$(this).each(function(){i($(this),n)}),$(this)}}}),$(document).on("mousedown.minicolors touchstart.minicolors",function(i){$(i.target).parents().add(i.target).hasClass("minicolors")||s()}).on("mousedown.minicolors touchstart.minicolors",".minicolors-grid, .minicolors-slider, .minicolors-opacity-slider",function(i){var t=$(this);i.preventDefault(),$(document).data("minicolors-target",t),a(t,i,!0)}).on("mousemove.minicolors touchmove.minicolors",function(i){var t=$(document).data("minicolors-target");t&&a(t,i)}).on("mouseup.minicolors touchend.minicolors",function(){$(this).removeData("minicolors-target")}).on("click.minicolors",".minicolors-swatches li",function(i){i.preventDefault();var t=$(this),o=t.parents(".minicolors").find(".minicolors-input"),s=t.data("swatch-color");r(o,s,v(s)),e(o)}).on("mousedown.minicolors touchstart.minicolors",".minicolors-input-swatch",function(i){var t=$(this).parent().find(".minicolors-input");i.preventDefault(),o(t)}).on("focus.minicolors",".minicolors-input",function(){var i=$(this);i.data("minicolors-initialized")&&o(i)}).on("blur.minicolors",".minicolors-input",function(){var i=$(this),t=i.data("minicolors-settings"),o,s,a,n,r;i.data("minicolors-initialized")&&(o=t.keywords?$.map(t.keywords.split(","),function(i){return $.trim(i.toLowerCase())}):[],""!==i.val()&&$.inArray(i.val().toLowerCase(),o)>-1?r=i.val():(f(i.val())?a=u(i.val(),!0):(s=p(i.val(),!0),a=s?x(s):null),r=null===a?t.defaultValue:"rgb"===t.format?u(t.opacity?"rgba("+a.r+","+a.g+","+a.b+","+i.attr("data-opacity")+")":"rgb("+a.r+","+a.g+","+a.b+")"):y(a)),n=t.opacity?i.attr("data-opacity"):1,"transparent"===r.toLowerCase()&&(n=0),i.closest(".minicolors").find(".minicolors-input-swatch > span").css("opacity",n),i.val(r),""===i.val()&&i.val(g(t.defaultValue,!0)),i.val(d(i.val(),t.letterCase)))}).on("keydown.minicolors",".minicolors-input",function(i){var t=$(this);if(t.data("minicolors-initialized"))switch(i.keyCode){case 9:s();break;case 13:case 27:s(),t.blur()}}).on("keyup.minicolors",".minicolors-input",function(){var i=$(this);i.data("minicolors-initialized")&&e(i,!0)}).on("paste.minicolors",".minicolors-input",function(){var i=$(this);i.data("minicolors-initialized")&&setTimeout(function(){e(i,!0)},1)})});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public/js/admin/selectize.js
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
/*! selectize.js - v0.12.4 | https://github.com/selectize/selectize.js | Apache License (v2) */
|
2 |
-
!function(a,b){"function"==typeof define&&define.amd?define("sifter",b):"object"==typeof exports?module.exports=b():a.Sifter=b()}(this,function(){var a=function(a,b){this.items=a,this.settings=b||{diacritics:!0}};a.prototype.tokenize=function(a){if(a=e(String(a||"").toLowerCase()),!a||!a.length)return[];var b,c,d,g,i=[],j=a.split(/ +/);for(b=0,c=j.length;b<c;b++){if(d=f(j[b]),this.settings.diacritics)for(g in h)h.hasOwnProperty(g)&&(d=d.replace(new RegExp(g,"g"),h[g]));i.push({string:j[b],regex:new RegExp(d,"i")})}return i},a.prototype.iterator=function(a,b){var c;c=g(a)?Array.prototype.forEach||function(a){for(var b=0,c=this.length;b<c;b++)a(this[b],b,this)}:function(a){for(var b in this)this.hasOwnProperty(b)&&a(this[b],b,this)},c.apply(a,[b])},a.prototype.getScoreFunction=function(a,b){var c,e,f,g,h;c=this,a=c.prepareSearch(a,b),f=a.tokens,e=a.options.fields,g=f.length,h=a.options.nesting;var i=function(a,b){var c,d;return a?(a=String(a||""),d=a.search(b.regex),d===-1?0:(c=b.string.length/a.length,0===d&&(c+=.5),c)):0},j=function(){var a=e.length;return a?1===a?function(a,b){return i(d(b,e[0],h),a)}:function(b,c){for(var f=0,g=0;f<a;f++)g+=i(d(c,e[f],h),b);return g/a}:function(){return 0}}();return g?1===g?function(a){return j(f[0],a)}:"and"===a.options.conjunction?function(a){for(var b,c=0,d=0;c<g;c++){if(b=j(f[c],a),b<=0)return 0;d+=b}return d/g}:function(a){for(var b=0,c=0;b<g;b++)c+=j(f[b],a);return c/g}:function(){return 0}},a.prototype.getSortFunction=function(a,c){var e,f,g,h,i,j,k,l,m,n,o;if(g=this,a=g.prepareSearch(a,c),o=!a.query&&c.sort_empty||c.sort,m=function(a,b){return"$score"===a?b.score:d(g.items[b.id],a,c.nesting)},i=[],o)for(e=0,f=o.length;e<f;e++)(a.query||"$score"!==o[e].field)&&i.push(o[e]);if(a.query){for(n=!0,e=0,f=i.length;e<f;e++)if("$score"===i[e].field){n=!1;break}n&&i.unshift({field:"$score",direction:"desc"})}else for(e=0,f=i.length;e<f;e++)if("$score"===i[e].field){i.splice(e,1);break}for(l=[],e=0,f=i.length;e<f;e++)l.push("desc"===i[e].direction?-1:1);return j=i.length,j?1===j?(h=i[0].field,k=l[0],function(a,c){return k*b(m(h,a),m(h,c))}):function(a,c){var d,e,f;for(d=0;d<j;d++)if(f=i[d].field,e=l[d]*b(m(f,a),m(f,c)))return e;return 0}:null},a.prototype.prepareSearch=function(a,b){if("object"==typeof a)return a;b=c({},b);var d=b.fields,e=b.sort,f=b.sort_empty;return d&&!g(d)&&(b.fields=[d]),e&&!g(e)&&(b.sort=[e]),f&&!g(f)&&(b.sort_empty=[f]),{options:b,query:String(a||"").toLowerCase(),tokens:this.tokenize(a),total:0,items:[]}},a.prototype.search=function(a,b){var c,d,e,f,g=this;return d=this.prepareSearch(a,b),b=d.options,a=d.query,f=b.score||g.getScoreFunction(d),a.length?g.iterator(g.items,function(a,e){c=f(a),(b.filter===!1||c>0)&&d.items.push({score:c,id:e})}):g.iterator(g.items,function(a,b){d.items.push({score:1,id:b})}),e=g.getSortFunction(d,b),e&&d.items.sort(e),d.total=d.items.length,"number"==typeof b.limit&&(d.items=d.items.slice(0,b.limit)),d};var b=function(a,b){return"number"==typeof a&&"number"==typeof b?a>b?1:a<b?-1:0:(a=i(String(a||"")),b=i(String(b||"")),a>b?1:b>a?-1:0)},c=function(a,b){var c,d,e,f;for(c=1,d=arguments.length;c<d;c++)if(f=arguments[c])for(e in f)f.hasOwnProperty(e)&&(a[e]=f[e]);return a},d=function(a,b,c){if(a&&b){if(!c)return a[b];for(var d=b.split(".");d.length&&(a=a[d.shift()]););return a}},e=function(a){return(a+"").replace(/^\s+|\s+$|/g,"")},f=function(a){return(a+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")},g=Array.isArray||"undefined"!=typeof $&&$.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},h={a:"[aḀḁĂăÂâǍǎȺⱥȦȧẠạÄäÀàÁáĀāÃãÅåąĄÃąĄ]",b:"[b␢βΒB฿𐌁ᛒ]",c:"[cĆćĈĉČčĊċC̄c̄ÇçḈḉȻȼƇƈɕᴄCc]",d:"[dĎďḊḋḐḑḌḍḒḓḎḏĐđD̦d̦ƉɖƊɗƋƌᵭᶁᶑȡᴅDdð]",e:"[eÉéÈèÊêḘḙĚěĔĕẼẽḚḛẺẻĖėËëĒēȨȩĘęᶒɆɇȄȅẾếỀềỄễỂểḜḝḖḗḔḕȆȇẸẹỆệⱸᴇEeɘǝƏƐε]",f:"[fƑƒḞḟ]",g:"[gɢ₲ǤǥĜĝĞğĢģƓɠĠġ]",h:"[hĤĥĦħḨḩẖẖḤḥḢḣɦʰǶƕ]",i:"[iÍíÌìĬĭÎîǏǐÏïḮḯĨĩĮįĪīỈỉȈȉȊȋỊịḬḭƗɨɨ̆ᵻᶖİiIıɪIi]",j:"[jȷĴĵɈɉʝɟʲ]",k:"[kƘƙꝀꝁḰḱǨǩḲḳḴḵκϰ₭]",l:"[lŁłĽľĻļĹĺḶḷḸḹḼḽḺḻĿŀȽƚⱠⱡⱢɫɬᶅɭȴʟLl]",n:"[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲȠƞᵰᶇɳȵɴNnŊŋ]",o:"[oØøÖöÓóÒòÔôǑǒŐőŎŏȮȯỌọƟɵƠơỎỏŌōÕõǪǫȌȍՕօ]",p:"[pṔṕṖṗⱣᵽƤƥᵱ]",q:"[qꝖꝗʠɊɋꝘꝙq̃]",r:"[rŔŕɌɍŘřŖŗṘṙȐȑȒȓṚṛⱤɽ]",s:"[sŚśṠṡṢṣꞨꞩŜŝŠšŞşȘșS̈s̈]",t:"[tŤťṪṫŢţṬṭƮʈȚțṰṱṮṯƬƭ]",u:"[uŬŭɄʉỤụÜüÚúÙùÛûǓǔŰűŬŭƯưỦủŪūŨũŲųȔȕ∪]",v:"[vṼṽṾṿƲʋꝞꝟⱱʋ]",w:"[wẂẃẀẁŴŵẄẅẆẇẈẉ]",x:"[xẌẍẊẋχ]",y:"[yÝýỲỳŶŷŸÿỸỹẎẏỴỵɎɏƳƴ]",z:"[zŹźẐẑŽžŻżẒẓẔẕƵƶ]"},i=function(){var a,b,c,d,e="",f={};for(c in h)if(h.hasOwnProperty(c))for(d=h[c].substring(2,h[c].length-1),e+=d,a=0,b=d.length;a<b;a++)f[d.charAt(a)]=c;var g=new RegExp("["+e+"]","g");return function(a){return a.replace(g,function(a){return f[a]}).toLowerCase()}}();return a}),function(a,b){"function"==typeof define&&define.amd?define("microplugin",b):"object"==typeof exports?module.exports=b():a.MicroPlugin=b()}(this,function(){var a={};a.mixin=function(a){a.plugins={},a.prototype.initializePlugins=function(a){var c,d,e,f=this,g=[];if(f.plugins={names:[],settings:{},requested:{},loaded:{}},b.isArray(a))for(c=0,d=a.length;c<d;c++)"string"==typeof a[c]?g.push(a[c]):(f.plugins.settings[a[c].name]=a[c].options,g.push(a[c].name));else if(a)for(e in a)a.hasOwnProperty(e)&&(f.plugins.settings[e]=a[e],g.push(e));for(;g.length;)f.require(g.shift())},a.prototype.loadPlugin=function(b){var c=this,d=c.plugins,e=a.plugins[b];if(!a.plugins.hasOwnProperty(b))throw new Error('Unable to find "'+b+'" plugin');d.requested[b]=!0,d.loaded[b]=e.fn.apply(c,[c.plugins.settings[b]||{}]),d.names.push(b)},a.prototype.require=function(a){var b=this,c=b.plugins;if(!b.plugins.loaded.hasOwnProperty(a)){if(c.requested[a])throw new Error('Plugin has circular dependency ("'+a+'")');b.loadPlugin(a)}return c.loaded[a]},a.define=function(b,c){a.plugins[b]={name:b,fn:c}}};var b={isArray:Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}};return a}),function(a,b){"function"==typeof define&&define.amd?define("selectize",["jquery","sifter","microplugin"],b):"object"==typeof exports?module.exports=b(require("jquery"),require("sifter"),require("microplugin")):a.Selectize=b(a.jQuery,a.Sifter,a.MicroPlugin)}(this,function(a,b,c){"use strict";var d=function(a,b){if("string"!=typeof b||b.length){var c="string"==typeof b?new RegExp(b,"i"):b,d=function(a){var b=0;if(3===a.nodeType){var e=a.data.search(c);if(e>=0&&a.data.length>0){var f=a.data.match(c),g=document.createElement("span");g.className="highlight";var h=a.splitText(e),i=(h.splitText(f[0].length),h.cloneNode(!0));g.appendChild(i),h.parentNode.replaceChild(g,h),b=1}}else if(1===a.nodeType&&a.childNodes&&!/(script|style)/i.test(a.tagName))for(var j=0;j<a.childNodes.length;++j)j+=d(a.childNodes[j]);return b};return a.each(function(){d(this)})}};a.fn.removeHighlight=function(){return this.find("span.highlight").each(function(){this.parentNode.firstChild.nodeName;var a=this.parentNode;a.replaceChild(this.firstChild,this),a.normalize()}).end()};var e=function(){};e.prototype={on:function(a,b){this._events=this._events||{},this._events[a]=this._events[a]||[],this._events[a].push(b)},off:function(a,b){var c=arguments.length;return 0===c?delete this._events:1===c?delete this._events[a]:(this._events=this._events||{},void(a in this._events!=!1&&this._events[a].splice(this._events[a].indexOf(b),1)))},trigger:function(a){if(this._events=this._events||{},a in this._events!=!1)for(var b=0;b<this._events[a].length;b++)this._events[a][b].apply(this,Array.prototype.slice.call(arguments,1))}},e.mixin=function(a){for(var b=["on","off","trigger"],c=0;c<b.length;c++)a.prototype[b[c]]=e.prototype[b[c]]};var f=/Mac/.test(navigator.userAgent),g=65,h=13,i=27,j=37,k=38,l=80,m=39,n=40,o=78,p=8,q=46,r=16,s=f?91:17,t=f?18:17,u=9,v=1,w=2,x=!/android/i.test(window.navigator.userAgent)&&!!document.createElement("input").validity,y=function(a){return"undefined"!=typeof a},z=function(a){return"undefined"==typeof a||null===a?null:"boolean"==typeof a?a?"1":"0":a+""},A=function(a){return(a+"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")},B={};B.before=function(a,b,c){var d=a[b];a[b]=function(){return c.apply(a,arguments),d.apply(a,arguments)}},B.after=function(a,b,c){var d=a[b];a[b]=function(){var b=d.apply(a,arguments);return c.apply(a,arguments),b}};var C=function(a){var b=!1;return function(){b||(b=!0,a.apply(this,arguments))}},D=function(a,b){var c;return function(){var d=this,e=arguments;window.clearTimeout(c),c=window.setTimeout(function(){a.apply(d,e)},b)}},E=function(a,b,c){var d,e=a.trigger,f={};a.trigger=function(){var c=arguments[0];return b.indexOf(c)===-1?e.apply(a,arguments):void(f[c]=arguments)},c.apply(a,[]),a.trigger=e;for(d in f)f.hasOwnProperty(d)&&e.apply(a,f[d])},F=function(a,b,c,d){a.on(b,c,function(b){for(var c=b.target;c&&c.parentNode!==a[0];)c=c.parentNode;return b.currentTarget=c,d.apply(this,[b])})},G=function(a){var b={};if("selectionStart"in a)b.start=a.selectionStart,b.length=a.selectionEnd-b.start;else if(document.selection){a.focus();var c=document.selection.createRange(),d=document.selection.createRange().text.length;c.moveStart("character",-a.value.length),b.start=c.text.length-d,b.length=d}return b},H=function(a,b,c){var d,e,f={};if(c)for(d=0,e=c.length;d<e;d++)f[c[d]]=a.css(c[d]);else f=a.css();b.css(f)},I=function(b,c){if(!b)return 0;var d=a("<test>").css({position:"absolute",top:-99999,left:-99999,width:"auto",padding:0,whiteSpace:"pre"}).text(b).appendTo("body");H(c,d,["letterSpacing","fontSize","fontFamily","fontWeight","textTransform"]);var e=d.width();return d.remove(),e},J=function(a){var b=null,c=function(c,d){var e,f,g,h,i,j,k,l;c=c||window.event||{},d=d||{},c.metaKey||c.altKey||(d.force||a.data("grow")!==!1)&&(e=a.val(),c.type&&"keydown"===c.type.toLowerCase()&&(f=c.keyCode,g=f>=97&&f<=122||f>=65&&f<=90||f>=48&&f<=57||32===f,f===q||f===p?(l=G(a[0]),l.length?e=e.substring(0,l.start)+e.substring(l.start+l.length):f===p&&l.start?e=e.substring(0,l.start-1)+e.substring(l.start+1):f===q&&"undefined"!=typeof l.start&&(e=e.substring(0,l.start)+e.substring(l.start+1))):g&&(j=c.shiftKey,k=String.fromCharCode(c.keyCode),k=j?k.toUpperCase():k.toLowerCase(),e+=k)),h=a.attr("placeholder"),!e&&h&&(e=h),i=I(e,a)+4,i!==b&&(b=i,a.width(i),a.triggerHandler("resize")))};a.on("keydown keyup update blur",c),c()},K=function(a){var b=document.createElement("div");return b.appendChild(a.cloneNode(!0)),b.innerHTML},L=function(a,b){b||(b={});var c="Selectize";console.error(c+": "+a),b.explanation&&(console.group&&console.group(),console.error(b.explanation),console.group&&console.groupEnd())},M=function(c,d){var e,f,g,h,i=this;h=c[0],h.selectize=i;var j=window.getComputedStyle&&window.getComputedStyle(h,null);if(g=j?j.getPropertyValue("direction"):h.currentStyle&&h.currentStyle.direction,g=g||c.parents("[dir]:first").attr("dir")||"",a.extend(i,{order:0,settings:d,$input:c,tabIndex:c.attr("tabindex")||"",tagType:"select"===h.tagName.toLowerCase()?v:w,rtl:/rtl/i.test(g),eventNS:".selectize"+ ++M.count,highlightedValue:null,isOpen:!1,isDisabled:!1,isRequired:c.is("[required]"),isInvalid:!1,isLocked:!1,isFocused:!1,isInputHidden:!1,isSetup:!1,isShiftDown:!1,isCmdDown:!1,isCtrlDown:!1,ignoreFocus:!1,ignoreBlur:!1,ignoreHover:!1,hasOptions:!1,currentResults:null,lastValue:"",caretPos:0,loading:0,loadedSearches:{},$activeOption:null,$activeItems:[],optgroups:{},options:{},userOptions:{},items:[],renderCache:{},onSearchChange:null===d.loadThrottle?i.onSearchChange:D(i.onSearchChange,d.loadThrottle)}),i.sifter=new b(this.options,{diacritics:d.diacritics}),i.settings.options){for(e=0,f=i.settings.options.length;e<f;e++)i.registerOption(i.settings.options[e]);delete i.settings.options}if(i.settings.optgroups){for(e=0,f=i.settings.optgroups.length;e<f;e++)i.registerOptionGroup(i.settings.optgroups[e]);delete i.settings.optgroups}i.settings.mode=i.settings.mode||(1===i.settings.maxItems?"single":"multi"),"boolean"!=typeof i.settings.hideSelected&&(i.settings.hideSelected="multi"===i.settings.mode),i.initializePlugins(i.settings.plugins),i.setupCallbacks(),i.setupTemplates(),i.setup()};return e.mixin(M),"undefined"!=typeof c?c.mixin(M):L("Dependency MicroPlugin is missing",{explanation:'Make sure you either: (1) are using the "standalone" version of Selectize, or (2) require MicroPlugin before you load Selectize.'}),a.extend(M.prototype,{setup:function(){var b,c,d,e,g,h,i,j,k,l,m=this,n=m.settings,o=m.eventNS,p=a(window),q=a(document),u=m.$input;if(i=m.settings.mode,j=u.attr("class")||"",b=a("<div>").addClass(n.wrapperClass).addClass(j).addClass(i),c=a("<div>").addClass(n.inputClass).addClass("items").appendTo(b),d=a('<input type="text" autocomplete="off" />').appendTo(c).attr("tabindex",u.is(":disabled")?"-1":m.tabIndex),h=a(n.dropdownParent||b),e=a("<div>").addClass(n.dropdownClass).addClass(i).hide().appendTo(h),g=a("<div>").addClass(n.dropdownContentClass).appendTo(e),(l=u.attr("id"))&&(d.attr("id",l+"-selectized"),a("label[for='"+l+"']").attr("for",l+"-selectized")),m.settings.copyClassesToDropdown&&e.addClass(j),b.css({width:u[0].style.width}),m.plugins.names.length&&(k="plugin-"+m.plugins.names.join(" plugin-"),b.addClass(k),e.addClass(k)),(null===n.maxItems||n.maxItems>1)&&m.tagType===v&&u.attr("multiple","multiple"),m.settings.placeholder&&d.attr("placeholder",n.placeholder),!m.settings.splitOn&&m.settings.delimiter){var w=m.settings.delimiter.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");m.settings.splitOn=new RegExp("\\s*"+w+"+\\s*")}u.attr("autocorrect")&&d.attr("autocorrect",u.attr("autocorrect")),u.attr("autocapitalize")&&d.attr("autocapitalize",u.attr("autocapitalize")),m.$wrapper=b,m.$control=c,m.$control_input=d,m.$dropdown=e,m.$dropdown_content=g,e.on("mouseenter","[data-selectable]",function(){return m.onOptionHover.apply(m,arguments)}),e.on("mousedown click","[data-selectable]",function(){return m.onOptionSelect.apply(m,arguments)}),F(c,"mousedown","*:not(input)",function(){return m.onItemSelect.apply(m,arguments)}),J(d),c.on({mousedown:function(){return m.onMouseDown.apply(m,arguments)},click:function(){return m.onClick.apply(m,arguments)}}),d.on({mousedown:function(a){a.stopPropagation()},keydown:function(){return m.onKeyDown.apply(m,arguments)},keyup:function(){return m.onKeyUp.apply(m,arguments)},keypress:function(){return m.onKeyPress.apply(m,arguments)},resize:function(){m.positionDropdown.apply(m,[])},blur:function(){return m.onBlur.apply(m,arguments)},focus:function(){return m.ignoreBlur=!1,m.onFocus.apply(m,arguments)},paste:function(){return m.onPaste.apply(m,arguments)}}),q.on("keydown"+o,function(a){m.isCmdDown=a[f?"metaKey":"ctrlKey"],m.isCtrlDown=a[f?"altKey":"ctrlKey"],m.isShiftDown=a.shiftKey}),q.on("keyup"+o,function(a){a.keyCode===t&&(m.isCtrlDown=!1),a.keyCode===r&&(m.isShiftDown=!1),a.keyCode===s&&(m.isCmdDown=!1)}),q.on("mousedown"+o,function(a){if(m.isFocused){if(a.target===m.$dropdown[0]||a.target.parentNode===m.$dropdown[0])return!1;m.$control.has(a.target).length||a.target===m.$control[0]||m.blur(a.target)}}),p.on(["scroll"+o,"resize"+o].join(" "),function(){m.isOpen&&m.positionDropdown.apply(m,arguments)}),p.on("mousemove"+o,function(){m.ignoreHover=!1}),this.revertSettings={$children:u.children().detach(),tabindex:u.attr("tabindex")},u.attr("tabindex",-1).hide().after(m.$wrapper),a.isArray(n.items)&&(m.setValue(n.items),delete n.items),x&&u.on("invalid"+o,function(a){a.preventDefault(),m.isInvalid=!0,m.refreshState()}),m.updateOriginalInput(),m.refreshItems(),m.refreshState(),m.updatePlaceholder(),m.isSetup=!0,u.is(":disabled")&&m.disable(),m.on("change",this.onChange),u.data("selectize",m),u.addClass("selectized"),m.trigger("initialize"),n.preload===!0&&m.onSearchChange("")},setupTemplates:function(){var b=this,c=b.settings.labelField,d=b.settings.optgroupLabelField,e={optgroup:function(a){return'<div class="optgroup">'+a.html+"</div>"},optgroup_header:function(a,b){return'<div class="optgroup-header">'+b(a[d])+"</div>"},option:function(a,b){return'<div class="option">'+b(a[c])+"</div>"},item:function(a,b){return'<div class="item">'+b(a[c])+"</div>"},option_create:function(a,b){return'<div class="create">Add <strong>'+b(a.input)+"</strong>…</div>"}};b.settings.render=a.extend({},e,b.settings.render)},setupCallbacks:function(){var a,b,c={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"};for(a in c)c.hasOwnProperty(a)&&(b=this.settings[c[a]],b&&this.on(a,b))},onClick:function(a){var b=this;b.isFocused||(b.focus(),a.preventDefault())},onMouseDown:function(b){var c=this,d=b.isDefaultPrevented();a(b.target);if(c.isFocused){if(b.target!==c.$control_input[0])return"single"===c.settings.mode?c.isOpen?c.close():c.open():d||c.setActiveItem(null),!1}else d||window.setTimeout(function(){c.focus()},0)},onChange:function(){this.$input.trigger("change")},onPaste:function(b){var c=this;return c.isFull()||c.isInputHidden||c.isLocked?void b.preventDefault():void(c.settings.splitOn&&setTimeout(function(){var b=c.$control_input.val();if(b.match(c.settings.splitOn))for(var d=a.trim(b).split(c.settings.splitOn),e=0,f=d.length;e<f;e++)c.createItem(d[e])},0))},onKeyPress:function(a){if(this.isLocked)return a&&a.preventDefault();var b=String.fromCharCode(a.keyCode||a.which);return this.settings.create&&"multi"===this.settings.mode&&b===this.settings.delimiter?(this.createItem(),a.preventDefault(),!1):void 0},onKeyDown:function(a){var b=(a.target===this.$control_input[0],this);if(b.isLocked)return void(a.keyCode!==u&&a.preventDefault());switch(a.keyCode){case g:if(b.isCmdDown)return void b.selectAll();break;case i:return void(b.isOpen&&(a.preventDefault(),a.stopPropagation(),b.close()));case o:if(!a.ctrlKey||a.altKey)break;case n:if(!b.isOpen&&b.hasOptions)b.open();else if(b.$activeOption){b.ignoreHover=!0;var c=b.getAdjacentOption(b.$activeOption,1);c.length&&b.setActiveOption(c,!0,!0)}return void a.preventDefault();case l:if(!a.ctrlKey||a.altKey)break;case k:if(b.$activeOption){b.ignoreHover=!0;var d=b.getAdjacentOption(b.$activeOption,-1);d.length&&b.setActiveOption(d,!0,!0)}return void a.preventDefault();case h:return void(b.isOpen&&b.$activeOption&&(b.onOptionSelect({currentTarget:b.$activeOption}),a.preventDefault()));case j:return void b.advanceSelection(-1,a);case m:return void b.advanceSelection(1,a);case u:return b.settings.selectOnTab&&b.isOpen&&b.$activeOption&&(b.onOptionSelect({currentTarget:b.$activeOption}),b.isFull()||a.preventDefault()),void(b.settings.create&&b.createItem()&&a.preventDefault());case p:case q:return void b.deleteSelection(a)}return!b.isFull()&&!b.isInputHidden||(f?a.metaKey:a.ctrlKey)?void 0:void a.preventDefault()},onKeyUp:function(a){var b=this;if(b.isLocked)return a&&a.preventDefault();var c=b.$control_input.val()||"";b.lastValue!==c&&(b.lastValue=c,b.onSearchChange(c),b.refreshOptions(),b.trigger("type",c))},onSearchChange:function(a){var b=this,c=b.settings.load;c&&(b.loadedSearches.hasOwnProperty(a)||(b.loadedSearches[a]=!0,b.load(function(d){c.apply(b,[a,d])})))},onFocus:function(a){var b=this,c=b.isFocused;return b.isDisabled?(b.blur(),a&&a.preventDefault(),!1):void(b.ignoreFocus||(b.isFocused=!0,"focus"===b.settings.preload&&b.onSearchChange(""),c||b.trigger("focus"),b.$activeItems.length||(b.showInput(),b.setActiveItem(null),b.refreshOptions(!!b.settings.openOnFocus)),b.refreshState()))},onBlur:function(a,b){var c=this;if(c.isFocused&&(c.isFocused=!1,!c.ignoreFocus)){if(!c.ignoreBlur&&document.activeElement===c.$dropdown_content[0])return c.ignoreBlur=!0,void c.onFocus(a);var d=function(){c.close(),c.setTextboxValue(""),c.setActiveItem(null),c.setActiveOption(null),c.setCaret(c.items.length),c.refreshState(),b&&b.focus&&b.focus(),c.ignoreFocus=!1,c.trigger("blur")};c.ignoreFocus=!0,c.settings.create&&c.settings.createOnBlur?c.createItem(null,!1,d):d()}},onOptionHover:function(a){this.ignoreHover||this.setActiveOption(a.currentTarget,!1)},onOptionSelect:function(b){var c,d,e=this;b.preventDefault&&(b.preventDefault(),b.stopPropagation()),d=a(b.currentTarget),d.hasClass("create")?e.createItem(null,function(){e.settings.closeAfterSelect&&e.close()}):(c=d.attr("data-value"),"undefined"!=typeof c&&(e.lastQuery=null,e.setTextboxValue(""),e.addItem(c),e.settings.closeAfterSelect?e.close():!e.settings.hideSelected&&b.type&&/mouse/.test(b.type)&&e.setActiveOption(e.getOption(c))))},onItemSelect:function(a){var b=this;b.isLocked||"multi"===b.settings.mode&&(a.preventDefault(),b.setActiveItem(a.currentTarget,a))},load:function(a){var b=this,c=b.$wrapper.addClass(b.settings.loadingClass);b.loading++,a.apply(b,[function(a){b.loading=Math.max(b.loading-1,0),a&&a.length&&(b.addOption(a),b.refreshOptions(b.isFocused&&!b.isInputHidden)),b.loading||c.removeClass(b.settings.loadingClass),b.trigger("load",a)}])},setTextboxValue:function(a){var b=this.$control_input,c=b.val()!==a;c&&(b.val(a).triggerHandler("update"),this.lastValue=a)},getValue:function(){return this.tagType===v&&this.$input.attr("multiple")?this.items:this.items.join(this.settings.delimiter)},setValue:function(a,b){var c=b?[]:["change"];E(this,c,function(){this.clear(b),this.addItems(a,b)})},setActiveItem:function(b,c){var d,e,f,g,h,i,j,k,l=this;if("single"!==l.settings.mode){if(b=a(b),!b.length)return a(l.$activeItems).removeClass("active"),l.$activeItems=[],void(l.isFocused&&l.showInput());if(d=c&&c.type.toLowerCase(),"mousedown"===d&&l.isShiftDown&&l.$activeItems.length){for(k=l.$control.children(".active:last"),g=Array.prototype.indexOf.apply(l.$control[0].childNodes,[k[0]]),h=Array.prototype.indexOf.apply(l.$control[0].childNodes,[b[0]]),g>h&&(j=g,g=h,h=j),e=g;e<=h;e++)i=l.$control[0].childNodes[e],l.$activeItems.indexOf(i)===-1&&(a(i).addClass("active"),l.$activeItems.push(i));c.preventDefault()}else"mousedown"===d&&l.isCtrlDown||"keydown"===d&&this.isShiftDown?b.hasClass("active")?(f=l.$activeItems.indexOf(b[0]),l.$activeItems.splice(f,1),b.removeClass("active")):l.$activeItems.push(b.addClass("active")[0]):(a(l.$activeItems).removeClass("active"),l.$activeItems=[b.addClass("active")[0]]);l.hideInput(),this.isFocused||l.focus()}},setActiveOption:function(b,c,d){var e,f,g,h,i,j=this;j.$activeOption&&j.$activeOption.removeClass("active"),j.$activeOption=null,b=a(b),b.length&&(j.$activeOption=b.addClass("active"),!c&&y(c)||(e=j.$dropdown_content.height(),f=j.$activeOption.outerHeight(!0),c=j.$dropdown_content.scrollTop()||0,g=j.$activeOption.offset().top-j.$dropdown_content.offset().top+c,h=g,i=g-e+f,g+f>e+c?j.$dropdown_content.stop().animate({scrollTop:i},d?j.settings.scrollDuration:0):g<c&&j.$dropdown_content.stop().animate({scrollTop:h},d?j.settings.scrollDuration:0)))},selectAll:function(){var a=this;"single"!==a.settings.mode&&(a.$activeItems=Array.prototype.slice.apply(a.$control.children(":not(input)").addClass("active")),a.$activeItems.length&&(a.hideInput(),a.close()),a.focus())},hideInput:function(){var a=this;a.setTextboxValue(""),a.$control_input.css({opacity:0,position:"absolute",left:a.rtl?1e4:-1e4}),a.isInputHidden=!0},showInput:function(){this.$control_input.css({opacity:1,position:"relative",left:0}),this.isInputHidden=!1},focus:function(){var a=this;a.isDisabled||(a.ignoreFocus=!0,a.$control_input[0].focus(),window.setTimeout(function(){a.ignoreFocus=!1,a.onFocus()},0))},blur:function(a){this.$control_input[0].blur(),this.onBlur(null,a)},getScoreFunction:function(a){return this.sifter.getScoreFunction(a,this.getSearchOptions())},getSearchOptions:function(){var a=this.settings,b=a.sortField;return"string"==typeof b&&(b=[{field:b}]),{fields:a.searchField,conjunction:a.searchConjunction,sort:b}},search:function(b){var c,d,e,f=this,g=f.settings,h=this.getSearchOptions();if(g.score&&(e=f.settings.score.apply(this,[b]),"function"!=typeof e))throw new Error('Selectize "score" setting must be a function that returns a function');if(b!==f.lastQuery?(f.lastQuery=b,d=f.sifter.search(b,a.extend(h,{score:e})),f.currentResults=d):d=a.extend(!0,{},f.currentResults),g.hideSelected)for(c=d.items.length-1;c>=0;c--)f.items.indexOf(z(d.items[c].id))!==-1&&d.items.splice(c,1);return d},refreshOptions:function(b){var c,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;"undefined"==typeof b&&(b=!0);var t=this,u=a.trim(t.$control_input.val()),v=t.search(u),w=t.$dropdown_content,x=t.$activeOption&&z(t.$activeOption.attr("data-value"));for(g=v.items.length,"number"==typeof t.settings.maxOptions&&(g=Math.min(g,t.settings.maxOptions)),h={},i=[],c=0;c<g;c++)for(j=t.options[v.items[c].id],k=t.render("option",j),l=j[t.settings.optgroupField]||"",m=a.isArray(l)?l:[l],e=0,f=m&&m.length;e<f;e++)l=m[e],t.optgroups.hasOwnProperty(l)||(l=""),h.hasOwnProperty(l)||(h[l]=document.createDocumentFragment(),i.push(l)),h[l].appendChild(k);for(this.settings.lockOptgroupOrder&&i.sort(function(a,b){var c=t.optgroups[a].$order||0,d=t.optgroups[b].$order||0;return c-d}),n=document.createDocumentFragment(),c=0,g=i.length;c<g;c++)l=i[c],t.optgroups.hasOwnProperty(l)&&h[l].childNodes.length?(o=document.createDocumentFragment(),o.appendChild(t.render("optgroup_header",t.optgroups[l])),o.appendChild(h[l]),n.appendChild(t.render("optgroup",a.extend({},t.optgroups[l],{html:K(o),dom:o})))):n.appendChild(h[l]);if(w.html(n),t.settings.highlight&&v.query.length&&v.tokens.length)for(w.removeHighlight(),c=0,g=v.tokens.length;c<g;c++)d(w,v.tokens[c].regex);if(!t.settings.hideSelected)for(c=0,g=t.items.length;c<g;c++)t.getOption(t.items[c]).addClass("selected");p=t.canCreate(u),p&&(w.prepend(t.render("option_create",{input:u})),s=a(w[0].childNodes[0])),t.hasOptions=v.items.length>0||p,t.hasOptions?(v.items.length>0?(r=x&&t.getOption(x),r&&r.length?q=r:"single"===t.settings.mode&&t.items.length&&(q=t.getOption(t.items[0])),q&&q.length||(q=s&&!t.settings.addPrecedence?t.getAdjacentOption(s,1):w.find("[data-selectable]:first"))):q=s,t.setActiveOption(q),b&&!t.isOpen&&t.open()):(t.setActiveOption(null),b&&t.isOpen&&t.close())},addOption:function(b){var c,d,e,f=this;if(a.isArray(b))for(c=0,d=b.length;c<d;c++)f.addOption(b[c]);else(e=f.registerOption(b))&&(f.userOptions[e]=!0,f.lastQuery=null,f.trigger("option_add",e,b))},registerOption:function(a){var b=z(a[this.settings.valueField]);return"undefined"!=typeof b&&null!==b&&!this.options.hasOwnProperty(b)&&(a.$order=a.$order||++this.order,this.options[b]=a,b)},registerOptionGroup:function(a){var b=z(a[this.settings.optgroupValueField]);return!!b&&(a.$order=a.$order||++this.order,this.optgroups[b]=a,b)},addOptionGroup:function(a,b){b[this.settings.optgroupValueField]=a,(a=this.registerOptionGroup(b))&&this.trigger("optgroup_add",a,b)},removeOptionGroup:function(a){this.optgroups.hasOwnProperty(a)&&(delete this.optgroups[a],this.renderCache={},this.trigger("optgroup_remove",a))},clearOptionGroups:function(){this.optgroups={},this.renderCache={},this.trigger("optgroup_clear")},updateOption:function(b,c){var d,e,f,g,h,i,j,k=this;if(b=z(b),f=z(c[k.settings.valueField]),null!==b&&k.options.hasOwnProperty(b)){if("string"!=typeof f)throw new Error("Value must be set in option data");j=k.options[b].$order,f!==b&&(delete k.options[b],g=k.items.indexOf(b),g!==-1&&k.items.splice(g,1,f)),c.$order=c.$order||j,k.options[f]=c,h=k.renderCache.item,i=k.renderCache.option,h&&(delete h[b],delete h[f]),i&&(delete i[b],delete i[f]),k.items.indexOf(f)!==-1&&(d=k.getItem(b),e=a(k.render("item",c)),d.hasClass("active")&&e.addClass("active"),d.replaceWith(e)),k.lastQuery=null,k.isOpen&&k.refreshOptions(!1)}},removeOption:function(a,b){var c=this;a=z(a);var d=c.renderCache.item,e=c.renderCache.option;d&&delete d[a],e&&delete e[a],delete c.userOptions[a],delete c.options[a],c.lastQuery=null,c.trigger("option_remove",a),c.removeItem(a,b)},clearOptions:function(){var a=this;a.loadedSearches={},a.userOptions={},a.renderCache={},a.options=a.sifter.items={},a.lastQuery=null,a.trigger("option_clear"),a.clear()},getOption:function(a){return this.getElementWithValue(a,this.$dropdown_content.find("[data-selectable]"))},getAdjacentOption:function(b,c){var d=this.$dropdown.find("[data-selectable]"),e=d.index(b)+c;return e>=0&&e<d.length?d.eq(e):a()},getElementWithValue:function(b,c){if(b=z(b),"undefined"!=typeof b&&null!==b)for(var d=0,e=c.length;d<e;d++)if(c[d].getAttribute("data-value")===b)return a(c[d]);return a()},getItem:function(a){return this.getElementWithValue(a,this.$control.children())},addItems:function(b,c){for(var d=a.isArray(b)?b:[b],e=0,f=d.length;e<f;e++)this.isPending=e<f-1,this.addItem(d[e],c)},addItem:function(b,c){var d=c?[]:["change"];E(this,d,function(){var d,e,f,g,h,i=this,j=i.settings.mode;return b=z(b),i.items.indexOf(b)!==-1?void("single"===j&&i.close()):void(i.options.hasOwnProperty(b)&&("single"===j&&i.clear(c),"multi"===j&&i.isFull()||(d=a(i.render("item",i.options[b])),h=i.isFull(),i.items.splice(i.caretPos,0,b),i.insertAtCaret(d),(!i.isPending||!h&&i.isFull())&&i.refreshState(),i.isSetup&&(f=i.$dropdown_content.find("[data-selectable]"),i.isPending||(e=i.getOption(b),g=i.getAdjacentOption(e,1).attr("data-value"),i.refreshOptions(i.isFocused&&"single"!==j),g&&i.setActiveOption(i.getOption(g))),!f.length||i.isFull()?i.close():i.positionDropdown(),i.updatePlaceholder(),i.trigger("item_add",b,d),i.updateOriginalInput({silent:c})))))})},removeItem:function(b,c){var d,e,f,g=this;d=b instanceof a?b:g.getItem(b),b=z(d.attr("data-value")),e=g.items.indexOf(b),e!==-1&&(d.remove(),d.hasClass("active")&&(f=g.$activeItems.indexOf(d[0]),g.$activeItems.splice(f,1)),g.items.splice(e,1),g.lastQuery=null,!g.settings.persist&&g.userOptions.hasOwnProperty(b)&&g.removeOption(b,c),e<g.caretPos&&g.setCaret(g.caretPos-1),g.refreshState(),g.updatePlaceholder(),g.updateOriginalInput({silent:c}),g.positionDropdown(),g.trigger("item_remove",b,d))},createItem:function(b,c){var d=this,e=d.caretPos;b=b||a.trim(d.$control_input.val()||"");var f=arguments[arguments.length-1];if("function"!=typeof f&&(f=function(){}),"boolean"!=typeof c&&(c=!0),!d.canCreate(b))return f(),!1;d.lock();var g="function"==typeof d.settings.create?this.settings.create:function(a){var b={};return b[d.settings.labelField]=a,b[d.settings.valueField]=a,b},h=C(function(a){if(d.unlock(),!a||"object"!=typeof a)return f();var b=z(a[d.settings.valueField]);return"string"!=typeof b?f():(d.setTextboxValue(""),d.addOption(a),d.setCaret(e),d.addItem(b),d.refreshOptions(c&&"single"!==d.settings.mode),void f(a))}),i=g.apply(this,[b,h]);return"undefined"!=typeof i&&h(i),!0},refreshItems:function(){this.lastQuery=null,this.isSetup&&this.addItem(this.items),this.refreshState(),this.updateOriginalInput()},refreshState:function(){this.refreshValidityState(),this.refreshClasses()},refreshValidityState:function(){if(!this.isRequired)return!1;var a=!this.items.length;this.isInvalid=a,this.$control_input.prop("required",a),this.$input.prop("required",!a)},refreshClasses:function(){var b=this,c=b.isFull(),d=b.isLocked;b.$wrapper.toggleClass("rtl",b.rtl),b.$control.toggleClass("focus",b.isFocused).toggleClass("disabled",b.isDisabled).toggleClass("required",b.isRequired).toggleClass("invalid",b.isInvalid).toggleClass("locked",d).toggleClass("full",c).toggleClass("not-full",!c).toggleClass("input-active",b.isFocused&&!b.isInputHidden).toggleClass("dropdown-active",b.isOpen).toggleClass("has-options",!a.isEmptyObject(b.options)).toggleClass("has-items",b.items.length>0),b.$control_input.data("grow",!c&&!d)},isFull:function(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems},updateOriginalInput:function(a){var b,c,d,e,f=this;if(a=a||{},f.tagType===v){for(d=[],b=0,c=f.items.length;b<c;b++)e=f.options[f.items[b]][f.settings.labelField]||"",d.push('<option value="'+A(f.items[b])+'" selected="selected">'+A(e)+"</option>");d.length||this.$input.attr("multiple")||d.push('<option value="" selected="selected"></option>'),
|
3 |
-
f.$input.html(d.join(""))}else f.$input.val(f.getValue()),f.$input.attr("value",f.$input.val());f.isSetup&&(a.silent||f.trigger("change",f.$input.val()))},updatePlaceholder:function(){if(this.settings.placeholder){var a=this.$control_input;this.items.length?a.removeAttr("placeholder"):a.attr("placeholder",this.settings.placeholder),a.triggerHandler("update",{force:!0})}},open:function(){var a=this;a.isLocked||a.isOpen||"multi"===a.settings.mode&&a.isFull()||(a.focus(),a.isOpen=!0,a.refreshState(),a.$dropdown.css({visibility:"hidden",display:"block"}),a.positionDropdown(),a.$dropdown.css({visibility:"visible"}),a.trigger("dropdown_open",a.$dropdown))},close:function(){var a=this,b=a.isOpen;"single"===a.settings.mode&&a.items.length&&(a.hideInput(),a.$control_input.blur()),a.isOpen=!1,a.$dropdown.hide(),a.setActiveOption(null),a.refreshState(),b&&a.trigger("dropdown_close",a.$dropdown)},positionDropdown:function(){var a=this.$control,b="body"===this.settings.dropdownParent?a.offset():a.position();b.top+=a.outerHeight(!0),this.$dropdown.css({width:a.outerWidth(),top:b.top,left:b.left})},clear:function(a){var b=this;b.items.length&&(b.$control.children(":not(input)").remove(),b.items=[],b.lastQuery=null,b.setCaret(0),b.setActiveItem(null),b.updatePlaceholder(),b.updateOriginalInput({silent:a}),b.refreshState(),b.showInput(),b.trigger("clear"))},insertAtCaret:function(b){var c=Math.min(this.caretPos,this.items.length);0===c?this.$control.prepend(b):a(this.$control[0].childNodes[c]).before(b),this.setCaret(c+1)},deleteSelection:function(b){var c,d,e,f,g,h,i,j,k,l=this;if(e=b&&b.keyCode===p?-1:1,f=G(l.$control_input[0]),l.$activeOption&&!l.settings.hideSelected&&(i=l.getAdjacentOption(l.$activeOption,-1).attr("data-value")),g=[],l.$activeItems.length){for(k=l.$control.children(".active:"+(e>0?"last":"first")),h=l.$control.children(":not(input)").index(k),e>0&&h++,c=0,d=l.$activeItems.length;c<d;c++)g.push(a(l.$activeItems[c]).attr("data-value"));b&&(b.preventDefault(),b.stopPropagation())}else(l.isFocused||"single"===l.settings.mode)&&l.items.length&&(e<0&&0===f.start&&0===f.length?g.push(l.items[l.caretPos-1]):e>0&&f.start===l.$control_input.val().length&&g.push(l.items[l.caretPos]));if(!g.length||"function"==typeof l.settings.onDelete&&l.settings.onDelete.apply(l,[g])===!1)return!1;for("undefined"!=typeof h&&l.setCaret(h);g.length;)l.removeItem(g.pop());return l.showInput(),l.positionDropdown(),l.refreshOptions(!0),i&&(j=l.getOption(i),j.length&&l.setActiveOption(j)),!0},advanceSelection:function(a,b){var c,d,e,f,g,h,i=this;0!==a&&(i.rtl&&(a*=-1),c=a>0?"last":"first",d=G(i.$control_input[0]),i.isFocused&&!i.isInputHidden?(f=i.$control_input.val().length,g=a<0?0===d.start&&0===d.length:d.start===f,g&&!f&&i.advanceCaret(a,b)):(h=i.$control.children(".active:"+c),h.length&&(e=i.$control.children(":not(input)").index(h),i.setActiveItem(null),i.setCaret(a>0?e+1:e))))},advanceCaret:function(a,b){var c,d,e=this;0!==a&&(c=a>0?"next":"prev",e.isShiftDown?(d=e.$control_input[c](),d.length&&(e.hideInput(),e.setActiveItem(d),b&&b.preventDefault())):e.setCaret(e.caretPos+a))},setCaret:function(b){var c=this;if(b="single"===c.settings.mode?c.items.length:Math.max(0,Math.min(c.items.length,b)),!c.isPending){var d,e,f,g;for(f=c.$control.children(":not(input)"),d=0,e=f.length;d<e;d++)g=a(f[d]).detach(),d<b?c.$control_input.before(g):c.$control.append(g)}c.caretPos=b},lock:function(){this.close(),this.isLocked=!0,this.refreshState()},unlock:function(){this.isLocked=!1,this.refreshState()},disable:function(){var a=this;a.$input.prop("disabled",!0),a.$control_input.prop("disabled",!0).prop("tabindex",-1),a.isDisabled=!0,a.lock()},enable:function(){var a=this;a.$input.prop("disabled",!1),a.$control_input.prop("disabled",!1).prop("tabindex",a.tabIndex),a.isDisabled=!1,a.unlock()},destroy:function(){var b=this,c=b.eventNS,d=b.revertSettings;b.trigger("destroy"),b.off(),b.$wrapper.remove(),b.$dropdown.remove(),b.$input.html("").append(d.$children).removeAttr("tabindex").removeClass("selectized").attr({tabindex:d.tabindex}).show(),b.$control_input.removeData("grow"),b.$input.removeData("selectize"),a(window).off(c),a(document).off(c),a(document.body).off(c),delete b.$input[0].selectize},render:function(b,c){var d,e,f="",g=!1,h=this;return"option"!==b&&"item"!==b||(d=z(c[h.settings.valueField]),g=!!d),g&&(y(h.renderCache[b])||(h.renderCache[b]={}),h.renderCache[b].hasOwnProperty(d))?h.renderCache[b][d]:(f=a(h.settings.render[b].apply(this,[c,A])),"option"===b||"option_create"===b?f.attr("data-selectable",""):"optgroup"===b&&(e=c[h.settings.optgroupValueField]||"",f.attr("data-group",e)),"option"!==b&&"item"!==b||f.attr("data-value",d||""),g&&(h.renderCache[b][d]=f[0]),f[0])},clearCache:function(a){var b=this;"undefined"==typeof a?b.renderCache={}:delete b.renderCache[a]},canCreate:function(a){var b=this;if(!b.settings.create)return!1;var c=b.settings.createFilter;return a.length&&("function"!=typeof c||c.apply(b,[a]))&&("string"!=typeof c||new RegExp(c).test(a))&&(!(c instanceof RegExp)||c.test(a))}}),M.count=0,M.defaults={options:[],optgroups:[],plugins:[],delimiter:",",splitOn:null,persist:!0,diacritics:!0,create:!1,createOnBlur:!1,createFilter:null,highlight:!0,openOnFocus:!0,maxOptions:1e3,maxItems:null,hideSelected:null,addPrecedence:!1,selectOnTab:!1,preload:!1,allowEmptyOption:!1,closeAfterSelect:!1,scrollDuration:60,loadThrottle:300,loadingClass:"loading",dataAttr:"data-data",optgroupField:"optgroup",valueField:"value",labelField:"text",optgroupLabelField:"label",optgroupValueField:"value",lockOptgroupOrder:!1,sortField:"$order",searchField:["text"],searchConjunction:"and",mode:null,wrapperClass:"selectize-control",inputClass:"selectize-input",dropdownClass:"selectize-dropdown",dropdownContentClass:"selectize-dropdown-content",dropdownParent:null,copyClassesToDropdown:!0,render:{}},a.fn.selectize=function(b){var c=a.fn.selectize.defaults,d=a.extend({},c,b),e=d.dataAttr,f=d.labelField,g=d.valueField,h=d.optgroupField,i=d.optgroupLabelField,j=d.optgroupValueField,k=function(b,c){var h,i,j,k,l=b.attr(e);if(l)for(c.options=JSON.parse(l),h=0,i=c.options.length;h<i;h++)c.items.push(c.options[h][g]);else{var m=a.trim(b.val()||"");if(!d.allowEmptyOption&&!m.length)return;for(j=m.split(d.delimiter),h=0,i=j.length;h<i;h++)k={},k[f]=j[h],k[g]=j[h],c.options.push(k);c.items=j}},l=function(b,c){var k,l,m,n,o=c.options,p={},q=function(a){var b=e&&a.attr(e);return"string"==typeof b&&b.length?JSON.parse(b):null},r=function(b,e){b=a(b);var i=z(b.val());if(i||d.allowEmptyOption)if(p.hasOwnProperty(i)){if(e){var j=p[i][h];j?a.isArray(j)?j.push(e):p[i][h]=[j,e]:p[i][h]=e}}else{var k=q(b)||{};k[f]=k[f]||b.text(),k[g]=k[g]||i,k[h]=k[h]||e,p[i]=k,o.push(k),b.is(":selected")&&c.items.push(i)}},s=function(b){var d,e,f,g,h;for(b=a(b),f=b.attr("label"),f&&(g=q(b)||{},g[i]=f,g[j]=f,c.optgroups.push(g)),h=a("option",b),d=0,e=h.length;d<e;d++)r(h[d],f)};for(c.maxItems=b.attr("multiple")?null:1,n=b.children(),k=0,l=n.length;k<l;k++)m=n[k].tagName.toLowerCase(),"optgroup"===m?s(n[k]):"option"===m&&r(n[k])};return this.each(function(){if(!this.selectize){var e,f=a(this),g=this.tagName.toLowerCase(),h=f.attr("placeholder")||f.attr("data-placeholder");h||d.allowEmptyOption||(h=f.children('option[value=""]').text());var i={placeholder:h,options:[],optgroups:[],items:[]};"select"===g?l(f,i):k(f,i),e=new M(f,a.extend(!0,{},c,i,b))}})},a.fn.selectize.defaults=M.defaults,a.fn.selectize.support={validity:x},M.define("drag_drop",function(b){if(!a.fn.sortable)throw new Error('The "drag_drop" plugin requires jQuery UI "sortable".');if("multi"===this.settings.mode){var c=this;c.lock=function(){var a=c.lock;return function(){var b=c.$control.data("sortable");return b&&b.disable(),a.apply(c,arguments)}}(),c.unlock=function(){var a=c.unlock;return function(){var b=c.$control.data("sortable");return b&&b.enable(),a.apply(c,arguments)}}(),c.setup=function(){var b=c.setup;return function(){b.apply(this,arguments);var d=c.$control.sortable({items:"[data-value]",forcePlaceholderSize:!0,disabled:c.isLocked,start:function(a,b){b.placeholder.css("width",b.helper.css("width")),d.css({overflow:"visible"})},stop:function(){d.css({overflow:"hidden"});var b=c.$activeItems?c.$activeItems.slice():null,e=[];d.children("[data-value]").each(function(){e.push(a(this).attr("data-value"))}),c.setValue(e),c.setActiveItem(b)}})}}()}}),M.define("dropdown_header",function(b){var c=this;b=a.extend({title:"Untitled",headerClass:"selectize-dropdown-header",titleRowClass:"selectize-dropdown-header-title",labelClass:"selectize-dropdown-header-label",closeClass:"selectize-dropdown-header-close",html:function(a){return'<div class="'+a.headerClass+'"><div class="'+a.titleRowClass+'"><span class="'+a.labelClass+'">'+a.title+'</span><a href="javascript:void(0)" class="'+a.closeClass+'">×</a></div></div>'}},b),c.setup=function(){var d=c.setup;return function(){d.apply(c,arguments),c.$dropdown_header=a(b.html(b)),c.$dropdown.prepend(c.$dropdown_header)}}()}),M.define("optgroup_columns",function(b){var c=this;b=a.extend({equalizeWidth:!0,equalizeHeight:!0},b),this.getAdjacentOption=function(b,c){var d=b.closest("[data-group]").find("[data-selectable]"),e=d.index(b)+c;return e>=0&&e<d.length?d.eq(e):a()},this.onKeyDown=function(){var a=c.onKeyDown;return function(b){var d,e,f,g;return!this.isOpen||b.keyCode!==j&&b.keyCode!==m?a.apply(this,arguments):(c.ignoreHover=!0,g=this.$activeOption.closest("[data-group]"),d=g.find("[data-selectable]").index(this.$activeOption),g=b.keyCode===j?g.prev("[data-group]"):g.next("[data-group]"),f=g.find("[data-selectable]"),e=f.eq(Math.min(f.length-1,d)),void(e.length&&this.setActiveOption(e)))}}();var d=function(){var a,b=d.width,c=document;return"undefined"==typeof b&&(a=c.createElement("div"),a.innerHTML='<div style="width:50px;height:50px;position:absolute;left:-50px;top:-50px;overflow:auto;"><div style="width:1px;height:100px;"></div></div>',a=a.firstChild,c.body.appendChild(a),b=d.width=a.offsetWidth-a.clientWidth,c.body.removeChild(a)),b},e=function(){var e,f,g,h,i,j,k;if(k=a("[data-group]",c.$dropdown_content),f=k.length,f&&c.$dropdown_content.width()){if(b.equalizeHeight){for(g=0,e=0;e<f;e++)g=Math.max(g,k.eq(e).height());k.css({height:g})}b.equalizeWidth&&(j=c.$dropdown_content.innerWidth()-d(),h=Math.round(j/f),k.css({width:h}),f>1&&(i=j-h*(f-1),k.eq(f-1).css({width:i})))}};(b.equalizeHeight||b.equalizeWidth)&&(B.after(this,"positionDropdown",e),B.after(this,"refreshOptions",e))}),M.define("remove_button",function(b){b=a.extend({label:"×",title:"Remove",className:"remove",append:!0},b);var c=function(b,c){c.className="remove-single";var d=b,e='<a href="javascript:void(0)" class="'+c.className+'" tabindex="-1" title="'+A(c.title)+'">'+c.label+"</a>",f=function(a,b){return a+b};b.setup=function(){var g=d.setup;return function(){if(c.append){var h=a(d.$input.context).attr("id"),i=(a("#"+h),d.settings.render.item);d.settings.render.item=function(a){return f(i.apply(b,arguments),e)}}g.apply(b,arguments),b.$control.on("click","."+c.className,function(a){a.preventDefault(),d.isLocked||d.clear()})}}()},d=function(b,c){var d=b,e='<a href="javascript:void(0)" class="'+c.className+'" tabindex="-1" title="'+A(c.title)+'">'+c.label+"</a>",f=function(a,b){var c=a.search(/(<\/[^>]+>\s*)$/);return a.substring(0,c)+b+a.substring(c)};b.setup=function(){var g=d.setup;return function(){if(c.append){var h=d.settings.render.item;d.settings.render.item=function(a){return f(h.apply(b,arguments),e)}}g.apply(b,arguments),b.$control.on("click","."+c.className,function(b){if(b.preventDefault(),!d.isLocked){var c=a(b.currentTarget).parent();d.setActiveItem(c),d.deleteSelection()&&d.setCaret(d.items.length)}})}}()};return"single"===this.settings.mode?void c(this,b):void d(this,b)}),M.define("restore_on_backspace",function(a){var b=this;a.text=a.text||function(a){return a[this.settings.labelField]},this.onKeyDown=function(){var c=b.onKeyDown;return function(b){var d,e;return b.keyCode===p&&""===this.$control_input.val()&&!this.$activeItems.length&&(d=this.caretPos-1,d>=0&&d<this.items.length)?(e=this.options[this.items[d]],this.deleteSelection(b)&&(this.setTextboxValue(a.text.apply(this,[e])),this.refreshOptions(!0)),void b.preventDefault()):c.apply(this,arguments)}}()}),M});
|
|
|
|
|
|
public/js/app.js.twig
DELETED
@@ -1,280 +0,0 @@
|
|
1 |
-
jQuery(document).ready(function($) {
|
2 |
-
|
3 |
-
var ResponsiveMenu = {
|
4 |
-
trigger: '{{ options.button_click_trigger }}',
|
5 |
-
animationSpeed: {{ options.animation_speed * 1000 }},
|
6 |
-
breakpoint: {{ options.breakpoint }},
|
7 |
-
pushButton: '{{ options.button_push_with_animation }}',
|
8 |
-
animationType: '{{ options.animation_type }}',
|
9 |
-
animationSide: '{{ options.menu_appear_from }}',
|
10 |
-
pageWrapper: '{{ options.page_wrapper }}',
|
11 |
-
isOpen: false,
|
12 |
-
triggerTypes: 'click',
|
13 |
-
activeClass: 'is-active',
|
14 |
-
container: '#responsive-menu-container',
|
15 |
-
openClass: 'responsive-menu-open',
|
16 |
-
accordion: '{{ options.accordion_animation }}',
|
17 |
-
activeArrow: '{{ options.getActiveArrow() }}',
|
18 |
-
inactiveArrow: '{{ options.getInActiveArrow() }}',
|
19 |
-
wrapper: '#responsive-menu-wrapper',
|
20 |
-
closeOnBodyClick: '{{ options.menu_close_on_body_click }}',
|
21 |
-
closeOnLinkClick: '{{ options.menu_close_on_link_click }}',
|
22 |
-
itemTriggerSubMenu: '{{ options.menu_item_click_to_trigger_submenu }}',
|
23 |
-
linkElement: '.responsive-menu-item-link',
|
24 |
-
subMenuTransitionTime: {{ options.sub_menu_speed * 1000 }},
|
25 |
-
openMenu: function() {
|
26 |
-
$(this.trigger).addClass(this.activeClass);
|
27 |
-
$('html').addClass(this.openClass);
|
28 |
-
$('.responsive-menu-button-icon-active').hide();
|
29 |
-
$('.responsive-menu-button-icon-inactive').show();
|
30 |
-
this.setButtonTextOpen();
|
31 |
-
this.setWrapperTranslate();
|
32 |
-
this.isOpen = true;
|
33 |
-
},
|
34 |
-
closeMenu: function() {
|
35 |
-
$(this.trigger).removeClass(this.activeClass);
|
36 |
-
$('html').removeClass(this.openClass);
|
37 |
-
$('.responsive-menu-button-icon-inactive').hide();
|
38 |
-
$('.responsive-menu-button-icon-active').show();
|
39 |
-
this.setButtonText();
|
40 |
-
this.clearWrapperTranslate();
|
41 |
-
this.isOpen = false;
|
42 |
-
},
|
43 |
-
setButtonText: function() {
|
44 |
-
if($('.responsive-menu-button-text-open').length > 0 && $('.responsive-menu-button-text').length > 0) {
|
45 |
-
$('.responsive-menu-button-text-open').hide();
|
46 |
-
$('.responsive-menu-button-text').show();
|
47 |
-
}
|
48 |
-
},
|
49 |
-
setButtonTextOpen: function() {
|
50 |
-
if($('.responsive-menu-button-text').length > 0 && $('.responsive-menu-button-text-open').length > 0) {
|
51 |
-
$('.responsive-menu-button-text').hide();
|
52 |
-
$('.responsive-menu-button-text-open').show();
|
53 |
-
}
|
54 |
-
},
|
55 |
-
triggerMenu: function() {
|
56 |
-
this.isOpen ? this.closeMenu() : this.openMenu();
|
57 |
-
},
|
58 |
-
triggerSubArrow: function(subarrow) {
|
59 |
-
var sub_menu = $(subarrow).parent().siblings('.responsive-menu-submenu');
|
60 |
-
var self = this;
|
61 |
-
if(this.accordion == 'on') {
|
62 |
-
/* Get Top Most Parent and the siblings */
|
63 |
-
var top_siblings = sub_menu.parents('.responsive-menu-item-has-children').last().siblings('.responsive-menu-item-has-children');
|
64 |
-
var first_siblings = sub_menu.parents('.responsive-menu-item-has-children').first().siblings('.responsive-menu-item-has-children');
|
65 |
-
/* Close up just the top level parents to key the rest as it was */
|
66 |
-
top_siblings.children('.responsive-menu-submenu').slideUp(self.subMenuTransitionTime, 'linear').removeClass('responsive-menu-submenu-open');
|
67 |
-
/* Set each parent arrow to inactive */
|
68 |
-
top_siblings.each(function() {
|
69 |
-
$(this).find('.responsive-menu-subarrow').first().html(self.inactiveArrow);
|
70 |
-
$(this).find('.responsive-menu-subarrow').first().removeClass('responsive-menu-subarrow-active');
|
71 |
-
});
|
72 |
-
/* Now Repeat for the current item siblings */
|
73 |
-
first_siblings.children('.responsive-menu-submenu').slideUp(self.subMenuTransitionTime, 'linear').removeClass('responsive-menu-submenu-open');
|
74 |
-
first_siblings.each(function() {
|
75 |
-
$(this).find('.responsive-menu-subarrow').first().html(self.inactiveArrow);
|
76 |
-
$(this).find('.responsive-menu-subarrow').first().removeClass('responsive-menu-subarrow-active');
|
77 |
-
});
|
78 |
-
}
|
79 |
-
if(sub_menu.hasClass('responsive-menu-submenu-open')) {
|
80 |
-
sub_menu.slideUp(self.subMenuTransitionTime, 'linear').removeClass('responsive-menu-submenu-open');
|
81 |
-
$(subarrow).html(this.inactiveArrow);
|
82 |
-
$(subarrow).removeClass('responsive-menu-subarrow-active');
|
83 |
-
} else {
|
84 |
-
sub_menu.slideDown(self.subMenuTransitionTime, 'linear').addClass('responsive-menu-submenu-open');
|
85 |
-
$(subarrow).html(this.activeArrow);
|
86 |
-
$(subarrow).addClass('responsive-menu-subarrow-active');
|
87 |
-
}
|
88 |
-
},
|
89 |
-
menuHeight: function() {
|
90 |
-
return $(this.container).height();
|
91 |
-
},
|
92 |
-
menuWidth: function() {
|
93 |
-
return $(this.container).width();
|
94 |
-
},
|
95 |
-
wrapperHeight: function() {
|
96 |
-
return $(this.wrapper).height();
|
97 |
-
},
|
98 |
-
setWrapperTranslate: function() {
|
99 |
-
switch(this.animationSide) {
|
100 |
-
case 'left':
|
101 |
-
translate = 'translateX(' + this.menuWidth() + 'px)'; break;
|
102 |
-
case 'right':
|
103 |
-
translate = 'translateX(-' + this.menuWidth() + 'px)'; break;
|
104 |
-
case 'top':
|
105 |
-
translate = 'translateY(' + this.wrapperHeight() + 'px)'; break;
|
106 |
-
case 'bottom':
|
107 |
-
translate = 'translateY(-' + this.menuHeight() + 'px)'; break;
|
108 |
-
}
|
109 |
-
if(this.animationType == 'push') {
|
110 |
-
$(this.pageWrapper).css({'transform':translate});
|
111 |
-
$('html, body').css('overflow-x', 'hidden');
|
112 |
-
}
|
113 |
-
if(this.pushButton == 'on') {
|
114 |
-
$('#responsive-menu-button').css({'transform':translate});
|
115 |
-
}
|
116 |
-
},
|
117 |
-
clearWrapperTranslate: function() {
|
118 |
-
var self = this;
|
119 |
-
if(this.animationType == 'push') {
|
120 |
-
$(this.pageWrapper).css({'transform':''});
|
121 |
-
setTimeout(function() {
|
122 |
-
$('html, body').css('overflow-x', '');
|
123 |
-
}, self.animationSpeed);
|
124 |
-
}
|
125 |
-
if(this.pushButton == 'on') {
|
126 |
-
$('#responsive-menu-button').css({'transform':''});
|
127 |
-
}
|
128 |
-
},
|
129 |
-
init: function() {
|
130 |
-
var self = this;
|
131 |
-
$(this.trigger).on(this.triggerTypes, function(e){
|
132 |
-
e.stopPropagation();
|
133 |
-
self.triggerMenu();
|
134 |
-
});
|
135 |
-
$(this.trigger).mouseup(function(){
|
136 |
-
$(self.trigger).blur();
|
137 |
-
});
|
138 |
-
$('.responsive-menu-subarrow').on('click', function(e) {
|
139 |
-
e.preventDefault();
|
140 |
-
e.stopPropagation();
|
141 |
-
self.triggerSubArrow(this);
|
142 |
-
});
|
143 |
-
$(window).resize(function() {
|
144 |
-
if($(window).width() > self.breakpoint) {
|
145 |
-
if(self.isOpen){
|
146 |
-
self.closeMenu();
|
147 |
-
}
|
148 |
-
} else {
|
149 |
-
if($('.responsive-menu-open').length>0){
|
150 |
-
self.setWrapperTranslate();
|
151 |
-
}
|
152 |
-
}
|
153 |
-
});
|
154 |
-
if(this.closeOnLinkClick == 'on') {
|
155 |
-
$(this.linkElement).on('click', function(e) {
|
156 |
-
e.preventDefault();
|
157 |
-
/* Fix for when close menu on parent clicks is on */
|
158 |
-
if(self.itemTriggerSubMenu == 'on' && $(this).is('.responsive-menu-item-has-children > ' + self.linkElement)) {
|
159 |
-
return;
|
160 |
-
}
|
161 |
-
old_href = $(this).attr('href');
|
162 |
-
old_target = typeof $(this).attr('target') == 'undefined' ? '_self' : $(this).attr('target');
|
163 |
-
if(self.isOpen) {
|
164 |
-
if($(e.target).closest('.responsive-menu-subarrow').length) {
|
165 |
-
return;
|
166 |
-
}
|
167 |
-
self.closeMenu();
|
168 |
-
setTimeout(function() {
|
169 |
-
window.open(old_href, old_target);
|
170 |
-
}, self.animationSpeed);
|
171 |
-
}
|
172 |
-
});
|
173 |
-
}
|
174 |
-
if(this.closeOnBodyClick == 'on') {
|
175 |
-
$(document).on('click', 'body', function(e) {
|
176 |
-
if(self.isOpen) {
|
177 |
-
if($(e.target).closest('#responsive-menu-container').length || $(e.target).closest('#responsive-menu-button').length) {
|
178 |
-
return;
|
179 |
-
}
|
180 |
-
}
|
181 |
-
self.closeMenu();
|
182 |
-
});
|
183 |
-
}
|
184 |
-
if(this.itemTriggerSubMenu == 'on') {
|
185 |
-
$('.responsive-menu-item-has-children > ' + this.linkElement).on('click', function(e) {
|
186 |
-
e.preventDefault();
|
187 |
-
self.triggerSubArrow($(this).children('.responsive-menu-subarrow').first());
|
188 |
-
});
|
189 |
-
}
|
190 |
-
|
191 |
-
{# Handle accessibility for slidebar menu. #}
|
192 |
-
if (jQuery('#responsive-menu-button').css('display') != 'none') {
|
193 |
-
$('#responsive-menu-button,#responsive-menu a.responsive-menu-item-link, #responsive-menu-wrapper input').focus( function() {
|
194 |
-
$(this).addClass('is-active');
|
195 |
-
$('html').addClass('responsive-menu-open');
|
196 |
-
$('#responsive-menu li').css({"opacity": "1", "margin-left": "0"});
|
197 |
-
});
|
198 |
-
|
199 |
-
$('#responsive-menu-button, a.responsive-menu-item-link,#responsive-menu-wrapper input').focusout( function() {
|
200 |
-
if ( $(this).last('#responsive-menu-button a.responsive-menu-item-link') ) {
|
201 |
-
$(this).removeClass('is-active');
|
202 |
-
$('html').removeClass('responsive-menu-open');
|
203 |
-
}
|
204 |
-
});
|
205 |
-
}
|
206 |
-
|
207 |
-
{# Handling menu with arrow keys #}
|
208 |
-
$('#responsive-menu a.responsive-menu-item-link').keydown(function(event) {
|
209 |
-
console.log( event.keyCode );
|
210 |
-
if ( [13,27,32,35,36,37,38,39,40].indexOf( event.keyCode) == -1) {
|
211 |
-
return;
|
212 |
-
}
|
213 |
-
var link = $(this);
|
214 |
-
switch(event.keyCode) {
|
215 |
-
case 13:
|
216 |
-
{# Press enter key to activate the link. #}
|
217 |
-
link.click();
|
218 |
-
break;
|
219 |
-
case 27:
|
220 |
-
{# Escape key to close the active submenu. #}
|
221 |
-
var dropdown = link.parent('li').parents('.responsive-menu-submenu');
|
222 |
-
if ( dropdown.length > 0 ) {
|
223 |
-
dropdown.hide();
|
224 |
-
dropdown.prev().focus();
|
225 |
-
}
|
226 |
-
break;
|
227 |
-
|
228 |
-
case 32:
|
229 |
-
{# Space enter key to open submenu. #}
|
230 |
-
var dropdown = link.parent('li').find('.responsive-menu-submenu');
|
231 |
-
if ( dropdown.length > 0 ) {
|
232 |
-
dropdown.show();
|
233 |
-
dropdown.find('a, input, button, textarea').first().focus();
|
234 |
-
}
|
235 |
-
break;
|
236 |
-
|
237 |
-
case 35:
|
238 |
-
{# End key to move the focus on last menu item. #}
|
239 |
-
var dropdown = link.parent('li').find('.responsive-menu-submenu');
|
240 |
-
if ( dropdown.length > 0 ) {
|
241 |
-
dropdown.hide();
|
242 |
-
}
|
243 |
-
$(this).parents('#responsive-menu').find('a.responsive-menu-item-link').filter(':visible').last().focus();
|
244 |
-
break;
|
245 |
-
case 36:
|
246 |
-
{# Home key move the focus on first element of menu. #}
|
247 |
-
var dropdown = link.parent('li').find('.responsive-menu-submenu');
|
248 |
-
if( dropdown.length > 0 ) {
|
249 |
-
dropdown.hide();
|
250 |
-
}
|
251 |
-
$(this).parents('#responsive-menu').find('a.responsive-menu-item-link').filter(':visible').first().focus();
|
252 |
-
break;
|
253 |
-
case 37:
|
254 |
-
case 38:
|
255 |
-
event.preventDefault();
|
256 |
-
event.stopPropagation();
|
257 |
-
{# Handle left/up arrow key event. #}
|
258 |
-
if ( link.parent('li').prevAll('li').filter(':visible').first().length == 0) {
|
259 |
-
link.parent('li').nextAll('li').filter(':visible').last().find('a').first().focus();
|
260 |
-
} else {
|
261 |
-
link.parent('li').prevAll('li').filter(':visible').first().find('a').first().focus();
|
262 |
-
}
|
263 |
-
break;
|
264 |
-
case 39:
|
265 |
-
case 40:
|
266 |
-
event.preventDefault();
|
267 |
-
event.stopPropagation();
|
268 |
-
{# Handle right/down arrow key event. #}
|
269 |
-
if( link.parent('li').nextAll('li').filter(':visible').first().length == 0) {
|
270 |
-
link.parent('li').prevAll('li').filter(':visible').last().find('a').first().focus();
|
271 |
-
} else {
|
272 |
-
link.parent('li').nextAll('li').filter(':visible').first().find('a').first().focus();
|
273 |
-
}
|
274 |
-
break;
|
275 |
-
}
|
276 |
-
});
|
277 |
-
}
|
278 |
-
};
|
279 |
-
ResponsiveMenu.init();
|
280 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: expresstech, responsivemenu, imvarunkmr, surajkumarsingh, infosatech
|
3 |
Tags: responsive, mega menu, navigation, mobile, hamburger
|
4 |
Requires at least: 3.6
|
5 |
-
Tested up to: 5.8
|
6 |
-
Stable tag: 4.1.
|
7 |
Requires PHP: 5.6
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -103,6 +103,12 @@ To view our FAQ, please go to [https://responsive.menu/faq/](https://responsive.
|
|
103 |
|
104 |
== Changelog ==
|
105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
= 4.1.5 (17th Nov 2021) =
|
107 |
Enhancement: Refactored code to use wp_enqueue functions while including JS and CSS
|
108 |
Enhancement: Removed external dependencies (CDN url and third party server scripts)
|
2 |
Contributors: expresstech, responsivemenu, imvarunkmr, surajkumarsingh, infosatech
|
3 |
Tags: responsive, mega menu, navigation, mobile, hamburger
|
4 |
Requires at least: 3.6
|
5 |
+
Tested up to: 5.8.2
|
6 |
+
Stable tag: 4.1.6
|
7 |
Requires PHP: 5.6
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
103 |
|
104 |
== Changelog ==
|
105 |
|
106 |
+
= 4.1.6 (20th Dec 2021) =
|
107 |
+
* Enhancement: Refactored code to enqueue JS and CSS files as per coding standards
|
108 |
+
* Enhancement: Refactored code to utilise libraries bundled with WordPress core
|
109 |
+
* Enhancement: Sanitized, Escaped, and Validated all variable, file uploads and data
|
110 |
+
* Enhancement: Moved inline scripts to wp_enqueue_script and wp_add_inline_script
|
111 |
+
|
112 |
= 4.1.5 (17th Nov 2021) =
|
113 |
Enhancement: Refactored code to use wp_enqueue functions while including JS and CSS
|
114 |
Enhancement: Removed external dependencies (CDN url and third party server scripts)
|
responsive-menu.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
Plugin Name: Responsive Menu
|
5 |
Plugin URI: https://expresstech.io
|
6 |
Description: Highly Customisable Responsive Menu Plugin for WordPress
|
7 |
-
Version: 4.1.
|
8 |
Author: ExpressTech
|
9 |
Text Domain: responsive-menu
|
10 |
Author URI: https://responsive.menu
|
@@ -16,91 +16,92 @@ Tags: responsive, menu, responsive menu, mega menu, max mega menu, max menu
|
|
16 |
* Constant as plugin version.
|
17 |
*/
|
18 |
if ( ! defined( 'RMP_PLUGIN_VERSION' ) ) {
|
19 |
-
|
20 |
}
|
21 |
|
22 |
-
define('RESPONSIVE_MENU_URL', plugin_dir_url( __FILE__ ) );
|
23 |
|
24 |
-
add_action('admin_init', 'check_responsive_menu_php_version');
|
25 |
function check_responsive_menu_php_version() {
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
}
|
31 |
|
32 |
function responsive_menu_deactivation_text() {
|
33 |
-
|
34 |
-
|
35 |
You are still on %s.%sPlease speak to your web host about upgrading your PHP version.',
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
}
|
40 |
|
41 |
-
if(version_compare(PHP_VERSION, '5.4', '<'))
|
42 |
-
|
|
|
43 |
|
44 |
// If this file called directly then abort.
|
45 |
if ( ! defined( 'WPINC' ) ) {
|
46 |
-
|
47 |
}
|
48 |
|
49 |
/**
|
50 |
* Constant as plugin file.
|
51 |
*/
|
52 |
if ( ! defined( 'RMP_PLUGIN_FILE' ) ) {
|
53 |
-
|
54 |
}
|
55 |
|
56 |
/**
|
57 |
* Constant as dir of plugin.
|
58 |
*/
|
59 |
if ( ! defined( 'RMP_PLUGIN_DIR_NAME' ) ) {
|
60 |
-
|
61 |
}
|
62 |
|
63 |
/**
|
64 |
* Constant as plugin path.
|
65 |
*/
|
66 |
if ( ! defined( 'RMP_PLUGIN_PATH' ) ) {
|
67 |
-
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
* Constant as plugin URL.
|
72 |
*/
|
73 |
if ( ! defined( 'RMP_PLUGIN_URL' ) ) {
|
74 |
-
|
75 |
}
|
76 |
|
77 |
/**
|
78 |
* Constant as URI of assets build.
|
79 |
*/
|
80 |
if ( ! defined( 'RMP_PLUGIN_BUILD_URI' ) ) {
|
81 |
-
|
82 |
}
|
83 |
|
84 |
/**
|
85 |
* Constant as dir of assets build.
|
86 |
*/
|
87 |
if ( ! defined( 'RMP_PLUGIN_BUILD_DIR' ) ) {
|
88 |
-
|
89 |
}
|
90 |
|
91 |
/**
|
92 |
* Constant as path of template file.
|
93 |
*/
|
94 |
if ( ! defined( 'RMP_PLUGIN_TEMPLATE_PATH' ) ) {
|
95 |
-
|
96 |
}
|
97 |
|
98 |
if ( ! defined( 'RMP_PLUGIN_PATH_V4' ) ) {
|
99 |
-
|
100 |
}
|
101 |
|
102 |
if ( ! defined( 'RMP_PLUGIN_URL_V4' ) ) {
|
103 |
-
|
104 |
}
|
105 |
|
106 |
/** Include the required files only*/
|
@@ -116,13 +117,13 @@ require_once RMP_PLUGIN_PATH_V4 . '/templates/rmp-roadmap.php';
|
|
116 |
* @return void
|
117 |
*/
|
118 |
function responsive_menu_features_plugin_loader() {
|
119 |
-
|
120 |
}
|
121 |
|
122 |
responsive_menu_features_plugin_loader();
|
123 |
|
124 |
// Active and de-active plugin hook.
|
125 |
-
register_activation_hook( __FILE__,
|
126 |
register_deactivation_hook( __FILE__, 'responsive_menu_plugin_deactivation' );
|
127 |
|
128 |
/**
|
@@ -131,16 +132,15 @@ register_deactivation_hook( __FILE__, 'responsive_menu_plugin_deactivation' );
|
|
131 |
* @return void
|
132 |
*/
|
133 |
function responsive_menu_plugin_activation() {
|
|
|
134 |
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
set_transient( 'og-admin-notice-activation-pro', true, 5 );
|
141 |
-
}
|
142 |
|
143 |
-
|
144 |
}
|
145 |
|
146 |
/**
|
@@ -149,7 +149,7 @@ function responsive_menu_plugin_activation() {
|
|
149 |
* @return void
|
150 |
*/
|
151 |
function responsive_menu_plugin_deactivation() {
|
152 |
-
|
153 |
}
|
154 |
|
155 |
/**
|
@@ -160,32 +160,29 @@ function responsive_menu_plugin_deactivation() {
|
|
160 |
* @return void
|
161 |
*/
|
162 |
function rm_includes_menu_theme_template() {
|
|
|
163 |
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
return;
|
169 |
-
}
|
170 |
-
|
171 |
-
$active_themes = $theme_manager->get_menu_active_themes();
|
172 |
-
if ( empty( $active_themes ) ) {
|
173 |
-
return;
|
174 |
-
}
|
175 |
-
|
176 |
-
//Include the file from each theme which has php template.
|
177 |
-
foreach( $active_themes as $key => $theme_name ) {
|
178 |
|
179 |
-
|
|
|
|
|
|
|
180 |
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
}
|
185 |
|
|
|
|
|
|
|
|
|
186 |
}
|
187 |
|
188 |
rm_includes_menu_theme_template();
|
189 |
|
190 |
|
191 |
-
|
4 |
Plugin Name: Responsive Menu
|
5 |
Plugin URI: https://expresstech.io
|
6 |
Description: Highly Customisable Responsive Menu Plugin for WordPress
|
7 |
+
Version: 4.1.6
|
8 |
Author: ExpressTech
|
9 |
Text Domain: responsive-menu
|
10 |
Author URI: https://responsive.menu
|
16 |
* Constant as plugin version.
|
17 |
*/
|
18 |
if ( ! defined( 'RMP_PLUGIN_VERSION' ) ) {
|
19 |
+
define( 'RMP_PLUGIN_VERSION', '4.1.6' );
|
20 |
}
|
21 |
|
22 |
+
define( 'RESPONSIVE_MENU_URL', plugin_dir_url( __FILE__ ) );
|
23 |
|
24 |
+
add_action( 'admin_init', 'check_responsive_menu_php_version' );
|
25 |
function check_responsive_menu_php_version() {
|
26 |
+
if ( version_compare( PHP_VERSION, '5.4', '<' ) ) :
|
27 |
+
add_action( 'admin_notices', 'responsive_menu_deactivation_text' );
|
28 |
+
deactivate_plugins( plugin_basename( __FILE__ ) );
|
29 |
+
endif;
|
30 |
}
|
31 |
|
32 |
function responsive_menu_deactivation_text() {
|
33 |
+
echo '<div class="' . esc_attr( 'error' ) . '"><p>' . sprintf(
|
34 |
+
'Responsive Menu requires PHP 5.4 or higher to function and has therefore been automatically disabled.
|
35 |
You are still on %s.%sPlease speak to your web host about upgrading your PHP version.',
|
36 |
+
PHP_VERSION,
|
37 |
+
'<br /><br />'
|
38 |
+
) . '</p></div>';
|
39 |
}
|
40 |
|
41 |
+
if ( version_compare( PHP_VERSION, '5.4', '<' ) ) {
|
42 |
+
return;
|
43 |
+
}
|
44 |
|
45 |
// If this file called directly then abort.
|
46 |
if ( ! defined( 'WPINC' ) ) {
|
47 |
+
die;
|
48 |
}
|
49 |
|
50 |
/**
|
51 |
* Constant as plugin file.
|
52 |
*/
|
53 |
if ( ! defined( 'RMP_PLUGIN_FILE' ) ) {
|
54 |
+
define( 'RMP_PLUGIN_FILE', plugin_dir_path( __FILE__ ) . 'responsive-menu.php' );
|
55 |
}
|
56 |
|
57 |
/**
|
58 |
* Constant as dir of plugin.
|
59 |
*/
|
60 |
if ( ! defined( 'RMP_PLUGIN_DIR_NAME' ) ) {
|
61 |
+
define( 'RMP_PLUGIN_DIR_NAME', untrailingslashit( dirname( plugin_basename( __FILE__ ) ) ) );
|
62 |
}
|
63 |
|
64 |
/**
|
65 |
* Constant as plugin path.
|
66 |
*/
|
67 |
if ( ! defined( 'RMP_PLUGIN_PATH' ) ) {
|
68 |
+
define( 'RMP_PLUGIN_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
|
69 |
}
|
70 |
|
71 |
/**
|
72 |
* Constant as plugin URL.
|
73 |
*/
|
74 |
if ( ! defined( 'RMP_PLUGIN_URL' ) ) {
|
75 |
+
define( 'RMP_PLUGIN_URL', untrailingslashit( plugin_dir_url( __FILE__ ) ) );
|
76 |
}
|
77 |
|
78 |
/**
|
79 |
* Constant as URI of assets build.
|
80 |
*/
|
81 |
if ( ! defined( 'RMP_PLUGIN_BUILD_URI' ) ) {
|
82 |
+
define( 'RMP_PLUGIN_BUILD_URI', untrailingslashit( plugin_dir_url( __FILE__ ) ) . '/assets/build' );
|
83 |
}
|
84 |
|
85 |
/**
|
86 |
* Constant as dir of assets build.
|
87 |
*/
|
88 |
if ( ! defined( 'RMP_PLUGIN_BUILD_DIR' ) ) {
|
89 |
+
define( 'RMP_PLUGIN_BUILD_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) . '/assets/build' );
|
90 |
}
|
91 |
|
92 |
/**
|
93 |
* Constant as path of template file.
|
94 |
*/
|
95 |
if ( ! defined( 'RMP_PLUGIN_TEMPLATE_PATH' ) ) {
|
96 |
+
define( 'RMP_PLUGIN_TEMPLATE_PATH', untrailingslashit( plugin_dir_path( __FILE__ ) ) . '/templates/' );
|
97 |
}
|
98 |
|
99 |
if ( ! defined( 'RMP_PLUGIN_PATH_V4' ) ) {
|
100 |
+
define( 'RMP_PLUGIN_PATH_V4', RMP_PLUGIN_PATH . '/v4.0.0' );
|
101 |
}
|
102 |
|
103 |
if ( ! defined( 'RMP_PLUGIN_URL_V4' ) ) {
|
104 |
+
define( 'RMP_PLUGIN_URL_V4', RMP_PLUGIN_URL . '/v4.0.0' );
|
105 |
}
|
106 |
|
107 |
/** Include the required files only*/
|
117 |
* @return void
|
118 |
*/
|
119 |
function responsive_menu_features_plugin_loader() {
|
120 |
+
\RMP\Features\Inc\Plugin::get_instance();
|
121 |
}
|
122 |
|
123 |
responsive_menu_features_plugin_loader();
|
124 |
|
125 |
// Active and de-active plugin hook.
|
126 |
+
register_activation_hook( __FILE__, 'responsive_menu_plugin_activation' );
|
127 |
register_deactivation_hook( __FILE__, 'responsive_menu_plugin_deactivation' );
|
128 |
|
129 |
/**
|
132 |
* @return void
|
133 |
*/
|
134 |
function responsive_menu_plugin_activation() {
|
135 |
+
$plugin = 'responsive-menu-pro/responsive-menu-pro.php';
|
136 |
|
137 |
+
// Check if responsive menu (paid version) is activate then deactivate it.
|
138 |
+
if ( is_plugin_active( $plugin ) ) {
|
139 |
+
deactivate_plugins( $plugin );
|
140 |
+
set_transient( 'og-admin-notice-activation-pro', true, 5 );
|
141 |
+
}
|
|
|
|
|
142 |
|
143 |
+
flush_rewrite_rules();
|
144 |
}
|
145 |
|
146 |
/**
|
149 |
* @return void
|
150 |
*/
|
151 |
function responsive_menu_plugin_deactivation() {
|
152 |
+
flush_rewrite_rules();
|
153 |
}
|
154 |
|
155 |
/**
|
160 |
* @return void
|
161 |
*/
|
162 |
function rm_includes_menu_theme_template() {
|
163 |
+
$theme_manager = \RMP\Features\Inc\Theme_Manager::get_instance();
|
164 |
|
165 |
+
// Check class theme manager has this method or not.
|
166 |
+
if ( ! method_exists( $theme_manager, 'get_menu_active_themes' ) ) {
|
167 |
+
return;
|
168 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
|
170 |
+
$active_themes = $theme_manager->get_menu_active_themes();
|
171 |
+
if ( empty( $active_themes ) ) {
|
172 |
+
return;
|
173 |
+
}
|
174 |
|
175 |
+
// Include the file from each theme which has php template.
|
176 |
+
foreach ( $active_themes as $key => $theme_name ) {
|
177 |
+
$theme_index = $theme_manager->get_theme_index_file( $theme_name );
|
|
|
178 |
|
179 |
+
if ( file_exists( $theme_index ) ) {
|
180 |
+
require_once $theme_index;
|
181 |
+
}
|
182 |
+
}
|
183 |
}
|
184 |
|
185 |
rm_includes_menu_theme_template();
|
186 |
|
187 |
|
188 |
+
require 'review-banner-class.php';
|
review-banner-class.php
CHANGED
@@ -7,6 +7,7 @@
|
|
7 |
*/
|
8 |
class RM_Review_Message {
|
9 |
|
|
|
10 |
/**
|
11 |
* Variable to hold how many results needed to show message
|
12 |
*
|
@@ -21,7 +22,7 @@ class RM_Review_Message {
|
|
21 |
*
|
22 |
* @since 4.1.3
|
23 |
*/
|
24 |
-
function __construct() {
|
25 |
$this->add_hooks();
|
26 |
}
|
27 |
|
@@ -30,9 +31,9 @@ class RM_Review_Message {
|
|
30 |
*
|
31 |
* @since 4.1.3
|
32 |
*/
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
|
37 |
/**
|
38 |
* Checks if message should be displayed
|
@@ -42,7 +43,7 @@ class RM_Review_Message {
|
|
42 |
public function check_message_display() {
|
43 |
$this->admin_notice_check();
|
44 |
$this->trigger = $this->check_message_trigger();
|
45 |
-
if ( $this->trigger
|
46 |
$amount = $this->check_results_amount();
|
47 |
if ( $amount >= $this->trigger ) {
|
48 |
add_action( 'admin_notices', array( $this, 'display_admin_message' ) );
|
@@ -59,7 +60,7 @@ class RM_Review_Message {
|
|
59 |
public function check_message_trigger() {
|
60 |
$trigger = get_option( 'rm_review_message_trigger' );
|
61 |
if ( empty( $trigger ) || is_null( $trigger ) ) {
|
62 |
-
add_option('rm_review_message_trigger', 1 );
|
63 |
return 1;
|
64 |
}
|
65 |
return intval( $trigger );
|
@@ -72,8 +73,10 @@ class RM_Review_Message {
|
|
72 |
*/
|
73 |
public function check_results_amount() {
|
74 |
global $wpdb;
|
75 |
-
$amount = $wpdb->get_var(
|
76 |
-
|
|
|
|
|
77 |
return $amount;
|
78 |
}
|
79 |
|
@@ -81,36 +84,20 @@ class RM_Review_Message {
|
|
81 |
* Displays the message
|
82 |
*
|
83 |
* Displays the message asking for review
|
84 |
-
*
|
85 |
-
*
|
86 |
*/
|
87 |
public function display_admin_message() {
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
awesome! Could you please help me out by giving this plugin a 5-star rating on WordPress? This
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
);
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
esc_attr( "button-primary" ),
|
101 |
-
esc_html__( 'Yeah, you deserve it!', 'responsive-menu-pro' )
|
102 |
-
);
|
103 |
-
echo sprintf('<a href="%s" class="%s">%s</a> ',
|
104 |
-
$already_url,
|
105 |
-
esc_attr( "button-secondary" ),
|
106 |
-
esc_html__( 'I already did!', 'responsive-menu-pro' )
|
107 |
-
);
|
108 |
-
echo sprintf('<a href="%s" class="%s">%s</a> ',
|
109 |
-
$nope_url,
|
110 |
-
esc_attr( "button-secondary" ),
|
111 |
-
esc_html__( 'No, this plugin is not good enough', 'responsive-menu-pro' )
|
112 |
-
);
|
113 |
-
echo "<br /><br /></div>";
|
114 |
}
|
115 |
|
116 |
/**
|
@@ -119,24 +106,24 @@ class RM_Review_Message {
|
|
119 |
* @since 4.1.3
|
120 |
*/
|
121 |
public function admin_notice_check() {
|
122 |
-
if ( isset( $_GET[
|
123 |
-
$this->trigger
|
124 |
$update_trigger = -1;
|
125 |
-
if ( $this->trigger
|
126 |
exit;
|
127 |
-
}
|
128 |
$update_trigger = 5;
|
129 |
-
}
|
130 |
$update_trigger = 10;
|
131 |
-
}
|
132 |
$update_trigger = -1;
|
133 |
}
|
134 |
update_option( 'rm_review_message_trigger', $update_trigger );
|
135 |
}
|
136 |
-
if ( isset( $_GET[
|
137 |
update_option( 'rm_review_message_trigger', -1 );
|
138 |
}
|
139 |
}
|
140 |
}
|
141 |
|
142 |
-
$rm_review_message = new RM_Review_Message();
|
7 |
*/
|
8 |
class RM_Review_Message {
|
9 |
|
10 |
+
|
11 |
/**
|
12 |
* Variable to hold how many results needed to show message
|
13 |
*
|
22 |
*
|
23 |
* @since 4.1.3
|
24 |
*/
|
25 |
+
public function __construct() {
|
26 |
$this->add_hooks();
|
27 |
}
|
28 |
|
31 |
*
|
32 |
* @since 4.1.3
|
33 |
*/
|
34 |
+
public function add_hooks() {
|
35 |
+
add_action( 'admin_init', array( $this, 'check_message_display' ) );
|
36 |
+
}
|
37 |
|
38 |
/**
|
39 |
* Checks if message should be displayed
|
43 |
public function check_message_display() {
|
44 |
$this->admin_notice_check();
|
45 |
$this->trigger = $this->check_message_trigger();
|
46 |
+
if ( -1 !== $this->trigger ) {
|
47 |
$amount = $this->check_results_amount();
|
48 |
if ( $amount >= $this->trigger ) {
|
49 |
add_action( 'admin_notices', array( $this, 'display_admin_message' ) );
|
60 |
public function check_message_trigger() {
|
61 |
$trigger = get_option( 'rm_review_message_trigger' );
|
62 |
if ( empty( $trigger ) || is_null( $trigger ) ) {
|
63 |
+
add_option( 'rm_review_message_trigger', 1 );
|
64 |
return 1;
|
65 |
}
|
66 |
return intval( $trigger );
|
73 |
*/
|
74 |
public function check_results_amount() {
|
75 |
global $wpdb;
|
76 |
+
$amount = $wpdb->get_var(
|
77 |
+
'SELECT COUNT(*) FROM `' . $wpdb->prefix . "posts`
|
78 |
+
WHERE post_type = 'rmp_menu'"
|
79 |
+
);
|
80 |
return $amount;
|
81 |
}
|
82 |
|
84 |
* Displays the message
|
85 |
*
|
86 |
* Displays the message asking for review
|
|
|
|
|
87 |
*/
|
88 |
public function display_admin_message() {
|
89 |
+
?>
|
90 |
+
<div class='updated'><br />
|
91 |
+
<?php
|
92 |
+
/* translators: %d: Result count */
|
93 |
+
echo sprintf( esc_html__( 'Greetings! I just noticed that you have created %d Menus. That is awesome! Could you please help me out by giving this plugin a 5-star rating on WordPress? This will help us by helping other users discover this plugin.', 'responsive-menu' ), esc_html( $this->check_results_amount() ) );
|
94 |
+
?>
|
95 |
+
<br/><strong><em>~ <?php esc_html_e( 'RM Team', 'responsive-menu' ); ?></em></strong><br/><br/>
|
96 |
+
<a target="_blank" rel="noopener" href="https://wordpress.org/support/plugin/responsive-menu/reviews/#new-topic-0" class="button-primary"><?php esc_html_e( 'Yeah, you deserve it!', 'responsive-menu' ); ?></a>
|
97 |
+
<a href="<?php echo esc_url( add_query_arg( 'rm_review_notice_check', 'already_did' ) ); ?>" class="button-secondary"><?php esc_html_e( 'I already did!', 'responsive-menu' ); ?></a>
|
98 |
+
<a href="<?php echo esc_url( add_query_arg( 'rm_review_notice_check', 'remove_message' ) ); ?>" class="button-secondary"><?php esc_html_e( 'No, this plugin is not good enough', 'responsive-menu' ); ?></a>
|
99 |
+
<br /><br /></div>
|
100 |
+
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
}
|
102 |
|
103 |
/**
|
106 |
* @since 4.1.3
|
107 |
*/
|
108 |
public function admin_notice_check() {
|
109 |
+
if ( isset( $_GET['rm_review_notice_check'] ) && 'remove_message' === $_GET['rm_review_notice_check'] ) {
|
110 |
+
$this->trigger = $this->check_message_trigger();
|
111 |
$update_trigger = -1;
|
112 |
+
if ( -1 === $this->trigger ) {
|
113 |
exit;
|
114 |
+
} elseif ( 1 === $this->trigger ) {
|
115 |
$update_trigger = 5;
|
116 |
+
} elseif ( 5 === $this->trigger ) {
|
117 |
$update_trigger = 10;
|
118 |
+
} elseif ( 10 === $this->trigger ) {
|
119 |
$update_trigger = -1;
|
120 |
}
|
121 |
update_option( 'rm_review_message_trigger', $update_trigger );
|
122 |
}
|
123 |
+
if ( isset( $_GET['rm_review_notice_check'] ) && 'already_did' === $_GET['rm_review_notice_check'] ) {
|
124 |
update_option( 'rm_review_message_trigger', -1 );
|
125 |
}
|
126 |
}
|
127 |
}
|
128 |
|
129 |
+
$rm_review_message = new RM_Review_Message();
|
tests/app/Collections/OptionsCollectionTest.php
DELETED
@@ -1,135 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
use PHPUnit\Framework\TestCase;
|
4 |
-
use ResponsiveMenu\Collections\OptionsCollection;
|
5 |
-
|
6 |
-
class OptionsCollectionTest extends TestCase {
|
7 |
-
|
8 |
-
private $options = [
|
9 |
-
'menu_theme' => false,
|
10 |
-
'foo' => 'bar',
|
11 |
-
'baz' => 'moo'
|
12 |
-
];
|
13 |
-
|
14 |
-
public function testCreationFromConstructor() {
|
15 |
-
$collection = new OptionsCollection($this->options);
|
16 |
-
$this->assertCount(3, $collection);
|
17 |
-
}
|
18 |
-
|
19 |
-
public function testAddingOptions() {
|
20 |
-
$collection = new OptionsCollection($this->options);
|
21 |
-
$this->assertCount(3, $collection);
|
22 |
-
|
23 |
-
$collection->add(['moon' => 'rise']);
|
24 |
-
$this->assertCount(4, $collection);
|
25 |
-
}
|
26 |
-
|
27 |
-
public function testAccessViaArray() {
|
28 |
-
$collection = new OptionsCollection($this->options);
|
29 |
-
$this->assertEquals('bar', $collection['foo']);
|
30 |
-
$this->assertEquals('moo', $collection['baz']);
|
31 |
-
}
|
32 |
-
|
33 |
-
public function testRemoveViaArray() {
|
34 |
-
$collection = new OptionsCollection($this->options);
|
35 |
-
$this->assertCount(3, $collection);
|
36 |
-
|
37 |
-
unset($collection['foo']);
|
38 |
-
|
39 |
-
$this->assertCount(2, $collection);
|
40 |
-
$this->assertNull($collection['foo']);
|
41 |
-
}
|
42 |
-
|
43 |
-
public function testSetViaArray() {
|
44 |
-
$collection = new OptionsCollection($this->options);
|
45 |
-
$this->assertCount(3, $collection);
|
46 |
-
|
47 |
-
$collection['moon'] = 'rise';
|
48 |
-
|
49 |
-
$this->assertCount(4, $collection);
|
50 |
-
$this->assertEquals('rise', $collection['moon']);
|
51 |
-
}
|
52 |
-
|
53 |
-
public function testReturnArrayWhenAsked() {
|
54 |
-
$collection = new OptionsCollection($this->options);
|
55 |
-
$this->assertInternalType('array', $collection->toArray());
|
56 |
-
$this->assertEquals($this->options, $collection->toArray());
|
57 |
-
}
|
58 |
-
|
59 |
-
public function testStringIsAlwaysReturnedFromConstructor() {
|
60 |
-
$array = ['array' => ['moon' => 'rise']];
|
61 |
-
$collection = new OptionsCollection($array);
|
62 |
-
|
63 |
-
$this->assertEquals(json_encode($array['array']), $collection['array']);
|
64 |
-
}
|
65 |
-
|
66 |
-
public function testStringIsAlwaysReturned() {
|
67 |
-
$collection = new OptionsCollection($this->options);
|
68 |
-
$array = ['array' => ['moon' => 'rise']];
|
69 |
-
$collection->add($array);
|
70 |
-
|
71 |
-
$this->assertEquals(json_encode($array['array']), $collection['array']);
|
72 |
-
$this->assertEquals('bar', $collection['foo']);
|
73 |
-
}
|
74 |
-
|
75 |
-
public function testCorrectActiveArrowIsReturned() {
|
76 |
-
$collection = new OptionsCollection($this->options);
|
77 |
-
$collection->add(['active_arrow_image' => '']);
|
78 |
-
$collection->add(['active_arrow_image_alt' => '']);
|
79 |
-
$collection->add(['active_arrow_shape' => 'foo']);
|
80 |
-
|
81 |
-
$this->assertEquals('foo', $collection->getActiveArrow());
|
82 |
-
|
83 |
-
$collection->add(['active_arrow_image' => 'bar']);
|
84 |
-
$collection->add(['active_arrow_image_alt' => 'baz']);
|
85 |
-
$this->assertEquals('<img alt="baz" src="bar" />', $collection->getActiveArrow());
|
86 |
-
}
|
87 |
-
|
88 |
-
public function testCorrectInActiveArrowIsReturned() {
|
89 |
-
$collection = new OptionsCollection($this->options);
|
90 |
-
$collection->add(['inactive_arrow_image' => '']);
|
91 |
-
$collection->add(['inactive_arrow_image_alt' => '']);
|
92 |
-
$collection->add(['inactive_arrow_shape' => 'foo']);
|
93 |
-
|
94 |
-
$this->assertEquals('foo', $collection->getInActiveArrow());
|
95 |
-
|
96 |
-
$collection->add(['inactive_arrow_image' => 'bar']);
|
97 |
-
$collection->add(['inactive_arrow_image_alt' => 'baz']);
|
98 |
-
$this->assertEquals('<img alt="baz" src="bar" />', $collection->getInActiveArrow());
|
99 |
-
}
|
100 |
-
|
101 |
-
public function testCorrectTitleImageReturned() {
|
102 |
-
$collection = new OptionsCollection($this->options);
|
103 |
-
$collection->add(['menu_title_image' => '']);
|
104 |
-
|
105 |
-
$this->assertNull($collection->getTitleImage());
|
106 |
-
|
107 |
-
$collection->add(['menu_title_image' => 'bar']);
|
108 |
-
$collection->add(['menu_title_image_alt' => 'baz']);
|
109 |
-
$this->assertEquals('<img alt="baz" src="bar" />', $collection->getTitleImage());
|
110 |
-
}
|
111 |
-
|
112 |
-
public function testCorrectButtonIconReturned() {
|
113 |
-
$collection = new OptionsCollection($this->options);
|
114 |
-
$collection->add(['button_image' => '']);
|
115 |
-
|
116 |
-
$this->assertEquals('<span class="responsive-menu-inner"></span>', $collection->getButtonIcon());
|
117 |
-
|
118 |
-
$collection->add(['button_image' => 'foo']);
|
119 |
-
$collection->add(['button_image_alt' => 'bar']);
|
120 |
-
$this->assertEquals('<img alt="bar" src="foo" class="responsive-menu-button-icon responsive-menu-button-icon-active" />', $collection->getButtonIcon());
|
121 |
-
}
|
122 |
-
|
123 |
-
public function testCorrectActiveButtonIconReturned() {
|
124 |
-
$collection = new OptionsCollection($this->options);
|
125 |
-
$collection->add(['button_image' => '']);
|
126 |
-
|
127 |
-
$this->assertNull($collection->getButtonIconActive());
|
128 |
-
|
129 |
-
$collection->add(['button_image' => 'foo']);
|
130 |
-
$collection->add(['button_image_when_clicked' => 'bar']);
|
131 |
-
$collection->add(['button_image_alt_when_clicked' => 'baz']);
|
132 |
-
$this->assertEquals('<img alt="baz" src="bar" class="responsive-menu-button-icon responsive-menu-button-icon-inactive" />', $collection->getButtonIconActive());
|
133 |
-
}
|
134 |
-
|
135 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tests/app/Container/ContainerTest.php
DELETED
@@ -1,66 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
use PHPUnit\Framework\TestCase;
|
4 |
-
use ResponsiveMenu\Container\Container;
|
5 |
-
|
6 |
-
class ContainerTest extends TestCase {
|
7 |
-
|
8 |
-
public function testCreatedObjectIsReturn() {
|
9 |
-
$container = new Container;
|
10 |
-
$container['std'] = function($c) {
|
11 |
-
return new \StdClass;
|
12 |
-
};
|
13 |
-
$this->assertInstanceOf('StdClass', $container['std']);
|
14 |
-
}
|
15 |
-
|
16 |
-
public function testCreatedObjectIsReturnedWithDependencies() {
|
17 |
-
$container = new Container;
|
18 |
-
$container['std'] = function($c) {
|
19 |
-
return new \StdClass;
|
20 |
-
};
|
21 |
-
$container['std_two'] = function($c) {
|
22 |
-
return new \StdClass($c['std']);
|
23 |
-
};
|
24 |
-
$this->assertInstanceOf('StdClass', $container['std']);
|
25 |
-
$this->assertInstanceOf('StdClass', $container['std_two']);
|
26 |
-
}
|
27 |
-
|
28 |
-
public function testVariableIsReturned() {
|
29 |
-
$container = new Container;
|
30 |
-
$container['var'] = 5;
|
31 |
-
$this->assertEquals(5, $container['var']);
|
32 |
-
}
|
33 |
-
|
34 |
-
public function testVariableIsset() {
|
35 |
-
$container = new Container;
|
36 |
-
$container['var'] = 5;
|
37 |
-
$this->assertTrue(isset($container['var']));
|
38 |
-
$this->assertFalse(isset($container['not_set']));
|
39 |
-
}
|
40 |
-
|
41 |
-
public function testVariableKeys() {
|
42 |
-
$container = new Container;
|
43 |
-
$container['var'] = 5;
|
44 |
-
$container['var_two'] = 6;
|
45 |
-
$this->assertEquals(['var', 'var_two'], $container->keys());
|
46 |
-
}
|
47 |
-
|
48 |
-
/**
|
49 |
-
* @expectedException \InvalidArgumentException
|
50 |
-
*/
|
51 |
-
public function testExceptionThrownIfDoesntExist() {
|
52 |
-
$container = new Container;
|
53 |
-
$container['doesnt_exist'];
|
54 |
-
}
|
55 |
-
|
56 |
-
/**
|
57 |
-
* @expectedException \InvalidArgumentException
|
58 |
-
*/
|
59 |
-
public function testExceptionThrownIfDoesntExistAfterUnsetting() {
|
60 |
-
$container = new Container;
|
61 |
-
$container['to_delete'] = 5;
|
62 |
-
unset($container['to_delete']);
|
63 |
-
$container['to_delete'];
|
64 |
-
}
|
65 |
-
|
66 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tests/app/Controllers/AdminControllerTest.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
use PHPUnit\Framework\TestCase;
|
4 |
-
use ResponsiveMenu\Controllers\AdminController;
|
5 |
-
|
6 |
-
class AdminControllerTest extends TestCase {
|
7 |
-
|
8 |
-
private $view_mock;
|
9 |
-
private $manager_mock;
|
10 |
-
|
11 |
-
public function setUp() {
|
12 |
-
$this->view_mock = $this->createMock('ResponsiveMenu\View\View');
|
13 |
-
$this->manager_mock = $this->createMock('ResponsiveMenu\Management\OptionManager');
|
14 |
-
}
|
15 |
-
|
16 |
-
public function testAllMethod() {
|
17 |
-
$controller = new AdminController($this->manager_mock, $this->view_mock);
|
18 |
-
$controller->index('foo', 'bar');
|
19 |
-
}
|
20 |
-
|
21 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tests/app/Database/MigrationTest.php
DELETED
@@ -1,227 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
use PHPUnit\Framework\TestCase;
|
4 |
-
use ResponsiveMenu\Database\Migration;
|
5 |
-
use ResponsiveMenu\Collections\OptionsCollection;
|
6 |
-
use ResponsiveMenu\Management\OptionManager;
|
7 |
-
|
8 |
-
class MigrationTest extends TestCase {
|
9 |
-
|
10 |
-
private $manager;
|
11 |
-
private $defaults = [
|
12 |
-
'foo' => 'bar',
|
13 |
-
'baz' => 'qux'
|
14 |
-
];
|
15 |
-
|
16 |
-
public function setUp() {
|
17 |
-
$db = $this->createMock('ResponsiveMenu\Database\Database');
|
18 |
-
$db->method('all')->willReturn(['moon' => 'rise']);
|
19 |
-
$this->manager = new OptionManager($db, ['foo' => 'bar', 'river' => 'run']);
|
20 |
-
}
|
21 |
-
|
22 |
-
public function tableVersions() {
|
23 |
-
return [
|
24 |
-
|
25 |
-
// These don't require a table
|
26 |
-
['3.0.1', false],
|
27 |
-
['3.1.2', false],
|
28 |
-
['4.5.1', false],
|
29 |
-
['3.0.0', false],
|
30 |
-
|
31 |
-
// These do require a table
|
32 |
-
['2.0.0', true],
|
33 |
-
['2.0.1', true],
|
34 |
-
['2.8.9', true],
|
35 |
-
['1.2.0', true],
|
36 |
-
['2.9.5', true],
|
37 |
-
|
38 |
-
];
|
39 |
-
}
|
40 |
-
/**
|
41 |
-
* @dataProvider tableVersions
|
42 |
-
*/
|
43 |
-
public function testNeedsTable($version, $expected) {
|
44 |
-
$migration = new Migration($this->manager, $version, '3.0.1', $this->defaults);
|
45 |
-
$this->assertEquals($expected, $migration->needsTable());
|
46 |
-
}
|
47 |
-
|
48 |
-
public function updateVersions() {
|
49 |
-
return [
|
50 |
-
['3.0.1', '3.1.0', true],
|
51 |
-
['2.8.9', '3.0.0', true],
|
52 |
-
['1.6.4', '4.1.0', true],
|
53 |
-
['3.1.1', '4.5.3', true],
|
54 |
-
['3.0.1', '3.0.2', true],
|
55 |
-
['3.1.1', '3.1.2', true],
|
56 |
-
|
57 |
-
['3.3.1', '3.1.2', false],
|
58 |
-
['2.8.1', '1.3.2', false],
|
59 |
-
['1.4.1', '1.1.2', false],
|
60 |
-
['4.1.2', '3.1.2', false]
|
61 |
-
];
|
62 |
-
}
|
63 |
-
/**
|
64 |
-
* @dataProvider updateVersions
|
65 |
-
*/
|
66 |
-
public function testNeedsUpdate($old_version, $new_version, $expected) {
|
67 |
-
$migration = new Migration($this->manager, $old_version, $new_version, $this->defaults);
|
68 |
-
$this->assertEquals($expected, $migration->needsUpdate());
|
69 |
-
}
|
70 |
-
|
71 |
-
public function testAddingNewOptions() {
|
72 |
-
$migration = new Migration($this->manager, '3.0.0', '3.0.0', $this->defaults);
|
73 |
-
$collection = new OptionsCollection(['foo' => 'bar', 'river' => 'run', 'baz' => 'qux']);
|
74 |
-
$this->assertEquals($collection, $migration->addNewOptions());
|
75 |
-
}
|
76 |
-
|
77 |
-
public function testRemoveOldOptions() {
|
78 |
-
$migration = new Migration($this->manager, '3.0.0', '3.0.0', $this->defaults);
|
79 |
-
$collection = new OptionsCollection(['foo' => 'bar', 'river' => 'run']);
|
80 |
-
$this->assertEquals($collection, $migration->tidyUpOptions());
|
81 |
-
}
|
82 |
-
|
83 |
-
public function testMinorPointUpgradeMigrationScriptsAreReturned() {
|
84 |
-
$migration = new Migration($this->manager, '0.0.1', '0.0.2', $this->defaults);
|
85 |
-
$classes = $migration->getMigrationClasses();
|
86 |
-
|
87 |
-
$this->assertCount(1, $classes);
|
88 |
-
$this->assertArrayHasKey('0.0.1', $classes);
|
89 |
-
}
|
90 |
-
|
91 |
-
public function testMajorPointUpgradeMigrationScriptsAreReturned() {
|
92 |
-
$migration = new Migration($this->manager, '0.8.9', '1.1.1', $this->defaults);
|
93 |
-
$classes = $migration->getMigrationClasses();
|
94 |
-
|
95 |
-
$this->assertCount(1, $classes);
|
96 |
-
$this->assertArrayHasKey('1.1.0', $classes);
|
97 |
-
}
|
98 |
-
|
99 |
-
public function testNotUpgradeMigrationScriptsAreReturnedIfNewInstall() {
|
100 |
-
$migration = new Migration($this->manager, '', '1.1.1', $this->defaults);
|
101 |
-
$classes = $migration->getMigrationClasses();
|
102 |
-
|
103 |
-
$this->assertCount(0, $classes);
|
104 |
-
$this->assertArrayNotHasKey('0.0.1', $classes);
|
105 |
-
}
|
106 |
-
|
107 |
-
public function testMultipleUpgradeMigrationScriptsAreReturned() {
|
108 |
-
$migration = new Migration($this->manager, '0.0.1', '1.1.1', $this->defaults);
|
109 |
-
$classes = $migration->getMigrationClasses();
|
110 |
-
|
111 |
-
$this->assertCount(4, $classes);
|
112 |
-
$this->assertArrayHasKey('0.0.1', $classes);
|
113 |
-
$this->assertArrayHasKey('0.0.2', $classes);
|
114 |
-
$this->assertArrayHasKey('0.0.5', $classes);
|
115 |
-
$this->assertArrayHasKey('1.1.0', $classes);
|
116 |
-
}
|
117 |
-
|
118 |
-
public function testMigrationScriptUpdatesOptions() {
|
119 |
-
$migration = new Migration($this->manager, '0.0.1', '0.0.2', $this->defaults);
|
120 |
-
|
121 |
-
$options = new OptionsCollection([
|
122 |
-
'foo' => 'bar',
|
123 |
-
'baz' => 'qux',
|
124 |
-
'moon' => 'rise'
|
125 |
-
]);
|
126 |
-
|
127 |
-
foreach($migration->getMigrationClasses() as $migration)
|
128 |
-
$migration->migrate($options);
|
129 |
-
|
130 |
-
$this->assertEquals('qux', $options['foo']);
|
131 |
-
$this->assertEquals('qux', $options['baz']);
|
132 |
-
$this->assertEquals('rise', $options['moon']);
|
133 |
-
}
|
134 |
-
|
135 |
-
public function testMigrationScriptChainsUpdatesOptions() {
|
136 |
-
$migration = new Migration($this->manager, '0.0.1', '1.1.1', $this->defaults);
|
137 |
-
|
138 |
-
$options = new OptionsCollection([
|
139 |
-
'foo' => 'bar',
|
140 |
-
'baz' => 'qux',
|
141 |
-
'moon' => 'rise'
|
142 |
-
]);
|
143 |
-
|
144 |
-
foreach($migration->getMigrationClasses() as $migration)
|
145 |
-
$migration->migrate($options);
|
146 |
-
|
147 |
-
$this->assertEquals('qux', $options['foo']);
|
148 |
-
$this->assertEquals('qux', $options['baz']);
|
149 |
-
$this->assertEquals('qux', $options['moon']);
|
150 |
-
}
|
151 |
-
|
152 |
-
public function testMigrationScriptFunctionsAreCalled() {
|
153 |
-
$migration = new Migration($this->manager, '0.0.1', '0.0.2', $this->defaults);
|
154 |
-
|
155 |
-
$options = new OptionsCollection([
|
156 |
-
'foo' => 'bar',
|
157 |
-
'baz' => 'qux',
|
158 |
-
'moon' => 'rise',
|
159 |
-
'sun' => [
|
160 |
-
[5, 'foo', 'bar'],
|
161 |
-
[6, 'baz', 'qux'],
|
162 |
-
[7, 'moon', 'rise']
|
163 |
-
]
|
164 |
-
]);
|
165 |
-
|
166 |
-
foreach($migration->getMigrationClasses() as $migration)
|
167 |
-
$migration->migrate($options);
|
168 |
-
|
169 |
-
$this->assertEquals('qux', $options['foo']);
|
170 |
-
$this->assertEquals('qux', $options['baz']);
|
171 |
-
$this->assertEquals('rise', $options['moon']);
|
172 |
-
|
173 |
-
$expected_sun = [
|
174 |
-
[5, 'foo'],
|
175 |
-
[6, 'baz'],
|
176 |
-
[7, 'moon']
|
177 |
-
];
|
178 |
-
$this->assertEquals(json_encode($expected_sun), $options['sun']);
|
179 |
-
}
|
180 |
-
|
181 |
-
public function testMigrationScriptFunctionsAreChained() {
|
182 |
-
$migration = new Migration($this->manager, '0.0.1', '1.1.1', $this->defaults);
|
183 |
-
|
184 |
-
$options = new OptionsCollection([
|
185 |
-
'foo' => 'bar',
|
186 |
-
'baz' => 'qux',
|
187 |
-
'moon' => 'rise',
|
188 |
-
'sun' => [
|
189 |
-
[5, 'foo', 'bar'],
|
190 |
-
[6, 'baz', 'qux'],
|
191 |
-
[7, 'moon', 'rise']
|
192 |
-
]
|
193 |
-
]);
|
194 |
-
|
195 |
-
foreach($migration->getMigrationClasses() as $migration)
|
196 |
-
$migration->migrate($options);
|
197 |
-
|
198 |
-
$this->assertEquals('qux', $options['foo']);
|
199 |
-
$this->assertEquals('qux', $options['baz']);
|
200 |
-
$this->assertEquals('qux', $options['moon']);
|
201 |
-
|
202 |
-
$expected_sun = [
|
203 |
-
[5],
|
204 |
-
[6],
|
205 |
-
[7]
|
206 |
-
];
|
207 |
-
$this->assertEquals(json_encode($expected_sun), $options['sun']);
|
208 |
-
}
|
209 |
-
|
210 |
-
public function testNoMigrationScriptsAreNotRunIfNewInstall() {
|
211 |
-
$migration = new Migration($this->manager, '', '1.1.1', $this->defaults);
|
212 |
-
|
213 |
-
$options = new OptionsCollection([
|
214 |
-
'foo' => 'bar',
|
215 |
-
'baz' => 'qux',
|
216 |
-
'moon' => 'rise',
|
217 |
-
]);
|
218 |
-
|
219 |
-
foreach($migration->getMigrationClasses() as $migration)
|
220 |
-
$migration->migrate($options);
|
221 |
-
|
222 |
-
$this->assertEquals('bar', $options['foo']);
|
223 |
-
$this->assertEquals('qux', $options['baz']);
|
224 |
-
$this->assertEquals('rise', $options['moon']);
|
225 |
-
}
|
226 |
-
|
227 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tests/app/Formatters/MinifierTest.php
DELETED
@@ -1,28 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
use PHPUnit\Framework\TestCase;
|
4 |
-
use ResponsiveMenu\Formatters\Minifier;
|
5 |
-
|
6 |
-
class MinifierTest extends TestCase {
|
7 |
-
|
8 |
-
public function testSimpleCSSWhitespaceRemovalTest() {
|
9 |
-
$minifier = new Minifier;
|
10 |
-
$this->assertEquals('.class{}', $minifier->minify('.class { }'));
|
11 |
-
}
|
12 |
-
|
13 |
-
public function testSimpleCSSCommentRemovalTest() {
|
14 |
-
$minifier = new Minifier;
|
15 |
-
$this->assertEquals('.class{}', $minifier->minify('.class{} /*comment */'));
|
16 |
-
}
|
17 |
-
|
18 |
-
public function testSimpleCSSTabRemovalTest() {
|
19 |
-
$minifier = new Minifier;
|
20 |
-
$this->assertEquals('.class{}', $minifier->minify('.class{ }'));
|
21 |
-
}
|
22 |
-
|
23 |
-
public function testSimpleCSSWhitespaceAfterRemovalTest() {
|
24 |
-
$minifier = new Minifier;
|
25 |
-
$this->assertEquals('.class{}', $minifier->minify('.class{} '));
|
26 |
-
}
|
27 |
-
|
28 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tests/app/Management/OptionManagerTest.php
DELETED
@@ -1,85 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
use PHPUnit\Framework\TestCase;
|
4 |
-
use ResponsiveMenu\Management\OptionManager;
|
5 |
-
use ResponsiveMenu\Collections\OptionsCollection;
|
6 |
-
|
7 |
-
class OptionManagerTest extends TestCase {
|
8 |
-
|
9 |
-
private $db;
|
10 |
-
private $default_options = [
|
11 |
-
'foo' => 'bar',
|
12 |
-
'baz' => 'qux'
|
13 |
-
];
|
14 |
-
|
15 |
-
public function setUp() {
|
16 |
-
$this->db = $this->createMock('ResponsiveMenu\Database\Database');
|
17 |
-
}
|
18 |
-
|
19 |
-
public function testUpdateOptionsReturnsCorrectly() {
|
20 |
-
$manager = new OptionManager($this->db, $this->default_options);
|
21 |
-
$to_update = ['foo' => 'new', 'moon' => 'rise'];
|
22 |
-
|
23 |
-
$updated = $manager->updateOptions($to_update);
|
24 |
-
|
25 |
-
$this->assertInstanceOf('ResponsiveMenu\Collections\OptionsCollection', $updated);
|
26 |
-
|
27 |
-
$expected = new OptionsCollection([
|
28 |
-
'foo' => 'new',
|
29 |
-
'baz' => 'qux',
|
30 |
-
'moon' => 'rise'
|
31 |
-
]);
|
32 |
-
|
33 |
-
$this->assertEquals($expected, $updated);
|
34 |
-
}
|
35 |
-
|
36 |
-
public function testCreateOptionsReturnsCorrectly() {
|
37 |
-
$manager = new OptionManager($this->db, $this->default_options);
|
38 |
-
$to_create = ['moon' => 'rise'];
|
39 |
-
|
40 |
-
$updated = $manager->createOptions($to_create);
|
41 |
-
|
42 |
-
$this->assertInstanceOf('ResponsiveMenu\Collections\OptionsCollection', $updated);
|
43 |
-
|
44 |
-
$expected = new OptionsCollection([
|
45 |
-
'foo' => 'bar',
|
46 |
-
'baz' => 'qux',
|
47 |
-
'moon' => 'rise'
|
48 |
-
]);
|
49 |
-
|
50 |
-
$this->assertEquals($expected, $updated);
|
51 |
-
}
|
52 |
-
|
53 |
-
public function testRemoveOptionsReturnsCorrectly() {
|
54 |
-
$manager = new OptionManager($this->db, $this->default_options);
|
55 |
-
$to_remove = ['foo' => 'new', 'moon' => 'rise'];
|
56 |
-
|
57 |
-
$updated = $manager->removeOptions($to_remove);
|
58 |
-
|
59 |
-
$this->assertInstanceOf('ResponsiveMenu\Collections\OptionsCollection', $updated);
|
60 |
-
|
61 |
-
$expected = new OptionsCollection([
|
62 |
-
'baz' => 'qux'
|
63 |
-
]);
|
64 |
-
|
65 |
-
$this->assertEquals($expected, $updated);
|
66 |
-
}
|
67 |
-
|
68 |
-
public function testBuildFromArrayReturnsCorrectly() {
|
69 |
-
$manager = new OptionManager($this->db, $this->default_options);
|
70 |
-
$to_remove = ['foo' => 'new', 'moon' => 'rise'];
|
71 |
-
|
72 |
-
$updated = $manager->buildFromArray($to_remove);
|
73 |
-
|
74 |
-
$this->assertInstanceOf('ResponsiveMenu\Collections\OptionsCollection', $updated);
|
75 |
-
|
76 |
-
$expected = new OptionsCollection([
|
77 |
-
'foo' => 'new',
|
78 |
-
'baz' => 'qux',
|
79 |
-
'moon' => 'rise'
|
80 |
-
]);
|
81 |
-
|
82 |
-
$this->assertEquals($expected, $updated);
|
83 |
-
}
|
84 |
-
|
85 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tests/app/Validation/ValidatorTest.php
DELETED
@@ -1,47 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
use PHPUnit\Framework\TestCase;
|
4 |
-
use ResponsiveMenu\Validation\Validator;
|
5 |
-
|
6 |
-
class ValidatorTest extends TestCase {
|
7 |
-
|
8 |
-
public function testCorrectErrorsReturned() {
|
9 |
-
$options = [
|
10 |
-
'button_background_colour' => 'will fail',
|
11 |
-
'menu_link_colour' => '#ffffff'
|
12 |
-
];
|
13 |
-
$validator = new Validator();
|
14 |
-
$this->assertFalse($validator->validate($options));
|
15 |
-
$errors = $validator->getErrors();
|
16 |
-
|
17 |
-
$this->assertCount(1, $errors);
|
18 |
-
$this->assertArrayHasKey('button_background_colour', $errors);
|
19 |
-
|
20 |
-
// Tests the creation of URL inside error message
|
21 |
-
$this->assertContains('#responsive-menu-button-background-colour', $errors['button_background_colour'][0]);
|
22 |
-
|
23 |
-
// Test the conversion of ID to name inside error message
|
24 |
-
$this->assertContains('Button background colour', $errors['button_background_colour'][0]);
|
25 |
-
}
|
26 |
-
|
27 |
-
public function testNoErrorsThrown() {
|
28 |
-
$options = [
|
29 |
-
'button_background_colour' => '#DADADA',
|
30 |
-
'menu_link_colour' => '#ffffff'
|
31 |
-
];
|
32 |
-
$validator = new Validator();
|
33 |
-
$this->assertTrue($validator->validate($options));
|
34 |
-
$this->assertEmpty($validator->getErrors());
|
35 |
-
}
|
36 |
-
|
37 |
-
public function testCombinedValidators() {
|
38 |
-
$options = [
|
39 |
-
'breakpoint' => '-3.5abc',
|
40 |
-
'menu_link_colour' => '#ffffff'
|
41 |
-
];
|
42 |
-
$validator = new Validator();
|
43 |
-
$this->assertFalse($validator->validate($options));
|
44 |
-
$this->assertEquals(count($validator->getErrors()['breakpoint']), 2);
|
45 |
-
}
|
46 |
-
|
47 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tests/app/Validation/Validators/ColourTest.php
DELETED
@@ -1,40 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
use PHPUnit\Framework\TestCase;
|
4 |
-
use ResponsiveMenu\Validation\Validators;
|
5 |
-
|
6 |
-
class ColourTest extends TestCase {
|
7 |
-
|
8 |
-
public function testColourList() {
|
9 |
-
return [
|
10 |
-
|
11 |
-
// These should fail
|
12 |
-
['foo', false],
|
13 |
-
['bar', false],
|
14 |
-
['red', false],
|
15 |
-
['#f', false],
|
16 |
-
['#f', false],
|
17 |
-
['#ff', false],
|
18 |
-
['##fff', false],
|
19 |
-
['rgba(54,54,54)', false],
|
20 |
-
|
21 |
-
// These should pass
|
22 |
-
['#fff', true],
|
23 |
-
['#ffffff', true],
|
24 |
-
['#333333', true],
|
25 |
-
['#7f7f7f', true],
|
26 |
-
['rgba(54,54,54,0.5)', true],
|
27 |
-
['rgba(54, 54, 54, 0.5)', true]
|
28 |
-
|
29 |
-
];
|
30 |
-
}
|
31 |
-
|
32 |
-
/**
|
33 |
-
* @dataProvider testColourList
|
34 |
-
*/
|
35 |
-
public function testHexIsValidated($colour, $expected) {
|
36 |
-
$validator = new Validators\Colour($colour);
|
37 |
-
$this->assertEquals($expected, $validator->validate());
|
38 |
-
}
|
39 |
-
|
40 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tests/app/Validation/Validators/NumberTest.php
DELETED
@@ -1,47 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
use PHPUnit\Framework\TestCase;
|
4 |
-
use ResponsiveMenu\Validation\Validators;
|
5 |
-
|
6 |
-
class NumberTest extends TestCase {
|
7 |
-
|
8 |
-
public function testNumberList() {
|
9 |
-
return [
|
10 |
-
|
11 |
-
// These should fail
|
12 |
-
['a', false],
|
13 |
-
['cd', false],
|
14 |
-
['0cd', false],
|
15 |
-
['cd0', false],
|
16 |
-
['cd0dc', false],
|
17 |
-
['', false],
|
18 |
-
|
19 |
-
// These should pass
|
20 |
-
['0', true],
|
21 |
-
['0.2', true],
|
22 |
-
['1', true],
|
23 |
-
['1.2', true],
|
24 |
-
['-1', true],
|
25 |
-
['-3.4', true],
|
26 |
-
['44', true],
|
27 |
-
[0, true],
|
28 |
-
[0.3, true],
|
29 |
-
[1, true],
|
30 |
-
[1.6, true],
|
31 |
-
[-1, true],
|
32 |
-
[-1.2, true],
|
33 |
-
[44, true],
|
34 |
-
[44.8, true]
|
35 |
-
|
36 |
-
];
|
37 |
-
}
|
38 |
-
|
39 |
-
/**
|
40 |
-
* @dataProvider testNumberList
|
41 |
-
*/
|
42 |
-
public function testIntegerIsValidated($number, $expected) {
|
43 |
-
$validator = new Validators\Number($number);
|
44 |
-
$this->assertEquals($expected, $validator->validate());
|
45 |
-
}
|
46 |
-
|
47 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tests/app/Validation/Validators/PositiveTest.php
DELETED
@@ -1,41 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
use PHPUnit\Framework\TestCase;
|
4 |
-
use ResponsiveMenu\Validation\Validators;
|
5 |
-
|
6 |
-
class PositiveTest extends TestCase {
|
7 |
-
|
8 |
-
public function testPositiveList() {
|
9 |
-
return [
|
10 |
-
|
11 |
-
// These should fail
|
12 |
-
['-3.5as', false],
|
13 |
-
['-2a', false],
|
14 |
-
['-1', false],
|
15 |
-
['-4', false],
|
16 |
-
[-3, false],
|
17 |
-
|
18 |
-
// These should pass
|
19 |
-
['', true],
|
20 |
-
['0', true],
|
21 |
-
['0.2', true],
|
22 |
-
['1', true],
|
23 |
-
['1.2', true],
|
24 |
-
['44', true],
|
25 |
-
[0, true],
|
26 |
-
[0.3, true],
|
27 |
-
[1, true],
|
28 |
-
[1.6, true],
|
29 |
-
|
30 |
-
];
|
31 |
-
}
|
32 |
-
|
33 |
-
/**
|
34 |
-
* @dataProvider testPositiveList
|
35 |
-
*/
|
36 |
-
public function testNumberIsValidated($number, $expected) {
|
37 |
-
$validator = new Validators\Positive($number);
|
38 |
-
$this->assertEquals($expected, $validator->validate());
|
39 |
-
}
|
40 |
-
|
41 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v4.0.0/assets/admin/build/js/rmpMain.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
/*! For license information please see rmpMain.js.LICENSE.txt */
|
2 |
-
(function(){var __webpack_modules__={"./assets/admin/js/rmp-admin.js":function(){eval("/**\n * This is admin scripts file which contain the admin actions.\n *\n * @version 4.0.0\n *\n * @author Expresstech System\n *\n */\njQuery(document).ready(function (jQuery) {\n /**\n * Rollback the plugin version.\n *\n * @version 4.0.0\n *\n * @fires Click\n */\n jQuery('#rmp-rollback-version').on('click', function (e) {\n e.preventDefault();\n var version = jQuery('#rmp-versions').val();\n\n if ('3.1.30' === version) {\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n action: 'rmp_rollback_version'\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error) {\n jQuery(this).prop('disabled', false);\n },\n success: function success(response) {\n if (response.data.redirect) {\n location.href = response.data.redirect;\n }\n }\n });\n }\n });\n /**\n * Iframe loader and contents show/hide.\n */\n\n jQuery('#rmp-preview-iframe').on('load', function () {\n jQuery('#rmp-preview-iframe-loader').hide();\n jQuery('#rmp-menu-update-notification').remove();\n jQuery('#rmp-preview-iframe').show();\n jQuery('#rmp-preview-iframe').contents().find('a').on('click', function (e) {\n e.stopPropagation();\n e.preventDefault();\n var url = jQuery(this).attr('href'); // Prevent to load the customizer page on preview aria.\n\n if ('#' == url) {\n return;\n }\n\n if (url.indexOf('?') >= 0) {\n url = url + '&rmp_preview_mode=true';\n } else {\n url = url + '?rmp_preview_mode=true';\n }\n\n jQuery('#rmp-preview-iframe').attr('src', url);\n });\n });\n /**\n * Save the theme as template.\n *\n * @since 4.0.0\n *\n * @fires Click\n */\n\n jQuery('button#rmp-save-theme').on('click', function (e) {\n e.stopPropagation();\n e.preventDefault();\n var themeName = jQuery('#rmp-save-theme-name').val();\n\n if (3 > themeName.length) {\n alert('Please give meaning full name to this theme');\n return;\n }\n\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_save_theme',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'theme_name': themeName,\n 'menu_id': jQuery('#menu_id').val(),\n 'form': jQuery('#rmp-editor-form').serialize()\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error2) {\n console.log(_error2.statusText);\n },\n success: function success(response) {\n jQuery(e.target).parents('.rmp-dialog-contents').append('<div class=\"notice notice-success settings-error is-dismissible\"><p>' + response.data.message + '</p></div>');\n }\n });\n });\n /**\n * Ajax call to save the menu settings when click on update.\n *\n * @version 4.0.0\n *\n * @fires click\n */\n\n jQuery(document).on('click', 'button#rmp-save-menu-options,#rmp-menu-quick-update-button', function (e) {\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_save_menu_action',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'form': jQuery('#rmp-editor-form').serialize()\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery('#rmp-preview-iframe-loader').show();\n },\n error: function error(_error3) {\n console.log(_error3.statusText);\n jQuery('#rmp-preview-iframe-loader').hide();\n },\n success: function success(response) {\n // If options is updated successfully then reload the iframe.\n if (response.success) {\n var url = jQuery('#rmp-preview-iframe').attr('src');\n jQuery('#rmp-preview-iframe').attr('src', url);\n }\n }\n });\n }); // Initiate the color picker instances.\n\n jQuery('.rmp-color-input').wpColorPicker(); // Fix events glitch on color textbox.\n\n jQuery('.rmp-color-input').removeAttr('style');\n jQuery(document).find('.rmp-color-input').off('focus'); // Initiate the tab elements.\n\n jQuery('.tabs,#rmp-setting-tabs').tabs({\n hide: {\n effect: 'explode',\n duration: 1000\n },\n show: {\n effect: 'explode',\n duration: 800\n },\n active: 0\n }); // Active tabs under ordering elements.\n\n jQuery('.nav-tab-wrapper').on('click', '.nav-tab', function (e) {\n jQuery('.nav-tab-wrapper .nav-tab').removeClass('nav-tab-active');\n jQuery(this).addClass('nav-tab-active');\n });\n /**\n * Hamburger element selector option hide and show.\n */\n\n hideShowSelect('#rmp-menu-button-position-type', '.rmp-menu-hamburger-selector-div', 'show', 'inside-element');\n jQuery('#rmp-menu-button-position-type').on('change', function () {\n hideShowSelect(this, '.rmp-menu-hamburger-selector-div', 'show', 'inside-element');\n });\n /**\n * select hide show function\n * @para string select, string show/hide Element, string show/hide\n */\n\n function hideShowSelect(checkElement, targetElement, condition, value) {\n if (jQuery(checkElement).val() == value) {\n if (condition == 'show') {\n jQuery(targetElement).show();\n } else {\n jQuery(targetElement).hide();\n }\n } else {\n if (condition == 'show') {\n jQuery(targetElement).hide();\n } else {\n jQuery(targetElement).show();\n }\n }\n }\n /**\n * Check open/close of device options switcher.\n *\n * @version 4.0.0\n *\n * @fires click\n */\n\n\n jQuery('.rmp-device-switcher').on('click', function () {\n var isOpen = jQuery(this).hasClass('open');\n\n if (isOpen) {\n jQuery(this).removeClass('open');\n } else {\n jQuery('.rmp-device-switcher').removeClass('open');\n jQuery(this).addClass('open');\n }\n });\n /**\n * Change the option when select a device.\n *\n * @version 4.0.0\n *\n * @fires click\n */\n\n jQuery('.rmp-device-switcher li').on('click', function () {\n var selectedDevice = jQuery(this).attr('data-device');\n var firstDevice = jQuery('.rmp-device-switcher li:first-child').attr('data-device');\n\n if (selectedDevice != firstDevice) {\n activeDeviceOptions(selectedDevice);\n\n if ('desktop' == selectedDevice) {\n jQuery('#rmp-preview-desktop').trigger('click');\n } else if ('tablet' == selectedDevice) {\n jQuery('#rmp-preview-tablet').trigger('click');\n } else {\n jQuery('#rmp-preview-mobile').trigger('click');\n }\n }\n });\n /**\n * Active all the device options in editor.\n *\n * @version 4.0.0;\n * @param {string} selectedDevice This device name which is active.\n */\n\n function activeDeviceOptions(selectedDevice) {\n var firstDevice = jQuery('.rmp-device-switcher li:first-child').attr('data-device');\n var selectedIcon = jQuery('.rmp-device-switcher li[data-device=' + selectedDevice + ']').html();\n var firstIcon = jQuery('.rmp-device-switcher li:first-child').html();\n jQuery('.rmp-device-switcher li').each(function () {\n if (jQuery(this).attr('data-device') === selectedDevice) {\n jQuery(this).html(firstIcon);\n jQuery(this).attr('data-device', firstDevice);\n } else if (jQuery(this).attr('data-device') === firstDevice) {\n jQuery(this).html(selectedIcon);\n jQuery(this).attr('data-device', selectedDevice);\n }\n });\n }\n /**\n * Close the device switcher when mouseup other places.\n *\n * @version 4.0.0\n *\n * @fires mouseup\n */\n\n\n jQuery(document).on('mouseup', function (event) {\n var target = event.target;\n var deviceSwitcher = jQuery('.rmp-device-switcher');\n\n if (!deviceSwitcher.is(target) && 0 === deviceSwitcher.has(target).length) {\n deviceSwitcher.removeClass('open');\n }\n });\n /**\n * Active preview as per clicked device.\n *\n * @version 4.0.0\n *\n * @fires Click\n */\n\n jQuery('#rmp-editor-footer .rmp-preview-device-wrapper').on('click', 'button', function (e) {\n jQuery('#rmp-editor-footer').find('.rmp-preview-device-wrapper button').removeClass('active');\n jQuery('#rmp-editor-footer').find('.rmp-preview-device-wrapper button').attr('aria-pressed', 'false');\n jQuery(this).addClass('active');\n jQuery(this).attr('aria-pressed', 'true');\n var device = jQuery(this).data('device');\n var deviceEditor = jQuery('#rmp-editor-wrapper');\n var allClasses = deviceEditor.attr('class').split(' ');\n allClasses.forEach(function (value) {\n if (value.includes('rmp-preview-')) {\n deviceEditor.removeClass(value);\n }\n });\n deviceEditor.addClass('rmp-preview-' + device);\n activeDeviceOptions(device);\n });\n /**\n * Instantiate the accordion elements.\n * @version 4.0.0\n */\n\n jQuery('.rmp-accordion-container,.rmp-sub-accordion-container').accordion({\n collapsible: true,\n heightStyle: 'content',\n animate: 200,\n active: 0\n });\n /**\n * Instantiate the draggable and sortable menu item order elements.\n * \t@version 4.0.0\n */\n\n jQuery('#rmp-menu-ordering-items').accordion().sortable({\n placeholder: 'sortable-placeholder',\n opacity: 0.9,\n cursor: 'move',\n delay: 150,\n forcePlaceholderSize: true,\n active: false\n });\n /**\n * Stop propagating when click on item control element.\n */\n\n jQuery('#tab-container .item-controls, #tab-header-bar .item-controls').on('click', function (event) {\n event.stopPropagation();\n });\n /**\n * Show/Hide tooltip for option description.\n *\n * @version 4.0.0\n *\n * @fires click,mouseleave\n */\n\n jQuery('.rmp-tooltip-icon').on('click', function (e) {\n if (jQuery(this).hasClass('show-tooltip')) {\n return;\n } else {\n jQuery(this).addClass('show-tooltip');\n }\n\n var toolTipContents = jQuery(this).find('.rmp-tooltip-content');\n toolTipContents.css({\n 'left': e.pageX - toolTipContents.width() / 100 * 60,\n 'position': 'fixed',\n 'top': e.pageY - toolTipContents.height() - 10,\n 'bottom': 'unset'\n });\n toolTipContents.fadeIn();\n }).on('mouseleave', function () {\n jQuery(this).removeClass('show-tooltip');\n jQuery(this).find('.rmp-tooltip-content').fadeOut();\n });\n /**\n * Remove image from image picker\n *\n * @version 4.0.0\n *\n * @fires Click\n */\n\n jQuery('.rmp-image-picker ').on('click', '.rmp-image-picker-trash', function (e) {\n e.stopPropagation();\n e.preventDefault();\n jQuery(this).parent('.rmp-image-picker').siblings('input.rmp-image-url-input').val('');\n jQuery(this).parent('.rmp-image-picker').removeAttr('style');\n jQuery(this).remove();\n\n if (!jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length) {\n addUpdateNotification();\n }\n });\n /**\n * Show/Hide the theme uploader section in theme page.\n */\n\n jQuery('#rmp-upload-new-theme').on('click', function () {\n jQuery('#rmp-menu-library-import').toggleClass('hide');\n });\n /**\n * Hide theme uploader section when click on cancel.\n */\n\n jQuery('#rmp-menu-library-import-form').on('click', '.cancel', function (e) {\n jQuery('#rmp-menu-library-import').addClass('hide');\n });\n /**\n * Upload the theme file using dropzone.\n *\n * @version 4.0.0\n */\n\n jQuery('#rmp-menu-library-import-form').dropzone({\n clickable: true,\n acceptedFiles: '.zip',\n uploadMultiple: false,\n success: function success(file, response) {\n location.reload();\n },\n totaluploadprogress: function totaluploadprogress() {\n jQuery('.rmp-page-loader').css('display', 'flex');\n }\n });\n /**\n * Open theme options in editor footer.\n */\n\n jQuery('#rmp-theme-action').on('click', function (e) {\n jQuery('#rmp-footer-theme-options').toggleClass('open');\n });\n /**\n * Show/Hide the save theme wizard.\n */\n\n jQuery('.rmp-theme-save-button, #rmp-menu-save-theme-wizard .rmp-dialog-wrap .close').on('click', function (e) {\n jQuery('#rmp-menu-save-theme-wizard').toggle();\n });\n /**\n * Delete the theme from theme page.\n */\n\n jQuery('.rmp-theme-delete').on('click', function (e) {\n e.preventDefault();\n /** Ask for delete confirmation */\n\n var isConfirm = confirm('Are you sure, You want to delete this theme ?');\n\n if (!isConfirm) {\n return;\n } //Show the loader on deleting theme.\n\n\n var current_theme = jQuery(this);\n current_theme.append('<span class=\"spinner is-active\"></span>');\n var themeName = jQuery(this).attr('data-theme');\n var themeType = jQuery(this).attr('data-theme-type').toLowerCase();\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_theme_delete',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'theme_name': themeName,\n 'theme_type': themeType\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error4) {\n console.log(_error4.statusText);\n },\n success: function success(response) {\n current_theme.find('.spinner').removeClass('is-active');\n\n if (response.success) {\n location.reload();\n } else {\n alert(response.data.message);\n }\n }\n });\n });\n /**\n * Apply the selected theme in current active menu in editor.\n *\n * @version 4.0.0\n *\n * @fires click\n */\n\n jQuery(document).on('click', '.rmp-theme-apply', function (e) {\n //Show the overlay with loader.\n jQuery('.rmp-page-loader').css('display', 'flex');\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_theme_apply',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'theme_name': jQuery(this).attr('theme-name'),\n 'theme_type': jQuery(this).attr('theme-type').toLowerCase(),\n 'menu_id': jQuery('#menu_id').val(),\n 'menu_to_use': jQuery('#rmp-menu-to-use').val()\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error5) {\n console.log(_error5.statusText);\n jQuery('.rmp-page-loader').hide();\n },\n success: function success(response) {\n if (response.success) {\n location.reload();\n } else {\n jQuery('.rmp-page-loader').hide();\n alert(response.data.message);\n }\n }\n });\n });\n /**\n * Save the global settings on click.\n *\n * @version 4.0.0\n *\n * @fires click\n */\n\n jQuery('.rmp-save-global-settings-button').on('click', function (e) {\n e.preventDefault();\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_save_global_settings',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'form': jQuery('#rmp-global-settings').serialize()\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery(this).prop('disabled', true);\n jQuery('.spinner').addClass('is-active');\n },\n error: function error(_error6) {\n console.log('Internal Error !' + _error6);\n },\n success: function success(response) {\n jQuery('.spinner').removeClass('is-active');\n jQuery(this).prop('disabled', false);\n }\n });\n });\n /**\n * Initiate multiple selectize option of editor.\n */\n\n jQuery('#rmp-keyboard-shortcut-close-menu,#rmp-keyboard-shortcut-open-menu').selectize({\n maxItems: 2,\n plugins: ['remove_button']\n });\n /**\n * Event to linked the group inputs.\n *\n * @fires Click\n */\n\n jQuery(document).on('click', 'button.rmp-group-input-linked', function () {\n jQuery(this).toggleClass('is-linked');\n });\n /**\n * Event to type on all sibblings input if linked.\n *\n * @fires keyup\n */\n\n jQuery(document).on('keyup', 'input.rmp-group-input', function (event) {\n var pressedKeys = this.value.toLocaleLowerCase();\n var parent = jQuery(this).parents('.rmp-input-group-control');\n var isLinked = parent.find('.is-linked');\n\n if (isLinked.length) {\n parent.find('input.rmp-group-input').val(pressedKeys);\n } else {\n jQuery(this).val(pressedKeys);\n }\n });\n /**\n * Function to add the notification and update button.\n */\n\n function addUpdateNotification() {\n if (!jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length) {\n jQuery('#rmp-editor-main').prepend('<div id=\"rmp-menu-update-notification\" class=\"rmp-order-item rmp-order-item-description\">' + '<span> <span class=\"rmp-font-icon dashicons dashicons-warning \"></span> Update Required </span>' + '<a href=\"javascript:void(0)\" id=\"rmp-menu-quick-update-button\">UPDATE</a>' + '</div>');\n }\n }\n\n jQuery('form#rmp-editor-form').on('keyup change paste', 'input, select, textarea, radio, checkbox', function () {\n if (!jQuery(this).hasClass('no-updates')) {\n addUpdateNotification();\n }\n });\n jQuery(document).on('click', '#rmp-icon-dialog-select,.media-button-select,.rmp-icon-picker,.rmp-image-picker', function () {\n if (!jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length) {\n addUpdateNotification();\n }\n });\n /**\n * Event to download exported menu settings as json file.\n *\n * @version 4.0.0\n */\n\n jQuery('#rmp-export-menu-button').on('click', function (e) {\n e.preventDefault();\n var menu_id = jQuery('#rmp_export_menu_list').val();\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_export_menu',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'menu_id': menu_id\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery('#rmp-export-menu-button').prop('disabled', true);\n },\n error: function error(_error7) {\n console.log(_error7.statusText);\n jQuery('#rmp-export-menu-button').prop('disabled', false);\n },\n success: function success(response) {\n jQuery('#rmp-export-menu-button').prop('disabled', false);\n\n if (response.data) {\n var menu_name = jQuery('#rmp_export_menu_list').children(\":selected\").text().trim().toLocaleLowerCase().split(' ').join('-');\n download_file(response.data, menu_name + '.json', 'application/json');\n }\n }\n });\n });\n /**\n * Function to download the content as file.\n *\n * @since 4.0.0\n *\n * @param {String} content Contents for file\n * @param {String} name Name of the file.\n * @param {String} type File type\n */\n\n function download_file(content, name, type) {\n var link = document.body.appendChild(document.createElement('a'));\n var file = new Blob([content], {\n type: type\n });\n link.href = URL.createObjectURL(file);\n link.download = name;\n link.click();\n }\n /**\n * Event to download exported menu settings as json file.\n *\n * @version 4.0.0\n */\n\n\n jQuery('#rmp-import-menu-button').on('click', function (e) {\n e.preventDefault();\n var menu_id = jQuery('#rmp_import_menu_list').val();\n\n if (!menu_id) {\n alert('Please create menu first ! ');\n return;\n }\n\n var file_data = jQuery('#rmp_input_import_file')[0].files[0];\n\n if (!file_data) {\n alert('Choose export file ! ');\n return;\n }\n\n var form_data = new FormData();\n form_data.append('file', file_data);\n form_data.append('ajax_nonce', rmpObject.ajax_nonce);\n form_data.append('menu_id', menu_id);\n form_data.append('action', 'rmp_import_menu');\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: form_data,\n type: 'POST',\n cache: false,\n contentType: false,\n processData: false,\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery('#rmp-import-menu-button').prop('disabled', true);\n },\n error: function error(_error8) {\n console.log(_error8.statusText);\n jQuery('#rmp-import-menu-button').prop('disabled', false);\n },\n success: function success(response) {\n jQuery('#rmp-import-menu-button').prop('disabled', false);\n noticeClass = 'notice-error';\n\n if (response.success) {\n noticeClass = 'notice-success';\n jQuery('#rmp_input_import_file').val('');\n }\n\n jQuery('#rmp-global-settings').before('<div class=\"notice ' + noticeClass + ' settings-error is-dismissible\"> <p>' + response.data.message + '</p></div>');\n setTimeout(function () {\n jQuery('#rmp-global-settings').parent().find('.notice').remove();\n }, 3000);\n }\n });\n });\n /**\n * Function to manage menu container animation options.\n *\n * @param {String} optionValue\n */\n\n function updateMenuContainerAnimationOptions(optionValue) {\n if ('push' === optionValue) {\n jQuery('#rmp-page-wrapper').parents('.rmp-input-control-wrapper').fadeIn();\n } else {\n jQuery('#rmp-page-wrapper').parents('.rmp-input-control-wrapper').fadeOut();\n }\n\n if ('fade' === optionValue) {\n jQuery('#rmp-menu-appear-from option[value=\"top\"]').hide();\n jQuery('#rmp-menu-appear-from option[value=\"bottom\"]').hide();\n } else {\n jQuery('#rmp-menu-appear-from option[value=\"top\"]').show();\n jQuery('#rmp-menu-appear-from option[value=\"bottom\"]').show();\n }\n } // Menu container animation type and their options.\n\n\n updateMenuContainerAnimationOptions(jQuery('#rmp-animation-type').val());\n jQuery('#rmp-editor-wrapper').on('change', '#rmp-animation-type', function (e) {\n var optionValue = jQuery(this).val();\n updateMenuContainerAnimationOptions(optionValue);\n });\n /**\n * Event to back on home page under preview screen.\n *\n * @since 4.1.0\n *\n * @fires click\n *\n * @return void\n */\n\n jQuery('#rmp-preview-wrapper').on('click', function () {\n var url = window.location.href;\n url = url.substring(0, url.indexOf('wp-admin')) + '?rmp_preview_mode=true';\n jQuery('#rmp-preview-iframe-loader').show();\n jQuery('#rmp-preview-iframe').attr('src', url);\n });\n /** Call ajax to hide admin notice permanent. */\n\n jQuery('.notice-responsive-menu').on('click', '.notice-dismiss', function (event) {\n event.preventDefault();\n jQuery.ajax({\n type: \"POST\",\n url: rmpObject.ajaxURL,\n data: 'action=rmp_upgrade_admin_notice_dismiss'\n });\n });\n});\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/js/rmp-admin.js?")},"./assets/admin/js/rmp-editor.js":function(){eval("/**\n * This file container the editor multi level features.\n *\n * @version 4.0.0\n *\n * @type {Object}\n */\nvar rmpEditor = {\n editorSidebar: '#rmp-editor-wrapper',\n sidebarDrawer: 'button.collapse-sidebar',\n mainForm: '#rmp-editor-form',\n editorContainer: '#rmp-editor-main',\n topParentNav: '#rmp-editor-nav',\n topParentTab: '#rmp-editor-pane',\n childTabs: '.rmp-accordions',\n parentTabItem: '.rmp-editor-pane-parent li.rmp-tab-item',\n tabItem: 'li.rmp-tab-item',\n quickItem: '.rmp-quick-edit-link',\n tabItemTitle: '.rmp-tab-item-title',\n titleLogo: '.rmp-editor-header-logo',\n closeButton: '.rmp-editor-header-close',\n searchButton: '.rmp-search-settings-btn',\n searchForm: '.rmp-search-settings',\n titleText: '.rmp-editor-header-title',\n backButton: '.rmp-editor-header-back',\n accordionItem: 'li.rmp-accordion-item',\n tabId: null,\n level: 0,\n triggerBack: function triggerBack() {\n this.level--;\n parentId = jQuery('#' + this.tabId).attr('aria-parent');\n jQuery('#' + parentId).show();\n var title = jQuery('#' + parentId).attr('aria-label');\n this.updateHeader(title);\n jQuery('#' + this.tabId).hide();\n this.tabId = parentId;\n },\n updatePanel: function updatePanel(current) {\n this.tabId = current.attr('aria-owns');\n jQuery('#' + this.tabId).show();\n parentId = current.parent('ul').parent('div').attr('id');\n jQuery('#' + this.tabId).attr('aria-parent', parentId);\n jQuery('#' + parentId).hide();\n },\n updateQuickPanel: function updateQuickPanel(current) {\n this.tabId = current.attr('aria-owns');\n var accordionId = current.attr('accordion-id');\n var subAccordionId = current.attr('sub-accordion-id');\n var subTabId = current.attr('sub-tab-id');\n parentId = jQuery(\".rmp-accordions:visible\").attr('id');\n jQuery('#' + this.tabId).attr('aria-parent', parentId);\n jQuery('#' + parentId).hide();\n jQuery('#' + this.tabId).show();\n\n if (accordionId != '') {\n if (!jQuery('#' + accordionId).hasClass(\"ui-state-active\")) {\n jQuery('#' + accordionId).click();\n }\n\n if (subAccordionId != '') {\n if (!jQuery('#' + subAccordionId).hasClass(\"ui-state-active\")) {\n jQuery('#' + subAccordionId).click();\n }\n\n accordionId = subAccordionId;\n }\n\n setTimeout(function () {\n var topPos = document.getElementById(accordionId).offsetTop;\n jQuery('#rmp-editor-main').animate({\n scrollTop: topPos - 60 + 'px'\n }, 500);\n }, 400);\n }\n\n if (subTabId != '') {\n jQuery('#' + subTabId).click();\n }\n },\n updateHeader: function updateHeader(title) {\n if (0 == this.level) {\n jQuery(this.titleLogo).find('img').show();\n jQuery(this.closeButton).show();\n jQuery(this.backButton).hide();\n jQuery(this.searchForm).css('width', '200');\n } else if (1 == this.level) {\n jQuery(this.backButton).css('display', 'flex');\n jQuery(this.titleLogo).find('img').hide();\n jQuery(this.closeButton).hide();\n jQuery(this.searchForm).css('width', '255');\n }\n\n jQuery(this.titleText).text(title);\n },\n init: function init() {\n var self = this; // Move on next panel when click on item.\n\n jQuery(self.editorContainer).on('click', self.tabItem, function (e) {\n e.stopPropagation();\n e.preventDefault();\n current = jQuery(this);\n self.level++;\n self.updateHeader(current.text());\n self.updatePanel(current);\n }); // Move on next panel when click on item.\n\n jQuery(self.editorContainer).on('click', self.quickItem, function (e) {\n e.stopPropagation();\n e.preventDefault();\n current = jQuery(this);\n var tabId = current.attr('aria-owns');\n var title = jQuery('.rmp-tab-item[aria-owns=\"' + tabId + '\"]').find('.rmp-tab-item-title').html();\n self.level++;\n self.updateHeader(title);\n self.updateQuickPanel(current);\n }); // Back from inner panel when click on back button.\n\n jQuery(self.backButton).on('click', function (e) {\n e.stopPropagation();\n self.triggerBack();\n }); // Open/Close the editor setting sidebar.\n\n jQuery(self.sidebarDrawer).on('click', function (e) {\n jQuery(self.editorSidebar).toggleClass('expanded collapsed');\n }); // Open/Close the search form.\n\n jQuery(self.searchButton).on('click', function (e) {\n jQuery(self.searchForm).toggle();\n }); //Search settings\n\n jQuery.expr[':'].containsIgnoreCase = function (n, i, m) {\n return jQuery(n).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;\n };\n\n jQuery.fn.highlight = function (pat) {\n function innerHighlight(node, pat) {\n var skip = 0;\n\n if (jQuery(node).is(\"select,input,textarea, .rmp-tooltip-content \")) {\n return skip;\n }\n\n if (node.nodeType == 3) {\n var pos = node.data.toUpperCase().indexOf(pat);\n\n if (pos >= 0) {\n var spannode = document.createElement('i');\n spannode.className = 'rmp-highlight';\n var middlebit = node.splitText(pos);\n middlebit.splitText(pat.length);\n var middleclone = middlebit.cloneNode(true);\n spannode.appendChild(middleclone);\n middlebit.parentNode.replaceChild(spannode, middlebit);\n skip = 1;\n }\n } else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {\n for (var i = 0; i < node.childNodes.length; ++i) {\n i += innerHighlight(node.childNodes[i], pat);\n }\n }\n\n return skip;\n }\n\n return this.each(function () {\n innerHighlight(this, pat.toUpperCase());\n });\n };\n\n jQuery.fn.removeHighlight = function () {\n function newNormalize(node) {\n for (var i = 0, children = node.childNodes, nodeCount = children.length; i < nodeCount; i++) {\n var child = children[i];\n\n if (child.nodeType == 1) {\n newNormalize(child);\n continue;\n }\n\n if (child.nodeType != 3) {\n continue;\n }\n\n var next = child.nextSibling;\n\n if (next == null || next.nodeType != 3) {\n continue;\n }\n\n var combined_text = child.nodeValue + next.nodeValue;\n var new_node = node.ownerDocument.createTextNode(combined_text);\n node.insertBefore(new_node, child);\n node.removeChild(child);\n node.removeChild(next);\n i--;\n nodeCount--;\n }\n }\n\n return this.find(\"i.rmp-highlight\").each(function () {\n var thisParent = this.parentNode;\n thisParent.replaceChild(this.firstChild, this);\n newNormalize(thisParent);\n }).end();\n };\n\n jQuery(document).on('keyup change search', self.searchForm, function () {\n var searchTerm = jQuery(this).val();\n jQuery('#rmp-editor-main').removeHighlight();\n jQuery('.rmp-search-results-found').remove();\n if (searchTerm == '') return false;\n jQuery('#rmp-editor-main').highlight(searchTerm);\n jQuery(self.parentTabItem).each(function () {\n var target = \"#\" + jQuery(this).attr(\"aria-owns\");\n var count = jQuery(target).find(\"i.rmp-highlight:containsIgnoreCase(\" + searchTerm + \")\").length;\n jQuery(target).find(self.tabItem).each(function () {\n var childTarget = \"#\" + jQuery(this).attr(\"aria-owns\");\n var childCount = jQuery(childTarget).find(\"i.rmp-highlight:containsIgnoreCase(\" + searchTerm + \")\").length;\n\n if (childCount > 0) {\n jQuery(this).append('<span class=\"rmp-search-results-found\">' + childCount + ' Results</span>');\n count = Number(count) + Number(childCount);\n }\n });\n\n if (count > 0) {\n jQuery(target).find(self.accordionItem).each(function () {\n var accordionItemCount = jQuery(this).find(\":not(.accordion-item-title, .item-title) > i.rmp-highlight:containsIgnoreCase(\" + searchTerm + \")\").length;\n\n if (accordionItemCount > 0) {\n jQuery(this).find('.rmp-accordion-title:first > .accordion-item-title, .rmp-accordion-title:first > .item-title').append('<span class=\"rmp-search-results-found\">' + accordionItemCount + ' Results</span>');\n }\n });\n jQuery(this).append('<span class=\"rmp-search-results-found\">' + count + ' Results</span>');\n }\n });\n });\n }\n};\nrmpEditor.init();\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/js/rmp-editor.js?")},"./assets/admin/js/rmp-icon.js":function(){eval("/**\n * This file contain the script to handle the icon wizard and it's operation.\n *\n * @version 4.0.0\n */\njQuery(document).ready(function () {\n var RMP_Icon = {\n iconSelect: '#rmp-icon-dialog-select',\n iconContainer: '.rmp-menu-icons-dialog',\n clearSelector: '#rmp-icon-dialog-clear',\n closeSelector: '.rmp-menu-icons-dialog .rmp-dialog-header button.close',\n clear: function clear() {\n var self = this;\n jQuery(self.clearSelector).on('click', function () {\n jQuery(self.iconContainer).find('input').prop('checked', false);\n });\n },\n closeDialog: function closeDialog() {\n var self = this;\n jQuery(self.closeSelector).on('click', function () {\n jQuery(self.iconContainer).hide();\n });\n },\n openDialog: function openDialog(iconChooser) {\n var self = this;\n jQuery(iconChooser).on('click', function (e) {\n e.stopPropagation();\n jQuery(self.iconContainer).show();\n jQuery(self.iconSelect).attr('data-click', jQuery(e.target).attr('id'));\n });\n },\n getIconElementWrap: function getIconElementWrap(icon_class) {\n if (icon_class.includes('material-icons')) {\n icon_class = icon_class.replace('material-icons', '');\n return '<span class=\"rmp-font-icon material-icons\">' + icon_class + '</span>';\n }\n\n return '<span class=\"rmp-font-icon ' + icon_class + ' \"></span>';\n },\n removeIcon: function removeIcon(iconChooser) {\n jQuery(iconChooser).on('click', '.rmp-icon-picker-trash', function (e) {\n e.preventDefault();\n e.stopPropagation();\n jQuery(this).parent('.rmp-icon-picker').siblings('input.rmp-icon-hidden-input').val('');\n jQuery(this).siblings('.rmp-font-icon').remove();\n jQuery(this).parent('.rmp-icon-picker').removeAttr('data-icon');\n jQuery(this).remove();\n\n if (!jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length) {\n jQuery('#rmp-editor-main').prepend('<div id=\"rmp-menu-update-notification\" class=\"rmp-order-item rmp-order-item-description\">' + '<span> <span class=\"rmp-font-icon dashicons dashicons-warning \"></span> Update Required </span>' + '<a href=\"javascript:void(0)\" id=\"rmp-menu-quick-update-button\">UPDATE</a>' + '</div>');\n }\n });\n },\n getIcon: function getIcon() {\n var self = this;\n jQuery(document).on('click', this.iconSelect, function () {\n icon_class = jQuery(self.iconContainer).find('input:checked').val();\n clicker = '#' + jQuery(self.iconSelect).attr('data-click');\n icon_wrap = self.getIconElementWrap(icon_class);\n jQuery(clicker).find('.rmp-font-icon').remove();\n jQuery(clicker).prev('input.rmp-icon-hidden-input').val(icon_wrap);\n jQuery(clicker).append(icon_wrap);\n jQuery(clicker).attr('data-icon', true);\n jQuery(clicker).find('.rmp-icon-picker-trash').remove();\n jQuery(clicker).append('<i class=\"rmp-icon-picker-trash dashicons dashicons-trash\" aria-hidden=\"true\"></i>');\n jQuery(self.iconSelect).removeAttr('data-click');\n jQuery(self.closeSelector).click();\n jQuery(clicker).prev('input').first().focus();\n });\n },\n init: function init(iconChooser) {\n this.openDialog(iconChooser);\n this.removeIcon(iconChooser);\n this.getIcon();\n this.clear();\n this.closeDialog();\n jQuery('#rmp-icon-search').on('keyup', _.debounce(this.searchIcon, 500));\n jQuery('#rmp-icon-search').on('keyup', function () {\n var query_string = this.value.toLocaleLowerCase();\n\n if (query_string.length) {\n if (!jQuery('#rmp-icon-search-typing-message').length) {\n jQuery(this).after('<span id=\"rmp-icon-search-typing-message\"> Waiting for more keystrokes... </span>');\n } else {\n jQuery('#rmp-icon-search-typing-message').html('Waiting for more keystrokes...');\n }\n }\n });\n /**\n * Create menu item icon selector.\n */\n\n jQuery(document).on('click', '.delete-menu-item-icon', function () {\n jQuery(this).closest('.rmp-menu-item-icon-container').remove();\n });\n },\n searchIcon: function searchIcon(e) {\n jQuery('#rmp-icon-search-typing-message').html('Please wait moment..');\n var query_string = this.value.toLocaleLowerCase();\n var activeTab = jQuery('.rmp-menu-icons-dialog').find('.nav-tab-active');\n\n if (!activeTab.length) {\n activeTab = jQuery('.rmp-menu-icons-dialog').find('.nav-tab').first();\n }\n\n icon_container = activeTab.attr('href');\n var icon_selector = jQuery(icon_container + ' .font-icon');\n var is_exist = false;\n icon_selector.each(function () {\n var icon_label = jQuery(this).children('input').val().toLocaleLowerCase();\n\n if (icon_label.includes(query_string)) {\n jQuery(this).show();\n is_exist = true;\n } else {\n jQuery(this).hide();\n }\n });\n\n if (is_exist) {\n jQuery('#rmp-icon-search-typing-message').html('Done, Check results..');\n } else {\n jQuery('#rmp-icon-search-typing-message').html('Sorry, Not found..');\n }\n }\n };\n RMP_Icon.init('.rmp-icon-picker');\n});\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/js/rmp-icon.js?")},"./assets/admin/js/rmp-menu-wizard.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This is js hook scripts file for responsive menu.\n *\n * @file This files defines the rmpNewMenuWizard object.\n * @author ExpressTech System.\n *\n * @since 4.1.0\n *\n * @package responsive-menu-pro\n */\n\n/**\n * Hooks class.\n *\n * @type {Object}\n *\n * @since 4.1.0\n */\n\nvar rmpMenuWizard = {\n /**\n * Initialize.\n *\n * @return {void}\n */\n init: function init() {\n this.setProps();\n },\n\n /**\n * Set properties and selectors.\n *\n * @return {void}\n */\n setProps: function setProps() {\n var _this = this;\n\n //Assign wizard container element id.\n var menuWizardContainer = jQuery('#rmp-new-menu-wizard'); //Open new create menu wizard on click event.\n\n jQuery(document).on('click', 'a.page-title-action', function (e) {\n e.preventDefault();\n menuWizardContainer.show();\n }); //Close the new menu wizard.\n\n jQuery('#rmp-new-menu-wizard .rmp-dialog-header button.close').on('click', function () {\n menuWizardContainer.hide();\n }); //Show/Hide the page selection input control.\n\n menuWizardContainer.on('change', '.rmp-menu-display-option', function (e) {\n var optionValue = jQuery(this).val();\n\n if ('exclude-pages' === optionValue || 'include-pages' === optionValue) {\n jQuery('#rmp-menu-page-selector').show();\n return;\n }\n\n jQuery('#rmp-menu-page-selector').hide();\n }); //Show/Hide change theme wizard in customizer page.\n\n jQuery('.rmp-theme-change-button').on('click', function (e) {\n menuWizardContainer.toggle();\n }); //Multi step form event for next button.\n\n jQuery('#rmp-menu-next-step').on('click', function () {\n _this.nextSection();\n }); //Multi step form event for top item label.\n\n jQuery('li.rmp-new-menu-step').on('click', function (e) {\n var index = jQuery(e.currentTarget).index();\n\n _this.goToSection(index);\n }); //Call ajax to save the new create menu.\n\n jQuery('#rmp-create-new-menu').on('click', function (e) {\n e.preventDefault();\n var menuName = jQuery('#rmp-menu-name');\n var themeName = jQuery('.rmp-theme-option:checked').val();\n\n if (themeName == undefined) {\n themeName = '';\n }\n\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_create_new_menu',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'menu_name': menuName.val(),\n 'menu_to_hide': jQuery('#rmp-hide-menu').val(),\n 'menu_to_use': jQuery('#rmp-menu-to-use').val(),\n 'menu_show_on_pages': jQuery('#rmp-menu-display-on-pages').val(),\n 'menu_show_on': jQuery('.rmp-menu-display-option').val(),\n 'menu_theme': themeName,\n 'theme_type': jQuery('.rmp-theme-option:checked').attr('theme-type')\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery(e.currentTarget).prop('disabled', true);\n jQuery('.spinner').addClass('is-active');\n },\n error: function error(_error) {\n console.log('Internal Error !');\n jQuery('#rmp-create-new-menu').prop('disabled', false);\n jQuery('.spinner').removeClass('is-active');\n },\n success: function success(response) {\n jQuery('.spinner').removeClass('is-active');\n jQuery('#rmp-create-new-menu').prop('disabled', false);\n\n if (response.success) {\n window.location.href = response.data.customize_url;\n } else {\n alert(response.data.message);\n }\n }\n });\n }); //Ajax call to upload the theme.\n\n jQuery('#rmp-theme-upload').on('click', function (e) {\n e.preventDefault();\n var formData = new FormData();\n var file = jQuery('#rmp_menu_theme_zip').prop('files')[0];\n formData.append('file', file);\n formData.append('action', 'rmp_menu_theme_upload');\n formData.append('ajax_nonce', rmpObject.ajax_nonce);\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: formData,\n type: 'POST',\n processData: false,\n contentType: false,\n dataType: 'json',\n success: function success(response) {\n jQuery('#rmp_menu_theme_zip').val('');\n alert(response.data.message);\n\n if (response.data.html) {\n jQuery('#rmp-new-menu-wizard').find('#tabs-1').html(response.data.html);\n jQuery('#rmp-menu-library-import').addClass('hide');\n }\n }\n });\n }); //Ajax call to check the recent changes the theme api.\n\n jQuery('.rmp-call-theme-api-button').on('click', function (e) {\n if (!jQuery(e.currentTarget).hasClass('rmp-call-theme-api-button')) {\n return;\n }\n\n jQuery('#rmp-new-menu-wizard').find('.rmp-page-loader').css('display', 'flex');\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_call_theme_api',\n 'ajax_nonce': rmpObject.ajax_nonce\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error2) {\n jQuery('#rmp-new-menu-wizard').find('.rmp-page-loader').hide();\n jQuery('#rmp-new-menu-wizard').find('#tabs-2 .rmp_theme_grids').html('Internal Error !');\n },\n success: function success(response) {\n if (response.data.html) {\n jQuery('#rmp-new-menu-wizard').find('#tabs-2 .rmp_theme_grids').html(response.data.html);\n jQuery(e.currentTarget).removeClass('rmp-call-theme-api-button');\n }\n }\n });\n });\n },\n\n /**\n * Jump to the next section of wizard.\n *\n * @return {void}\n */\n nextSection: function nextSection() {\n var currectSectionIndex = jQuery('div.rmp-menu-section.current').index();\n this.goToSection(currectSectionIndex + 1);\n },\n\n /**\n * Show the indexed section in wizard.\n *\n * @return {void}\n */\n goToSection: function goToSection(currectSectionIndex) {\n if (1 <= currectSectionIndex) {\n jQuery('#rmp-create-new-menu').show();\n jQuery('#rmp-menu-next-step').hide();\n } else {\n jQuery('#rmp-create-new-menu').hide();\n jQuery('#rmp-menu-next-step').show();\n }\n\n jQuery('div.rmp-menu-section').eq(currectSectionIndex).addClass('current').siblings().removeClass('current');\n jQuery('li.rmp-new-menu-step').eq(currectSectionIndex).addClass('current').siblings().removeClass('current');\n }\n};\nrmpMenuWizard.init();\n/* harmony default export */ __webpack_exports__[\"default\"] = (rmpMenuWizard);\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/js/rmp-menu-wizard.js?")},"./assets/admin/js/rmp-preview.js":function(){eval("/**\n * This is preview scripts file for responsive menu customizer.\n *\n * @file This files defines the rmpHook object.\n * @author ExpressTech System.\n * @type {Object}\n *\n * @since 4.0.0\n *\n * @package responsive-menu-pro\n */\n\n/**\n * Hooks class.\n *\n * @type {Object}\n *\n * @since 4.0.0\n */\nvar rmpHook = {\n hooks: [],\n isBreak: false,\n\n /**\n * Function to register the hook.\n *\n * @since 4.0.0\n *\n * @param String name Hook Name.\n * @param function callback Associated function.\n */\n register: function register(name, callback) {\n if ('undefined' == typeof rmpHook.hooks[name]) {\n rmpHook.hooks[name] = [];\n }\n\n rmpHook.hooks[name].push(callback);\n },\n\n /**\n * Function to call the hook.\n *\n * @since 4.0.0\n *\n * @param String name Hook Name.\n * @param function params Paramter list.\n */\n call: function call(name, params) {\n if ('undefined' != typeof rmpHook.hooks[name]) {\n for (var i = 0; i < rmpHook.hooks[name].length; ++i) {\n var output = rmpHook.hooks[name][i](params);\n\n if (false == output) {\n rmpHook.isBreak = true;\n return false;\n }\n\n return output;\n }\n }\n\n return true;\n }\n};\n/**\n * Register function to color the menu elements.\n * \n * @since 4.0.0\n * \n * @param {Object} args List of inputs.\n * @return {String}\n */\n\nrmpHook.register('rmp_color_style', function (args) {\n if (!args) {\n return false;\n } // Set the state/pseudo class.\n\n\n if ('hover' == args.state) {\n args.outputSelector = args.outputSelector + ':hover';\n } else if ('placeholder' == args.state) {\n args.outputSelector = args.outputSelector + '::placeholder';\n } else if ('before' == args.state) {\n args.outputSelector = args.outputSelector + '::before';\n } else if ('after' == args.state) {\n args.outputSelector = args.outputSelector + '::after';\n } //Prepare css string and return.\n\n\n return args.outputSelector + '{ ' + args.attr + ' : ' + args.value + ';}';\n});\n/**\n * rmpPreview class\n * \n * @since 4.0.0\n * \n * @type {Object}\n */\n\nwindow.RMP_Preview = {\n iframe: '#rmp-preview-iframe',\n menuId: jQuery('#menu_id').val(),\n mobile_breakpoint: jQuery('#rmp-menu-mobile-breakpoint').val() + 'px',\n tablet_breakpoint: jQuery('#rmp-menu-tablet-breakpoint').val() + 'px',\n active_device: jQuery('#rmp_device_mode'),\n menuContainer: '#rmp-container-' + self.menuId,\n onTyping: function onTyping(inputSelector, outputSelector, type) {\n var meta = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var self = this;\n var iframe = jQuery(self.iframe);\n jQuery(inputSelector).on('keyup change paste', function () {\n switch (type) {\n case 'border-radius':\n var value = jQuery(this).val();\n css = outputSelector + '{ border-radius : ' + value + 'px;}';\n self.inlineCssInjector(css);\n break;\n\n case 'section-padding':\n var value = jQuery(this).val();\n var is_linked = jQuery(this).parents('.rmp-input-group-control').find('.rmp-group-input-linked').hasClass('is-linked');\n var attr = 'padding';\n\n if (!is_linked) {\n pos = jQuery(this).attr('data-input');\n attr = attr + '-' + pos;\n }\n\n css = outputSelector + '{ ' + attr + ' : ' + value + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-text':\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).html(this.value);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').before('<div class=\"rmp-trigger-label rmp-trigger-label-top\"><span class=\"rmp-trigger-text\">\"' + this.value + '\"</span></div>');\n }\n\n break;\n\n case 'trigger-text-open':\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).html(this.value);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').before('<div class=\"rmp-trigger-label rmp-trigger-label-top\"><span class=\"rmp-trigger-text-open\">\"' + this.value + '\"</span></div>');\n }\n\n break;\n\n case 'text':\n iframe.contents().find(outputSelector).html(this.value);\n break;\n\n case 'placeholder':\n iframe.contents().find(outputSelector).attr('placeholder', this.value);\n break;\n\n case 'href':\n iframe.contents().find(outputSelector).attr('href', this.value);\n break;\n\n case 'font-size':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n var value = jQuery(this).val();\n css = outputSelector + '{ font-size : ' + (value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'width':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit) {\n unit = 'px';\n }\n\n css = outputSelector + '{ width : ' + (this.value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'height':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n css = outputSelector + '{ height : ' + (this.value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'line-height':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n css = outputSelector + '{ line-height : ' + (this.value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'min-width':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n css = outputSelector + '{ min-width : ' + (this.value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'max-width':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n css = outputSelector + '{ max-width : ' + (this.value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-side-position':\n side = jQuery('#rmp-menu-button-left-or-right').val();\n unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();\n value = jQuery('#rmp-menu-button-distance-from-side').val();\n css = outputSelector + '{ ' + side + ' :' + (value + unit) + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'top':\n value = jQuery(this).val();\n unit = jQuery('#rmp-menu-button-top-unit').val();\n css = outputSelector + '{ top :' + (value + unit) + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'border-width':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit) {\n unit = 'px';\n }\n\n css = outputSelector + '{ border-width : ' + (this.value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'padding':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit) {\n unit = 'px';\n }\n\n if (meta == 'lr') {\n css = outputSelector + '{ padding : 0 ' + (this.value + unit) + ';}';\n }\n\n self.inlineCssInjector(css);\n break;\n }\n });\n },\n bindImage: function bindImage(inputSelector, outputSelector, type) {\n var self = this;\n var iframe = jQuery(self.iframe);\n jQuery(document).on('click', inputSelector, function (e) {\n e.preventDefault();\n var button = jQuery(this),\n custom_uploader = wp.media({\n title: 'Select image',\n library: {\n type: 'image'\n },\n button: {\n text: 'Use this image'\n },\n multiple: false\n }).on('select', function () {\n var attachment = custom_uploader.state().get('selection').first().toJSON();\n jQuery(e.target).prev('input.rmp-image-url-input').val(attachment.url);\n jQuery(e.target).css('background-image', 'url(' + attachment.url + ')');\n jQuery(e.target).append('<i class=\"rmp-image-picker-trash dashicons dashicons-trash\" aria-hidden=\"true\"></i>');\n\n if (type == 'img-src') {\n iframe.contents().find(outputSelector).attr('src', attachment.url);\n } else if (type == 'background') {\n css = outputSelector + '{ background-image : url(' + attachment.url + ');}';\n self.inlineCssInjector(css);\n } else if (type == 'trigger-icon') {\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).attr('src', attachment.url);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').append('<img class=\"rmp-trigger-icon rmp-trigger-icon-inactive\" src=\"' + attachment.url + '\"/>');\n }\n } else if (type == 'trigger-icon-open') {\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).attr('src', attachment.url);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').append('<img class=\"rmp-trigger-icon rmp-trigger-icon-active\" src=\"' + attachment.url + '\"/>');\n }\n }\n }).open();\n });\n },\n toggleElements: function toggleElements(inputSelector, outputSelector) {\n var self = this;\n jQuery(inputSelector).on('change', function (e) {\n e.preventDefault();\n e.stopPropagation();\n var iframe = jQuery(self.iframe);\n\n if (iframe.contents().find(outputSelector).length) {\n if (jQuery(this).is(':checked')) {\n iframe.contents().find(outputSelector).fadeIn(500);\n } else {\n iframe.contents().find(outputSelector).fadeOut(500);\n }\n } else {\n e.preventDefault();\n var menuId = jQuery('#menu_id').val(),\n toggle_on = jQuery(this).data('toggle');\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_enable_menu_item',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'menu_id': menuId,\n 'menu_element': toggle_on\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery(this).prop('disabled', true);\n jQuery('#iframe-spinner').show();\n },\n error: function error(_error) {\n console.log('Internal Error !');\n jQuery(this).prop('disabled', false);\n jQuery('#iframe-spinner').hide();\n },\n success: function success(response) {\n if (response.data.markup) {\n iframe.contents().find('#rmp-container-' + self.menuId).append(response.data.markup);\n self.orderMenuElements();\n }\n\n jQuery(this).prop('disabled', false);\n jQuery('#iframe-spinner').hide();\n }\n });\n }\n });\n },\n orderMenuElements: function orderMenuElements() {\n var list = [];\n var self = this;\n var iframeContents = jQuery(self.iframe).contents();\n jQuery('#tab-container .item-title').each(function () {\n var val = jQuery(this).text().toLocaleLowerCase().trim();\n\n if (val == 'title') {\n list.push(iframeContents.find(self.menuTitle));\n iframeContents.find(self.menuTitle).remove();\n } else if (val == 'search') {\n list.push(iframeContents.find(self.menuSearch));\n iframeContents.find(self.menuSearch).remove();\n } else if (val == 'menu') {\n list.push(iframeContents.find(self.menuWrap));\n iframeContents.find(self.menuWrap).remove();\n } else {\n list.push(iframeContents.find(self.menuContents));\n iframeContents.find(self.menuContents).remove();\n }\n });\n list.forEach(function (menuElement) {\n iframeContents.find(self.menuContainer).append(menuElement);\n });\n },\n\n /**\n * Function to bind the color input with option and elements.\n * \n * @version 4.0.0\n * \n * @param {String} inputSelector \n * @param {String} outputSelector \n * @param {String} attr \n * @param {String} state \n */\n bindColor: function bindColor(inputSelector, outputSelector, attr, state) {\n var self = this;\n jQuery(inputSelector).wpColorPicker({\n change: function change(event, ui) {\n var value = ui.color.toString();\n var css = rmpHook.call('rmp_color_style', {\n 'outputSelector': outputSelector,\n 'attr': attr,\n 'value': value,\n 'state': state\n });\n\n if (jQuery(inputSelector).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n }\n });\n },\n mediaQuery: function mediaQuery(css) {\n var self = this;\n self.tablet_breakpoint = jQuery('#rmp-menu-tablet-breakpoint').val() + 'px';\n css = '@media screen and (max-width: ' + self.tablet_breakpoint + ' ) {' + css + '}';\n return css;\n },\n inlineCssInjector: function inlineCssInjector(css) {\n var self = this;\n var iframe = jQuery(self.iframe);\n var styleElement = iframe.contents().find('#rmp-inline-css-' + self.menuId);\n\n if (styleElement.length) {\n styleElement.append(css);\n } else {\n style = '<style id=\"rmp-inline-css-' + self.menuId + '\">' + css + '</style>';\n iframe.contents().find('head').append(style);\n }\n },\n changeInput: function changeInput(inputSelector, outputSelector, attr) {\n var meta = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var self = this;\n var iframe = jQuery(self.iframe);\n jQuery(inputSelector).on('change', function (e) {\n switch (attr) {\n case 'height-unit':\n value = jQuery(this).prev('input').val();\n unit = jQuery(this).val();\n css = outputSelector + '{ height : ' + (value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'line-height-unit':\n value = jQuery(this).prev('input').val();\n unit = jQuery(this).val();\n css = outputSelector + '{ line-height : ' + (value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'width-unit':\n var value = jQuery(this).prev('input').val();\n var unit = jQuery(this).val();\n css = outputSelector + '{ width : ' + (value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'font-size':\n value = jQuery(this).prev('input').val();\n unit = jQuery(this).val();\n css = outputSelector + '{ font-size :' + value + unit + ' !important;}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'font-family':\n value = jQuery(this).val();\n css = outputSelector + '{ font-family :' + value + ' !important;}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'font-weight':\n value = jQuery(this).val();\n css = outputSelector + '{ font-weight :' + value + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'padding-unit':\n var unit = jQuery(this).val();\n var value = jQuery(this).prev('input').val();\n\n if (!unit) {\n unit = 'px';\n }\n\n if (meta == 'lr') {\n css = outputSelector + '{ padding : 0 ' + (value + unit) + ';}';\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'letter-spacing':\n value = jQuery(this).val();\n css = outputSelector + '{ letter-spacing :' + value + 'px; }';\n self.inlineCssInjector(css);\n break;\n\n case 'position-alignment':\n if (iframe.contents().find(outputSelector).length) {\n position = jQuery(this).val();\n var rmpTriggerBox = iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box');\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').remove();\n\n if (position == 'top' || position == 'left') {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId).append(rmpTriggerBox);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId).prepend(rmpTriggerBox);\n }\n }\n\n break;\n\n case 'trigger-animation':\n value = jQuery(this).val();\n var new_class = 'rmp-menu-trigger-' + value;\n all_class = iframe.contents().find(outputSelector).attr('class').split(\" \");\n all_class.forEach(function (value) {\n if (value.includes('rmp-menu-trigger-')) {\n iframe.contents().find(outputSelector).removeClass(value);\n iframe.contents().find(outputSelector).addClass(new_class);\n }\n });\n break;\n\n case 'top':\n var unit = jQuery(this).val();\n value = jQuery(this).prev('input').val();\n css = outputSelector + '{ top :' + (value + unit) + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-side-position':\n side = jQuery('#rmp-menu-button-left-or-right').val();\n unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();\n value = jQuery('#rmp-menu-button-distance-from-side').val();\n css = outputSelector + '{ ' + side + ' :' + (value + unit) + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-side':\n side = jQuery(this).val();\n value = jQuery('#rmp-menu-button-distance-from-side').val();\n unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();\n\n if (side == 'left') {\n css = outputSelector + '{' + side + ':' + (value + unit) + ' !important;right:unset !important}';\n } else {\n css = outputSelector + '{' + side + ':' + (value + unit) + ' !important;left:unset !important}';\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'position':\n value = jQuery(this).val();\n css = outputSelector + '{ position :' + value + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-background':\n if (jQuery(this).is(':checked')) {\n iframe.contents().find(outputSelector).attr('style', 'background:unset !important;');\n } else {\n iframe.contents().find(outputSelector).removeAttr('style');\n }\n\n break;\n\n case 'target':\n var value = jQuery(this).val();\n\n if (!value.length) {\n value = '_self';\n }\n\n iframe.contents().find(outputSelector).attr('target', value);\n break;\n\n case 'text-align':\n var value = jQuery(this).val();\n iframe.contents().find(outputSelector).css({\n 'text-align': value\n });\n break;\n }\n });\n },\n init: function init() {\n var self = this; //Mobile menu elements.\n\n self.menuContainer = '#rmp-container-' + self.menuId;\n self.menuTitle = '#rmp-menu-title-' + self.menuId;\n self.menuSearch = '#rmp-search-box-' + self.menuId;\n self.menuWrap = '#rmp-menu-wrap-' + self.menuId;\n self.menuContents = '#rmp-menu-additional-content-' + self.menuId; //Menu container background color.\n\n self.bindColor('#rmp-container-background-colour', '#rmp-container-' + self.menuId, 'background', ''); //Menu background.\n\n self.bindColor('#rmp-menu-background-colour', '#rmp-menu-wrap-' + self.menuId, 'background'); //Menu title section background color.\n\n self.bindColor('#rmp-menu-title-background-colour', '#rmp-menu-title-' + self.menuId, 'background'); //Menu title section background hover color.\n\n self.bindColor('#rmp-menu-title-background-hover-colour', '#rmp-menu-title-' + self.menuId, 'background', 'hover'); // Menu item trigger\n\n self.bindColor('#rmp-menu-sub-arrow-shape-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'color');\n self.bindColor('#rmp-menu-sub-arrow-shape-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'color', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-shape-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active', 'color');\n self.bindColor('#rmp-menu-sub-arrow-shape-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active', 'color', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-border-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'border-color');\n self.bindColor('#rmp-menu-sub-arrow-border-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'border-color', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-border-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow-active', 'border-color');\n self.bindColor('#rmp-menu-sub-arrow-border-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow-active', 'border-color', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-background-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'background');\n self.bindColor('#rmp-menu-sub-arrow-background-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'background', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-background-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active', 'background');\n self.bindColor('#rmp-menu-sub-arrow-background-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active', 'background', 'hover'); //Legacy options\n\n self.bindColor('#rmp-submenu-sub-arrow-shape-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'color');\n self.bindColor('#rmp-submenu-sub-arrow-shape-colour-hover', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'color', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-shape-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'color');\n self.bindColor('#rmp-submenu-sub-arrow-shape-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'color', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-border-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'border-color');\n self.bindColor('#rmp-submenu-sub-arrow-border-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'border-color', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-border-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow.rmp-menu-subarrow-active', 'border-color');\n self.bindColor('#rmp-submenu-sub-arrow-border-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'border-color', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-background-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'background');\n self.bindColor('#rmp-submenu-sub-arrow-background-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'background', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-background-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'background');\n self.bindColor('#rmp-submenu-sub-arrow-background-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'background', 'hover');\n self.bindColor('#rmp-menu-title-colour', '#rmp-menu-title-' + self.menuId + ' > a', 'color');\n self.bindColor('#rmp-menu-title-hover-colour', '#rmp-menu-title-' + self.menuId + ' > a', 'color', 'hover');\n self.bindColor('#rmp-menu-additional-content-color', '#rmp-container-' + self.menuId + ' #rmp-menu-additional-content-' + self.menuId, 'color');\n self.bindColor('#rmp-menu-search-box-text-colour', '#rmp-container-' + self.menuId + ' #rmp-search-box-' + self.menuId + ' .rmp-search-box', 'color');\n self.bindColor('#rmp-menu-search-box-background-colour', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'background');\n self.bindColor('#rmp-menu-search-box-border-colour', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'border-color');\n self.bindColor('#rmp-menu-search-box-placeholder-colour', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'color', 'placeholder');\n self.changeInput('#rmp-menu-title-font-weight', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link', 'font-weight');\n self.changeInput('#rmp-menu-title-font-family', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link', 'font-family'); //Menu Trigger\n\n self.bindColor('#rmp-menu-button-background-colour', '#rmp_menu_trigger-' + self.menuId, 'background', '');\n self.bindColor('#rmp-menu-button-background-colour-hover', '#rmp_menu_trigger-' + self.menuId, 'background-color', 'hover');\n self.bindColor('#rmp-menu-button-background-colour-active', '#rmp_menu_trigger-' + self.menuId + '.is-active', 'background', '');\n self.bindColor('#rmp-menu-button-line-colour', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner,#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:after,#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:before', 'background', '');\n self.bindColor('#rmp-menu-button-line-colour-active', '.is-active#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner,.is-active#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:after,.is-active#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:before', 'background', '');\n self.bindColor('#rmp-menu-button-line-colour-hover', '#rmp_menu_trigger-' + self.menuId + ':hover .responsive-menu-pro-inner,#rmp_menu_trigger-' + self.menuId + ':hover .responsive-menu-pro-inner:after,#rmp_menu_trigger-' + self.menuId + ':hover .responsive-menu-pro-inner:before', 'background', '');\n self.bindColor('#rmp-menu-button-text-colour', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'color');\n self.onTyping('#rmp-menu-toggle-border-radius', '#rmp_menu_trigger-' + self.menuId, 'border-radius');\n self.onTyping('.rmp-menu-container-padding', '#rmp-container-' + self.menuId, 'section-padding');\n self.onTyping('.rmp-menu-title-section-padding', '#rmp-menu-title-' + self.menuId, 'section-padding');\n self.onTyping('.rmp-menu-section-padding', '#rmp-menu-wrap-' + self.menuId, 'section-padding');\n self.onTyping('.rmp-menu-search-section-padding', '#rmp-search-box-' + self.menuId, 'section-padding');\n self.onTyping('.rmp-menu-additional-section-padding', '#rmp-menu-additional-content-' + self.menuId, 'section-padding'); // CONTENT BASED ELEMENTS.\n\n self.onTyping('#rmp-menu-search-box-height', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'height');\n self.onTyping('#rmp-menu-search-box-border-radius', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'border-radius');\n self.onTyping('#rmp-menu-menu-title', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link span', 'text');\n self.onTyping('#rmp-menu-additional-content', '#rmp-menu-additional-content-' + self.menuId, 'text');\n self.onTyping('#rmp-menu-search-box-text', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'placeholder');\n self.onTyping('#rmp-menu-title-link', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link', 'href');\n self.onTyping('#rmp-menu-title-image-alt', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'alt');\n self.onTyping('#rmp-menu-title-font-size', '#rmp-menu-title-' + self.menuId + ' > a', 'font-size');\n self.onTyping('#rmp-menu-title-image-width', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'width');\n self.onTyping('#rmp-menu-title-image-height', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'height');\n self.bindImage('#rmp-menu-title-image-selector', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src');\n self.onTyping('#rmp-menu-additional-content-font-size', '#rmp-menu-additional-content-' + self.menuId, 'font-size');\n self.onTyping('#rmp-menu-container-width', '#rmp-container-' + self.menuId, 'width');\n self.onTyping('#rmp-menu-container-min-width', '#rmp-container-' + self.menuId, 'min-width');\n self.onTyping('#rmp-menu-container-max-width', '#rmp-container-' + self.menuId, 'max-width');\n self.onTyping('#rmp-menu-button-image-alt-when-clicked', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'alt');\n self.onTyping('#rmp-menu-button-image-alt', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'alt');\n self.onTyping('#rmp-menu-button-title-open', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-text-open', 'trigger-text-open');\n self.onTyping('#rmp-menu-button-title', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-text', 'trigger-text');\n self.onTyping('#rmp-menu-button-font-size', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'font-size');\n self.onTyping('#rmp-menu-button-title-line-height', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'line-height'); //Menu Trigger\n\n self.onTyping('#rmp-menu-button-width', '#rmp_menu_trigger-' + self.menuId, 'width');\n self.onTyping('#rmp-menu-button-height', '#rmp_menu_trigger-' + self.menuId, 'height');\n self.onTyping('#rmp-menu-button-line-width', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner', 'width');\n self.onTyping('#rmp-menu-button-line-width', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:after', 'width');\n self.onTyping('#rmp-menu-button-line-width', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:before', 'width');\n self.onTyping('#rmp-menu-button-line-height', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner', 'height');\n self.onTyping('#rmp-menu-button-line-height', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:after', 'height');\n self.onTyping('#rmp-menu-button-line-height', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:before', 'height');\n self.bindImage('#rmp-button-title-image', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src');\n self.bindImage('#rmp-menu-background-image-selector', '#rmp-container-' + self.menuId, 'background');\n self.bindImage('#rmp-menu-button-image-when-clicked-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'trigger-icon-open');\n self.bindImage('#rmp-menu-button-image-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'trigger-icon');\n self.changeInput('#rmp-menu-title-link-location', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link', 'target');\n self.changeInput('.rmp-menu-title-alignment', '#rmp-menu-title-' + self.menuId, 'text-align');\n self.changeInput('.rmp-menu-additional-content-alignment', '#rmp-menu-additional-content-' + self.menuId, 'text-align'); //Top menu item links\n\n self.onTyping('#rmp-menu-links-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'height');\n self.onTyping('#rmp-menu-links-line-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'line-height');\n self.onTyping('#rmp-menu-font-size', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'font-size');\n self.changeInput('#rmp-menu-font', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-family');\n self.changeInput('#rmp-menu-font-weight', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-weight');\n self.changeInput('.rmp-menu-text-alignment', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'text-align');\n self.changeInput('#rmp-menu-text-letter-spacing', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'letter-spacing');\n self.onTyping('#rmp-menu-depth-level-0', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'padding', 'lr');\n self.onTyping('#rmp-menu-border-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'border-width');\n self.onTyping('#rmp-menu-sub-arrow-border-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'border-width');\n self.onTyping('#rmp-submenu-sub-arrow-border-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'border-width');\n self.bindColor('#rmp-menu-link-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'color');\n self.bindColor('#rmp-menu-link-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'color', 'hover');\n self.bindColor('#rmp-menu-current-link-active-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'color');\n self.bindColor('#rmp-menu-current-link-active-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'color', 'hover');\n self.bindColor('#rmp-menu-item-background-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'background');\n self.bindColor('#rmp-menu-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'background', 'hover');\n self.bindColor('#rmp-menu-current-item-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'background');\n self.bindColor('#rmp-menu-current-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'background', 'hover');\n self.bindColor('#rmp-menu-item-border-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'border-color');\n self.bindColor('#rmp-menu-item-border-colour-hover', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'border-color', 'hover');\n self.bindColor('#rmp-menu-current-item-border-hover-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'border-color', 'hover');\n self.bindColor('#rmp-menu-item-border-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'border-color'); // Trigger of top level\n\n self.bindImage('#rmp-menu-inactive-arrow-image-selector', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background');\n self.bindImage('#rmp-menu-active-arrow-image-selector', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background');\n self.onTyping('#rmp-submenu-arrow-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'height');\n self.onTyping('#rmp-submenu-arrow-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'width');\n self.onTyping('#rmp-submenu-child-arrow-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'height');\n self.onTyping('#rmp-submenu-child-arrow-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'width');\n self.changeInput('#rmp-submenu-child-arrow-width-unit', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'width-unit');\n self.changeInput('#rmp-submenu-child-arrow-height-unit', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'height-unit');\n self.bindColor('#rmp-menu-sub-arrow-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background');\n self.bindColor('#rmp-menu-sub-arrow-background-hover-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-background-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background');\n self.bindColor('#rmp-menu-sub-arrow-background-hover-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background', 'hover'); //sub menu item links\n\n self.onTyping('#rmp-submenu-links-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'height');\n self.changeInput('#rmp-submenu-links-height-unit', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'height-unit');\n self.onTyping('#rmp-submenu-links-line-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'line-height');\n self.changeInput('#rmp-submenu-links-line-height-unit', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'line-height-unit');\n self.onTyping('#rmp-submenu-font-size', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'font-size');\n self.changeInput('#rmp-submenu-font', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'font-family');\n self.changeInput('#rmp-submenu-font-weight', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'font-weight');\n self.changeInput('.rmp-submenu-text-alignment', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'text-align');\n self.changeInput('#rmp-submenu-text-letter-spacing', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'letter-spacing');\n self.onTyping('#rmp-submenu-border-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'border-width');\n self.bindColor('#rmp-submenu-item-border-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'border-color');\n self.bindColor('#rmp-submenu-item-border-colour-hover', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'border-color', 'hover');\n self.bindColor('#rmp-submenu-item-border-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'border-color');\n self.bindColor('#rmp-submenu-current-item-border-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'border-color', 'hover');\n self.bindColor('#rmp-submenu-link-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'color');\n self.bindColor('#rmp-submenu-link-hover-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'color', 'hover');\n self.bindColor('#rmp-submenu-link-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'color');\n self.bindColor('#rmp-submenu-link-active-hover-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'color', 'hover');\n self.bindColor('#rmp-submenu-item-background-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'background');\n self.bindColor('#rmp-submenu-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'background', 'hover');\n self.bindColor('#rmp-submenu-current-item-background-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'background');\n self.bindColor('#rmp-submenu-current-item-background-hover-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'background', 'hover'); //Menu Trigger\n\n self.changeInput('.rmp-menu-button-transparent-background', '#rmp_menu_trigger-' + self.menuId, 'background', '');\n self.changeInput('#rmp-menu-button-position-type', '#rmp_menu_trigger-' + self.menuId, 'position');\n self.changeInput('.rmp-menu-button-left-or-right', '#rmp_menu_trigger-' + self.menuId, 'trigger-side');\n self.onTyping('#rmp-menu-button-distance-from-side', '#rmp_menu_trigger-' + self.menuId, 'trigger-side-position');\n self.onTyping('#rmp-menu-button-top', '#rmp_menu_trigger-' + self.menuId, 'top');\n self.changeInput('#rmp-menu-button-click-animation', '#rmp_menu_trigger-' + self.menuId, 'trigger-animation');\n self.changeInput('#rmp-menu-button-font', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'font-family');\n self.changeInput('.rmp-menu-button-title-position', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'position-alignment');\n jQuery(\"#rmp-menu-button-font-icon\").focus(function () {\n var outputSelector = '#rmp_menu_trigger-' + self.menuId + ' span.rmp-trigger-icon-inactive';\n value = jQuery(this).val();\n var iframe = jQuery(self.iframe);\n\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).addClass(value);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box img.rmp-trigger-icon').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').append('<span class=\"rmp-trigger-icon rmp-trigger-icon-inactive ' + value + '\"></span>');\n }\n });\n jQuery(\"#rmp-menu-button-font-icon-when-clicked\").focus(function () {\n var outputSelector = '#rmp_menu_trigger-' + self.menuId + ' span.rmp-trigger-icon-active';\n value = jQuery(this).val();\n var iframe = jQuery(self.iframe);\n\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).addClass(value);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box img.rmp-trigger-icon').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').append('<span class=\"rmp-trigger-icon rmp-trigger-icon-active ' + value + '\"></span>');\n }\n }); // Ordering elements\n\n self.toggleElements('#rmp-item-order-title', '#rmp-menu-title-' + self.menuId);\n self.toggleElements('#rmp-item-order-additional-content', '#rmp-menu-additional-content-' + self.menuId);\n self.toggleElements('#rmp-item-order-search', '#rmp-search-box-' + self.menuId);\n self.toggleElements('#rmp-item-order-menu', '#rmp-menu-wrap-' + self.menuId);\n jQuery('#rmp-menu-ordering-items').sortable({\n update: function update(event, ui) {\n self.orderMenuElements();\n }\n });\n }\n};\nRMP_Preview.init();\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/js/rmp-preview.js?")},"./assets/admin/js/wp-color-alpha.js":function(){eval("/**!\n * wp-color-picker-alpha\n *\n * Overwrite Automattic Iris for enabled Alpha Channel in wpColorPicker\n * Only run in input and is defined data alpha in true\n *\n * Version: 2.1.4\n * https://github.com/kallookoo/wp-color-picker-alpha\n * Licensed under the GPLv2 license or later.\n */\n(function ($) {\n // Prevent double-init.\n if ($.wp.wpColorPicker.prototype._hasAlpha) {\n return;\n } // Variable for some backgrounds ( grid )\n\n\n var image = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAAHnlligAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNpi+P///4EDBxiAGMgCCCAGFB5AADGCRBgYDh48CCRZIJS9vT2QBAggFBkmBiSAogxFBiCAoHogAKIKAlBUYTELAiAmEtABEECk20G6BOmuIl0CIMBQ/IEMkO0myiSSraaaBhZcbkUOs0HuBwDplz5uFJ3Z4gAAAABJRU5ErkJggg==',\n //Dtml stuff for wpColorPicker copy of the original color-picker.js\n _after = '<div class=\"wp-picker-holder\" />',\n _wrap = '<div class=\"wp-picker-container\" />',\n _before = '<button type=\"button\" class=\"button wp-color-result\" aria-expanded=\"false\"></button>',\n _wrappingLabel = '<label></label>',\n _wrappingLabelText = '<span class=\"screen-reader-text\"></span>';\n /**\n * Overwrite Color\n * for enable support rbga\n */\n\n Color.fn.toString = function () {\n if (this._alpha < 1) return this.toCSS('rgba', this._alpha).replace(/\\s+/g, '');\n var hex = parseInt(this._color, 10).toString(16);\n if (this.error) return '';\n if (hex.length < 6) hex = ('00000' + hex).substr(-6);\n return '#' + hex;\n };\n /**\n * Overwrite wpColorPicker\n */\n\n\n $.widget('wp.wpColorPicker', $.wp.wpColorPicker, {\n _hasAlpha: true,\n\n /**\n * @summary Creates the color picker.\n *\n * Creates the color picker, sets default values, css classes and wraps it all in HTML.\n *\n * @since 3.5.0\n *\n * @access private\n *\n * @returns {void}\n */\n _create: function _create() {\n // Return early if Iris support is missing.\n if (!$.support.iris) {\n return;\n }\n\n var self = this,\n el = self.element; // Override default options with options bound to the element.\n\n $.extend(self.options, el.data()); // Create a color picker which only allows adjustments to the hue.\n\n if (self.options.type === 'hue') {\n return self._createHueOnly();\n } // Bind the close event.\n\n\n self.close = $.proxy(self.close, self);\n self.initialValue = el.val(); // Add a CSS class to the input field.\n\n el.addClass('wp-color-picker');\n /*\n \t* Check if there's already a wrapping label, e.g. in the Customizer.\n \t* If there's no label, add a default one to match the Customizer template.\n \t*/\n\n if (!el.parent('label').length) {\n // Wrap the input field in the default label.\n el.wrap(_wrappingLabel); // Insert the default label text.\n\n self.wrappingLabelText = $(_wrappingLabelText).insertBefore(el).text('Color Picker');\n }\n /*\n \t* At this point, either it's the standalone version or the Customizer\n \t* one, we have a wrapping label to use as hook in the DOM, let's store it.\n \t*/\n\n\n self.wrappingLabel = el.parent(); // Wrap the label in the main wrapper.\n\n self.wrappingLabel.wrap(_wrap); // Store a reference to the main wrapper.\n\n self.wrap = self.wrappingLabel.parent(); // Set up the toggle button and insert it before the wrapping label.\n\n self.toggler = $(_before).insertBefore(self.wrappingLabel).css({\n backgroundColor: self.initialValue\n }); // Set up the Iris container and insert it after the wrapping label.\n\n self.pickerContainer = $(_after).insertAfter(self.wrappingLabel); // Wrap the wrapping label in its wrapper and append the Clear/Default button.\n\n self.wrappingLabel.wrap('<span class=\"wp-picker-input-wrap hidden rmp-color-input-wrap\" />');\n /*\n * The input wrapper now contains the label+input+Clear/Default button.\n * Store a reference to the input wrapper: we'll use this to toggle\n * the controls visibility.\n */\n\n self.inputWrapper = el.closest('.wp-picker-input-wrap');\n el.iris({\n target: self.pickerContainer,\n hide: self.options.hide,\n width: 240,\n mode: self.options.mode,\n palettes: self.options.palettes,\n\n /**\n * @summary Handles the onChange event if one has been defined in the options.\n *\n * Handles the onChange event if one has been defined in the options and additionally\n * sets the background color for the toggler element.\n *\n * @since 3.5.0\n *\n * @param {Event} event The event that's being called.\n * @param {HTMLElement} ui The HTMLElement containing the color picker.\n *\n * @returns {void}\n */\n change: function change(event, ui) {\n if (self.options.alpha) {\n self.toggler.css({\n 'background-image': 'url(' + image + ')'\n });\n self.toggler.css({\n 'position': 'relative'\n });\n\n if (self.toggler.find('span.color-alpha').length == 0) {\n self.toggler.append('<span class=\"color-alpha\" />');\n }\n\n self.toggler.find('span.color-alpha').css({\n 'width': '38px',\n 'height': '100%',\n 'position': 'absolute',\n 'top': 0,\n 'left': 0,\n 'background': ui.color.toString()\n });\n } else {\n self.toggler.css({\n backgroundColor: ui.color.toString()\n });\n }\n\n if ($.isFunction(self.options.change)) {\n self.options.change.call(this, event, ui);\n }\n }\n });\n el.val(self.initialValue);\n\n self._addListeners(); // Force the color picker to always be closed on initial load.\n\n\n if (!self.options.hide) {\n self.toggler.click();\n }\n },\n\n /**\n * @summary Binds event listeners to the color picker.\n *\n * @since 3.5.0\n *\n * @access private\n *\n * @returns {void}\n */\n _addListeners: function _addListeners() {\n var self = this;\n /**\n * @summary Prevent any clicks inside this widget from leaking to the top and closing it.\n *\n * @since 3.5.0\n *\n * @param {Event} event The event that's being called.\n *\n * @returs {void}\n */\n\n self.wrap.on('click.wpcolorpicker', function (event) {\n event.stopPropagation();\n });\n /**\n * @summary Open or close the color picker depending on the class.\n *\n * @since 3.5\n */\n\n self.toggler.click(function () {\n if (self.toggler.hasClass('wp-picker-open')) {\n self.close();\n } else {\n self.open();\n }\n });\n /**\n * @summary Checks if value is empty when changing the color in the color picker.\n *\n * Checks if value is empty when changing the color in the color picker.\n * If so, the background color is cleared.\n *\n * @since 3.5.0\n *\n * @param {Event} event The event that's being called.\n *\n * @returns {void}\n */\n\n self.element.on('change', function (event) {\n // Empty or Error = clear\n if ($(this).val() === '' || self.element.hasClass('iris-error')) {\n if (self.options.alpha) {\n self.toggler.find('span.color-alpha').css('backgroundColor', '');\n } else {\n self.toggler.css('backgroundColor', '');\n } // fire clear callback if we have one\n\n\n if ($.isFunction(self.options.clear)) self.options.clear.call(this, event);\n }\n });\n }\n });\n /**\n * Overwrite iris\n */\n\n $.widget('a8c.iris', $.a8c.iris, {\n _create: function _create() {\n this._super(); // Global option for check is mode rbga is enabled\n\n\n this.options.alpha = this.element.data('alpha') || false; // Is not input disabled\n\n if (!this.element.is(':input')) this.options.alpha = false;\n\n if (typeof this.options.alpha !== 'undefined' && this.options.alpha) {\n var self = this,\n el = self.element,\n _html = '<div class=\"iris-strip iris-slider iris-alpha-slider\"><div class=\"iris-slider-offset iris-slider-offset-alpha\"></div></div>',\n aContainer = $(_html).appendTo(self.picker.find('.iris-picker-inner')),\n aSlider = aContainer.find('.iris-slider-offset-alpha'),\n controls = {\n aContainer: aContainer,\n aSlider: aSlider\n };\n\n if (typeof el.data('custom-width') !== 'undefined') {\n self.options.customWidth = parseInt(el.data('custom-width')) || 0;\n } else {\n self.options.customWidth = 100;\n } // Set default width for input reset\n\n\n self.options.defaultWidth = el.width(); // Update width for input\n\n if (self._color._alpha < 1 || self._color.toString().indexOf('rgb') != -1) el.width(parseInt(self.options.defaultWidth + self.options.customWidth)); // Push new controls\n\n $.each(controls, function (k, v) {\n self.controls[k] = v;\n }); // Change size strip and add margin for sliders\n\n self.controls.square.css({\n 'margin-right': '0'\n });\n var emptyWidth = self.picker.width() - self.controls.square.width() - 20,\n stripsMargin = emptyWidth / 6,\n stripsWidth = emptyWidth / 2 - stripsMargin;\n $.each(['aContainer', 'strip'], function (k, v) {\n self.controls[v].width(stripsWidth).css({\n 'margin-left': stripsMargin + 'px'\n });\n }); // Add new slider\n\n self._initControls(); // For updated widget\n\n\n self._change();\n }\n },\n _initControls: function _initControls() {\n this._super();\n\n if (this.options.alpha) {\n var self = this,\n controls = self.controls;\n controls.aSlider.slider({\n orientation: 'vertical',\n min: 0,\n max: 100,\n step: 1,\n value: parseInt(self._color._alpha * 100),\n slide: function slide(event, ui) {\n // Update alpha value\n self._color._alpha = parseFloat(ui.value / 100);\n\n self._change.apply(self, arguments);\n }\n });\n }\n },\n _change: function _change() {\n this._super();\n\n var self = this,\n el = self.element;\n\n if (this.options.alpha) {\n var controls = self.controls,\n alpha = parseInt(self._color._alpha * 100),\n color = self._color.toRgb(),\n gradient = ['rgb(' + color.r + ',' + color.g + ',' + color.b + ') 0%', 'rgba(' + color.r + ',' + color.g + ',' + color.b + ', 0) 100%'],\n defaultWidth = self.options.defaultWidth,\n customWidth = self.options.customWidth,\n target = self.picker.closest('.wp-picker-container').find('.wp-color-result'); // Generate background slider alpha, only for CSS3 old browser fuck!! :)\n\n\n controls.aContainer.css({\n 'background': 'linear-gradient(to bottom, ' + gradient.join(', ') + '), url(' + image + ')'\n });\n\n if (target.hasClass('wp-picker-open')) {\n // Update alpha value\n controls.aSlider.slider('value', alpha);\n /**\n * Disabled change opacity in default slider Saturation ( only is alpha enabled )\n * and change input width for view all value\n */\n // if ( self._color._alpha < 1 ) {\n // \tcontrols.strip.attr( 'style', controls.strip.attr( 'style' ).replace( /rgba\\(([0-9]+,)(\\s+)?([0-9]+,)(\\s+)?([0-9]+)(,(\\s+)?[0-9\\.]+)\\)/g, 'rgb($1$3$5)' ) );\n // \tel.width( parseInt( defaultWidth + customWidth ) );\n // } else {\n // \tel.width( defaultWidth );\n // }\n }\n }\n\n var reset = el.data('reset-alpha') || false;\n\n if (reset) {\n self.picker.find('.iris-palette-container').on('click.palette', '.iris-palette', function () {\n self._color._alpha = 1;\n self.active = 'external';\n\n self._change();\n });\n }\n\n el.trigger('change');\n },\n _addInputListeners: function _addInputListeners(input) {\n var self = this,\n debounceTimeout = 100,\n callback = function callback(event) {\n var color = new Color(input.val()),\n val = input.val();\n input.removeClass('iris-error'); // we gave a bad color\n\n if (color.error) {\n // don't error on an empty input\n if (val !== '') input.addClass('iris-error');\n } else {\n if (color.toString() !== self._color.toString()) {\n // let's not do this on keyup for hex shortcodes\n if (!(event.type === 'keyup' && val.match(/^[0-9a-fA-F]{3}$/))) self._setOption('color', color.toString());\n }\n }\n };\n\n input.on('change', callback).on('keyup', self._debounce(callback, debounceTimeout)); // If we initialized hidden, show on first focus. The rest is up to you.\n\n if (self.options.hide) {\n input.on('focus', function () {\n self.show();\n });\n }\n }\n });\n})(jQuery);\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/js/wp-color-alpha.js?")},"./assets/admin/rmp-main.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _scss_wizard_ui_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./scss/wizard-ui.scss */ "./assets/admin/scss/wizard-ui.scss");\n/* harmony import */ var _scss_wizard_ui_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_scss_wizard_ui_scss__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _scss_dark_mode_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scss/dark-mode.scss */ "./assets/admin/scss/dark-mode.scss");\n/* harmony import */ var _scss_dark_mode_scss__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_scss_dark_mode_scss__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _js_rmp_admin_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./js/rmp-admin.js */ "./assets/admin/js/rmp-admin.js");\n/* harmony import */ var _js_rmp_admin_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_js_rmp_admin_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _js_wp_color_alpha_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./js/wp-color-alpha.js */ "./assets/admin/js/wp-color-alpha.js");\n/* harmony import */ var _js_wp_color_alpha_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_js_wp_color_alpha_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _js_rmp_editor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./js/rmp-editor.js */ "./assets/admin/js/rmp-editor.js");\n/* harmony import */ var _js_rmp_editor_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_js_rmp_editor_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _js_rmp_icon_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./js/rmp-icon.js */ "./assets/admin/js/rmp-icon.js");\n/* harmony import */ var _js_rmp_icon_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_js_rmp_icon_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _js_rmp_preview_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./js/rmp-preview.js */ "./assets/admin/js/rmp-preview.js");\n/* harmony import */ var _js_rmp_preview_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_js_rmp_preview_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _js_rmp_menu_wizard_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./js/rmp-menu-wizard.js */ "./assets/admin/js/rmp-menu-wizard.js");\n/**\n * Main scripts file.\n *\n * @package responsive-menu-pro\n */\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/rmp-main.js?')},"./assets/admin/scss/dark-mode.scss":function(){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/scss/dark-mode.scss?")},"./assets/admin/scss/wizard-ui.scss":function(){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/scss/wizard-ui.scss?")}},__webpack_module_cache__={};function __webpack_require__(e){var n=__webpack_module_cache__[e];if(void 0!==n)return n.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(n,{a:n}),n},__webpack_require__.d=function(e,n){for(var r in n)__webpack_require__.o(n,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},__webpack_require__.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__("./assets/admin/rmp-main.js")})();
|
1 |
/*! For license information please see rmpMain.js.LICENSE.txt */
|
2 |
+
(function(){var __webpack_modules__={"./assets/admin/js/rmp-admin.js":function(){eval("/**\n * This is admin scripts file which contain the admin actions.\n *\n * @version 4.0.0\n *\n * @author Expresstech System\n *\n */\njQuery(document).ready(function (jQuery) {\n /**\n * Rollback the plugin version.\n *\n * @version 4.0.0\n *\n * @fires Click\n */\n jQuery('#rmp-rollback-version').on('click', function (e) {\n e.preventDefault();\n var version = jQuery('#rmp-versions').val();\n\n if ('3.1.30' === version) {\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n action: 'rmp_rollback_version'\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error) {\n jQuery(this).prop('disabled', false);\n },\n success: function success(response) {\n if (response.data.redirect) {\n location.href = response.data.redirect;\n }\n }\n });\n }\n });\n /**\n * Iframe loader and contents show/hide.\n */\n\n jQuery('#rmp-preview-iframe').on('load', function () {\n jQuery('#rmp-preview-iframe-loader').hide();\n jQuery('#rmp-menu-update-notification').remove();\n jQuery('#rmp-preview-iframe').show();\n jQuery('#rmp-preview-iframe').contents().find('a').on('click', function (e) {\n e.stopPropagation();\n e.preventDefault();\n var url = jQuery(this).attr('href'); // Prevent to load the customizer page on preview aria.\n\n if ('#' == url) {\n return;\n }\n\n if (url.indexOf('?') >= 0) {\n url = url + '&rmp_preview_mode=true';\n } else {\n url = url + '?rmp_preview_mode=true';\n }\n\n jQuery('#rmp-preview-iframe').attr('src', url);\n });\n });\n /**\n * Save the theme as template.\n *\n * @since 4.0.0\n *\n * @fires Click\n */\n\n jQuery('button#rmp-save-theme').on('click', function (e) {\n e.stopPropagation();\n e.preventDefault();\n var themeName = jQuery('#rmp-save-theme-name').val();\n\n if (3 > themeName.length) {\n alert('Please give meaning full name to this theme');\n return;\n }\n\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_save_theme',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'theme_name': themeName,\n 'menu_id': jQuery('#menu_id').val(),\n 'form': jQuery('#rmp-editor-form').serialize()\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error2) {\n console.log(_error2.statusText);\n },\n success: function success(response) {\n jQuery(e.target).parents('.rmp-dialog-contents').append('<div class=\"notice notice-success settings-error is-dismissible\"><p>' + response.data.message + '</p></div>');\n }\n });\n });\n /**\n * Ajax call to save the menu settings when click on update.\n *\n * @version 4.0.0\n *\n * @fires click\n */\n\n jQuery(document).on('click', 'button#rmp-save-menu-options,#rmp-menu-quick-update-button', function (e) {\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_save_menu_action',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'form': jQuery('#rmp-editor-form').serialize()\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery('#rmp-preview-iframe-loader').show();\n },\n error: function error(_error3) {\n console.log(_error3.statusText);\n jQuery('#rmp-preview-iframe-loader').hide();\n },\n success: function success(response) {\n // If options is updated successfully then reload the iframe.\n if (response.success) {\n var url = jQuery('#rmp-preview-iframe').attr('src');\n jQuery('#rmp-preview-iframe').attr('src', url);\n }\n }\n });\n }); // Initiate the color picker instances.\n\n jQuery('.rmp-color-input').wpColorPicker(); // Fix events glitch on color textbox.\n\n jQuery('.rmp-color-input').removeAttr('style');\n jQuery(document).find('.rmp-color-input').off('focus'); // Initiate the tab elements.\n\n jQuery('.tabs,#rmp-setting-tabs').tabs({\n hide: {\n effect: 'explode',\n duration: 1000\n },\n show: {\n effect: 'explode',\n duration: 800\n },\n active: 0\n }); // Active tabs under ordering elements.\n\n jQuery('.nav-tab-wrapper').on('click', '.nav-tab', function (e) {\n jQuery('.nav-tab-wrapper .nav-tab').removeClass('nav-tab-active');\n jQuery(this).addClass('nav-tab-active');\n });\n /**\n * Hamburger element selector option hide and show.\n */\n\n hideShowSelect('#rmp-menu-button-position-type', '.rmp-menu-hamburger-selector-div', 'show', 'inside-element');\n jQuery('#rmp-menu-button-position-type').on('change', function () {\n hideShowSelect(this, '.rmp-menu-hamburger-selector-div', 'show', 'inside-element');\n });\n /**\n * select hide show function\n * @para string select, string show/hide Element, string show/hide\n */\n\n function hideShowSelect(checkElement, targetElement, condition, value) {\n if (jQuery(checkElement).val() == value) {\n if (condition == 'show') {\n jQuery(targetElement).show();\n } else {\n jQuery(targetElement).hide();\n }\n } else {\n if (condition == 'show') {\n jQuery(targetElement).hide();\n } else {\n jQuery(targetElement).show();\n }\n }\n }\n /**\n * Check open/close of device options switcher.\n *\n * @version 4.0.0\n *\n * @fires click\n */\n\n\n jQuery('.rmp-device-switcher').on('click', function () {\n var isOpen = jQuery(this).hasClass('open');\n\n if (isOpen) {\n jQuery(this).removeClass('open');\n } else {\n jQuery('.rmp-device-switcher').removeClass('open');\n jQuery(this).addClass('open');\n }\n });\n /**\n * Change the option when select a device.\n *\n * @version 4.0.0\n *\n * @fires click\n */\n\n jQuery('.rmp-device-switcher li').on('click', function () {\n var selectedDevice = jQuery(this).attr('data-device');\n var firstDevice = jQuery('.rmp-device-switcher li:first-child').attr('data-device');\n\n if (selectedDevice != firstDevice) {\n activeDeviceOptions(selectedDevice);\n\n if ('desktop' == selectedDevice) {\n jQuery('#rmp-preview-desktop').trigger('click');\n } else if ('tablet' == selectedDevice) {\n jQuery('#rmp-preview-tablet').trigger('click');\n } else {\n jQuery('#rmp-preview-mobile').trigger('click');\n }\n }\n });\n /**\n * Active all the device options in editor.\n *\n * @version 4.0.0;\n * @param {string} selectedDevice This device name which is active.\n */\n\n function activeDeviceOptions(selectedDevice) {\n var firstDevice = jQuery('.rmp-device-switcher li:first-child').attr('data-device');\n var selectedIcon = jQuery('.rmp-device-switcher li[data-device=' + selectedDevice + ']').html();\n var firstIcon = jQuery('.rmp-device-switcher li:first-child').html();\n jQuery('.rmp-device-switcher li').each(function () {\n if (jQuery(this).attr('data-device') === selectedDevice) {\n jQuery(this).html(firstIcon);\n jQuery(this).attr('data-device', firstDevice);\n } else if (jQuery(this).attr('data-device') === firstDevice) {\n jQuery(this).html(selectedIcon);\n jQuery(this).attr('data-device', selectedDevice);\n }\n });\n }\n /**\n * Close the device switcher when mouseup other places.\n *\n * @version 4.0.0\n *\n * @fires mouseup\n */\n\n\n jQuery(document).on('mouseup', function (event) {\n var target = event.target;\n var deviceSwitcher = jQuery('.rmp-device-switcher');\n\n if (!deviceSwitcher.is(target) && 0 === deviceSwitcher.has(target).length) {\n deviceSwitcher.removeClass('open');\n }\n });\n /**\n * Active preview as per clicked device.\n *\n * @version 4.0.0\n *\n * @fires Click\n */\n\n jQuery('#rmp-editor-footer .rmp-preview-device-wrapper').on('click', 'button', function (e) {\n jQuery('#rmp-editor-footer').find('.rmp-preview-device-wrapper button').removeClass('active');\n jQuery('#rmp-editor-footer').find('.rmp-preview-device-wrapper button').attr('aria-pressed', 'false');\n jQuery(this).addClass('active');\n jQuery(this).attr('aria-pressed', 'true');\n var device = jQuery(this).data('device');\n var deviceEditor = jQuery('#rmp-editor-wrapper');\n var allClasses = deviceEditor.attr('class').split(' ');\n allClasses.forEach(function (value) {\n if (value.includes('rmp-preview-')) {\n deviceEditor.removeClass(value);\n }\n });\n deviceEditor.addClass('rmp-preview-' + device);\n activeDeviceOptions(device);\n });\n /**\n * Instantiate the accordion elements.\n * @version 4.0.0\n */\n\n jQuery('.rmp-accordion-container,.rmp-sub-accordion-container').accordion({\n collapsible: true,\n heightStyle: 'content',\n animate: 200,\n active: 0\n });\n /**\n * Instantiate the draggable and sortable menu item order elements.\n * \t@version 4.0.0\n */\n\n jQuery('#rmp-menu-ordering-items').accordion().sortable({\n placeholder: 'sortable-placeholder',\n opacity: 0.9,\n cursor: 'move',\n delay: 150,\n forcePlaceholderSize: true,\n active: false\n });\n /**\n * Stop propagating when click on item control element.\n */\n\n jQuery('#tab-container .item-controls, #tab-header-bar .item-controls').on('click', function (event) {\n event.stopPropagation();\n });\n /**\n * Show/Hide tooltip for option description.\n *\n * @version 4.0.0\n *\n * @fires click,mouseleave\n */\n\n jQuery('.rmp-tooltip-icon').on('click', function (e) {\n if (jQuery(this).hasClass('show-tooltip')) {\n return;\n } else {\n jQuery(this).addClass('show-tooltip');\n }\n\n var toolTipContents = jQuery(this).find('.rmp-tooltip-content');\n toolTipContents.css({\n 'left': e.pageX - toolTipContents.width() / 100 * 60,\n 'position': 'fixed',\n 'top': e.pageY - toolTipContents.height() - 10,\n 'bottom': 'unset'\n });\n toolTipContents.fadeIn();\n }).on('mouseleave', function () {\n jQuery(this).removeClass('show-tooltip');\n jQuery(this).find('.rmp-tooltip-content').fadeOut();\n });\n /**\n * Remove image from image picker\n *\n * @version 4.0.0\n *\n * @fires Click\n */\n\n jQuery('.rmp-image-picker ').on('click', '.rmp-image-picker-trash', function (e) {\n e.stopPropagation();\n e.preventDefault();\n jQuery(this).parent('.rmp-image-picker').siblings('input.rmp-image-url-input').val('');\n jQuery(this).parent('.rmp-image-picker').removeAttr('style');\n jQuery(this).remove();\n\n if (!jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length) {\n addUpdateNotification();\n }\n });\n /**\n * Show/Hide the theme uploader section in theme page.\n */\n\n jQuery('#rmp-upload-new-theme').on('click', function () {\n jQuery('#rmp-menu-library-import').toggleClass('hide');\n });\n /**\n * Hide theme uploader section when click on cancel.\n */\n\n jQuery('#rmp-menu-library-import-form').on('click', '.cancel', function (e) {\n jQuery('#rmp-menu-library-import').addClass('hide');\n });\n /**\n * Upload the theme file using dropzone.\n *\n * @version 4.0.0\n */\n\n jQuery('#rmp-menu-library-import-form').dropzone({\n clickable: true,\n acceptedFiles: '.zip',\n uploadMultiple: false,\n success: function success(file, response) {\n location.reload();\n },\n totaluploadprogress: function totaluploadprogress() {\n jQuery('.rmp-page-loader').css('display', 'flex');\n }\n });\n /**\n * Open theme options in editor footer.\n */\n\n jQuery('#rmp-theme-action').on('click', function (e) {\n jQuery('#rmp-footer-theme-options').toggleClass('open');\n });\n /**\n * Show/Hide the save theme wizard.\n */\n\n jQuery('.rmp-theme-save-button, #rmp-menu-save-theme-wizard .rmp-dialog-wrap .close').on('click', function (e) {\n jQuery('#rmp-menu-save-theme-wizard').toggle();\n });\n /**\n * Delete the theme from theme page.\n */\n\n jQuery('.rmp-theme-delete').on('click', function (e) {\n e.preventDefault();\n /** Ask for delete confirmation */\n\n var isConfirm = confirm('Are you sure, You want to delete this theme ?');\n\n if (!isConfirm) {\n return;\n } //Show the loader on deleting theme.\n\n\n var current_theme = jQuery(this);\n current_theme.append('<span class=\"spinner is-active\"></span>');\n var themeName = jQuery(this).attr('data-theme');\n var themeType = jQuery(this).attr('data-theme-type').toLowerCase();\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_theme_delete',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'theme_name': themeName,\n 'theme_type': themeType\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error4) {\n console.log(_error4.statusText);\n },\n success: function success(response) {\n current_theme.find('.spinner').removeClass('is-active');\n\n if (response.success) {\n location.reload();\n } else {\n alert(response.data.message);\n }\n }\n });\n });\n /**\n * Apply the selected theme in current active menu in editor.\n *\n * @version 4.0.0\n *\n * @fires click\n */\n\n jQuery(document).on('click', '.rmp-theme-apply', function (e) {\n //Show the overlay with loader.\n jQuery('.rmp-page-loader').css('display', 'flex');\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_theme_apply',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'theme_name': jQuery(this).attr('theme-name'),\n 'theme_type': jQuery(this).attr('theme-type').toLowerCase(),\n 'menu_id': jQuery('#menu_id').val(),\n 'menu_to_use': jQuery('#rmp-menu-to-use').val()\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error5) {\n console.log(_error5.statusText);\n jQuery('.rmp-page-loader').hide();\n },\n success: function success(response) {\n if (response.success) {\n location.reload();\n } else {\n jQuery('.rmp-page-loader').hide();\n alert(response.data.message);\n }\n }\n });\n });\n /**\n * Save the global settings on click.\n *\n * @version 4.0.0\n *\n * @fires click\n */\n\n jQuery('.rmp-save-global-settings-button').on('click', function (e) {\n e.preventDefault();\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_save_global_settings',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'form': jQuery('#rmp-global-settings').serialize()\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery(this).prop('disabled', true);\n jQuery('.spinner').addClass('is-active');\n },\n error: function error(_error6) {\n console.log('Internal Error !' + _error6);\n },\n success: function success(response) {\n jQuery('.spinner').removeClass('is-active');\n jQuery(this).prop('disabled', false);\n }\n });\n });\n /**\n * Initiate multiple selectize option of editor.\n */\n\n jQuery('#rmp-keyboard-shortcut-close-menu,#rmp-keyboard-shortcut-open-menu').selectize({\n maxItems: 2,\n plugins: ['remove_button']\n });\n /**\n * Event to linked the group inputs.\n *\n * @fires Click\n */\n\n jQuery(document).on('click', 'button.rmp-group-input-linked', function () {\n jQuery(this).toggleClass('is-linked');\n });\n /**\n * Event to type on all sibblings input if linked.\n *\n * @fires keyup\n */\n\n jQuery(document).on('keyup', 'input.rmp-group-input', function (event) {\n var pressedKeys = this.value.toLocaleLowerCase();\n var parent = jQuery(this).parents('.rmp-input-group-control');\n var isLinked = parent.find('.is-linked');\n\n if (isLinked.length) {\n parent.find('input.rmp-group-input').val(pressedKeys);\n } else {\n jQuery(this).val(pressedKeys);\n }\n });\n /**\n * Function to add the notification and update button.\n */\n\n function addUpdateNotification() {\n if (!jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length) {\n jQuery('#rmp-editor-main').prepend('<div id=\"rmp-menu-update-notification\" class=\"rmp-order-item rmp-order-item-description\">' + '<span> <span class=\"rmp-font-icon dashicons dashicons-warning \"></span> Update Required </span>' + '<a href=\"javascript:void(0)\" id=\"rmp-menu-quick-update-button\">UPDATE</a>' + '</div>');\n }\n }\n\n jQuery('form#rmp-editor-form').on('keyup change paste', 'input, select, textarea, radio, checkbox', function () {\n if (!jQuery(this).hasClass('no-updates')) {\n addUpdateNotification();\n }\n });\n jQuery(document).on('click', '#rmp-icon-dialog-select,.media-button-select,.rmp-icon-picker,.rmp-image-picker', function () {\n if (!jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length) {\n addUpdateNotification();\n }\n });\n /**\n * Event to download exported menu settings as json file.\n *\n * @version 4.0.0\n */\n\n jQuery('#rmp-export-menu-button').on('click', function (e) {\n e.preventDefault();\n var menu_id = jQuery('#rmp_export_menu_list').val();\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_export_menu',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'menu_id': menu_id\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery('#rmp-export-menu-button').prop('disabled', true);\n },\n error: function error(_error7) {\n console.log(_error7.statusText);\n jQuery('#rmp-export-menu-button').prop('disabled', false);\n },\n success: function success(response) {\n jQuery('#rmp-export-menu-button').prop('disabled', false);\n\n if (response.data) {\n var menu_name = jQuery('#rmp_export_menu_list').children(\":selected\").text().trim().toLocaleLowerCase().split(' ').join('-');\n download_file(response.data, menu_name + '.json', 'application/json');\n }\n }\n });\n });\n /**\n * Function to download the content as file.\n *\n * @since 4.0.0\n *\n * @param {String} content Contents for file\n * @param {String} name Name of the file.\n * @param {String} type File type\n */\n\n function download_file(content, name, type) {\n var link = document.body.appendChild(document.createElement('a'));\n var file = new Blob([content], {\n type: type\n });\n link.href = URL.createObjectURL(file);\n link.download = name;\n link.click();\n }\n /**\n * Event to download exported menu settings as json file.\n *\n * @version 4.0.0\n */\n\n\n jQuery('#rmp-import-menu-button').on('click', function (e) {\n e.preventDefault();\n var menu_id = jQuery('#rmp_import_menu_list').val();\n\n if (!menu_id) {\n alert('Please create menu first ! ');\n return;\n }\n\n var file_data = jQuery('#rmp_input_import_file')[0].files[0];\n\n if (!file_data) {\n alert('Choose export file ! ');\n return;\n }\n\n var form_data = new FormData();\n form_data.append('file', file_data);\n form_data.append('ajax_nonce', rmpObject.ajax_nonce);\n form_data.append('menu_id', menu_id);\n form_data.append('action', 'rmp_import_menu');\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: form_data,\n type: 'POST',\n cache: false,\n contentType: false,\n processData: false,\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery('#rmp-import-menu-button').prop('disabled', true);\n },\n error: function error(_error8) {\n console.log(_error8.statusText);\n jQuery('#rmp-import-menu-button').prop('disabled', false);\n },\n success: function success(response) {\n jQuery('#rmp-import-menu-button').prop('disabled', false);\n noticeClass = 'notice-error';\n\n if (response.success) {\n noticeClass = 'notice-success';\n jQuery('#rmp_input_import_file').val('');\n }\n\n jQuery('#rmp-global-settings').before('<div class=\"notice ' + noticeClass + ' settings-error is-dismissible\"> <p>' + response.data.message + '</p></div>');\n setTimeout(function () {\n jQuery('#rmp-global-settings').parent().find('.notice').remove();\n }, 3000);\n }\n });\n });\n /**\n * Function to manage menu container animation options.\n *\n * @param {String} optionValue\n */\n\n function updateMenuContainerAnimationOptions(optionValue) {\n if ('push' === optionValue) {\n jQuery('#rmp-page-wrapper').parents('.rmp-input-control-wrapper').fadeIn();\n } else {\n jQuery('#rmp-page-wrapper').parents('.rmp-input-control-wrapper').fadeOut();\n }\n\n if ('fade' === optionValue) {\n jQuery('#rmp-menu-appear-from option[value=\"top\"]').hide();\n jQuery('#rmp-menu-appear-from option[value=\"bottom\"]').hide();\n } else {\n jQuery('#rmp-menu-appear-from option[value=\"top\"]').show();\n jQuery('#rmp-menu-appear-from option[value=\"bottom\"]').show();\n }\n } // Menu container animation type and their options.\n\n\n updateMenuContainerAnimationOptions(jQuery('#rmp-animation-type').val());\n jQuery('#rmp-editor-wrapper').on('change', '#rmp-animation-type', function (e) {\n var optionValue = jQuery(this).val();\n updateMenuContainerAnimationOptions(optionValue);\n });\n /**\n * Event to back on home page under preview screen.\n *\n * @since 4.1.0\n *\n * @fires click\n *\n * @return void\n */\n\n jQuery('#rmp-preview-wrapper').on('click', function () {\n var url = window.location.href;\n url = url.substring(0, url.indexOf('wp-admin')) + '?rmp_preview_mode=true';\n jQuery('#rmp-preview-iframe-loader').show();\n jQuery('#rmp-preview-iframe').attr('src', url);\n });\n /** Call ajax to hide admin notice permanent. */\n\n jQuery('.notice-responsive-menu').on('click', '.notice-dismiss', function (event) {\n event.preventDefault();\n jQuery.ajax({\n type: \"POST\",\n url: rmpObject.ajaxURL,\n data: 'action=rmp_upgrade_admin_notice_dismiss'\n });\n });\n});\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/js/rmp-admin.js?")},"./assets/admin/js/rmp-editor.js":function(){eval("/**\n * This file container the editor multi level features.\n *\n * @version 4.0.0\n *\n * @type {Object}\n */\nvar rmpEditor = {\n editorSidebar: '#rmp-editor-wrapper',\n sidebarDrawer: 'button.collapse-sidebar',\n mainForm: '#rmp-editor-form',\n editorContainer: '#rmp-editor-main',\n topParentNav: '#rmp-editor-nav',\n topParentTab: '#rmp-editor-pane',\n childTabs: '.rmp-accordions',\n parentTabItem: '.rmp-editor-pane-parent li.rmp-tab-item',\n tabItem: 'li.rmp-tab-item',\n quickItem: '.rmp-quick-edit-link',\n tabItemTitle: '.rmp-tab-item-title',\n titleLogo: '.rmp-editor-header-logo',\n closeButton: '.rmp-editor-header-close',\n searchButton: '.rmp-search-settings-btn',\n searchForm: '.rmp-search-settings',\n titleText: '.rmp-editor-header-title',\n backButton: '.rmp-editor-header-back',\n accordionItem: 'li.rmp-accordion-item',\n tabId: null,\n level: 0,\n triggerBack: function triggerBack() {\n this.level--;\n parentId = jQuery('#' + this.tabId).attr('aria-parent');\n jQuery('#' + parentId).show();\n var title = jQuery('#' + parentId).attr('aria-label');\n this.updateHeader(title);\n jQuery('#' + this.tabId).hide();\n this.tabId = parentId;\n },\n updatePanel: function updatePanel(current) {\n this.tabId = current.attr('aria-owns');\n jQuery('#' + this.tabId).show();\n parentId = current.parent('ul').parent('div').attr('id');\n jQuery('#' + this.tabId).attr('aria-parent', parentId);\n jQuery('#' + parentId).hide();\n },\n updateQuickPanel: function updateQuickPanel(current) {\n this.tabId = current.attr('aria-owns');\n var accordionId = current.attr('accordion-id');\n var subAccordionId = current.attr('sub-accordion-id');\n var subTabId = current.attr('sub-tab-id');\n parentId = jQuery(\".rmp-accordions:visible\").attr('id');\n jQuery('#' + this.tabId).attr('aria-parent', parentId);\n jQuery('#' + parentId).hide();\n jQuery('#' + this.tabId).show();\n\n if (accordionId != '') {\n if (!jQuery('#' + accordionId).hasClass(\"ui-state-active\")) {\n jQuery('#' + accordionId).click();\n }\n\n if (subAccordionId != '') {\n if (!jQuery('#' + subAccordionId).hasClass(\"ui-state-active\")) {\n jQuery('#' + subAccordionId).click();\n }\n\n accordionId = subAccordionId;\n }\n\n setTimeout(function () {\n var topPos = document.getElementById(accordionId).offsetTop;\n jQuery('#rmp-editor-main').animate({\n scrollTop: topPos - 60 + 'px'\n }, 500);\n }, 400);\n }\n\n if (subTabId != '') {\n jQuery('#' + subTabId).click();\n }\n },\n updateHeader: function updateHeader(title) {\n if (0 == this.level) {\n jQuery(this.titleLogo).find('img').show();\n jQuery(this.closeButton).show();\n jQuery(this.backButton).hide();\n jQuery(this.searchForm).css('width', '200');\n } else if (1 == this.level) {\n jQuery(this.backButton).css('display', 'flex');\n jQuery(this.titleLogo).find('img').hide();\n jQuery(this.closeButton).hide();\n jQuery(this.searchForm).css('width', '255');\n }\n\n jQuery(this.titleText).text(title);\n },\n init: function init() {\n var self = this; // Move on next panel when click on item.\n\n jQuery(self.editorContainer).on('click', self.tabItem, function (e) {\n e.stopPropagation();\n e.preventDefault();\n current = jQuery(this);\n self.level++;\n self.updateHeader(current.text());\n self.updatePanel(current);\n }); // Move on next panel when click on item.\n\n jQuery(self.editorContainer).on('click', self.quickItem, function (e) {\n e.stopPropagation();\n e.preventDefault();\n current = jQuery(this);\n var tabId = current.attr('aria-owns');\n var title = jQuery('.rmp-tab-item[aria-owns=\"' + tabId + '\"]').find('.rmp-tab-item-title').html();\n self.level++;\n self.updateHeader(title);\n self.updateQuickPanel(current);\n }); // Back from inner panel when click on back button.\n\n jQuery(self.backButton).on('click', function (e) {\n e.stopPropagation();\n self.triggerBack();\n }); // Open/Close the editor setting sidebar.\n\n jQuery(self.sidebarDrawer).on('click', function (e) {\n jQuery(self.editorSidebar).toggleClass('expanded collapsed');\n }); // Open/Close the search form.\n\n jQuery(self.searchButton).on('click', function (e) {\n jQuery(self.searchForm).toggle();\n }); //Search settings\n\n jQuery.expr[':'].containsIgnoreCase = function (n, i, m) {\n return jQuery(n).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;\n };\n\n jQuery.fn.highlight = function (pat) {\n function innerHighlight(node, pat) {\n var skip = 0;\n\n if (jQuery(node).is(\"select,input,textarea, .rmp-tooltip-content \")) {\n return skip;\n }\n\n if (node.nodeType == 3) {\n var pos = node.data.toUpperCase().indexOf(pat);\n\n if (pos >= 0) {\n var spannode = document.createElement('i');\n spannode.className = 'rmp-highlight';\n var middlebit = node.splitText(pos);\n middlebit.splitText(pat.length);\n var middleclone = middlebit.cloneNode(true);\n spannode.appendChild(middleclone);\n middlebit.parentNode.replaceChild(spannode, middlebit);\n skip = 1;\n }\n } else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {\n for (var i = 0; i < node.childNodes.length; ++i) {\n i += innerHighlight(node.childNodes[i], pat);\n }\n }\n\n return skip;\n }\n\n return this.each(function () {\n innerHighlight(this, pat.toUpperCase());\n });\n };\n\n jQuery.fn.removeHighlight = function () {\n function newNormalize(node) {\n for (var i = 0, children = node.childNodes, nodeCount = children.length; i < nodeCount; i++) {\n var child = children[i];\n\n if (child.nodeType == 1) {\n newNormalize(child);\n continue;\n }\n\n if (child.nodeType != 3) {\n continue;\n }\n\n var next = child.nextSibling;\n\n if (next == null || next.nodeType != 3) {\n continue;\n }\n\n var combined_text = child.nodeValue + next.nodeValue;\n var new_node = node.ownerDocument.createTextNode(combined_text);\n node.insertBefore(new_node, child);\n node.removeChild(child);\n node.removeChild(next);\n i--;\n nodeCount--;\n }\n }\n\n return this.find(\"i.rmp-highlight\").each(function () {\n var thisParent = this.parentNode;\n thisParent.replaceChild(this.firstChild, this);\n newNormalize(thisParent);\n }).end();\n };\n\n jQuery(document).on('keyup change search', self.searchForm, function () {\n var searchTerm = jQuery(this).val();\n jQuery('#rmp-editor-main').removeHighlight();\n jQuery('.rmp-search-results-found').remove();\n if (searchTerm == '') return false;\n jQuery('#rmp-editor-main').highlight(searchTerm);\n jQuery(self.parentTabItem).each(function () {\n var target = \"#\" + jQuery(this).attr(\"aria-owns\");\n var count = jQuery(target).find(\"i.rmp-highlight:containsIgnoreCase(\" + searchTerm + \")\").length;\n jQuery(target).find(self.tabItem).each(function () {\n var childTarget = \"#\" + jQuery(this).attr(\"aria-owns\");\n var childCount = jQuery(childTarget).find(\"i.rmp-highlight:containsIgnoreCase(\" + searchTerm + \")\").length;\n\n if (childCount > 0) {\n jQuery(this).append('<span class=\"rmp-search-results-found\">' + childCount + ' Results</span>');\n count = Number(count) + Number(childCount);\n }\n });\n\n if (count > 0) {\n jQuery(target).find(self.accordionItem).each(function () {\n var accordionItemCount = jQuery(this).find(\":not(.accordion-item-title, .item-title) > i.rmp-highlight:containsIgnoreCase(\" + searchTerm + \")\").length;\n\n if (accordionItemCount > 0) {\n jQuery(this).find('.rmp-accordion-title:first > .accordion-item-title, .rmp-accordion-title:first > .item-title').append('<span class=\"rmp-search-results-found\">' + accordionItemCount + ' Results</span>');\n }\n });\n jQuery(this).append('<span class=\"rmp-search-results-found\">' + count + ' Results</span>');\n }\n });\n });\n }\n};\nrmpEditor.init();\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/js/rmp-editor.js?")},"./assets/admin/js/rmp-icon.js":function(){eval("/**\n * This file contain the script to handle the icon wizard and it's operation.\n *\n * @version 4.0.0\n */\njQuery(document).ready(function () {\n var RMP_Icon = {\n iconSelect: '#rmp-icon-dialog-select',\n iconContainer: '.rmp-menu-icons-dialog',\n clearSelector: '#rmp-icon-dialog-clear',\n closeSelector: '.rmp-menu-icons-dialog .rmp-dialog-header button.close',\n clear: function clear() {\n var self = this;\n jQuery(self.clearSelector).on('click', function () {\n jQuery(self.iconContainer).find('input').prop('checked', false);\n });\n },\n closeDialog: function closeDialog() {\n var self = this;\n jQuery(self.closeSelector).on('click', function () {\n jQuery(self.iconContainer).hide();\n });\n },\n openDialog: function openDialog(iconChooser) {\n var self = this;\n jQuery(iconChooser).on('click', function (e) {\n e.stopPropagation();\n jQuery(self.iconContainer).show();\n jQuery(self.iconSelect).attr('data-click', jQuery(e.target).attr('id'));\n });\n },\n getIconElementWrap: function getIconElementWrap(icon_class) {\n if (icon_class.includes('material-icons')) {\n icon_class = icon_class.replace('material-icons', '');\n return '<span class=\"rmp-font-icon material-icons\">' + icon_class + '</span>';\n }\n\n return '<span class=\"rmp-font-icon ' + icon_class + ' \"></span>';\n },\n removeIcon: function removeIcon(iconChooser) {\n jQuery(iconChooser).on('click', '.rmp-icon-picker-trash', function (e) {\n e.preventDefault();\n e.stopPropagation();\n jQuery(this).parent('.rmp-icon-picker').siblings('input.rmp-icon-hidden-input').val('');\n jQuery(this).siblings('.rmp-font-icon').remove();\n jQuery(this).parent('.rmp-icon-picker').removeAttr('data-icon');\n jQuery(this).remove();\n\n if (!jQuery('#rmp-editor-main').find('#rmp-menu-update-notification').length) {\n jQuery('#rmp-editor-main').prepend('<div id=\"rmp-menu-update-notification\" class=\"rmp-order-item rmp-order-item-description\">' + '<span> <span class=\"rmp-font-icon dashicons dashicons-warning \"></span> Update Required </span>' + '<a href=\"javascript:void(0)\" id=\"rmp-menu-quick-update-button\">UPDATE</a>' + '</div>');\n }\n });\n },\n getIcon: function getIcon() {\n var self = this;\n jQuery(document).on('click', this.iconSelect, function () {\n icon_class = jQuery(self.iconContainer).find('input:checked').val();\n clicker = '#' + jQuery(self.iconSelect).attr('data-click');\n icon_wrap = self.getIconElementWrap(icon_class);\n jQuery(clicker).find('.rmp-font-icon').remove();\n jQuery(clicker).prev('input.rmp-icon-hidden-input').val(icon_wrap);\n jQuery(clicker).append(icon_wrap);\n jQuery(clicker).attr('data-icon', true);\n jQuery(clicker).find('.rmp-icon-picker-trash').remove();\n jQuery(clicker).append('<i class=\"rmp-icon-picker-trash dashicons dashicons-trash\" aria-hidden=\"true\"></i>');\n jQuery(self.iconSelect).removeAttr('data-click');\n jQuery(self.closeSelector).click();\n jQuery(clicker).prev('input').first().focus();\n });\n },\n init: function init(iconChooser) {\n this.openDialog(iconChooser);\n this.removeIcon(iconChooser);\n this.getIcon();\n this.clear();\n this.closeDialog();\n jQuery('#rmp-icon-search').on('keyup', _.debounce(this.searchIcon, 500));\n jQuery('#rmp-icon-search').on('keyup', function () {\n var query_string = this.value.toLocaleLowerCase();\n\n if (query_string.length) {\n if (!jQuery('#rmp-icon-search-typing-message').length) {\n jQuery(this).after('<span id=\"rmp-icon-search-typing-message\"> Waiting for more keystrokes... </span>');\n } else {\n jQuery('#rmp-icon-search-typing-message').html('Waiting for more keystrokes...');\n }\n }\n });\n /**\n * Create menu item icon selector.\n */\n\n jQuery(document).on('click', '.delete-menu-item-icon', function () {\n jQuery(this).closest('.rmp-menu-item-icon-container').remove();\n });\n },\n searchIcon: function searchIcon(e) {\n jQuery('#rmp-icon-search-typing-message').html('Please wait moment..');\n var query_string = this.value.toLocaleLowerCase();\n var activeTab = jQuery('.rmp-menu-icons-dialog').find('.nav-tab-active');\n\n if (!activeTab.length) {\n activeTab = jQuery('.rmp-menu-icons-dialog').find('.nav-tab').first();\n }\n\n icon_container = activeTab.attr('href');\n var icon_selector = jQuery(icon_container + ' .font-icon');\n var is_exist = false;\n icon_selector.each(function () {\n var icon_label = jQuery(this).children('input').val().toLocaleLowerCase();\n\n if (icon_label.includes(query_string)) {\n jQuery(this).show();\n is_exist = true;\n } else {\n jQuery(this).hide();\n }\n });\n\n if (is_exist) {\n jQuery('#rmp-icon-search-typing-message').html('Done, Check results..');\n } else {\n jQuery('#rmp-icon-search-typing-message').html('Sorry, Not found..');\n }\n }\n };\n RMP_Icon.init('.rmp-icon-picker');\n});\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/js/rmp-icon.js?")},"./assets/admin/js/rmp-menu-wizard.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This is js hook scripts file for responsive menu.\n *\n * @file This files defines the rmpNewMenuWizard object.\n * @author ExpressTech System.\n *\n * @since 4.1.0\n *\n * @package responsive-menu\n */\n\n/**\n * Hooks class.\n *\n * @type {Object}\n *\n * @since 4.1.0\n */\n\nvar rmpMenuWizard = {\n /**\n * Initialize.\n *\n * @return {void}\n */\n init: function init() {\n this.setProps();\n },\n\n /**\n * Set properties and selectors.\n *\n * @return {void}\n */\n setProps: function setProps() {\n var _this = this;\n\n //Assign wizard container element id.\n var menuWizardContainer = jQuery('#rmp-new-menu-wizard'); //Open new create menu wizard on click event.\n\n jQuery(document).on('click', 'a.page-title-action', function (e) {\n e.preventDefault();\n menuWizardContainer.show();\n }); //Close the new menu wizard.\n\n jQuery('#rmp-new-menu-wizard .rmp-dialog-header button.close').on('click', function () {\n menuWizardContainer.hide();\n }); //Show/Hide the page selection input control.\n\n menuWizardContainer.on('change', '.rmp-menu-display-option', function (e) {\n var optionValue = jQuery(this).val();\n\n if ('exclude-pages' === optionValue || 'include-pages' === optionValue) {\n jQuery('#rmp-menu-page-selector').show();\n return;\n }\n\n jQuery('#rmp-menu-page-selector').hide();\n }); //Show/Hide change theme wizard in customizer page.\n\n jQuery('.rmp-theme-change-button').on('click', function (e) {\n menuWizardContainer.toggle();\n }); //Multi step form event for next button.\n\n jQuery('#rmp-menu-next-step').on('click', function () {\n _this.nextSection();\n }); //Multi step form event for top item label.\n\n jQuery('li.rmp-new-menu-step').on('click', function (e) {\n var index = jQuery(e.currentTarget).index();\n\n _this.goToSection(index);\n }); //Call ajax to save the new create menu.\n\n jQuery('#rmp-create-new-menu').on('click', function (e) {\n e.preventDefault();\n var menuName = jQuery('#rmp-menu-name');\n var themeName = jQuery('.rmp-theme-option:checked').val();\n\n if (themeName == undefined) {\n themeName = '';\n }\n\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_create_new_menu',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'menu_name': menuName.val(),\n 'menu_to_hide': jQuery('#rmp-hide-menu').val(),\n 'menu_to_use': jQuery('#rmp-menu-to-use').val(),\n 'menu_show_on_pages': jQuery('#rmp-menu-display-on-pages').val(),\n 'menu_show_on': jQuery('.rmp-menu-display-option').val(),\n 'menu_theme': themeName,\n 'theme_type': jQuery('.rmp-theme-option:checked').attr('theme-type')\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery(e.currentTarget).prop('disabled', true);\n jQuery('.spinner').addClass('is-active');\n },\n error: function error(_error) {\n console.log('Internal Error !');\n jQuery('#rmp-create-new-menu').prop('disabled', false);\n jQuery('.spinner').removeClass('is-active');\n },\n success: function success(response) {\n jQuery('.spinner').removeClass('is-active');\n jQuery('#rmp-create-new-menu').prop('disabled', false);\n\n if (response.success) {\n window.location.href = response.data.customize_url;\n } else {\n alert(response.data.message);\n }\n }\n });\n }); //Ajax call to upload the theme.\n\n jQuery('#rmp-theme-upload').on('click', function (e) {\n e.preventDefault();\n var formData = new FormData();\n var file = jQuery('#rmp_menu_theme_zip').prop('files')[0];\n formData.append('file', file);\n formData.append('action', 'rmp_menu_theme_upload');\n formData.append('ajax_nonce', rmpObject.ajax_nonce);\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: formData,\n type: 'POST',\n processData: false,\n contentType: false,\n dataType: 'json',\n success: function success(response) {\n jQuery('#rmp_menu_theme_zip').val('');\n alert(response.data.message);\n\n if (response.data.html) {\n jQuery('#rmp-new-menu-wizard').find('#tabs-1').html(response.data.html);\n jQuery('#rmp-menu-library-import').addClass('hide');\n }\n }\n });\n }); //Ajax call to check the recent changes the theme api.\n\n jQuery('.rmp-call-theme-api-button').on('click', function (e) {\n if (!jQuery(e.currentTarget).hasClass('rmp-call-theme-api-button')) {\n return;\n }\n\n jQuery('#rmp-new-menu-wizard').find('.rmp-page-loader').css('display', 'flex');\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_call_theme_api',\n 'ajax_nonce': rmpObject.ajax_nonce\n },\n type: 'POST',\n dataType: 'json',\n error: function error(_error2) {\n jQuery('#rmp-new-menu-wizard').find('.rmp-page-loader').hide();\n jQuery('#rmp-new-menu-wizard').find('#tabs-2 .rmp_theme_grids').html('Internal Error !');\n },\n success: function success(response) {\n if (response.data.html) {\n jQuery('#rmp-new-menu-wizard').find('#tabs-2 .rmp_theme_grids').html(response.data.html);\n jQuery(e.currentTarget).removeClass('rmp-call-theme-api-button');\n }\n }\n });\n });\n },\n\n /**\n * Jump to the next section of wizard.\n *\n * @return {void}\n */\n nextSection: function nextSection() {\n var currectSectionIndex = jQuery('div.rmp-menu-section.current').index();\n this.goToSection(currectSectionIndex + 1);\n },\n\n /**\n * Show the indexed section in wizard.\n *\n * @return {void}\n */\n goToSection: function goToSection(currectSectionIndex) {\n if (1 <= currectSectionIndex) {\n jQuery('#rmp-create-new-menu').show();\n jQuery('#rmp-menu-next-step').hide();\n } else {\n jQuery('#rmp-create-new-menu').hide();\n jQuery('#rmp-menu-next-step').show();\n }\n\n jQuery('div.rmp-menu-section').eq(currectSectionIndex).addClass('current').siblings().removeClass('current');\n jQuery('li.rmp-new-menu-step').eq(currectSectionIndex).addClass('current').siblings().removeClass('current');\n }\n};\nrmpMenuWizard.init();\n/* harmony default export */ __webpack_exports__[\"default\"] = (rmpMenuWizard);\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/js/rmp-menu-wizard.js?")},"./assets/admin/js/rmp-preview.js":function(){eval("/**\n * This is preview scripts file for responsive menu customizer.\n *\n * @file This files defines the rmpHook object.\n * @author ExpressTech System.\n * @type {Object}\n *\n * @since 4.0.0\n *\n * @package responsive-menu\n */\n\n/**\n * Hooks class.\n *\n * @type {Object}\n *\n * @since 4.0.0\n */\nvar rmpHook = {\n hooks: [],\n isBreak: false,\n\n /**\n * Function to register the hook.\n *\n * @since 4.0.0\n *\n * @param String name Hook Name.\n * @param function callback Associated function.\n */\n register: function register(name, callback) {\n if ('undefined' == typeof rmpHook.hooks[name]) {\n rmpHook.hooks[name] = [];\n }\n\n rmpHook.hooks[name].push(callback);\n },\n\n /**\n * Function to call the hook.\n *\n * @since 4.0.0\n *\n * @param String name Hook Name.\n * @param function params Paramter list.\n */\n call: function call(name, params) {\n if ('undefined' != typeof rmpHook.hooks[name]) {\n for (var i = 0; i < rmpHook.hooks[name].length; ++i) {\n var output = rmpHook.hooks[name][i](params);\n\n if (false == output) {\n rmpHook.isBreak = true;\n return false;\n }\n\n return output;\n }\n }\n\n return true;\n }\n};\n/**\n * Register function to color the menu elements.\n *\n * @since 4.0.0\n *\n * @param {Object} args List of inputs.\n * @return {String}\n */\n\nrmpHook.register('rmp_color_style', function (args) {\n if (!args) {\n return false;\n } // Set the state/pseudo class.\n\n\n if ('hover' == args.state) {\n args.outputSelector = args.outputSelector + ':hover';\n } else if ('placeholder' == args.state) {\n args.outputSelector = args.outputSelector + '::placeholder';\n } else if ('before' == args.state) {\n args.outputSelector = args.outputSelector + '::before';\n } else if ('after' == args.state) {\n args.outputSelector = args.outputSelector + '::after';\n } //Prepare css string and return.\n\n\n return args.outputSelector + '{ ' + args.attr + ' : ' + args.value + ';}';\n});\n/**\n * rmpPreview class\n *\n * @since 4.0.0\n *\n * @type {Object}\n */\n\nwindow.RMP_Preview = {\n iframe: '#rmp-preview-iframe',\n menuId: jQuery('#menu_id').val(),\n mobile_breakpoint: jQuery('#rmp-menu-mobile-breakpoint').val() + 'px',\n tablet_breakpoint: jQuery('#rmp-menu-tablet-breakpoint').val() + 'px',\n active_device: jQuery('#rmp_device_mode'),\n menuContainer: '#rmp-container-' + self.menuId,\n onTyping: function onTyping(inputSelector, outputSelector, type) {\n var meta = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var self = this;\n var iframe = jQuery(self.iframe);\n jQuery(inputSelector).on('keyup change paste', function () {\n switch (type) {\n case 'border-radius':\n var value = jQuery(this).val();\n css = outputSelector + '{ border-radius : ' + value + 'px;}';\n self.inlineCssInjector(css);\n break;\n\n case 'section-padding':\n var value = jQuery(this).val();\n var is_linked = jQuery(this).parents('.rmp-input-group-control').find('.rmp-group-input-linked').hasClass('is-linked');\n var attr = 'padding';\n\n if (!is_linked) {\n pos = jQuery(this).attr('data-input');\n attr = attr + '-' + pos;\n }\n\n css = outputSelector + '{ ' + attr + ' : ' + value + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-text':\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).html(this.value);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').before('<div class=\"rmp-trigger-label rmp-trigger-label-top\"><span class=\"rmp-trigger-text\">\"' + this.value + '\"</span></div>');\n }\n\n break;\n\n case 'trigger-text-open':\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).html(this.value);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').before('<div class=\"rmp-trigger-label rmp-trigger-label-top\"><span class=\"rmp-trigger-text-open\">\"' + this.value + '\"</span></div>');\n }\n\n break;\n\n case 'text':\n iframe.contents().find(outputSelector).html(this.value);\n break;\n\n case 'placeholder':\n iframe.contents().find(outputSelector).attr('placeholder', this.value);\n break;\n\n case 'href':\n iframe.contents().find(outputSelector).attr('href', this.value);\n break;\n\n case 'font-size':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n var value = jQuery(this).val();\n css = outputSelector + '{ font-size : ' + (value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'width':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit) {\n unit = 'px';\n }\n\n css = outputSelector + '{ width : ' + (this.value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'height':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n css = outputSelector + '{ height : ' + (this.value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'line-height':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n css = outputSelector + '{ line-height : ' + (this.value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'min-width':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n css = outputSelector + '{ min-width : ' + (this.value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'max-width':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit.length) {\n unit = 'px';\n }\n\n css = outputSelector + '{ max-width : ' + (this.value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-side-position':\n side = jQuery('#rmp-menu-button-left-or-right').val();\n unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();\n value = jQuery('#rmp-menu-button-distance-from-side').val();\n css = outputSelector + '{ ' + side + ' :' + (value + unit) + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'top':\n value = jQuery(this).val();\n unit = jQuery('#rmp-menu-button-top-unit').val();\n css = outputSelector + '{ top :' + (value + unit) + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'border-width':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit) {\n unit = 'px';\n }\n\n css = outputSelector + '{ border-width : ' + (this.value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'padding':\n var unit = jQuery(this).next('.is-unit').val();\n\n if (!unit) {\n unit = 'px';\n }\n\n if (meta == 'lr') {\n css = outputSelector + '{ padding : 0 ' + (this.value + unit) + ';}';\n }\n\n self.inlineCssInjector(css);\n break;\n }\n });\n },\n bindImage: function bindImage(inputSelector, outputSelector, type) {\n var self = this;\n var iframe = jQuery(self.iframe);\n jQuery(document).on('click', inputSelector, function (e) {\n e.preventDefault();\n var button = jQuery(this),\n custom_uploader = wp.media({\n title: 'Select image',\n library: {\n type: 'image'\n },\n button: {\n text: 'Use this image'\n },\n multiple: false\n }).on('select', function () {\n var attachment = custom_uploader.state().get('selection').first().toJSON();\n jQuery(e.target).prev('input.rmp-image-url-input').val(attachment.url);\n jQuery(e.target).css('background-image', 'url(' + attachment.url + ')');\n jQuery(e.target).append('<i class=\"rmp-image-picker-trash dashicons dashicons-trash\" aria-hidden=\"true\"></i>');\n\n if (type == 'img-src') {\n iframe.contents().find(outputSelector).attr('src', attachment.url);\n } else if (type == 'background') {\n css = outputSelector + '{ background-image : url(' + attachment.url + ');}';\n self.inlineCssInjector(css);\n } else if (type == 'trigger-icon') {\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).attr('src', attachment.url);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').append('<img class=\"rmp-trigger-icon rmp-trigger-icon-inactive\" src=\"' + attachment.url + '\"/>');\n }\n } else if (type == 'trigger-icon-open') {\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).attr('src', attachment.url);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').append('<img class=\"rmp-trigger-icon rmp-trigger-icon-active\" src=\"' + attachment.url + '\"/>');\n }\n }\n }).open();\n });\n },\n toggleElements: function toggleElements(inputSelector, outputSelector) {\n var self = this;\n jQuery(inputSelector).on('change', function (e) {\n e.preventDefault();\n e.stopPropagation();\n var iframe = jQuery(self.iframe);\n\n if (iframe.contents().find(outputSelector).length) {\n if (jQuery(this).is(':checked')) {\n iframe.contents().find(outputSelector).fadeIn(500);\n } else {\n iframe.contents().find(outputSelector).fadeOut(500);\n }\n } else {\n e.preventDefault();\n var menuId = jQuery('#menu_id').val(),\n toggle_on = jQuery(this).data('toggle');\n jQuery.ajax({\n url: rmpObject.ajaxURL,\n data: {\n 'action': 'rmp_enable_menu_item',\n 'ajax_nonce': rmpObject.ajax_nonce,\n 'menu_id': menuId,\n 'menu_element': toggle_on\n },\n type: 'POST',\n dataType: 'json',\n beforeSend: function beforeSend() {\n jQuery(this).prop('disabled', true);\n jQuery('#iframe-spinner').show();\n },\n error: function error(_error) {\n console.log('Internal Error !');\n jQuery(this).prop('disabled', false);\n jQuery('#iframe-spinner').hide();\n },\n success: function success(response) {\n if (response.data.markup) {\n iframe.contents().find('#rmp-container-' + self.menuId).append(response.data.markup);\n self.orderMenuElements();\n }\n\n jQuery(this).prop('disabled', false);\n jQuery('#iframe-spinner').hide();\n }\n });\n }\n });\n },\n orderMenuElements: function orderMenuElements() {\n var list = [];\n var self = this;\n var iframeContents = jQuery(self.iframe).contents();\n jQuery('#tab-container .item-title').each(function () {\n var val = jQuery(this).text().toLocaleLowerCase().trim();\n\n if (val == 'title') {\n list.push(iframeContents.find(self.menuTitle));\n iframeContents.find(self.menuTitle).remove();\n } else if (val == 'search') {\n list.push(iframeContents.find(self.menuSearch));\n iframeContents.find(self.menuSearch).remove();\n } else if (val == 'menu') {\n list.push(iframeContents.find(self.menuWrap));\n iframeContents.find(self.menuWrap).remove();\n } else {\n list.push(iframeContents.find(self.menuContents));\n iframeContents.find(self.menuContents).remove();\n }\n });\n list.forEach(function (menuElement) {\n iframeContents.find(self.menuContainer).append(menuElement);\n });\n },\n\n /**\n * Function to bind the color input with option and elements.\n *\n * @version 4.0.0\n *\n * @param {String} inputSelector\n * @param {String} outputSelector\n * @param {String} attr\n * @param {String} state\n */\n bindColor: function bindColor(inputSelector, outputSelector, attr, state) {\n var self = this;\n jQuery(inputSelector).wpColorPicker({\n change: function change(event, ui) {\n var value = ui.color.toString();\n var css = rmpHook.call('rmp_color_style', {\n 'outputSelector': outputSelector,\n 'attr': attr,\n 'value': value,\n 'state': state\n });\n\n if (jQuery(inputSelector).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n }\n });\n },\n mediaQuery: function mediaQuery(css) {\n var self = this;\n self.tablet_breakpoint = jQuery('#rmp-menu-tablet-breakpoint').val() + 'px';\n css = '@media screen and (max-width: ' + self.tablet_breakpoint + ' ) {' + css + '}';\n return css;\n },\n inlineCssInjector: function inlineCssInjector(css) {\n var self = this;\n var iframe = jQuery(self.iframe);\n var styleElement = iframe.contents().find('#rmp-inline-css-' + self.menuId);\n\n if (styleElement.length) {\n styleElement.append(css);\n } else {\n style = '<style id=\"rmp-inline-css-' + self.menuId + '\">' + css + '</style>';\n iframe.contents().find('head').append(style);\n }\n },\n changeInput: function changeInput(inputSelector, outputSelector, attr) {\n var meta = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var self = this;\n var iframe = jQuery(self.iframe);\n jQuery(inputSelector).on('change', function (e) {\n switch (attr) {\n case 'height-unit':\n value = jQuery(this).prev('input').val();\n unit = jQuery(this).val();\n css = outputSelector + '{ height : ' + (value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'line-height-unit':\n value = jQuery(this).prev('input').val();\n unit = jQuery(this).val();\n css = outputSelector + '{ line-height : ' + (value + unit) + ';}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'width-unit':\n var value = jQuery(this).prev('input').val();\n var unit = jQuery(this).val();\n css = outputSelector + '{ width : ' + (value + unit) + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'font-size':\n value = jQuery(this).prev('input').val();\n unit = jQuery(this).val();\n css = outputSelector + '{ font-size :' + value + unit + ' !important;}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'font-family':\n value = jQuery(this).val();\n css = outputSelector + '{ font-family :' + value + ' !important;}';\n\n if (jQuery(this).attr('multi-device')) {\n css = self.mediaQuery(css);\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'font-weight':\n value = jQuery(this).val();\n css = outputSelector + '{ font-weight :' + value + ';}';\n self.inlineCssInjector(css);\n break;\n\n case 'padding-unit':\n var unit = jQuery(this).val();\n var value = jQuery(this).prev('input').val();\n\n if (!unit) {\n unit = 'px';\n }\n\n if (meta == 'lr') {\n css = outputSelector + '{ padding : 0 ' + (value + unit) + ';}';\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'letter-spacing':\n value = jQuery(this).val();\n css = outputSelector + '{ letter-spacing :' + value + 'px; }';\n self.inlineCssInjector(css);\n break;\n\n case 'position-alignment':\n if (iframe.contents().find(outputSelector).length) {\n position = jQuery(this).val();\n var rmpTriggerBox = iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box');\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').remove();\n\n if (position == 'top' || position == 'left') {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId).append(rmpTriggerBox);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId).prepend(rmpTriggerBox);\n }\n }\n\n break;\n\n case 'trigger-animation':\n value = jQuery(this).val();\n var new_class = 'rmp-menu-trigger-' + value;\n all_class = iframe.contents().find(outputSelector).attr('class').split(\" \");\n all_class.forEach(function (value) {\n if (value.includes('rmp-menu-trigger-')) {\n iframe.contents().find(outputSelector).removeClass(value);\n iframe.contents().find(outputSelector).addClass(new_class);\n }\n });\n break;\n\n case 'top':\n var unit = jQuery(this).val();\n value = jQuery(this).prev('input').val();\n css = outputSelector + '{ top :' + (value + unit) + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-side-position':\n side = jQuery('#rmp-menu-button-left-or-right').val();\n unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();\n value = jQuery('#rmp-menu-button-distance-from-side').val();\n css = outputSelector + '{ ' + side + ' :' + (value + unit) + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-side':\n side = jQuery(this).val();\n value = jQuery('#rmp-menu-button-distance-from-side').val();\n unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();\n\n if (side == 'left') {\n css = outputSelector + '{' + side + ':' + (value + unit) + ' !important;right:unset !important}';\n } else {\n css = outputSelector + '{' + side + ':' + (value + unit) + ' !important;left:unset !important}';\n }\n\n self.inlineCssInjector(css);\n break;\n\n case 'position':\n value = jQuery(this).val();\n css = outputSelector + '{ position :' + value + ' !important;}';\n self.inlineCssInjector(css);\n break;\n\n case 'trigger-background':\n if (jQuery(this).is(':checked')) {\n iframe.contents().find(outputSelector).attr('style', 'background:unset !important;');\n } else {\n iframe.contents().find(outputSelector).removeAttr('style');\n }\n\n break;\n\n case 'target':\n var value = jQuery(this).val();\n\n if (!value.length) {\n value = '_self';\n }\n\n iframe.contents().find(outputSelector).attr('target', value);\n break;\n\n case 'text-align':\n var value = jQuery(this).val();\n iframe.contents().find(outputSelector).css({\n 'text-align': value\n });\n break;\n }\n });\n },\n init: function init() {\n var self = this; //Mobile menu elements.\n\n self.menuContainer = '#rmp-container-' + self.menuId;\n self.menuTitle = '#rmp-menu-title-' + self.menuId;\n self.menuSearch = '#rmp-search-box-' + self.menuId;\n self.menuWrap = '#rmp-menu-wrap-' + self.menuId;\n self.menuContents = '#rmp-menu-additional-content-' + self.menuId; //Menu container background color.\n\n self.bindColor('#rmp-container-background-colour', '#rmp-container-' + self.menuId, 'background', ''); //Menu background.\n\n self.bindColor('#rmp-menu-background-colour', '#rmp-menu-wrap-' + self.menuId, 'background'); //Menu title section background color.\n\n self.bindColor('#rmp-menu-title-background-colour', '#rmp-menu-title-' + self.menuId, 'background'); //Menu title section background hover color.\n\n self.bindColor('#rmp-menu-title-background-hover-colour', '#rmp-menu-title-' + self.menuId, 'background', 'hover'); // Menu item trigger\n\n self.bindColor('#rmp-menu-sub-arrow-shape-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'color');\n self.bindColor('#rmp-menu-sub-arrow-shape-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'color', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-shape-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active', 'color');\n self.bindColor('#rmp-menu-sub-arrow-shape-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active', 'color', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-border-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'border-color');\n self.bindColor('#rmp-menu-sub-arrow-border-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'border-color', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-border-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow-active', 'border-color');\n self.bindColor('#rmp-menu-sub-arrow-border-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow-active', 'border-color', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-background-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'background');\n self.bindColor('#rmp-menu-sub-arrow-background-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'background', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-background-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active', 'background');\n self.bindColor('#rmp-menu-sub-arrow-background-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active', 'background', 'hover'); //Legacy options\n\n self.bindColor('#rmp-submenu-sub-arrow-shape-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'color');\n self.bindColor('#rmp-submenu-sub-arrow-shape-colour-hover', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'color', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-shape-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'color');\n self.bindColor('#rmp-submenu-sub-arrow-shape-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'color', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-border-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'border-color');\n self.bindColor('#rmp-submenu-sub-arrow-border-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'border-color', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-border-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow.rmp-menu-subarrow-active', 'border-color');\n self.bindColor('#rmp-submenu-sub-arrow-border-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'border-color', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-background-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'background');\n self.bindColor('#rmp-submenu-sub-arrow-background-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'background', 'hover');\n self.bindColor('#rmp-submenu-sub-arrow-background-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'background');\n self.bindColor('#rmp-submenu-sub-arrow-background-hover-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active', 'background', 'hover');\n self.bindColor('#rmp-menu-title-colour', '#rmp-menu-title-' + self.menuId + ' > a', 'color');\n self.bindColor('#rmp-menu-title-hover-colour', '#rmp-menu-title-' + self.menuId + ' > a', 'color', 'hover');\n self.bindColor('#rmp-menu-additional-content-color', '#rmp-container-' + self.menuId + ' #rmp-menu-additional-content-' + self.menuId, 'color');\n self.bindColor('#rmp-menu-search-box-text-colour', '#rmp-container-' + self.menuId + ' #rmp-search-box-' + self.menuId + ' .rmp-search-box', 'color');\n self.bindColor('#rmp-menu-search-box-background-colour', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'background');\n self.bindColor('#rmp-menu-search-box-border-colour', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'border-color');\n self.bindColor('#rmp-menu-search-box-placeholder-colour', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'color', 'placeholder');\n self.changeInput('#rmp-menu-title-font-weight', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link', 'font-weight');\n self.changeInput('#rmp-menu-title-font-family', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link', 'font-family'); //Menu Trigger\n\n self.bindColor('#rmp-menu-button-background-colour', '#rmp_menu_trigger-' + self.menuId, 'background', '');\n self.bindColor('#rmp-menu-button-background-colour-hover', '#rmp_menu_trigger-' + self.menuId, 'background-color', 'hover');\n self.bindColor('#rmp-menu-button-background-colour-active', '#rmp_menu_trigger-' + self.menuId + '.is-active', 'background', '');\n self.bindColor('#rmp-menu-button-line-colour', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner,#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:after,#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:before', 'background', '');\n self.bindColor('#rmp-menu-button-line-colour-active', '.is-active#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner,.is-active#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:after,.is-active#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:before', 'background', '');\n self.bindColor('#rmp-menu-button-line-colour-hover', '#rmp_menu_trigger-' + self.menuId + ':hover .responsive-menu-pro-inner,#rmp_menu_trigger-' + self.menuId + ':hover .responsive-menu-pro-inner:after,#rmp_menu_trigger-' + self.menuId + ':hover .responsive-menu-pro-inner:before', 'background', '');\n self.bindColor('#rmp-menu-button-text-colour', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'color');\n self.onTyping('#rmp-menu-toggle-border-radius', '#rmp_menu_trigger-' + self.menuId, 'border-radius');\n self.onTyping('.rmp-menu-container-padding', '#rmp-container-' + self.menuId, 'section-padding');\n self.onTyping('.rmp-menu-title-section-padding', '#rmp-menu-title-' + self.menuId, 'section-padding');\n self.onTyping('.rmp-menu-section-padding', '#rmp-menu-wrap-' + self.menuId, 'section-padding');\n self.onTyping('.rmp-menu-search-section-padding', '#rmp-search-box-' + self.menuId, 'section-padding');\n self.onTyping('.rmp-menu-additional-section-padding', '#rmp-menu-additional-content-' + self.menuId, 'section-padding'); // CONTENT BASED ELEMENTS.\n\n self.onTyping('#rmp-menu-search-box-height', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'height');\n self.onTyping('#rmp-menu-search-box-border-radius', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'border-radius');\n self.onTyping('#rmp-menu-menu-title', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link span', 'text');\n self.onTyping('#rmp-menu-additional-content', '#rmp-menu-additional-content-' + self.menuId, 'text');\n self.onTyping('#rmp-menu-search-box-text', '#rmp-search-box-' + self.menuId + ' .rmp-search-box', 'placeholder');\n self.onTyping('#rmp-menu-title-link', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link', 'href');\n self.onTyping('#rmp-menu-title-image-alt', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'alt');\n self.onTyping('#rmp-menu-title-font-size', '#rmp-menu-title-' + self.menuId + ' > a', 'font-size');\n self.onTyping('#rmp-menu-title-image-width', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'width');\n self.onTyping('#rmp-menu-title-image-height', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'height');\n self.bindImage('#rmp-menu-title-image-selector', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src');\n self.onTyping('#rmp-menu-additional-content-font-size', '#rmp-menu-additional-content-' + self.menuId, 'font-size');\n self.onTyping('#rmp-menu-container-width', '#rmp-container-' + self.menuId, 'width');\n self.onTyping('#rmp-menu-container-min-width', '#rmp-container-' + self.menuId, 'min-width');\n self.onTyping('#rmp-menu-container-max-width', '#rmp-container-' + self.menuId, 'max-width');\n self.onTyping('#rmp-menu-button-image-alt-when-clicked', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'alt');\n self.onTyping('#rmp-menu-button-image-alt', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'alt');\n self.onTyping('#rmp-menu-button-title-open', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-text-open', 'trigger-text-open');\n self.onTyping('#rmp-menu-button-title', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-text', 'trigger-text');\n self.onTyping('#rmp-menu-button-font-size', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'font-size');\n self.onTyping('#rmp-menu-button-title-line-height', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'line-height'); //Menu Trigger\n\n self.onTyping('#rmp-menu-button-width', '#rmp_menu_trigger-' + self.menuId, 'width');\n self.onTyping('#rmp-menu-button-height', '#rmp_menu_trigger-' + self.menuId, 'height');\n self.onTyping('#rmp-menu-button-line-width', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner', 'width');\n self.onTyping('#rmp-menu-button-line-width', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:after', 'width');\n self.onTyping('#rmp-menu-button-line-width', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:before', 'width');\n self.onTyping('#rmp-menu-button-line-height', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner', 'height');\n self.onTyping('#rmp-menu-button-line-height', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:after', 'height');\n self.onTyping('#rmp-menu-button-line-height', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner:before', 'height');\n self.bindImage('#rmp-button-title-image', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src');\n self.bindImage('#rmp-menu-background-image-selector', '#rmp-container-' + self.menuId, 'background');\n self.bindImage('#rmp-menu-button-image-when-clicked-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'trigger-icon-open');\n self.bindImage('#rmp-menu-button-image-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'trigger-icon');\n self.changeInput('#rmp-menu-title-link-location', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link', 'target');\n self.changeInput('.rmp-menu-title-alignment', '#rmp-menu-title-' + self.menuId, 'text-align');\n self.changeInput('.rmp-menu-additional-content-alignment', '#rmp-menu-additional-content-' + self.menuId, 'text-align'); //Top menu item links\n\n self.onTyping('#rmp-menu-links-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'height');\n self.onTyping('#rmp-menu-links-line-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'line-height');\n self.onTyping('#rmp-menu-font-size', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'font-size');\n self.changeInput('#rmp-menu-font', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-family');\n self.changeInput('#rmp-menu-font-weight', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-weight');\n self.changeInput('.rmp-menu-text-alignment', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'text-align');\n self.changeInput('#rmp-menu-text-letter-spacing', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'letter-spacing');\n self.onTyping('#rmp-menu-depth-level-0', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'padding', 'lr');\n self.onTyping('#rmp-menu-border-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'border-width');\n self.onTyping('#rmp-menu-sub-arrow-border-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'border-width');\n self.onTyping('#rmp-submenu-sub-arrow-border-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'border-width');\n self.bindColor('#rmp-menu-link-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'color');\n self.bindColor('#rmp-menu-link-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'color', 'hover');\n self.bindColor('#rmp-menu-current-link-active-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'color');\n self.bindColor('#rmp-menu-current-link-active-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'color', 'hover');\n self.bindColor('#rmp-menu-item-background-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'background');\n self.bindColor('#rmp-menu-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'background', 'hover');\n self.bindColor('#rmp-menu-current-item-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'background');\n self.bindColor('#rmp-menu-current-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'background', 'hover');\n self.bindColor('#rmp-menu-item-border-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'border-color');\n self.bindColor('#rmp-menu-item-border-colour-hover', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'border-color', 'hover');\n self.bindColor('#rmp-menu-current-item-border-hover-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'border-color', 'hover');\n self.bindColor('#rmp-menu-item-border-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'border-color'); // Trigger of top level\n\n self.bindImage('#rmp-menu-inactive-arrow-image-selector', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background');\n self.bindImage('#rmp-menu-active-arrow-image-selector', '#rmp-container-' + self.menuId + ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background');\n self.onTyping('#rmp-submenu-arrow-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'height');\n self.onTyping('#rmp-submenu-arrow-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow', 'width');\n self.onTyping('#rmp-submenu-child-arrow-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'height');\n self.onTyping('#rmp-submenu-child-arrow-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'width');\n self.changeInput('#rmp-submenu-child-arrow-width-unit', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'width-unit');\n self.changeInput('#rmp-submenu-child-arrow-height-unit', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow', 'height-unit');\n self.bindColor('#rmp-menu-sub-arrow-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background');\n self.bindColor('#rmp-menu-sub-arrow-background-hover-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background', 'hover');\n self.bindColor('#rmp-menu-sub-arrow-background-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background');\n self.bindColor('#rmp-menu-sub-arrow-background-hover-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background', 'hover'); //sub menu item links\n\n self.onTyping('#rmp-submenu-links-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'height');\n self.changeInput('#rmp-submenu-links-height-unit', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'height-unit');\n self.onTyping('#rmp-submenu-links-line-height', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'line-height');\n self.changeInput('#rmp-submenu-links-line-height-unit', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'line-height-unit');\n self.onTyping('#rmp-submenu-font-size', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'font-size');\n self.changeInput('#rmp-submenu-font', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'font-family');\n self.changeInput('#rmp-submenu-font-weight', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'font-weight');\n self.changeInput('.rmp-submenu-text-alignment', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'text-align');\n self.changeInput('#rmp-submenu-text-letter-spacing', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'letter-spacing');\n self.onTyping('#rmp-submenu-border-width', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'border-width');\n self.bindColor('#rmp-submenu-item-border-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'border-color');\n self.bindColor('#rmp-submenu-item-border-colour-hover', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'border-color', 'hover');\n self.bindColor('#rmp-submenu-item-border-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'border-color');\n self.bindColor('#rmp-submenu-current-item-border-hover-colour', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'border-color', 'hover');\n self.bindColor('#rmp-submenu-link-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'color');\n self.bindColor('#rmp-submenu-link-hover-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'color', 'hover');\n self.bindColor('#rmp-submenu-link-colour-active', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'color');\n self.bindColor('#rmp-submenu-link-active-hover-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'color', 'hover');\n self.bindColor('#rmp-submenu-item-background-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'background');\n self.bindColor('#rmp-submenu-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link', 'background', 'hover');\n self.bindColor('#rmp-submenu-current-item-background-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'background');\n self.bindColor('#rmp-submenu-current-item-background-hover-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link', 'background', 'hover'); //Menu Trigger\n\n self.changeInput('.rmp-menu-button-transparent-background', '#rmp_menu_trigger-' + self.menuId, 'background', '');\n self.changeInput('#rmp-menu-button-position-type', '#rmp_menu_trigger-' + self.menuId, 'position');\n self.changeInput('.rmp-menu-button-left-or-right', '#rmp_menu_trigger-' + self.menuId, 'trigger-side');\n self.onTyping('#rmp-menu-button-distance-from-side', '#rmp_menu_trigger-' + self.menuId, 'trigger-side-position');\n self.onTyping('#rmp-menu-button-top', '#rmp_menu_trigger-' + self.menuId, 'top');\n self.changeInput('#rmp-menu-button-click-animation', '#rmp_menu_trigger-' + self.menuId, 'trigger-animation');\n self.changeInput('#rmp-menu-button-font', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'font-family');\n self.changeInput('.rmp-menu-button-title-position', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'position-alignment');\n jQuery(\"#rmp-menu-button-font-icon\").focus(function () {\n var outputSelector = '#rmp_menu_trigger-' + self.menuId + ' span.rmp-trigger-icon-inactive';\n value = jQuery(this).val();\n var iframe = jQuery(self.iframe);\n\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).addClass(value);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box img.rmp-trigger-icon').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').append('<span class=\"rmp-trigger-icon rmp-trigger-icon-inactive ' + value + '\"></span>');\n }\n });\n jQuery(\"#rmp-menu-button-font-icon-when-clicked\").focus(function () {\n var outputSelector = '#rmp_menu_trigger-' + self.menuId + ' span.rmp-trigger-icon-active';\n value = jQuery(this).val();\n var iframe = jQuery(self.iframe);\n\n if (iframe.contents().find(outputSelector).length) {\n iframe.contents().find(outputSelector).addClass(value);\n } else {\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box img.rmp-trigger-icon').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner').hide();\n iframe.contents().find('#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box').append('<span class=\"rmp-trigger-icon rmp-trigger-icon-active ' + value + '\"></span>');\n }\n }); // Ordering elements\n\n self.toggleElements('#rmp-item-order-title', '#rmp-menu-title-' + self.menuId);\n self.toggleElements('#rmp-item-order-additional-content', '#rmp-menu-additional-content-' + self.menuId);\n self.toggleElements('#rmp-item-order-search', '#rmp-search-box-' + self.menuId);\n self.toggleElements('#rmp-item-order-menu', '#rmp-menu-wrap-' + self.menuId);\n jQuery('#rmp-menu-ordering-items').sortable({\n update: function update(event, ui) {\n self.orderMenuElements();\n }\n });\n }\n};\nRMP_Preview.init();\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/js/rmp-preview.js?")},"./assets/admin/js/wp-color-alpha.js":function(){eval("/**!\n * wp-color-picker-alpha\n *\n * Overwrite Automattic Iris for enabled Alpha Channel in wpColorPicker\n * Only run in input and is defined data alpha in true\n *\n * Version: 2.1.4\n * https://github.com/kallookoo/wp-color-picker-alpha\n * Licensed under the GPLv2 license or later.\n */\n(function ($) {\n // Prevent double-init.\n if ($.wp.wpColorPicker.prototype._hasAlpha) {\n return;\n } // Variable for some backgrounds ( grid )\n\n\n var image = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAAHnlligAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNpi+P///4EDBxiAGMgCCCAGFB5AADGCRBgYDh48CCRZIJS9vT2QBAggFBkmBiSAogxFBiCAoHogAKIKAlBUYTELAiAmEtABEECk20G6BOmuIl0CIMBQ/IEMkO0myiSSraaaBhZcbkUOs0HuBwDplz5uFJ3Z4gAAAABJRU5ErkJggg==',\n //Dtml stuff for wpColorPicker copy of the original color-picker.js\n _after = '<div class=\"wp-picker-holder\" />',\n _wrap = '<div class=\"wp-picker-container\" />',\n _before = '<button type=\"button\" class=\"button wp-color-result\" aria-expanded=\"false\"></button>',\n _wrappingLabel = '<label></label>',\n _wrappingLabelText = '<span class=\"screen-reader-text\"></span>';\n /**\n * Overwrite Color\n * for enable support rbga\n */\n\n Color.fn.toString = function () {\n if (this._alpha < 1) return this.toCSS('rgba', this._alpha).replace(/\\s+/g, '');\n var hex = parseInt(this._color, 10).toString(16);\n if (this.error) return '';\n if (hex.length < 6) hex = ('00000' + hex).substr(-6);\n return '#' + hex;\n };\n /**\n * Overwrite wpColorPicker\n */\n\n\n $.widget('wp.wpColorPicker', $.wp.wpColorPicker, {\n _hasAlpha: true,\n\n /**\n * @summary Creates the color picker.\n *\n * Creates the color picker, sets default values, css classes and wraps it all in HTML.\n *\n * @since 3.5.0\n *\n * @access private\n *\n * @returns {void}\n */\n _create: function _create() {\n // Return early if Iris support is missing.\n if (!$.support.iris) {\n return;\n }\n\n var self = this,\n el = self.element; // Override default options with options bound to the element.\n\n $.extend(self.options, el.data()); // Create a color picker which only allows adjustments to the hue.\n\n if (self.options.type === 'hue') {\n return self._createHueOnly();\n } // Bind the close event.\n\n\n self.close = $.proxy(self.close, self);\n self.initialValue = el.val(); // Add a CSS class to the input field.\n\n el.addClass('wp-color-picker');\n /*\n \t* Check if there's already a wrapping label, e.g. in the Customizer.\n \t* If there's no label, add a default one to match the Customizer template.\n \t*/\n\n if (!el.parent('label').length) {\n // Wrap the input field in the default label.\n el.wrap(_wrappingLabel); // Insert the default label text.\n\n self.wrappingLabelText = $(_wrappingLabelText).insertBefore(el).text('Color Picker');\n }\n /*\n \t* At this point, either it's the standalone version or the Customizer\n \t* one, we have a wrapping label to use as hook in the DOM, let's store it.\n \t*/\n\n\n self.wrappingLabel = el.parent(); // Wrap the label in the main wrapper.\n\n self.wrappingLabel.wrap(_wrap); // Store a reference to the main wrapper.\n\n self.wrap = self.wrappingLabel.parent(); // Set up the toggle button and insert it before the wrapping label.\n\n self.toggler = $(_before).insertBefore(self.wrappingLabel).css({\n backgroundColor: self.initialValue\n }); // Set up the Iris container and insert it after the wrapping label.\n\n self.pickerContainer = $(_after).insertAfter(self.wrappingLabel); // Wrap the wrapping label in its wrapper and append the Clear/Default button.\n\n self.wrappingLabel.wrap('<span class=\"wp-picker-input-wrap hidden rmp-color-input-wrap\" />');\n /*\n * The input wrapper now contains the label+input+Clear/Default button.\n * Store a reference to the input wrapper: we'll use this to toggle\n * the controls visibility.\n */\n\n self.inputWrapper = el.closest('.wp-picker-input-wrap');\n el.iris({\n target: self.pickerContainer,\n hide: self.options.hide,\n width: 240,\n mode: self.options.mode,\n palettes: self.options.palettes,\n\n /**\n * @summary Handles the onChange event if one has been defined in the options.\n *\n * Handles the onChange event if one has been defined in the options and additionally\n * sets the background color for the toggler element.\n *\n * @since 3.5.0\n *\n * @param {Event} event The event that's being called.\n * @param {HTMLElement} ui The HTMLElement containing the color picker.\n *\n * @returns {void}\n */\n change: function change(event, ui) {\n if (self.options.alpha) {\n self.toggler.css({\n 'background-image': 'url(' + image + ')'\n });\n self.toggler.css({\n 'position': 'relative'\n });\n\n if (self.toggler.find('span.color-alpha').length == 0) {\n self.toggler.append('<span class=\"color-alpha\" />');\n }\n\n self.toggler.find('span.color-alpha').css({\n 'width': '38px',\n 'height': '100%',\n 'position': 'absolute',\n 'top': 0,\n 'left': 0,\n 'background': ui.color.toString()\n });\n } else {\n self.toggler.css({\n backgroundColor: ui.color.toString()\n });\n }\n\n if ($.isFunction(self.options.change)) {\n self.options.change.call(this, event, ui);\n }\n }\n });\n el.val(self.initialValue);\n\n self._addListeners(); // Force the color picker to always be closed on initial load.\n\n\n if (!self.options.hide) {\n self.toggler.click();\n }\n },\n\n /**\n * @summary Binds event listeners to the color picker.\n *\n * @since 3.5.0\n *\n * @access private\n *\n * @returns {void}\n */\n _addListeners: function _addListeners() {\n var self = this;\n /**\n * @summary Prevent any clicks inside this widget from leaking to the top and closing it.\n *\n * @since 3.5.0\n *\n * @param {Event} event The event that's being called.\n *\n * @returs {void}\n */\n\n self.wrap.on('click.wpcolorpicker', function (event) {\n event.stopPropagation();\n });\n /**\n * @summary Open or close the color picker depending on the class.\n *\n * @since 3.5\n */\n\n self.toggler.click(function () {\n if (self.toggler.hasClass('wp-picker-open')) {\n self.close();\n } else {\n self.open();\n }\n });\n /**\n * @summary Checks if value is empty when changing the color in the color picker.\n *\n * Checks if value is empty when changing the color in the color picker.\n * If so, the background color is cleared.\n *\n * @since 3.5.0\n *\n * @param {Event} event The event that's being called.\n *\n * @returns {void}\n */\n\n self.element.on('change', function (event) {\n // Empty or Error = clear\n if ($(this).val() === '' || self.element.hasClass('iris-error')) {\n if (self.options.alpha) {\n self.toggler.find('span.color-alpha').css('backgroundColor', '');\n } else {\n self.toggler.css('backgroundColor', '');\n } // fire clear callback if we have one\n\n\n if ($.isFunction(self.options.clear)) self.options.clear.call(this, event);\n }\n });\n }\n });\n /**\n * Overwrite iris\n */\n\n $.widget('a8c.iris', $.a8c.iris, {\n _create: function _create() {\n this._super(); // Global option for check is mode rbga is enabled\n\n\n this.options.alpha = this.element.data('alpha') || false; // Is not input disabled\n\n if (!this.element.is(':input')) this.options.alpha = false;\n\n if (typeof this.options.alpha !== 'undefined' && this.options.alpha) {\n var self = this,\n el = self.element,\n _html = '<div class=\"iris-strip iris-slider iris-alpha-slider\"><div class=\"iris-slider-offset iris-slider-offset-alpha\"></div></div>',\n aContainer = $(_html).appendTo(self.picker.find('.iris-picker-inner')),\n aSlider = aContainer.find('.iris-slider-offset-alpha'),\n controls = {\n aContainer: aContainer,\n aSlider: aSlider\n };\n\n if (typeof el.data('custom-width') !== 'undefined') {\n self.options.customWidth = parseInt(el.data('custom-width')) || 0;\n } else {\n self.options.customWidth = 100;\n } // Set default width for input reset\n\n\n self.options.defaultWidth = el.width(); // Update width for input\n\n if (self._color._alpha < 1 || self._color.toString().indexOf('rgb') != -1) el.width(parseInt(self.options.defaultWidth + self.options.customWidth)); // Push new controls\n\n $.each(controls, function (k, v) {\n self.controls[k] = v;\n }); // Change size strip and add margin for sliders\n\n self.controls.square.css({\n 'margin-right': '0'\n });\n var emptyWidth = self.picker.width() - self.controls.square.width() - 20,\n stripsMargin = emptyWidth / 6,\n stripsWidth = emptyWidth / 2 - stripsMargin;\n $.each(['aContainer', 'strip'], function (k, v) {\n self.controls[v].width(stripsWidth).css({\n 'margin-left': stripsMargin + 'px'\n });\n }); // Add new slider\n\n self._initControls(); // For updated widget\n\n\n self._change();\n }\n },\n _initControls: function _initControls() {\n this._super();\n\n if (this.options.alpha) {\n var self = this,\n controls = self.controls;\n controls.aSlider.slider({\n orientation: 'vertical',\n min: 0,\n max: 100,\n step: 1,\n value: parseInt(self._color._alpha * 100),\n slide: function slide(event, ui) {\n // Update alpha value\n self._color._alpha = parseFloat(ui.value / 100);\n\n self._change.apply(self, arguments);\n }\n });\n }\n },\n _change: function _change() {\n this._super();\n\n var self = this,\n el = self.element;\n\n if (this.options.alpha) {\n var controls = self.controls,\n alpha = parseInt(self._color._alpha * 100),\n color = self._color.toRgb(),\n gradient = ['rgb(' + color.r + ',' + color.g + ',' + color.b + ') 0%', 'rgba(' + color.r + ',' + color.g + ',' + color.b + ', 0) 100%'],\n defaultWidth = self.options.defaultWidth,\n customWidth = self.options.customWidth,\n target = self.picker.closest('.wp-picker-container').find('.wp-color-result'); // Generate background slider alpha, only for CSS3 old browser fuck!! :)\n\n\n controls.aContainer.css({\n 'background': 'linear-gradient(to bottom, ' + gradient.join(', ') + '), url(' + image + ')'\n });\n\n if (target.hasClass('wp-picker-open')) {\n // Update alpha value\n controls.aSlider.slider('value', alpha);\n /**\n * Disabled change opacity in default slider Saturation ( only is alpha enabled )\n * and change input width for view all value\n */\n // if ( self._color._alpha < 1 ) {\n // \tcontrols.strip.attr( 'style', controls.strip.attr( 'style' ).replace( /rgba\\(([0-9]+,)(\\s+)?([0-9]+,)(\\s+)?([0-9]+)(,(\\s+)?[0-9\\.]+)\\)/g, 'rgb($1$3$5)' ) );\n // \tel.width( parseInt( defaultWidth + customWidth ) );\n // } else {\n // \tel.width( defaultWidth );\n // }\n }\n }\n\n var reset = el.data('reset-alpha') || false;\n\n if (reset) {\n self.picker.find('.iris-palette-container').on('click.palette', '.iris-palette', function () {\n self._color._alpha = 1;\n self.active = 'external';\n\n self._change();\n });\n }\n\n el.trigger('change');\n },\n _addInputListeners: function _addInputListeners(input) {\n var self = this,\n debounceTimeout = 100,\n callback = function callback(event) {\n var color = new Color(input.val()),\n val = input.val();\n input.removeClass('iris-error'); // we gave a bad color\n\n if (color.error) {\n // don't error on an empty input\n if (val !== '') input.addClass('iris-error');\n } else {\n if (color.toString() !== self._color.toString()) {\n // let's not do this on keyup for hex shortcodes\n if (!(event.type === 'keyup' && val.match(/^[0-9a-fA-F]{3}$/))) self._setOption('color', color.toString());\n }\n }\n };\n\n input.on('change', callback).on('keyup', self._debounce(callback, debounceTimeout)); // If we initialized hidden, show on first focus. The rest is up to you.\n\n if (self.options.hide) {\n input.on('focus', function () {\n self.show();\n });\n }\n }\n });\n})(jQuery);\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/js/wp-color-alpha.js?")},"./assets/admin/rmp-main.js":function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _scss_wizard_ui_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./scss/wizard-ui.scss */ "./assets/admin/scss/wizard-ui.scss");\n/* harmony import */ var _scss_wizard_ui_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_scss_wizard_ui_scss__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _scss_dark_mode_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scss/dark-mode.scss */ "./assets/admin/scss/dark-mode.scss");\n/* harmony import */ var _scss_dark_mode_scss__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_scss_dark_mode_scss__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _js_rmp_admin_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./js/rmp-admin.js */ "./assets/admin/js/rmp-admin.js");\n/* harmony import */ var _js_rmp_admin_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_js_rmp_admin_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _js_wp_color_alpha_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./js/wp-color-alpha.js */ "./assets/admin/js/wp-color-alpha.js");\n/* harmony import */ var _js_wp_color_alpha_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_js_wp_color_alpha_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _js_rmp_editor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./js/rmp-editor.js */ "./assets/admin/js/rmp-editor.js");\n/* harmony import */ var _js_rmp_editor_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_js_rmp_editor_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _js_rmp_icon_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./js/rmp-icon.js */ "./assets/admin/js/rmp-icon.js");\n/* harmony import */ var _js_rmp_icon_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_js_rmp_icon_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _js_rmp_preview_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./js/rmp-preview.js */ "./assets/admin/js/rmp-preview.js");\n/* harmony import */ var _js_rmp_preview_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_js_rmp_preview_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _js_rmp_menu_wizard_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./js/rmp-menu-wizard.js */ "./assets/admin/js/rmp-menu-wizard.js");\n/**\n * Main scripts file.\n *\n * @package responsive-menu\n */\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/rmp-main.js?')},"./assets/admin/scss/dark-mode.scss":function(){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/scss/dark-mode.scss?")},"./assets/admin/scss/wizard-ui.scss":function(){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack://responsive-menu-pro/./assets/admin/scss/wizard-ui.scss?")}},__webpack_module_cache__={};function __webpack_require__(e){var n=__webpack_module_cache__[e];if(void 0!==n)return n.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(n,{a:n}),n},__webpack_require__.d=function(e,n){for(var r in n)__webpack_require__.o(n,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},__webpack_require__.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__("./assets/admin/rmp-main.js")})();
|
v4.0.0/assets/admin/js/rmp-menu-wizard.js
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
*
|
7 |
* @since 4.1.0
|
8 |
*
|
9 |
-
* @package responsive-menu
|
10 |
*/
|
11 |
|
12 |
'use strict';
|
6 |
*
|
7 |
* @since 4.1.0
|
8 |
*
|
9 |
+
* @package responsive-menu
|
10 |
*/
|
11 |
|
12 |
'use strict';
|
v4.0.0/assets/admin/js/rmp-preview.js
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
*
|
9 |
* @since 4.0.0
|
10 |
*
|
11 |
-
* @package responsive-menu
|
12 |
*/
|
13 |
|
14 |
/**
|
@@ -67,9 +67,9 @@ const rmpHook = {
|
|
67 |
|
68 |
/**
|
69 |
* Register function to color the menu elements.
|
70 |
-
*
|
71 |
* @since 4.0.0
|
72 |
-
*
|
73 |
* @param {Object} args List of inputs.
|
74 |
* @return {String}
|
75 |
*/
|
@@ -96,9 +96,9 @@ rmpHook.register( 'rmp_color_style', function ( args ) {
|
|
96 |
|
97 |
/**
|
98 |
* rmpPreview class
|
99 |
-
*
|
100 |
* @since 4.0.0
|
101 |
-
*
|
102 |
* @type {Object}
|
103 |
*/
|
104 |
window.RMP_Preview = {
|
@@ -133,7 +133,7 @@ window.RMP_Preview = {
|
|
133 |
break;
|
134 |
case 'trigger-text':
|
135 |
if ( iframe.contents().find(outputSelector).length ) {
|
136 |
-
iframe.contents().find(outputSelector).html(this.value);
|
137 |
} else {
|
138 |
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).before('<div class="rmp-trigger-label rmp-trigger-label-top"><span class="rmp-trigger-text">"'+ this.value + '"</span></div>')
|
139 |
}
|
@@ -141,7 +141,7 @@ window.RMP_Preview = {
|
|
141 |
|
142 |
case 'trigger-text-open':
|
143 |
if ( iframe.contents().find(outputSelector).length ) {
|
144 |
-
iframe.contents().find(outputSelector).html(this.value);
|
145 |
} else {
|
146 |
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).before('<div class="rmp-trigger-label rmp-trigger-label-top"><span class="rmp-trigger-text-open">"'+ this.value + '"</span></div>')
|
147 |
}
|
@@ -228,7 +228,7 @@ window.RMP_Preview = {
|
|
228 |
}
|
229 |
|
230 |
css = outputSelector + '{ min-width : '+ (this.value + unit) +';}';
|
231 |
-
|
232 |
self.inlineCssInjector(css);
|
233 |
|
234 |
break;
|
@@ -307,7 +307,7 @@ window.RMP_Preview = {
|
|
307 |
jQuery(e.target).prev('input.rmp-image-url-input').val(attachment.url);
|
308 |
jQuery(e.target).css('background-image', 'url(' + attachment.url + ')');
|
309 |
jQuery(e.target).append('<i class="rmp-image-picker-trash dashicons dashicons-trash" aria-hidden="true"></i>');
|
310 |
-
|
311 |
if ( type == 'img-src') {
|
312 |
iframe.contents().find(outputSelector).attr('src', attachment.url );
|
313 |
} else if( type == 'background' ) {
|
@@ -331,7 +331,7 @@ window.RMP_Preview = {
|
|
331 |
}
|
332 |
}
|
333 |
}).open();
|
334 |
-
|
335 |
});
|
336 |
},
|
337 |
toggleElements: function( inputSelector, outputSelector ) {
|
@@ -368,11 +368,11 @@ window.RMP_Preview = {
|
|
368 |
error: function( error ) {
|
369 |
console.log('Internal Error !');
|
370 |
jQuery(this).prop('disabled', false);
|
371 |
-
jQuery('#iframe-spinner').hide();
|
372 |
},
|
373 |
success: function( response ) {
|
374 |
|
375 |
-
if ( response.data.markup ) {
|
376 |
iframe.contents().find( '#rmp-container-'+ self.menuId ).append(response.data.markup);
|
377 |
self.orderMenuElements();
|
378 |
}
|
@@ -413,13 +413,13 @@ window.RMP_Preview = {
|
|
413 |
},
|
414 |
/**
|
415 |
* Function to bind the color input with option and elements.
|
416 |
-
*
|
417 |
* @version 4.0.0
|
418 |
-
*
|
419 |
-
* @param {String} inputSelector
|
420 |
-
* @param {String} outputSelector
|
421 |
-
* @param {String} attr
|
422 |
-
* @param {String} state
|
423 |
*/
|
424 |
bindColor: function( inputSelector, outputSelector, attr, state ) {
|
425 |
var self = this;
|
@@ -468,7 +468,7 @@ window.RMP_Preview = {
|
|
468 |
switch (attr) {
|
469 |
case 'height-unit':
|
470 |
value = jQuery(this).prev('input').val();
|
471 |
-
unit = jQuery(this).val();
|
472 |
|
473 |
css = outputSelector + '{ height : '+ ( value + unit ) + ';}';
|
474 |
if ( jQuery(this).attr( 'multi-device') ) {
|
@@ -479,7 +479,7 @@ window.RMP_Preview = {
|
|
479 |
break;
|
480 |
case 'line-height-unit':
|
481 |
value = jQuery(this).prev('input').val();
|
482 |
-
unit = jQuery(this).val();
|
483 |
|
484 |
css = outputSelector + '{ line-height : '+ ( value+unit ) + ';}';
|
485 |
|
@@ -491,14 +491,14 @@ window.RMP_Preview = {
|
|
491 |
break;
|
492 |
case 'width-unit':
|
493 |
var value = jQuery(this).prev('input').val();
|
494 |
-
var unit = jQuery(this).val();
|
495 |
css = outputSelector + '{ width : '+ ( value + unit) +';}';
|
496 |
self.inlineCssInjector(css);
|
497 |
break;
|
498 |
|
499 |
case 'font-size':
|
500 |
value = jQuery(this).prev('input').val();
|
501 |
-
unit = jQuery(this).val();
|
502 |
css = outputSelector + '{ font-size :' + value + unit + ' !important;}';
|
503 |
|
504 |
if ( jQuery(this).attr( 'multi-device') ) {
|
@@ -510,7 +510,7 @@ window.RMP_Preview = {
|
|
510 |
case 'font-family':
|
511 |
value = jQuery(this).val();
|
512 |
css = outputSelector + '{ font-family :' + value +' !important;}';
|
513 |
-
|
514 |
if ( jQuery(this).attr( 'multi-device') ) {
|
515 |
css = self.mediaQuery( css );
|
516 |
}
|
@@ -541,7 +541,7 @@ window.RMP_Preview = {
|
|
541 |
self.inlineCssInjector(css);
|
542 |
break;
|
543 |
case 'position-alignment':
|
544 |
-
|
545 |
if ( iframe.contents().find( outputSelector ).length ) {
|
546 |
position = jQuery(this).val();
|
547 |
var rmpTriggerBox = iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' );
|
@@ -602,7 +602,7 @@ window.RMP_Preview = {
|
|
602 |
iframe.contents().find( outputSelector ).attr('style', 'background:unset !important;');
|
603 |
} else {
|
604 |
iframe.contents().find( outputSelector ).removeAttr( 'style' );
|
605 |
-
}
|
606 |
break;
|
607 |
case 'target':
|
608 |
var value = jQuery(this).val();
|
@@ -935,7 +935,7 @@ window.RMP_Preview = {
|
|
935 |
|
936 |
self.bindImage('#rmp-button-title-image', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src' );
|
937 |
self.bindImage('#rmp-menu-background-image-selector', '#rmp-container-'+ self.menuId, 'background' );
|
938 |
-
|
939 |
self.bindImage('#rmp-menu-button-image-when-clicked-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'trigger-icon-open' );
|
940 |
self.bindImage('#rmp-menu-button-image-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'trigger-icon' );
|
941 |
|
@@ -1111,7 +1111,7 @@ window.RMP_Preview = {
|
|
1111 |
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
|
1112 |
'text-align'
|
1113 |
);
|
1114 |
-
|
1115 |
self.changeInput(
|
1116 |
'#rmp-submenu-text-letter-spacing',
|
1117 |
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
|
8 |
*
|
9 |
* @since 4.0.0
|
10 |
*
|
11 |
+
* @package responsive-menu
|
12 |
*/
|
13 |
|
14 |
/**
|
67 |
|
68 |
/**
|
69 |
* Register function to color the menu elements.
|
70 |
+
*
|
71 |
* @since 4.0.0
|
72 |
+
*
|
73 |
* @param {Object} args List of inputs.
|
74 |
* @return {String}
|
75 |
*/
|
96 |
|
97 |
/**
|
98 |
* rmpPreview class
|
99 |
+
*
|
100 |
* @since 4.0.0
|
101 |
+
*
|
102 |
* @type {Object}
|
103 |
*/
|
104 |
window.RMP_Preview = {
|
133 |
break;
|
134 |
case 'trigger-text':
|
135 |
if ( iframe.contents().find(outputSelector).length ) {
|
136 |
+
iframe.contents().find(outputSelector).html(this.value);
|
137 |
} else {
|
138 |
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).before('<div class="rmp-trigger-label rmp-trigger-label-top"><span class="rmp-trigger-text">"'+ this.value + '"</span></div>')
|
139 |
}
|
141 |
|
142 |
case 'trigger-text-open':
|
143 |
if ( iframe.contents().find(outputSelector).length ) {
|
144 |
+
iframe.contents().find(outputSelector).html(this.value);
|
145 |
} else {
|
146 |
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).before('<div class="rmp-trigger-label rmp-trigger-label-top"><span class="rmp-trigger-text-open">"'+ this.value + '"</span></div>')
|
147 |
}
|
228 |
}
|
229 |
|
230 |
css = outputSelector + '{ min-width : '+ (this.value + unit) +';}';
|
231 |
+
|
232 |
self.inlineCssInjector(css);
|
233 |
|
234 |
break;
|
307 |
jQuery(e.target).prev('input.rmp-image-url-input').val(attachment.url);
|
308 |
jQuery(e.target).css('background-image', 'url(' + attachment.url + ')');
|
309 |
jQuery(e.target).append('<i class="rmp-image-picker-trash dashicons dashicons-trash" aria-hidden="true"></i>');
|
310 |
+
|
311 |
if ( type == 'img-src') {
|
312 |
iframe.contents().find(outputSelector).attr('src', attachment.url );
|
313 |
} else if( type == 'background' ) {
|
331 |
}
|
332 |
}
|
333 |
}).open();
|
334 |
+
|
335 |
});
|
336 |
},
|
337 |
toggleElements: function( inputSelector, outputSelector ) {
|
368 |
error: function( error ) {
|
369 |
console.log('Internal Error !');
|
370 |
jQuery(this).prop('disabled', false);
|
371 |
+
jQuery('#iframe-spinner').hide();
|
372 |
},
|
373 |
success: function( response ) {
|
374 |
|
375 |
+
if ( response.data.markup ) {
|
376 |
iframe.contents().find( '#rmp-container-'+ self.menuId ).append(response.data.markup);
|
377 |
self.orderMenuElements();
|
378 |
}
|
413 |
},
|
414 |
/**
|
415 |
* Function to bind the color input with option and elements.
|
416 |
+
*
|
417 |
* @version 4.0.0
|
418 |
+
*
|
419 |
+
* @param {String} inputSelector
|
420 |
+
* @param {String} outputSelector
|
421 |
+
* @param {String} attr
|
422 |
+
* @param {String} state
|
423 |
*/
|
424 |
bindColor: function( inputSelector, outputSelector, attr, state ) {
|
425 |
var self = this;
|
468 |
switch (attr) {
|
469 |
case 'height-unit':
|
470 |
value = jQuery(this).prev('input').val();
|
471 |
+
unit = jQuery(this).val();
|
472 |
|
473 |
css = outputSelector + '{ height : '+ ( value + unit ) + ';}';
|
474 |
if ( jQuery(this).attr( 'multi-device') ) {
|
479 |
break;
|
480 |
case 'line-height-unit':
|
481 |
value = jQuery(this).prev('input').val();
|
482 |
+
unit = jQuery(this).val();
|
483 |
|
484 |
css = outputSelector + '{ line-height : '+ ( value+unit ) + ';}';
|
485 |
|
491 |
break;
|
492 |
case 'width-unit':
|
493 |
var value = jQuery(this).prev('input').val();
|
494 |
+
var unit = jQuery(this).val();
|
495 |
css = outputSelector + '{ width : '+ ( value + unit) +';}';
|
496 |
self.inlineCssInjector(css);
|
497 |
break;
|
498 |
|
499 |
case 'font-size':
|
500 |
value = jQuery(this).prev('input').val();
|
501 |
+
unit = jQuery(this).val();
|
502 |
css = outputSelector + '{ font-size :' + value + unit + ' !important;}';
|
503 |
|
504 |
if ( jQuery(this).attr( 'multi-device') ) {
|
510 |
case 'font-family':
|
511 |
value = jQuery(this).val();
|
512 |
css = outputSelector + '{ font-family :' + value +' !important;}';
|
513 |
+
|
514 |
if ( jQuery(this).attr( 'multi-device') ) {
|
515 |
css = self.mediaQuery( css );
|
516 |
}
|
541 |
self.inlineCssInjector(css);
|
542 |
break;
|
543 |
case 'position-alignment':
|
544 |
+
|
545 |
if ( iframe.contents().find( outputSelector ).length ) {
|
546 |
position = jQuery(this).val();
|
547 |
var rmpTriggerBox = iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' );
|
602 |
iframe.contents().find( outputSelector ).attr('style', 'background:unset !important;');
|
603 |
} else {
|
604 |
iframe.contents().find( outputSelector ).removeAttr( 'style' );
|
605 |
+
}
|
606 |
break;
|
607 |
case 'target':
|
608 |
var value = jQuery(this).val();
|
935 |
|
936 |
self.bindImage('#rmp-button-title-image', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src' );
|
937 |
self.bindImage('#rmp-menu-background-image-selector', '#rmp-container-'+ self.menuId, 'background' );
|
938 |
+
|
939 |
self.bindImage('#rmp-menu-button-image-when-clicked-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'trigger-icon-open' );
|
940 |
self.bindImage('#rmp-menu-button-image-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'trigger-icon' );
|
941 |
|
1111 |
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
|
1112 |
'text-align'
|
1113 |
);
|
1114 |
+
|
1115 |
self.changeInput(
|
1116 |
'#rmp-submenu-text-letter-spacing',
|
1117 |
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
|
v4.0.0/assets/admin/rmp-main.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
/**
|
2 |
* Main scripts file.
|
3 |
*
|
4 |
-
* @package responsive-menu
|
5 |
*/
|
6 |
|
7 |
import './scss/wizard-ui.scss';
|
1 |
/**
|
2 |
* Main scripts file.
|
3 |
*
|
4 |
+
* @package responsive-menu
|
5 |
*/
|
6 |
|
7 |
import './scss/wizard-ui.scss';
|
v4.0.0/assets/scss/main.scss
CHANGED
@@ -143,7 +143,9 @@
|
|
143 |
margin: 0;
|
144 |
transition: transform $animation_speed;
|
145 |
overflow: auto;
|
146 |
-
|
|
|
|
|
147 |
|
148 |
@if ( $menu_width ) {
|
149 |
width: $menu_width + $menu_width_unit;
|
143 |
margin: 0;
|
144 |
transition: transform $animation_speed;
|
145 |
overflow: auto;
|
146 |
+
@if ( $animation_type != 'fade' ) {
|
147 |
+
display:block;
|
148 |
+
}
|
149 |
|
150 |
@if ( $menu_width ) {
|
151 |
width: $menu_width + $menu_width_unit;
|
v4.0.0/inc/classes/class-admin.php
CHANGED
@@ -6,10 +6,11 @@
|
|
6 |
* @version 4.0.0
|
7 |
* @author Expresstech System
|
8 |
*
|
9 |
-
* @package responsive-menu
|
10 |
*/
|
11 |
|
12 |
namespace RMP\Features\Inc;
|
|
|
13 |
use RMP\Features\Inc\Traits\Singleton;
|
14 |
use RMP\Features\Inc\RMP_Menu;
|
15 |
use RMP\Features\Inc\Theme_Manager;
|
@@ -17,12 +18,11 @@ use RMP\Features\Inc\Option_Manager;
|
|
17 |
|
18 |
// Disable the direct access to this class.
|
19 |
if ( ! defined( 'ABSPATH' ) ) {
|
20 |
-
|
21 |
}
|
22 |
|
23 |
/**
|
24 |
* Class Admin
|
25 |
-
*
|
26 |
*/
|
27 |
class Admin {
|
28 |
|
@@ -50,25 +50,24 @@ class Admin {
|
|
50 |
* @return void
|
51 |
*/
|
52 |
protected function setup_hooks() {
|
|
|
|
|
|
|
|
|
|
|
53 |
|
54 |
-
|
55 |
-
add_action( '
|
56 |
-
add_action( 'wp_ajax_rmp_create_new_menu', [ $this, 'create_new_menu' ] );
|
57 |
-
add_action( 'wp_ajax_rmp_export_menu', [ $this, 'rmp_export_menu' ] );
|
58 |
-
add_action( 'wp_ajax_rmp_import_menu', [ $this, 'rmp_import_menu' ] );
|
59 |
|
60 |
-
|
61 |
-
|
62 |
|
63 |
-
add_filter( '
|
64 |
-
|
65 |
-
|
66 |
-
add_filter( 'manage_rmp_menu_posts_columns', array($this,'set_custom_edit_menu_columns') );
|
67 |
-
add_action( 'manage_rmp_menu_posts_custom_column' , array($this,'add_custom_columns'), 10, 2 );
|
68 |
-
add_action( 'admin_footer' , array($this,'add_new_menu_widget') );
|
69 |
add_action( 'admin_menu', array( $this, 'rmp_register_submenu_page' ) );
|
70 |
-
add_action( 'admin_menu',
|
71 |
-
add_action( 'rmp_create_new_menu', array( $this
|
72 |
}
|
73 |
|
74 |
/**
|
@@ -77,15 +76,14 @@ class Admin {
|
|
77 |
* @return json
|
78 |
*/
|
79 |
public function save_menu_global_settings() {
|
80 |
-
|
81 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
82 |
|
83 |
-
$options
|
84 |
-
$form_data = $_POST['form'];
|
85 |
wp_parse_str( $form_data, $options );
|
86 |
|
87 |
-
foreach( $options as $key => $value ) {
|
88 |
-
$options[$key] = sanitize_text_field( $value );
|
89 |
}
|
90 |
|
91 |
update_option( 'rmp_global_setting_options', $options );
|
@@ -105,72 +103,62 @@ class Admin {
|
|
105 |
/**
|
106 |
* Rollback to older version from setting page.
|
107 |
*
|
108 |
-
* @since
|
109 |
*
|
110 |
* @return void
|
111 |
*/
|
112 |
public function rollback_version() {
|
113 |
-
|
114 |
-
if ( empty ( update_option( 'is_rmp_new_version', 0 ) ) ) {
|
115 |
add_option( 'is_rmp_new_version', 0 );
|
116 |
}
|
117 |
|
118 |
-
wp_send_json_success(
|
119 |
}
|
120 |
|
121 |
/**
|
122 |
* Function to create a new theme.
|
123 |
*
|
124 |
-
* @since
|
125 |
*
|
126 |
* @return json
|
127 |
*/
|
128 |
public function create_new_menu() {
|
129 |
-
|
130 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
131 |
|
132 |
-
$menu_name = sanitize_text_field( $_POST['menu_name'] );
|
133 |
if ( empty( $menu_name ) ) {
|
134 |
-
wp_send_json_error(
|
135 |
}
|
136 |
|
137 |
-
$menu_to_use = sanitize_text_field( $_POST['menu_to_use'] );
|
138 |
if ( empty( $menu_to_use ) ) {
|
139 |
-
wp_send_json_error(
|
140 |
}
|
141 |
|
142 |
-
$menu_to_hide = sanitize_text_field( $_POST['menu_to_hide'] );
|
143 |
|
144 |
-
$menu_theme = '';
|
145 |
-
if ( ! empty( $_POST['menu_theme'] ) ) {
|
146 |
-
$menu_theme = sanitize_text_field( $_POST['menu_theme'] );
|
147 |
-
}
|
148 |
|
149 |
-
$theme_type = '';
|
150 |
-
if ( ! empty( $_POST['theme_type'] ) ) {
|
151 |
-
$theme_type = sanitize_text_field( $_POST['theme_type'] );
|
152 |
-
}
|
153 |
|
154 |
-
$menu_show_on
|
155 |
|
156 |
-
$menu_show_on_pages =
|
157 |
if ( ! empty( $_POST['menu_show_on_pages'] ) && is_array( $_POST['menu_show_on_pages'] ) ) {
|
158 |
-
|
159 |
-
$menu_show_on_pages[ $key ] = sanitize_text_field( $val );
|
160 |
-
}
|
161 |
}
|
162 |
|
163 |
-
$theme_options
|
164 |
|
165 |
// Get appropriate theme as per theme type and theme name.
|
166 |
if ( ! empty( $theme_type ) && 'downloaded' == $theme_type ) {
|
167 |
-
$theme_manager
|
168 |
-
$theme_options
|
169 |
-
}
|
170 |
-
$theme_manager
|
171 |
-
$theme_options
|
172 |
} else {
|
173 |
-
$theme_options
|
174 |
}
|
175 |
|
176 |
// Create menu as post with rmp_menu cpt.
|
@@ -184,21 +172,20 @@ class Admin {
|
|
184 |
$menu_id = wp_insert_post( $new_menu );
|
185 |
|
186 |
$new_options = array(
|
187 |
-
'menu_name'
|
188 |
-
'menu_to_use'
|
189 |
-
'menu_theme'
|
190 |
-
'theme_type'
|
191 |
-
'menu_display_on'
|
192 |
-
'menu_show_on_pages'
|
193 |
-
'menu_id'
|
194 |
-
'menu_to_hide'
|
195 |
-
|
196 |
-
|
197 |
-
$new_options = array_merge( $theme_options , $new_options );
|
198 |
|
199 |
-
|
200 |
|
201 |
-
|
|
|
202 |
|
203 |
/**
|
204 |
* Fires when menu is created and options is saved.
|
@@ -208,20 +195,18 @@ class Admin {
|
|
208 |
do_action( 'rmp_create_new_menu', $menu_id );
|
209 |
|
210 |
wp_send_json_success(
|
211 |
-
|
212 |
-
'message' =>
|
213 |
'customize_url' => sprintf(
|
214 |
'%spost.php?post=%s&action=edit&editor=true',
|
215 |
get_admin_url(),
|
216 |
$menu_id
|
217 |
-
)
|
218 |
-
|
219 |
);
|
220 |
-
|
221 |
} else {
|
222 |
-
wp_send_json_error(
|
223 |
}
|
224 |
-
|
225 |
}
|
226 |
|
227 |
/**
|
@@ -234,20 +219,20 @@ class Admin {
|
|
234 |
*
|
235 |
* @return HTML $output Menu contents.
|
236 |
*/
|
237 |
-
public function register_menu_shortcode( $attrs =
|
238 |
-
|
239 |
-
$attrs = shortcode_atts( [ 'id' => '' ], $attrs );
|
240 |
|
241 |
$attrs = array_change_key_case( (array) $attrs, CASE_LOWER );
|
242 |
|
243 |
// Check given id is valid.
|
244 |
if ( empty( $attrs['id'] ) ) {
|
245 |
-
return
|
246 |
}
|
247 |
|
248 |
-
$menu_id
|
249 |
if ( 'publish' !== get_post_status( $menu_id ) ) {
|
250 |
-
|
|
|
251 |
}
|
252 |
|
253 |
// Check shortcode option is activated or not.
|
@@ -255,7 +240,7 @@ class Admin {
|
|
255 |
$option = $option_manager->get_option( $menu_id, 'menu_display_on' );
|
256 |
|
257 |
if ( 'shortcode' !== $option ) {
|
258 |
-
return
|
259 |
}
|
260 |
|
261 |
ob_start();
|
@@ -274,45 +259,42 @@ class Admin {
|
|
274 |
* @return void
|
275 |
*/
|
276 |
public function set_global_options() {
|
277 |
-
|
278 |
$global_settings = get_option( 'rmp_global_setting_options' );
|
279 |
-
if( empty( $global_settings )
|
280 |
$default_options = rmp_global_default_setting_options();
|
281 |
-
update_option( 'rmp_global_setting_options', $default_options
|
282 |
}
|
283 |
}
|
284 |
|
285 |
/**
|
286 |
* Add sub menu pages in responsive menu admin.
|
287 |
*
|
288 |
-
* @since
|
289 |
*/
|
290 |
public function rmp_register_submenu_page() {
|
291 |
-
|
292 |
add_submenu_page(
|
293 |
'edit.php?post_type=rmp_menu',
|
294 |
-
|
295 |
-
|
296 |
'manage_options',
|
297 |
'settings',
|
298 |
array( $this, 'rmp_global_settings_page' )
|
299 |
);
|
300 |
|
301 |
-
add_submenu_page
|
302 |
'edit.php?post_type=rmp_menu',
|
303 |
-
|
304 |
-
|
305 |
'manage_options',
|
306 |
'themes',
|
307 |
array( $this, 'rmp_theme_admin_page' )
|
308 |
);
|
309 |
-
|
310 |
}
|
311 |
|
312 |
/**
|
313 |
* Add template to the themes page.
|
314 |
*
|
315 |
-
* @since
|
316 |
*/
|
317 |
public function rmp_theme_admin_page() {
|
318 |
|
@@ -327,7 +309,7 @@ class Admin {
|
|
327 |
/**
|
328 |
* Add template to the setting page.
|
329 |
*
|
330 |
-
* @since
|
331 |
*
|
332 |
* @return void
|
333 |
*/
|
@@ -348,7 +330,7 @@ class Admin {
|
|
348 |
*
|
349 |
* @return void
|
350 |
*/
|
351 |
-
function remove_default_add_cpt_page() {
|
352 |
remove_submenu_page( 'edit.php?post_type=rmp_menu', 'post-new.php?post_type=rmp_menu' );
|
353 |
}
|
354 |
|
@@ -361,27 +343,27 @@ class Admin {
|
|
361 |
*/
|
362 |
public function add_new_menu_widget() {
|
363 |
$screen = get_current_screen();
|
364 |
-
if (
|
365 |
-
|
366 |
}
|
367 |
}
|
368 |
|
369 |
/**
|
370 |
* Function to change the edit label and url.
|
|
|
371 |
* @since 4.0.0
|
372 |
*
|
373 |
-
* @param array
|
374 |
* @param Object $post Post object
|
375 |
*
|
376 |
* @return array $actions
|
377 |
*/
|
378 |
public function rmp_menu_row_actions( $actions, $post ) {
|
379 |
-
|
380 |
if ( 'rmp_menu' == $post->post_type ) {
|
381 |
$actions['edit'] = sprintf(
|
382 |
'<a href="%s" aria-label="Edit">%s</a>',
|
383 |
esc_url( get_edit_post_link( $post->ID ) ),
|
384 |
-
|
385 |
);
|
386 |
}
|
387 |
|
@@ -397,12 +379,11 @@ class Admin {
|
|
397 |
*
|
398 |
* @return array $columns Edited columns list.
|
399 |
*/
|
400 |
-
public function
|
401 |
-
|
402 |
unset( $columns['date'] );
|
403 |
-
$columns['shortcode_place']
|
404 |
-
$columns['actions']
|
405 |
-
$columns['date']
|
406 |
|
407 |
return $columns;
|
408 |
}
|
@@ -418,9 +399,8 @@ class Admin {
|
|
418 |
* @return string $url Edited post url URL
|
419 |
*/
|
420 |
public function my_edit_post_link( $url, $post_id ) {
|
421 |
-
|
422 |
if ( 'rmp_menu' == get_post_type() ) {
|
423 |
-
$url = get_admin_url() .'post.php?post='. $post_id .'&action=edit&editor=true';
|
424 |
}
|
425 |
|
426 |
return $url;
|
@@ -436,29 +416,25 @@ class Admin {
|
|
436 |
*
|
437 |
* @return void
|
438 |
*/
|
439 |
-
function add_custom_columns( $column, $post_id ) {
|
440 |
$option_manager = Option_Manager::get_instance();
|
441 |
|
442 |
switch ( $column ) {
|
443 |
|
444 |
-
case 'actions'
|
445 |
-
echo
|
446 |
-
|
447 |
-
esc_url( get_edit_post_link( $post_id) ),
|
448 |
-
__( 'Customize', 'responsive-menu-pro' )
|
449 |
-
);
|
450 |
break;
|
451 |
-
case 'shortcode_place'
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
|
|
456 |
} else {
|
457 |
-
esc_html_e( 'Shortcode deactivated', 'responsive-menu
|
458 |
}
|
459 |
-
|
460 |
-
break;
|
461 |
-
|
462 |
}
|
463 |
}
|
464 |
|
@@ -475,26 +451,26 @@ class Admin {
|
|
475 |
}
|
476 |
|
477 |
$labels = array(
|
478 |
-
'name'
|
479 |
-
'singular_name'
|
480 |
-
'menu_name'
|
481 |
-
'parent_item_colon'
|
482 |
-
'all_items'
|
483 |
-
'view_item'
|
484 |
-
'add_new_item'
|
485 |
-
'add_new'
|
486 |
-
'edit_item'
|
487 |
-
'update_item'
|
488 |
-
'search_items'
|
489 |
-
'not_found'
|
490 |
-
'not_found_in_trash'
|
491 |
);
|
492 |
|
493 |
$args = array(
|
494 |
-
'label' =>
|
495 |
-
'description' =>
|
496 |
'labels' => $labels,
|
497 |
-
'supports' => array( 'title',
|
498 |
'public' => false,
|
499 |
'hierarchical' => false,
|
500 |
'show_ui' => true,
|
@@ -504,16 +480,17 @@ class Admin {
|
|
504 |
'has_archive' => false,
|
505 |
'can_export' => false,
|
506 |
'exclude_from_search' => true,
|
507 |
-
'taxonomies'
|
508 |
'publicly_queryable' => false,
|
509 |
'capability_type' => 'post',
|
510 |
-
'menu_icon' =>
|
511 |
);
|
512 |
|
513 |
register_post_type( 'rmp_menu', $args );
|
514 |
|
515 |
/**
|
516 |
* This action will be useful when need hooks after cpt register.
|
|
|
517 |
* @param CPT rmp_menu
|
518 |
*/
|
519 |
do_action( 'rmp_after_cpt_registered', 'rmp_menu' );
|
@@ -522,63 +499,61 @@ class Admin {
|
|
522 |
/**
|
523 |
* Function to export the menu
|
524 |
*
|
525 |
-
* @since
|
526 |
*
|
527 |
* @return json
|
528 |
*/
|
529 |
public function rmp_export_menu() {
|
530 |
-
|
531 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
532 |
|
533 |
-
$menu_id = sanitize_text_field( $_POST['menu_id'] );
|
534 |
if ( empty( $menu_id ) ) {
|
535 |
-
wp_send_json_error(
|
536 |
}
|
537 |
|
538 |
$option_manager = Option_Manager::get_instance();
|
539 |
$option = $option_manager->get_options( $menu_id );
|
540 |
|
541 |
-
wp_send_json_success(
|
542 |
}
|
543 |
|
544 |
/**
|
545 |
* Function to import the menu settings.
|
546 |
*
|
547 |
-
* @since
|
548 |
*
|
549 |
* @return json
|
550 |
*/
|
551 |
public function rmp_import_menu() {
|
552 |
-
|
553 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
554 |
|
555 |
-
if( empty( $_FILES['file']['name'] ) ) {
|
556 |
-
wp_send_json_error(
|
557 |
}
|
558 |
|
559 |
-
if( empty( $_FILES['file']['
|
560 |
-
wp_send_json_error(
|
561 |
}
|
562 |
|
563 |
-
$menu_id = sanitize_text_field( $_POST['menu_id'] );
|
564 |
if ( empty( $menu_id ) ) {
|
565 |
-
wp_send_json_error(
|
566 |
}
|
567 |
|
568 |
-
$file_contents = file_get_contents( $_FILES['file']['tmp_name'] );
|
569 |
$import_options = json_decode( $file_contents, true );
|
570 |
|
571 |
$option_manager = Option_Manager::get_instance();
|
572 |
$exist_option = $option_manager->get_options( $menu_id );
|
573 |
|
574 |
// Some required options replced in imported settings with existing menu settings.
|
575 |
-
$import_options['menu_name']
|
576 |
-
$import_options['theme_type']
|
577 |
-
$import_options['menu_theme']
|
578 |
-
$import_options['menu_to_use']
|
579 |
$import_options['menu_to_use_in_mobile'] = $exist_option['menu_to_use_in_mobile'];
|
580 |
|
581 |
-
update_post_meta( $menu_id, 'rmp_menu_meta'
|
582 |
/**
|
583 |
* Fires when menu is imported.
|
584 |
*
|
@@ -588,7 +563,6 @@ class Admin {
|
|
588 |
*/
|
589 |
do_action( 'rmp_import_menu', $menu_id );
|
590 |
|
591 |
-
wp_send_json_success(
|
592 |
}
|
593 |
-
|
594 |
}
|
6 |
* @version 4.0.0
|
7 |
* @author Expresstech System
|
8 |
*
|
9 |
+
* @package responsive-menu
|
10 |
*/
|
11 |
|
12 |
namespace RMP\Features\Inc;
|
13 |
+
|
14 |
use RMP\Features\Inc\Traits\Singleton;
|
15 |
use RMP\Features\Inc\RMP_Menu;
|
16 |
use RMP\Features\Inc\Theme_Manager;
|
18 |
|
19 |
// Disable the direct access to this class.
|
20 |
if ( ! defined( 'ABSPATH' ) ) {
|
21 |
+
exit;
|
22 |
}
|
23 |
|
24 |
/**
|
25 |
* Class Admin
|
|
|
26 |
*/
|
27 |
class Admin {
|
28 |
|
50 |
* @return void
|
51 |
*/
|
52 |
protected function setup_hooks() {
|
53 |
+
add_action( 'wp_ajax_rmp_save_global_settings', array( $this, 'save_menu_global_settings' ) );
|
54 |
+
add_action( 'wp_ajax_rmp_rollback_version', array( $this, 'rollback_version' ) );
|
55 |
+
add_action( 'wp_ajax_rmp_create_new_menu', array( $this, 'create_new_menu' ) );
|
56 |
+
add_action( 'wp_ajax_rmp_export_menu', array( $this, 'rmp_export_menu' ) );
|
57 |
+
add_action( 'wp_ajax_rmp_import_menu', array( $this, 'rmp_import_menu' ) );
|
58 |
|
59 |
+
add_shortcode( 'rmp_menu', array( $this, 'register_menu_shortcode' ) );
|
60 |
+
add_action( 'init', array( $this, 'rmp_menu_cpt' ), 0 );
|
|
|
|
|
|
|
61 |
|
62 |
+
add_filter( 'post_row_actions', array( $this, 'rmp_menu_row_actions' ), 10, 2 );
|
63 |
+
add_filter( 'get_edit_post_link', array( $this, 'my_edit_post_link' ), 10, 2 );
|
64 |
|
65 |
+
add_filter( 'manage_rmp_menu_posts_columns', array( $this, 'set_custom_edit_menu_columns' ) );
|
66 |
+
add_action( 'manage_rmp_menu_posts_custom_column', array( $this, 'add_custom_columns' ), 10, 2 );
|
67 |
+
add_action( 'admin_footer', array( $this, 'add_new_menu_widget' ) );
|
|
|
|
|
|
|
68 |
add_action( 'admin_menu', array( $this, 'rmp_register_submenu_page' ) );
|
69 |
+
add_action( 'admin_menu', array( $this, 'remove_default_add_cpt_page' ) );
|
70 |
+
add_action( 'rmp_create_new_menu', array( $this, 'set_global_options' ), 10, 0 );
|
71 |
}
|
72 |
|
73 |
/**
|
76 |
* @return json
|
77 |
*/
|
78 |
public function save_menu_global_settings() {
|
|
|
79 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
80 |
|
81 |
+
$options = array();
|
82 |
+
$form_data = isset( $_POST['form'] ) ? rm_sanitize_rec_array( wp_unslash( $_POST['form'] ) ) : ''; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
|
83 |
wp_parse_str( $form_data, $options );
|
84 |
|
85 |
+
foreach ( $options as $key => $value ) {
|
86 |
+
$options[ $key ] = sanitize_text_field( $value );
|
87 |
}
|
88 |
|
89 |
update_option( 'rmp_global_setting_options', $options );
|
103 |
/**
|
104 |
* Rollback to older version from setting page.
|
105 |
*
|
106 |
+
* @since 4.0.0
|
107 |
*
|
108 |
* @return void
|
109 |
*/
|
110 |
public function rollback_version() {
|
111 |
+
if ( empty( update_option( 'is_rmp_new_version', 0 ) ) ) {
|
|
|
112 |
add_option( 'is_rmp_new_version', 0 );
|
113 |
}
|
114 |
|
115 |
+
wp_send_json_success( array( 'redirect' => admin_url( 'admin.php?page=responsive-menu' ) ) );
|
116 |
}
|
117 |
|
118 |
/**
|
119 |
* Function to create a new theme.
|
120 |
*
|
121 |
+
* @since 4.0.0
|
122 |
*
|
123 |
* @return json
|
124 |
*/
|
125 |
public function create_new_menu() {
|
|
|
126 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
127 |
|
128 |
+
$menu_name = isset( $_POST['menu_name'] ) ? sanitize_text_field( wp_unslash( $_POST['menu_name'] ) ) : '';
|
129 |
if ( empty( $menu_name ) ) {
|
130 |
+
wp_send_json_error( array( 'message' => esc_html__( 'Enter the Menu name !', 'responsive-menu' ) ) );
|
131 |
}
|
132 |
|
133 |
+
$menu_to_use = isset( $_POST['menu_to_use'] ) ? sanitize_text_field( wp_unslash( $_POST['menu_to_use'] ) ) : '';
|
134 |
if ( empty( $menu_to_use ) ) {
|
135 |
+
wp_send_json_error( array( 'message' => esc_html__( 'Select menu to use !', 'responsive-menu' ) ) );
|
136 |
}
|
137 |
|
138 |
+
$menu_to_hide = isset( $_POST['menu_to_hide'] ) ? sanitize_text_field( wp_unslash( $_POST['menu_to_hide'] ) ) : '';
|
139 |
|
140 |
+
$menu_theme = isset( $_POST['menu_theme'] ) ? sanitize_text_field( wp_unslash( $_POST['menu_theme'] ) ) : '';
|
|
|
|
|
|
|
141 |
|
142 |
+
$theme_type = isset( $_POST['theme_type'] ) ? sanitize_text_field( wp_unslash( $_POST['theme_type'] ) ) : '';
|
|
|
|
|
|
|
143 |
|
144 |
+
$menu_show_on = isset( $_POST['menu_show_on'] ) ? sanitize_text_field( wp_unslash( $_POST['menu_show_on'] ) ) : '';
|
145 |
|
146 |
+
$menu_show_on_pages = array();
|
147 |
if ( ! empty( $_POST['menu_show_on_pages'] ) && is_array( $_POST['menu_show_on_pages'] ) ) {
|
148 |
+
$menu_show_on_pages = rm_sanitize_rec_array( wp_unslash( $_POST['menu_show_on_pages'] ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
|
|
|
|
|
149 |
}
|
150 |
|
151 |
+
$theme_options = array();
|
152 |
|
153 |
// Get appropriate theme as per theme type and theme name.
|
154 |
if ( ! empty( $theme_type ) && 'downloaded' == $theme_type ) {
|
155 |
+
$theme_manager = Theme_Manager::get_instance();
|
156 |
+
$theme_options = $theme_manager->get_available_theme_settings( $menu_theme );
|
157 |
+
} elseif ( ! empty( $theme_type ) && 'template' == $theme_type ) {
|
158 |
+
$theme_manager = Theme_Manager::get_instance();
|
159 |
+
$theme_options = $theme_manager->get_saved_theme_options( $menu_theme );
|
160 |
} else {
|
161 |
+
$theme_options = rmp_get_default_options();
|
162 |
}
|
163 |
|
164 |
// Create menu as post with rmp_menu cpt.
|
172 |
$menu_id = wp_insert_post( $new_menu );
|
173 |
|
174 |
$new_options = array(
|
175 |
+
'menu_name' => $menu_name,
|
176 |
+
'menu_to_use' => $menu_to_use,
|
177 |
+
'menu_theme' => $menu_theme,
|
178 |
+
'theme_type' => $theme_type,
|
179 |
+
'menu_display_on' => $menu_show_on,
|
180 |
+
'menu_show_on_pages' => $menu_show_on_pages,
|
181 |
+
'menu_id' => $menu_id,
|
182 |
+
'menu_to_hide' => $menu_to_hide,
|
183 |
+
);
|
|
|
|
|
184 |
|
185 |
+
$new_options = array_merge( $theme_options, $new_options );
|
186 |
|
187 |
+
if ( ! empty( $menu_id ) ) {
|
188 |
+
update_post_meta( $menu_id, 'rmp_menu_meta', $new_options );
|
189 |
|
190 |
/**
|
191 |
* Fires when menu is created and options is saved.
|
195 |
do_action( 'rmp_create_new_menu', $menu_id );
|
196 |
|
197 |
wp_send_json_success(
|
198 |
+
array(
|
199 |
+
'message' => esc_html__( 'Menu is created successfully', 'responsive-menu' ),
|
200 |
'customize_url' => sprintf(
|
201 |
'%spost.php?post=%s&action=edit&editor=true',
|
202 |
get_admin_url(),
|
203 |
$menu_id
|
204 |
+
),
|
205 |
+
)
|
206 |
);
|
|
|
207 |
} else {
|
208 |
+
wp_send_json_error( array( 'message' => esc_html__( 'Unable to create new Menu !', 'responsive-menu' ) ) );
|
209 |
}
|
|
|
210 |
}
|
211 |
|
212 |
/**
|
219 |
*
|
220 |
* @return HTML $output Menu contents.
|
221 |
*/
|
222 |
+
public function register_menu_shortcode( $attrs = array() ) {
|
223 |
+
$attrs = shortcode_atts( array( 'id' => '' ), $attrs );
|
|
|
224 |
|
225 |
$attrs = array_change_key_case( (array) $attrs, CASE_LOWER );
|
226 |
|
227 |
// Check given id is valid.
|
228 |
if ( empty( $attrs['id'] ) ) {
|
229 |
+
return esc_html__( 'Please pass menu id as attribute.', 'responsive-menu' );
|
230 |
}
|
231 |
|
232 |
+
$menu_id = $attrs['id'];
|
233 |
if ( 'publish' !== get_post_status( $menu_id ) ) {
|
234 |
+
/* translators: %d: Menu id */
|
235 |
+
return sprintf( esc_html__( 'Shortcode with menu id %d is not published.', 'responsive-menu' ), esc_html( $menu_id ) );
|
236 |
}
|
237 |
|
238 |
// Check shortcode option is activated or not.
|
240 |
$option = $option_manager->get_option( $menu_id, 'menu_display_on' );
|
241 |
|
242 |
if ( 'shortcode' !== $option ) {
|
243 |
+
return esc_html__( 'Shortcode deactivated', 'responsive-menu' );
|
244 |
}
|
245 |
|
246 |
ob_start();
|
259 |
* @return void
|
260 |
*/
|
261 |
public function set_global_options() {
|
|
|
262 |
$global_settings = get_option( 'rmp_global_setting_options' );
|
263 |
+
if ( empty( $global_settings ) ) {
|
264 |
$default_options = rmp_global_default_setting_options();
|
265 |
+
update_option( 'rmp_global_setting_options', $default_options );
|
266 |
}
|
267 |
}
|
268 |
|
269 |
/**
|
270 |
* Add sub menu pages in responsive menu admin.
|
271 |
*
|
272 |
+
* @since 4.0.0
|
273 |
*/
|
274 |
public function rmp_register_submenu_page() {
|
|
|
275 |
add_submenu_page(
|
276 |
'edit.php?post_type=rmp_menu',
|
277 |
+
esc_html__( 'Settings', 'responsive-menu' ),
|
278 |
+
esc_html__( 'Settings', 'responsive-menu' ),
|
279 |
'manage_options',
|
280 |
'settings',
|
281 |
array( $this, 'rmp_global_settings_page' )
|
282 |
);
|
283 |
|
284 |
+
add_submenu_page(
|
285 |
'edit.php?post_type=rmp_menu',
|
286 |
+
esc_html__( 'Themes', 'responsive-menu' ),
|
287 |
+
esc_html__( 'Themes', 'responsive-menu' ),
|
288 |
'manage_options',
|
289 |
'themes',
|
290 |
array( $this, 'rmp_theme_admin_page' )
|
291 |
);
|
|
|
292 |
}
|
293 |
|
294 |
/**
|
295 |
* Add template to the themes page.
|
296 |
*
|
297 |
+
* @since 4.0.0
|
298 |
*/
|
299 |
public function rmp_theme_admin_page() {
|
300 |
|
309 |
/**
|
310 |
* Add template to the setting page.
|
311 |
*
|
312 |
+
* @since 4.0.0
|
313 |
*
|
314 |
* @return void
|
315 |
*/
|
330 |
*
|
331 |
* @return void
|
332 |
*/
|
333 |
+
public function remove_default_add_cpt_page() {
|
334 |
remove_submenu_page( 'edit.php?post_type=rmp_menu', 'post-new.php?post_type=rmp_menu' );
|
335 |
}
|
336 |
|
343 |
*/
|
344 |
public function add_new_menu_widget() {
|
345 |
$screen = get_current_screen();
|
346 |
+
if ( 'edit-rmp_menu' === $screen->id ) {
|
347 |
+
include_once RMP_PLUGIN_PATH_V4 . '/templates/new-menu-wizard.php';
|
348 |
}
|
349 |
}
|
350 |
|
351 |
/**
|
352 |
* Function to change the edit label and url.
|
353 |
+
*
|
354 |
* @since 4.0.0
|
355 |
*
|
356 |
+
* @param array $actions List of post row actions.
|
357 |
* @param Object $post Post object
|
358 |
*
|
359 |
* @return array $actions
|
360 |
*/
|
361 |
public function rmp_menu_row_actions( $actions, $post ) {
|
|
|
362 |
if ( 'rmp_menu' == $post->post_type ) {
|
363 |
$actions['edit'] = sprintf(
|
364 |
'<a href="%s" aria-label="Edit">%s</a>',
|
365 |
esc_url( get_edit_post_link( $post->ID ) ),
|
366 |
+
esc_html__( 'Customize', 'responsive-menu' )
|
367 |
);
|
368 |
}
|
369 |
|
379 |
*
|
380 |
* @return array $columns Edited columns list.
|
381 |
*/
|
382 |
+
public function set_custom_edit_menu_columns( $columns ) {
|
|
|
383 |
unset( $columns['date'] );
|
384 |
+
$columns['shortcode_place'] = esc_html__( 'Shortcode', 'responsive-menu' );
|
385 |
+
$columns['actions'] = esc_html__( 'Actions', 'responsive-menu' );
|
386 |
+
$columns['date'] = esc_html__( 'Date', 'responsive-menu' );
|
387 |
|
388 |
return $columns;
|
389 |
}
|
399 |
* @return string $url Edited post url URL
|
400 |
*/
|
401 |
public function my_edit_post_link( $url, $post_id ) {
|
|
|
402 |
if ( 'rmp_menu' == get_post_type() ) {
|
403 |
+
$url = get_admin_url() . 'post.php?post=' . $post_id . '&action=edit&editor=true';
|
404 |
}
|
405 |
|
406 |
return $url;
|
416 |
*
|
417 |
* @return void
|
418 |
*/
|
419 |
+
public function add_custom_columns( $column, $post_id ) {
|
420 |
$option_manager = Option_Manager::get_instance();
|
421 |
|
422 |
switch ( $column ) {
|
423 |
|
424 |
+
case 'actions':
|
425 |
+
?><a href="<?php echo esc_url( get_edit_post_link( $post_id ) ); ?>" class="button" aria-label="Customize"><?php esc_html_e( 'Customize', 'responsive-menu' ); ?></a>
|
426 |
+
<?php
|
|
|
|
|
|
|
427 |
break;
|
428 |
+
case 'shortcode_place':
|
429 |
+
$option = $option_manager->get_option( $post_id, 'menu_display_on' );
|
430 |
+
if ( 'shortcode' === $option ) {
|
431 |
+
?>
|
432 |
+
<code>[rmp_menu id="<?php echo esc_attr( $post_id ); ?>"]</code>
|
433 |
+
<?php
|
434 |
} else {
|
435 |
+
esc_html_e( 'Shortcode deactivated', 'responsive-menu' );
|
436 |
}
|
437 |
+
break;
|
|
|
|
|
438 |
}
|
439 |
}
|
440 |
|
451 |
}
|
452 |
|
453 |
$labels = array(
|
454 |
+
'name' => esc_html__( 'Responsive Menu', 'responsive-menu' ),
|
455 |
+
'singular_name' => 'Rmp_Menu',
|
456 |
+
'menu_name' => esc_html__( 'Responsive Menu', 'responsive-menu' ),
|
457 |
+
'parent_item_colon' => esc_html__( 'Parent Menu', 'responsive-menu' ),
|
458 |
+
'all_items' => esc_html__( 'Menus', 'responsive-menu' ),
|
459 |
+
'view_item' => esc_html__( 'View Menu', 'responsive-menu' ),
|
460 |
+
'add_new_item' => esc_html__( 'Add New Menu', 'responsive-menu' ),
|
461 |
+
'add_new' => esc_html__( 'Create New Menu', 'responsive-menu' ),
|
462 |
+
'edit_item' => esc_html__( 'Edit Menu', 'responsive-menu' ),
|
463 |
+
'update_item' => esc_html__( 'Update Menu', 'responsive-menu' ),
|
464 |
+
'search_items' => esc_html__( 'Search Menu', 'responsive-menu' ),
|
465 |
+
'not_found' => esc_html__( 'Not Found', 'responsive-menu' ),
|
466 |
+
'not_found_in_trash' => esc_html__( 'Not found in Trash', 'responsive-menu' ),
|
467 |
);
|
468 |
|
469 |
$args = array(
|
470 |
+
'label' => esc_html__( 'Responsive Menu', 'responsive-menu' ),
|
471 |
+
'description' => esc_html__( 'Responsive Menu', 'responsive-menu' ),
|
472 |
'labels' => $labels,
|
473 |
+
'supports' => array( 'title', 'author' ),
|
474 |
'public' => false,
|
475 |
'hierarchical' => false,
|
476 |
'show_ui' => true,
|
480 |
'has_archive' => false,
|
481 |
'can_export' => false,
|
482 |
'exclude_from_search' => true,
|
483 |
+
'taxonomies' => array(),
|
484 |
'publicly_queryable' => false,
|
485 |
'capability_type' => 'post',
|
486 |
+
'menu_icon' => RMP_PLUGIN_URL_V4 . '/assets/images/rmp-logo.png',
|
487 |
);
|
488 |
|
489 |
register_post_type( 'rmp_menu', $args );
|
490 |
|
491 |
/**
|
492 |
* This action will be useful when need hooks after cpt register.
|
493 |
+
*
|
494 |
* @param CPT rmp_menu
|
495 |
*/
|
496 |
do_action( 'rmp_after_cpt_registered', 'rmp_menu' );
|
499 |
/**
|
500 |
* Function to export the menu
|
501 |
*
|
502 |
+
* @since 4.0.0
|
503 |
*
|
504 |
* @return json
|
505 |
*/
|
506 |
public function rmp_export_menu() {
|
|
|
507 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
508 |
|
509 |
+
$menu_id = isset( $_POST['menu_id'] ) ? sanitize_text_field( wp_unslash( $_POST['menu_id'] ) ) : '';
|
510 |
if ( empty( $menu_id ) ) {
|
511 |
+
wp_send_json_error( array( 'message' => esc_html__( 'Select menu !', 'responsive-menu' ) ) );
|
512 |
}
|
513 |
|
514 |
$option_manager = Option_Manager::get_instance();
|
515 |
$option = $option_manager->get_options( $menu_id );
|
516 |
|
517 |
+
wp_send_json_success( wp_json_encode( $option ) );
|
518 |
}
|
519 |
|
520 |
/**
|
521 |
* Function to import the menu settings.
|
522 |
*
|
523 |
+
* @since 4.0.0
|
524 |
*
|
525 |
* @return json
|
526 |
*/
|
527 |
public function rmp_import_menu() {
|
|
|
528 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
529 |
|
530 |
+
if ( empty( $_FILES['file']['name'] ) ) {
|
531 |
+
wp_send_json_error( array( 'message' => esc_html__( 'Please add file !', 'responsive-menu' ) ) );
|
532 |
}
|
533 |
|
534 |
+
if ( empty( $_FILES['file']['type'] ) || 'application/json' != $_FILES['file']['type'] ) {
|
535 |
+
wp_send_json_error( array( 'message' => esc_html__( 'Please add json file !', 'responsive-menu' ) ) );
|
536 |
}
|
537 |
|
538 |
+
$menu_id = isset( $_POST['menu_id'] ) ? sanitize_text_field( wp_unslash( $_POST['menu_id'] ) ) : '';
|
539 |
if ( empty( $menu_id ) ) {
|
540 |
+
wp_send_json_error( array( 'message' => esc_html__( 'Select menu !', 'responsive-menu' ) ) );
|
541 |
}
|
542 |
|
543 |
+
$file_contents = isset( $_FILES['file']['tmp_name'] ) ? file_get_contents( wp_unslash( $_FILES['file']['tmp_name'] ) ) : ''; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
|
544 |
$import_options = json_decode( $file_contents, true );
|
545 |
|
546 |
$option_manager = Option_Manager::get_instance();
|
547 |
$exist_option = $option_manager->get_options( $menu_id );
|
548 |
|
549 |
// Some required options replced in imported settings with existing menu settings.
|
550 |
+
$import_options['menu_name'] = $exist_option['menu_name'];
|
551 |
+
$import_options['theme_type'] = 'default';
|
552 |
+
$import_options['menu_theme'] = null;
|
553 |
+
$import_options['menu_to_use'] = $exist_option['menu_to_use'];
|
554 |
$import_options['menu_to_use_in_mobile'] = $exist_option['menu_to_use_in_mobile'];
|
555 |
|
556 |
+
update_post_meta( $menu_id, 'rmp_menu_meta', $import_options );
|
557 |
/**
|
558 |
* Fires when menu is imported.
|
559 |
*
|
563 |
*/
|
564 |
do_action( 'rmp_import_menu', $menu_id );
|
565 |
|
566 |
+
wp_send_json_success( array( 'message' => esc_html__( 'Menu settings imported successfully!', 'responsive-menu' ) ) );
|
567 |
}
|
|
|
568 |
}
|
v4.0.0/inc/classes/class-assets.php
CHANGED
@@ -15,12 +15,11 @@ use RMP\Features\Inc\Traits\Singleton;
|
|
15 |
|
16 |
// Disable the direct access to this class.
|
17 |
if ( ! defined( 'ABSPATH' ) ) {
|
18 |
-
|
19 |
}
|
20 |
|
21 |
/**
|
22 |
* Class Assets
|
23 |
-
*
|
24 |
*/
|
25 |
class Assets {
|
26 |
|
@@ -39,10 +38,9 @@ class Assets {
|
|
39 |
* @return void
|
40 |
*/
|
41 |
protected function setup_hooks() {
|
42 |
-
|
43 |
-
add_action( 'admin_enqueue_scripts',
|
44 |
-
add_action('admin_enqueue_scripts',
|
45 |
-
add_action('admin_enqueue_scripts', [ $this, 'rmp_menu_editor_style_inline'] );
|
46 |
}
|
47 |
|
48 |
/**
|
@@ -50,8 +48,7 @@ class Assets {
|
|
50 |
*
|
51 |
* @since 4.0.1
|
52 |
*/
|
53 |
-
function rmp_menu_editor_style_inline() {
|
54 |
-
|
55 |
$editor = filter_input( INPUT_GET, 'editor', FILTER_SANITIZE_STRING );
|
56 |
if ( ! empty( $editor ) && get_post_type() == 'rmp_menu' && is_admin() ) {
|
57 |
$css_data = 'html.wp-toolbar {
|
@@ -67,8 +64,8 @@ class Assets {
|
|
67 |
*
|
68 |
* @since 4.0.0
|
69 |
*/
|
70 |
-
function admin_custom_style_inline() {
|
71 |
-
wp_register_style( 'rmp_admin_inline', false );
|
72 |
wp_enqueue_style( 'rmp_admin_inline' );
|
73 |
|
74 |
$css_data = '
|
@@ -82,7 +79,6 @@ class Assets {
|
|
82 |
}
|
83 |
';
|
84 |
wp_add_inline_style( 'rmp_admin_inline', $css_data );
|
85 |
-
|
86 |
}
|
87 |
|
88 |
/**
|
@@ -92,13 +88,11 @@ class Assets {
|
|
92 |
*
|
93 |
* @return void
|
94 |
*/
|
95 |
-
public function admin_enqueue_scripts(
|
96 |
-
|
97 |
-
|
98 |
$post_type = get_post_type();
|
99 |
|
100 |
if ( empty( $post_type ) && ! empty( $_GET['post_type'] ) ) {
|
101 |
-
$post_type = sanitize_text_field( $_GET['post_type'] );
|
102 |
}
|
103 |
|
104 |
if ( 'rmp_menu' !== $post_type ) {
|
@@ -128,7 +122,8 @@ class Assets {
|
|
128 |
'rmp_admin_selectize_scripts',
|
129 |
RMP_PLUGIN_URL_V4 . '/assets/admin/js/selectize.js',
|
130 |
null,
|
131 |
-
RMP_PLUGIN_VERSION
|
|
|
132 |
);
|
133 |
|
134 |
wp_enqueue_style(
|
@@ -145,12 +140,12 @@ class Assets {
|
|
145 |
RMP_PLUGIN_VERSION
|
146 |
);
|
147 |
|
148 |
-
|
149 |
wp_enqueue_script(
|
150 |
'rmp_admin_dropzone_scripts',
|
151 |
RMP_PLUGIN_URL_V4 . '/assets/admin/js/dropzone.min.js',
|
152 |
-
array('jquery'),
|
153 |
-
RMP_PLUGIN_VERSION
|
|
|
154 |
);
|
155 |
|
156 |
wp_enqueue_style(
|
@@ -171,14 +166,13 @@ class Assets {
|
|
171 |
wp_localize_script(
|
172 |
'rmp_admin_scripts',
|
173 |
'rmpObject',
|
174 |
-
array
|
175 |
-
'ajaxURL'
|
176 |
-
'ajax_nonce'
|
177 |
'THEMES_FOLDER_URL' => wp_upload_dir()['baseurl'] . '/rmp-themes/',
|
178 |
)
|
179 |
);
|
180 |
|
181 |
-
|
182 |
wp_enqueue_script( 'rmp_admin_scripts' );
|
183 |
|
184 |
/** Enqueue the icons resources */
|
@@ -204,5 +198,4 @@ class Assets {
|
|
204 |
*/
|
205 |
do_action( 'after_rmp_enqueue_admin_scripts' );
|
206 |
}
|
207 |
-
|
208 |
}
|
15 |
|
16 |
// Disable the direct access to this class.
|
17 |
if ( ! defined( 'ABSPATH' ) ) {
|
18 |
+
exit;
|
19 |
}
|
20 |
|
21 |
/**
|
22 |
* Class Assets
|
|
|
23 |
*/
|
24 |
class Assets {
|
25 |
|
38 |
* @return void
|
39 |
*/
|
40 |
protected function setup_hooks() {
|
41 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
|
42 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'admin_custom_style_inline' ) );
|
43 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'rmp_menu_editor_style_inline' ) );
|
|
|
44 |
}
|
45 |
|
46 |
/**
|
48 |
*
|
49 |
* @since 4.0.1
|
50 |
*/
|
51 |
+
public function rmp_menu_editor_style_inline() {
|
|
|
52 |
$editor = filter_input( INPUT_GET, 'editor', FILTER_SANITIZE_STRING );
|
53 |
if ( ! empty( $editor ) && get_post_type() == 'rmp_menu' && is_admin() ) {
|
54 |
$css_data = 'html.wp-toolbar {
|
64 |
*
|
65 |
* @since 4.0.0
|
66 |
*/
|
67 |
+
public function admin_custom_style_inline() {
|
68 |
+
wp_register_style( 'rmp_admin_inline', false, array(), RMP_PLUGIN_VERSION );
|
69 |
wp_enqueue_style( 'rmp_admin_inline' );
|
70 |
|
71 |
$css_data = '
|
79 |
}
|
80 |
';
|
81 |
wp_add_inline_style( 'rmp_admin_inline', $css_data );
|
|
|
82 |
}
|
83 |
|
84 |
/**
|
88 |
*
|
89 |
* @return void
|
90 |
*/
|
91 |
+
public function admin_enqueue_scripts() {
|
|
|
|
|
92 |
$post_type = get_post_type();
|
93 |
|
94 |
if ( empty( $post_type ) && ! empty( $_GET['post_type'] ) ) {
|
95 |
+
$post_type = sanitize_text_field( wp_unslash( $_GET['post_type'] ) );
|
96 |
}
|
97 |
|
98 |
if ( 'rmp_menu' !== $post_type ) {
|
122 |
'rmp_admin_selectize_scripts',
|
123 |
RMP_PLUGIN_URL_V4 . '/assets/admin/js/selectize.js',
|
124 |
null,
|
125 |
+
RMP_PLUGIN_VERSION,
|
126 |
+
true
|
127 |
);
|
128 |
|
129 |
wp_enqueue_style(
|
140 |
RMP_PLUGIN_VERSION
|
141 |
);
|
142 |
|
|
|
143 |
wp_enqueue_script(
|
144 |
'rmp_admin_dropzone_scripts',
|
145 |
RMP_PLUGIN_URL_V4 . '/assets/admin/js/dropzone.min.js',
|
146 |
+
array( 'jquery' ),
|
147 |
+
RMP_PLUGIN_VERSION,
|
148 |
+
true
|
149 |
);
|
150 |
|
151 |
wp_enqueue_style(
|
166 |
wp_localize_script(
|
167 |
'rmp_admin_scripts',
|
168 |
'rmpObject',
|
169 |
+
array(
|
170 |
+
'ajaxURL' => admin_url( 'admin-ajax.php' ),
|
171 |
+
'ajax_nonce' => wp_create_nonce( 'rmp_nonce' ),
|
172 |
'THEMES_FOLDER_URL' => wp_upload_dir()['baseurl'] . '/rmp-themes/',
|
173 |
)
|
174 |
);
|
175 |
|
|
|
176 |
wp_enqueue_script( 'rmp_admin_scripts' );
|
177 |
|
178 |
/** Enqueue the icons resources */
|
198 |
*/
|
199 |
do_action( 'after_rmp_enqueue_admin_scripts' );
|
200 |
}
|
|
|
201 |
}
|
v4.0.0/inc/classes/class-control-manager.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @version 4.0.0
|
7 |
* @author Expresstech System
|
8 |
*
|
9 |
-
* @package responsive-menu
|
10 |
*/
|
11 |
|
12 |
namespace RMP\Features\Inc;
|
@@ -15,7 +15,7 @@ use RMP\Features\Inc\Traits\Singleton;
|
|
15 |
|
16 |
// Disable the direct access to this class.
|
17 |
if ( ! defined( 'ABSPATH' ) ) {
|
18 |
-
|
19 |
}
|
20 |
|
21 |
/**
|
@@ -24,7 +24,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
24 |
class Control_Manager {
|
25 |
|
26 |
use Singleton;
|
27 |
-
|
28 |
/**
|
29 |
* Construct method.
|
30 |
*/
|
@@ -40,25 +40,23 @@ class Control_Manager {
|
|
40 |
* @return void
|
41 |
*/
|
42 |
protected function setup_hooks() {
|
|
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
}
|
45 |
|
46 |
-
|
47 |
-
* Add hidden field input control.
|
48 |
-
*
|
49 |
-
* @version 4.0.0
|
50 |
-
*
|
51 |
-
* @param array List of attribute
|
52 |
-
*
|
53 |
-
* @return HTML|string
|
54 |
-
*/
|
55 |
-
public function add_hidden_control( $param ) {
|
56 |
-
return sprintf( '<input type="hidden" name="%s" value="%s" >',
|
57 |
-
esc_attr( $param['name'] ),
|
58 |
-
esc_attr( $param['value'] ) );
|
59 |
-
}
|
60 |
-
|
61 |
-
/**
|
62 |
* This function prepare the single text input control.
|
63 |
*
|
64 |
* @version 4.0.0
|
@@ -67,9 +65,8 @@ class Control_Manager {
|
|
67 |
* @return HTML
|
68 |
*/
|
69 |
public function add_text_input_control( $param ) {
|
70 |
-
|
71 |
if ( empty( $param ) ) {
|
72 |
-
|
73 |
}
|
74 |
|
75 |
/**
|
@@ -78,106 +75,96 @@ class Control_Manager {
|
|
78 |
* @version 4.0.0
|
79 |
* @param array $param List of attribute.
|
80 |
*/
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
$placeholder = $param['placeholder'];
|
136 |
-
}
|
137 |
|
138 |
// Check the input control type that maybe text,number or any other.
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
esc_attr( $param['id'] ),
|
149 |
-
esc_attr( $param['name'] ),
|
150 |
-
esc_attr( $has_multi_device ),
|
151 |
-
esc_attr( $class ),
|
152 |
-
esc_attr( $param['value'] ),
|
153 |
-
esc_attr( $placeholder ),
|
154 |
-
esc_attr( $is_disabled )
|
155 |
-
);
|
156 |
-
}
|
157 |
|
158 |
// Check the unit of the this control.
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
|
|
|
|
|
|
169 |
|
170 |
/**
|
171 |
* Filters the text input attributes/contents after prepared.
|
172 |
*
|
173 |
* @version 4.0.0
|
174 |
-
|
175 |
-
|
176 |
* @param array $param List of attribute.
|
177 |
*/
|
178 |
-
|
179 |
-
|
180 |
-
return $html;
|
181 |
}
|
182 |
|
183 |
/**
|
@@ -188,10 +175,9 @@ class Control_Manager {
|
|
188 |
*
|
189 |
* @return HTML
|
190 |
*/
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
return;
|
195 |
}
|
196 |
|
197 |
/**
|
@@ -200,101 +186,94 @@ class Control_Manager {
|
|
200 |
* @version 4.0.0
|
201 |
* @param array $param List of attribute.
|
202 |
*/
|
203 |
-
|
204 |
-
|
205 |
-
$group_classes = '';
|
206 |
-
|
207 |
-
if ( ! empty( $param['group_classes'] ) ) {
|
208 |
-
$group_classes = $param['group_classes'];
|
209 |
-
}
|
210 |
|
211 |
-
|
212 |
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
|
226 |
// Check this input has multi device options.
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
}
|
233 |
|
234 |
// Check the input control type that maybe text,number or any other.
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
);
|
260 |
-
}
|
261 |
-
|
262 |
-
$html .= sprintf(
|
263 |
-
'<div class="rmp-group-input-wrapper">
|
264 |
-
<button type="button" class="is-linked rmp-group-input rmp-group-input-linked">
|
265 |
-
<span class="dashicons dashicons-admin-links "></span>
|
266 |
-
</button></div>');
|
267 |
-
}
|
268 |
-
}
|
269 |
|
270 |
// Check the unit of the this control.
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
|
|
|
|
|
|
283 |
* Filters the text input attributes/contents after prepared.
|
284 |
*
|
285 |
* @version 4.0.0
|
286 |
-
|
287 |
-
|
288 |
* @param array $param List of attribute.
|
289 |
*/
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
return $html;
|
294 |
-
|
295 |
-
}
|
296 |
|
297 |
-
|
298 |
* This function prepare input unit options.
|
299 |
*
|
300 |
* @version 4.0.0
|
@@ -302,66 +281,58 @@ class Control_Manager {
|
|
302 |
*
|
303 |
* @return HTML
|
304 |
*/
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
}
|
310 |
|
311 |
-
|
312 |
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
|
322 |
-
|
323 |
|
324 |
/**
|
325 |
* Filters the input units.
|
326 |
*
|
327 |
* @param array $unit_options List of units.
|
328 |
*/
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
esc_attr( $param['name'] ),
|
359 |
-
esc_attr( $param['classes'] ),
|
360 |
-
$has_multi_device,
|
361 |
-
$options
|
362 |
-
);
|
363 |
-
|
364 |
-
}
|
365 |
|
366 |
/**
|
367 |
* This function prepare the color control.
|
@@ -371,10 +342,9 @@ class Control_Manager {
|
|
371 |
*
|
372 |
* @return HTML
|
373 |
*/
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
return;
|
378 |
}
|
379 |
|
380 |
/**
|
@@ -383,51 +353,48 @@ class Control_Manager {
|
|
383 |
* @version 4.0.0
|
384 |
* @param array $param List of attribute.
|
385 |
*/
|
386 |
-
|
387 |
-
|
388 |
-
$group_classes = '';
|
389 |
-
|
390 |
-
if ( ! empty( $param['group_classes'] ) ) {
|
391 |
-
$group_classes = $param['group_classes'];
|
392 |
-
}
|
393 |
-
|
394 |
-
$html = sprintf('<div class="rmp-input-control-wrapper %s">', esc_attr( $group_classes ) );
|
395 |
|
396 |
-
|
397 |
-
$tool_tip = '';
|
398 |
-
if ( ! empty( $param['tool_tip'] ) ) {
|
399 |
-
$tool_tip = $this->get_tool_tip( $param['tool_tip'] );
|
400 |
-
}
|
401 |
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
408 |
|
409 |
// Check this input has multi device options.
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
$class = '';
|
417 |
-
if ( ! empty( $param['class'] ) ) {
|
418 |
-
$class = $param['class'];
|
419 |
-
}
|
420 |
-
|
421 |
-
$html .= sprintf( '<input type="text" data-alpha="true" id="%s" name="%s" %s class="no-updates rmp-color-input %s" value="%s">',
|
422 |
-
esc_attr( $param['id'] ),
|
423 |
-
esc_attr( $param['name'] ),
|
424 |
-
esc_attr( $has_multi_device ),
|
425 |
-
esc_attr( $class ),
|
426 |
-
esc_attr( $param['value'] )
|
427 |
-
);
|
428 |
-
|
429 |
-
$html .= '</div></div>';
|
430 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
431 |
|
432 |
/**
|
433 |
* Filters the color input control html.
|
@@ -436,10 +403,8 @@ class Control_Manager {
|
|
436 |
* @param HTML|string Input control contents.
|
437 |
* @param array $param List of attribute.
|
438 |
*/
|
439 |
-
|
440 |
-
|
441 |
-
return $html;
|
442 |
-
}
|
443 |
|
444 |
/**
|
445 |
* This function prepare the button input control.
|
@@ -449,9 +414,9 @@ class Control_Manager {
|
|
449 |
*
|
450 |
* @return HTML
|
451 |
*/
|
452 |
-
|
453 |
-
if ( empty( $param) ) {
|
454 |
-
|
455 |
}
|
456 |
|
457 |
/**
|
@@ -460,43 +425,34 @@ class Control_Manager {
|
|
460 |
* @version 4.0.0
|
461 |
* @param array $param List of attribute.
|
462 |
*/
|
463 |
-
|
464 |
-
|
465 |
-
$group_classes = '';
|
466 |
-
if ( ! empty( $param['group_classes'] ) ) {
|
467 |
-
$group_classes = $param['group_classes'];
|
468 |
-
}
|
469 |
-
|
470 |
-
$html = sprintf( '<div class="rmp-input-control-wrapper %s">', esc_attr( $group_classes ) );
|
471 |
-
|
472 |
-
$html .= '<div class="rmp-input-control">';
|
473 |
-
|
474 |
-
$class = '';
|
475 |
-
if ( ! empty( $param['class'] ) ) {
|
476 |
-
$class = $param['class'];
|
477 |
-
}
|
478 |
-
|
479 |
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
487 |
|
488 |
/**
|
489 |
* Filters the button input control html.
|
|
|
490 |
* @version 4.0.0
|
491 |
-
|
492 |
* @param HTML|string Input control contents.
|
493 |
* @param array $param List of attribute.
|
494 |
*/
|
495 |
-
|
496 |
-
|
497 |
-
return $html;
|
498 |
-
|
499 |
-
}
|
500 |
|
501 |
/**
|
502 |
* This function prepare the checkbox as switcher input control.
|
@@ -506,11 +462,10 @@ class Control_Manager {
|
|
506 |
*
|
507 |
* @return HTML
|
508 |
*/
|
509 |
-
|
510 |
-
|
511 |
if ( empty( $param ) ) {
|
512 |
-
|
513 |
-
|
514 |
|
515 |
/**
|
516 |
* Filters the switcher input control attributes.
|
@@ -518,90 +473,74 @@ class Control_Manager {
|
|
518 |
* @version 4.0.0
|
519 |
* @param array $param List of attribute.
|
520 |
*/
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
$html .= sprintf( '<input %s type="hidden" value="off" name="%s"/>', esc_attr( $is_disabled ), esc_attr( $param['name'] ) );
|
579 |
-
$html .= sprintf( '<input %s type="checkbox" id="%s" name="%s" %s class="toggle %s" value="on" %s>',
|
580 |
-
esc_attr( $is_disabled ),
|
581 |
-
esc_attr( $param['id'] ),
|
582 |
-
esc_attr( $param['name'] ),
|
583 |
-
esc_attr( $has_multi_device ),
|
584 |
-
esc_attr( $class ),
|
585 |
-
esc_attr( $param['is_checked'] )
|
586 |
-
);
|
587 |
-
|
588 |
-
$html .= '</div>';
|
589 |
-
}
|
590 |
-
|
591 |
-
$html .= '</div>';
|
592 |
|
593 |
/**
|
594 |
* Filters the switcher input control html.
|
595 |
*
|
596 |
* @version 4.0.0
|
597 |
-
|
598 |
* @param HTML|string Input control contents.
|
599 |
* @param array $param List of attribute.
|
600 |
*/
|
601 |
-
|
602 |
-
|
603 |
-
return $html;
|
604 |
-
}
|
605 |
|
606 |
/**
|
607 |
* This function prepare the select/dropdown input control.
|
@@ -611,10 +550,9 @@ class Control_Manager {
|
|
611 |
*
|
612 |
* @return HTML
|
613 |
*/
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
return;
|
618 |
}
|
619 |
|
620 |
/**
|
@@ -623,120 +561,100 @@ class Control_Manager {
|
|
623 |
* @version 4.0.0
|
624 |
* @param array $param List of attribute.
|
625 |
*/
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
$tool_tip,
|
664 |
-
$feature_label
|
665 |
-
);
|
666 |
-
}
|
667 |
-
|
668 |
-
$html .= '<div class="rmp-input-control">';
|
669 |
|
670 |
// Check multi device options is enabled.
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
}
|
682 |
-
|
683 |
-
$options = '';
|
684 |
-
|
685 |
-
if ( ! empty( $param['options'] ) ) {
|
686 |
-
foreach( $param['options'] as $key => $value ) {
|
687 |
-
$is_select = '';
|
688 |
-
if ( ! empty( $param['value'] ) ) {
|
689 |
-
if( ! empty( $param['multiple'] ) && is_array( $param['value'] ) && in_array( $key, $param['value'] ) ) {
|
690 |
-
$is_select = 'selected';
|
691 |
-
} elseif( $key == $param['value'] ) {
|
692 |
-
$is_select = 'selected';
|
693 |
-
}
|
694 |
-
}
|
695 |
-
|
696 |
-
// Check options is pro.
|
697 |
-
$disabled = '';
|
698 |
-
if ( strpos( strtolower($value) , 'pro' ) ) {
|
699 |
-
$disabled = 'disabled';
|
700 |
-
}
|
701 |
-
|
702 |
-
$options .= sprintf('<option %s value="%s" %s> %s </option>',
|
703 |
-
esc_attr( $disabled ),
|
704 |
-
esc_attr( $key ),
|
705 |
-
esc_attr( $is_select ),
|
706 |
-
esc_html( $value )
|
707 |
-
);
|
708 |
-
}
|
709 |
-
}
|
710 |
|
711 |
// Check multiple value is allowed.
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
727 |
|
728 |
/**
|
729 |
* Filters the select input control html.
|
730 |
*
|
731 |
* @version 4.0.0
|
732 |
-
|
733 |
* @param HTML|string Input control contents.
|
734 |
* @param array $param List of attribute.
|
735 |
*/
|
736 |
-
|
737 |
-
|
738 |
-
return $html;
|
739 |
-
}
|
740 |
|
741 |
/**
|
742 |
* This function prepare the tooltip.
|
@@ -746,29 +664,30 @@ class Control_Manager {
|
|
746 |
*
|
747 |
* @return HTML
|
748 |
*/
|
749 |
-
|
750 |
-
|
751 |
if ( empty( $param['text'] ) ) {
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
|
|
|
|
772 |
* This function prepare the shortcut.
|
773 |
*
|
774 |
* @version 4.0.0
|
@@ -776,40 +695,37 @@ class Control_Manager {
|
|
776 |
*
|
777 |
* @return HTML
|
778 |
*/
|
779 |
-
|
780 |
-
|
781 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
782 |
}
|
783 |
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
if ( ! empty( $param['sub_accordion_id'] ) ) {
|
793 |
-
$sub_accordion_id = $param['sub_accordion_id'];
|
794 |
-
}
|
795 |
-
|
796 |
-
// Sub tab id.
|
797 |
-
$sub_tab_id = '';
|
798 |
-
if ( ! empty( $param['sub_tab_id'] ) ) {
|
799 |
-
$sub_tab_id = $param['sub_tab_id'];
|
800 |
-
}
|
801 |
-
|
802 |
-
if(!empty ($param['label']) && !empty ($param['target'])){
|
803 |
-
$html = sprintf( '<div class="rmp-quick-edit-link rmp-input-control-wrapper" aria-owns="%s" accordion-id="%s" sub-accordion-id="%s" sub-tab-id="%s"><a href="javascript:void(0)">%s <i class="fas fa-share"></i></a></div>',
|
804 |
-
esc_attr( $param["target"] ),
|
805 |
-
esc_attr( $accordion_id ),
|
806 |
-
esc_attr( $sub_accordion_id ),
|
807 |
-
esc_attr( $sub_tab_id ),
|
808 |
-
esc_attr( $param["label"] )
|
809 |
-
);
|
810 |
-
}
|
811 |
-
echo $html;
|
812 |
-
}
|
813 |
|
814 |
/**
|
815 |
* This function prepare the icon picker control.
|
@@ -819,115 +735,102 @@ class Control_Manager {
|
|
819 |
*
|
820 |
* @return HTML
|
821 |
*/
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
return;
|
826 |
}
|
827 |
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
}
|
867 |
-
|
868 |
-
$html .= sprintf('<div class="rmp-input-control rmp-icon-picker-container">');
|
869 |
|
870 |
// Check multiple device option enabled.
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
-
|
876 |
-
|
877 |
-
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
esc_attr( $is_icon_set ),
|
913 |
-
file_get_contents( RMP_PLUGIN_PATH_V4 .'/assets/admin/icons/svg/image-placeholder.svg' ),
|
914 |
-
$icon_value,
|
915 |
-
$trash_icon
|
916 |
-
);
|
917 |
-
|
918 |
-
$html .= '</div></div>';
|
919 |
|
920 |
/**
|
921 |
* Filters the icon picker control html.
|
922 |
*
|
923 |
* @version 4.0.0
|
924 |
-
|
925 |
* @param HTML|string Input control contents.
|
926 |
* @param array $param List of attribute.
|
927 |
*/
|
928 |
-
|
929 |
-
|
930 |
-
return $html;
|
931 |
}
|
932 |
|
933 |
/**
|
@@ -938,92 +841,93 @@ class Control_Manager {
|
|
938 |
*
|
939 |
* @return HTML
|
940 |
*/
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
}
|
946 |
-
|
947 |
-
$group_classes = '';
|
948 |
-
|
949 |
-
if ( ! empty( $param['group_classes'] ) ) {
|
950 |
-
$group_classes = $param['group_classes'];
|
951 |
-
}
|
952 |
|
953 |
-
|
954 |
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
960 |
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
|
|
|
|
965 |
|
966 |
-
|
|
|
|
|
|
|
967 |
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
<label> Choose Image</label>
|
1002 |
-
</div>
|
1003 |
-
%s
|
1004 |
-
</div>',
|
1005 |
-
esc_attr( $param['picker_class'] ),
|
1006 |
-
esc_attr( $param['id'] ),
|
1007 |
-
esc_attr( $param['picker_id'] ),
|
1008 |
-
$image_style,
|
1009 |
-
file_get_contents( RMP_PLUGIN_PATH_V4 .'/assets/admin/icons/svg/image-placeholder.svg' ),
|
1010 |
-
$trash_icon
|
1011 |
-
);
|
1012 |
-
|
1013 |
-
$html .= '</div></div>';
|
1014 |
|
1015 |
/**
|
1016 |
* Filters the icon picker control html.
|
1017 |
*
|
1018 |
* @version 4.0.0
|
1019 |
-
|
1020 |
* @param HTML|string Input control contents.
|
1021 |
* @param array $param List of attribute.
|
1022 |
*/
|
1023 |
-
|
1024 |
-
|
1025 |
-
return $html;
|
1026 |
-
}
|
1027 |
|
1028 |
/**
|
1029 |
* This function prepare the alignment control.
|
@@ -1033,183 +937,167 @@ class Control_Manager {
|
|
1033 |
*
|
1034 |
* @return HTML
|
1035 |
*/
|
1036 |
-
|
1037 |
-
|
1038 |
-
|
1039 |
-
|
1040 |
-
}
|
1041 |
-
|
1042 |
-
$group_classes = '';
|
1043 |
-
|
1044 |
-
if ( ! empty( $param['group_classes'] ) ) {
|
1045 |
-
$group_classes = $param['group_classes'];
|
1046 |
-
}
|
1047 |
-
|
1048 |
-
$html = sprintf('<div class="rmp-input-control-wrapper %s">' , esc_attr( $group_classes ) );
|
1049 |
-
|
1050 |
-
//Check tooltip text is added or not.
|
1051 |
-
$tool_tip = '';
|
1052 |
-
if ( ! empty( $param['tool_tip'] ) ) {
|
1053 |
-
$tool_tip = $this->get_tool_tip( $param['tool_tip'] );
|
1054 |
-
}
|
1055 |
|
1056 |
-
|
1057 |
-
if ( ! empty( $param['label'] ) ) {
|
1058 |
-
$html .= sprintf('<div class="rmp-input-control-label"> <span> %s </span> %s </div>', esc_html( $param['label'] ), $tool_tip );
|
1059 |
-
}
|
1060 |
|
1061 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1062 |
|
1063 |
// Check multiple device options is enabled.
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
-
|
1097 |
-
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
1107 |
-
|
1108 |
-
|
1109 |
-
|
1110 |
-
|
1111 |
-
$html .= '</div></div>';
|
1112 |
|
1113 |
/**
|
1114 |
* Filters the icon picker control html.
|
1115 |
*
|
1116 |
* @version 4.0.0
|
1117 |
-
|
1118 |
* @param HTML|string Input control contents.
|
1119 |
* @param array $param List of attribute.
|
1120 |
*/
|
1121 |
-
|
1122 |
-
|
1123 |
-
return $html;
|
1124 |
-
}
|
1125 |
|
1126 |
-
|
1127 |
-
|
1128 |
* those are mobile, tablet and desktop as options.
|
1129 |
-
|
1130 |
* @version 4.0.0
|
1131 |
-
|
1132 |
* @param array $options list of values.
|
1133 |
-
|
1134 |
-
|
1135 |
-
|
1136 |
-
|
1137 |
-
|
1138 |
-
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
-
|
1144 |
-
|
1145 |
-
|
1146 |
-
|
1147 |
-
|
1148 |
-
|
1149 |
-
|
1150 |
-
|
1151 |
-
|
1152 |
-
|
1153 |
-
|
1154 |
-
|
1155 |
-
|
1156 |
-
|
1157 |
-
|
1158 |
-
|
1159 |
-
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
|
1166 |
-
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
-
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
-
|
1178 |
-
|
1179 |
-
|
1180 |
-
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
|
1196 |
-
$device_options = sprintf( '<div class="device-icons-group">%s %s %s</div>', $mobile, $tablet, $desktop );
|
1197 |
-
|
1198 |
-
return sprintf(
|
1199 |
-
'<div class="rmp-input-control-wrapper full-size">
|
1200 |
-
<label class="rmp-input-control-label">
|
1201 |
-
%s
|
1202 |
-
<a target="_blank" class="upgrade-tooltip" href="%s" > PRO </a>
|
1203 |
-
</label>
|
1204 |
-
<div class="rmp-input-control">
|
1205 |
-
%s
|
1206 |
-
</div>
|
1207 |
-
</div>',
|
1208 |
-
__('Device Visibility', 'responsive-menu-pro'),
|
1209 |
-
esc_url( $this->pro_pricing_url ),
|
1210 |
-
$device_options
|
1211 |
-
);
|
1212 |
-
}
|
1213 |
|
1214 |
/**
|
1215 |
* Function to return the device options markup.
|
@@ -1219,58 +1107,64 @@ class Control_Manager {
|
|
1219 |
* @return HTML
|
1220 |
*/
|
1221 |
protected function get_device_options() {
|
1222 |
-
|
1223 |
-
|
1224 |
-
|
1225 |
-
|
1226 |
-
|
1227 |
-
|
1228 |
-
|
1229 |
-
|
1230 |
-
|
1231 |
-
|
1232 |
-
|
1233 |
-
|
1234 |
-
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
-
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1245 |
if ( empty( $param['text'] ) ) {
|
1246 |
return;
|
1247 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1248 |
|
1249 |
-
|
1250 |
-
|
1251 |
-
|
1252 |
-
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
1260 |
-
}
|
1261 |
-
|
1262 |
-
public function upgrade_notice() {
|
1263 |
-
return sprintf(
|
1264 |
-
'<div class="upgrade-options">
|
1265 |
-
<div class="upgrade-notes">
|
1266 |
-
<p> %s </p>
|
1267 |
-
<a target="_blank" href="%s" class="button"> %s </a>
|
1268 |
-
</div>
|
1269 |
-
</div>',
|
1270 |
-
esc_url( $this->pro_pricing_url ),
|
1271 |
-
__('This feature is not available in free version. <br/> Upgrade now to use', 'responsive-menu-pro'),
|
1272 |
-
esc_html__('Upgrade to Pro', 'responsive-menu-pro')
|
1273 |
-
);
|
1274 |
-
}
|
1275 |
-
|
1276 |
-
}
|
6 |
* @version 4.0.0
|
7 |
* @author Expresstech System
|
8 |
*
|
9 |
+
* @package responsive-menu
|
10 |
*/
|
11 |
|
12 |
namespace RMP\Features\Inc;
|
15 |
|
16 |
// Disable the direct access to this class.
|
17 |
if ( ! defined( 'ABSPATH' ) ) {
|
18 |
+
exit;
|
19 |
}
|
20 |
|
21 |
/**
|
24 |
class Control_Manager {
|
25 |
|
26 |
use Singleton;
|
27 |
+
public $pro_plugin_url = 'https://responsive.menu/pricing?utm_source=free-plugin&utm_medium=option&utm_campaign=hide_on_mobile';
|
28 |
/**
|
29 |
* Construct method.
|
30 |
*/
|
40 |
* @return void
|
41 |
*/
|
42 |
protected function setup_hooks() {
|
43 |
+
}
|
44 |
|
45 |
+
/**
|
46 |
+
* Add hidden field input control.
|
47 |
+
*
|
48 |
+
* @version 4.0.0
|
49 |
+
*
|
50 |
+
* @param array List of attribute
|
51 |
+
*
|
52 |
+
* @return HTML|string
|
53 |
+
*/
|
54 |
+
public function add_hidden_control( $param ) {
|
55 |
+
?><input type="hidden" name="<?php echo esc_attr( $param['name'] ); ?>" value="<?php echo esc_attr( $param['value'] ); ?>" >
|
56 |
+
<?php
|
57 |
}
|
58 |
|
59 |
+
/**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
* This function prepare the single text input control.
|
61 |
*
|
62 |
* @version 4.0.0
|
65 |
* @return HTML
|
66 |
*/
|
67 |
public function add_text_input_control( $param ) {
|
|
|
68 |
if ( empty( $param ) ) {
|
69 |
+
return;
|
70 |
}
|
71 |
|
72 |
/**
|
75 |
* @version 4.0.0
|
76 |
* @param array $param List of attribute.
|
77 |
*/
|
78 |
+
$param = apply_filters( 'rmp_before_add_text_input_control', $param );
|
79 |
+
|
80 |
+
$is_disabled = '';
|
81 |
+
$group_classes = '';
|
82 |
+
if ( ! empty( $param['group_classes'] ) ) {
|
83 |
+
$group_classes = $param['group_classes'];
|
84 |
+
}
|
85 |
+
?>
|
86 |
+
<div class="rmp-input-control-wrapper <?php echo esc_attr( $group_classes ); ?>">
|
87 |
+
<?php
|
88 |
+
|
89 |
+
// Check label is exist.
|
90 |
+
if ( ! empty( $param['label'] ) ) {
|
91 |
+
?>
|
92 |
+
<div class="rmp-input-control-label">
|
93 |
+
<span> <?php echo esc_html( $param['label'] ); ?> </span>
|
94 |
+
<span>
|
95 |
+
<?php
|
96 |
+
// Check tooltip text is added or not.
|
97 |
+
if ( ! empty( $param['tool_tip'] ) ) {
|
98 |
+
$this->get_tool_tip( $param['tool_tip'] );
|
99 |
+
}
|
100 |
+
?>
|
101 |
+
</span>
|
102 |
+
<?php
|
103 |
+
// Check feature type.
|
104 |
+
if ( ! empty( $param['feature_type'] ) ) {
|
105 |
+
$is_disabled = 'disabled';
|
106 |
+
?>
|
107 |
+
<a target="_blank" rel="noopener" class="upgrade-tooltip" href="<?php echo esc_url( $this->pro_plugin_url ); ?>" >
|
108 |
+
<?php echo esc_html( $param['feature_type'] ); ?>
|
109 |
+
</a>
|
110 |
+
<?php
|
111 |
+
}
|
112 |
+
?>
|
113 |
+
</div>
|
114 |
+
<?php
|
115 |
+
}
|
116 |
+
?>
|
117 |
+
<div class="rmp-input-control">
|
118 |
+
<?php
|
119 |
+
|
120 |
+
// Check this input has multi device options.
|
121 |
+
$has_multi_device = '';
|
122 |
+
if ( ! empty( $param['multi_device'] ) ) {
|
123 |
+
$has_multi_device = 'multi-device=true';
|
124 |
+
$this->get_device_options();
|
125 |
+
}
|
126 |
+
|
127 |
+
// Place holder text.
|
128 |
+
$placeholder = '';
|
129 |
+
if ( ! empty( $param['placeholder'] ) ) {
|
130 |
+
$placeholder = $param['placeholder'];
|
131 |
+
}
|
|
|
|
|
132 |
|
133 |
// Check the input control type that maybe text,number or any other.
|
134 |
+
if ( ! empty( $param['type'] ) ) {
|
135 |
+
$class = '';
|
136 |
+
if ( ! empty( $param['class'] ) ) {
|
137 |
+
$class = $param['class'];
|
138 |
+
}
|
139 |
+
?>
|
140 |
+
<input type="<?php echo esc_attr( $param['type'] ); ?>" id="<?php echo esc_attr( $param['id'] ); ?>" name="<?php echo esc_attr( $param['name'] ); ?>" <?php echo esc_attr( $has_multi_device ); ?> class="<?php echo esc_attr( $class ); ?>" value="<?php echo esc_attr( $param['value'] ); ?>" placeholder="<?php echo esc_attr( $placeholder ); ?>" <?php echo esc_attr( $is_disabled ); ?> >
|
141 |
+
<?php
|
142 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
|
144 |
// Check the unit of the this control.
|
145 |
+
if ( ! empty( $param['has_unit'] ) ) {
|
146 |
+
$unit_type = $param['has_unit']['unit_type'];
|
147 |
+
if ( 'all' === $unit_type ) {
|
148 |
+
$this->get_input_control_unit( $param['has_unit'] );
|
149 |
+
} else {
|
150 |
+
?>
|
151 |
+
<span class="unit-<?php echo esc_html( $unit_type ); ?>"> <?php echo esc_html( $unit_type ); ?> </span>
|
152 |
+
<?php
|
153 |
+
}
|
154 |
+
}
|
155 |
+
?>
|
156 |
+
</div></div>
|
157 |
+
<?php
|
158 |
|
159 |
/**
|
160 |
* Filters the text input attributes/contents after prepared.
|
161 |
*
|
162 |
* @version 4.0.0
|
163 |
+
*
|
164 |
+
* @param HTML|string Input control contents.
|
165 |
* @param array $param List of attribute.
|
166 |
*/
|
167 |
+
echo apply_filters( 'rmp_text_control_html', '', $param );
|
|
|
|
|
168 |
}
|
169 |
|
170 |
/**
|
175 |
*
|
176 |
* @return HTML
|
177 |
*/
|
178 |
+
public function add_group_text_control( $param ) {
|
179 |
+
if ( empty( $param ) ) {
|
180 |
+
return;
|
|
|
181 |
}
|
182 |
|
183 |
/**
|
186 |
* @version 4.0.0
|
187 |
* @param array $param List of attribute.
|
188 |
*/
|
189 |
+
$param = apply_filters( 'rmp_before_add_group_text_control', $param );
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
|
191 |
+
$group_classes = '';
|
192 |
|
193 |
+
if ( ! empty( $param['group_classes'] ) ) {
|
194 |
+
$group_classes = $param['group_classes'];
|
195 |
+
}
|
196 |
+
?>
|
197 |
+
<div class="rmp-input-control-wrapper full-size <?php echo esc_attr( $group_classes ); ?>">
|
198 |
+
<?php
|
199 |
+
|
200 |
+
// Check label is exist.
|
201 |
+
if ( ! empty( $param['label'] ) ) {
|
202 |
+
?>
|
203 |
+
<div class="rmp-input-control-label"> <span> <?php echo esc_html( $param['label'] ); ?> </span>
|
204 |
+
<?php
|
205 |
+
// Check tooltip text is added or not.
|
206 |
+
if ( ! empty( $param['tool_tip'] ) ) {
|
207 |
+
$this->get_tool_tip( $param['tool_tip'] );
|
208 |
+
}
|
209 |
+
?>
|
210 |
+
</div>
|
211 |
+
<?php
|
212 |
+
}
|
213 |
+
?>
|
214 |
+
<div class="rmp-input-control rmp-input-group-control">
|
215 |
+
<?php
|
216 |
|
217 |
// Check this input has multi device options.
|
218 |
+
$has_multi_device = '';
|
219 |
+
if ( ! empty( $param['multi_device'] ) ) {
|
220 |
+
$has_multi_device = 'multi-device=true';
|
221 |
+
$this->get_device_options();
|
222 |
+
}
|
|
|
223 |
|
224 |
// Check the input control type that maybe text,number or any other.
|
225 |
+
if ( ! empty( $param['type'] ) ) {
|
226 |
+
$class = '';
|
227 |
+
if ( ! empty( $param['class'] ) ) {
|
228 |
+
$class = $param['class'];
|
229 |
+
}
|
230 |
+
|
231 |
+
if ( ! empty( $param['input_options'] ) ) {
|
232 |
+
foreach ( $param['input_options'] as $input ) {
|
233 |
+
$value = ! empty( $param['value_options'][ $input ] ) ? $param['value_options'][ $input ] : '0px';
|
234 |
+
?>
|
235 |
+
<div class="rmp-group-input-wrapper">
|
236 |
+
<label> <?php echo esc_html( $input ); ?> </label>
|
237 |
+
<input type="<?php echo esc_attr( $param['type'] ); ?>" placeholder="0px" data-input="<?php echo esc_attr( $input ); ?>" id="<?php echo esc_attr( $class . '-' . $input ); ?>" name="<?php echo esc_attr( $param['name'] . '[' . $input . ']' ); ?>" <?php echo esc_attr( $has_multi_device ); ?> class="no-updates rmp-group-input <?php echo esc_attr( $class ); ?>" value="<?php echo esc_attr( $value ); ?>">
|
238 |
+
</div>
|
239 |
+
<?php
|
240 |
+
}
|
241 |
+
?>
|
242 |
+
<div class="rmp-group-input-wrapper">
|
243 |
+
<button type="button" class="is-linked rmp-group-input rmp-group-input-linked">
|
244 |
+
<span class="dashicons dashicons-admin-links "></span>
|
245 |
+
</button></div>
|
246 |
+
<?php
|
247 |
+
}
|
248 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
|
250 |
// Check the unit of the this control.
|
251 |
+
if ( ! empty( $param['has_unit'] ) ) {
|
252 |
+
$unit_type = $param['has_unit']['unit_type'];
|
253 |
+
if ( 'all' === $unit_type ) {
|
254 |
+
$this->get_input_control_unit( $param['has_unit'] );
|
255 |
+
} else {
|
256 |
+
?>
|
257 |
+
<span class="unit-<?php echo esc_html( $unit_type ); ?>"> <?php echo esc_html( $unit_type ); ?> </span>
|
258 |
+
<?php
|
259 |
+
}
|
260 |
+
}
|
261 |
+
?>
|
262 |
+
</div></div>
|
263 |
+
<?php
|
264 |
+
|
265 |
+
/**
|
266 |
* Filters the text input attributes/contents after prepared.
|
267 |
*
|
268 |
* @version 4.0.0
|
269 |
+
*
|
270 |
+
* @param HTML|string Input control contents.
|
271 |
* @param array $param List of attribute.
|
272 |
*/
|
273 |
+
echo apply_filters( 'rmp_text_control_html', '', $param );
|
274 |
+
}
|
|
|
|
|
|
|
|
|
275 |
|
276 |
+
/**
|
277 |
* This function prepare input unit options.
|
278 |
*
|
279 |
* @version 4.0.0
|
281 |
*
|
282 |
* @return HTML
|
283 |
*/
|
284 |
+
protected function get_input_control_unit( $param ) {
|
285 |
+
if ( empty( $param['name'] ) ) {
|
286 |
+
return;
|
287 |
+
}
|
|
|
288 |
|
289 |
+
$value = '';
|
290 |
|
291 |
+
if ( ! empty( $param['value'] ) ) {
|
292 |
+
$value = $param['value'];
|
293 |
+
}
|
294 |
|
295 |
+
$has_multi_device = 'false';
|
296 |
+
if ( ! empty( $param['multi_device'] ) ) {
|
297 |
+
$has_multi_device = 'true';
|
298 |
+
}
|
299 |
|
300 |
+
$unit_options = array( 'px', '%', 'em', 'rem', 'vw', 'vh' );
|
301 |
|
302 |
/**
|
303 |
* Filters the input units.
|
304 |
*
|
305 |
* @param array $unit_options List of units.
|
306 |
*/
|
307 |
+
$unit_options = apply_filters( 'rmp_input_units', $unit_options );
|
308 |
+
?>
|
309 |
+
<select id="<?php echo esc_attr( $param['id'] ); ?>" name="<?php echo esc_attr( $param['name'] ); ?>" class="<?php echo esc_attr( $param['classes'] ); ?>" multi-device="<?php echo esc_attr( $has_multi_device ); ?>" >
|
310 |
+
<?php
|
311 |
+
foreach ( $unit_options as $unit ) {
|
312 |
+
$is_selected = '';
|
313 |
+
if ( $value === $unit ) {
|
314 |
+
$is_selected = 'selected';
|
315 |
+
}
|
316 |
+
|
317 |
+
$is_disabled = '';
|
318 |
+
if ( ! empty( $param['default'] ) && $param['default'] !== $unit ) {
|
319 |
+
$is_disabled = 'disabled';
|
320 |
+
}
|
321 |
+
?>
|
322 |
+
<option <?php echo esc_attr( $is_disabled ); ?> value="<?php echo esc_attr( $unit ); ?>" <?php echo esc_attr( $is_selected ); ?> >
|
323 |
+
<?php
|
324 |
+
echo esc_attr( $unit );
|
325 |
+
if ( ! empty( $param['default'] ) && $param['default'] !== $unit ) {
|
326 |
+
esc_html_e( ' (PRO)', 'responsive-menu' );
|
327 |
+
}
|
328 |
+
?>
|
329 |
+
</option>
|
330 |
+
<?php
|
331 |
+
}
|
332 |
+
?>
|
333 |
+
</select>
|
334 |
+
<?php
|
335 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
336 |
|
337 |
/**
|
338 |
* This function prepare the color control.
|
342 |
*
|
343 |
* @return HTML
|
344 |
*/
|
345 |
+
public function add_color_control( $param ) {
|
346 |
+
if ( empty( $param ) ) {
|
347 |
+
return;
|
|
|
348 |
}
|
349 |
|
350 |
/**
|
353 |
* @version 4.0.0
|
354 |
* @param array $param List of attribute.
|
355 |
*/
|
356 |
+
$param = apply_filters( 'rmp_before_add_color_control', $param );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
357 |
|
358 |
+
$group_classes = '';
|
|
|
|
|
|
|
|
|
359 |
|
360 |
+
if ( ! empty( $param['group_classes'] ) ) {
|
361 |
+
$group_classes = $param['group_classes'];
|
362 |
+
}
|
363 |
+
?>
|
364 |
+
<div class="rmp-input-control-wrapper <?php echo esc_attr( $group_classes ); ?>">
|
365 |
+
<?php
|
366 |
+
|
367 |
+
// Check label is exist.
|
368 |
+
if ( ! empty( $param['label'] ) ) {
|
369 |
+
?>
|
370 |
+
<div class="rmp-input-control-label"> <span> <?php echo esc_html( $param['label'] ); ?> </span>
|
371 |
+
<?php
|
372 |
+
// Check tooltip text is added or not.
|
373 |
+
if ( ! empty( $param['tool_tip'] ) ) {
|
374 |
+
$this->get_tool_tip( $param['tool_tip'] );
|
375 |
+
}
|
376 |
+
?>
|
377 |
+
</div>
|
378 |
+
<?php
|
379 |
+
}
|
380 |
+
?>
|
381 |
+
<div class="rmp-input-control">
|
382 |
+
<?php
|
383 |
|
384 |
// Check this input has multi device options.
|
385 |
+
$has_multi_device = '';
|
386 |
+
if ( ! empty( $param['multi_device'] ) ) {
|
387 |
+
$has_multi_device = 'multi-device=true';
|
388 |
+
$this->get_device_options();
|
389 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
390 |
|
391 |
+
$class = '';
|
392 |
+
if ( ! empty( $param['class'] ) ) {
|
393 |
+
$class = $param['class'];
|
394 |
+
}
|
395 |
+
?>
|
396 |
+
<input type="text" data-alpha="true" id="<?php echo esc_attr( $param['id'] ); ?>" name="<?php echo esc_attr( $param['name'] ); ?>" <?php echo esc_attr( $has_multi_device ); ?> class="no-updates rmp-color-input <?php echo esc_attr( $class ); ?>" value="<?php echo esc_attr( $param['value'] ); ?>"></div></div>
|
397 |
+
<?php
|
398 |
|
399 |
/**
|
400 |
* Filters the color input control html.
|
403 |
* @param HTML|string Input control contents.
|
404 |
* @param array $param List of attribute.
|
405 |
*/
|
406 |
+
echo apply_filters( 'rmp_color_control_html', '', $param );
|
407 |
+
}
|
|
|
|
|
408 |
|
409 |
/**
|
410 |
* This function prepare the button input control.
|
414 |
*
|
415 |
* @return HTML
|
416 |
*/
|
417 |
+
public function add_button_control( $param ) {
|
418 |
+
if ( empty( $param ) ) {
|
419 |
+
return;
|
420 |
}
|
421 |
|
422 |
/**
|
425 |
* @version 4.0.0
|
426 |
* @param array $param List of attribute.
|
427 |
*/
|
428 |
+
$param = apply_filters( 'rmp_before_add_button_control', $param );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
429 |
|
430 |
+
$group_classes = '';
|
431 |
+
if ( ! empty( $param['group_classes'] ) ) {
|
432 |
+
$group_classes = $param['group_classes'];
|
433 |
+
}
|
434 |
+
$class = '';
|
435 |
+
if ( ! empty( $param['class'] ) ) {
|
436 |
+
$class = $param['class'];
|
437 |
+
}
|
438 |
+
?>
|
439 |
+
<div class="rmp-input-control-wrapper <?php echo esc_attr( $group_classes ); ?>">
|
440 |
+
<div class="rmp-input-control">
|
441 |
+
<button type="button" id="<?php echo esc_attr( $param['id'] ); ?>" class="button button-primary button-large <?php echo esc_attr( $class ); ?>" ><?php echo esc_html( $param['label'] ); ?></button>
|
442 |
+
</div>
|
443 |
+
</div>
|
444 |
+
<?php
|
445 |
|
446 |
/**
|
447 |
* Filters the button input control html.
|
448 |
+
*
|
449 |
* @version 4.0.0
|
450 |
+
*
|
451 |
* @param HTML|string Input control contents.
|
452 |
* @param array $param List of attribute.
|
453 |
*/
|
454 |
+
echo apply_filters( 'rmp_button_control_html', '', $param );
|
455 |
+
}
|
|
|
|
|
|
|
456 |
|
457 |
/**
|
458 |
* This function prepare the checkbox as switcher input control.
|
462 |
*
|
463 |
* @return HTML
|
464 |
*/
|
465 |
+
public function add_switcher_control( $param ) {
|
|
|
466 |
if ( empty( $param ) ) {
|
467 |
+
return;
|
468 |
+
}
|
469 |
|
470 |
/**
|
471 |
* Filters the switcher input control attributes.
|
473 |
* @version 4.0.0
|
474 |
* @param array $param List of attribute.
|
475 |
*/
|
476 |
+
$param = apply_filters( 'rmp_before_add_switcher_control', $param );
|
477 |
+
|
478 |
+
$group_classes = '';
|
479 |
+
|
480 |
+
if ( ! empty( $param['group_classes'] ) ) {
|
481 |
+
$group_classes = $param['group_classes'];
|
482 |
+
}
|
483 |
+
?>
|
484 |
+
<div class="rmp-input-control-wrapper rmp-input-control-switcher <?php echo esc_attr( $group_classes ); ?>" >
|
485 |
+
<?php
|
486 |
+
|
487 |
+
// Check label is exist.
|
488 |
+
if ( ! empty( $param['label'] ) ) {
|
489 |
+
?>
|
490 |
+
<div class="rmp-input-control-label">
|
491 |
+
<span> <?php echo esc_html( $param['label'] ); ?> </span>
|
492 |
+
<?php
|
493 |
+
// Check tooltip text is added or not.
|
494 |
+
if ( ! empty( $param['tool_tip'] ) ) {
|
495 |
+
$this->get_tool_tip( $param['tool_tip'] );
|
496 |
+
}
|
497 |
+
?>
|
498 |
+
</div>
|
499 |
+
<?php
|
500 |
+
}
|
501 |
+
|
502 |
+
if ( ! empty( $param['name'] ) ) {
|
503 |
+
?>
|
504 |
+
<div class="rmp-input-control">
|
505 |
+
<?php
|
506 |
+
$is_disabled = '';
|
507 |
+
// Check feature type.
|
508 |
+
if ( ! empty( $param['feature_type'] ) ) {
|
509 |
+
$is_disabled = 'disabled';
|
510 |
+
?>
|
511 |
+
<a target="_blank" rel="noopener" class="upgrade-tooltip" href="<?php echo esc_url( $this->pro_plugin_url ); ?>" > <?php echo esc_html( $param['feature_type'] ); ?> </a>
|
512 |
+
<?php
|
513 |
+
}
|
514 |
+
|
515 |
+
// Check multi device options is enabled.
|
516 |
+
$has_multi_device = '';
|
517 |
+
if ( ! empty( $param['multi_device'] ) ) {
|
518 |
+
$has_multi_device = 'multi-device=true';
|
519 |
+
$this->get_device_options();
|
520 |
+
}
|
521 |
+
|
522 |
+
$class = '';
|
523 |
+
if ( ! empty( $param['class'] ) ) {
|
524 |
+
$class = $param['class'];
|
525 |
+
}
|
526 |
+
?>
|
527 |
+
<input <?php echo esc_attr( $is_disabled ); ?> type="hidden" value="off" name="<?php echo esc_attr( $param['name'] ); ?>"/><input <?php echo esc_attr( $is_disabled ); ?> type="checkbox" id="<?php echo esc_attr( $param['id'] ); ?>" name="<?php echo esc_attr( $param['name'] ); ?>" <?php echo esc_attr( $has_multi_device ); ?> class="toggle <?php echo esc_attr( $class ); ?>" value="on" <?php echo esc_attr( $param['is_checked'] ); ?> ></div>
|
528 |
+
<?php
|
529 |
+
}
|
530 |
+
?>
|
531 |
+
</div>
|
532 |
+
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
533 |
|
534 |
/**
|
535 |
* Filters the switcher input control html.
|
536 |
*
|
537 |
* @version 4.0.0
|
538 |
+
*
|
539 |
* @param HTML|string Input control contents.
|
540 |
* @param array $param List of attribute.
|
541 |
*/
|
542 |
+
echo apply_filters( 'rmp_switcher_control_html', '', $param );
|
543 |
+
}
|
|
|
|
|
544 |
|
545 |
/**
|
546 |
* This function prepare the select/dropdown input control.
|
550 |
*
|
551 |
* @return HTML
|
552 |
*/
|
553 |
+
public function add_select_control( $param ) {
|
554 |
+
if ( empty( $param ) ) {
|
555 |
+
return;
|
|
|
556 |
}
|
557 |
|
558 |
/**
|
561 |
* @version 4.0.0
|
562 |
* @param array $param List of attribute.
|
563 |
*/
|
564 |
+
$param = apply_filters( 'rmp_before_add_select_control', $param );
|
565 |
+
|
566 |
+
$group_classes = '';
|
567 |
+
|
568 |
+
if ( ! empty( $param['group_classes'] ) ) {
|
569 |
+
$group_classes = $param['group_classes'];
|
570 |
+
}
|
571 |
+
|
572 |
+
?>
|
573 |
+
<div class="rmp-input-control-wrapper <?php echo esc_attr( $group_classes ); ?> ">
|
574 |
+
<?php
|
575 |
+
|
576 |
+
// Check label is exist.
|
577 |
+
if ( ! empty( $param['label'] ) ) {
|
578 |
+
?>
|
579 |
+
<div class="rmp-input-control-label">
|
580 |
+
<span> <?php echo esc_html( $param['label'] ); ?> </span>
|
581 |
+
<span>
|
582 |
+
<?php
|
583 |
+
// Check tooltip text is added or not.
|
584 |
+
if ( ! empty( $param['tool_tip'] ) ) {
|
585 |
+
$this->get_tool_tip( $param['tool_tip'] );
|
586 |
+
}
|
587 |
+
?>
|
588 |
+
</span>
|
589 |
+
<?php
|
590 |
+
// Check feature type.
|
591 |
+
if ( ! empty( $param['feature_type'] ) ) {
|
592 |
+
?>
|
593 |
+
<a target="_blank" rel="noopener" class="upgrade-tooltip" href="<?php echo esc_url( $this->pro_plugin_url ); ?>" > <?php echo esc_html( $param['feature_type'] ); ?> </a>
|
594 |
+
<?php } ?>
|
595 |
+
</div>
|
596 |
+
<?php
|
597 |
+
}
|
598 |
+
?>
|
599 |
+
<div class="rmp-input-control">
|
600 |
+
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
601 |
|
602 |
// Check multi device options is enabled.
|
603 |
+
$has_multi_device = '';
|
604 |
+
if ( ! empty( $param['multi_device'] ) ) {
|
605 |
+
$has_multi_device = 'multi-device=true';
|
606 |
+
$this->get_device_options();
|
607 |
+
}
|
608 |
+
|
609 |
+
$class = '';
|
610 |
+
if ( ! empty( $param['class'] ) ) {
|
611 |
+
$class = $param['class'];
|
612 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
613 |
|
614 |
// Check multiple value is allowed.
|
615 |
+
$is_multiple_value_allow = '';
|
616 |
+
if ( ! empty( $param['multiple'] ) ) {
|
617 |
+
$is_multiple_value_allow = 'multiple';
|
618 |
+
}
|
619 |
+
?>
|
620 |
+
<select id="<?php echo esc_attr( $param['id'] ); ?>" name="<?php echo esc_attr( $param['name'] ); ?>" <?php echo esc_attr( $has_multi_device ); ?> class="<?php echo esc_attr( $class ); ?>" <?php echo esc_attr( $is_multiple_value_allow ); ?>>
|
621 |
+
<?php
|
622 |
+
if ( ! empty( $param['options'] ) ) {
|
623 |
+
foreach ( $param['options'] as $key => $value ) {
|
624 |
+
$is_select = '';
|
625 |
+
if ( ! empty( $param['value'] ) ) {
|
626 |
+
if ( ! empty( $param['multiple'] ) && is_array( $param['value'] ) && in_array( $key, $param['value'], true ) ) {
|
627 |
+
$is_select = 'selected';
|
628 |
+
} elseif ( $key == $param['value'] ) {
|
629 |
+
$is_select = 'selected';
|
630 |
+
}
|
631 |
+
}
|
632 |
+
|
633 |
+
// Check options is pro.
|
634 |
+
$disabled = '';
|
635 |
+
if ( strpos( strtolower( $value ), 'pro' ) ) {
|
636 |
+
$disabled = 'disabled';
|
637 |
+
}
|
638 |
+
?>
|
639 |
+
<option <?php echo esc_attr( $disabled ); ?> value="<?php echo esc_attr( $key ); ?>" <?php echo esc_attr( $is_select ); ?>> <?php echo esc_html( $value ); ?> </option>
|
640 |
+
<?php
|
641 |
+
}
|
642 |
+
}
|
643 |
+
?>
|
644 |
+
</select>
|
645 |
+
</div></div>
|
646 |
+
<?php
|
647 |
|
648 |
/**
|
649 |
* Filters the select input control html.
|
650 |
*
|
651 |
* @version 4.0.0
|
652 |
+
*
|
653 |
* @param HTML|string Input control contents.
|
654 |
* @param array $param List of attribute.
|
655 |
*/
|
656 |
+
echo apply_filters( 'rmp_select_control_html', '', $param );
|
657 |
+
}
|
|
|
|
|
658 |
|
659 |
/**
|
660 |
* This function prepare the tooltip.
|
664 |
*
|
665 |
* @return HTML
|
666 |
*/
|
667 |
+
public function get_tool_tip( $param ) {
|
|
|
668 |
if ( empty( $param['text'] ) ) {
|
669 |
+
return;
|
670 |
+
}
|
671 |
+
?>
|
672 |
+
<div class="rmp-tooltip-icon dashicons dashicons-editor-help">
|
673 |
+
<span class="rmp-tooltip-content">
|
674 |
+
<?php
|
675 |
+
echo wp_kses(
|
676 |
+
$param['text'],
|
677 |
+
array(
|
678 |
+
'a' => array(
|
679 |
+
'href' => array(),
|
680 |
+
'title' => array(),
|
681 |
+
),
|
682 |
+
)
|
683 |
+
);
|
684 |
+
?>
|
685 |
+
</span>
|
686 |
+
</div>
|
687 |
+
<?php
|
688 |
+
}
|
689 |
+
|
690 |
+
/**
|
691 |
* This function prepare the shortcut.
|
692 |
*
|
693 |
* @version 4.0.0
|
695 |
*
|
696 |
* @return HTML
|
697 |
*/
|
698 |
+
public function add_shortcut_link( $param ) {
|
699 |
+
if ( empty( $param ) ) {
|
700 |
+
return;
|
701 |
+
}
|
702 |
+
|
703 |
+
// Accordion id.
|
704 |
+
$accordion_id = '';
|
705 |
+
if ( ! empty( $param['accordion_id'] ) ) {
|
706 |
+
$accordion_id = $param['accordion_id'];
|
707 |
+
}
|
708 |
+
|
709 |
+
// Sub accordion id.
|
710 |
+
$sub_accordion_id = '';
|
711 |
+
if ( ! empty( $param['sub_accordion_id'] ) ) {
|
712 |
+
$sub_accordion_id = $param['sub_accordion_id'];
|
713 |
+
}
|
714 |
+
|
715 |
+
// Sub tab id.
|
716 |
+
$sub_tab_id = '';
|
717 |
+
if ( ! empty( $param['sub_tab_id'] ) ) {
|
718 |
+
$sub_tab_id = $param['sub_tab_id'];
|
719 |
}
|
720 |
|
721 |
+
if ( ! empty( $param['label'] ) && ! empty( $param['target'] ) ) {
|
722 |
+
?>
|
723 |
+
<div class="rmp-quick-edit-link rmp-input-control-wrapper" aria-owns="<?php echo esc_attr( $param['target'] ); ?>" accordion-id="<?php echo esc_attr( $accordion_id ); ?>" sub-accordion-id="<?php echo esc_attr( $sub_accordion_id ); ?>" sub-tab-id="<?php echo esc_attr( $sub_tab_id ); ?>">
|
724 |
+
<a href="javascript:void(0)"><?php echo esc_html( $param['label'] ); ?> <i class="fas fa-share"></i></a>
|
725 |
+
</div>
|
726 |
+
<?php
|
727 |
+
}
|
728 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
729 |
|
730 |
/**
|
731 |
* This function prepare the icon picker control.
|
735 |
*
|
736 |
* @return HTML
|
737 |
*/
|
738 |
+
public function add_icon_picker_control( $param ) {
|
739 |
+
if ( empty( $param ) ) {
|
740 |
+
return;
|
|
|
741 |
}
|
742 |
|
743 |
+
$group_classes = '';
|
744 |
+
|
745 |
+
if ( ! empty( $param['group_classes'] ) ) {
|
746 |
+
$group_classes = $param['group_classes'];
|
747 |
+
}
|
748 |
+
$is_disabled = '';
|
749 |
+
?>
|
750 |
+
<div class="rmp-input-control-wrapper <?php echo esc_attr( $group_classes ); ?>">
|
751 |
+
<?php
|
752 |
+
|
753 |
+
// Check label is exist.
|
754 |
+
if ( ! empty( $param['label'] ) ) {
|
755 |
+
?>
|
756 |
+
<div class="rmp-input-control-label">
|
757 |
+
<span> <?php echo esc_html( $param['label'] ); ?> </span>
|
758 |
+
<span>
|
759 |
+
<?php
|
760 |
+
// Check tooltip text is added or not.
|
761 |
+
if ( ! empty( $param['tool_tip'] ) ) {
|
762 |
+
$this->get_tool_tip( $param['tool_tip'] );
|
763 |
+
}
|
764 |
+
?>
|
765 |
+
</span>
|
766 |
+
<?php
|
767 |
+
// Check feature type.
|
768 |
+
if ( ! empty( $param['feature_type'] ) ) {
|
769 |
+
$is_disabled = 'disabled';
|
770 |
+
?>
|
771 |
+
<a target="_blank" rel="noopener" class="upgrade-tooltip" href="<?php echo esc_url( $this->pro_plugin_url ); ?>" > <?php echo esc_html( $param['feature_type'] ); ?></a>
|
772 |
+
<?php
|
773 |
+
}
|
774 |
+
?>
|
775 |
+
</div>
|
776 |
+
<?php
|
777 |
+
}
|
778 |
+
?>
|
779 |
+
<div class="rmp-input-control rmp-icon-picker-container">
|
780 |
+
<?php
|
|
|
|
|
|
|
781 |
|
782 |
// Check multiple device option enabled.
|
783 |
+
$has_multi_device = '';
|
784 |
+
if ( ! empty( $param['multi_device'] ) ) {
|
785 |
+
$has_multi_device = 'multi-device=true';
|
786 |
+
$this->get_device_options();
|
787 |
+
}
|
788 |
+
|
789 |
+
$class = '';
|
790 |
+
if ( ! empty( $param['class'] ) ) {
|
791 |
+
$class = $param['class'];
|
792 |
+
}
|
793 |
+
|
794 |
+
$icon_value = '';
|
795 |
+
$is_icon_set = 'false';
|
796 |
+
if ( ! empty( $param['value'] ) ) {
|
797 |
+
$icon_value = $param['value'];
|
798 |
+
$is_icon_set = 'true';
|
799 |
+
}
|
800 |
+
?>
|
801 |
+
<input type="hidden" placeholder="fa fa-icon" id="<?php echo esc_attr( $param['id'] ); ?>" name="<?php echo esc_attr( $param['name'] ); ?>" <?php echo esc_attr( $has_multi_device ); ?> class="rmp-icon-hidden-input <?php echo esc_attr( $class ); ?>" value="<?php echo esc_attr( $icon_value ); ?>"><div class="rmp-icon-picker <?php echo esc_attr( $param['picker_class'] . $is_disabled ); ?>" for="<?php echo esc_attr( $param['id'] ); ?>" id="<?php echo esc_attr( $param['picker_id'] ); ?>" data-icon="<?php echo esc_attr( $is_icon_set ); ?>">
|
802 |
+
<div class="rmp-icon-picker-placeholder">
|
803 |
+
<span>
|
804 |
+
<?php
|
805 |
+
$svg_placeholder = wp_remote_get( RMP_PLUGIN_URL_V4 . '/assets/admin/icons/svg/image-placeholder.svg' );
|
806 |
+
if ( is_array( $svg_placeholder ) && ! is_wp_error( $svg_placeholder ) ) {
|
807 |
+
echo wp_kses( $svg_placeholder['body'], rmp_allow_svg_html_tags() );
|
808 |
+
}
|
809 |
+
?>
|
810 |
+
</span>
|
811 |
+
<label> Choose Icon</label>
|
812 |
+
</div>
|
813 |
+
<?php
|
814 |
+
echo wp_kses( $icon_value, rmp_allow_svg_html_tags() );
|
815 |
+
if ( ! empty( $param['value'] ) ) {
|
816 |
+
?>
|
817 |
+
<i class="rmp-icon-picker-trash dashicons dashicons-trash" aria-hidden="true"></i>
|
818 |
+
<?php
|
819 |
+
}
|
820 |
+
?>
|
821 |
+
</div>
|
822 |
+
</div></div>
|
823 |
+
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
824 |
|
825 |
/**
|
826 |
* Filters the icon picker control html.
|
827 |
*
|
828 |
* @version 4.0.0
|
829 |
+
*
|
830 |
* @param HTML|string Input control contents.
|
831 |
* @param array $param List of attribute.
|
832 |
*/
|
833 |
+
echo apply_filters( 'rmp_icon_picker_control_html', '', $param );
|
|
|
|
|
834 |
}
|
835 |
|
836 |
/**
|
841 |
*
|
842 |
* @return HTML
|
843 |
*/
|
844 |
+
public function add_image_control( $param ) {
|
845 |
+
if ( empty( $param ) ) {
|
846 |
+
return;
|
847 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
848 |
|
849 |
+
$group_classes = '';
|
850 |
|
851 |
+
if ( ! empty( $param['group_classes'] ) ) {
|
852 |
+
$group_classes = $param['group_classes'];
|
853 |
+
}
|
854 |
+
?>
|
855 |
+
<div class="rmp-input-control-wrapper <?php echo esc_attr( $group_classes ); ?>">
|
856 |
+
<?php
|
857 |
+
|
858 |
+
// Check label is exist.
|
859 |
+
if ( ! empty( $param['label'] ) ) {
|
860 |
+
?>
|
861 |
+
<div class="rmp-input-control-label"> <span> <?php echo esc_html( $param['label'] ); ?> </span>
|
862 |
+
<?php
|
863 |
+
// Check tooltip text is added or not.
|
864 |
+
if ( ! empty( $param['tool_tip'] ) ) {
|
865 |
+
$this->get_tool_tip( $param['tool_tip'] );
|
866 |
+
}
|
867 |
+
?>
|
868 |
+
</div>
|
869 |
+
<?php
|
870 |
+
}
|
871 |
+
?>
|
872 |
+
<div class="rmp-input-control rmp-image-picker-container">
|
873 |
+
<?php
|
874 |
|
875 |
+
// Check multi device option is enabled.
|
876 |
+
$has_multi_device = '';
|
877 |
+
if ( ! empty( $param['multi_device'] ) ) {
|
878 |
+
$has_multi_device = 'multi-device=true';
|
879 |
+
$this->get_device_options();
|
880 |
+
}
|
881 |
|
882 |
+
$class = '';
|
883 |
+
if ( ! empty( $param['class'] ) ) {
|
884 |
+
$class = $param['class'];
|
885 |
+
}
|
886 |
|
887 |
+
$image_url = '';
|
888 |
+
if ( ! empty( $param['value'] ) ) {
|
889 |
+
$image_url = $param['value'];
|
890 |
+
}
|
891 |
+
?>
|
892 |
+
<input type="hidden" id="<?php echo esc_attr( $param['id'] ); ?>" name="<?php echo esc_attr( $param['name'] ); ?>" <?php echo esc_attr( $has_multi_device ); ?> class="rmp-image-url-input <?php echo esc_attr( $class ); ?>" value="<?php echo esc_url( $image_url ); ?>"><div class="rmp-image-picker <?php echo esc_attr( $param['picker_class'] ); ?>" for="<?php echo esc_attr( $param['id'] ); ?>" id="<?php echo esc_attr( $param['picker_id'] ); ?>"
|
893 |
+
<?php
|
894 |
+
if ( ! empty( $param['value'] ) ) {
|
895 |
+
echo 'style="background-image: url(' . esc_url( $image_url ) . ');"';
|
896 |
+
}
|
897 |
+
?>
|
898 |
+
>
|
899 |
+
<div class="rmp-image-picker-placeholder">
|
900 |
+
<span>
|
901 |
+
<?php
|
902 |
+
$svg_placeholder = wp_remote_get( RMP_PLUGIN_URL_V4 . '/assets/admin/icons/svg/image-placeholder.svg' );
|
903 |
+
if ( is_array( $svg_placeholder ) && ! is_wp_error( $svg_placeholder ) ) {
|
904 |
+
echo wp_kses( $svg_placeholder['body'], rmp_allow_svg_html_tags() );
|
905 |
+
}
|
906 |
+
?>
|
907 |
+
</span>
|
908 |
+
<label> Choose Image</label>
|
909 |
+
</div>
|
910 |
+
<?php
|
911 |
+
if ( ! empty( $param['value'] ) ) {
|
912 |
+
?>
|
913 |
+
<i class="rmp-image-picker-trash dashicons dashicons-trash" aria-hidden="true"></i>
|
914 |
+
<?php
|
915 |
+
}
|
916 |
+
?>
|
917 |
+
</div>
|
918 |
+
</div></div>
|
919 |
+
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
920 |
|
921 |
/**
|
922 |
* Filters the icon picker control html.
|
923 |
*
|
924 |
* @version 4.0.0
|
925 |
+
*
|
926 |
* @param HTML|string Input control contents.
|
927 |
* @param array $param List of attribute.
|
928 |
*/
|
929 |
+
echo apply_filters( 'rmp_add_image_control_html', '', $param );
|
930 |
+
}
|
|
|
|
|
931 |
|
932 |
/**
|
933 |
* This function prepare the alignment control.
|
937 |
*
|
938 |
* @return HTML
|
939 |
*/
|
940 |
+
public function add_text_alignment_control( $param ) {
|
941 |
+
if ( empty( $param ) ) {
|
942 |
+
return;
|
943 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
944 |
|
945 |
+
$group_classes = '';
|
|
|
|
|
|
|
946 |
|
947 |
+
if ( ! empty( $param['group_classes'] ) ) {
|
948 |
+
$group_classes = $param['group_classes'];
|
949 |
+
}
|
950 |
+
?>
|
951 |
+
<div class="rmp-input-control-wrapper <?php echo esc_attr( $group_classes ); ?>">
|
952 |
+
<?php
|
953 |
+
|
954 |
+
// Check label is exist.
|
955 |
+
if ( ! empty( $param['label'] ) ) {
|
956 |
+
?>
|
957 |
+
<div class="rmp-input-control-label"> <span> <?php echo esc_html( $param['label'] ); ?> </span>
|
958 |
+
<?php
|
959 |
+
// Check tooltip text is added or not.
|
960 |
+
if ( ! empty( $param['tool_tip'] ) ) {
|
961 |
+
$this->get_tool_tip( $param['tool_tip'] );
|
962 |
+
}
|
963 |
+
?>
|
964 |
+
</div>
|
965 |
+
<?php
|
966 |
+
}
|
967 |
+
?>
|
968 |
+
<div class="rmp-input-control">
|
969 |
+
<?php
|
970 |
|
971 |
// Check multiple device options is enabled.
|
972 |
+
$has_multi_device = '';
|
973 |
+
if ( ! empty( $param['multi_device'] ) ) {
|
974 |
+
$has_multi_device = 'multi-device=true';
|
975 |
+
$this->get_device_options();
|
976 |
+
}
|
977 |
+
|
978 |
+
$class = '';
|
979 |
+
if ( ! empty( $param['class'] ) ) {
|
980 |
+
$class = $param['class'];
|
981 |
+
}
|
982 |
+
?>
|
983 |
+
<div class="align-icons-group">
|
984 |
+
<?php
|
985 |
+
foreach ( $param['options'] as $value ) {
|
986 |
+
$is_checked = '';
|
987 |
+
if ( $param['value'] == $value ) {
|
988 |
+
$is_checked = 'checked';
|
989 |
+
}
|
990 |
+
?>
|
991 |
+
<input id="<?php echo esc_attr( $class . '-' . $value ); ?>" type="radio" name="<?php echo esc_attr( $param['name'] ); ?>" <?php echo esc_attr( $has_multi_device ); ?> class="no-updates <?php echo esc_attr( $class ); ?>" value="<?php echo esc_attr( $value ); ?>" <?php echo esc_attr( $is_checked ); ?> >
|
992 |
+
<label for="<?php echo esc_attr( $class . '-' . $value ); ?>">
|
993 |
+
<?php
|
994 |
+
if ( 'left' == $value ) {
|
995 |
+
?>
|
996 |
+
<span class="dashicons dashicons-editor-alignleft"></span>
|
997 |
+
<?php
|
998 |
+
} elseif ( 'justify' == $value ) {
|
999 |
+
?>
|
1000 |
+
<span class="dashicons dashicons-editor-justify"></span>
|
1001 |
+
<?php
|
1002 |
+
} elseif ( 'right' == $value ) {
|
1003 |
+
?>
|
1004 |
+
<span class="dashicons dashicons-editor-alignright "></span>
|
1005 |
+
<?php
|
1006 |
+
} elseif ( 'center' == $value ) {
|
1007 |
+
?>
|
1008 |
+
<span class="dashicons dashicons-editor-aligncenter "></span>
|
1009 |
+
<?php
|
1010 |
+
}
|
1011 |
+
?>
|
1012 |
+
</label>
|
1013 |
+
<?php
|
1014 |
+
}
|
1015 |
+
?>
|
1016 |
+
</div>
|
1017 |
+
</div></div>
|
1018 |
+
<?php
|
|
|
1019 |
|
1020 |
/**
|
1021 |
* Filters the icon picker control html.
|
1022 |
*
|
1023 |
* @version 4.0.0
|
1024 |
+
*
|
1025 |
* @param HTML|string Input control contents.
|
1026 |
* @param array $param List of attribute.
|
1027 |
*/
|
1028 |
+
echo apply_filters( 'rmp_add_text_alignment_control_html', '', $param );
|
1029 |
+
}
|
|
|
|
|
1030 |
|
1031 |
+
/**
|
1032 |
+
* Function to prepare the device visibility control,
|
1033 |
* those are mobile, tablet and desktop as options.
|
1034 |
+
*
|
1035 |
* @version 4.0.0
|
1036 |
+
*
|
1037 |
* @param array $options list of values.
|
1038 |
+
*
|
1039 |
+
* @return HTML
|
1040 |
+
*/
|
1041 |
+
public function add_device_visibility_control( $options ) {
|
1042 |
+
?>
|
1043 |
+
<div class="rmp-input-control-wrapper full-size">
|
1044 |
+
<label class="rmp-input-control-label">
|
1045 |
+
<?php esc_html_e( 'Device Visibility', 'responsive-menu' ); ?>
|
1046 |
+
<a target="_blank" rel="noopener" class="upgrade-tooltip" href="<?php echo esc_url( $this->pro_plugin_url ); ?>" > PRO </a>
|
1047 |
+
</label>
|
1048 |
+
<div class="rmp-input-control">
|
1049 |
+
<div class="device-icons-group">
|
1050 |
+
<div class="device-icon">
|
1051 |
+
<input type="hidden" name="menu[use_mobile_menu]" value="on"/>
|
1052 |
+
<input disabled checked class="rmp-menu-display-device checkbox mobile" type="checkbox"/>
|
1053 |
+
<label for="rmp-menu-display-device-mobile" title="mobile" >
|
1054 |
+
<span class="corner-icon">
|
1055 |
+
<i class="fas fa-check-circle" aria-hidden="true"></i>
|
1056 |
+
</span>
|
1057 |
+
<span class="device">
|
1058 |
+
<svg width="15" height="20" viewBox="0 0 15 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
1059 |
+
<path d="M7.5 5.625C7.5 5.625 7.49251 5.625 7.47754 5.625C7.28288 5.625 7.10319 5.57259 6.93848 5.46777C6.78874 5.34798 6.68392 5.20573 6.62402 5.04102C6.59408 4.98112 6.57161 4.92122 6.55664 4.86133C6.54167 4.80143 6.53418 4.74154 6.53418 4.68164C6.53418 4.68164 6.53418 4.67415 6.53418 4.65918C6.53418 4.62923 6.53418 4.59928 6.53418 4.56934C6.54915 4.53939 6.55664 4.50195 6.55664 4.45703V4.47949C6.57161 4.44954 6.5791 4.4196 6.5791 4.38965C6.59408 4.3597 6.60905 4.32975 6.62402 4.2998C6.639 4.26986 6.64648 4.23991 6.64648 4.20996C6.66146 4.18001 6.68392 4.15007 6.71387 4.12012C6.72884 4.10514 6.74382 4.08268 6.75879 4.05273C6.77376 4.02279 6.79622 4.00033 6.82617 3.98535C6.90104 3.89551 6.99837 3.82812 7.11816 3.7832C7.23796 3.73828 7.36523 3.71582 7.5 3.71582C7.52995 3.71582 7.5599 3.71582 7.58984 3.71582C7.61979 3.71582 7.64974 3.72331 7.67969 3.73828C7.70964 3.73828 7.73958 3.74577 7.76953 3.76074C7.81445 3.76074 7.8444 3.76823 7.85938 3.7832C7.88932 3.79818 7.91927 3.81315 7.94922 3.82812C7.97917 3.8431 8.00911 3.85807 8.03906 3.87305C8.06901 3.88802 8.09147 3.91048 8.10645 3.94043C8.13639 3.9554 8.15885 3.97038 8.17383 3.98535C8.20378 4.00033 8.22624 4.02279 8.24121 4.05273C8.25618 4.08268 8.27116 4.10514 8.28613 4.12012C8.31608 4.15007 8.33105 4.18001 8.33105 4.20996C8.34603 4.23991 8.361 4.26986 8.37598 4.2998C8.39095 4.32975 8.39844 4.3597 8.39844 4.38965C8.41341 4.4196 8.42839 4.44954 8.44336 4.47949C8.44336 4.50944 8.44336 4.53939 8.44336 4.56934C8.45833 4.59928 8.46582 4.62923 8.46582 4.65918C8.46582 4.73405 8.45833 4.80143 8.44336 4.86133C8.42839 4.92122 8.40592 4.98112 8.37598 5.04102C8.361 5.10091 8.33105 5.16081 8.28613 5.2207C8.25618 5.26562 8.21875 5.31055 8.17383 5.35547C8.08398 5.43034 7.97917 5.49772 7.85938 5.55762C7.75456 5.60254 7.63477 5.625 7.5 5.625ZM9.40918 16.1592C9.40918 15.9046 9.31185 15.6875 9.11719 15.5078C8.9375 15.3132 8.72038 15.2158 8.46582 15.2158H6.53418C6.27962 15.2158 6.05501 15.3132 5.86035 15.5078C5.68066 15.6875 5.59082 15.9046 5.59082 16.1592C5.59082 16.4287 5.68066 16.6608 5.86035 16.8555C6.05501 17.0352 6.27962 17.125 6.53418 17.125H8.46582C8.72038 17.125 8.9375 17.0352 9.11719 16.8555C9.31185 16.6608 9.40918 16.4287 9.40918 16.1592ZM14.2158 16.6533V4.1875C14.2158 3.25911 13.8864 2.47298 13.2275 1.8291C12.5687 1.17025 11.7751 0.84082 10.8467 0.84082H4.15332C3.22493 0.84082 2.43132 1.17025 1.77246 1.8291C1.11361 2.47298 0.78418 3.25911 0.78418 4.1875V16.6533C0.78418 17.5667 1.11361 18.3529 1.77246 19.0117C2.43132 19.6706 3.22493 20 4.15332 20H10.8467C11.7751 20 12.5687 19.6706 13.2275 19.0117C13.8864 18.3529 14.2158 17.5667 14.2158 16.6533ZM10.8467 2.75C11.251 2.75 11.5879 2.89225 11.8574 3.17676C12.1419 3.46126 12.2842 3.79818 12.2842 4.1875V16.6533C12.2842 17.0426 12.1419 17.3796 11.8574 17.6641C11.5879 17.9486 11.251 18.0908 10.8467 18.0908H4.15332C3.74902 18.0908 3.40462 17.9486 3.12012 17.6641C2.85059 17.3796 2.71582 17.0426 2.71582 16.6533V4.1875C2.71582 3.79818 2.85059 3.46126 3.12012 3.17676C3.40462 2.89225 3.74902 2.75 4.15332 2.75H10.8467Z" fill="#56606D"/>
|
1060 |
+
</svg>
|
1061 |
+
</span>
|
1062 |
+
</label>
|
1063 |
+
<span class="rmp-input-control-label device-title"> <?php esc_html_e( 'Mobile', 'responsive-menu' ); ?> </span>
|
1064 |
+
</div>
|
1065 |
+
<div class="device-icon">
|
1066 |
+
<input type="hidden" name="menu[use_tablet_menu]" value="on"/>
|
1067 |
+
<input type="hidden" name="menu[use_tablet_menu]" value="on"/>
|
1068 |
+
<input disabled checked class="rmp-menu-display-device checkbox tablet" type="checkbox"/>
|
1069 |
+
<label for="rmp-menu-display-device-tablet" title="tablet" >
|
1070 |
+
<span class="corner-icon">
|
1071 |
+
<i class="fas fa-check-circle" aria-hidden="true"></i>
|
1072 |
+
</span>
|
1073 |
+
<span class="device">
|
1074 |
+
<svg width="16" height="19" viewBox="0 0 16 19" fill="none" xmlns="http://www.w3.org/2000/svg">
|
1075 |
+
<path d="M12.125 19H3.875C2.98698 19 2.22786 18.6849 1.59766 18.0547C0.981771 17.4245 0.673828 16.6725 0.673828 15.7988V3.875C0.673828 2.98698 0.981771 2.23503 1.59766 1.61914C2.22786 0.988932 2.98698 0.673828 3.875 0.673828H12.125C13.013 0.673828 13.765 0.988932 14.3809 1.61914C15.0111 2.23503 15.3262 2.98698 15.3262 3.875V15.7988C15.3262 16.6725 15.0111 17.4245 14.3809 18.0547C13.765 18.6849 13.013 19 12.125 19ZM3.875 2.5C3.5026 2.5 3.18034 2.63607 2.9082 2.9082C2.63607 3.18034 2.5 3.5026 2.5 3.875V15.7988C2.5 16.1712 2.63607 16.4935 2.9082 16.7656C3.18034 17.0378 3.5026 17.1738 3.875 17.1738H12.125C12.4974 17.1738 12.8197 17.0378 13.0918 16.7656C13.3639 16.4935 13.5 16.1712 13.5 15.7988V3.875C13.5 3.5026 13.3639 3.18034 13.0918 2.9082C12.8197 2.63607 12.4974 2.5 12.125 2.5H3.875ZM8.64453 15.9922C8.73047 15.9062 8.79492 15.806 8.83789 15.6914C8.89518 15.5768 8.92383 15.4622 8.92383 15.3477C8.92383 15.3333 8.92383 15.3262 8.92383 15.3262C8.92383 15.0827 8.83073 14.875 8.64453 14.7031C8.47266 14.5169 8.25781 14.4238 8 14.4238C7.74219 14.4238 7.52018 14.5169 7.33398 14.7031C7.16211 14.875 7.07617 15.0827 7.07617 15.3262C7.07617 15.584 7.16211 15.806 7.33398 15.9922C7.52018 16.1641 7.74219 16.25 8 16.25C8.12891 16.25 8.24349 16.2285 8.34375 16.1855C8.45833 16.1283 8.55859 16.0638 8.64453 15.9922Z" fill="#56606D"/>
|
1076 |
+
</svg>
|
1077 |
+
</span>
|
1078 |
+
</label>
|
1079 |
+
<span class="rmp-input-control-label device-title"> <?php esc_html_e( 'Tablet', 'responsive-menu' ); ?> </span>
|
1080 |
+
</div>
|
1081 |
+
<div class="device-icon">
|
1082 |
+
<input type="hidden" name="menu[use_desktop_menu]" value="off"/>
|
1083 |
+
<input disabled class="rmp-menu-display-device checkbox desktop" type="checkbox" />
|
1084 |
+
<label for="rmp-menu-display-device-desktop" title="desktop" >
|
1085 |
+
<span class="corner-icon">
|
1086 |
+
<i class="fas fa-check-circle" aria-hidden="true"></i>
|
1087 |
+
</span>
|
1088 |
+
<span class="device">
|
1089 |
+
<svg width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg">
|
1090 |
+
<path d="M15.9512 0.673828H4.04883C3.16081 0.673828 2.40169 0.988932 1.77148 1.61914C1.14128 2.23503 0.826172 2.98698 0.826172 3.875V12.125C0.826172 13.013 1.14128 13.7721 1.77148 14.4023C2.40169 15.0182 3.16081 15.3262 4.04883 15.3262H9.07617V17.1738H6.32617C6.08268 17.1738 5.86784 17.2669 5.68164 17.4531C5.50977 17.625 5.42383 17.8327 5.42383 18.0762C5.42383 18.334 5.50977 18.556 5.68164 18.7422C5.86784 18.9141 6.08268 19 6.32617 19H13.6738C13.9173 19 14.125 18.9141 14.2969 18.7422C14.4831 18.556 14.5762 18.334 14.5762 18.0762C14.5762 17.8327 14.4831 17.625 14.2969 17.4531C14.125 17.2669 13.9173 17.1738 13.6738 17.1738H10.9238V15.3262H15.9512C16.8392 15.3262 17.5983 15.0182 18.2285 14.4023C18.8587 13.7721 19.1738 13.013 19.1738 12.125V3.875C19.1738 2.98698 18.8587 2.23503 18.2285 1.61914C17.5983 0.988932 16.8392 0.673828 15.9512 0.673828ZM17.3262 12.125C17.3262 12.4974 17.1901 12.8197 16.918 13.0918C16.6602 13.3639 16.3379 13.5 15.9512 13.5H4.04883C3.66211 13.5 3.33268 13.3639 3.06055 13.0918C2.80273 12.8197 2.67383 12.4974 2.67383 12.125V3.875C2.67383 3.5026 2.80273 3.18034 3.06055 2.9082C3.33268 2.63607 3.66211 2.5 4.04883 2.5H15.9512C16.3379 2.5 16.6602 2.63607 16.918 2.9082C17.1901 3.18034 17.3262 3.5026 17.3262 3.875V12.125ZM7.76562 3.83203C7.83724 3.90365 7.88737 3.98242 7.91602 4.06836C7.95898 4.13997 7.98047 4.22591 7.98047 4.32617C7.98047 4.42643 7.95898 4.51953 7.91602 4.60547C7.88737 4.67708 7.83724 4.7487 7.76562 4.82031L5.01562 7.57031C4.95833 7.6276 4.88672 7.67057 4.80078 7.69922C4.72917 7.72786 4.64323 7.74219 4.54297 7.74219C4.35677 7.74219 4.19206 7.67773 4.04883 7.54883C3.91992 7.41992 3.85547 7.25521 3.85547 7.05469C3.85547 6.96875 3.86979 6.88997 3.89844 6.81836C3.94141 6.73242 3.99154 6.65365 4.04883 6.58203L6.79883 3.83203C6.85612 3.77474 6.92773 3.73177 7.01367 3.70312C7.09961 3.66016 7.19271 3.63867 7.29297 3.63867C7.37891 3.63867 7.46484 3.66016 7.55078 3.70312C7.63672 3.73177 7.70833 3.77474 7.76562 3.83203Z" fill="white"/>
|
1091 |
+
</svg>
|
1092 |
+
</span>
|
1093 |
+
</label>
|
1094 |
+
<span class="rmp-input-control-label device-title"> <?php esc_html_e( 'Desktop', 'responsive-menu' ); ?> </span>
|
1095 |
+
</div>
|
1096 |
+
</div>
|
1097 |
+
</div>
|
1098 |
+
</div>
|
1099 |
+
<?php
|
1100 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1101 |
|
1102 |
/**
|
1103 |
* Function to return the device options markup.
|
1107 |
* @return HTML
|
1108 |
*/
|
1109 |
protected function get_device_options() {
|
1110 |
+
?>
|
1111 |
+
<div class="rmp-device-switcher-holder">
|
1112 |
+
<a target="_blank" rel="noopener" class="upgrade-tooltip" href="<?php echo esc_url( $this->pro_plugin_url ); ?>" > PRO </a>
|
1113 |
+
<ul class="select rmp-device-switcher" >
|
1114 |
+
<li data-device="mobile">
|
1115 |
+
<?php
|
1116 |
+
$svg_mobile = wp_remote_get( RMP_PLUGIN_URL_V4 . '/assets/admin/icons/svg/mobile.svg' );
|
1117 |
+
if ( is_array( $svg_mobile ) && ! is_wp_error( $svg_mobile ) ) {
|
1118 |
+
echo wp_kses( $svg_mobile['body'], rmp_allow_svg_html_tags() );
|
1119 |
+
}
|
1120 |
+
?>
|
1121 |
+
</li>
|
1122 |
+
<li data-device="tablet">
|
1123 |
+
<?php
|
1124 |
+
$svg_tablet = wp_remote_get( RMP_PLUGIN_URL_V4 . '/assets/admin/icons/svg/tablet.svg' );
|
1125 |
+
if ( is_array( $svg_tablet ) && ! is_wp_error( $svg_tablet ) ) {
|
1126 |
+
echo wp_kses( $svg_tablet['body'], rmp_allow_svg_html_tags() );
|
1127 |
+
}
|
1128 |
+
?>
|
1129 |
+
</li>
|
1130 |
+
<li data-device="desktop">
|
1131 |
+
<?php
|
1132 |
+
$svg_desktop = wp_remote_get( RMP_PLUGIN_URL_V4 . '/assets/admin/icons/svg/desktop.svg' );
|
1133 |
+
if ( is_array( $svg_desktop ) && ! is_wp_error( $svg_desktop ) ) {
|
1134 |
+
echo wp_kses( $svg_desktop['body'], rmp_allow_svg_html_tags() );
|
1135 |
+
}
|
1136 |
+
?>
|
1137 |
+
</li>
|
1138 |
+
</ul>
|
1139 |
+
</div>
|
1140 |
+
<?php
|
1141 |
+
}
|
1142 |
+
|
1143 |
+
public function add_sub_heading( $param ) {
|
1144 |
if ( empty( $param['text'] ) ) {
|
1145 |
return;
|
1146 |
}
|
1147 |
+
?>
|
1148 |
+
<div class="rmp-accordion-sub-heading">
|
1149 |
+
<?php
|
1150 |
+
echo esc_html( $param['text'] );
|
1151 |
+
// Check tooltip text is added or not.
|
1152 |
+
if ( ! empty( $param['tool_tip'] ) ) {
|
1153 |
+
$this->get_tool_tip( $param['tool_tip'] );
|
1154 |
+
}
|
1155 |
+
?>
|
1156 |
+
</div>
|
1157 |
+
<?php
|
1158 |
+
}
|
1159 |
|
1160 |
+
public function upgrade_notice() {
|
1161 |
+
?>
|
1162 |
+
<div class="upgrade-options">
|
1163 |
+
<div class="upgrade-notes">
|
1164 |
+
<p><?php echo esc_html_e( 'This feature is not available in free version. Upgrade now to use', 'responsive-menu' ); ?> </p>
|
1165 |
+
<a target="_blank" rel="noopener" href="<?php echo esc_attr( $this->pro_plugin_url ); ?>" class="button"> <?php esc_html_e( 'Upgrade to Pro', 'responsive-menu' ); ?> </a>
|
1166 |
+
</div>
|
1167 |
+
</div>
|
1168 |
+
<?php
|
1169 |
+
}
|
1170 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v4.0.0/inc/classes/class-editor-manager.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @version 4.0.0
|
7 |
* @author Expresstech System
|
8 |
*
|
9 |
-
* @package responsive-menu
|
10 |
*/
|
11 |
|
12 |
namespace RMP\Features\Inc;
|
@@ -16,7 +16,7 @@ use RMP\Features\Inc\Option_Manager;
|
|
16 |
|
17 |
// Disable the direct access to this class.
|
18 |
if ( ! defined( 'ABSPATH' ) ) {
|
19 |
-
|
20 |
}
|
21 |
|
22 |
/**
|
@@ -41,15 +41,14 @@ class Editor_Manager {
|
|
41 |
* @return void
|
42 |
*/
|
43 |
protected function setup_hooks() {
|
44 |
-
add_action('wp_ajax_rmp_save_menu_action', array( $this, 'rmp_save_options' ) );
|
45 |
-
add_action('wp_ajax_rmp_mega_menu_item_enable', array( $this, 'enable_mega_menu_item' ) );
|
46 |
-
add_action('wp_ajax_rmp_save_mega_menu_item', array( $this, 'rmp_save_mega_menu_item' ) );
|
47 |
|
48 |
// Hide the wp admin bar from preview iframe.
|
49 |
if ( ! empty( $_GET['rmp_preview_mode'] ) ) {
|
50 |
add_filter( 'show_admin_bar', '__return_false' );
|
51 |
}
|
52 |
-
|
53 |
}
|
54 |
|
55 |
/**
|
@@ -60,33 +59,32 @@ class Editor_Manager {
|
|
60 |
* @return json
|
61 |
*/
|
62 |
public function rmp_save_mega_menu_item() {
|
63 |
-
|
64 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
65 |
|
66 |
-
$item_id = sanitize_text_field( $_POST['item_id'] );
|
67 |
if ( empty( $item_id ) ) {
|
68 |
-
|
69 |
-
|
70 |
|
71 |
-
|
72 |
if ( empty( $menu_id ) ) {
|
73 |
-
|
74 |
-
|
|
|
75 |
}
|
76 |
|
77 |
if ( empty( $_POST['item_meta'] ) ) {
|
78 |
-
|
79 |
-
|
80 |
|
81 |
-
$item_meta =
|
82 |
|
83 |
// Don't forget to sanitize the data using recursive.
|
84 |
if ( is_array( $_POST['item_meta'] ) ) {
|
85 |
-
|
86 |
-
$item_meta = intval( $_POST['item_meta'] );
|
87 |
}
|
88 |
|
89 |
-
update_post_meta( $menu_id, '_rmp_mega_menu_'. $item_id, $item_meta );
|
90 |
|
91 |
/**
|
92 |
* Fires when mega menu item settings update.
|
@@ -99,8 +97,7 @@ class Editor_Manager {
|
|
99 |
*/
|
100 |
do_action( 'rmp_update_mega_menu_item', $menu_id, $item_id, $item_meta );
|
101 |
|
102 |
-
|
103 |
-
|
104 |
}
|
105 |
|
106 |
/**
|
@@ -111,53 +108,50 @@ class Editor_Manager {
|
|
111 |
* @return json
|
112 |
*/
|
113 |
public function enable_mega_menu_item() {
|
114 |
-
|
115 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
116 |
|
117 |
-
$menu_id
|
118 |
-
$item_id
|
119 |
-
$value
|
120 |
|
121 |
$options = get_post_meta( $menu_id, 'rmp_menu_meta' );
|
122 |
|
123 |
if ( ! empty( $options ) ) {
|
124 |
-
$options
|
125 |
-
$options['mega_menu'][$item_id] = $value
|
126 |
-
$options
|
127 |
|
128 |
-
wp_send_json_success(
|
129 |
}
|
130 |
|
131 |
wp_send_json_error(
|
132 |
-
|
133 |
);
|
134 |
-
|
135 |
}
|
136 |
|
137 |
/**
|
138 |
* This function saved the menu options when click update in the menu editor.
|
139 |
*
|
140 |
-
* @since
|
141 |
*
|
142 |
* @return json
|
143 |
*/
|
144 |
public function rmp_save_options() {
|
145 |
-
|
146 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
147 |
|
148 |
-
$options
|
149 |
-
$form_data = $_POST['form'];
|
150 |
parse_str( $form_data, $options );
|
151 |
|
152 |
$menu_id = sanitize_text_field( $options['menu_id'] );
|
153 |
if ( empty( $menu_id ) ) {
|
154 |
-
|
155 |
}
|
156 |
|
157 |
$options = $options['menu'];
|
158 |
|
159 |
// Merge the default and update options.
|
160 |
-
$options = array_merge( rmp_get_default_options()
|
161 |
|
162 |
update_post_meta( $menu_id, 'rmp_menu_meta', $options );
|
163 |
|
@@ -172,5 +166,4 @@ class Editor_Manager {
|
|
172 |
// Return the response after success.
|
173 |
wp_send_json_success();
|
174 |
}
|
175 |
-
|
176 |
}
|
6 |
* @version 4.0.0
|
7 |
* @author Expresstech System
|
8 |
*
|
9 |
+
* @package responsive-menu
|
10 |
*/
|
11 |
|
12 |
namespace RMP\Features\Inc;
|
16 |
|
17 |
// Disable the direct access to this class.
|
18 |
if ( ! defined( 'ABSPATH' ) ) {
|
19 |
+
exit;
|
20 |
}
|
21 |
|
22 |
/**
|
41 |
* @return void
|
42 |
*/
|
43 |
protected function setup_hooks() {
|
44 |
+
add_action( 'wp_ajax_rmp_save_menu_action', array( $this, 'rmp_save_options' ) );
|
45 |
+
add_action( 'wp_ajax_rmp_mega_menu_item_enable', array( $this, 'enable_mega_menu_item' ) );
|
46 |
+
add_action( 'wp_ajax_rmp_save_mega_menu_item', array( $this, 'rmp_save_mega_menu_item' ) );
|
47 |
|
48 |
// Hide the wp admin bar from preview iframe.
|
49 |
if ( ! empty( $_GET['rmp_preview_mode'] ) ) {
|
50 |
add_filter( 'show_admin_bar', '__return_false' );
|
51 |
}
|
|
|
52 |
}
|
53 |
|
54 |
/**
|
59 |
* @return json
|
60 |
*/
|
61 |
public function rmp_save_mega_menu_item() {
|
|
|
62 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
63 |
|
64 |
+
$item_id = isset( $_POST['item_id'] ) ? sanitize_text_field( wp_unslash( $_POST['item_id'] ) ) : '';
|
65 |
if ( empty( $item_id ) ) {
|
66 |
+
wp_send_json_error( array( 'message' => esc_html__( 'Menu Item ID missing', 'responsive-menu' ) ) );
|
67 |
+
}
|
68 |
|
69 |
+
$menu_id = isset( $_POST['menu_id'] ) ? sanitize_text_field( wp_unslash( $_POST['menu_id'] ) ) : '';
|
70 |
if ( empty( $menu_id ) ) {
|
71 |
+
wp_send_json_error(
|
72 |
+
array( 'message' => esc_html__( 'Menu ID missing !', 'responsive-menu' ) )
|
73 |
+
);
|
74 |
}
|
75 |
|
76 |
if ( empty( $_POST['item_meta'] ) ) {
|
77 |
+
wp_send_json_error( array( 'message' => esc_html__( 'Unable to get mega menu settings', 'responsive-menu' ) ) );
|
78 |
+
}
|
79 |
|
80 |
+
$item_meta = array();
|
81 |
|
82 |
// Don't forget to sanitize the data using recursive.
|
83 |
if ( is_array( $_POST['item_meta'] ) ) {
|
84 |
+
$item_meta = intval( wp_unslash( $_POST['item_meta'] ) );
|
|
|
85 |
}
|
86 |
|
87 |
+
update_post_meta( $menu_id, '_rmp_mega_menu_' . $item_id, $item_meta );
|
88 |
|
89 |
/**
|
90 |
* Fires when mega menu item settings update.
|
97 |
*/
|
98 |
do_action( 'rmp_update_mega_menu_item', $menu_id, $item_id, $item_meta );
|
99 |
|
100 |
+
wp_send_json_success( array( 'message' => 'success' ) );
|
|
|
101 |
}
|
102 |
|
103 |
/**
|
108 |
* @return json
|
109 |
*/
|
110 |
public function enable_mega_menu_item() {
|
|
|
111 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
112 |
|
113 |
+
$menu_id = isset( $_POST['menu_id'] ) ? sanitize_text_field( wp_unslash( $_POST['menu_id'] ) ) : '';
|
114 |
+
$item_id = isset( $_POST['item_id'] ) ? sanitize_text_field( wp_unslash( $_POST['item_id'] ) ) : '';
|
115 |
+
$value = isset( $_POST['value'] ) ? sanitize_text_field( wp_unslash( $_POST['value'] ) ) : '';
|
116 |
|
117 |
$options = get_post_meta( $menu_id, 'rmp_menu_meta' );
|
118 |
|
119 |
if ( ! empty( $options ) ) {
|
120 |
+
$options = $options[0];
|
121 |
+
$options['mega_menu'][ $item_id ] = $value;
|
122 |
+
$options = update_post_meta( $menu_id, 'rmp_menu_meta', $options );
|
123 |
|
124 |
+
wp_send_json_success( array( 'message' => esc_html__( 'Success', 'responsive-menu' ) ) );
|
125 |
}
|
126 |
|
127 |
wp_send_json_error(
|
128 |
+
array( 'message' => esc_html__( 'Menu not found', 'responsive-menu' ) )
|
129 |
);
|
|
|
130 |
}
|
131 |
|
132 |
/**
|
133 |
* This function saved the menu options when click update in the menu editor.
|
134 |
*
|
135 |
+
* @since 4.0.0
|
136 |
*
|
137 |
* @return json
|
138 |
*/
|
139 |
public function rmp_save_options() {
|
|
|
140 |
check_ajax_referer( 'rmp_nonce', 'ajax_nonce' );
|
141 |
|
142 |
+
$options = array();
|
143 |
+
$form_data = isset( $_POST['form'] ) ? rm_sanitize_rec_array( wp_unslash( $_POST['form'] ) ) : ''; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
|
144 |
parse_str( $form_data, $options );
|
145 |
|
146 |
$menu_id = sanitize_text_field( $options['menu_id'] );
|
147 |
if ( empty( $menu_id ) ) {
|
148 |
+
wp_send_json_error( array( 'message' => esc_html__( 'Menu ID missing !', 'responsive-menu' ) ) );
|
149 |
}
|
150 |
|
151 |
$options = $options['menu'];
|
152 |
|
153 |
// Merge the default and update options.
|
154 |
+
$options = array_merge( rmp_get_default_options(), $options );
|
155 |
|
156 |
update_post_meta( $menu_id, 'rmp_menu_meta', $options );
|
157 |
|
166 |
// Return the response after success.
|
167 |
wp_send_json_success();
|
168 |
}
|
|
|
169 |
}
|
v4.0.0/inc/classes/class-editor.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* @version 4.0.0
|
7 |
* @author Expresstech System
|
8 |
*
|
9 |
-
* @package responsive-menu
|
10 |
*/
|
11 |
|
12 |
namespace RMP\Features\Inc;
|
@@ -15,7 +15,7 @@ use RMP\Features\Inc\Traits\Singleton;
|
|
15 |
|
16 |
// Disable the direct access to this class.
|
17 |
if ( ! defined( 'ABSPATH' ) ) {
|
18 |
-
|
19 |
}
|
20 |
|
21 |
/**
|
@@ -40,7 +40,7 @@ class Editor {
|
|
40 |
* @return void
|
41 |
*/
|
42 |
protected function setup_hooks() {
|
43 |
-
add_action( 'admin_head',
|
44 |
}
|
45 |
|
46 |
/**
|
@@ -52,7 +52,6 @@ class Editor {
|
|
52 |
* @return void
|
53 |
*/
|
54 |
public function render_menu_editor_page() {
|
55 |
-
|
56 |
$editor = filter_input( INPUT_GET, 'editor', FILTER_SANITIZE_STRING );
|
57 |
if ( ! empty( $editor ) && get_post_type() == 'rmp_menu' && is_admin() ) {
|
58 |
set_current_screen();
|
@@ -69,14 +68,12 @@ class Editor {
|
|
69 |
* @param HTML.
|
70 |
*/
|
71 |
public function header_section( $menu_name ) {
|
72 |
-
|
73 |
-
ob_start();
|
74 |
?>
|
75 |
<div id="rmp-editor-header" class="rmp-editor-header">
|
76 |
<!-- Plugin logo on editor header-->
|
77 |
<div class="rmp-editor-header-logo">
|
78 |
<span class="dashicons dashicons-arrow-left-alt rmp-editor-header-back"></span>
|
79 |
-
<img alt="logo" src="<?php echo esc_url( RMP_PLUGIN_URL_V4 .'/assets/images/rmp-logo.png' ); ?>" />
|
80 |
</div>
|
81 |
<!-- Menu title on editor header-->
|
82 |
<div class="rmp-editor-header-title"><?php echo esc_html( $menu_name ); ?></div>
|
@@ -84,26 +81,22 @@ class Editor {
|
|
84 |
<div class="rmp-search-settings-block">
|
85 |
<label class="rmp-search-settings-btn"><i class="fa fa-search"></i></label>
|
86 |
<!-- Exit from editor button in header-->
|
87 |
-
<a class="rmp-editor-header-close" href="<?php echo esc_url( admin_url().'/edit.php?post_type=rmp_menu' ); ?>">
|
88 |
<span class="fas fa-times"></span>
|
89 |
<span class="screen-reader-text">
|
90 |
-
<?php
|
91 |
</span>
|
92 |
</a>
|
93 |
</div>
|
94 |
</div>
|
95 |
<?php
|
96 |
|
97 |
-
$html = ob_get_clean();
|
98 |
-
|
99 |
/**
|
100 |
* Filters the editor header.
|
101 |
*
|
102 |
* @param string|HTML $html
|
103 |
*/
|
104 |
-
|
105 |
-
|
106 |
-
return $html;
|
107 |
}
|
108 |
|
109 |
/**
|
@@ -112,13 +105,12 @@ class Editor {
|
|
112 |
* @param HTML.
|
113 |
*/
|
114 |
public function footer_section() {
|
115 |
-
ob_start();
|
116 |
?>
|
117 |
<div id="rmp-editor-footer" class="rmp-editor-footer">
|
118 |
|
119 |
<!-- Update the settings button in footer-->
|
120 |
<button type="button" class="menu-save" id="rmp-save-menu-options">
|
121 |
-
<?php esc_html_e( 'Update', 'responsive-menu
|
122 |
</button>
|
123 |
|
124 |
<!-- Themes options when click on up arrow button in footer-->
|
@@ -131,14 +123,14 @@ class Editor {
|
|
131 |
<li>
|
132 |
<a id="rmp-theme-save-button" class="rmp-theme-save-button">
|
133 |
<span class="fas fa-save"></span>
|
134 |
-
<span> <?php esc_html_e( 'Save as theme', 'responsive-menu
|
135 |
</a>
|
136 |
</li>
|
137 |
|
138 |
<li>
|
139 |
<a id="rmp-theme-change-button" class="rmp-theme-change-button" >
|
140 |
<span class="fas fa-folder-open "></span>
|
141 |
-
<span><?php esc_html_e( 'Change theme', 'responsive-menu
|
142 |
</a>
|
143 |
</li>
|
144 |
</ul>
|
@@ -148,23 +140,38 @@ class Editor {
|
|
148 |
<div class="rmp-preview-device-wrapper">
|
149 |
|
150 |
<button type="button" id="rmp-preview-mobile" class=" rmp-device-preview rmp-preview-mobile active" aria-pressed="1" data-device="mobile">
|
151 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
152 |
<span class="screen-reader-text">
|
153 |
-
<?php
|
154 |
</span>
|
155 |
</button>
|
156 |
|
157 |
<button type="button" id="rmp-preview-tablet" class="rmp-preview-tablet rmp-device-preview" aria-pressed="" data-device="tablet">
|
158 |
-
<?php
|
|
|
|
|
|
6 |
* @version 4.0.0
|
7 |
* @author Expresstech System
|
8 |
*
|
9 |
+
* @package responsive-menu
|
10 |
*/
|
11 |
|
12 |
namespace RMP\Features\Inc;
|
15 |
|
16 |
// Disable the direct access to this class.
|
17 |
if ( ! defined( 'ABSPATH' ) ) {
|
18 |
+
exit;
|
19 |
}
|
20 |
|
21 |
/**
|
40 |
* @return void
|
41 |
*/
|
42 |
protected function setup_hooks() {
|
43 |
+
add_action( 'admin_head', array( $this, 'render_menu_editor_page' ) );
|
44 |
}
|
45 |
|
46 |
/**
|
52 |
* @return void
|
53 |
*/
|
54 |
public function render_menu_editor_page() {
|
|
|
55 |
$editor = filter_input( INPUT_GET, 'editor', FILTER_SANITIZE_STRING );
|
56 |
if ( ! empty( $editor ) && get_post_type() == 'rmp_menu' && is_admin() ) {
|
57 |
set_current_screen();
|
68 |
* @param HTML.
|
69 |
*/
|
70 |
public function header_section( $menu_name ) {
|
|
|
|
|
71 |
?>
|
72 |
<div id="rmp-editor-header" class="rmp-editor-header">
|
73 |
<!-- Plugin logo on editor header-->
|
74 |
<div class="rmp-editor-header-logo">
|
75 |
<span class="dashicons dashicons-arrow-left-alt rmp-editor-header-back"></span>
|
76 |
+
<img alt="logo" src="<?php echo esc_url( RMP_PLUGIN_URL_V4 . '/assets/images/rmp-logo.png' ); ?>" />
|
77 |
</div>
|
78 |
<!-- Menu title on editor header-->
|
79 |
<div class="rmp-editor-header-title"><?php echo esc_html( $menu_name ); ?></div>
|
81 |
<div class="rmp-search-settings-block">
|
82 |
<label class="rmp-search-settings-btn"><i class="fa fa-search"></i></label>
|
83 |
<!-- Exit from editor button in header-->
|
84 |
+
<a class="rmp-editor-header-close" href="<?php echo esc_url( admin_url() . '/edit.php?post_type=rmp_menu' ); ?>">
|
85 |
<span class="fas fa-times"></span>
|
86 |
<span class="screen-reader-text">
|
87 |
+
<?php esc_html_e( 'Close the editor and go back to the previous page', 'responsive-menu' ); ?>
|
88 |
</span>
|
89 |
</a>
|
90 |
</div>
|
91 |
</div>
|
92 |
<?php
|
93 |
|
|
|
|
|
94 |
/**
|
95 |
* Filters the editor header.
|
96 |
*
|
97 |
* @param string|HTML $html
|
98 |
*/
|
99 |
+
echo apply_filters( 'rmp_editor_header_html', '' );
|
|
|
|
|
100 |
}
|
101 |
|
102 |
/**
|
105 |
* @param HTML.
|
106 |
*/
|
107 |
public function footer_section() {
|
|
|
108 |
?>
|
109 |
<div id="rmp-editor-footer" class="rmp-editor-footer">
|
110 |
|
111 |
<!-- Update the settings button in footer-->
|
112 |
<button type="button" class="menu-save" id="rmp-save-menu-options">
|
113 |
+
<?php esc_html_e( 'Update', 'responsive-menu' ); ?>
|
114 |
</button>
|
115 |
|
116 |
<!-- Themes options when click on up arrow button in footer-->
|
123 |
<li>
|
124 |
<a id="rmp-theme-save-button" class="rmp-theme-save-button">
|
125 |
<span class="fas fa-save"></span>
|
126 |
+
<span> <?php esc_html_e( 'Save as theme', 'responsive-menu' ); ?></span>
|
127 |
</a>
|
128 |
</li>
|
129 |
|
130 |
<li>
|
131 |
<a id="rmp-theme-change-button" class="rmp-theme-change-button" >
|
132 |
<span class="fas fa-folder-open "></span>
|
133 |
+
<span><?php esc_html_e( 'Change theme', 'responsive-menu' ); ?></span>
|
134 |
</a>
|
135 |
</li>
|
136 |
</ul>
|
140 |
<div class="rmp-preview-device-wrapper">
|
141 |
|
142 |
<button type="button" id="rmp-preview-mobile" class=" rmp-device-preview rmp-preview-mobile active" aria-pressed="1" data-device="mobile">
|
143 |
+
<?php
|
144 |
+
$svg_mobile = wp_remote_get( RMP_PLUGIN_URL_V4 . '/assets/admin/icons/svg/mobile.svg' );
|
145 |
+
if ( is_array( $svg_mobile ) && ! is_wp_error( $svg_mobile ) ) {
|
146 |
+
echo wp_kses( $svg_mobile['body'], rmp_allow_svg_html_tags() );
|
147 |
+
}
|
148 |
+
?>
|
149 |
<span class="screen-reader-text">
|
150 |
+
<?php esc_html_e( 'Enter mobile preview mode', 'responsive-menu' ); ?>
|
151 |
</span>
|
152 |
</button>
|
153 |
|
154 |
<button type="button" id="rmp-preview-tablet" class="rmp-preview-tablet rmp-device-preview" aria-pressed="" data-device="tablet">
|
155 |
+
<?php
|
156 |
+
$svg_tablet = wp_remote_get( RMP_PLUGIN_URL_V4 . '/assets/admin/icons/svg/tablet.svg' );
|
157 |
+
if ( is_array( $svg_tablet ) && ! is_wp_error( $svg_tablet ) ) {
|
158 |
+
echo wp_kses( $svg_tablet['body'], rmp_allow_svg_html_tags(
|