Max Mega Menu - Version 2.9.3

Version Description

  • Fix: Update spectrum.js to 1.8.1 (fixes broken colour palette)
Download this release

Release Info

Developer megamenu
Plugin Icon 128x128 Max Mega Menu
Version 2.9.3
Comparing to
See all releases

Code changes from version 2.9.2 to 2.9.3

classes/menu-item-manager.class.php CHANGED
@@ -99,6 +99,12 @@ if ( ! class_exists( 'Mega_Menu_Menu_Item_Manager' ) ) :
99
 
100
  check_ajax_referer( 'megamenu_edit' );
101
 
 
 
 
 
 
 
102
  $submitted_settings = isset( $_POST['settings'] ) ? $_POST['settings'] : array();
103
 
104
  $menu_item_id = absint( $_POST['menu_item_id'] );
@@ -158,6 +164,12 @@ if ( ! class_exists( 'Mega_Menu_Menu_Item_Manager' ) ) :
158
 
159
  check_ajax_referer( 'megamenu_edit' );
160
 
 
 
 
 
 
 
161
  $this->init();
162
 
163
  $response = array();
@@ -350,6 +362,12 @@ if ( ! class_exists( 'Mega_Menu_Menu_Item_Manager' ) ) :
350
 
351
  check_ajax_referer( 'megamenu_edit' );
352
 
 
 
 
 
 
 
353
  $return = $this->get_grid_column();
354
 
355
  if ( ob_get_contents() ) {
@@ -369,6 +387,12 @@ if ( ! class_exists( 'Mega_Menu_Menu_Item_Manager' ) ) :
369
 
370
  check_ajax_referer( 'megamenu_edit' );
371
 
 
 
 
 
 
 
372
  $column_html = $this->get_grid_column();
373
 
374
  $return = $this->get_grid_row( false, $column_html );
99
 
100
  check_ajax_referer( 'megamenu_edit' );
101
 
102
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
103
+
104
+ if ( ! current_user_can( $capability ) ) {
105
+ return;
106
+ }
107
+
108
  $submitted_settings = isset( $_POST['settings'] ) ? $_POST['settings'] : array();
109
 
110
  $menu_item_id = absint( $_POST['menu_item_id'] );
164
 
165
  check_ajax_referer( 'megamenu_edit' );
166
 
167
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
168
+
169
+ if ( ! current_user_can( $capability ) ) {
170
+ return;
171
+ }
172
+
173
  $this->init();
174
 
175
  $response = array();
362
 
363
  check_ajax_referer( 'megamenu_edit' );
364
 
365
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
366
+
367
+ if ( ! current_user_can( $capability ) ) {
368
+ return;
369
+ }
370
+
371
  $return = $this->get_grid_column();
372
 
373
  if ( ob_get_contents() ) {
387
 
388
  check_ajax_referer( 'megamenu_edit' );
389
 
390
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
391
+
392
+ if ( ! current_user_can( $capability ) ) {
393
+ return;
394
+ }
395
+
396
  $column_html = $this->get_grid_column();
397
 
398
  $return = $this->get_grid_row( false, $column_html );
classes/nav-menus.class.php CHANGED
@@ -136,6 +136,12 @@ if ( ! class_exists( 'Mega_Menu_Nav_Menus' ) ) :
136
  public function register_nav_meta_box() {
137
  global $pagenow;
138
 
 
 
 
 
 
 
139
  if ( 'nav-menus.php' === $pagenow ) {
140
  add_meta_box(
141
  'mega_menu_meta_box',
@@ -159,6 +165,12 @@ if ( ! class_exists( 'Mega_Menu_Nav_Menus' ) ) :
159
  return;
160
  }
161
 
 
 
 
 
 
 
162
  // Compatibility fix for SlideDeck Pro
163
  wp_deregister_script( 'codemirror' );
164
  wp_deregister_style( 'codemirror' );
@@ -256,6 +268,12 @@ if ( ! class_exists( 'Mega_Menu_Nav_Menus' ) ) :
256
  public function save() {
257
  check_ajax_referer( 'megamenu_edit', 'nonce' );
258
 
 
 
 
 
 
 
259
  if ( isset( $_POST['menu'] ) && $_POST['menu'] > 0 && is_nav_menu( $_POST['menu'] ) && isset( $_POST['megamenu_meta'] ) ) {
260
  $raw_submitted_settings = $_POST['megamenu_meta'];
261
  $parsed_submitted_settings = json_decode( stripslashes( $raw_submitted_settings ), true );
136
  public function register_nav_meta_box() {
137
  global $pagenow;
138
 
139
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
140
+
141
+ if ( ! current_user_can( $capability ) ) {
142
+ return;
143
+ }
144
+
145
  if ( 'nav-menus.php' === $pagenow ) {
146
  add_meta_box(
147
  'mega_menu_meta_box',
165
  return;
166
  }
167
 
168
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
169
+
170
+ if ( ! current_user_can( $capability ) ) {
171
+ return;
172
+ }
173
+
174
  // Compatibility fix for SlideDeck Pro
175
  wp_deregister_script( 'codemirror' );
176
  wp_deregister_style( 'codemirror' );
268
  public function save() {
269
  check_ajax_referer( 'megamenu_edit', 'nonce' );
270
 
271
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
272
+
273
+ if ( ! current_user_can( $capability ) ) {
274
+ return;
275
+ }
276
+
277
  if ( isset( $_POST['menu'] ) && $_POST['menu'] > 0 && is_nav_menu( $_POST['menu'] ) && isset( $_POST['megamenu_meta'] ) ) {
278
  $raw_submitted_settings = $_POST['megamenu_meta'];
279
  $parsed_submitted_settings = json_decode( stripslashes( $raw_submitted_settings ), true );
classes/pages/page.php CHANGED
@@ -255,8 +255,8 @@ if ( ! class_exists( 'Mega_Menu_Page' ) ) :
255
 
256
  wp_enqueue_style( 'mega-menu-settings', MEGAMENU_BASE_URL . 'css/admin/admin.css', false, MEGAMENU_VERSION );
257
 
258
- wp_enqueue_style( 'spectrum', MEGAMENU_BASE_URL . 'js/spectrum/spectrum.css', false, MEGAMENU_VERSION );
259
- wp_enqueue_script( 'spectrum', MEGAMENU_BASE_URL . 'js/spectrum/spectrum.js', array( 'jquery' ), MEGAMENU_VERSION );
260
 
261
  wp_localize_script(
262
  'spectrum',
255
 
256
  wp_enqueue_style( 'mega-menu-settings', MEGAMENU_BASE_URL . 'css/admin/admin.css', false, MEGAMENU_VERSION );
257
 
258
+ wp_enqueue_style( 'spectrum', MEGAMENU_BASE_URL . 'js/spectrum/spectrum.css', false, "1.8.1" );
259
+ wp_enqueue_script( 'spectrum', MEGAMENU_BASE_URL . 'js/spectrum/spectrum.js', array( 'jquery' ), "1.8.1" );
260
 
261
  wp_localize_script(
262
  'spectrum',
classes/pages/themes.php CHANGED
@@ -134,6 +134,12 @@ if ( ! class_exists( 'Mega_Menu_Themes' ) ) :
134
  public function ajax_save_theme() {
135
  check_ajax_referer( 'megamenu_save_theme' );
136
 
 
 
 
 
 
 
137
  $style_manager = new Mega_Menu_Style_Manager();
138
 
139
  $test = $style_manager->test_theme_compilation( $this->get_prepared_theme_for_saving() );
134
  public function ajax_save_theme() {
135
  check_ajax_referer( 'megamenu_save_theme' );
136
 
137
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
138
+
139
+ if ( ! current_user_can( $capability ) ) {
140
+ return;
141
+ }
142
+
143
  $style_manager = new Mega_Menu_Style_Manager();
144
 
145
  $test = $style_manager->test_theme_compilation( $this->get_prepared_theme_for_saving() );
classes/style-manager.class.php CHANGED
@@ -947,7 +947,7 @@ if ( ! class_exists( 'Mega_Menu_Style_Manager' ) ) :
947
  *
948
  * @since 1.6.1
949
  */
950
- private function enqueue_fs_style() {
951
 
952
  $upload_dir = wp_upload_dir();
953
 
947
  *
948
  * @since 1.6.1
949
  */
950
+ public function enqueue_fs_style() {
951
 
952
  $upload_dir = wp_upload_dir();
953
 
classes/toggle-blocks.class.php CHANGED
@@ -407,6 +407,13 @@ if ( ! class_exists( 'Mega_Menu_Toggle_Blocks' ) ) :
407
  * @since 2.1
408
  */
409
  public function enqueue_scripts() {
 
 
 
 
 
 
 
410
  if ( isset( $_GET['page'] ) && 'maxmegamenu_theme_editor' === $_GET['page'] ) { // @codingStandardsIgnoreLine
411
  wp_enqueue_script( 'mega-menu-toggle-bar-designer', MEGAMENU_BASE_URL . 'js/toggledesigner.js', array( 'jquery', 'jquery-ui-core', 'jquery-ui-sortable' ), MEGAMENU_VERSION );
412
 
407
  * @since 2.1
408
  */
409
  public function enqueue_scripts() {
410
+
411
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
412
+
413
+ if ( ! current_user_can( $capability ) ) {
414
+ return;
415
+ }
416
+
417
  if ( isset( $_GET['page'] ) && 'maxmegamenu_theme_editor' === $_GET['page'] ) { // @codingStandardsIgnoreLine
418
  wp_enqueue_script( 'mega-menu-toggle-bar-designer', MEGAMENU_BASE_URL . 'js/toggledesigner.js', array( 'jquery', 'jquery-ui-core', 'jquery-ui-sortable' ), MEGAMENU_VERSION );
419
 
classes/walker.class.php CHANGED
@@ -102,6 +102,9 @@ if ( ! class_exists( 'Mega_Menu_Walker' ) ) :
102
 
103
  $item_output = $item->content;
104
 
 
 
 
105
  } else {
106
 
107
  $atts = array();
102
 
103
  $item_output = $item->content;
104
 
105
+ //} else if ( 'block' === $item->type ) {
106
+ // /** This filter is documented in wp-includes/post-template.php */
107
+ // $item_output = apply_filters( 'the_content', $item->content );
108
  } else {
109
 
110
  $atts = array();
classes/widget-manager.class.php CHANGED
@@ -76,6 +76,12 @@ if ( ! class_exists( 'Mega_Menu_Widget_Manager' ) ) :
76
 
77
  check_ajax_referer( 'megamenu_edit' );
78
 
 
 
 
 
 
 
79
  $widget_id = sanitize_text_field( $_POST['widget_id'] );
80
 
81
  if ( ob_get_contents() ) {
@@ -95,6 +101,12 @@ if ( ! class_exists( 'Mega_Menu_Widget_Manager' ) ) :
95
 
96
  check_ajax_referer( 'megamenu_edit' );
97
 
 
 
 
 
 
 
98
  $menu_item_id = sanitize_text_field( $_POST['widget_id'] );
99
 
100
  $nonce = wp_create_nonce( 'megamenu_save_menu_item_' . $menu_item_id );
@@ -167,6 +179,12 @@ if ( ! class_exists( 'Mega_Menu_Widget_Manager' ) ) :
167
 
168
  check_ajax_referer( 'megamenu_save_menu_item_' . $menu_item_id );
169
 
 
 
 
 
 
 
170
  $submitted_settings = isset( $_POST['settings'] ) ? $_POST['settings'] : array();
171
 
172
  if ( $menu_item_id > 0 && is_array( $submitted_settings ) ) {
@@ -197,6 +215,12 @@ if ( ! class_exists( 'Mega_Menu_Widget_Manager' ) ) :
197
 
198
  check_ajax_referer( 'megamenu_save_widget_' . $widget_id );
199
 
 
 
 
 
 
 
200
  $saved = $this->save_widget( $id_base );
201
 
202
  if ( $saved ) {
@@ -217,6 +241,12 @@ if ( ! class_exists( 'Mega_Menu_Widget_Manager' ) ) :
217
 
218
  check_ajax_referer( 'megamenu_edit' );
219
 
 
 
 
 
 
 
220
  $widget_id = sanitize_text_field( $_POST['id'] );
221
  $columns = absint( $_POST['columns'] );
222
 
@@ -240,6 +270,12 @@ if ( ! class_exists( 'Mega_Menu_Widget_Manager' ) ) :
240
 
241
  check_ajax_referer( 'megamenu_edit' );
242
 
 
 
 
 
 
 
243
  $id = absint( $_POST['id'] );
244
  $columns = absint( $_POST['columns'] );
245
 
@@ -263,6 +299,12 @@ if ( ! class_exists( 'Mega_Menu_Widget_Manager' ) ) :
263
 
264
  check_ajax_referer( 'megamenu_edit' );
265
 
 
 
 
 
 
 
266
  $id_base = sanitize_text_field( $_POST['id_base'] );
267
  $menu_item_id = absint( $_POST['menu_item_id'] );
268
  $title = sanitize_text_field( $_POST['title'] );
@@ -288,6 +330,12 @@ if ( ! class_exists( 'Mega_Menu_Widget_Manager' ) ) :
288
 
289
  check_ajax_referer( 'megamenu_edit' );
290
 
 
 
 
 
 
 
291
  $widget_id = sanitize_text_field( $_POST['widget_id'] );
292
 
293
  $deleted = $this->delete_widget( $widget_id );
@@ -310,6 +358,12 @@ if ( ! class_exists( 'Mega_Menu_Widget_Manager' ) ) :
310
 
311
  check_ajax_referer( 'megamenu_edit' );
312
 
 
 
 
 
 
 
313
  $items = isset( $_POST['items'] ) ? $_POST['items'] : false;
314
 
315
  $saved = false;
@@ -335,6 +389,12 @@ if ( ! class_exists( 'Mega_Menu_Widget_Manager' ) ) :
335
 
336
  check_ajax_referer( 'megamenu_edit' );
337
 
 
 
 
 
 
 
338
  $grid = isset( $_POST['grid'] ) ? $_POST['grid'] : false;
339
  $parent_menu_item_id = absint( $_POST['parent_menu_item'] );
340
 
76
 
77
  check_ajax_referer( 'megamenu_edit' );
78
 
79
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
80
+
81
+ if ( ! current_user_can( $capability ) ) {
82
+ return;
83
+ }
84
+
85
  $widget_id = sanitize_text_field( $_POST['widget_id'] );
86
 
87
  if ( ob_get_contents() ) {
101
 
102
  check_ajax_referer( 'megamenu_edit' );
103
 
104
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
105
+
106
+ if ( ! current_user_can( $capability ) ) {
107
+ return;
108
+ }
109
+
110
  $menu_item_id = sanitize_text_field( $_POST['widget_id'] );
111
 
112
  $nonce = wp_create_nonce( 'megamenu_save_menu_item_' . $menu_item_id );
179
 
180
  check_ajax_referer( 'megamenu_save_menu_item_' . $menu_item_id );
181
 
182
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
183
+
184
+ if ( ! current_user_can( $capability ) ) {
185
+ return;
186
+ }
187
+
188
  $submitted_settings = isset( $_POST['settings'] ) ? $_POST['settings'] : array();
189
 
190
  if ( $menu_item_id > 0 && is_array( $submitted_settings ) ) {
215
 
216
  check_ajax_referer( 'megamenu_save_widget_' . $widget_id );
217
 
218
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
219
+
220
+ if ( ! current_user_can( $capability ) ) {
221
+ return;
222
+ }
223
+
224
  $saved = $this->save_widget( $id_base );
225
 
226
  if ( $saved ) {
241
 
242
  check_ajax_referer( 'megamenu_edit' );
243
 
244
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
245
+
246
+ if ( ! current_user_can( $capability ) ) {
247
+ return;
248
+ }
249
+
250
  $widget_id = sanitize_text_field( $_POST['id'] );
251
  $columns = absint( $_POST['columns'] );
252
 
270
 
271
  check_ajax_referer( 'megamenu_edit' );
272
 
273
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
274
+
275
+ if ( ! current_user_can( $capability ) ) {
276
+ return;
277
+ }
278
+
279
  $id = absint( $_POST['id'] );
280
  $columns = absint( $_POST['columns'] );
281
 
299
 
300
  check_ajax_referer( 'megamenu_edit' );
301
 
302
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
303
+
304
+ if ( ! current_user_can( $capability ) ) {
305
+ return;
306
+ }
307
+
308
  $id_base = sanitize_text_field( $_POST['id_base'] );
309
  $menu_item_id = absint( $_POST['menu_item_id'] );
310
  $title = sanitize_text_field( $_POST['title'] );
330
 
331
  check_ajax_referer( 'megamenu_edit' );
332
 
333
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
334
+
335
+ if ( ! current_user_can( $capability ) ) {
336
+ return;
337
+ }
338
+
339
  $widget_id = sanitize_text_field( $_POST['widget_id'] );
340
 
341
  $deleted = $this->delete_widget( $widget_id );
358
 
359
  check_ajax_referer( 'megamenu_edit' );
360
 
361
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
362
+
363
+ if ( ! current_user_can( $capability ) ) {
364
+ return;
365
+ }
366
+
367
  $items = isset( $_POST['items'] ) ? $_POST['items'] : false;
368
 
369
  $saved = false;
389
 
390
  check_ajax_referer( 'megamenu_edit' );
391
 
392
+ $capability = apply_filters( 'megamenu_options_capability', 'edit_theme_options' );
393
+
394
+ if ( ! current_user_can( $capability ) ) {
395
+ return;
396
+ }
397
+
398
  $grid = isset( $_POST['grid'] ) ? $_POST['grid'] : false;
399
  $parent_menu_item_id = absint( $_POST['parent_menu_item'] );
400
 
css/admin/admin.css CHANGED
@@ -4,33 +4,29 @@
4
  .rtl.nav-menus-php .mm_launch:before {
5
  margin-left: 2px;
6
  margin-right: 0; }
7
-
8
  .rtl.nav-menus-php #cboxContent .mm_tab_container {
9
  float: right; }
10
-
11
  .rtl.nav-menus-php #cboxContent .mega_menu .mm_panel_options {
12
  float: left; }
13
-
14
  .rtl.nav-menus-php #cboxContent .mm_header_container .mm_title {
15
  float: right; }
16
-
17
  .rtl.nav-menus-php #cboxContent table .mega-menu-item-align td.mega-value select {
18
  float: right; }
19
-
20
  .rtl.nav-menus-php #cboxContent table .mega-menu-item-align td.mega-value .mega-description {
21
  float: right;
22
  margin-right: 10px; }
23
-
24
  .rtl.nav-menus-php #cboxContent .mm_tab_container .mm_tab.active:after {
25
  right: auto;
26
  left: 0; }
27
-
28
  .rtl.nav-menus-php #cboxContent .mega_menu .widget-title-action {
29
  direction: ltr; }
30
-
31
  .rtl.nav-menus-php .mega_menu_meta_box div table td:nth-child(2) {
32
  text-align: left; }
33
 
 
 
 
 
34
  body[class*='_page_maxmegamenu_'] input.button-primary.is-busy,
35
  body.toplevel_page_maxmegamenu input.button-primary.is-busy,
36
  .nav-menus-php input.button-primary.is-busy {
@@ -39,7 +35,6 @@ body.toplevel_page_maxmegamenu input.button-primary.is-busy,
39
  background-image: linear-gradient(-45deg, #007cba 28%, #006395 0, #006395 72%, #007cba 0) !important;
40
  border-color: #007cba !important;
41
  animation: busy-animation 2.5s linear infinite; }
42
-
43
  body[class*='_page_maxmegamenu_'] .mega-tooltip[data-tooltip],
44
  body[class*='_page_maxmegamenu_'] .mega-tooltip[data-tooltip-enabled],
45
  body[class*='_page_maxmegamenu_'] .mega-tooltip[data-tooltip-disabled],
@@ -171,14 +166,11 @@ body.toplevel_page_maxmegamenu .mega-tooltip[data-tooltip-disabled],
171
 
172
  .nav-menus-php #cboxOverlay {
173
  left: 160px; }
174
-
175
  .nav-menus-php #colorbox {
176
  transform: translateX(80px); }
177
-
178
  .nav-menus-php.mega-colorbox-open ul#adminmenu a.wp-has-current-submenu:after,
179
  .nav-menus-php.mega-colorbox-open ul#adminmenu > li.current > a.current:after {
180
  border-right-color: #373737; }
181
-
182
  .nav-menus-php #cboxContent {
183
  padding: 0;
184
  user-select: none; }
@@ -419,9 +411,9 @@ body.toplevel_page_maxmegamenu .mega-tooltip[data-tooltip-disabled],
419
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='2'] .mega-col[data-span='2'] {
420
  width: 100%; }
421
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='3'] .mega-col[data-span='1'] {
422
- width: 33.33333%; }
423
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='3'] .mega-col[data-span='2'] {
424
- width: 66.66667%; }
425
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='3'] .mega-col[data-span='3'] {
426
  width: 100%; }
427
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='4'] .mega-col[data-span='1'] {
@@ -443,29 +435,29 @@ body.toplevel_page_maxmegamenu .mega-tooltip[data-tooltip-disabled],
443
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='5'] .mega-col[data-span='5'] {
444
  width: 100%; }
445
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='6'] .mega-col[data-span='1'] {
446
- width: 16.66667%; }
447
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='6'] .mega-col[data-span='2'] {
448
- width: 33.33333%; }
449
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='6'] .mega-col[data-span='3'] {
450
  width: 50%; }
451
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='6'] .mega-col[data-span='4'] {
452
- width: 66.66667%; }
453
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='6'] .mega-col[data-span='5'] {
454
- width: 83.33333%; }
455
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='6'] .mega-col[data-span='6'] {
456
  width: 100%; }
457
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='1'] {
458
- width: 14.28571%; }
459
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='2'] {
460
- width: 28.57143%; }
461
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='3'] {
462
- width: 42.85714%; }
463
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='4'] {
464
- width: 57.14286%; }
465
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='5'] {
466
- width: 71.42857%; }
467
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='6'] {
468
- width: 85.71429%; }
469
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='7'] {
470
  width: 100%; }
471
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='8'] .mega-col[data-span='1'] {
@@ -485,21 +477,21 @@ body.toplevel_page_maxmegamenu .mega-tooltip[data-tooltip-disabled],
485
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='8'] .mega-col[data-span='8'] {
486
  width: 100%; }
487
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='1'] {
488
- width: 11.11111%; }
489
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='2'] {
490
- width: 22.22222%; }
491
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='3'] {
492
- width: 33.33333%; }
493
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='4'] {
494
- width: 44.44444%; }
495
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='5'] {
496
- width: 55.55556%; }
497
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='6'] {
498
- width: 66.66667%; }
499
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='7'] {
500
- width: 77.77778%; }
501
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='8'] {
502
- width: 88.88889%; }
503
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='9'] {
504
  width: 100%; }
505
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='10'] .mega-col[data-span='1'] {
@@ -523,49 +515,49 @@ body.toplevel_page_maxmegamenu .mega-tooltip[data-tooltip-disabled],
523
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='10'] .mega-col[data-span='10'] {
524
  width: 100%; }
525
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='1'] {
526
- width: 9.09091%; }
527
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='2'] {
528
- width: 18.18182%; }
529
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='3'] {
530
- width: 27.27273%; }
531
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='4'] {
532
- width: 36.36364%; }
533
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='5'] {
534
- width: 45.45455%; }
535
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='6'] {
536
- width: 54.54545%; }
537
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='7'] {
538
- width: 63.63636%; }
539
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='8'] {
540
- width: 72.72727%; }
541
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='9'] {
542
- width: 81.81818%; }
543
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='10'] {
544
- width: 90.90909%; }
545
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='11'] {
546
  width: 100%; }
547
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='1'] {
548
- width: 8.33333%; }
549
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='2'] {
550
- width: 16.66667%; }
551
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='3'] {
552
  width: 25%; }
553
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='4'] {
554
- width: 33.33333%; }
555
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='5'] {
556
- width: 41.66667%; }
557
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='6'] {
558
  width: 50%; }
559
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='7'] {
560
- width: 58.33333%; }
561
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='8'] {
562
- width: 66.66667%; }
563
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='9'] {
564
  width: 75%; }
565
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='10'] {
566
- width: 83.33333%; }
567
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='11'] {
568
- width: 91.66667%; }
569
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='12'] {
570
  width: 100%; }
571
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row .notice {
@@ -939,9 +931,9 @@ body.toplevel_page_maxmegamenu .mega-tooltip[data-tooltip-disabled],
939
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='2'] .widget[data-columns='2'] {
940
  width: 100%; }
941
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='3'] .widget[data-columns='1'] {
942
- width: 33.33333%; }
943
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='3'] .widget[data-columns='2'] {
944
- width: 66.66667%; }
945
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='3'] .widget[data-columns='3'] {
946
  width: 100%; }
947
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='4'] .widget[data-columns='1'] {
@@ -963,29 +955,29 @@ body.toplevel_page_maxmegamenu .mega-tooltip[data-tooltip-disabled],
963
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='5'] .widget[data-columns='5'] {
964
  width: 100%; }
965
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='6'] .widget[data-columns='1'] {
966
- width: 16.66667%; }
967
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='6'] .widget[data-columns='2'] {
968
- width: 33.33333%; }
969
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='6'] .widget[data-columns='3'] {
970
  width: 50%; }
971
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='6'] .widget[data-columns='4'] {
972
- width: 66.66667%; }
973
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='6'] .widget[data-columns='5'] {
974
- width: 83.33333%; }
975
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='6'] .widget[data-columns='6'] {
976
  width: 100%; }
977
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='1'] {
978
- width: 14.28571%; }
979
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='2'] {
980
- width: 28.57143%; }
981
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='3'] {
982
- width: 42.85714%; }
983
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='4'] {
984
- width: 57.14286%; }
985
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='5'] {
986
- width: 71.42857%; }
987
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='6'] {
988
- width: 85.71429%; }
989
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='7'] {
990
  width: 100%; }
991
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='8'] .widget[data-columns='1'] {
@@ -1005,21 +997,21 @@ body.toplevel_page_maxmegamenu .mega-tooltip[data-tooltip-disabled],
1005
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='8'] .widget[data-columns='8'] {
1006
  width: 100%; }
1007
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='1'] {
1008
- width: 11.11111%; }
1009
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='2'] {
1010
- width: 22.22222%; }
1011
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='3'] {
1012
- width: 33.33333%; }
1013
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='4'] {
1014
- width: 44.44444%; }
1015
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='5'] {
1016
- width: 55.55556%; }
1017
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='6'] {
1018
- width: 66.66667%; }
1019
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='7'] {
1020
- width: 77.77778%; }
1021
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='8'] {
1022
- width: 88.88889%; }
1023
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='9'] {
1024
  width: 100%; }
1025
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='10'] .widget[data-columns='1'] {
@@ -1043,49 +1035,49 @@ body.toplevel_page_maxmegamenu .mega-tooltip[data-tooltip-disabled],
1043
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='10'] .widget[data-columns='10'] {
1044
  width: 100%; }
1045
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='1'] {
1046
- width: 9.09091%; }
1047
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='2'] {
1048
- width: 18.18182%; }
1049
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='3'] {
1050
- width: 27.27273%; }
1051
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='4'] {
1052
- width: 36.36364%; }
1053
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='5'] {
1054
- width: 45.45455%; }
1055
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='6'] {
1056
- width: 54.54545%; }
1057
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='7'] {
1058
- width: 63.63636%; }
1059
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='8'] {
1060
- width: 72.72727%; }
1061
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='9'] {
1062
- width: 81.81818%; }
1063
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='10'] {
1064
- width: 90.90909%; }
1065
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='11'] {
1066
  width: 100%; }
1067
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='1'] {
1068
- width: 8.33333%; }
1069
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='2'] {
1070
- width: 16.66667%; }
1071
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='3'] {
1072
  width: 25%; }
1073
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='4'] {
1074
- width: 33.33333%; }
1075
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='5'] {
1076
- width: 41.66667%; }
1077
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='6'] {
1078
  width: 50%; }
1079
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='7'] {
1080
- width: 58.33333%; }
1081
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='8'] {
1082
- width: 66.66667%; }
1083
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='9'] {
1084
  width: 75%; }
1085
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='10'] {
1086
- width: 83.33333%; }
1087
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='11'] {
1088
- width: 91.66667%; }
1089
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='12'] {
1090
  width: 100%; }
1091
  .nav-menus-php #cboxContent label[for='mm_enable_mega_menu'] {
@@ -1220,7 +1212,6 @@ body.toplevel_page_maxmegamenu .mega-tooltip[data-tooltip-disabled],
1220
  max-width: 100%; }
1221
  .nav-menus-php #cboxContent div[id^=rommeled_image] .non-sortable {
1222
  display: block !important; }
1223
-
1224
  .nav-menus-php #cboxClose {
1225
  text-indent: 0;
1226
  background: none;
@@ -1234,17 +1225,14 @@ body.toplevel_page_maxmegamenu .mega-tooltip[data-tooltip-disabled],
1234
  font: normal 24px/29px 'dashicons'; }
1235
  .nav-menus-php #cboxClose:hover {
1236
  color: #0074a2; }
1237
-
1238
  .nav-menus-php.megamenu_enabled .mm_prefix {
1239
  display: block;
1240
  font-size: 0.9em;
1241
  border-left: 3px solid #ffb900;
1242
  padding-left: 10px;
1243
  margin-top: 3px; }
1244
-
1245
  .nav-menus-php .mm_prefix {
1246
  display: none; }
1247
-
1248
  .nav-menus-php .mm_launch {
1249
  margin-left: 10px;
1250
  font-size: 12px;
@@ -1274,18 +1262,14 @@ body.toplevel_page_maxmegamenu .mega-tooltip[data-tooltip-disabled],
1274
  margin-right: 4px;
1275
  display: inline-block;
1276
  vertical-align: middle; }
1277
-
1278
  .nav-menus-php .menu-item-bar .menu-item-handle:hover .mm_launch {
1279
  opacity: 1; }
1280
-
1281
  .nav-menus-php .menu-item-bar .dashicons-admin-generic:before {
1282
  font-size: 1.2em;
1283
  margin-right: 1px;
1284
  height: auto; }
1285
-
1286
  .nav-menus-php #nav-menu-meta .mega_menu_meta_box .inside {
1287
  margin: 0; }
1288
-
1289
  .nav-menus-php #nav-menu-meta .mega_menu_meta_box div.accordion-section-content {
1290
  padding: 0; }
1291
  .nav-menus-php #nav-menu-meta .mega_menu_meta_box div.accordion-section-content .mega-accordion {
@@ -1351,17 +1335,14 @@ body.toplevel_page_maxmegamenu .mega-tooltip[data-tooltip-disabled],
1351
  min-width: 100px; }
1352
  .nav-menus-php #nav-menu-meta .mega_menu_meta_box div.accordion-section-content .mega-ellipsis {
1353
  margin-right: 5px; }
1354
-
1355
  .nav-menus-php #nav-menu-meta .mega_menu_meta_box p.submit {
1356
  float: right;
1357
  text-align: right;
1358
  width: auto;
1359
  margin: 0 0 15px 0;
1360
  padding: 0; }
1361
-
1362
  .nav-menus-php #nav-menu-meta .mega_menu_meta_box .spinner {
1363
  float: right; }
1364
-
1365
  .nav-menus-php .menu-item-handle .item-title {
1366
  margin-right: 0; }
1367
 
@@ -1376,38 +1357,31 @@ body.toplevel_page_maxmegamenu .megamenu_outer_wrap {
1376
  body.toplevel_page_maxmegamenu .megamenu_outer_wrap .notice {
1377
  margin: 0 0 20px 0;
1378
  clear: both; }
1379
-
1380
  body[class*='_page_maxmegamenu_'] *:focus,
1381
  body.toplevel_page_maxmegamenu *:focus {
1382
  box-shadow: 0 0 0; }
1383
-
1384
  body[class*='_page_maxmegamenu_'] .icon_dropdown .select2-choice > .select2-chosen,
1385
  body.toplevel_page_maxmegamenu .icon_dropdown .select2-choice > .select2-chosen {
1386
  line-height: 28px;
1387
  margin-right: 0px; }
1388
-
1389
  body[class*='_page_maxmegamenu_'] .icon_dropdown .select2-choice .select2-arrow,
1390
  body.toplevel_page_maxmegamenu .icon_dropdown .select2-choice .select2-arrow {
1391
  display: none; }
1392
-
1393
  body[class*='_page_maxmegamenu_'] .icon_dropdown .select2-choice,
1394
  body.toplevel_page_maxmegamenu .icon_dropdown .select2-choice {
1395
  padding: 0 5px 0 5px;
1396
  height: 28px;
1397
  color: #DFDFDF;
1398
  border: 1px solid #7e8993; }
1399
-
1400
  body[class*='_page_maxmegamenu_'] .icon_dropdown .select2-chosen i:before,
1401
  body.toplevel_page_maxmegamenu .icon_dropdown .select2-chosen i:before {
1402
  line-height: 28px;
1403
  font-size: 16px;
1404
  color: #444; }
1405
-
1406
  body[class*='_page_maxmegamenu_'] .tpx-select2-drop,
1407
  body.toplevel_page_maxmegamenu .tpx-select2-drop {
1408
  box-shadow: 0 0 0;
1409
  min-width: 150px; }
1410
-
1411
  body[class*='_page_maxmegamenu_'] .select2-results li,
1412
  body.toplevel_page_maxmegamenu .select2-results li {
1413
  float: left; }
@@ -1420,7 +1394,6 @@ body.toplevel_page_maxmegamenu .select2-results li {
1420
  body[class*='_page_maxmegamenu_'] .select2-results li .select2-result-label,
1421
  body.toplevel_page_maxmegamenu .select2-results li .select2-result-label {
1422
  font-size: 0.9em; }
1423
-
1424
  body[class*='_page_maxmegamenu_'] .icon_dropdown .select2-choice > .select2-chosen i,
1425
  body[class*='_page_maxmegamenu_'] .select2-result-label i,
1426
  body.toplevel_page_maxmegamenu .icon_dropdown .select2-choice > .select2-chosen i,
@@ -1440,7 +1413,6 @@ body.toplevel_page_maxmegamenu .select2-result-label i {
1440
  transition: color .1s ease-in 0;
1441
  -webkit-font-smoothing: antialiased;
1442
  -moz-osx-font-smoothing: grayscale; }
1443
-
1444
  body[class*='_page_maxmegamenu_'] .megamenu_header_top,
1445
  body.toplevel_page_maxmegamenu .megamenu_header_top {
1446
  font-size: 0.9em;
@@ -1469,7 +1441,6 @@ body.toplevel_page_maxmegamenu .megamenu_header_top {
1469
  color: white;
1470
  line-height: 30px;
1471
  padding: 0 10px; }
1472
-
1473
  body[class*='_page_maxmegamenu_'] .megamenu_header,
1474
  body.toplevel_page_maxmegamenu .megamenu_header {
1475
  background: white;
@@ -1488,7 +1459,6 @@ body.toplevel_page_maxmegamenu .megamenu_header {
1488
  body.toplevel_page_maxmegamenu .megamenu_header {
1489
  text-align: center;
1490
  border-bottom: 0; } }
1491
-
1492
  body[class*='_page_maxmegamenu_'] .megamenu_wrap,
1493
  body.toplevel_page_maxmegamenu .megamenu_wrap {
1494
  width: 100%;
@@ -1500,7 +1470,6 @@ body.toplevel_page_maxmegamenu .megamenu_wrap {
1500
  body[class*='_page_maxmegamenu_'] .megamenu_wrap,
1501
  body.toplevel_page_maxmegamenu .megamenu_wrap {
1502
  flex-direction: column; } }
1503
-
1504
  body[class*='_page_maxmegamenu_'] .megamenu_left,
1505
  body.toplevel_page_maxmegamenu .megamenu_left {
1506
  flex-basis: 190px;
@@ -1552,7 +1521,6 @@ body.toplevel_page_maxmegamenu .megamenu_left {
1552
  body[class*='_page_maxmegamenu_'] .megamenu_left ul.mega-page-navigation li a:hover,
1553
  body.toplevel_page_maxmegamenu .megamenu_left ul.mega-page-navigation li a:hover {
1554
  border-left: 0; } }
1555
-
1556
  body[class*='_page_maxmegamenu_'] .megamenu_right,
1557
  body.toplevel_page_maxmegamenu .megamenu_right {
1558
  flex-basis: 0;
@@ -1561,11 +1529,9 @@ body.toplevel_page_maxmegamenu .megamenu_right {
1561
  body[class*='_page_maxmegamenu_'] .megamenu_right,
1562
  body.toplevel_page_maxmegamenu .megamenu_right {
1563
  flex-basis: auto; } }
1564
-
1565
  body[class*='_page_maxmegamenu_'] h3.first,
1566
  body.toplevel_page_maxmegamenu h3.first {
1567
  margin-top: 0; }
1568
-
1569
  body[class*='_page_maxmegamenu_'] h3,
1570
  body.toplevel_page_maxmegamenu h3 {
1571
  clear: both;
@@ -1574,19 +1540,15 @@ body.toplevel_page_maxmegamenu h3 {
1574
  text-indent: 1px;
1575
  border-bottom: 1px solid #DFDFDF;
1576
  padding: 0 0 10px 0; }
1577
-
1578
  body[class*='_page_maxmegamenu_'] h3 span,
1579
  body.toplevel_page_maxmegamenu h3 span {
1580
  margin-right: 10px; }
1581
-
1582
  body[class*='_page_maxmegamenu_'] a,
1583
  body.toplevel_page_maxmegamenu a {
1584
  text-decoration: none; }
1585
-
1586
  body[class*='_page_maxmegamenu_'] .duplicate,
1587
  body.toplevel_page_maxmegamenu .duplicate {
1588
  margin-left: 15px; }
1589
-
1590
  body[class*='_page_maxmegamenu_'] .megamenu_submit,
1591
  body.toplevel_page_maxmegamenu .megamenu_submit {
1592
  margin-bottom: 40px;
@@ -1611,7 +1573,6 @@ body.toplevel_page_maxmegamenu .megamenu_submit {
1611
  body[class*='_page_maxmegamenu_'] .megamenu_submit .mega_right a,
1612
  body.toplevel_page_maxmegamenu .megamenu_submit .mega_right a {
1613
  color: #D0011B; }
1614
-
1615
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .megamenu_submit .saved,
1616
  body.toplevel_page_maxmegamenu .megamenu_wrap .megamenu_submit .saved {
1617
  background: transparent;
@@ -1622,14 +1583,12 @@ body.toplevel_page_maxmegamenu .megamenu_wrap .megamenu_submit .saved {
1622
  color: #0074a2;
1623
  text-transform: uppercase;
1624
  font-weight: bold; }
1625
-
1626
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .megamenu_submit .saved .dashicons,
1627
  body.toplevel_page_maxmegamenu .megamenu_wrap .megamenu_submit .saved .dashicons {
1628
  color: #0074a2;
1629
  width: 26px;
1630
  line-height: 28px;
1631
  height: 28px; }
1632
-
1633
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .success,
1634
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .warning,
1635
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .fail,
@@ -1646,15 +1605,12 @@ body.toplevel_page_maxmegamenu .megamenu_wrap .fail {
1646
  margin: 5px 0 30px;
1647
  line-height: 22px;
1648
  clear: both; }
1649
-
1650
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .fail,
1651
  body.toplevel_page_maxmegamenu .megamenu_wrap .fail {
1652
  border-left-color: #D0011B; }
1653
-
1654
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .warning,
1655
  body.toplevel_page_maxmegamenu .megamenu_wrap .warning {
1656
  border-left-color: #ffb900; }
1657
-
1658
  body[class*='_page_maxmegamenu_'] .mm-picker-container,
1659
  body.toplevel_page_maxmegamenu .mm-picker-container {
1660
  border-radius: 3px;
@@ -1666,7 +1622,12 @@ body.toplevel_page_maxmegamenu .mm-picker-container {
1666
  body.toplevel_page_maxmegamenu .mm-picker-container .sp-replacer {
1667
  margin: 0;
1668
  float: left;
1669
- border-right: 1px solid #7e8993; }
 
 
 
 
 
1670
  body[class*='_page_maxmegamenu_'] .mm-picker-container .sp-palette-container,
1671
  body.toplevel_page_maxmegamenu .mm-picker-container .sp-palette-container {
1672
  width: 40px; }
@@ -1693,12 +1654,10 @@ body.toplevel_page_maxmegamenu .mm-picker-container {
1693
  text-align: center;
1694
  float: left;
1695
  cursor: default; }
1696
-
1697
  body[class*='_page_maxmegamenu_'] .block .mm-picker-container,
1698
  body.toplevel_page_maxmegamenu .block .mm-picker-container {
1699
  float: right;
1700
  margin-right: 0; }
1701
-
1702
  body[class*='_page_maxmegamenu_'] .megamenu_right,
1703
  body.toplevel_page_maxmegamenu .megamenu_right {
1704
  padding: 20px;
@@ -2353,7 +2312,6 @@ body.toplevel_page_maxmegamenu .megamenu_right {
2353
  body.toplevel_page_maxmegamenu .megamenu_right .mega-description .fail {
2354
  margin: 20px 0 0 0;
2355
  color: #999; }
2356
-
2357
  body[class*='_page_maxmegamenu_'] .mega-delete,
2358
  body.toplevel_page_maxmegamenu .mega-delete {
2359
  margin-bottom: 15px;
@@ -2471,7 +2429,6 @@ body.toplevel_page_maxmegamenu .mega-delete {
2471
  100% {
2472
  -webkit-transform: rotate(359deg);
2473
  transform: rotate(359deg); } }
2474
-
2475
  @keyframes busy-animation {
2476
  0% {
2477
  background-position: 200px 0; } }
4
  .rtl.nav-menus-php .mm_launch:before {
5
  margin-left: 2px;
6
  margin-right: 0; }
 
7
  .rtl.nav-menus-php #cboxContent .mm_tab_container {
8
  float: right; }
 
9
  .rtl.nav-menus-php #cboxContent .mega_menu .mm_panel_options {
10
  float: left; }
 
11
  .rtl.nav-menus-php #cboxContent .mm_header_container .mm_title {
12
  float: right; }
 
13
  .rtl.nav-menus-php #cboxContent table .mega-menu-item-align td.mega-value select {
14
  float: right; }
 
15
  .rtl.nav-menus-php #cboxContent table .mega-menu-item-align td.mega-value .mega-description {
16
  float: right;
17
  margin-right: 10px; }
 
18
  .rtl.nav-menus-php #cboxContent .mm_tab_container .mm_tab.active:after {
19
  right: auto;
20
  left: 0; }
 
21
  .rtl.nav-menus-php #cboxContent .mega_menu .widget-title-action {
22
  direction: ltr; }
 
23
  .rtl.nav-menus-php .mega_menu_meta_box div table td:nth-child(2) {
24
  text-align: left; }
25
 
26
+ body[class*='_page_maxmegamenu_'] .sp-container,
27
+ body.toplevel_page_maxmegamenu .sp-container,
28
+ .nav-menus-php .sp-container {
29
+ border: 1px solid #7e8993; }
30
  body[class*='_page_maxmegamenu_'] input.button-primary.is-busy,
31
  body.toplevel_page_maxmegamenu input.button-primary.is-busy,
32
  .nav-menus-php input.button-primary.is-busy {
35
  background-image: linear-gradient(-45deg, #007cba 28%, #006395 0, #006395 72%, #007cba 0) !important;
36
  border-color: #007cba !important;
37
  animation: busy-animation 2.5s linear infinite; }
 
38
  body[class*='_page_maxmegamenu_'] .mega-tooltip[data-tooltip],
39
  body[class*='_page_maxmegamenu_'] .mega-tooltip[data-tooltip-enabled],
40
  body[class*='_page_maxmegamenu_'] .mega-tooltip[data-tooltip-disabled],
166
 
167
  .nav-menus-php #cboxOverlay {
168
  left: 160px; }
 
169
  .nav-menus-php #colorbox {
170
  transform: translateX(80px); }
 
171
  .nav-menus-php.mega-colorbox-open ul#adminmenu a.wp-has-current-submenu:after,
172
  .nav-menus-php.mega-colorbox-open ul#adminmenu > li.current > a.current:after {
173
  border-right-color: #373737; }
 
174
  .nav-menus-php #cboxContent {
175
  padding: 0;
176
  user-select: none; }
411
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='2'] .mega-col[data-span='2'] {
412
  width: 100%; }
413
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='3'] .mega-col[data-span='1'] {
414
+ width: 33.3333333333%; }
415
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='3'] .mega-col[data-span='2'] {
416
+ width: 66.6666666667%; }
417
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='3'] .mega-col[data-span='3'] {
418
  width: 100%; }
419
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='4'] .mega-col[data-span='1'] {
435
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='5'] .mega-col[data-span='5'] {
436
  width: 100%; }
437
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='6'] .mega-col[data-span='1'] {
438
+ width: 16.6666666667%; }
439
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='6'] .mega-col[data-span='2'] {
440
+ width: 33.3333333333%; }
441
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='6'] .mega-col[data-span='3'] {
442
  width: 50%; }
443
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='6'] .mega-col[data-span='4'] {
444
+ width: 66.6666666667%; }
445
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='6'] .mega-col[data-span='5'] {
446
+ width: 83.3333333333%; }
447
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='6'] .mega-col[data-span='6'] {
448
  width: 100%; }
449
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='1'] {
450
+ width: 14.2857142857%; }
451
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='2'] {
452
+ width: 28.5714285714%; }
453
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='3'] {
454
+ width: 42.8571428571%; }
455
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='4'] {
456
+ width: 57.1428571429%; }
457
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='5'] {
458
+ width: 71.4285714286%; }
459
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='6'] {
460
+ width: 85.7142857143%; }
461
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='7'] .mega-col[data-span='7'] {
462
  width: 100%; }
463
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='8'] .mega-col[data-span='1'] {
477
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='8'] .mega-col[data-span='8'] {
478
  width: 100%; }
479
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='1'] {
480
+ width: 11.1111111111%; }
481
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='2'] {
482
+ width: 22.2222222222%; }
483
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='3'] {
484
+ width: 33.3333333333%; }
485
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='4'] {
486
+ width: 44.4444444444%; }
487
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='5'] {
488
+ width: 55.5555555556%; }
489
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='6'] {
490
+ width: 66.6666666667%; }
491
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='7'] {
492
+ width: 77.7777777778%; }
493
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='8'] {
494
+ width: 88.8888888889%; }
495
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='9'] .mega-col[data-span='9'] {
496
  width: 100%; }
497
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='10'] .mega-col[data-span='1'] {
515
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='10'] .mega-col[data-span='10'] {
516
  width: 100%; }
517
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='1'] {
518
+ width: 9.0909090909%; }
519
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='2'] {
520
+ width: 18.1818181818%; }
521
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='3'] {
522
+ width: 27.2727272727%; }
523
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='4'] {
524
+ width: 36.3636363636%; }
525
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='5'] {
526
+ width: 45.4545454545%; }
527
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='6'] {
528
+ width: 54.5454545455%; }
529
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='7'] {
530
+ width: 63.6363636364%; }
531
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='8'] {
532
+ width: 72.7272727273%; }
533
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='9'] {
534
+ width: 81.8181818182%; }
535
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='10'] {
536
+ width: 90.9090909091%; }
537
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='11'] .mega-col[data-span='11'] {
538
  width: 100%; }
539
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='1'] {
540
+ width: 8.3333333333%; }
541
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='2'] {
542
+ width: 16.6666666667%; }
543
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='3'] {
544
  width: 25%; }
545
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='4'] {
546
+ width: 33.3333333333%; }
547
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='5'] {
548
+ width: 41.6666666667%; }
549
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='6'] {
550
  width: 50%; }
551
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='7'] {
552
+ width: 58.3333333333%; }
553
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='8'] {
554
+ width: 66.6666666667%; }
555
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='9'] {
556
  width: 75%; }
557
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='10'] {
558
+ width: 83.3333333333%; }
559
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='11'] {
560
+ width: 91.6666666667%; }
561
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row[data-available-cols='12'] .mega-col[data-span='12'] {
562
  width: 100%; }
563
  .nav-menus-php #cboxContent .mm_content.mega_menu #megamenu-grid .mega-row .notice {
931
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='2'] .widget[data-columns='2'] {
932
  width: 100%; }
933
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='3'] .widget[data-columns='1'] {
934
+ width: 33.3333333333%; }
935
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='3'] .widget[data-columns='2'] {
936
+ width: 66.6666666667%; }
937
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='3'] .widget[data-columns='3'] {
938
  width: 100%; }
939
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='4'] .widget[data-columns='1'] {
955
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='5'] .widget[data-columns='5'] {
956
  width: 100%; }
957
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='6'] .widget[data-columns='1'] {
958
+ width: 16.6666666667%; }
959
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='6'] .widget[data-columns='2'] {
960
+ width: 33.3333333333%; }
961
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='6'] .widget[data-columns='3'] {
962
  width: 50%; }
963
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='6'] .widget[data-columns='4'] {
964
+ width: 66.6666666667%; }
965
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='6'] .widget[data-columns='5'] {
966
+ width: 83.3333333333%; }
967
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='6'] .widget[data-columns='6'] {
968
  width: 100%; }
969
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='1'] {
970
+ width: 14.2857142857%; }
971
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='2'] {
972
+ width: 28.5714285714%; }
973
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='3'] {
974
+ width: 42.8571428571%; }
975
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='4'] {
976
+ width: 57.1428571429%; }
977
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='5'] {
978
+ width: 71.4285714286%; }
979
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='6'] {
980
+ width: 85.7142857143%; }
981
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='7'] .widget[data-columns='7'] {
982
  width: 100%; }
983
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='8'] .widget[data-columns='1'] {
997
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='8'] .widget[data-columns='8'] {
998
  width: 100%; }
999
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='1'] {
1000
+ width: 11.1111111111%; }
1001
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='2'] {
1002
+ width: 22.2222222222%; }
1003
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='3'] {
1004
+ width: 33.3333333333%; }
1005
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='4'] {
1006
+ width: 44.4444444444%; }
1007
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='5'] {
1008
+ width: 55.5555555556%; }
1009
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='6'] {
1010
+ width: 66.6666666667%; }
1011
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='7'] {
1012
+ width: 77.7777777778%; }
1013
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='8'] {
1014
+ width: 88.8888888889%; }
1015
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='9'] .widget[data-columns='9'] {
1016
  width: 100%; }
1017
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='10'] .widget[data-columns='1'] {
1035
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='10'] .widget[data-columns='10'] {
1036
  width: 100%; }
1037
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='1'] {
1038
+ width: 9.0909090909%; }
1039
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='2'] {
1040
+ width: 18.1818181818%; }
1041
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='3'] {
1042
+ width: 27.2727272727%; }
1043
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='4'] {
1044
+ width: 36.3636363636%; }
1045
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='5'] {
1046
+ width: 45.4545454545%; }
1047
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='6'] {
1048
+ width: 54.5454545455%; }
1049
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='7'] {
1050
+ width: 63.6363636364%; }
1051
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='8'] {
1052
+ width: 72.7272727273%; }
1053
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='9'] {
1054
+ width: 81.8181818182%; }
1055
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='10'] {
1056
+ width: 90.9090909091%; }
1057
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='11'] .widget[data-columns='11'] {
1058
  width: 100%; }
1059
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='1'] {
1060
+ width: 8.3333333333%; }
1061
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='2'] {
1062
+ width: 16.6666666667%; }
1063
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='3'] {
1064
  width: 25%; }
1065
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='4'] {
1066
+ width: 33.3333333333%; }
1067
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='5'] {
1068
+ width: 41.6666666667%; }
1069
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='6'] {
1070
  width: 50%; }
1071
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='7'] {
1072
+ width: 58.3333333333%; }
1073
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='8'] {
1074
+ width: 66.6666666667%; }
1075
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='9'] {
1076
  width: 75%; }
1077
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='10'] {
1078
+ width: 83.3333333333%; }
1079
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='11'] {
1080
+ width: 91.6666666667%; }
1081
  .nav-menus-php #cboxContent .mm_content.mega_menu #widgets[data-columns='12'] .widget[data-columns='12'] {
1082
  width: 100%; }
1083
  .nav-menus-php #cboxContent label[for='mm_enable_mega_menu'] {
1212
  max-width: 100%; }
1213
  .nav-menus-php #cboxContent div[id^=rommeled_image] .non-sortable {
1214
  display: block !important; }
 
1215
  .nav-menus-php #cboxClose {
1216
  text-indent: 0;
1217
  background: none;
1225
  font: normal 24px/29px 'dashicons'; }
1226
  .nav-menus-php #cboxClose:hover {
1227
  color: #0074a2; }
 
1228
  .nav-menus-php.megamenu_enabled .mm_prefix {
1229
  display: block;
1230
  font-size: 0.9em;
1231
  border-left: 3px solid #ffb900;
1232
  padding-left: 10px;
1233
  margin-top: 3px; }
 
1234
  .nav-menus-php .mm_prefix {
1235
  display: none; }
 
1236
  .nav-menus-php .mm_launch {
1237
  margin-left: 10px;
1238
  font-size: 12px;
1262
  margin-right: 4px;
1263
  display: inline-block;
1264
  vertical-align: middle; }
 
1265
  .nav-menus-php .menu-item-bar .menu-item-handle:hover .mm_launch {
1266
  opacity: 1; }
 
1267
  .nav-menus-php .menu-item-bar .dashicons-admin-generic:before {
1268
  font-size: 1.2em;
1269
  margin-right: 1px;
1270
  height: auto; }
 
1271
  .nav-menus-php #nav-menu-meta .mega_menu_meta_box .inside {
1272
  margin: 0; }
 
1273
  .nav-menus-php #nav-menu-meta .mega_menu_meta_box div.accordion-section-content {
1274
  padding: 0; }
1275
  .nav-menus-php #nav-menu-meta .mega_menu_meta_box div.accordion-section-content .mega-accordion {
1335
  min-width: 100px; }
1336
  .nav-menus-php #nav-menu-meta .mega_menu_meta_box div.accordion-section-content .mega-ellipsis {
1337
  margin-right: 5px; }
 
1338
  .nav-menus-php #nav-menu-meta .mega_menu_meta_box p.submit {
1339
  float: right;
1340
  text-align: right;
1341
  width: auto;
1342
  margin: 0 0 15px 0;
1343
  padding: 0; }
 
1344
  .nav-menus-php #nav-menu-meta .mega_menu_meta_box .spinner {
1345
  float: right; }
 
1346
  .nav-menus-php .menu-item-handle .item-title {
1347
  margin-right: 0; }
1348
 
1357
  body.toplevel_page_maxmegamenu .megamenu_outer_wrap .notice {
1358
  margin: 0 0 20px 0;
1359
  clear: both; }
 
1360
  body[class*='_page_maxmegamenu_'] *:focus,
1361
  body.toplevel_page_maxmegamenu *:focus {
1362
  box-shadow: 0 0 0; }
 
1363
  body[class*='_page_maxmegamenu_'] .icon_dropdown .select2-choice > .select2-chosen,
1364
  body.toplevel_page_maxmegamenu .icon_dropdown .select2-choice > .select2-chosen {
1365
  line-height: 28px;
1366
  margin-right: 0px; }
 
1367
  body[class*='_page_maxmegamenu_'] .icon_dropdown .select2-choice .select2-arrow,
1368
  body.toplevel_page_maxmegamenu .icon_dropdown .select2-choice .select2-arrow {
1369
  display: none; }
 
1370
  body[class*='_page_maxmegamenu_'] .icon_dropdown .select2-choice,
1371
  body.toplevel_page_maxmegamenu .icon_dropdown .select2-choice {
1372
  padding: 0 5px 0 5px;
1373
  height: 28px;
1374
  color: #DFDFDF;
1375
  border: 1px solid #7e8993; }
 
1376
  body[class*='_page_maxmegamenu_'] .icon_dropdown .select2-chosen i:before,
1377
  body.toplevel_page_maxmegamenu .icon_dropdown .select2-chosen i:before {
1378
  line-height: 28px;
1379
  font-size: 16px;
1380
  color: #444; }
 
1381
  body[class*='_page_maxmegamenu_'] .tpx-select2-drop,
1382
  body.toplevel_page_maxmegamenu .tpx-select2-drop {
1383
  box-shadow: 0 0 0;
1384
  min-width: 150px; }
 
1385
  body[class*='_page_maxmegamenu_'] .select2-results li,
1386
  body.toplevel_page_maxmegamenu .select2-results li {
1387
  float: left; }
1394
  body[class*='_page_maxmegamenu_'] .select2-results li .select2-result-label,
1395
  body.toplevel_page_maxmegamenu .select2-results li .select2-result-label {
1396
  font-size: 0.9em; }
 
1397
  body[class*='_page_maxmegamenu_'] .icon_dropdown .select2-choice > .select2-chosen i,
1398
  body[class*='_page_maxmegamenu_'] .select2-result-label i,
1399
  body.toplevel_page_maxmegamenu .icon_dropdown .select2-choice > .select2-chosen i,
1413
  transition: color .1s ease-in 0;
1414
  -webkit-font-smoothing: antialiased;
1415
  -moz-osx-font-smoothing: grayscale; }
 
1416
  body[class*='_page_maxmegamenu_'] .megamenu_header_top,
1417
  body.toplevel_page_maxmegamenu .megamenu_header_top {
1418
  font-size: 0.9em;
1441
  color: white;
1442
  line-height: 30px;
1443
  padding: 0 10px; }
 
1444
  body[class*='_page_maxmegamenu_'] .megamenu_header,
1445
  body.toplevel_page_maxmegamenu .megamenu_header {
1446
  background: white;
1459
  body.toplevel_page_maxmegamenu .megamenu_header {
1460
  text-align: center;
1461
  border-bottom: 0; } }
 
1462
  body[class*='_page_maxmegamenu_'] .megamenu_wrap,
1463
  body.toplevel_page_maxmegamenu .megamenu_wrap {
1464
  width: 100%;
1470
  body[class*='_page_maxmegamenu_'] .megamenu_wrap,
1471
  body.toplevel_page_maxmegamenu .megamenu_wrap {
1472
  flex-direction: column; } }
 
1473
  body[class*='_page_maxmegamenu_'] .megamenu_left,
1474
  body.toplevel_page_maxmegamenu .megamenu_left {
1475
  flex-basis: 190px;
1521
  body[class*='_page_maxmegamenu_'] .megamenu_left ul.mega-page-navigation li a:hover,
1522
  body.toplevel_page_maxmegamenu .megamenu_left ul.mega-page-navigation li a:hover {
1523
  border-left: 0; } }
 
1524
  body[class*='_page_maxmegamenu_'] .megamenu_right,
1525
  body.toplevel_page_maxmegamenu .megamenu_right {
1526
  flex-basis: 0;
1529
  body[class*='_page_maxmegamenu_'] .megamenu_right,
1530
  body.toplevel_page_maxmegamenu .megamenu_right {
1531
  flex-basis: auto; } }
 
1532
  body[class*='_page_maxmegamenu_'] h3.first,
1533
  body.toplevel_page_maxmegamenu h3.first {
1534
  margin-top: 0; }
 
1535
  body[class*='_page_maxmegamenu_'] h3,
1536
  body.toplevel_page_maxmegamenu h3 {
1537
  clear: both;
1540
  text-indent: 1px;
1541
  border-bottom: 1px solid #DFDFDF;
1542
  padding: 0 0 10px 0; }
 
1543
  body[class*='_page_maxmegamenu_'] h3 span,
1544
  body.toplevel_page_maxmegamenu h3 span {
1545
  margin-right: 10px; }
 
1546
  body[class*='_page_maxmegamenu_'] a,
1547
  body.toplevel_page_maxmegamenu a {
1548
  text-decoration: none; }
 
1549
  body[class*='_page_maxmegamenu_'] .duplicate,
1550
  body.toplevel_page_maxmegamenu .duplicate {
1551
  margin-left: 15px; }
 
1552
  body[class*='_page_maxmegamenu_'] .megamenu_submit,
1553
  body.toplevel_page_maxmegamenu .megamenu_submit {
1554
  margin-bottom: 40px;
1573
  body[class*='_page_maxmegamenu_'] .megamenu_submit .mega_right a,
1574
  body.toplevel_page_maxmegamenu .megamenu_submit .mega_right a {
1575
  color: #D0011B; }
 
1576
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .megamenu_submit .saved,
1577
  body.toplevel_page_maxmegamenu .megamenu_wrap .megamenu_submit .saved {
1578
  background: transparent;
1583
  color: #0074a2;
1584
  text-transform: uppercase;
1585
  font-weight: bold; }
 
1586
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .megamenu_submit .saved .dashicons,
1587
  body.toplevel_page_maxmegamenu .megamenu_wrap .megamenu_submit .saved .dashicons {
1588
  color: #0074a2;
1589
  width: 26px;
1590
  line-height: 28px;
1591
  height: 28px; }
 
1592
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .success,
1593
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .warning,
1594
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .fail,
1605
  margin: 5px 0 30px;
1606
  line-height: 22px;
1607
  clear: both; }
 
1608
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .fail,
1609
  body.toplevel_page_maxmegamenu .megamenu_wrap .fail {
1610
  border-left-color: #D0011B; }
 
1611
  body[class*='_page_maxmegamenu_'] .megamenu_wrap .warning,
1612
  body.toplevel_page_maxmegamenu .megamenu_wrap .warning {
1613
  border-left-color: #ffb900; }
 
1614
  body[class*='_page_maxmegamenu_'] .mm-picker-container,
1615
  body.toplevel_page_maxmegamenu .mm-picker-container {
1616
  border-radius: 3px;
1622
  body.toplevel_page_maxmegamenu .mm-picker-container .sp-replacer {
1623
  margin: 0;
1624
  float: left;
1625
+ border: 0;
1626
+ background: transparent;
1627
+ padding: 0; }
1628
+ body[class*='_page_maxmegamenu_'] .mm-picker-container .sp-dd,
1629
+ body.toplevel_page_maxmegamenu .mm-picker-container .sp-dd {
1630
+ display: none; }
1631
  body[class*='_page_maxmegamenu_'] .mm-picker-container .sp-palette-container,
1632
  body.toplevel_page_maxmegamenu .mm-picker-container .sp-palette-container {
1633
  width: 40px; }
1654
  text-align: center;
1655
  float: left;
1656
  cursor: default; }
 
1657
  body[class*='_page_maxmegamenu_'] .block .mm-picker-container,
1658
  body.toplevel_page_maxmegamenu .block .mm-picker-container {
1659
  float: right;
1660
  margin-right: 0; }
 
1661
  body[class*='_page_maxmegamenu_'] .megamenu_right,
1662
  body.toplevel_page_maxmegamenu .megamenu_right {
1663
  padding: 20px;
2312
  body.toplevel_page_maxmegamenu .megamenu_right .mega-description .fail {
2313
  margin: 20px 0 0 0;
2314
  color: #999; }
 
2315
  body[class*='_page_maxmegamenu_'] .mega-delete,
2316
  body.toplevel_page_maxmegamenu .mega-delete {
2317
  margin-bottom: 15px;
2429
  100% {
2430
  -webkit-transform: rotate(359deg);
2431
  transform: rotate(359deg); } }
 
2432
  @keyframes busy-animation {
2433
  0% {
2434
  background-position: 200px 0; } }
css/admin/admin.scss CHANGED
@@ -58,6 +58,11 @@ $header_height: 75px;
58
  body[class*='_page_maxmegamenu_'],
59
  body.toplevel_page_maxmegamenu,
60
  .nav-menus-php {
 
 
 
 
 
61
  input.button-primary.is-busy {
62
  pointer-events: none;
63
  background-size: 100px 100% !important;
@@ -1883,9 +1888,14 @@ body.toplevel_page_maxmegamenu {
1883
  .sp-replacer {
1884
  margin: 0;
1885
  float: left;
1886
- border-right: 1px solid #7e8993;
 
 
1887
  }
1888
 
 
 
 
1889
  .sp-palette-container {
1890
  width: 40px;
1891
  }
58
  body[class*='_page_maxmegamenu_'],
59
  body.toplevel_page_maxmegamenu,
60
  .nav-menus-php {
61
+
62
+ .sp-container {
63
+ border: 1px solid #7e8993;
64
+ }
65
+
66
  input.button-primary.is-busy {
67
  pointer-events: none;
68
  background-size: 100px 100% !important;
1888
  .sp-replacer {
1889
  margin: 0;
1890
  float: left;
1891
+ border: 0;
1892
+ background: transparent;
1893
+ padding: 0;
1894
  }
1895
 
1896
+ .sp-dd {
1897
+ display: none;
1898
+ }
1899
  .sp-palette-container {
1900
  width: 40px;
1901
  }
js/spectrum/spectrum.css CHANGED
@@ -1,5 +1,5 @@
1
  /***
2
- Spectrum Colorpicker v1.1.0
3
  https://github.com/bgrins/spectrum
4
  Author: Brian Grinstead
5
  License: MIT
@@ -12,13 +12,22 @@ License: MIT
12
  display:inline-block;
13
  *display: inline;
14
  *zoom: 1;
15
- z-index: 2147483647;
 
16
  overflow: hidden;
17
  }
18
  .sp-container.sp-flat {
19
  position: relative;
20
  }
21
 
 
 
 
 
 
 
 
 
22
  /* http://ansciath.tumblr.com/post/7347495869/css-aspect-ratio */
23
  .sp-top {
24
  position:relative;
@@ -47,6 +56,12 @@ License: MIT
47
  left:84%;
48
  height: 100%;
49
  }
 
 
 
 
 
 
50
  .sp-fill {
51
  padding-top: 80%;
52
  }
@@ -58,17 +73,13 @@ License: MIT
58
  bottom:0;
59
  }
60
 
61
- .sp-alpha-enabled .sp-top
62
- {
63
  margin-bottom: 18px;
64
  }
65
- .sp-alpha-enabled .sp-alpha
66
- {
67
  display: block;
68
  }
69
-
70
- .sp-alpha-handle
71
- {
72
  position:absolute;
73
  top:-4px;
74
  bottom: -4px;
@@ -79,9 +90,7 @@ License: MIT
79
  background: white;
80
  opacity: .8;
81
  }
82
-
83
- .sp-alpha
84
- {
85
  display: none;
86
  position: absolute;
87
  bottom: -14px;
@@ -89,12 +98,30 @@ License: MIT
89
  left: 0;
90
  height: 8px;
91
  }
92
- .sp-alpha-inner{
93
  border: solid 1px #333;
94
  }
95
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  /* Don't allow text selection */
97
- .sp-container, .sp-replacer, .sp-preview, .sp-dragger, .sp-slider, .sp-alpha, .sp-alpha-handle, .sp-container.sp-dragging .sp-input, .sp-container button {
98
  -webkit-user-select:none;
99
  -moz-user-select: -moz-none;
100
  -o-user-select:none;
@@ -107,6 +134,9 @@ License: MIT
107
  .sp-container.sp-buttons-disabled .sp-button-container {
108
  display: none;
109
  }
 
 
 
110
  .sp-palette-only .sp-picker-container {
111
  display: none;
112
  }
@@ -147,13 +177,13 @@ License: MIT
147
  background: -o-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
148
  background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), color-stop(0.17, #ffff00), color-stop(0.33, #00ff00), color-stop(0.5, #00ffff), color-stop(0.67, #0000ff), color-stop(0.83, #ff00ff), to(#ff0000));
149
  background: -webkit-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
 
150
  }
151
 
152
  /* IE filters do not support multiple color stops.
153
  Generate 6 divs, line them up, and do two color gradients for each.
154
  Yes, really.
155
  */
156
-
157
  .sp-1 {
158
  height:17%;
159
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00');
@@ -194,7 +224,6 @@ License: MIT
194
  .sp-hue { left: 63%; }
195
  .sp-fill { padding-top: 60%; }
196
  }
197
-
198
  .sp-dragger {
199
  border-radius: 5px;
200
  height: 5px;
@@ -218,26 +247,29 @@ License: MIT
218
  opacity: .8;
219
  }
220
 
221
- /* Basic display options (colors, fonts, global widths) */
 
 
 
 
 
222
  .sp-container {
223
  border-radius: 0;
224
- background-color: #efefef;
225
- border: solid 1px #ccc;
226
  padding: 0;
227
  }
228
- .sp-container, .sp-container button, .sp-container input, .sp-color, .sp-hue
229
- {
230
  -webkit-box-sizing: border-box;
231
  -moz-box-sizing: border-box;
232
  -ms-box-sizing: border-box;
233
  box-sizing: border-box;
234
  }
235
- .sp-top
236
- {
237
  margin-bottom: 3px;
238
  }
239
- .sp-color, .sp-hue
240
- {
241
  border: solid 1px #666;
242
  }
243
 
@@ -263,31 +295,31 @@ License: MIT
263
  .sp-input:focus {
264
  border: 1px solid orange;
265
  }
266
- .sp-input.sp-validation-error
267
- {
268
  border: 1px solid red;
269
  background: #fdd;
270
  }
271
- .sp-picker-container , .sp-palette-container
272
- {
273
  float:left;
274
  position: relative;
275
  padding: 10px;
276
  padding-bottom: 300px;
277
  margin-bottom: -290px;
278
  }
279
- .sp-picker-container
280
- {
281
  width: 172px;
282
  border-left: solid 1px #fff;
283
  }
284
 
285
  /* Palettes */
286
- .sp-palette-container
287
- {
288
  border-right: solid 1px #ccc;
289
  }
290
 
 
 
 
 
291
  .sp-palette .sp-thumb-el {
292
  display: block;
293
  position:relative;
@@ -301,14 +333,12 @@ License: MIT
301
  .sp-palette .sp-thumb-el:hover, .sp-palette .sp-thumb-el.sp-thumb-active {
302
  border-color: orange;
303
  }
304
- .sp-thumb-el
305
- {
306
  position:relative;
307
  }
308
 
309
  /* Initial */
310
- .sp-initial
311
- {
312
  float: left;
313
  border: solid 1px #333;
314
  }
@@ -321,7 +351,12 @@ License: MIT
321
  margin:0;
322
  }
323
 
 
 
 
 
324
  /* Buttons */
 
325
  .sp-button-container {
326
  float: right;
327
  }
@@ -331,9 +366,12 @@ License: MIT
331
  margin:0;
332
  overflow:hidden;
333
  cursor:pointer;
 
334
  display:inline-block;
335
  *zoom: 1;
336
  *display: inline;
 
 
337
  color: #333;
338
  vertical-align: middle;
339
  }
@@ -352,50 +390,74 @@ License: MIT
352
  line-height: 16px;
353
  float:left;
354
  font-size:10px;
355
- display: none;
356
  }
357
- .sp-preview
358
- {
359
  position:relative;
360
- width: 48px;
361
- height: 18px;
362
  border: solid 1px #222;
363
- border-radius: 3px;
364
  margin-right: 5px;
365
  float:left;
366
  z-index: 0;
367
  }
368
 
369
- .sp-palette
370
- {
371
  *width: 220px;
372
  max-width: 220px;
373
  }
374
- .sp-palette .sp-thumb-el
375
- {
376
  width:16px;
377
  height: 16px;
378
  margin:2px 1px;
379
  border: solid 1px #d0d0d0;
380
  }
381
 
382
- .sp-container
383
- {
384
  padding-bottom:0;
385
  }
386
 
387
 
388
  /* Buttons: http://hellohappy.org/css3-buttons/ */
389
  .sp-container button {
390
- text-transform: capitalize;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
391
  }
392
  .sp-container button:hover {
 
 
 
 
 
 
 
 
 
 
393
  }
394
  .sp-container button:active {
395
- }
396
- .sp-cancel
397
- {
398
- display: none;
 
 
 
 
 
399
  font-size: 11px;
400
  color: #d93f3f !important;
401
  margin:0;
@@ -405,42 +467,41 @@ License: MIT
405
  text-decoration:none;
406
 
407
  }
408
- .sp-cancel:hover
409
- {
410
  color: #d93f3f !important;
411
  text-decoration: underline;
412
  }
413
 
414
 
415
- .sp-palette span:hover, .sp-palette span.sp-thumb-active
416
- {
417
  border-color: #000;
418
  }
419
 
420
- .sp-preview, .sp-alpha, .sp-thumb-el
421
- {
422
  position:relative;
423
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);
424
  }
425
- .sp-preview-inner, .sp-alpha-inner, .sp-thumb-inner
426
- {
427
  display:block;
428
  position:absolute;
429
  top:0;left:0;bottom:0;right:0;
430
  }
431
 
432
- .sp-palette .sp-thumb-inner
433
- {
434
  background-position: 50% 50%;
435
  background-repeat: no-repeat;
436
  }
437
 
438
- .sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner
439
- {
440
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=);
441
  }
442
 
443
- .sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner
444
- {
445
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=);
446
- }
 
 
 
 
 
 
1
  /***
2
+ Spectrum Colorpicker v1.8.1
3
  https://github.com/bgrins/spectrum
4
  Author: Brian Grinstead
5
  License: MIT
12
  display:inline-block;
13
  *display: inline;
14
  *zoom: 1;
15
+ /* https://github.com/bgrins/spectrum/issues/40 */
16
+ z-index: 9999994;
17
  overflow: hidden;
18
  }
19
  .sp-container.sp-flat {
20
  position: relative;
21
  }
22
 
23
+ /* Fix for * { box-sizing: border-box; } */
24
+ .sp-container,
25
+ .sp-container * {
26
+ -webkit-box-sizing: content-box;
27
+ -moz-box-sizing: content-box;
28
+ box-sizing: content-box;
29
+ }
30
+
31
  /* http://ansciath.tumblr.com/post/7347495869/css-aspect-ratio */
32
  .sp-top {
33
  position:relative;
56
  left:84%;
57
  height: 100%;
58
  }
59
+
60
+ .sp-clear-enabled .sp-hue {
61
+ top:33px;
62
+ height: 77.5%;
63
+ }
64
+
65
  .sp-fill {
66
  padding-top: 80%;
67
  }
73
  bottom:0;
74
  }
75
 
76
+ .sp-alpha-enabled .sp-top {
 
77
  margin-bottom: 18px;
78
  }
79
+ .sp-alpha-enabled .sp-alpha {
 
80
  display: block;
81
  }
82
+ .sp-alpha-handle {
 
 
83
  position:absolute;
84
  top:-4px;
85
  bottom: -4px;
90
  background: white;
91
  opacity: .8;
92
  }
93
+ .sp-alpha {
 
 
94
  display: none;
95
  position: absolute;
96
  bottom: -14px;
98
  left: 0;
99
  height: 8px;
100
  }
101
+ .sp-alpha-inner {
102
  border: solid 1px #333;
103
  }
104
 
105
+ .sp-clear {
106
+ display: none;
107
+ }
108
+
109
+ .sp-clear.sp-clear-display {
110
+ background-position: center;
111
+ }
112
+
113
+ .sp-clear-enabled .sp-clear {
114
+ display: block;
115
+ position:absolute;
116
+ top:0px;
117
+ right:0;
118
+ bottom:0;
119
+ left:84%;
120
+ height: 28px;
121
+ }
122
+
123
  /* Don't allow text selection */
124
+ .sp-container, .sp-replacer, .sp-preview, .sp-dragger, .sp-slider, .sp-alpha, .sp-clear, .sp-alpha-handle, .sp-container.sp-dragging .sp-input, .sp-container button {
125
  -webkit-user-select:none;
126
  -moz-user-select: -moz-none;
127
  -o-user-select:none;
134
  .sp-container.sp-buttons-disabled .sp-button-container {
135
  display: none;
136
  }
137
+ .sp-container.sp-palette-buttons-disabled .sp-palette-button-container {
138
+ display: none;
139
+ }
140
  .sp-palette-only .sp-picker-container {
141
  display: none;
142
  }
177
  background: -o-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
178
  background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), color-stop(0.17, #ffff00), color-stop(0.33, #00ff00), color-stop(0.5, #00ffff), color-stop(0.67, #0000ff), color-stop(0.83, #ff00ff), to(#ff0000));
179
  background: -webkit-linear-gradient(top, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
180
+ background: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
181
  }
182
 
183
  /* IE filters do not support multiple color stops.
184
  Generate 6 divs, line them up, and do two color gradients for each.
185
  Yes, really.
186
  */
 
187
  .sp-1 {
188
  height:17%;
189
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#ffff00');
224
  .sp-hue { left: 63%; }
225
  .sp-fill { padding-top: 60%; }
226
  }
 
227
  .sp-dragger {
228
  border-radius: 5px;
229
  height: 5px;
247
  opacity: .8;
248
  }
249
 
250
+ /*
251
+ Theme authors:
252
+ Here are the basic themeable display options (colors, fonts, global widths).
253
+ See http://bgrins.github.io/spectrum/themes/ for instructions.
254
+ */
255
+
256
  .sp-container {
257
  border-radius: 0;
258
+ background-color: #ECECEC;
259
+ border: solid 1px #f0c49B;
260
  padding: 0;
261
  }
262
+ .sp-container, .sp-container button, .sp-container input, .sp-color, .sp-hue, .sp-clear {
263
+ font: normal 12px "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
264
  -webkit-box-sizing: border-box;
265
  -moz-box-sizing: border-box;
266
  -ms-box-sizing: border-box;
267
  box-sizing: border-box;
268
  }
269
+ .sp-top {
 
270
  margin-bottom: 3px;
271
  }
272
+ .sp-color, .sp-hue, .sp-clear {
 
273
  border: solid 1px #666;
274
  }
275
 
295
  .sp-input:focus {
296
  border: 1px solid orange;
297
  }
298
+ .sp-input.sp-validation-error {
 
299
  border: 1px solid red;
300
  background: #fdd;
301
  }
302
+ .sp-picker-container , .sp-palette-container {
 
303
  float:left;
304
  position: relative;
305
  padding: 10px;
306
  padding-bottom: 300px;
307
  margin-bottom: -290px;
308
  }
309
+ .sp-picker-container {
 
310
  width: 172px;
311
  border-left: solid 1px #fff;
312
  }
313
 
314
  /* Palettes */
315
+ .sp-palette-container {
 
316
  border-right: solid 1px #ccc;
317
  }
318
 
319
+ .sp-palette-only .sp-palette-container {
320
+ border: 0;
321
+ }
322
+
323
  .sp-palette .sp-thumb-el {
324
  display: block;
325
  position:relative;
333
  .sp-palette .sp-thumb-el:hover, .sp-palette .sp-thumb-el.sp-thumb-active {
334
  border-color: orange;
335
  }
336
+ .sp-thumb-el {
 
337
  position:relative;
338
  }
339
 
340
  /* Initial */
341
+ .sp-initial {
 
342
  float: left;
343
  border: solid 1px #333;
344
  }
351
  margin:0;
352
  }
353
 
354
+ .sp-initial .sp-clear-display {
355
+ background-position: center;
356
+ }
357
+
358
  /* Buttons */
359
+ .sp-palette-button-container,
360
  .sp-button-container {
361
  float: right;
362
  }
366
  margin:0;
367
  overflow:hidden;
368
  cursor:pointer;
369
+ padding: 4px;
370
  display:inline-block;
371
  *zoom: 1;
372
  *display: inline;
373
+ border: solid 1px #91765d;
374
+ background: #eee;
375
  color: #333;
376
  vertical-align: middle;
377
  }
390
  line-height: 16px;
391
  float:left;
392
  font-size:10px;
 
393
  }
394
+ .sp-preview {
 
395
  position:relative;
396
+ width:25px;
397
+ height: 20px;
398
  border: solid 1px #222;
 
399
  margin-right: 5px;
400
  float:left;
401
  z-index: 0;
402
  }
403
 
404
+ .sp-palette {
 
405
  *width: 220px;
406
  max-width: 220px;
407
  }
408
+ .sp-palette .sp-thumb-el {
 
409
  width:16px;
410
  height: 16px;
411
  margin:2px 1px;
412
  border: solid 1px #d0d0d0;
413
  }
414
 
415
+ .sp-container {
 
416
  padding-bottom:0;
417
  }
418
 
419
 
420
  /* Buttons: http://hellohappy.org/css3-buttons/ */
421
  .sp-container button {
422
+ background-color: #eeeeee;
423
+ background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc);
424
+ background-image: -moz-linear-gradient(top, #eeeeee, #cccccc);
425
+ background-image: -ms-linear-gradient(top, #eeeeee, #cccccc);
426
+ background-image: -o-linear-gradient(top, #eeeeee, #cccccc);
427
+ background-image: linear-gradient(to bottom, #eeeeee, #cccccc);
428
+ border: 1px solid #ccc;
429
+ border-bottom: 1px solid #bbb;
430
+ border-radius: 3px;
431
+ color: #333;
432
+ font-size: 14px;
433
+ line-height: 1;
434
+ padding: 5px 4px;
435
+ text-align: center;
436
+ text-shadow: 0 1px 0 #eee;
437
+ vertical-align: middle;
438
  }
439
  .sp-container button:hover {
440
+ background-color: #dddddd;
441
+ background-image: -webkit-linear-gradient(top, #dddddd, #bbbbbb);
442
+ background-image: -moz-linear-gradient(top, #dddddd, #bbbbbb);
443
+ background-image: -ms-linear-gradient(top, #dddddd, #bbbbbb);
444
+ background-image: -o-linear-gradient(top, #dddddd, #bbbbbb);
445
+ background-image: linear-gradient(to bottom, #dddddd, #bbbbbb);
446
+ border: 1px solid #bbb;
447
+ border-bottom: 1px solid #999;
448
+ cursor: pointer;
449
+ text-shadow: 0 1px 0 #ddd;
450
  }
451
  .sp-container button:active {
452
+ border: 1px solid #aaa;
453
+ border-bottom: 1px solid #888;
454
+ -webkit-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
455
+ -moz-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
456
+ -ms-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
457
+ -o-box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
458
+ box-shadow: inset 0 0 5px 2px #aaaaaa, 0 1px 0 0 #eeeeee;
459
+ }
460
+ .sp-cancel {
461
  font-size: 11px;
462
  color: #d93f3f !important;
463
  margin:0;
467
  text-decoration:none;
468
 
469
  }
470
+ .sp-cancel:hover {
 
471
  color: #d93f3f !important;
472
  text-decoration: underline;
473
  }
474
 
475
 
476
+ .sp-palette span:hover, .sp-palette span.sp-thumb-active {
 
477
  border-color: #000;
478
  }
479
 
480
+ .sp-preview, .sp-alpha, .sp-thumb-el {
 
481
  position:relative;
482
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);
483
  }
484
+ .sp-preview-inner, .sp-alpha-inner, .sp-thumb-inner {
 
485
  display:block;
486
  position:absolute;
487
  top:0;left:0;bottom:0;right:0;
488
  }
489
 
490
+ .sp-palette .sp-thumb-inner {
 
491
  background-position: 50% 50%;
492
  background-repeat: no-repeat;
493
  }
494
 
495
+ .sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner {
 
496
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=);
497
  }
498
 
499
+ .sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner {
 
500
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=);
501
+ }
502
+
503
+ .sp-clear-display {
504
+ background-repeat:no-repeat;
505
+ background-position: center;
506
+ background-image: url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==);
507
+ }
js/spectrum/spectrum.js CHANGED
@@ -1,9 +1,21 @@
1
- // Spectrum Colorpicker v1.3.4
2
  // https://github.com/bgrins/spectrum
3
  // Author: Brian Grinstead
4
  // License: MIT
5
 
6
- (function (window, $, undefined) {
 
 
 
 
 
 
 
 
 
 
 
 
7
  "use strict";
8
 
9
  var defaultOpts = {
@@ -21,16 +33,20 @@
21
  showInput: false,
22
  allowEmpty: false,
23
  showButtons: true,
24
- clickoutFiresChange: false,
25
  showInitial: false,
26
  showPalette: false,
27
  showPaletteOnly: false,
 
 
28
  showSelectionPalette: true,
29
  localStorageKey: false,
30
  appendTo: "body",
31
  maxSelectionSize: 7,
32
  cancelText: "cancel",
33
  chooseText: "choose",
 
 
34
  clearText: "Clear Color Selection",
35
  noColorSelectedText: "No Color Selected",
36
  preferredFormat: false,
@@ -41,7 +57,8 @@
41
  theme: "sp-light",
42
  palette: [["#ffffff", "#000000", "#ff0000", "#ff8000", "#ffff00", "#008000", "#0000ff", "#4b0082", "#9400d3"]],
43
  selectionPalette: [],
44
- disabled: false
 
45
  },
46
  spectrums = [],
47
  IE = !!/msie/i.exec( window.navigator.userAgent ),
@@ -55,10 +72,6 @@
55
  style.cssText = 'background-color:rgba(0,0,0,.5)';
56
  return contains(style.backgroundColor, 'rgba') || contains(style.backgroundColor, 'hsla');
57
  })(),
58
- inputTypeColorSupport = (function() {
59
- var colorInput = $("<input type='color' value='!' />")[0];
60
- return colorInput.type === "color" && colorInput.value !== "!";
61
- })(),
62
  replaceInput = [
63
  "<div class='sp-replacer'>",
64
  "<div class='sp-preview'><div class='sp-preview-inner'></div></div>",
@@ -80,6 +93,9 @@
80
  "<div class='sp-container sp-hidden'>",
81
  "<div class='sp-palette-container'>",
82
  "<div class='sp-palette sp-thumb sp-cf'></div>",
 
 
 
83
  "</div>",
84
  "<div class='sp-picker-container'>",
85
  "<div class='sp-top sp-cf'>",
@@ -107,7 +123,7 @@
107
  "<div class='sp-initial sp-thumb sp-cf'></div>",
108
  "<div class='sp-button-container sp-cf'>",
109
  "<a class='sp-cancel' href='#'></a>",
110
- "<button type='button' class='sp-choose button-secondary'></button>",
111
  "</div>",
112
  "</div>",
113
  "</div>"
@@ -124,7 +140,7 @@
124
  c += (tinycolor.equals(color, current)) ? " sp-thumb-active" : "";
125
  var formattedString = tiny.toString(opts.preferredFormat || "rgb");
126
  var swatchStyle = rgbaSupport ? ("background-color:" + tiny.toRgbString()) : "filter:" + tiny.toFilter();
127
- html.push('<span title="' + formattedString + '" data-color="' + tiny.toRgbString() + '" class="' + c + '"><span class="sp-thumb-inner" style="' + swatchStyle + ';" /></span>');
128
  } else {
129
  var cls = 'sp-clear-display';
130
  html.push($('<div />')
@@ -169,6 +185,7 @@
169
  callbacks = opts.callbacks,
170
  resize = throttle(reflow, 10),
171
  visible = false,
 
172
  dragWidth = 0,
173
  dragHeight = 0,
174
  dragHelperHeight = 0,
@@ -194,6 +211,7 @@
194
  boundElement = $(element),
195
  disabled = false,
196
  container = $(markup, doc).addClass(theme),
 
197
  dragger = container.find(".sp-color"),
198
  dragHelper = container.find(".sp-dragger"),
199
  slider = container.find(".sp-hue"),
@@ -207,16 +225,16 @@
207
  cancelButton = container.find(".sp-cancel"),
208
  clearButton = container.find(".sp-clear"),
209
  chooseButton = container.find(".sp-choose"),
 
210
  isInput = boundElement.is("input"),
211
- isInputTypeColor = isInput && inputTypeColorSupport && boundElement.attr("type") === "color",
212
  shouldReplace = isInput && !flat,
213
  replacer = (shouldReplace) ? $(replaceInput).addClass(theme).addClass(opts.className).addClass(opts.replacerClassName) : $([]),
214
  offsetElement = (shouldReplace) ? replacer : boundElement,
215
  previewElement = replacer.find(".sp-preview-inner"),
216
  initialColor = opts.color || (isInput && boundElement.val()),
217
  colorOnShow = false,
218
- preferredFormat = opts.preferredFormat,
219
- currentPreferredFormat = preferredFormat,
220
  clickoutFiresChange = !opts.showButtons || opts.clickoutFiresChange,
221
  isEmpty = !initialColor,
222
  allowEmpty = opts.allowEmpty && !isInputTypeColor;
@@ -227,6 +245,8 @@
227
  opts.showPalette = true;
228
  }
229
 
 
 
230
  if (opts.palette) {
231
  palette = opts.palette.slice(0);
232
  paletteArray = $.isArray(palette[0]) ? palette : [palette];
@@ -244,6 +264,7 @@
244
  container.toggleClass("sp-alpha-enabled", opts.showAlpha);
245
  container.toggleClass("sp-clear-enabled", allowEmpty);
246
  container.toggleClass("sp-buttons-disabled", !opts.showButtons);
 
247
  container.toggleClass("sp-palette-disabled", !opts.showPalette);
248
  container.toggleClass("sp-palette-only", opts.showPaletteOnly);
249
  container.toggleClass("sp-initial-disabled", !opts.showInitial);
@@ -283,7 +304,7 @@
283
 
284
  updateSelectionPaletteFromStorage();
285
 
286
- offsetElement.bind("click.spectrum touchstart.spectrum", function (e) {
287
  if (!disabled) {
288
  toggle();
289
  }
@@ -304,20 +325,21 @@
304
 
305
  // Handle user typed input
306
  textInput.change(setFromTextInput);
307
- textInput.bind("paste", function () {
308
  setTimeout(setFromTextInput, 1);
309
  });
310
  textInput.keydown(function (e) { if (e.keyCode == 13) { setFromTextInput(); } });
311
 
312
  cancelButton.text(opts.cancelText);
313
- cancelButton.bind("click.spectrum", function (e) {
314
  e.stopPropagation();
315
  e.preventDefault();
316
- hide("cancel");
 
317
  });
318
 
319
  clearButton.attr("title", opts.clearText);
320
- clearButton.bind("click.spectrum", function (e) {
321
  e.stopPropagation();
322
  e.preventDefault();
323
  isEmpty = true;
@@ -330,16 +352,38 @@
330
  });
331
 
332
  chooseButton.text(opts.chooseText);
333
- chooseButton.bind("click.spectrum", function (e) {
334
  e.stopPropagation();
335
  e.preventDefault();
336
 
 
 
 
 
337
  if (isValid()) {
338
  updateOriginalInput(true);
339
  hide();
340
  }
341
  });
342
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
343
  draggable(alphaSlider, function (dragX, dragY, e) {
344
  currentAlpha = (dragX / alphaWidth);
345
  isEmpty = false;
@@ -398,7 +442,7 @@
398
  // In case color was black - update the preview UI and set the format
399
  // since the set function will not run (default color is black).
400
  updateUI();
401
- currentPreferredFormat = preferredFormat || tinycolor(initialColor).format;
402
 
403
  addColorToSelectionPalette(initialColor);
404
  }
@@ -418,16 +462,23 @@
418
  else {
419
  set($(e.target).closest(".sp-thumb-el").data("color"));
420
  move();
421
- updateOriginalInput(true);
422
- hide();
 
 
 
 
 
 
 
423
  }
424
 
425
  return false;
426
  }
427
 
428
  var paletteEvent = IE ? "mousedown.spectrum" : "click.spectrum touchstart.spectrum";
429
- paletteContainer.delegate(".sp-thumb-el", paletteEvent, paletteElementClick);
430
- initialColorContainer.delegate(".sp-thumb-el:nth-child(1)", paletteEvent, { ignore: true }, paletteElementClick);
431
  }
432
 
433
  function updateSelectionPaletteFromStorage() {
@@ -516,12 +567,14 @@
516
  if (dragHeight <= 0 || dragWidth <= 0 || slideHeight <= 0) {
517
  reflow();
518
  }
 
519
  container.addClass(draggingClass);
520
  shiftMovementDirection = null;
521
  boundElement.trigger('dragstart.spectrum', [ get() ]);
522
  }
523
 
524
  function dragStop() {
 
525
  container.removeClass(draggingClass);
526
  boundElement.trigger('dragstop.spectrum', [ get() ]);
527
  }
@@ -532,13 +585,15 @@
532
 
533
  if ((value === null || value === "") && allowEmpty) {
534
  set(null);
535
- updateOriginalInput(true);
 
536
  }
537
  else {
538
  var tiny = tinycolor(value);
539
  if (tiny.isValid()) {
540
  set(tiny);
541
- updateOriginalInput(true);
 
542
  }
543
  else {
544
  textInput.addClass("sp-validation-error");
@@ -572,8 +627,9 @@
572
  hideAll();
573
  visible = true;
574
 
575
- $(doc).bind("click.spectrum", hide);
576
- $(window).bind("resize.spectrum", resize);
 
577
  replacer.addClass("sp-active");
578
  container.removeClass("sp-hidden");
579
 
@@ -587,38 +643,49 @@
587
  boundElement.trigger('show.spectrum', [ colorOnShow ]);
588
  }
589
 
590
- function hide(e) {
 
 
 
 
 
 
 
 
 
591
 
592
- // Return on right click
593
- if (e && e.type == "click" && e.button == 2) { return; }
 
594
 
 
 
 
 
 
 
 
 
 
 
595
  // Return if hiding is unnecessary
596
  if (!visible || flat) { return; }
597
  visible = false;
598
 
599
- $(doc).unbind("click.spectrum", hide);
600
- $(window).unbind("resize.spectrum", resize);
 
601
 
602
  replacer.removeClass("sp-active");
603
  container.addClass("sp-hidden");
604
 
605
- var colorHasChanged = !tinycolor.equals(get(), colorOnShow);
606
-
607
- if (colorHasChanged) {
608
- if (clickoutFiresChange && e !== "cancel") {
609
- updateOriginalInput(true);
610
- }
611
- else {
612
- revert();
613
- }
614
- }
615
-
616
  callbacks.hide(get());
617
  boundElement.trigger('hide.spectrum', [ get() ]);
618
  }
619
 
620
  function revert() {
621
  set(colorOnShow, true);
 
622
  }
623
 
624
  function set(color, ignoreFormatChange) {
@@ -645,7 +712,7 @@
645
  updateUI();
646
 
647
  if (newColor && newColor.isValid() && !ignoreFormatChange) {
648
- currentPreferredFormat = preferredFormat || newColor.getFormat();
649
  }
650
  }
651
 
@@ -660,7 +727,7 @@
660
  h: currentHue,
661
  s: currentSaturation,
662
  v: currentValue,
663
- a: Math.round(currentAlpha * 100) / 100
664
  }, { format: opts.format || currentPreferredFormat });
665
  }
666
 
@@ -811,8 +878,6 @@
811
  boundElement.val(displayColor);
812
  }
813
 
814
- colorOnShow = color;
815
-
816
  if (fireCallback && hasChanged) {
817
  callbacks.change(color);
818
  boundElement.trigger('change', [ color ]);
@@ -820,6 +885,9 @@
820
  }
821
 
822
  function reflow() {
 
 
 
823
  dragWidth = dragger.width();
824
  dragHeight = dragger.height();
825
  dragHelperHeight = dragHelper.height();
@@ -831,7 +899,11 @@
831
 
832
  if (!flat) {
833
  container.css("position", "absolute");
834
- container.offset(getOffset(container, offsetElement));
 
 
 
 
835
  }
836
 
837
  updateHelperLocations();
@@ -845,7 +917,7 @@
845
 
846
  function destroy() {
847
  boundElement.show();
848
- offsetElement.unbind("click.spectrum touchstart.spectrum");
849
  container.remove();
850
  replacer.remove();
851
  spectrums[spect.id] = null;
@@ -860,6 +932,10 @@
860
  }
861
 
862
  opts[optionName] = optionValue;
 
 
 
 
863
  applyOptions();
864
  }
865
 
@@ -876,6 +952,11 @@
876
  offsetElement.addClass("sp-disabled");
877
  }
878
 
 
 
 
 
 
879
  initialize();
880
 
881
  var spect = {
@@ -886,6 +967,7 @@
886
  option: option,
887
  enable: enable,
888
  disable: disable,
 
889
  set: function (c) {
890
  set(c);
891
  updateOriginalInput();
@@ -914,17 +996,27 @@
914
  var viewWidth = docElem.clientWidth + $(doc).scrollLeft();
915
  var viewHeight = docElem.clientHeight + $(doc).scrollTop();
916
  var offset = input.offset();
917
- offset.top += inputHeight;
 
 
 
918
 
919
- offset.left -=
920
- Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ?
921
- Math.abs(offset.left + dpWidth - viewWidth) : 0);
922
 
923
- offset.top -=
924
- Math.min(offset.top, ((offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ?
925
  Math.abs(dpHeight + inputHeight - extraY) : extraY));
926
 
927
- return offset;
 
 
 
 
 
 
 
928
  }
929
 
930
  /**
@@ -961,7 +1053,7 @@
961
  onmove = onmove || function () { };
962
  onstart = onstart || function () { };
963
  onstop = onstop || function () { };
964
- var doc = element.ownerDocument || document;
965
  var dragging = false;
966
  var offset = {};
967
  var maxHeight = 0;
@@ -987,13 +1079,13 @@
987
  function move(e) {
988
  if (dragging) {
989
  // Mouseup happened outside of window
990
- if (IE && document.documentMode < 9 && !e.button) {
991
  return stop();
992
  }
993
 
994
- var touches = e.originalEvent.touches;
995
- var pageX = touches ? touches[0].pageX : e.pageX;
996
- var pageY = touches ? touches[0].pageY : e.pageY;
997
 
998
  var dragX = Math.max(0, Math.min(pageX - offset.left, maxWidth));
999
  var dragY = Math.max(0, Math.min(pageY - offset.top, maxHeight));
@@ -1009,7 +1101,6 @@
1009
 
1010
  function start(e) {
1011
  var rightclick = (e.which) ? (e.which == 3) : (e.button == 2);
1012
- var touches = e.originalEvent.touches;
1013
 
1014
  if (!rightclick && !dragging) {
1015
  if (onstart.apply(element, arguments) !== false) {
@@ -1018,12 +1109,10 @@
1018
  maxWidth = $(element).width();
1019
  offset = $(element).offset();
1020
 
1021
- $(doc).bind(duringDragEvents);
1022
  $(doc.body).addClass("sp-dragging");
1023
 
1024
- if (!hasTouch) {
1025
- move(e);
1026
- }
1027
 
1028
  prevent(e);
1029
  }
@@ -1032,14 +1121,19 @@
1032
 
1033
  function stop() {
1034
  if (dragging) {
1035
- $(doc).unbind(duringDragEvents);
1036
  $(doc.body).removeClass("sp-dragging");
1037
- onstop.apply(element, arguments);
 
 
 
 
 
1038
  }
1039
  dragging = false;
1040
  }
1041
 
1042
- $(element).bind("touchstart mousedown", start);
1043
  }
1044
 
1045
  function throttle(func, wait, debounce) {
@@ -1055,6 +1149,10 @@
1055
  };
1056
  }
1057
 
 
 
 
 
1058
  /**
1059
  * Define a jQuery plugin
1060
  */
@@ -1098,7 +1196,7 @@
1098
 
1099
  // Initializing a new instance of spectrum
1100
  return this.spectrum("destroy").each(function () {
1101
- var options = $.extend({}, opts, $(this).data());
1102
  var spect = spectrum(this, options);
1103
  $(this).data(dataID, spect.id);
1104
  });
@@ -1108,22 +1206,30 @@
1108
  $.fn.spectrum.loadOpts = {};
1109
  $.fn.spectrum.draggable = draggable;
1110
  $.fn.spectrum.defaults = defaultOpts;
 
 
 
 
 
 
 
1111
 
1112
  $.spectrum = { };
1113
  $.spectrum.localization = { };
1114
  $.spectrum.palettes = { };
1115
 
1116
  $.fn.spectrum.processNativeColorInputs = function () {
1117
- if (!inputTypeColorSupport) {
1118
- $("input[type=color]").spectrum({
 
1119
  preferredFormat: "hex6"
1120
  });
1121
  }
1122
  };
1123
 
1124
- // TinyColor v0.10.0
1125
  // https://github.com/bgrins/TinyColor
1126
- // 2013-08-10, Brian Grinstead, MIT License
1127
 
1128
  (function() {
1129
 
@@ -1136,7 +1242,7 @@
1136
  mathMax = math.max,
1137
  mathRandom = math.random;
1138
 
1139
- var tinycolor = function tinycolor (color, opts) {
1140
 
1141
  color = (color) ? color : '';
1142
  opts = opts || { };
@@ -1151,11 +1257,12 @@
1151
  }
1152
 
1153
  var rgb = inputToRGB(color);
1154
- this._r = rgb.r,
1155
- this._g = rgb.g,
1156
- this._b = rgb.b,
1157
- this._a = rgb.a,
1158
- this._roundA = mathRound(100*this._a) / 100,
 
1159
  this._format = opts.format || rgb.format;
1160
  this._gradientType = opts.gradientType;
1161
 
@@ -1172,18 +1279,32 @@
1172
  };
1173
 
1174
  tinycolor.prototype = {
 
 
 
 
 
 
1175
  isValid: function() {
1176
  return this._ok;
1177
  },
 
 
 
1178
  getFormat: function() {
1179
  return this._format;
1180
  },
1181
  getAlpha: function() {
1182
  return this._a;
1183
  },
 
 
 
 
1184
  setAlpha: function(value) {
1185
  this._a = boundAlpha(value);
1186
- this._roundA = mathRound(100*this._a) / 100;
 
1187
  },
1188
  toHsv: function() {
1189
  var hsv = rgbToHsv(this._r, this._g, this._b);
@@ -1300,6 +1421,58 @@
1300
  }
1301
 
1302
  return formattedString || this.toHexString();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1303
  }
1304
  };
1305
 
@@ -1581,58 +1754,72 @@
1581
  // Thanks to less.js for some of the basics here
1582
  // <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>
1583
 
1584
- tinycolor.desaturate = function (color, amount) {
1585
  amount = (amount === 0) ? 0 : (amount || 10);
1586
  var hsl = tinycolor(color).toHsl();
1587
  hsl.s -= amount / 100;
1588
  hsl.s = clamp01(hsl.s);
1589
  return tinycolor(hsl);
1590
- };
1591
- tinycolor.saturate = function (color, amount) {
 
1592
  amount = (amount === 0) ? 0 : (amount || 10);
1593
  var hsl = tinycolor(color).toHsl();
1594
  hsl.s += amount / 100;
1595
  hsl.s = clamp01(hsl.s);
1596
  return tinycolor(hsl);
1597
- };
1598
- tinycolor.greyscale = function(color) {
1599
- return tinycolor.desaturate(color, 100);
1600
- };
1601
- tinycolor.lighten = function(color, amount) {
 
 
1602
  amount = (amount === 0) ? 0 : (amount || 10);
1603
  var hsl = tinycolor(color).toHsl();
1604
  hsl.l += amount / 100;
1605
  hsl.l = clamp01(hsl.l);
1606
  return tinycolor(hsl);
1607
- };
1608
- tinycolor.brighten = function(color, amount) {
 
1609
  amount = (amount === 0) ? 0 : (amount || 10);
1610
  var rgb = tinycolor(color).toRgb();
1611
  rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));
1612
  rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));
1613
  rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));
1614
  return tinycolor(rgb);
1615
- };
1616
- tinycolor.darken = function (color, amount) {
 
1617
  amount = (amount === 0) ? 0 : (amount || 10);
1618
  var hsl = tinycolor(color).toHsl();
1619
  hsl.l -= amount / 100;
1620
  hsl.l = clamp01(hsl.l);
1621
  return tinycolor(hsl);
1622
- };
1623
- tinycolor.complement = function(color) {
 
 
 
1624
  var hsl = tinycolor(color).toHsl();
1625
- hsl.h = (hsl.h + 180) % 360;
 
1626
  return tinycolor(hsl);
1627
- };
1628
-
1629
 
1630
  // Combination Functions
1631
  // ---------------------
1632
  // Thanks to jQuery xColor for some of the ideas behind these
1633
  // <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>
1634
 
1635
- tinycolor.triad = function(color) {
 
 
 
 
 
 
1636
  var hsl = tinycolor(color).toHsl();
1637
  var h = hsl.h;
1638
  return [
@@ -1640,8 +1827,9 @@
1640
  tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),
1641
  tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })
1642
  ];
1643
- };
1644
- tinycolor.tetrad = function(color) {
 
1645
  var hsl = tinycolor(color).toHsl();
1646
  var h = hsl.h;
1647
  return [
@@ -1650,8 +1838,9 @@
1650
  tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),
1651
  tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })
1652
  ];
1653
- };
1654
- tinycolor.splitcomplement = function(color) {
 
1655
  var hsl = tinycolor(color).toHsl();
1656
  var h = hsl.h;
1657
  return [
@@ -1659,8 +1848,9 @@
1659
  tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),
1660
  tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})
1661
  ];
1662
- };
1663
- tinycolor.analogous = function(color, results, slices) {
 
1664
  results = results || 6;
1665
  slices = slices || 30;
1666
 
@@ -1673,8 +1863,9 @@
1673
  ret.push(tinycolor(hsl));
1674
  }
1675
  return ret;
1676
- };
1677
- tinycolor.monochromatic = function(color, results) {
 
1678
  results = results || 6;
1679
  var hsv = tinycolor(color).toHsv();
1680
  var h = hsv.h, s = hsv.s, v = hsv.v;
@@ -1687,6 +1878,41 @@
1687
  }
1688
 
1689
  return ret;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1690
  };
1691
 
1692
 
@@ -1699,14 +1925,16 @@
1699
  // `brightness`: difference in brightness between the two colors
1700
  // `color`: difference in color/hue between the two colors
1701
  tinycolor.readability = function(color1, color2) {
1702
- var a = tinycolor(color1).toRgb();
1703
- var b = tinycolor(color2).toRgb();
1704
- var brightnessA = (a.r * 299 + a.g * 587 + a.b * 114) / 1000;
1705
- var brightnessB = (b.r * 299 + b.g * 587 + b.b * 114) / 1000;
 
 
1706
  var colorDiff = (
1707
- Math.max(a.r, b.r) - Math.min(a.r, b.r) +
1708
- Math.max(a.g, b.g) - Math.min(a.g, b.g) +
1709
- Math.max(a.b, b.b) - Math.min(a.b, b.b)
1710
  );
1711
 
1712
  return {
@@ -1719,8 +1947,8 @@
1719
  // http://www.w3.org/TR/AERT#color-contrast
1720
  // Ensure that foreground and background color combinations provide sufficient contrast.
1721
  // *Example*
1722
- // tinycolor.readable("#000", "#111") => false
1723
- tinycolor.readable = function(color1, color2) {
1724
  var readability = tinycolor.readability(color1, color2);
1725
  return readability.brightness > 125 && readability.color > 500;
1726
  };
@@ -1879,6 +2107,7 @@
1879
  plum: "dda0dd",
1880
  powderblue: "b0e0e6",
1881
  purple: "800080",
 
1882
  red: "f00",
1883
  rosybrown: "bc8f8f",
1884
  royalblue: "4169e1",
@@ -2026,6 +2255,7 @@
2026
  hsl: new RegExp("hsl" + PERMISSIVE_MATCH3),
2027
  hsla: new RegExp("hsla" + PERMISSIVE_MATCH4),
2028
  hsv: new RegExp("hsv" + PERMISSIVE_MATCH3),
 
2029
  hex3: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
2030
  hex6: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
2031
  hex8: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
@@ -2067,6 +2297,9 @@
2067
  if ((match = matchers.hsv.exec(color))) {
2068
  return { h: match[1], s: match[2], v: match[3] };
2069
  }
 
 
 
2070
  if ((match = matchers.hex8.exec(color))) {
2071
  return {
2072
  a: convertHexToDecimal(match[1]),
@@ -2099,11 +2332,10 @@
2099
  window.tinycolor = tinycolor;
2100
  })();
2101
 
2102
-
2103
  $(function () {
2104
  if ($.fn.spectrum.load) {
2105
  $.fn.spectrum.processNativeColorInputs();
2106
  }
2107
  });
2108
 
2109
- })(window, jQuery);
1
+ // Spectrum Colorpicker v1.8.1
2
  // https://github.com/bgrins/spectrum
3
  // Author: Brian Grinstead
4
  // License: MIT
5
 
6
+ (function (factory) {
7
+ "use strict";
8
+
9
+ if (typeof define === 'function' && define.amd) { // AMD
10
+ define(['jquery'], factory);
11
+ }
12
+ else if (typeof exports == "object" && typeof module == "object") { // CommonJS
13
+ module.exports = factory(require('jquery'));
14
+ }
15
+ else { // Browser
16
+ factory(jQuery);
17
+ }
18
+ })(function($, undefined) {
19
  "use strict";
20
 
21
  var defaultOpts = {
33
  showInput: false,
34
  allowEmpty: false,
35
  showButtons: true,
36
+ clickoutFiresChange: true,
37
  showInitial: false,
38
  showPalette: false,
39
  showPaletteOnly: false,
40
+ hideAfterPaletteSelect: false,
41
+ togglePaletteOnly: false,
42
  showSelectionPalette: true,
43
  localStorageKey: false,
44
  appendTo: "body",
45
  maxSelectionSize: 7,
46
  cancelText: "cancel",
47
  chooseText: "choose",
48
+ togglePaletteMoreText: "more",
49
+ togglePaletteLessText: "less",
50
  clearText: "Clear Color Selection",
51
  noColorSelectedText: "No Color Selected",
52
  preferredFormat: false,
57
  theme: "sp-light",
58
  palette: [["#ffffff", "#000000", "#ff0000", "#ff8000", "#ffff00", "#008000", "#0000ff", "#4b0082", "#9400d3"]],
59
  selectionPalette: [],
60
+ disabled: false,
61
+ offset: null
62
  },
63
  spectrums = [],
64
  IE = !!/msie/i.exec( window.navigator.userAgent ),
72
  style.cssText = 'background-color:rgba(0,0,0,.5)';
73
  return contains(style.backgroundColor, 'rgba') || contains(style.backgroundColor, 'hsla');
74
  })(),
 
 
 
 
75
  replaceInput = [
76
  "<div class='sp-replacer'>",
77
  "<div class='sp-preview'><div class='sp-preview-inner'></div></div>",
93
  "<div class='sp-container sp-hidden'>",
94
  "<div class='sp-palette-container'>",
95
  "<div class='sp-palette sp-thumb sp-cf'></div>",
96
+ "<div class='sp-palette-button-container sp-cf'>",
97
+ "<button type='button' class='sp-palette-toggle'></button>",
98
+ "</div>",
99
  "</div>",
100
  "<div class='sp-picker-container'>",
101
  "<div class='sp-top sp-cf'>",
123
  "<div class='sp-initial sp-thumb sp-cf'></div>",
124
  "<div class='sp-button-container sp-cf'>",
125
  "<a class='sp-cancel' href='#'></a>",
126
+ "<button type='button' class='sp-choose'></button>",
127
  "</div>",
128
  "</div>",
129
  "</div>"
140
  c += (tinycolor.equals(color, current)) ? " sp-thumb-active" : "";
141
  var formattedString = tiny.toString(opts.preferredFormat || "rgb");
142
  var swatchStyle = rgbaSupport ? ("background-color:" + tiny.toRgbString()) : "filter:" + tiny.toFilter();
143
+ html.push('<span title="' + formattedString + '" data-color="' + tiny.toRgbString() + '" class="' + c + '"><span class="sp-thumb-inner" style="' + swatchStyle + ';"></span></span>');
144
  } else {
145
  var cls = 'sp-clear-display';
146
  html.push($('<div />')
185
  callbacks = opts.callbacks,
186
  resize = throttle(reflow, 10),
187
  visible = false,
188
+ isDragging = false,
189
  dragWidth = 0,
190
  dragHeight = 0,
191
  dragHelperHeight = 0,
211
  boundElement = $(element),
212
  disabled = false,
213
  container = $(markup, doc).addClass(theme),
214
+ pickerContainer = container.find(".sp-picker-container"),
215
  dragger = container.find(".sp-color"),
216
  dragHelper = container.find(".sp-dragger"),
217
  slider = container.find(".sp-hue"),
225
  cancelButton = container.find(".sp-cancel"),
226
  clearButton = container.find(".sp-clear"),
227
  chooseButton = container.find(".sp-choose"),
228
+ toggleButton = container.find(".sp-palette-toggle"),
229
  isInput = boundElement.is("input"),
230
+ isInputTypeColor = isInput && boundElement.attr("type") === "color" && inputTypeColorSupport(),
231
  shouldReplace = isInput && !flat,
232
  replacer = (shouldReplace) ? $(replaceInput).addClass(theme).addClass(opts.className).addClass(opts.replacerClassName) : $([]),
233
  offsetElement = (shouldReplace) ? replacer : boundElement,
234
  previewElement = replacer.find(".sp-preview-inner"),
235
  initialColor = opts.color || (isInput && boundElement.val()),
236
  colorOnShow = false,
237
+ currentPreferredFormat = opts.preferredFormat,
 
238
  clickoutFiresChange = !opts.showButtons || opts.clickoutFiresChange,
239
  isEmpty = !initialColor,
240
  allowEmpty = opts.allowEmpty && !isInputTypeColor;
245
  opts.showPalette = true;
246
  }
247
 
248
+ toggleButton.text(opts.showPaletteOnly ? opts.togglePaletteMoreText : opts.togglePaletteLessText);
249
+
250
  if (opts.palette) {
251
  palette = opts.palette.slice(0);
252
  paletteArray = $.isArray(palette[0]) ? palette : [palette];
264
  container.toggleClass("sp-alpha-enabled", opts.showAlpha);
265
  container.toggleClass("sp-clear-enabled", allowEmpty);
266
  container.toggleClass("sp-buttons-disabled", !opts.showButtons);
267
+ container.toggleClass("sp-palette-buttons-disabled", !opts.togglePaletteOnly);
268
  container.toggleClass("sp-palette-disabled", !opts.showPalette);
269
  container.toggleClass("sp-palette-only", opts.showPaletteOnly);
270
  container.toggleClass("sp-initial-disabled", !opts.showInitial);
304
 
305
  updateSelectionPaletteFromStorage();
306
 
307
+ offsetElement.on("click.spectrum touchstart.spectrum", function (e) {
308
  if (!disabled) {
309
  toggle();
310
  }
325
 
326
  // Handle user typed input
327
  textInput.change(setFromTextInput);
328
+ textInput.on("paste", function () {
329
  setTimeout(setFromTextInput, 1);
330
  });
331
  textInput.keydown(function (e) { if (e.keyCode == 13) { setFromTextInput(); } });
332
 
333
  cancelButton.text(opts.cancelText);
334
+ cancelButton.on("click.spectrum", function (e) {
335
  e.stopPropagation();
336
  e.preventDefault();
337
+ revert();
338
+ hide();
339
  });
340
 
341
  clearButton.attr("title", opts.clearText);
342
+ clearButton.on("click.spectrum", function (e) {
343
  e.stopPropagation();
344
  e.preventDefault();
345
  isEmpty = true;
352
  });
353
 
354
  chooseButton.text(opts.chooseText);
355
+ chooseButton.on("click.spectrum", function (e) {
356
  e.stopPropagation();
357
  e.preventDefault();
358
 
359
+ if (IE && textInput.is(":focus")) {
360
+ textInput.trigger('change');
361
+ }
362
+
363
  if (isValid()) {
364
  updateOriginalInput(true);
365
  hide();
366
  }
367
  });
368
 
369
+ toggleButton.text(opts.showPaletteOnly ? opts.togglePaletteMoreText : opts.togglePaletteLessText);
370
+ toggleButton.on("click.spectrum", function (e) {
371
+ e.stopPropagation();
372
+ e.preventDefault();
373
+
374
+ opts.showPaletteOnly = !opts.showPaletteOnly;
375
+
376
+ // To make sure the Picker area is drawn on the right, next to the
377
+ // Palette area (and not below the palette), first move the Palette
378
+ // to the left to make space for the picker, plus 5px extra.
379
+ // The 'applyOptions' function puts the whole container back into place
380
+ // and takes care of the button-text and the sp-palette-only CSS class.
381
+ if (!opts.showPaletteOnly && !flat) {
382
+ container.css('left', '-=' + (pickerContainer.outerWidth(true) + 5));
383
+ }
384
+ applyOptions();
385
+ });
386
+
387
  draggable(alphaSlider, function (dragX, dragY, e) {
388
  currentAlpha = (dragX / alphaWidth);
389
  isEmpty = false;
442
  // In case color was black - update the preview UI and set the format
443
  // since the set function will not run (default color is black).
444
  updateUI();
445
+ currentPreferredFormat = opts.preferredFormat || tinycolor(initialColor).format;
446
 
447
  addColorToSelectionPalette(initialColor);
448
  }
462
  else {
463
  set($(e.target).closest(".sp-thumb-el").data("color"));
464
  move();
465
+
466
+ // If the picker is going to close immediately, a palette selection
467
+ // is a change. Otherwise, it's a move only.
468
+ if (opts.hideAfterPaletteSelect) {
469
+ updateOriginalInput(true);
470
+ hide();
471
+ } else {
472
+ updateOriginalInput();
473
+ }
474
  }
475
 
476
  return false;
477
  }
478
 
479
  var paletteEvent = IE ? "mousedown.spectrum" : "click.spectrum touchstart.spectrum";
480
+ paletteContainer.on(paletteEvent, ".sp-thumb-el", paletteElementClick);
481
+ initialColorContainer.on(paletteEvent, ".sp-thumb-el:nth-child(1)", { ignore: true }, paletteElementClick);
482
  }
483
 
484
  function updateSelectionPaletteFromStorage() {
567
  if (dragHeight <= 0 || dragWidth <= 0 || slideHeight <= 0) {
568
  reflow();
569
  }
570
+ isDragging = true;
571
  container.addClass(draggingClass);
572
  shiftMovementDirection = null;
573
  boundElement.trigger('dragstart.spectrum', [ get() ]);
574
  }
575
 
576
  function dragStop() {
577
+ isDragging = false;
578
  container.removeClass(draggingClass);
579
  boundElement.trigger('dragstop.spectrum', [ get() ]);
580
  }
585
 
586
  if ((value === null || value === "") && allowEmpty) {
587
  set(null);
588
+ move();
589
+ updateOriginalInput();
590
  }
591
  else {
592
  var tiny = tinycolor(value);
593
  if (tiny.isValid()) {
594
  set(tiny);
595
+ move();
596
+ updateOriginalInput();
597
  }
598
  else {
599
  textInput.addClass("sp-validation-error");
627
  hideAll();
628
  visible = true;
629
 
630
+ $(doc).on("keydown.spectrum", onkeydown);
631
+ $(doc).on("click.spectrum", clickout);
632
+ $(window).on("resize.spectrum", resize);
633
  replacer.addClass("sp-active");
634
  container.removeClass("sp-hidden");
635
 
643
  boundElement.trigger('show.spectrum', [ colorOnShow ]);
644
  }
645
 
646
+ function onkeydown(e) {
647
+ // Close on ESC
648
+ if (e.keyCode === 27) {
649
+ hide();
650
+ }
651
+ }
652
+
653
+ function clickout(e) {
654
+ // Return on right click.
655
+ if (e.button == 2) { return; }
656
 
657
+ // If a drag event was happening during the mouseup, don't hide
658
+ // on click.
659
+ if (isDragging) { return; }
660
 
661
+ if (clickoutFiresChange) {
662
+ updateOriginalInput(true);
663
+ }
664
+ else {
665
+ revert();
666
+ }
667
+ hide();
668
+ }
669
+
670
+ function hide() {
671
  // Return if hiding is unnecessary
672
  if (!visible || flat) { return; }
673
  visible = false;
674
 
675
+ $(doc).off("keydown.spectrum", onkeydown);
676
+ $(doc).off("click.spectrum", clickout);
677
+ $(window).off("resize.spectrum", resize);
678
 
679
  replacer.removeClass("sp-active");
680
  container.addClass("sp-hidden");
681
 
 
 
 
 
 
 
 
 
 
 
 
682
  callbacks.hide(get());
683
  boundElement.trigger('hide.spectrum', [ get() ]);
684
  }
685
 
686
  function revert() {
687
  set(colorOnShow, true);
688
+ updateOriginalInput(true);
689
  }
690
 
691
  function set(color, ignoreFormatChange) {
712
  updateUI();
713
 
714
  if (newColor && newColor.isValid() && !ignoreFormatChange) {
715
+ currentPreferredFormat = opts.preferredFormat || newColor.getFormat();
716
  }
717
  }
718
 
727
  h: currentHue,
728
  s: currentSaturation,
729
  v: currentValue,
730
+ a: Math.round(currentAlpha * 1000) / 1000
731
  }, { format: opts.format || currentPreferredFormat });
732
  }
733
 
878
  boundElement.val(displayColor);
879
  }
880
 
 
 
881
  if (fireCallback && hasChanged) {
882
  callbacks.change(color);
883
  boundElement.trigger('change', [ color ]);
885
  }
886
 
887
  function reflow() {
888
+ if (!visible) {
889
+ return; // Calculations would be useless and wouldn't be reliable anyways
890
+ }
891
  dragWidth = dragger.width();
892
  dragHeight = dragger.height();
893
  dragHelperHeight = dragHelper.height();
899
 
900
  if (!flat) {
901
  container.css("position", "absolute");
902
+ if (opts.offset) {
903
+ container.offset(opts.offset);
904
+ } else {
905
+ container.offset(getOffset(container, offsetElement));
906
+ }
907
  }
908
 
909
  updateHelperLocations();
917
 
918
  function destroy() {
919
  boundElement.show();
920
+ offsetElement.off("click.spectrum touchstart.spectrum");
921
  container.remove();
922
  replacer.remove();
923
  spectrums[spect.id] = null;
932
  }
933
 
934
  opts[optionName] = optionValue;
935
+
936
+ if (optionName === "preferredFormat") {
937
+ currentPreferredFormat = opts.preferredFormat;
938
+ }
939
  applyOptions();
940
  }
941
 
952
  offsetElement.addClass("sp-disabled");
953
  }
954
 
955
+ function setOffset(coord) {
956
+ opts.offset = coord;
957
+ reflow();
958
+ }
959
+
960
  initialize();
961
 
962
  var spect = {
967
  option: option,
968
  enable: enable,
969
  disable: disable,
970
+ offset: setOffset,
971
  set: function (c) {
972
  set(c);
973
  updateOriginalInput();
996
  var viewWidth = docElem.clientWidth + $(doc).scrollLeft();
997
  var viewHeight = docElem.clientHeight + $(doc).scrollTop();
998
  var offset = input.offset();
999
+ var offsetLeft = offset.left;
1000
+ var offsetTop = offset.top;
1001
+
1002
+ offsetTop += inputHeight;
1003
 
1004
+ offsetLeft -=
1005
+ Math.min(offsetLeft, (offsetLeft + dpWidth > viewWidth && viewWidth > dpWidth) ?
1006
+ Math.abs(offsetLeft + dpWidth - viewWidth) : 0);
1007
 
1008
+ offsetTop -=
1009
+ Math.min(offsetTop, ((offsetTop + dpHeight > viewHeight && viewHeight > dpHeight) ?
1010
  Math.abs(dpHeight + inputHeight - extraY) : extraY));
1011
 
1012
+ return {
1013
+ top: offsetTop,
1014
+ bottom: offset.bottom,
1015
+ left: offsetLeft,
1016
+ right: offset.right,
1017
+ width: offset.width,
1018
+ height: offset.height
1019
+ };
1020
  }
1021
 
1022
  /**
1053
  onmove = onmove || function () { };
1054
  onstart = onstart || function () { };
1055
  onstop = onstop || function () { };
1056
+ var doc = document;
1057
  var dragging = false;
1058
  var offset = {};
1059
  var maxHeight = 0;
1079
  function move(e) {
1080
  if (dragging) {
1081
  // Mouseup happened outside of window
1082
+ if (IE && doc.documentMode < 9 && !e.button) {
1083
  return stop();
1084
  }
1085
 
1086
+ var t0 = e.originalEvent && e.originalEvent.touches && e.originalEvent.touches[0];
1087
+ var pageX = t0 && t0.pageX || e.pageX;
1088
+ var pageY = t0 && t0.pageY || e.pageY;
1089
 
1090
  var dragX = Math.max(0, Math.min(pageX - offset.left, maxWidth));
1091
  var dragY = Math.max(0, Math.min(pageY - offset.top, maxHeight));
1101
 
1102
  function start(e) {
1103
  var rightclick = (e.which) ? (e.which == 3) : (e.button == 2);
 
1104
 
1105
  if (!rightclick && !dragging) {
1106
  if (onstart.apply(element, arguments) !== false) {
1109
  maxWidth = $(element).width();
1110
  offset = $(element).offset();
1111
 
1112
+ $(doc).on(duringDragEvents);
1113
  $(doc.body).addClass("sp-dragging");
1114
 
1115
+ move(e);
 
 
1116
 
1117
  prevent(e);
1118
  }
1121
 
1122
  function stop() {
1123
  if (dragging) {
1124
+ $(doc).off(duringDragEvents);
1125
  $(doc.body).removeClass("sp-dragging");
1126
+
1127
+ // Wait a tick before notifying observers to allow the click event
1128
+ // to fire in Chrome.
1129
+ setTimeout(function() {
1130
+ onstop.apply(element, arguments);
1131
+ }, 0);
1132
  }
1133
  dragging = false;
1134
  }
1135
 
1136
+ $(element).on("touchstart mousedown", start);
1137
  }
1138
 
1139
  function throttle(func, wait, debounce) {
1149
  };
1150
  }
1151
 
1152
+ function inputTypeColorSupport() {
1153
+ return $.fn.spectrum.inputTypeColorSupport();
1154
+ }
1155
+
1156
  /**
1157
  * Define a jQuery plugin
1158
  */
1196
 
1197
  // Initializing a new instance of spectrum
1198
  return this.spectrum("destroy").each(function () {
1199
+ var options = $.extend({}, $(this).data(), opts);
1200
  var spect = spectrum(this, options);
1201
  $(this).data(dataID, spect.id);
1202
  });
1206
  $.fn.spectrum.loadOpts = {};
1207
  $.fn.spectrum.draggable = draggable;
1208
  $.fn.spectrum.defaults = defaultOpts;
1209
+ $.fn.spectrum.inputTypeColorSupport = function inputTypeColorSupport() {
1210
+ if (typeof inputTypeColorSupport._cachedResult === "undefined") {
1211
+ var colorInput = $("<input type='color'/>")[0]; // if color element is supported, value will default to not null
1212
+ inputTypeColorSupport._cachedResult = colorInput.type === "color" && colorInput.value !== "";
1213
+ }
1214
+ return inputTypeColorSupport._cachedResult;
1215
+ };
1216
 
1217
  $.spectrum = { };
1218
  $.spectrum.localization = { };
1219
  $.spectrum.palettes = { };
1220
 
1221
  $.fn.spectrum.processNativeColorInputs = function () {
1222
+ var colorInputs = $("input[type=color]");
1223
+ if (colorInputs.length && !inputTypeColorSupport()) {
1224
+ colorInputs.spectrum({
1225
  preferredFormat: "hex6"
1226
  });
1227
  }
1228
  };
1229
 
1230
+ // TinyColor v1.1.2
1231
  // https://github.com/bgrins/TinyColor
1232
+ // Brian Grinstead, MIT License
1233
 
1234
  (function() {
1235
 
1242
  mathMax = math.max,
1243
  mathRandom = math.random;
1244
 
1245
+ var tinycolor = function(color, opts) {
1246
 
1247
  color = (color) ? color : '';
1248
  opts = opts || { };
1257
  }
1258
 
1259
  var rgb = inputToRGB(color);
1260
+ this._originalInput = color;
1261
+ this._r = rgb.r;
1262
+ this._g = rgb.g;
1263
+ this._b = rgb.b;
1264
+ this._a = rgb.a;
1265
+ this._roundA = mathRound(1000 * this._a) / 1000;
1266
  this._format = opts.format || rgb.format;
1267
  this._gradientType = opts.gradientType;
1268
 
1279
  };
1280
 
1281
  tinycolor.prototype = {
1282
+ isDark: function() {
1283
+ return this.getBrightness() < 128;
1284
+ },
1285
+ isLight: function() {
1286
+ return !this.isDark();
1287
+ },
1288
  isValid: function() {
1289
  return this._ok;
1290
  },
1291
+ getOriginalInput: function() {
1292
+ return this._originalInput;
1293
+ },
1294
  getFormat: function() {
1295
  return this._format;
1296
  },
1297
  getAlpha: function() {
1298
  return this._a;
1299
  },
1300
+ getBrightness: function() {
1301
+ var rgb = this.toRgb();
1302
+ return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;
1303
+ },
1304
  setAlpha: function(value) {
1305
  this._a = boundAlpha(value);
1306
+ this._roundA = mathRound(1000 * this._a) / 1000;
1307
+ return this;
1308
  },
1309
  toHsv: function() {
1310
  var hsv = rgbToHsv(this._r, this._g, this._b);
1421
  }
1422
 
1423
  return formattedString || this.toHexString();
1424
+ },
1425
+
1426
+ _applyModification: function(fn, args) {
1427
+ var color = fn.apply(null, [this].concat([].slice.call(args)));
1428
+ this._r = color._r;
1429
+ this._g = color._g;
1430
+ this._b = color._b;
1431
+ this.setAlpha(color._a);
1432
+ return this;
1433
+ },
1434
+ lighten: function() {
1435
+ return this._applyModification(lighten, arguments);
1436
+ },
1437
+ brighten: function() {
1438
+ return this._applyModification(brighten, arguments);
1439
+ },
1440
+ darken: function() {
1441
+ return this._applyModification(darken, arguments);
1442
+ },
1443
+ desaturate: function() {
1444
+ return this._applyModification(desaturate, arguments);
1445
+ },
1446
+ saturate: function() {
1447
+ return this._applyModification(saturate, arguments);
1448
+ },
1449
+ greyscale: function() {
1450
+ return this._applyModification(greyscale, arguments);
1451
+ },
1452
+ spin: function() {
1453
+ return this._applyModification(spin, arguments);
1454
+ },
1455
+
1456
+ _applyCombination: function(fn, args) {
1457
+ return fn.apply(null, [this].concat([].slice.call(args)));
1458
+ },
1459
+ analogous: function() {
1460
+ return this._applyCombination(analogous, arguments);
1461
+ },
1462
+ complement: function() {
1463
+ return this._applyCombination(complement, arguments);
1464
+ },
1465
+ monochromatic: function() {
1466
+ return this._applyCombination(monochromatic, arguments);
1467
+ },
1468
+ splitcomplement: function() {
1469
+ return this._applyCombination(splitcomplement, arguments);
1470
+ },
1471
+ triad: function() {
1472
+ return this._applyCombination(triad, arguments);
1473
+ },
1474
+ tetrad: function() {
1475
+ return this._applyCombination(tetrad, arguments);
1476
  }
1477
  };
1478
 
1754
  // Thanks to less.js for some of the basics here
1755
  // <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>
1756
 
1757
+ function desaturate(color, amount) {
1758
  amount = (amount === 0) ? 0 : (amount || 10);
1759
  var hsl = tinycolor(color).toHsl();
1760
  hsl.s -= amount / 100;
1761
  hsl.s = clamp01(hsl.s);
1762
  return tinycolor(hsl);
1763
+ }
1764
+
1765
+ function saturate(color, amount) {
1766
  amount = (amount === 0) ? 0 : (amount || 10);
1767
  var hsl = tinycolor(color).toHsl();
1768
  hsl.s += amount / 100;
1769
  hsl.s = clamp01(hsl.s);
1770
  return tinycolor(hsl);
1771
+ }
1772
+
1773
+ function greyscale(color) {
1774
+ return tinycolor(color).desaturate(100);
1775
+ }
1776
+
1777
+ function lighten (color, amount) {
1778
  amount = (amount === 0) ? 0 : (amount || 10);
1779
  var hsl = tinycolor(color).toHsl();
1780
  hsl.l += amount / 100;
1781
  hsl.l = clamp01(hsl.l);
1782
  return tinycolor(hsl);
1783
+ }
1784
+
1785
+ function brighten(color, amount) {
1786
  amount = (amount === 0) ? 0 : (amount || 10);
1787
  var rgb = tinycolor(color).toRgb();
1788
  rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));
1789
  rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));
1790
  rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));
1791
  return tinycolor(rgb);
1792
+ }
1793
+
1794
+ function darken (color, amount) {
1795
  amount = (amount === 0) ? 0 : (amount || 10);
1796
  var hsl = tinycolor(color).toHsl();
1797
  hsl.l -= amount / 100;
1798
  hsl.l = clamp01(hsl.l);
1799
  return tinycolor(hsl);
1800
+ }
1801
+
1802
+ // Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.
1803
+ // Values outside of this range will be wrapped into this range.
1804
+ function spin(color, amount) {
1805
  var hsl = tinycolor(color).toHsl();
1806
+ var hue = (mathRound(hsl.h) + amount) % 360;
1807
+ hsl.h = hue < 0 ? 360 + hue : hue;
1808
  return tinycolor(hsl);
1809
+ }
 
1810
 
1811
  // Combination Functions
1812
  // ---------------------
1813
  // Thanks to jQuery xColor for some of the ideas behind these
1814
  // <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>
1815
 
1816
+ function complement(color) {
1817
+ var hsl = tinycolor(color).toHsl();
1818
+ hsl.h = (hsl.h + 180) % 360;
1819
+ return tinycolor(hsl);
1820
+ }
1821
+
1822
+ function triad(color) {
1823
  var hsl = tinycolor(color).toHsl();
1824
  var h = hsl.h;
1825
  return [
1827
  tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),
1828
  tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })
1829
  ];
1830
+ }
1831
+
1832
+ function tetrad(color) {
1833
  var hsl = tinycolor(color).toHsl();
1834
  var h = hsl.h;
1835
  return [
1838
  tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),
1839
  tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })
1840
  ];
1841
+ }
1842
+
1843
+ function splitcomplement(color) {
1844
  var hsl = tinycolor(color).toHsl();
1845
  var h = hsl.h;
1846
  return [
1848
  tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),
1849
  tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})
1850
  ];
1851
+ }
1852
+
1853
+ function analogous(color, results, slices) {
1854
  results = results || 6;
1855
  slices = slices || 30;
1856
 
1863
  ret.push(tinycolor(hsl));
1864
  }
1865
  return ret;
1866
+ }
1867
+
1868
+ function monochromatic(color, results) {
1869
  results = results || 6;
1870
  var hsv = tinycolor(color).toHsv();
1871
  var h = hsv.h, s = hsv.s, v = hsv.v;
1878
  }
1879
 
1880
  return ret;
1881
+ }
1882
+
1883
+ // Utility Functions
1884
+ // ---------------------
1885
+
1886
+ tinycolor.mix = function(color1, color2, amount) {
1887
+ amount = (amount === 0) ? 0 : (amount || 50);
1888
+
1889
+ var rgb1 = tinycolor(color1).toRgb();
1890
+ var rgb2 = tinycolor(color2).toRgb();
1891
+
1892
+ var p = amount / 100;
1893
+ var w = p * 2 - 1;
1894
+ var a = rgb2.a - rgb1.a;
1895
+
1896
+ var w1;
1897
+
1898
+ if (w * a == -1) {
1899
+ w1 = w;
1900
+ } else {
1901
+ w1 = (w + a) / (1 + w * a);
1902
+ }
1903
+
1904
+ w1 = (w1 + 1) / 2;
1905
+
1906
+ var w2 = 1 - w1;
1907
+
1908
+ var rgba = {
1909
+ r: rgb2.r * w1 + rgb1.r * w2,
1910
+ g: rgb2.g * w1 + rgb1.g * w2,
1911
+ b: rgb2.b * w1 + rgb1.b * w2,
1912
+ a: rgb2.a * p + rgb1.a * (1 - p)
1913
+ };
1914
+
1915
+ return tinycolor(rgba);
1916
  };
1917
 
1918
 
1925
  // `brightness`: difference in brightness between the two colors
1926
  // `color`: difference in color/hue between the two colors
1927
  tinycolor.readability = function(color1, color2) {
1928
+ var c1 = tinycolor(color1);
1929
+ var c2 = tinycolor(color2);
1930
+ var rgb1 = c1.toRgb();
1931
+ var rgb2 = c2.toRgb();
1932
+ var brightnessA = c1.getBrightness();
1933
+ var brightnessB = c2.getBrightness();
1934
  var colorDiff = (
1935
+ Math.max(rgb1.r, rgb2.r) - Math.min(rgb1.r, rgb2.r) +
1936
+ Math.max(rgb1.g, rgb2.g) - Math.min(rgb1.g, rgb2.g) +
1937
+ Math.max(rgb1.b, rgb2.b) - Math.min(rgb1.b, rgb2.b)
1938
  );
1939
 
1940
  return {
1947
  // http://www.w3.org/TR/AERT#color-contrast
1948
  // Ensure that foreground and background color combinations provide sufficient contrast.
1949
  // *Example*
1950
+ // tinycolor.isReadable("#000", "#111") => false
1951
+ tinycolor.isReadable = function(color1, color2) {
1952
  var readability = tinycolor.readability(color1, color2);
1953
  return readability.brightness > 125 && readability.color > 500;
1954
  };
2107
  plum: "dda0dd",
2108
  powderblue: "b0e0e6",
2109
  purple: "800080",
2110
+ rebeccapurple: "663399",
2111
  red: "f00",
2112
  rosybrown: "bc8f8f",
2113
  royalblue: "4169e1",
2255
  hsl: new RegExp("hsl" + PERMISSIVE_MATCH3),
2256
  hsla: new RegExp("hsla" + PERMISSIVE_MATCH4),
2257
  hsv: new RegExp("hsv" + PERMISSIVE_MATCH3),
2258
+ hsva: new RegExp("hsva" + PERMISSIVE_MATCH4),
2259
  hex3: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
2260
  hex6: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
2261
  hex8: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
2297
  if ((match = matchers.hsv.exec(color))) {
2298
  return { h: match[1], s: match[2], v: match[3] };
2299
  }
2300
+ if ((match = matchers.hsva.exec(color))) {
2301
+ return { h: match[1], s: match[2], v: match[3], a: match[4] };
2302
+ }
2303
  if ((match = matchers.hex8.exec(color))) {
2304
  return {
2305
  a: convertHexToDecimal(match[1]),
2332
  window.tinycolor = tinycolor;
2333
  })();
2334
 
 
2335
  $(function () {
2336
  if ($.fn.spectrum.load) {
2337
  $.fn.spectrum.processNativeColorInputs();
2338
  }
2339
  });
2340
 
2341
+ });
megamenu.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Max Mega Menu
4
  * Plugin URI: https://www.megamenu.com
5
  * Description: An easy to use mega menu plugin. Written the WordPress way.
6
- * Version: 2.9.2
7
  * Author: megamenu.com
8
  * Author URI: https://www.megamenu.com
9
  * License: GPL-2.0+
@@ -35,7 +35,7 @@ if ( ! class_exists( 'Mega_Menu' ) ) :
35
  *
36
  * @var string
37
  */
38
- public $version = '2.9.2';
39
 
40
 
41
  /**
@@ -419,6 +419,9 @@ if ( ! class_exists( 'Mega_Menu' ) ) :
419
  default:
420
  break;
421
  }
 
 
 
422
  }
423
 
424
 
@@ -489,6 +492,10 @@ if ( ! class_exists( 'Mega_Menu' ) ) :
489
  if ( in_array( 'mega-current-menu-item', $classes ) ) {
490
  $classes = array_diff( $classes, array( 'mega-current-menu-item' ) );
491
  }
 
 
 
 
492
  }
493
 
494
  return $classes;
3
  * Plugin Name: Max Mega Menu
4
  * Plugin URI: https://www.megamenu.com
5
  * Description: An easy to use mega menu plugin. Written the WordPress way.
6
+ * Version: 2.9.3
7
  * Author: megamenu.com
8
  * Author URI: https://www.megamenu.com
9
  * License: GPL-2.0+
35
  *
36
  * @var string
37
  */
38
+ public $version = '2.9.3';
39
 
40
 
41
  /**
419
  default:
420
  break;
421
  }
422
+
423
+ // gutenberg block
424
+ //include_once MEGAMENU_PATH . "integration/location/location.php";
425
  }
426
 
427
 
492
  if ( in_array( 'mega-current-menu-item', $classes ) ) {
493
  $classes = array_diff( $classes, array( 'mega-current-menu-item' ) );
494
  }
495
+
496
+ if ( in_array( 'mega-current-page-ancestor', $classes ) ) {
497
+ $classes = array_diff( $classes, array( 'mega-current-page-ancestor' ) );
498
+ }
499
  }
500
 
501
  return $classes;
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: megamenu
3
  Tags: menu, megamenu, mega menu, navigation, mobile
4
  Requires at least: 4.9
5
- Tested up to: 5.6
6
- Stable tag: 2.9.1
7
  Requires PHP: 5.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -134,6 +134,10 @@ See https://www.megamenu.com for more screenshots
134
 
135
  == Changelog ==
136
 
 
 
 
 
137
  = 2.9.2 =
138
 
139
  * New: Add Mobile Sub Menu Default State option to menu location settings
2
  Contributors: megamenu
3
  Tags: menu, megamenu, mega menu, navigation, mobile
4
  Requires at least: 4.9
5
+ Tested up to: 5.7
6
+ Stable tag: 2.9.2
7
  Requires PHP: 5.6
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
134
 
135
  == Changelog ==
136
 
137
+ = 2.9.3 =
138
+
139
+ * Fix: Update spectrum.js to 1.8.1 (fixes broken colour palette)
140
+
141
  = 2.9.2 =
142
 
143
  * New: Add Mobile Sub Menu Default State option to menu location settings