Browse Source

added and configured toolbar_theme module

Bachir Soussi Chiadmi 6 years ago
parent
commit
b4c512eb20
100 changed files with 4977 additions and 0 deletions
  1. 2 0
      sites/all/modules/contrib/admin/toolbar_themes/.gitignore
  2. 73 0
      sites/all/modules/contrib/admin/toolbar_themes/Gruntfile.js
  3. 339 0
      sites/all/modules/contrib/admin/toolbar_themes/LICENSE.txt
  4. 2 0
      sites/all/modules/contrib/admin/toolbar_themes/README.md
  5. 4 0
      sites/all/modules/contrib/admin/toolbar_themes/config/install/toolbar_themes.settings.yml
  6. 34 0
      sites/all/modules/contrib/admin/toolbar_themes/css/toolbar-themes-form.css
  7. 47 0
      sites/all/modules/contrib/admin/toolbar_themes/js/base.js
  8. 33 0
      sites/all/modules/contrib/admin/toolbar_themes/package.json
  9. 188 0
      sites/all/modules/contrib/admin/toolbar_themes/src/Form/ToolbarThemesSettingsForm.php
  10. 93 0
      sites/all/modules/contrib/admin/toolbar_themes/templates/toolbar-themes--menu.html.twig
  11. 56 0
      sites/all/modules/contrib/admin/toolbar_themes/templates/toolbar-themes--toolbar.html.twig
  12. 34 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/_variables.scss
  13. 47 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/admin_menu_icons.css
  14. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/admin_menu_icons.css.map
  15. 91 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/admin_menu_icons.scss
  16. 345 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/admin_menu_theme.css
  17. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/admin_menu_theme.css.map
  18. 437 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/admin_menu_theme.scss
  19. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/screenshot.png
  20. 140 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_handles.css
  21. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_handles.css.map
  22. 179 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_handles.scss
  23. 75 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_icons.css
  24. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_icons.css.map
  25. 93 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_icons.scss
  26. 299 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_module.css
  27. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_module.css.map
  28. 430 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_module.scss
  29. 224 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_theme.css
  30. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_theme.css.map
  31. 274 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_theme.scss
  32. 70 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/fonts/libricons.md
  33. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/fonts/libricons.ttf
  34. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/fonts/libricons.woff
  35. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/fonts/libricons.woff2
  36. 18 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/icon_load.js
  37. 1 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-admin-toolbar-tools-help.svg
  38. 2 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-edit.svg
  39. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-entity-user-collection.svg
  40. 1 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-escape-admin.svg
  41. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-help-main.svg
  42. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-help.svg
  43. 1 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-home.svg
  44. 1 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-link-toolbar-menu.svg
  45. 1 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-menu.svg
  46. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-shortcut.svg
  47. 1 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-system-admin-config.svg
  48. 1 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-system-admin-content.svg
  49. 1 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-system-admin-reports.svg
  50. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-system-admin-structure.svg
  51. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-system-modules-list.svg
  52. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-system-themes-page.svg
  53. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-toolbar-menu.svg
  54. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-user.svg
  55. 2 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/grunticon.loader.js
  56. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/icons.data.png.css
  57. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/icons.data.png.css.map
  58. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/icons.data.svg.css
  59. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/icons.data.svg.css.map
  60. 46 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/icons.fallback.css
  61. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/icons.fallback.css.map
  62. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-handle.png
  63. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-admin-toolbar-tools-help.png
  64. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-edit.png
  65. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-entity-user-collection.png
  66. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-escape-admin.png
  67. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-help-main.png
  68. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-help.png
  69. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-home.png
  70. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-link-toolbar-menu.png
  71. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-menu.png
  72. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-shortcut.png
  73. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-system-admin-config.png
  74. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-system-admin-content.png
  75. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-system-admin-reports.png
  76. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-system-admin-structure.png
  77. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-system-modules-list.png
  78. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-system-themes-page.png
  79. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-toggle-horizontal.png
  80. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-toggle-orientation.png
  81. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-toggle-vertical.png
  82. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-toolbar-menu.png
  83. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-tour.png
  84. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-user.png
  85. 15 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/preview.html
  86. 93 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/templates/toolbar-themes--base-menu.html.twig
  87. 61 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/base/templates/toolbar-themes--base-toolbar.html.twig
  88. 5 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/mini/_variables.scss
  89. 43 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/mini/mini_icons.css
  90. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/mini/mini_icons.css.map
  91. 80 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/mini/mini_icons.scss
  92. 373 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/mini/mini_theme.css
  93. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/mini/mini_theme.css.map
  94. 450 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/mini/mini_theme.scss
  95. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/mini/screenshot.png
  96. 36 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/seven/_variables.scss
  97. BIN
      sites/all/modules/contrib/admin/toolbar_themes/themes/seven/screenshot.png
  98. 46 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/seven/seven_icons.css
  99. 0 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/seven/seven_icons.css.map
  100. 90 0
      sites/all/modules/contrib/admin/toolbar_themes/themes/seven/seven_icons.scss

+ 2 - 0
sites/all/modules/contrib/admin/toolbar_themes/.gitignore

@@ -0,0 +1,2 @@
+# Git ignored.
+/node_modules/

+ 73 - 0
sites/all/modules/contrib/admin/toolbar_themes/Gruntfile.js

@@ -0,0 +1,73 @@
+/**
+ * Grunt tasks for Toolbar Themes.
+ * http://gruntjs.com/
+ */
+
+'use strict';
+
+module.exports = function(grunt) {
+
+	grunt.initConfig({
+
+    pkg: grunt.file.readJSON('package.json'),
+
+    sass: {
+      styles: {
+        files: [{
+          expand: true,
+          cwd: 'themes',
+          src: ['**/*.scss'],
+          dest: 'themes',
+          ext: '.css'
+        }],
+        options: {
+          precision: 5,
+          outputStyle: 'expanded',
+          sourceMap: true
+        }
+      }
+    },
+
+    grunticon: {
+      toolbar: {
+        files: [{
+            expand: true,
+            cwd: 'themes/base/grunticons/original',
+            src: ['*.svg'],
+            dest: 'themes/base/grunticons/processed'
+        }],
+        options: {
+          enhanceSVG: true,
+          cssprefix: '.'
+        }
+      }
+    },
+
+    postcss: {
+      styles: {
+        src: 'themes/**/*.css',
+        options: {
+          map: {
+            inline: false
+          },
+          processors: [
+            require('autoprefixer')({browsers: 'last 4 versions'})
+          ]
+        }
+      }
+    },
+
+    watch: {
+      styles: {
+        files: 'themes/**/*.scss',
+        tasks: ['sass:styles', 'postcss:styles']
+      }
+		}
+	});
+
+  grunt.loadNpmTasks('grunt-postcss');
+  grunt.loadNpmTasks('grunt-sass');
+  grunt.loadNpmTasks('grunt-grunticon');
+  grunt.loadNpmTasks('grunt-contrib-watch');
+  grunt.registerTask('default', ['watch:styles']);
+};

+ 339 - 0
sites/all/modules/contrib/admin/toolbar_themes/LICENSE.txt

@@ -0,0 +1,339 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                            NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.

+ 2 - 0
sites/all/modules/contrib/admin/toolbar_themes/README.md

@@ -0,0 +1,2 @@
+# Toolbar Themes
+

+ 4 - 0
sites/all/modules/contrib/admin/toolbar_themes/config/install/toolbar_themes.settings.yml

@@ -0,0 +1,4 @@
+# Install settings.
+default_theme: toolbar_admin_menu
+icons: 0
+tabs: 0

+ 34 - 0
sites/all/modules/contrib/admin/toolbar_themes/css/toolbar-themes-form.css

@@ -0,0 +1,34 @@
+/* Styles provided by the Toolbar Theme module . */
+
+/*#toolbar-administration {display: none !important}*/
+
+.toolbar-themes-form {
+  overflow-x: scroll;
+}
+
+.toolbar-themes-form td {
+  vertical-align: top;
+}
+
+
+.toolbar-themes-form .toolbar-theme-screen-shot {
+  max-width: 540px;
+}
+
+.toolbar-themes-form .toolbar-themes-meta,
+.toolbar-themes-form .toolbar-themes-meta dt,
+.toolbar-themes-form .toolbar-themes-meta dd {
+  margin: 0;
+}
+
+.toolbar-themes-form .toolbar-themes-meta dt {
+  clear: left;
+  margin-right: 3px;
+  width: 5em;
+  font-weight: 600;
+}
+
+.toolbar-themes-form .toolbar-themes-meta dt,
+.toolbar-themes-form .toolbar-themes-meta dd {
+  float: left;
+}

+ 47 - 0
sites/all/modules/contrib/admin/toolbar_themes/js/base.js

@@ -0,0 +1,47 @@
+(function ($, drupalSettings) {
+
+  'use strict';
+
+  Drupal.behaviors.ToolbarThemes = {
+    attach: function () {
+
+      // Remove titles, they obscure drop menu items.
+      $('#toolbar-bar a').removeAttr('title');
+
+      // Wrap menu link text.
+      $('#toolbar-bar .toolbar-menu a').wrapInner('<span class="toolbar__link-label">');
+
+      if (drupalSettings.toolbar.icons == 1) {
+        // Remove toolbar tab-icon classes.
+        $("#toolbar-bar .toolbar-tab a").removeClass(function (index, css) {
+            return (css.match (/(^|\s)toolbar-ico\S+/g) || []).join(' ');
+        });
+
+        // Move icons into anchors so we can style active/hover states etc.
+        if (drupalSettings.toolbar.tabs == 1) {
+          $('#toolbar-bar .toolbar-tab__items-wrapper i.toolbar-icon').each(function () {
+            var t = $(this).prev();
+            $(this).prependTo(t);
+          });
+        }
+
+        if ($('#toolbar-bar').hasClass('has-icons')) {
+          $('#toolbar-bar .toolbar-tray-horizontal i.toolbar-icon').each(function() {
+            var h = $(this).prev();
+            $(this).prependTo(h);
+          });
+
+          $('#toolbar-bar .toolbar-tray-vertical i.toolbar-icon').each(function() {
+            if ($(this).parents('.toolbar-tab').find('.trigger').hasClass('is-active')) {
+              var v = $(this).siblings('.toolbar-box').find('a.toolbar-menu__link');
+            } else {
+              var v = $(this).prev();
+            }
+            $(this).prependTo(v);
+          });
+        }
+      }
+    }
+  };
+
+})(jQuery, drupalSettings);

+ 33 - 0
sites/all/modules/contrib/admin/toolbar_themes/package.json

@@ -0,0 +1,33 @@
+{
+  "name": "toolbar_themes",
+  "version": "8.0.0",
+  "description": "Theme and style overrides for the Toolbar",
+  "author": "Jeff Burnz",
+  "email": "jmburnz@gmail.com",
+  "private": true,
+  "devDependencies": {
+    "autoprefixer": "7.1.6",
+    "grunt": "1.0.1",
+    "grunt-contrib-watch": "1.0.0",
+    "grunt-grunticon": "^2.3.2",
+    "grunt-postcss": "0.9.0",
+    "grunt-sass": "2.0.0"
+  },
+  "engines": {
+    "node": "6.11.5",
+    "npm": "5.5.1"
+  },
+  "repository": {
+    "type": "git",
+    "url": "http://cgit.drupalcode.org/toolbar_themes/"
+  },
+  "bugs": {
+    "url": "https://www.drupal.org/project/issues/toolbar_themes"
+  },
+  "keywords": [
+    "drupal",
+    "theme",
+    "toolbar"
+  ],
+  "license": "GPL-2.0"
+}

+ 188 - 0
sites/all/modules/contrib/admin/toolbar_themes/src/Form/ToolbarThemesSettingsForm.php

@@ -0,0 +1,188 @@
+<?php
+
+namespace Drupal\toolbar_themes\Form;
+
+use Drupal\Core\Form\ConfigFormBase;
+use Drupal\Core\Form\FormStateInterface;
+
+/**
+ * Toobar themes settings form.
+ */
+class ToolbarThemesSettingsForm extends ConfigFormBase {
+
+  /**
+   * {@inheritDoc}
+   */
+  public function getFormId() {
+    return 'toolbar_themes_form';
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function getEditableConfigNames() {
+    return [
+      'toolbar_themes.settings',
+    ];
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildForm(array $form, FormStateInterface $form_state) {
+    $config = $this->config('toolbar_themes.settings');
+    $admin_theme = $this->config('system.theme')->get('admin');
+
+    $form['settings'] = array(
+      '#type' => 'container',
+      '#tree' => TRUE,
+      '#title' => t('Toolbar Themes'),
+    );
+
+    $form['settings']['info'] = array(
+      '#type' => 'markup',
+      '#prefix' => '<p class="toolbar-themes form-info">',
+      '#suffix' => '</p>',
+      '#markup' => t('Select options to style the Toolbar.'),
+    );
+
+    // Table
+    $header = array(
+      'theme' => t('Theme'),
+      'screen_shot' => t('Screen Shots'),
+      'meta' => t('Meta'),
+    );
+
+    $definitions = toolbar_themes_get_theme_definitions();
+    $theme_handler = \Drupal::service('theme_handler');
+    $options = array();
+
+    foreach ($definitions as $provider => $values) {
+      if ($theme_handler->themeExists($provider)) {
+        $provider_path = drupal_get_path('theme', $provider);
+      }
+      else {
+        $provider_path = drupal_get_path('module', $provider);
+      }
+      foreach ($values as $theme => $data) {
+        if (!isset($data['hidden']) || $data['hidden'] !== TRUE) {
+          // Label
+          $label[$theme] = ucfirst(t($data['label']));
+          // Description
+          $description[$theme] = $data['description'] ? t($data['description']) : t('No description provided');
+          // Dependencies
+          $dependency[$theme] = isset($data['libraries']['dependencies']) ? $data['libraries']['dependencies'][0] : NULL;
+          $screen_shot = [];
+          if ((isset($data['path']) && !empty($data['path'])) && (isset($data['screen_shot']) && !empty($data['screen_shot']))) {
+            $screen_shot[$theme] = array(
+              '#theme' => 'image',
+              '#uri' => $provider_path . '/' . $data['path'] . '/' . $data['screen_shot'],
+              '#alt' => $description[$theme],
+              '#attributes' => array('class' => array('toolbar-theme-screen-shot')),
+            );
+          }
+          else {
+            $screen_shot[$theme] = array(
+              '#markup' => '<em>' . t('No screen shot provided') . '</em>',
+            );
+          }
+          // Meta
+          $meta[$theme]['version'] = $data['version'] ? $data['version'] : NULL;
+          $meta[$theme]['meta'] = array(
+            '#markup' => '<dl class="toolbar-themes-meta"><dt>' . t('Version') .'</dt><dd>' . $meta[$theme]['version'] .'</dd><dt>' . t('Provider') .'</dt><dd>' . $provider . '</dd></dl>',
+          );
+          // Table options
+          $options[$theme] = array(
+            'theme' => $label[$theme],
+            'screen_shot' => \Drupal::service('renderer')->render($screen_shot[$theme]),
+            'meta' => \Drupal::service('renderer')->render($meta[$theme]['meta']),
+          );
+          // Radios default value is a key, not an array.
+          if ($config->get('default_theme') === $theme) {
+            $default = $theme;
+          }
+        }
+      }
+    }
+
+    if (!empty($options)) {
+      $form['settings']['default_theme'] = array(
+        '#type' => 'tableselect',
+        '#title' => t('Select toolbar theme'),
+        '#header' => $header,
+        '#options' => $options,
+        '#multiple' => FALSE,
+        '#js_select' => FALSE,
+        '#default_value' => $default,
+        '#empty' => t('No toolbar themes found'),
+      );
+    }
+
+//    $form['settings']['font_size'] = array(
+//      '#type' => 'number',
+//      '#title' => t('Set font size'),
+//      '#max-length' => 2,
+//      '#step' => 1,
+//      '#default_value' => $config->get('font_size'),
+//      '#attributes' => array(
+//        'min' => 10,
+//        'max' => 99,
+//        'step' => 1,
+//        'class' => array('font-size'),
+//      ),
+//      '#field_suffix' => 'px',
+//    );
+
+    // Adminimal warnings etc.
+    if ($admin_theme == 'adminimal_theme') {
+      $form['settings']['font_disabled'] = array(
+        '#type' => 'markup',
+        '#prefix' => '<div class="messages messages--warning">',
+        '#suffix' => '</div>',
+        '#markup' => t('For Adminmal the font size will only apply to the front end theme.'),
+      );
+    }
+
+    $form['settings']['tabs'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Show toolbar tabs'),
+      '#default_value' => $config->get('tabs'),
+      '#description' => t('Unchecked this will remove tabs except for the Manage tab which is replaced by an icon.'),
+    );
+
+    $form['settings']['icons'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Show icons'),
+      '#default_value' => $config->get('icons'),
+      '#description' => t('Unchecked this will remove icons from tab and menu items, while orientation toggle icons and sub-menu arrows remain.'),
+    );
+
+    $form['settings']['actions']['#type'] = 'actions';
+    $form['settings']['actions']['submit'] = array(
+      '#type' => 'submit',
+      '#value' => $this->t('Submit'),
+      '#button_type' => 'primary',
+    );
+
+    return $form;
+  }
+
+  /**
+   * {@inheritDoc}
+   */
+  public function validateForm(array &$form, FormStateInterface $form_state) {}
+
+  /**
+   * {@inheritdoc}
+   */
+  public function submitForm(array &$form, FormStateInterface $form_state) {
+    $values = $form_state->getValues();
+    $config = \Drupal::service('config.factory')->getEditable('toolbar_themes.settings');
+    foreach ($values['settings'] as $key => $setting) {
+      $config->set($key, $setting);
+    }
+    $config->save();
+    parent::submitForm($form, $form_state);
+    drupal_flush_all_caches();
+  }
+}

+ 93 - 0
sites/all/modules/contrib/admin/toolbar_themes/templates/toolbar-themes--menu.html.twig

@@ -0,0 +1,93 @@
+{#
+/**
+ * Toolbar themes theme implementation to display a toolbar menu.
+ *
+ * Available variables:
+ * - menu_name: The machine name of the menu.
+ * - items: A nested list of menu items. Each menu item contains:
+ *   - attributes: HTML attributes for the menu item.
+ *   - below: The menu item child items.
+ *   - title: The menu link title.
+ *   - url: The menu link url, instance of \Drupal\Core\Url
+ *   - localized_options: Menu link localized options.
+ *   - is_expanded: TRUE if the link has visible children within the current
+ *     menu tree.
+ *   - is_collapsed: TRUE if the link has children within the current menu tree
+ *     that are not currently visible.
+ *   - in_active_trail: TRUE if the link is in the active trail.
+ * - show_icon: bool to show or hide icon markup.
+ *
+ * @ingroup themeable
+ */
+#}
+{%- import _self as menus -%}
+{#
+  We call a macro which calls itself to render the full tree.
+  @see http://twig.sensiolabs.org/doc/tags/macro.html
+#}
+{{- menus.menu_links(items, attributes, 0, menu_name) -}}
+
+{%- macro menu_links(items, attributes, menu_level, menu_name) -%}
+  {%- import _self as menus -%}
+
+  {% if items %}
+    <ul
+      {%- if menu_level == 0 -%}
+        {{ attributes.addClass(['toolbar-menu', 'odd', 'menu-level-1', menu_name ? 'menu-name--' ~ menu_name|clean_class ]) }}
+      {%- else %}
+        class="toolbar-menu is-child {{ cycle(['odd', 'even'], menu_level) }} {{ 'menu-level-' ~ (menu_level + 1) }}"
+      {%- endif -%}
+    >
+
+      {# Begin loop. #}
+      {% for item in items %}
+
+        {% if item.below is not empty %}
+          {% set is_parent = true %}
+        {% else %}
+          {% set is_parent = false %}
+        {% endif %}
+
+        {%
+          set item_classes = [
+            'menu-item',
+            is_parent ? 'is-parent',
+            item.is_expanded ? 'menu-item--expanded',
+            item.is_collapsed ? 'menu-item--collapsed',
+            item.in_active_trail ? 'menu-tem--active-trail',
+          ]
+        %}
+
+        {# We set an id on list items to provide context for aria attributes. #}
+        <li{{ item.attributes.addClass(item_classes).setAttribute('id', 'mlid-' ~ item.title|render|clean_class)|without('role') }}>
+          {{
+            link(
+              item.title,
+              item.url
+            )
+          }}
+
+          {%- if item.show_icon -%}
+            {%- if item.icon_attributes -%}
+              <i{{ item.icon_attributes.addClass('menu-item__icon') }}></i>
+            {%- endif -%}
+          {%- endif -%}
+
+          {% if item.below %}
+            {{
+              menus.menu_links(
+                item.below,
+                attributes,
+                menu_level + 1,
+                menu_name
+              )
+            }}
+          {% endif %}
+        </li>
+
+      {%- endfor -%}
+      {# End loop. #}
+
+    </ul>
+  {% endif %}
+{%- endmacro -%}

+ 56 - 0
sites/all/modules/contrib/admin/toolbar_themes/templates/toolbar-themes--toolbar.html.twig

@@ -0,0 +1,56 @@
+{#
+/**
+ * Toolbar themes implementation for the administrative toolbar.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the wrapper.
+ * - toolbar_attributes: HTML attributes to apply to the toolbar.
+ * - toolbar_heading: The heading or label for the toolbar.
+ * - tabs: List of tabs for the toolbar.
+ *   - attributes: HTML attributes for the tab container.
+ *   - link: Link or button for the menu tab.
+ *   - icon_attributes: tab icon classes and attributes to style SVG grunticons.
+ * - trays: Toolbar tray list, each associated with a tab. Each tray in trays
+ *   contains:
+ *   - attributes: HTML attributes to apply to the tray.
+ *   - label: The tray's label.
+ *   - links: The tray menu links.
+ * - remainder: Any non-tray, non-tab elements left to be rendered.
+ * - show_icons: bool to show or hide icon markup.
+ *
+ * @see toobar_themes_preprocess_toolbar()
+ *
+ * @ingroup themeable
+ */
+#}
+<div{{ attributes.addClass('toolbar') }}>
+  {%
+    set classes = [
+      'toolbar-bar',
+      show_icons ? 'has-icons' : 'no-icons',
+      show_tabs ? 'has-tabs' : 'no-tabs',
+    ]
+  %}
+  <nav{{ toolbar_attributes.addClass(classes).setAttribute('style', font_size) }}>
+    <h2 class="visually-hidden">{{ toolbar_heading }}</h2>
+    {% for key, tab in tabs %}
+      {% set tray = trays[key] %}
+      <div{{ tab.attributes.addClass('toolbar-tab') }}>
+        <span class="toolbar-tab__items-wrapper">
+          {{- tab.link -}}
+        </span>
+        {% spaceless %}
+          <div{{ tray.attributes }}>
+            {% if tray.label %}
+              <h3 class="toolbar-tray-name visually-hidden">{{ tray.label }}</h3>
+            {% endif %}
+            <nav class="toolbar-lining clearfix" role="navigation"{% if tray.label %} aria-label="{{ tray.label }}{% endif %}">
+              {{ tray.links }}
+            </nav>
+          </div>
+        {% endspaceless %}
+      </div>
+    {% endfor %}
+  </nav>
+  {{ remainder }}
+</div>

+ 34 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/_variables.scss

@@ -0,0 +1,34 @@
+// Admin theme SCSS variables.
+
+$font-family                      : "Lucida Grande", "Lucida Sans Unicode", "DejaVu Sans", "Lucida Sans", arial, sans-serif;
+$font-size                        : .75rem;
+
+$tap-highlight                    : rgba(255, 255, 255, 0);
+
+$toolbar-bar-color                : #e8e8e8;
+$toolbar-bar-background           : #454545;
+
+$drop-shadows                     : false;
+$drop-shadow-color                : rgba(0, 0, 0, 0.333);
+$border-color                     : #323232;
+
+$tab-item-height                  : $font-size * 2;
+$toolbar-item-padding             : 0.3em 0.95em .2em;
+
+$tab-color                        : #d8d8d8;
+$tab-active-color                 : #fff;
+
+$tray-color                       : #e8e8e8;
+$tray-active                      : #fff;
+$tray-background                  : #101010;
+
+$tray-vertical-background         : $tray-background;
+$tray-border-color                : #696969;
+
+$drop-menu-border-color           : $border-color;
+$drop-menu-background             : rgba(16, 16, 16, 0.95);
+$sub-menu-indicator               : $tray-border-color;
+
+$toggle-orientation-color         : $tray-border-color;
+$toggle-orientation-active        : $tray-color;
+$toggle-orientation-border-color  : $toggle-orientation-color;

+ 47 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/admin_menu_icons.css

@@ -0,0 +1,47 @@
+/**
+ * admin_menu_icons
+ */
+#toolbar-administration .toolbar-icon {
+  padding: 0 .25em 0 0;
+}
+
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper .toolbar-icon {
+  fill: #d8d8d8;
+  top: 0.1em;
+}
+
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper .toolbar-icon-menu {
+  width: 0.875em;
+}
+
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper a:hover .toolbar-icon, #toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper a:active .toolbar-icon, #toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper a.is-active .toolbar-icon,
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper button:hover .toolbar-icon,
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper button:active .toolbar-icon,
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper button.is-active .toolbar-icon {
+  fill: #fff;
+}
+
+@media only screen and (max-width: 24em) {
+  #toolbar-administration .toolbar-bar .home-toolbar-tab,
+  #toolbar-administration .toolbar-bar .tour-toolbar-tab,
+  #toolbar-administration .toolbar-bar .toolbar-tab__items-wrapper .toolbar-icon {
+    display: none;
+  }
+}
+
+#toolbar-administration .toolbar-menu a {
+  fill: #e8e8e8;
+}
+
+#toolbar-administration .toolbar-menu a:hover, #toolbar-administration .toolbar-menu a:focus, #toolbar-administration .toolbar-menu a:active, #toolbar-administration .toolbar-menu a.is-active {
+  fill: #fff;
+}
+
+#toolbar-administration .toolbar-menu a.is-active[href="/"] {
+  fill: #e8e8e8;
+}
+
+#toolbar-administration .toolbar-menu a:hover[href="/"], #toolbar-administration .toolbar-menu a:focus[href="/"], #toolbar-administration .toolbar-menu a:active[href="/"] {
+  fill: #fff;
+}
+/*# sourceMappingURL=admin_menu_icons.css.map */

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/admin_menu_icons.css.map


+ 91 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/admin_menu_icons.scss

@@ -0,0 +1,91 @@
+/**
+ * admin_menu_icons
+ */
+
+// Import global variables.
+@import "variables";
+
+
+// Most icons are embedded SVG. Icons are embedded using Grunticon. We are using
+// the original SVG icons from Drupal core, however the width and height
+// attribute have been replaced with a viewBox attribute so we can scale them
+// properly with CSS. Embedded SVG has the advantage of being styled with CSS,
+// and by using Grunticon JS loading we negate most of the bloat and overhead
+// associated with embedding SVG files. For the buttons (orientation toggles &
+// menu click handles), and for sub-menu indicators we use a custom font icon
+// that is tiny and only includes four icons. We rotate and color these in CSS
+// as required.
+
+#toolbar-administration {
+
+  .toolbar-icon {
+    padding: 0 .25em 0 0;
+  }
+
+
+  // Top level icons.
+  .toolbar-bar {
+    .toolbar-tab {
+      .toolbar-tab__items-wrapper {
+        .toolbar-icon {
+          fill: $tab-color ;
+          top: 0.1em;
+        }
+
+        .toolbar-icon-menu {
+          width: 0.875em;
+        }
+
+        a,
+        button {
+          &:hover,
+          &:active,
+          &.is-active {
+            .toolbar-icon {
+              fill: $tab-active-color;
+            }
+          }
+        }
+      }
+    }
+  }
+
+  @media only screen and (max-width: 24em) {
+    // Toolbar-themes module cannot hide the text, so instead we remove the
+    // icons and other redundant tabs in narrow screens.
+    .toolbar-bar .home-toolbar-tab,
+    .toolbar-bar .tour-toolbar-tab,
+    .toolbar-bar .toolbar-tab__items-wrapper .toolbar-icon {
+      display: none;
+    }
+  }
+
+
+  // Main menu icons.
+  .toolbar-menu {
+    a {
+      fill: $tray-color;
+
+      &:hover,
+      &:focus,
+      &:active,
+      &.is-active {
+        fill: $tray-active;
+      }
+
+      &.is-active[href="/"] {
+        fill: $tray-color;
+      }
+
+      &:hover,
+      &:focus,
+      &:active {
+        &[href="/"] {
+          fill: $tray-active;
+        }
+      }
+    }
+  }
+}
+
+

+ 345 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/admin_menu_theme.css

@@ -0,0 +1,345 @@
+/**
+ * admin_menu_theme
+ * Theme styles for menus and other toolbar elements. SVG icons are styled in
+ * the [theme]_icons.scss file, while click handles, e.g. origination buttons
+ * are styled here.
+ */
+body .toolbar-no-tabs {
+  padding-top: 1.5rem !important;
+}
+
+#toolbar-administration {
+  font-family: "Lucida Grande", "Lucida Sans Unicode", "DejaVu Sans", "Lucida Sans", arial, sans-serif;
+  font-weight: 400;
+  font-size: 0.75rem;
+  height: 3rem;
+  background-color: #454545;
+  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+}
+
+.toolbar-vertical #toolbar-administration,
+.toolbar-no-tabs #toolbar-administration,
+#toolbar-administration .toolbar-tab,
+#toolbar-administration .toolbar-tray {
+  height: 1.5rem;
+}
+
+#toolbar-administration .toolbar-tray {
+  top: 1.5rem;
+}
+
+#toolbar-administration .toolbar-tab a:hover, #toolbar-administration .toolbar-tab a:focus,
+#toolbar-administration .toolbar-item a:hover,
+#toolbar-administration .toolbar-item a:focus {
+  text-decoration: none;
+  outline: none;
+}
+
+#toolbar-administration .toolbar-item {
+  padding: 0.3em 0.95em 0.2em;
+  display: block;
+}
+
+#toolbar-administration .toolbar__link-label {
+  font-size: 1em;
+}
+
+#toolbar-administration .toolbar-bar {
+  background-color: #454545;
+  color: #e8e8e8;
+}
+
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper a {
+  color: #d8d8d8;
+}
+
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper a:hover, #toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper a:focus, #toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper a.is-active {
+  color: #fff;
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#454545), to(#101010));
+  background-image: -webkit-linear-gradient(#454545, #101010);
+  background-image: -o-linear-gradient(#454545, #101010);
+  background-image: linear-gradient(#454545, #101010);
+}
+
+#toolbar-administration .toolbar-bar .tour-toolbar-tab.toolbar-tab {
+  float: none;
+}
+
+#toolbar-administration .toolbar-bar .tour-toolbar-tab button.toolbar-item {
+  padding: 0.3em 0.95em 0.2em;
+}
+
+#toolbar-administration .toolbar-bar .contextual-toolbar-tab button.toolbar-item {
+  color: #d8d8d8;
+}
+
+#toolbar-administration .toolbar-bar .contextual-toolbar-tab button.toolbar-item:hover, #toolbar-administration .toolbar-bar .contextual-toolbar-tab button.toolbar-item:focus, #toolbar-administration .toolbar-bar .contextual-toolbar-tab button.toolbar-item.is-active {
+  color: #fff;
+  background: none;
+}
+
+#toolbar-administration .toolbar-lining button:focus {
+  outline: none;
+}
+
+#toolbar-administration .toolbar-menu {
+  list-style: none;
+  margin: 0;
+  padding: 0;
+}
+
+#toolbar-administration .toolbar-box a:focus {
+  outline: none;
+}
+
+#toolbar-administration .toolbar-box a:hover:focus {
+  text-decoration: none;
+}
+
+#toolbar-administration .toolbar-tray {
+  background-color: #101010;
+}
+
+#toolbar-administration .toolbar-tray a {
+  color: #e8e8e8;
+  cursor: pointer;
+  padding: 0.3em 0.95em 0.2em;
+}
+
+#toolbar-administration .toolbar-tray a:hover, #toolbar-administration .toolbar-tray a:active, #toolbar-administration .toolbar-tray a:focus, #toolbar-administration .toolbar-tray a.is-active {
+  color: #fff;
+}
+
+#toolbar-administration .toolbar-tray a.is-active[href="/"] {
+  color: #e8e8e8;
+}
+
+#toolbar-administration .toolbar-tray-horizontal a:focus {
+  outline: none;
+  background-color: #101010;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration .toolbar-menu .toolbar-menu {
+  background-color: rgba(16, 16, 16, 0.95);
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration .toolbar-menu .toolbar-menu .menu-item {
+  border-top: 1px solid #101010;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration .toolbar-menu .toolbar-menu .menu-item:first-child {
+  border-top-color: #101010;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration .toolbar-menu .toolbar-menu > .menu-item--expanded > .toolbar-menu {
+  top: -1px;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu > .menu-item > a,
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu > .menu-item > .toolbar-box a {
+  border-right: 1px solid;
+  border-color: #101010;
+  -webkit-border-image: -webkit-gradient(linear, left bottom, left top, from(#696969), to(#101010)) 1 100%;
+  -webkit-border-image: -webkit-linear-gradient(bottom, #696969, #101010) 1 100%;
+       -o-border-image: -o-linear-gradient(bottom, #696969, #101010) 1 100%;
+          border-image: -webkit-gradient(linear, left bottom, left top, from(#696969), to(#101010)) 1 100%;
+          border-image: linear-gradient(to top, #696969, #101010) 1 100%;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu > .menu-item > a, [dir="rtl"]
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu > .menu-item > .toolbar-box a {
+  border-right: 0;
+  border-left: 1px solid;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .menu-item .menu-item:hover, #toolbar-administration .toolbar-tray-horizontal .menu-item .menu-item:focus {
+  background-color: #101010;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu > .menu-item--expanded > a:after,
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu > .menu-item--expanded .toolbar-box > a:after {
+  color: #696969;
+  right: 0.65em;
+  top: 0.5em;
+  display: block;
+  font-size: 0.9em;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu > .menu-item--expanded > a:hover:after, #toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu > .menu-item--expanded > a:focus:after,
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu > .menu-item--expanded .toolbar-box > a:hover:after,
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu > .menu-item--expanded .toolbar-box > a:focus:after {
+  color: #fff;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .edit-shortcuts {
+  float: none;
+  position: absolute;
+  right: 2.2em;
+  top: 0;
+}
+
+#toolbar-administration .toolbar-tray-vertical {
+  background-color: #101010;
+  border-right: 1px solid #323232;
+  height: 100%;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-tray-vertical {
+  border-left: 1px solid #323232;
+  border-right: 0 none;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu .toolbar-menu {
+  display: none;
+}
+
+#toolbar-administration .toolbar-tray-vertical .menu-item--expanded.open > .toolbar-menu {
+  display: block;
+  border-bottom-width: 0;
+}
+
+#toolbar-administration .toolbar-tray-vertical .menu-item--expanded.open > .toolbar-menu .toolbar-menu {
+  border-bottom-width: 1px;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-handle + a {
+  margin-right: 3em;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-tray-vertical .toolbar-handle + a {
+  margin-left: 3em;
+  margin-right: 0;
+}
+
+#toolbar-administration .toolbar-tray-vertical .menu-item + .menu-item {
+  border-top: 1px solid #696969;
+}
+
+#toolbar-administration .toolbar-tray-vertical .menu-item:last-child {
+  border-bottom: 1px solid #696969;
+}
+
+#toolbar-administration .toolbar-tray-vertical .menu-item .menu-item {
+  border: 0 none;
+}
+
+#toolbar-administration .toolbar-tray-vertical .menu-item .toolbar-box:hover,
+#toolbar-administration .toolbar-tray-vertical .menu-item .toolbar-box:focus {
+  background-color: #1d1d1d;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu.root {
+  border: 0;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu .toolbar-menu {
+  border-bottom: 1px solid;
+  border-top: 1px solid;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu > .level-1 > ul {
+  background-color: #383838;
+  border-bottom-color: #5c5c5c;
+  border-top-color: #5c5c5c;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu > .level-2 > ul {
+  background-color: #2c2c2c;
+  border-bottom-color: #505050;
+  border-top-color: #505050;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu > .level-3 > ul {
+  background-color: #1f1f1f;
+  border-bottom-color: #434343;
+  border-top-color: #434343;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu > .level-4 > ul {
+  background-color: #121212;
+  border-bottom-color: #363636;
+  border-top-color: #363636;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu > .level-5 > ul {
+  background-color: #050505;
+  border-bottom-color: #292929;
+  border-top-color: #292929;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu > .level-6 > ul {
+  background-color: black;
+  border-bottom-color: #1d1d1d;
+  border-top-color: #1d1d1d;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu > .level-7 > ul {
+  background-color: black;
+  border-bottom-color: #101010;
+  border-top-color: #101010;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu > .level-8 > ul {
+  background-color: black;
+  border-bottom-color: #030303;
+  border-top-color: #030303;
+}
+
+#toolbar-administration .menu-item:last-child > .toolbar-menu {
+  border-bottom: 0;
+}
+
+#toolbar-administration .toolbar-icon.toolbar-handle:before {
+  color: #696969;
+}
+
+#toolbar-administration .toolbar-icon.toolbar-handle.open:before {
+  color: #fff;
+}
+
+#toolbar-administration .toolbar-toggle-orientation button.toolbar-icon:after, #toolbar-administration .toolbar-toggle-orientation button.toolbar-icon:before {
+  color: #696969;
+}
+
+#toolbar-administration .toolbar-toggle-orientation button.toolbar-icon:hover, #toolbar-administration .toolbar-toggle-orientation button.toolbar-icon:focus, #toolbar-administration .toolbar-toggle-orientation button.toolbar-icon:hover:after, #toolbar-administration .toolbar-toggle-orientation button.toolbar-icon:focus:before {
+  color: #e8e8e8;
+  background-color: transparent;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-toggle-orientation {
+  border-left: 1px solid #696969;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-tray-horizontal .toolbar-toggle-orientation {
+  border-left: 0 none;
+  border-right: 1px solid #696969;
+}
+
+#toolbar-administration .toolbar-toggle-orientation [value="horizontal"]:after {
+  right: 0.95em;
+}
+
+.adminimal #toolbar-bar {
+  font: normal 83.1%/1.538 "Open Sans", sans-serif !important;
+}
+
+.adminimal.toolbar-tray-open.toolbar-fixed.toolbar-horizontal.toolbar-themes {
+  padding-top: 4.75em !important;
+}
+
+.adminimal.toolbar-tray-open.toolbar-fixed.toolbar-horizontal #toolbar-administration {
+  background-color: #333;
+}
+
+.adminimal.toolbar-tray-open.toolbar-fixed.toolbar-horizontal.toolbar-has-tabs #toolbar-administration {
+  min-height: 4em;
+}
+
+.adminimal.toolbar-tray-open.toolbar-fixed.toolbar-horizontal.toolbar-no-tabs #toolbar-administration {
+  min-height: 2em;
+}
+
+.adminimal.toolbar-fixed.toolbar-vertical.toolbar-has-tabs, .adminimal.toolbar-fixed.toolbar-horizontal.toolbar-no-tabs, .adminimal.toolbar-fixed.toolbar-vertical.toolbar-no-tabs, .adminimal.toolbar-tray-open.toolbar-fixed.toolbar-horizontal.toolbar-no-tabs {
+  padding-top: 2.3em !important;
+}
+/*# sourceMappingURL=admin_menu_theme.css.map */

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/admin_menu_theme.css.map


+ 437 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/admin_menu_theme.scss

@@ -0,0 +1,437 @@
+/**
+ * admin_menu_theme
+ * Theme styles for menus and other toolbar elements. SVG icons are styled in
+ * the [theme]_icons.scss file, while click handles, e.g. origination buttons
+ * are styled here.
+ */
+
+// Import global variables.
+@import "variables";
+
+body {
+  .toolbar-no-tabs {
+    padding-top: $tab-item-height !important;
+  }
+}
+
+#toolbar-administration {
+  font-family: $font-family;
+  font-weight: 400;
+  font-size: $font-size;
+  height: $tab-item-height * 2;
+  background-color: $toolbar-bar-background;
+  -webkit-tap-highlight-color: $tap-highlight;
+
+  .toolbar-vertical &,
+  .toolbar-no-tabs &,
+  .toolbar-tab,
+  .toolbar-tray {
+    height: $tab-item-height;
+  }
+
+  .toolbar-tray {
+    top: $tab-item-height;
+  }
+
+  .toolbar-tab,
+  .toolbar-item {
+    a {
+      &:hover,
+      &:focus {
+        text-decoration: none;
+        outline: none;
+      }
+    }
+  }
+
+  .toolbar-item {
+    padding: $toolbar-item-padding;
+    display: block;
+  }
+
+  .toolbar__link-label {
+    font-size: 1em;
+  }
+
+
+  // Toolbar bar.
+  .toolbar-bar {
+    background-color: $toolbar-bar-background;
+    color: $toolbar-bar-color;
+
+    @if $drop-shadows == true {
+      box-shadow: -1px 0 3px 1px $drop-shadow-color;
+
+      [dir="rtl"] & {
+        box-shadow: 1px 0 3px 1px $drop-shadow-color;
+      }
+    }
+
+    .toolbar-item {
+      &:hover,
+      &:focus,
+      &:active,
+      &.is-active {
+
+      }
+    }
+
+    .toolbar-tab .toolbar-tab__items-wrapper a {
+      color: $tab-color;
+
+      &:hover,
+      &:focus,
+      &.is-active {
+        color: $tab-active-color;
+        background-image: linear-gradient($toolbar-bar-background, $tray-background);
+      }
+    }
+
+    // Tour is a button.
+    .tour-toolbar-tab {
+      &.toolbar-tab {
+        float: none; // Override tour module CSS.
+      }
+
+      button.toolbar-item {
+        padding: $toolbar-item-padding;
+      }
+    }
+
+    // Edit button
+    .contextual-toolbar-tab button.toolbar-item {
+      color: $tab-color;
+
+      &:hover,
+      &:focus,
+      &.is-active {
+        color: $tab-active-color;
+        background: none;
+      }
+    }
+
+  }
+
+
+  // Button reset.
+  .toolbar-lining button:focus {
+    outline: none;
+  }
+
+
+  // Menu reset.
+  .toolbar-menu {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+  }
+
+
+  // Wrapper around list item items, injected when tray is vertical (and
+  // persists even if toggled back to vertical).
+  .toolbar-box a {
+    &:focus {
+      outline: none;
+    }
+
+    &:hover:focus {
+      text-decoration: none;
+    }
+  }
+
+
+  // Toolbar tray.
+  .toolbar-tray {
+    background-color: $tray-background;
+
+     a {
+      color: $tray-color;
+      cursor: pointer;
+      padding: $toolbar-item-padding;
+
+      &:hover,
+      &:active,
+      &:focus,
+      &.is-active {
+        color: $tray-active;
+      }
+
+      &.is-active[href="/"] {
+        color: $tray-color;
+      }
+    }
+  }
+
+
+  // Horizontal tray.
+  .toolbar-tray-horizontal {
+    @if $drop-shadows == true {
+      box-shadow: -2px 1px 3px 1px $drop-shadow-color;
+
+      [dir="rtl"] & {
+        box-shadow: 2px 1px 3px 1px $drop-shadow-color;
+      }
+    }
+
+    a:focus {
+      outline: none;
+      background-color: $tray-background;
+    }
+
+    // Admin Toolbar Module drop menus.
+    .toolbar-menu-administration {
+      .toolbar-menu .toolbar-menu {
+        background-color: $drop-menu-background ;
+
+        @if $drop-shadows == true {
+          box-shadow: 0 2px 1px 1px $drop-shadow-color;
+        }
+
+        .menu-item {
+          border-top: 1px solid $tray-background;
+
+          &:first-child {
+            border-top-color: $tray-background;
+          }
+        }
+
+        // Sub-sub menus
+        .toolbar-menu {
+          @if $drop-shadows == true {
+            box-shadow: 2px 2px 2px 0 $drop-shadow-color;
+          }
+        }
+
+        > .menu-item--expanded > .toolbar-menu {
+          top: -1px;
+        }
+      }
+
+      > .toolbar-menu > .menu-item > a,
+      > .toolbar-menu > .menu-item > .toolbar-box a {
+        border-right: 1px solid;
+        border-color: $tray-background;
+        border-image: linear-gradient(to top, $tray-border-color, $tray-background) 1 100%;
+
+        [dir="rtl"] & {
+          border-right: 0;
+          border-left: 1px solid;
+        }
+      }
+    }
+
+    .menu-item {
+      .menu-item {
+        &:hover,
+        &:focus {
+          background-color: $tray-background;
+        }
+      }
+    }
+
+    // Sub-menu indicator in drop menus.
+    .toolbar-menu-administration > .toolbar-menu .toolbar-menu {
+      > .menu-item--expanded > a,
+      > .menu-item--expanded .toolbar-box > a {
+        &:after {
+          color: $sub-menu-indicator;
+          right: 0.65em;
+          top: 0.5em;
+          display: block;
+          font-size: 0.9em;
+        }
+
+        &:hover,
+        &:focus {
+          &:after {
+            color: $tray-active;
+          }
+        }
+      }
+    }
+
+    .edit-shortcuts {
+      float: none; // Override shortcut module CSS.
+      position: absolute;
+      right: 2.2em;
+      top: 0;
+    }
+  }
+
+
+  // Vertical tray.
+  .toolbar-tray-vertical {
+    background-color: $tray-vertical-background;
+    border-right: 1px solid $border-color;
+    height: 100%;
+
+    @if $drop-shadows == true {
+      box-shadow: -1px 0 5px 2px $drop-shadow-color;
+    }
+
+
+    [dir="rtl"] & {
+      border-left: 1px solid $border-color;
+      border-right: 0 none;
+
+      @if $drop-shadows == true {
+        box-shadow: 1px 0 5px 2px $drop-shadow-color;
+      }
+    }
+
+    .toolbar-menu .toolbar-menu {
+      display: none;
+    }
+
+    .menu-item--expanded.open > .toolbar-menu {
+      display: block;
+      border-bottom-width: 0;
+
+      .toolbar-menu {
+        border-bottom-width: 1px;
+      }
+    }
+
+    .toolbar-handle + a {
+      margin-right: 3em;
+
+      [dir="rtl"] & {
+        margin-left: 3em;
+        margin-right: 0;
+      }
+    }
+
+    .menu-item {
+      + .menu-item {
+        border-top: 1px solid $tray-border-color;
+      }
+
+      &:last-child {
+        border-bottom: 1px solid $tray-border-color;
+      }
+
+      .menu-item {
+        border: 0 none;
+      }
+
+      .toolbar-box:hover,
+      .toolbar-box:focus {
+        background-color: lighten($tray-background, 5%);
+      }
+    }
+
+    .toolbar-menu {
+      &.root {
+        border: 0;
+      }
+
+      .toolbar-menu {
+        border-bottom: 1px solid;
+        border-top: 1px solid;
+      }
+    }
+
+    // Loop to generate nested selectors and styles.
+    $self: '.toolbar-menu';
+    @for $i from 1 through 8 {
+      $self: if($i == 1, "ul", nest($self, "ul")) !global;
+      #{$self} > .level-#{$i} > ul {
+        background-color:    darken($toolbar-bar-background , 5 * $i);
+        border-bottom-color: darken($tray-border-color, 5 * $i);
+        border-top-color:    darken($tray-border-color, 5 * $i);
+      }
+    }
+  }
+
+  .menu-item:last-child > .toolbar-menu {
+    border-bottom: 0;
+  }
+
+
+  // Click handles.
+  .toolbar-icon.toolbar-handle {
+    &:before {
+      color: $tray-border-color;
+    }
+
+    &.open {
+      &:before {
+        color: $tray-active;
+      }
+    }
+  }
+
+  .toolbar-toggle-orientation button.toolbar-icon {
+    &:after,
+    &:before {
+      color: $toggle-orientation-color;
+    }
+
+    &:hover,
+    &:focus,
+    &:hover:after,
+    &:focus:before {
+      color: $toggle-orientation-active;
+      background-color: transparent;
+    }
+  }
+
+
+  // Orientation toggles and handles
+  .toolbar-toggle-orientation {
+    button {}
+    > .toolbar-lining {}
+  }
+
+  .toolbar-tray-horizontal .toolbar-toggle-orientation {
+    border-left: 1px solid $toggle-orientation-border-color;
+
+    [dir="rtl"] & {
+      border-left: 0 none;
+      border-right: 1px solid $toggle-orientation-border-color;
+    }
+  }
+
+  .toolbar-toggle-orientation [value="horizontal"]:after {
+    right: 0.95em;
+  }
+}
+
+
+// Support for the Adminimal admin theme.
+.adminimal {
+
+  #toolbar-bar {
+    font: normal 83.1%/1.538 "Open Sans", sans-serif !important;
+  }
+
+  &.toolbar-tray-open {
+    &.toolbar-fixed {
+      &.toolbar-horizontal {
+        &.toolbar-themes {
+          padding-top: 4.75em !important;
+        }
+
+        #toolbar-administration {
+          background-color: #333;
+        }
+
+        &.toolbar-has-tabs #toolbar-administration {
+          min-height: 4em;
+        }
+
+        &.toolbar-no-tabs #toolbar-administration {
+          min-height: 2em;
+        }
+      }
+    }
+  }
+
+  &.toolbar-fixed.toolbar-vertical.toolbar-has-tabs,
+  &.toolbar-fixed.toolbar-horizontal.toolbar-no-tabs,
+  &.toolbar-fixed.toolbar-vertical.toolbar-no-tabs,
+  &.toolbar-tray-open.toolbar-fixed.toolbar-horizontal.toolbar-no-tabs {
+    padding-top: 2.3em !important;
+  }
+}
+

BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/admin_menu/screenshot.png


+ 140 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_handles.css

@@ -0,0 +1,140 @@
+/**
+ * base_handles
+ *
+ * Font icons for orientation toggles, menu click handles & sub-menu indicators.
+ * We're using Libricons because they're the same icons included in Drupal 8
+ * core and used by the Toolbar, however core insists on background-image SVG
+ * which makes these impossible to style with CSS. We do not use embedded SVG
+ * for these icons (like all the other Grunticon embedded SVG icons) because
+ * we need to use text-indent to hide the labels.
+ *
+ * There are no colors in this file - those should be provided by sub-themes in
+ * the themes "icons" library.
+ */
+@font-face {
+  font-family: "libricons";
+  src: url("fonts/libricons.woff2") format("woff2"), url("fonts/libricons.woff") format("woff"), url("fonts/libricons.ttf") format("truetype");
+  font-weight: normal;
+  font-style: normal;
+}
+
+#toolbar-administration button,
+#toolbar-administration input[type="button"] {
+  -webkit-appearance: none;
+}
+
+#toolbar-administration .toolbar-bar.no-tabs .toolbar-tab__items-wrapper a {
+  position: relative;
+  text-indent: -9999px;
+  width: 2.5em;
+  height: 2em;
+  overflow: hidden;
+  padding: 0;
+}
+
+#toolbar-administration .toolbar-bar.no-tabs .toolbar-tab__items-wrapper a:before {
+  font-family: 'libricons', sans-serif;
+  text-indent: 0;
+  content: "\E03F";
+  position: absolute;
+  left: 0.85em;
+  top: 0.4em;
+  font-size: 0.9em;
+  background-color: transparent;
+}
+
+#toolbar-administration .toolbar-toggle-orientation button.toolbar-icon {
+  position: relative;
+  text-indent: -9999px;
+  width: 2.2em;
+  height: 2em;
+  overflow: hidden;
+}
+
+#toolbar-administration .toolbar-toggle-orientation button.toolbar-icon:after, #toolbar-administration .toolbar-toggle-orientation button.toolbar-icon:before {
+  font-family: 'libricons', sans-serif;
+  text-indent: 0;
+  position: absolute;
+  background-color: transparent;
+}
+
+#toolbar-administration .toolbar-toggle-orientation [value="vertical"]:before {
+  content: '\E021';
+  vertical-align: middle;
+  left: 0.65em;
+  top: 0.6em;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-toggle-orientation [value="vertical"]:before {
+  left: auto;
+  right: 0.65em;
+  content: '\E023';
+}
+
+#toolbar-administration .toolbar-toggle-orientation [value="horizontal"]:after {
+  top: 0.25em;
+  right: 0.9em;
+  content: '\E024';
+  margin-top: 0.15em;
+}
+
+#toolbar-administration button.toolbar-handle {
+  background-color: transparent;
+  position: absolute;
+  text-indent: -9999px;
+  width: 2.2em;
+  height: 2.334em;
+  display: block;
+  padding: 0;
+  right: 0;
+  top: 0;
+  z-index: 1;
+}
+
+[dir="rtl"] #toolbar-administration button.toolbar-handle {
+  left: 0;
+  padding: 0;
+  right: auto;
+}
+
+#toolbar-administration button.toolbar-handle:after, #toolbar-administration button.toolbar-handle:before {
+  font-family: 'libricons', sans-serif;
+  text-indent: 0;
+  position: absolute;
+  background-color: transparent;
+}
+
+#toolbar-administration button.toolbar-handle:before {
+  content: '\E009';
+  top: 0.55em;
+  right: 1em;
+}
+
+#toolbar-administration button.toolbar-handle.open:before {
+  -webkit-transform: rotate(180deg);
+      -ms-transform: rotate(180deg);
+          transform: rotate(180deg);
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu > .menu-item--expanded a:after,
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu > .menu-item--expanded > .toolbar-box > a:after {
+  font-family: 'libricons', sans-serif;
+  font-size: 0.9em;
+  content: '\E012';
+  position: absolute;
+  right: 0.3em;
+  top: 0.5em;
+  display: block;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu > .menu-item--expanded a:after, [dir="rtl"]
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu > .menu-item--expanded > .toolbar-box > a:after {
+  left: 0.3em;
+  right: auto;
+  content: '\E010';
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu .toolbar-menu a:after {
+  display: none;
+}
+/*# sourceMappingURL=base_handles.css.map */

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_handles.css.map


+ 179 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_handles.scss

@@ -0,0 +1,179 @@
+/**
+ * base_handles
+ *
+ * Font icons for orientation toggles, menu click handles & sub-menu indicators.
+ * We're using Libricons because they're the same icons included in Drupal 8
+ * core and used by the Toolbar, however core insists on background-image SVG
+ * which makes these impossible to style with CSS. We do not use embedded SVG
+ * for these icons (like all the other Grunticon embedded SVG icons) because
+ * we need to use text-indent to hide the labels.
+ *
+ * There are no colors in this file - those should be provided by sub-themes in
+ * the themes "icons" library.
+ */
+
+@font-face {
+  font-family: "libricons";
+  src: url('fonts/libricons.woff2') format('woff2'),
+       url('fonts/libricons.woff') format('woff'),
+       url('fonts/libricons.ttf') format('truetype');
+  font-weight: normal;
+  font-style: normal;
+}
+
+#toolbar-administration {
+  button,
+  input[type="button"] {
+    -webkit-appearance: none;
+  }
+
+  // Tabs can be hidden in the settings, however we have to show the Manage tab
+  // in orientation vertical otherwise the user will not be able to collapse
+  // the menu.
+  .toolbar-bar.no-tabs {
+    .toolbar-tab__items-wrapper {
+      a {
+        position: relative;
+        text-indent: -9999px;
+        width: 2.5em;
+        height: 2em;
+        overflow: hidden;
+        padding: 0;
+
+        &:before {
+          font-family: 'libricons', sans-serif;
+          text-indent: 0;
+          content: "\E03F";
+          position: absolute;
+          left: 0.85em;
+          top: 0.4em;
+          font-size: 0.9em;
+          background-color: transparent;
+        }
+      }
+    }
+  }
+
+  .toolbar-vertical.toolbar-no-tabs {
+    .toolbar-tab__items-wrapper,
+    .toolbar-tab__items-wrapper a {
+      //display: block;
+    }
+  }
+
+  // Orientation toggle & Handle.
+  .toolbar-toggle-orientation button.toolbar-icon {
+    position: relative;
+    text-indent: -9999px;
+    width: 2.2em;
+    height: 2em;
+    overflow: hidden;
+
+    &:after,
+    &:before {
+      font-family: 'libricons', sans-serif;
+      text-indent: 0;
+      position: absolute;
+      background-color: transparent;
+    }
+  }
+
+  // Orientation toggles.
+  .toolbar-toggle-orientation [value="vertical"] {
+    &:before {
+      content: '\E021';
+      vertical-align: middle;
+      left: 0.65em;
+      top: 0.6em;
+
+      [dir="rtl"] & {
+        left: auto;
+        right: 0.65em;
+        content: '\E023';
+      }
+    }
+  }
+
+  .toolbar-toggle-orientation [value="horizontal"] {
+    &:after {
+      top: 0.25em;
+      right: 0.9em;
+      content: '\E024';
+      margin-top: 0.15em; // Touch target separation.
+    }
+  }
+
+  // Click handles.
+  button.toolbar-handle {
+    background-color: transparent;
+    position: absolute;
+    text-indent: -9999px;
+    width: 2.2em;
+    height: 2.334em;
+    display: block;
+    padding: 0;
+    right: 0;
+    top: 0;
+    z-index: 1;
+
+    [dir="rtl"] & {
+      left: 0;
+      padding: 0;
+      right: auto;
+    }
+
+    &:after,
+    &:before {
+      font-family: 'libricons', sans-serif;
+      text-indent: 0;
+      position: absolute;
+      background-color: transparent;
+    }
+
+    &:before {
+      content: '\E009';
+      top: 0.55em;
+      right: 1em;
+    }
+
+    &.open {
+      &:before {
+        transform: rotate(180deg);
+      }
+    }
+  }
+
+  // Sub-menu indicators in drop menus.
+  .toolbar-tray-horizontal {
+    .toolbar-menu-administration > .toolbar-menu .toolbar-menu {
+
+      > .menu-item--expanded a,
+      > .menu-item--expanded > .toolbar-box > a {
+
+        &:after {
+          font-family: 'libricons', sans-serif;
+          font-size: 0.9em;
+          content: '\E012';
+          position: absolute;
+          right: 0.3em;
+          top: 0.5em;
+          display: block;
+
+          [dir="rtl"] & {
+            left: 0.3em;
+            right: auto;
+            content: '\E010';
+          }
+        }
+      }
+
+      .toolbar-menu a {
+        &:after {
+          display: none;
+        }
+      }
+    }
+  }
+}
+
+

+ 75 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_icons.css

@@ -0,0 +1,75 @@
+/**
+ * base_icons
+ *
+ * Base styles for toolbar icons.
+ *
+ * Most icons are embedded SVG. Icons are embedded using Grunticon. We are using
+ * the original SVG icons from Drupal core, however the width and height
+ * attribute have been replaced with a viewBox attribute so we can scale them
+ * properly with CSS. Embedded SVG has the advantage of being styled with CSS,
+ * and by using Grunticon JS loading we negate most of the bloat and overhead
+ * associated with embedding SVG files.
+ *
+ * For the buttons (orientation toggles & menu click handles) please see
+ * base_handles.scss and your themes main theme.scss file. These are styled
+ * separably because this file will not load if the Show Icons setting is false.
+ *
+ * There are no colors in this file - those should be provided by sub-themes.
+ */
+#toolbar-administration .toolbar-icon:before, #toolbar-administration .toolbar-icon:after {
+  background-image: none;
+}
+
+#toolbar-administration i.toolbar-icon {
+  display: inline-block;
+  width: 1em;
+  height: 1em;
+  padding: 0;
+  margin-right: 0.5em;
+  position: relative;
+  top: 0.1em;
+}
+
+#toolbar-administration .toolbar-menu ul .toolbar-icon {
+  padding-left: 1.3333em;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-menu ul .toolbar-icon {
+  padding-left: 0;
+  padding-right: 1.3333em;
+}
+
+@media only screen and (max-width: 16.5em) {
+  #toolbar-administration .toolbar-bar .toolbar-tab > .toolbar-item {
+    margin-left: 0;
+    margin-right: 0;
+    padding-left: 0;
+    padding-right: 0;
+    width: 4em;
+  }
+  #toolbar-administration .toolbar-bar .toolbar-tab > .toolbar-item > .toolbar__link-label {
+    text-indent: -9999px;
+  }
+}
+
+@media only screen and (min-width: 36em) {
+  #toolbar-administration .toolbar-bar .toolbar-tab > .toolbar-icon {
+    background-position: left center;
+    padding-left: 2.75em;
+    padding-right: 1.3333em;
+    text-indent: 0;
+    width: auto;
+  }
+  [dir="rtl"] #toolbar-administration .toolbar-bar .toolbar-tab > .toolbar-icon {
+    background-position: right center;
+    padding-left: 1.3333em;
+    padding-right: 2.75em;
+  }
+}
+
+#toolbar-administration .toolbar-tab a .toolbar-box a:focus,
+#toolbar-administration .toolbar-lining button .toolbar-box a:focus,
+#toolbar-administration .toolbar-tray-horizontal a .toolbar-box a:focus {
+  outline: none;
+}
+/*# sourceMappingURL=base_icons.css.map */

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_icons.css.map


+ 93 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_icons.scss

@@ -0,0 +1,93 @@
+/**
+ * base_icons
+ *
+ * Base styles for toolbar icons.
+ *
+ * Most icons are embedded SVG. Icons are embedded using Grunticon. We are using
+ * the original SVG icons from Drupal core, however the width and height
+ * attribute have been replaced with a viewBox attribute so we can scale them
+ * properly with CSS. Embedded SVG has the advantage of being styled with CSS,
+ * and by using Grunticon JS loading we negate most of the bloat and overhead
+ * associated with embedding SVG files.
+ *
+ * For the buttons (orientation toggles & menu click handles) please see
+ * base_handles.scss and your themes main theme.scss file. These are styled
+ * separably because this file will not load if the Show Icons setting is false.
+ *
+ * There are no colors in this file - those should be provided by sub-themes.
+ */
+
+#toolbar-administration {
+
+  .toolbar-icon {
+    &:before,
+    &:after {
+      background-image: none;
+    }
+  }
+
+  i.toolbar-icon {
+    display: inline-block;
+    width: 1em;
+    height: 1em;
+    padding: 0;
+    margin-right: 0.5em;
+    position: relative;
+    top: 0.1em;
+  }
+
+  .toolbar-menu ul .toolbar-icon {
+    padding-left: 1.3333em;
+
+    [dir="rtl"] & {
+      padding-left: 0;
+      padding-right: 1.3333em;
+    }
+  }
+
+  
+  @media only screen and (max-width: 16.5em) {
+    .toolbar-bar .toolbar-tab > .toolbar-item {
+        margin-left: 0;
+        margin-right: 0;
+        padding-left: 0;
+        padding-right: 0;
+        width: 4em;
+
+      > .toolbar__link-label {
+        text-indent: -9999px;
+      }
+    }
+  }
+
+
+  @media only screen and (min-width: 36em) {
+    .toolbar-bar .toolbar-tab > .toolbar-icon {
+      background-position: left center;
+      padding-left: 2.75em;
+      padding-right: 1.3333em;
+      text-indent: 0;
+      width: auto;
+
+      [dir="rtl"] & {
+        background-position: right center;
+        padding-left: 1.3333em;
+        padding-right: 2.75em;
+      }
+    }
+  }
+
+  // Accessibility/focus.
+  .toolbar-tab a,
+  .toolbar-lining button,
+  .toolbar-tray-horizontal a {
+    .toolbar-box a {
+      &:focus {
+        outline: none;
+      }
+    }
+  }
+}
+
+
+

+ 299 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_module.css

@@ -0,0 +1,299 @@
+/**
+ * base_module
+ *
+ * This is almost a direct copy of Toolbar modules toolbar.module.css. There are
+ * minor adjustments and additions such as the line-height, font size and some
+ * use of Flex over floats etc, & support for new markup elements.
+ *
+ * Major styles such as the layout and orientation change assumptions are not
+ * modified, these are tied to the JS in core and difficult to move away from.
+ */
+.toolbar-loading #toolbar-administration {
+  overflow: hidden;
+}
+
+.toolbar-loading #toolbar-administration .toolbar-bar {
+  opacity: 0;
+}
+
+#toolbar-administration {
+  font-size: medium;
+  line-height: 1.5;
+  margin: 0;
+  padding: 0;
+  vertical-align: baseline;
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+#toolbar-administration * {
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+}
+
+.toolbar .toolbar-bar .home-toolbar-tab {
+  display: none;
+}
+
+.path-admin .toolbar-bar .home-toolbar-tab {
+  display: block;
+}
+
+@media print {
+  #toolbar-administration {
+    display: none;
+  }
+}
+
+.toolbar li {
+  list-style: none none;
+}
+
+.toolbar .item-list {
+  list-style: none none;
+}
+
+.toolbar .item-list li {
+  list-style: none none;
+}
+
+.toolbar .menu-item,
+.toolbar .menu-item--expanded {
+  list-style: none none;
+}
+
+.toolbar .menu-item {
+  padding-top: 0;
+}
+
+.toolbar .toolbar-bar .toolbar-tab,
+.toolbar .menu-item {
+  display: block;
+}
+
+.toolbar .toolbar-bar .toolbar-tab.hidden {
+  display: none;
+}
+
+.toolbar .toolbar-bar,
+.toolbar .toolbar-tray {
+  position: relative;
+  z-index: 1250;
+}
+
+.toolbar .toolbar-tab__items-wrapper {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+      -ms-flex-align: center;
+          align-items: center;
+  -webkit-box-pack: start;
+      -ms-flex-pack: start;
+          justify-content: flex-start;
+  z-index: 1500;
+  position: relative;
+}
+
+.toolbar .home-toolbar-tab div {
+  display: none;
+}
+
+.toolbar .toolbar-icon-admin-toolbar-tools-help {
+  text-indent: 0;
+}
+
+.toolbar .toolbar-bar .contextual-toolbar-tab {
+  float: none !important;
+  position: absolute;
+  right: 0;
+  top: 0;
+  padding: 0 0.25em 0;
+}
+
+[dir="rtl"] .toolbar .toolbar-bar .contextual-toolbar-tab {
+  right: auto;
+  left: 0;
+  padding-left: 0;
+  padding-right: 0.35em;
+}
+
+.toolbar .toolbar-bar .contextual-toolbar-tab button {
+  outline: none !important;
+  color: inherit;
+  height: auto;
+  font-size: inherit;
+}
+
+body.toolbar-fixed .toolbar-oriented {
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  width: 100%;
+}
+
+.toolbar-oriented .toolbar-bar,
+.toolbar-oriented .toolbar-tray {
+  left: 0;
+  position: absolute;
+  right: 0;
+}
+
+.toolbar-oriented .toolbar-bar {
+  z-index: 502;
+}
+
+body.toolbar-fixed .toolbar-oriented .toolbar-bar {
+  position: fixed;
+}
+
+body.toolbar-tray-open.toolbar-fixed.toolbar-vertical .toolbar-oriented {
+  bottom: 0;
+  width: 15rem;
+}
+
+.toolbar .toolbar-bar,
+.toolbar .toolbar-tray-horizontal ul {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+}
+
+#toolbar-administration .no-tabs .toolbar-tray-horizontal {
+  left: 2.5em;
+  top: 0;
+  border-top: 0;
+  -webkit-box-shadow: none;
+          box-shadow: none;
+  margin-top: 0 !important;
+}
+
+@media (min-width: 16.5em) {
+  .toolbar .toolbar-bar,
+  .toolbar .toolbar-tray-horizontal ul {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+  }
+}
+
+.toolbar-oriented .toolbar-bar,
+.toolbar-oriented .toolbar-tray-horizontal {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+}
+
+.toolbar .toolbar-tray {
+  z-index: 501;
+  display: none;
+}
+
+.toolbar-oriented .toolbar-tray-vertical {
+  left: -100%;
+  position: absolute;
+  width: 15rem;
+}
+
+[dir="rtl"] .toolbar-oriented .toolbar-tray-vertical {
+  left: auto;
+  right: -100%;
+}
+
+.toolbar .toolbar-tray-vertical > .toolbar-lining {
+  min-height: 100%;
+}
+
+.toolbar .toolbar-tray-vertical > .toolbar-lining:before {
+  width: 100%;
+}
+
+.toolbar-oriented .toolbar-tray-vertical > .toolbar-lining:before {
+  bottom: 0;
+  content: '';
+  display: block;
+  left: 0;
+  position: fixed;
+  top: 0;
+  width: 14rem;
+  z-index: -1;
+}
+
+[dir="rtl"] .toolbar-oriented .toolbar-tray-vertical > .toolbar-lining:before {
+  left: auto;
+  right: 0;
+}
+
+.toolbar .toolbar-bar .toolbar-tab > .toolbar-icon {
+  position: relative;
+  z-index: 502;
+}
+
+.toolbar-oriented .toolbar-tray-horizontal .menu-item ul {
+  display: none;
+}
+
+body.toolbar-fixed .toolbar .toolbar-tray-horizontal {
+  position: fixed;
+}
+
+.toolbar .toolbar-tray-vertical.is-active,
+body.toolbar-fixed .toolbar .toolbar-tray-vertical {
+  height: 100%;
+  overflow-x: hidden;
+  overflow-y: auto;
+  position: fixed;
+}
+
+.toolbar .toolbar-tray.is-active {
+  display: block;
+}
+
+.toolbar-oriented .toolbar-tray-vertical.is-active {
+  left: 0;
+}
+
+[dir="rtl"] .toolbar-oriented .toolbar-tray-vertical.is-active {
+  left: auto;
+  right: 0;
+}
+
+body.toolbar-tray-open.toolbar-vertical.toolbar-fixed {
+  margin-left: 15rem;
+}
+
+[dir="rtl"] body.toolbar-tray-open.toolbar-vertical.toolbar-fixed {
+  margin-left: auto;
+  margin-right: 15rem;
+}
+
+@media print {
+  body.toolbar-tray-open.toolbar-vertical.toolbar-fixed {
+    margin-left: 0;
+  }
+  [dir="rtl"] body.toolbar-tray-open.toolbar-vertical.toolbar-fixed {
+    margin-right: 0;
+  }
+}
+
+.toolbar .toolbar-tray .toolbar-toggle-orientation {
+  display: none;
+}
+
+.toolbar-oriented .toolbar-tray .toolbar-toggle-orientation {
+  display: block;
+}
+
+.toolbar-oriented .toolbar-tray-horizontal .toolbar-toggle-orientation {
+  bottom: 0;
+  position: absolute;
+  right: 0;
+  top: auto;
+}
+
+[dir="rtl"] .toolbar-oriented .toolbar-tray-horizontal .toolbar-toggle-orientation {
+  left: 0;
+  right: auto;
+}
+/*# sourceMappingURL=base_module.css.map */

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_module.css.map


+ 430 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_module.scss

@@ -0,0 +1,430 @@
+/**
+ * base_module
+ *
+ * This is almost a direct copy of Toolbar modules toolbar.module.css. There are
+ * minor adjustments and additions such as the line-height, font size and some
+ * use of Flex over floats etc, & support for new markup elements.
+ *
+ * Major styles such as the layout and orientation change assumptions are not
+ * modified, these are tied to the JS in core and difficult to move away from.
+ */
+
+
+// Delay visibility until all rerendering has completed.
+.toolbar-loading {
+  #toolbar-administration {
+    overflow: hidden;
+
+    .toolbar-bar {
+      opacity: 0;
+    }
+  }
+}
+
+#toolbar-administration {
+  font-size: medium;
+  line-height: 1.5;
+  margin: 0;
+  padding: 0;
+  vertical-align: baseline;
+  box-sizing: border-box;
+
+  * {
+    box-sizing: border-box;
+  }
+}
+
+// Toolbar home button toggle.
+.toolbar .toolbar-bar .home-toolbar-tab {
+  display: none;
+}
+.path-admin .toolbar-bar .home-toolbar-tab {
+  display: block;
+}
+
+@media print {
+  #toolbar-administration {
+    display: none;
+  }
+}
+
+// Very specific overrides for Drupal system CSS.
+.toolbar {
+  li {
+    list-style: none none;
+  }
+
+  .item-list {
+    list-style: none none;
+
+    li {
+      list-style: none none;
+    }
+  }
+
+  .menu-item,
+  .menu-item--expanded {
+    list-style: none none;
+  }
+
+  .menu-item {
+    padding-top: 0;
+  }
+
+  .toolbar-bar .toolbar-tab,
+  .menu-item {
+    display: block;
+  }
+
+  .toolbar-bar .toolbar-tab.hidden {
+    display: none;
+  }
+
+  .toolbar-bar,
+  .toolbar-tray {
+    position: relative;
+    z-index: 1250;
+  }
+
+  // Fallback CSS in case something fails.
+  .no-tabs .toolbar-tab__items-wrapper {
+    //display: none;
+  }
+
+  // Use a new wrapper around toolbar-tab items, use flex to position items. We
+  // need the big z-index for when orientation is vertical.
+  .toolbar-tab__items-wrapper {
+    display: flex;
+    align-items: center;
+    justify-content: flex-start;
+    //min-height: 1.8em;
+    z-index: 1500;
+    position: relative;
+  }
+
+  .home-toolbar-tab {
+    div {
+      display: none;
+    }
+  }
+
+  .toolbar-icon-admin-toolbar-tools-help {
+    text-indent: 0;
+  }
+
+  .toolbar-bar .contextual-toolbar-tab {
+    float: none !important; // override contextual links css.
+    position: absolute;
+    right: 0;
+    top: 0;
+    padding: 0 0.25em 0;
+
+    [dir="rtl"] & {
+      right: auto;
+      left: 0;
+      padding-left: 0;
+      padding-right: 0.35em;
+    }
+
+    button {
+      outline: none !important;
+      color: inherit;
+      height: auto;
+      font-size: inherit;
+    }
+  }
+
+}
+
+
+// Administration menu.
+
+// Position the admin toolbar absolutely when the configured standard breakpoint
+// is active. The toolbar container, that contains the bar and the trays, is
+// position absolutely so that it scrolls with the page. Otherwise, on smaller
+// screens, the components of the admin toolbar are positioned statically.
+
+body.toolbar-fixed .toolbar-oriented {
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  width: 100%;
+}
+
+.toolbar-oriented {
+  .toolbar-bar,
+  .toolbar-tray {
+    left: 0;
+    position: absolute;
+    right: 0;
+    //top: 0;
+  }
+
+  .toolbar-bar {
+    z-index: 502;
+  }
+}
+
+
+// Layer the bar just above the trays and above contextual link triggers.
+
+// Position the admin toolbar fixed when the configured standard breakpoint is
+// active.
+
+body {
+  &.toolbar-fixed .toolbar-oriented .toolbar-bar {
+    position: fixed;
+  }
+
+  &.toolbar-tray-open.toolbar-fixed.toolbar-vertical .toolbar-oriented {
+    bottom: 0;
+    width: 15rem;
+  }
+}
+
+
+// When the configured narrow breakpoint is active, the toolbar is sized to wrap
+// around the trays in order to provide a context for scrolling tray content
+// that is taller than the viewport.
+
+// Present the admin toolbar tabs horizontally as a default on user agents that
+// do not understand media queries or on user agents where JavaScript is
+// disabled.
+
+.toolbar {
+  .toolbar-bar,
+  .toolbar-tray-horizontal ul {
+    display: flex;
+  }
+
+  .toolbar-tab > a,
+  .toolbar-tray-horizontal ul a {}
+}
+
+
+// Present the admin toolbar tabs vertically by default on user agents that
+// that understand media queries. This will be the small screen default.
+
+@media only screen {
+  .toolbar {
+    .toolbar-bar
+    .toolbar-tray-horizontal {
+      [dir="rtl"] & {}
+    }
+  }
+}
+
+
+// Tabs can be hidden in the settings, however we have to show the Manage tab
+// in orientation vertical otherwise the user will not be able to collapse the
+// menu. Here we move the tray to lie adjacent to the manage button, rather than
+// below, making one inline menu.
+
+#toolbar-administration .no-tabs .toolbar-tray-horizontal {
+  left: 2.5em;
+  top: 0;
+  border-top: 0;
+  box-shadow: none;
+  margin-top: 0 !important;
+}
+
+
+// This min-width media query is meant to provide basic horizontal layout to
+// the main menu tabs when JavaScript is disabled on user agents that understand
+// media queries.
+
+@media (min-width: 16.5em) {
+  .toolbar {
+    .toolbar-bar,
+    .toolbar-tray-horizontal ul {
+      display: flex;
+
+      [dir="rtl"] & {}
+    }
+  }
+}
+
+
+// Present the admin toolbar tabs horizontally when the configured narrow
+// breakpoint is active.
+
+.toolbar-oriented {
+  .toolbar-bar,
+  .toolbar-tray-horizontal {
+    display: flex;
+
+    [dir="rtl"] & {}
+  }
+}
+
+
+// Toolbar tray.
+
+.toolbar {
+  .toolbar-tray {
+    z-index: 501;
+    display: none;
+  }
+}
+
+.toolbar-oriented .toolbar-tray-vertical {
+  left: -100%;
+  position: absolute;
+  width: 15rem;
+}
+
+[dir="rtl"] .toolbar-oriented .toolbar-tray-vertical {
+  left: auto;
+  right: -100%;
+}
+
+.toolbar .toolbar-tray-vertical > .toolbar-lining {
+  min-height: 100%;
+
+  &:before {
+    width: 100%;
+  }
+}
+
+.toolbar-oriented .toolbar-tray-vertical > .toolbar-lining:before {
+  bottom: 0;
+  content: '';
+  display: block;
+  left: 0;
+  position: fixed;
+  top: 0;
+  width: 14rem;
+  z-index: -1;
+
+  [dir="rtl"] & {
+    left: auto;
+    right: 0;
+  }
+}
+
+
+// Layer the links just above the toolbar-tray.
+
+.toolbar .toolbar-bar .toolbar-tab > .toolbar-icon {
+  position: relative;
+  z-index: 502;
+}
+
+
+// Hide secondary menus when the tray is horizontal.
+
+.toolbar-oriented .toolbar-tray-horizontal .menu-item ul {
+  display: none;
+}
+
+
+// When the configured standard breakpoint is active and the tray is in a
+// horizontal position, the tray is fixed to the top of the viewport and does
+// not scroll with the page contents.
+
+body.toolbar-fixed .toolbar .toolbar-tray-horizontal {
+  position: fixed;
+}
+
+
+// When the configured standard breakpoint is active and the tray is in a
+// vertical position, the tray does not scroll with the page. The contents of
+// the tray scroll within the confines of the viewport.
+
+.toolbar .toolbar-tray-vertical.is-active,
+body.toolbar-fixed .toolbar .toolbar-tray-vertical {
+  height: 100%;
+  overflow-x: hidden;
+  overflow-y: auto;
+  position: fixed;
+}
+
+.toolbar .toolbar-tray.is-active {
+  display: block;
+}
+
+
+// Bring the tray into the viewport. By default it is just off-screen.
+
+.toolbar-oriented .toolbar-tray-vertical.is-active {
+  left: 0;
+
+  [dir="rtl"] & {
+    left: auto;
+    right: 0;
+  }
+}
+
+
+// When the configured standard breakpoint is active, the tray appears to push
+// the page content away from the edge of the viewport.
+
+body.toolbar-tray-open.toolbar-vertical.toolbar-fixed {
+  margin-left: 15rem;
+
+  [dir="rtl"] & {
+    margin-left: auto;
+    margin-right: 15rem;
+  }
+}
+
+@media print {
+  body.toolbar-tray-open.toolbar-vertical.toolbar-fixed {
+    margin-left: 0;
+
+    [dir="rtl"] & {
+      margin-right: 0;
+    }
+  }
+}
+
+
+// ToolBar tray orientation toggle.
+
+// Hide the orientation toggle when the configured narrow breakpoint is not
+// active.
+
+.toolbar .toolbar-tray .toolbar-toggle-orientation {
+  display: none;
+}
+
+
+// Show the orientation toggle when the configured narrow breakpoint is
+// active.
+
+.toolbar-oriented {
+  .toolbar-tray .toolbar-toggle-orientation {
+    display: block;
+  }
+
+  .toolbar-tray-horizontal .toolbar-toggle-orientation {
+    bottom: 0;
+    position: absolute;
+    right: 0;
+    top: auto;
+
+    [dir="rtl"] & {
+      left: 0;
+      right: auto;
+    }
+  }
+}
+
+// .toolbar-loading is required by Toolbar JavaScript to pre-render markup
+// style to avoid extra reflow & flicker.
+//@media (min-width: 61em) {
+//  .toolbar-loading.toolbar-horizontal .toolbar .toolbar-bar .toolbar-tab:last-child .toolbar-tray {
+//    position: relative;
+//    display: block;
+//    z-index: -999;
+//    visibility: hidden;
+//    width: 1px;
+//  }
+//  .toolbar-loading.toolbar-horizontal .toolbar .toolbar-bar .toolbar-tab:last-child .toolbar-tray .toolbar-lining {
+//    width: 999em;
+//  }
+//  .toolbar-loading.toolbar-horizontal .toolbar .toolbar-bar .home-toolbar-tab  .toolbar-tab .toolbar-tray {
+//    display: block;
+//  }
+//}

+ 224 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_theme.css

@@ -0,0 +1,224 @@
+/**
+ * base_theme
+ *
+ * Base theme styles for menus and other toolbar elements (not icons). There are
+ * no colors in this file - those should be provided by sub-themes.
+ */
+.shortcut-action__message {
+  display: none !important;
+}
+
+#toolbar-administration {
+  width: 100%;
+  -webkit-touch-callout: none;
+}
+
+#toolbar-administration .toolbar-bar {
+  width: 100%;
+}
+
+#toolbar-administration a {
+  cursor: pointer;
+}
+
+#toolbar-administration button {
+  border: 0;
+  -webkit-box-shadow: none;
+          box-shadow: none;
+  border-radius: 0;
+  background: transparent;
+  color: inherit;
+  font-size: inherit;
+  font-family: inherit;
+  opacity: 1;
+  line-height: normal;
+}
+
+#toolbar-administration button:hover, #toolbar-administration button:focus {
+  background: transparent;
+}
+
+#toolbar-administration .toolbar-item {
+  cursor: pointer;
+}
+
+#toolbar-administration .toolbar-tab:empty,
+#toolbar-administration .toolbar-item:empty {
+  display: none;
+}
+
+#toolbar-administration .toolbar-toggle-orientation {
+  padding: 0;
+  height: 100%;
+  background-color: inherit;
+}
+
+#toolbar-administration .toolbar-toggle-orientation button {
+  cursor: pointer;
+  display: inline-block;
+}
+
+#toolbar-administration .toolbar-toggle-orientation > .toolbar-lining {
+  float: right;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-toggle-orientation > .toolbar-lining {
+  float: left;
+}
+
+#toolbar-administration .toolbar-menu {
+  list-style: none;
+  margin: 0;
+  padding: 0;
+  background-color: inherit;
+}
+
+#toolbar-administration .toolbar-box {
+  position: relative;
+  width: auto;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu .toolbar-handle {
+  display: none;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu ul {
+  visibility: hidden;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu a {
+  display: block;
+  padding-right: 4em;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-tray-vertical .toolbar-menu a {
+  padding-left: 4em;
+  padding-right: 0;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu ul {
+  display: none;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu ul ul a {
+  padding-left: 2em;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-tray-vertical .toolbar-menu ul ul a {
+  padding-left: 0;
+  padding-right: 2em;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu .toolbar-icon.toolbar-handle:before {
+  background-image: none;
+}
+
+#toolbar-administration .toolbar-tray-vertical li.open > ul {
+  display: block;
+}
+
+#toolbar-administration .has-icons .toolbar-tray-vertical .toolbar-menu ul a {
+  padding-left: 2.2em;
+}
+
+[dir="rtl"] #toolbar-administration .has-icons .toolbar-tray-vertical .toolbar-menu ul a {
+  padding-left: 0;
+  padding-right: 2.2em;
+}
+
+#toolbar-administration .has-icons .toolbar-tray-vertical .toolbar-menu ul ul a {
+  padding-left: 3em;
+}
+
+[dir="rtl"] #toolbar-administration .has-icons .toolbar-tray-vertical .toolbar-menu ul ul a {
+  padding-left: 0;
+  padding-right: 3em;
+}
+
+#toolbar-administration .toolbar-handle:hover {
+  cursor: pointer;
+}
+
+@media screen and (max-width: 319px) {
+  #toolbar-administration .toolbar-tray-vertical.is-active {
+    width: 100%;
+  }
+}
+
+#toolbar-administration .toolbar-tray-horizontal {
+  border-bottom: 0;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .menu-item {
+  border: 0;
+  position: relative;
+}
+
+#toolbar-administration .toolbar-tray-horizontal a {
+  position: relative;
+  display: block;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu {
+  position: relative;
+  max-height: 1000px;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu {
+  -webkit-transition: 125ms ease-in-out 100ms;
+  -o-transition: 125ms ease-in-out 100ms;
+  transition: 125ms ease-in-out 100ms;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu .toolbar-menu {
+  -webkit-transition-delay: 25ms;
+       -o-transition-delay: 25ms;
+          transition-delay: 25ms;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .menu-item {
+  width: auto;
+  display: block;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .menu-item a:hover, #toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .menu-item a:focus {
+  text-decoration: none;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .menu-item--expanded:hover > .toolbar-menu, #toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .menu-item--expanded:focus > .toolbar-menu {
+  visibility: visible;
+  opacity: 1;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu {
+  position: absolute;
+  visibility: hidden;
+  opacity: 0;
+  margin: 0;
+  padding: 0;
+  max-height: 1000px;
+  width: 14em;
+  display: block;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu:hover, #toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu:focus {
+  visibility: visible;
+  opacity: 1;
+  display: block;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu .menu-item {
+  text-align: left;
+  width: 14em;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu > .menu-item--expanded > .toolbar-menu {
+  left: 0;
+  top: auto;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu > .menu-item--expanded > .toolbar-menu .toolbar-menu {
+  left: 100%;
+  top: 0;
+}
+/*# sourceMappingURL=base_theme.css.map */

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_theme.css.map


+ 274 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/base_theme.scss

@@ -0,0 +1,274 @@
+/**
+ * base_theme
+ *
+ * Base theme styles for menus and other toolbar elements (not icons). There are
+ * no colors in this file - those should be provided by sub-themes.
+ */
+
+
+// Remove very annoying message that causes re-flow and re-paint every dam time
+// you move the cursor anywhere near it.
+.shortcut-action__message {
+  display: none !important;
+}
+
+#toolbar-administration {
+  width: 100%;
+  -webkit-touch-callout: none;
+
+  .toolbar-bar {
+    width: 100%;
+  }
+
+  a {
+    cursor: pointer;
+  }
+
+  // Themes and resets like normalize can wreak havoc on buttons, so we need to
+  // set a lot of strong overrides ourselves.
+  button {
+    border: 0;
+    box-shadow: none;
+    border-radius: 0;
+    background: transparent;
+    color: inherit;
+    font-size: inherit;
+    font-family: inherit;
+    opacity: 1;
+    line-height: normal;
+
+    &:hover,
+    &:focus {
+      background: transparent;
+    }
+  }
+
+  .toolbar-item {
+    cursor: pointer;
+
+    &:hover,
+    &:focus {}
+  }
+
+  .toolbar-tab,
+  .toolbar-item {
+     &:empty {
+       display: none;
+    }
+  }
+
+  .toolbar-tray {
+    //width: 100%;
+  }
+
+
+  // Orientation toggle.
+  .toolbar-toggle-orientation {
+    padding: 0;
+    height: 100%;
+    background-color: inherit;
+
+    button {
+      cursor: pointer;
+      display: inline-block;
+    }
+
+    > .toolbar-lining {
+      float: right;
+
+      [dir="rtl"] & {
+        float: left;
+      }
+    }
+  }
+
+
+  // Menus
+  .toolbar-menu {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+    background-color: inherit;
+  }
+
+  .toolbar-box {
+    position: relative;
+    width: auto;
+  }
+
+  .toolbar-tray-horizontal .toolbar-menu {
+    .toolbar-handle {
+      display: none;
+    }
+
+    ul {
+      visibility: hidden;
+    }
+  }
+
+  .toolbar-tray-vertical {
+    .toolbar-menu {
+      a {
+        display: block;
+        padding-right: 4em;
+
+        [dir="rtl"] & {
+          padding-left: 4em;
+          padding-right: 0;
+        }
+      }
+
+      ul {
+        display: none;
+      }
+
+      ul ul a {
+        padding-left: 2em;
+
+        [dir="rtl"] & {
+          padding-left: 0;
+          padding-right: 2em;
+        }
+      }
+
+      .toolbar-icon.toolbar-handle:before {
+        background-image: none;
+      }
+    }
+
+    li.open > ul {
+      display: block;
+    }
+  }
+
+  .has-icons .toolbar-tray-vertical {
+    .toolbar-menu {
+      ul a {
+        padding-left: 2.2em;
+
+        [dir="rtl"] & {
+          padding-left: 0;
+          padding-right: 2.2em;
+        }
+      }
+
+      ul ul a {
+        padding-left: 3em;
+
+        [dir="rtl"] & {
+          padding-left: 0;
+          padding-right: 3em;
+        }
+      }
+    }
+  }
+
+  .toolbar-menu .toolbar-menu .toolbar-menu .toolbar-menu {
+    [dir="rtl"] & {}
+  }
+
+  .level-2 > ul {}
+  .level-3 > ul {}
+  .level-4 > ul {}
+  .level-5 > ul {}
+  .level-6 > ul {}
+  .level-7 > ul {}
+  .level-8 > ul {}
+
+  .toolbar-handle:hover {
+    cursor: pointer;
+  }
+
+  @media screen and (max-width: 319px) {
+    .toolbar-tray-vertical.is-active {
+      width: 100%;
+    }
+  }
+
+  // Drop menus
+  .toolbar-tray-horizontal {
+    border-bottom: 0;
+
+    .menu-item {
+      border: 0;
+      position: relative;
+    }
+
+    a {
+      position: relative;
+      display: block;
+    }
+
+    .toolbar-menu-administration > .toolbar-menu {
+      position: relative;
+      max-height: 1000px;
+
+      .toolbar-menu {
+         transition: 125ms ease-in-out 100ms;
+
+        .toolbar-menu {
+          transition-delay: 25ms;
+        }
+      }
+
+      .menu-item {
+        width: auto;
+        display: block;
+
+        a {
+          &:hover,
+          &:focus {
+            text-decoration: none;
+          }
+        }
+      }
+
+      .menu-item--expanded {
+        &:hover,
+        &:focus {
+          > .toolbar-menu {
+            visibility: visible;
+            opacity: 1;
+          }
+        }
+      }
+    }
+
+    .toolbar-menu-administration > .toolbar-menu .toolbar-menu {
+      position: absolute;
+      visibility: hidden;
+      opacity: 0;
+      margin: 0;
+      padding: 0;
+      max-height: 1000px;
+      width: 14em;
+      display: block;
+
+      a {}
+
+      &:hover,
+      &:focus {
+        visibility: visible;
+        opacity: 1;
+        display: block;
+      }
+
+      .menu-item {
+        text-align: left;
+        width: 14em;
+      }
+    }
+
+    // Menu level 2 and below.
+    .toolbar-menu-administration > .toolbar-menu > .menu-item--expanded > .toolbar-menu {
+      left: 0;
+      top: auto;
+
+      .toolbar-menu {
+        left: 100%;
+        top: 0;
+      }
+    }
+  }
+}
+

+ 70 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/fonts/libricons.md

@@ -0,0 +1,70 @@
+# Libricons
+
+Libricons are licenced under the MIT License (MIT).
+https://github.com/ry5n/libricons
+
+## Char guide
+.icon-9937-key:before { content: "\E001"; }
+.icon-9938-chevron-disc-left:before { content: "\E002"; }
+.icon-9939-chevron-disc-down:before { content: "\E003"; }
+.icon-9940-chevron-disc-right:before { content: "\E004"; }
+.icon-9941-chevron-disc-up:before { content: "\E005"; }
+.icon-9942-chevron-double-left:before { content: "\E006"; }
+.icon-9943-chevron-double-right:before { content: "\E007"; }
+.icon-9944-chevron-left:before { content: "\E008"; }
+.icon-9945-chevron-down:before { content: "\E009"; }
+.icon-9946-chevron-right:before { content: "\E00A"; }
+.icon-9947-chevron-up:before { content: "\E00B"; }
+.icon-9948-caret-left:before { content: "\E00C"; }
+.icon-9949-caret-down:before { content: "\E00D"; }
+.icon-9950-caret-right:before { content: "\E00E"; }
+.icon-9951-caret-up:before { content: "\E00F"; }
+.icon-9952-twistie-left:before { content: "\E010"; }
+.icon-9953-twistie-down:before { content: "\E011"; }
+.icon-9954-twistie-right:before { content: "\E012"; }
+.icon-9955-twistie-up:before { content: "\E013"; }
+.icon-9956-pin:before { content: "\E014"; }
+.icon-9957-comments-starred:before { content: "\E015"; }
+.icon-9958-comments:before { content: "\E016"; }
+.icon-9959-comment-pinned:before { content: "\E017"; }
+.icon-9960-comment-locked:before { content: "\E018"; }
+.icon-9961-comment-starred:before { content: "\E019"; }
+.icon-9962-comment:before { content: "\E01A"; }
+.icon-9963-picture:before { content: "\E01B"; }
+.icon-9964-file:before { content: "\E01C"; }
+.icon-9965-eye:before { content: "\E01D"; }
+.icon-9965-lock-open:before { content: "\E01E"; }
+.icon-9966-lock:before { content: "\E01F"; }
+.icon-9967-loupe:before { content: "\E020"; }
+.icon-9968-push-left:before { content: "\E021"; }
+.icon-9969-push-down:before { content: "\E022"; }
+.icon-9970-push-right:before { content: "\E023"; }
+.icon-9971-push-up:before { content: "\E024"; }
+.icon-9972-questionmark-disc:before { content: "\E025"; }
+.icon-9973-piechart:before { content: "\E026"; }
+.icon-9974-barchart:before { content: "\E027"; }
+.icon-9975-wrench:before { content: "\E028"; }
+.icon-9976-puzzlepiece:before { content: "\E029"; }
+.icon-9977-paintbrush:before { content: "\E02A"; }
+.icon-9978-orgchart:before { content: "\E02B"; }
+.icon-9979-capital-sans:before { content: "\E02C"; }
+.icon-9980-capital-serif:before { content: "\E02D"; }
+.icon-9981-link:before { content: "\E02E"; }
+.icon-9982-cog:before { content: "\E02F"; }
+.icon-9983-move-v:before { content: "\E030"; }
+.icon-9984-move-h:before { content: "\E031"; }
+.icon-9985-move:before { content: "\E032"; }
+.icon-9986-minus:before { content: "\E033"; }
+.icon-9987-plus:before { content: "\E034"; }
+.icon-9988-ex:before { content: "\E035"; }
+.icon-9989-ex-disc:before { content: "\E036"; }
+.icon-9990-warning:before { content: "\E037"; }
+.icon-9991-check:before { content: "\E038"; }
+.icon-9992-pencil:before { content: "\E039"; }
+.icon-9993-people:before { content: "\E03A"; }
+.icon-9994-person:before { content: "\E03B"; }
+.icon-9995-star-empty:before { content: "\E03C"; }
+.icon-9996-star:before { content: "\E03D"; }
+.icon-9997-hamburger-list:before { content: "\E03E"; }
+.icon-9998-hamburger:before { content: "\E03F"; }
+.icon-9999-house:before { content: "\E040"; }

BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/fonts/libricons.ttf


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/fonts/libricons.woff


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/fonts/libricons.woff2


+ 18 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/icon_load.js

@@ -0,0 +1,18 @@
+(function (drupalSettings) {
+
+  'use strict';
+
+  Drupal.behaviors.ToolbarThemesGruniticonLoad = {
+    attach: function () {
+      var path = drupalSettings.toolbar.path;
+      grunticon([
+        path + "/themes/base/grunticons/processed/icons.data.svg.css",
+        path + "/themes/base/grunticons/processed/icons.data.png.css",
+        path + "/themes/base/grunticons/processed/icons.fallback.css"
+        ],
+        grunticon.svgLoadedCallback
+      );
+    }
+  };
+
+})(drupalSettings);

+ 1 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-admin-toolbar-tools-help.svg

@@ -0,0 +1 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M 13.651 2.349 C 12.14 0.838 10.133 0 8 0 C 3.593 0 0 3.593 0 8 C 0 12.407 3.593 16 8 16 C 12.407 16 16 12.407 16 8 C 16 5.867 15.162 3.86 13.651 2.349 Z M 8 13.193 C 5.587 13.193 3.619 11.225 3.619 8.813 C 3.619 6.768 4.99 5.397 6.197 4.19 C 6.997 3.39 7.772 2.616 8 1.753 C 8.229 2.616 8.99 3.39 9.803 4.19 C 11.01 5.397 12.381 6.768 12.381 8.813 C 12.381 11.225 10.413 13.193 8 13.193 Z"/></svg>

+ 2 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-edit.svg

@@ -0,0 +1,2 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g><path d="M14.545 3.042l-1.586-1.585c-.389-.389-1.025-.389-1.414 0l-1.293 1.293 3 3 1.293-1.293c.389-.389.389-1.026 0-1.415z"/><rect x="5.129" y="3.8" transform="matrix(-.707 -.707 .707 -.707 6.189 20.064)" width="4.243" height="9.899"/><path d="M.908 14.775c-.087.262.055.397.316.312l2.001-.667-1.65-1.646-.667 2.001z"/></g></svg>
+

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-entity-user-collection.svg


+ 1 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-escape-admin.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8.002 1c-3.868 0-7.002 3.133-7.002 7 0 3.865 3.134 7 7.002 7 3.865 0 7-3.135 7-7 0-3.867-3.135-7-7-7zm2.348 10.482l-.977.977c-.195.193-.514.193-.707 0l-4.108-4.105c-.194-.195-.194-.514 0-.708l4.108-4.105c.193-.194.512-.194.707 0l.979.977c.191.194.191.513 0 .707l-2.422 2.421c-.195.194-.195.515 0 .708l2.419 2.421c.196.19.196.512.001.707z"/></svg>

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-help-main.svg


File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-help.svg


+ 1 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-home.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><polygon points="8.002,0 0,8 1,9 2,9 2,15 6.5,15 6.5,10 9.502,10 9.502,15 14.002,15 14.002,9 15.002,9 16.002,8"/></svg>

+ 1 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-link-toolbar-menu.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8.002 1c-3.868 0-7.002 3.135-7.002 7 0 3.867 3.134 7 7.002 7 3.865 0 7-3.133 7-7 0-3.865-3.135-7-7-7zm3.441 7.357l-4.106 4.104c-.194.191-.514.191-.708 0l-.978-.979c-.194-.193-.194-.518 0-.707l2.423-2.421c.195-.195.195-.514 0-.708l-2.422-2.421c-.194-.194-.194-.513 0-.707l.977-.977c.194-.194.514-.194.708 0l4.106 4.108c.191.194.191.515 0 .708z"/></svg>

+ 1 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-menu.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g><path d="M14.752 6h-13.502c-.69 0-1.25.56-1.25 1.25v.5c0 .689.56 1.25 1.25 1.25h13.502c.689 0 1.25-.561 1.25-1.25v-.5c0-.69-.561-1.25-1.25-1.25zM14.752 0h-13.502c-.69 0-1.25.56-1.25 1.25v.5c0 .69.56 1.25 1.25 1.25h13.502c.689 0 1.25-.56 1.25-1.25v-.5c0-.69-.561-1.25-1.25-1.25zM14.752 12h-13.502c-.69 0-1.25.561-1.25 1.25v.5c0 .689.56 1.25 1.25 1.25h13.502c.689 0 1.25-.561 1.25-1.25v-.5c0-.689-.561-1.25-1.25-1.25z"/></g></svg>

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-shortcut.svg


+ 1 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-system-admin-config.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M14.416 11.586l-.01-.008v-.001l-5.656-5.656c.15-.449.252-.921.252-1.421 0-2.485-2.016-4.5-4.502-4.5-.505 0-.981.102-1.434.255l2.431 2.431-.588 2.196-2.196.588-2.445-2.445c-.162.464-.268.956-.268 1.475 0 2.486 2.014 4.5 4.5 4.5.5 0 .972-.102 1.421-.251l5.667 5.665c.781.781 2.047.781 2.828 0s.781-2.047 0-2.828z"/></svg>

+ 1 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-system-admin-content.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g><path d="M12.502 7h-5c-.276 0-.502-.225-.502-.5v-5c0-.275-.225-.5-.5-.5h-3c-.275 0-.5.225-.5.5v12.029c0 .275.225.5.5.5h9.002c.275 0 .5-.225.5-.5v-6.029c0-.275-.225-.5-.5-.5zM8.502 6h4c.275 0 .34-.159.146-.354l-4.293-4.292c-.195-.195-.353-.129-.353.146v4c0 .275.225.5.5.5z"/></g></svg>

+ 1 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-system-admin-reports.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g><path d="M4 13.529c0 .275-.225.5-.5.5h-3c-.275 0-.5-.225-.5-.5v-4.25c0-.274.225-.5.5-.5h3c.275 0 .5.226.5.5v4.25zM10.002 13.529c0 .275-.225.5-.5.5h-3.002c-.275 0-.5-.225-.5-.5v-13c0-.275.225-.5.5-.5h3.002c.275 0 .5.225.5.5v13zM16.002 13.529c0 .275-.225.5-.5.5h-3c-.275 0-.5-.225-.5-.5v-9.5c0-.275.225-.5.5-.5h3c.275 0 .5.225.5.5v9.5z"/></g></svg>

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-system-admin-structure.svg


File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-system-modules-list.svg


File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-system-themes-page.svg


File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-toolbar-menu.svg


File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/original/toolbar-icon-user.svg


File diff suppressed because it is too large
+ 2 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/grunticon.loader.js


File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/icons.data.png.css


File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/icons.data.png.css.map


File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/icons.data.svg.css


File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/icons.data.svg.css.map


+ 46 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/icons.fallback.css

@@ -0,0 +1,46 @@
+.toolbar-handle { background-image: url('png/toolbar-handle.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-admin-toolbar-tools-help { background-image: url('png/toolbar-icon-admin-toolbar-tools-help.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-edit { background-image: url('png/toolbar-icon-edit.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-entity-user-collection { background-image: url('png/toolbar-icon-entity-user-collection.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-escape-admin { background-image: url('png/toolbar-icon-escape-admin.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-help-main { background-image: url('png/toolbar-icon-help-main.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-help { background-image: url('png/toolbar-icon-help.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-home { background-image: url('png/toolbar-icon-home.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-link-toolbar-menu { background-image: url('png/toolbar-icon-link-toolbar-menu.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-menu { background-image: url('png/toolbar-icon-menu.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-shortcut { background-image: url('png/toolbar-icon-shortcut.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-system-admin-config { background-image: url('png/toolbar-icon-system-admin-config.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-system-admin-content { background-image: url('png/toolbar-icon-system-admin-content.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-system-admin-reports { background-image: url('png/toolbar-icon-system-admin-reports.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-system-admin-structure { background-image: url('png/toolbar-icon-system-admin-structure.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-system-modules-list { background-image: url('png/toolbar-icon-system-modules-list.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-system-themes-page { background-image: url('png/toolbar-icon-system-themes-page.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-toggle-horizontal { background-image: url('png/toolbar-icon-toggle-horizontal.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-toggle-orientation { background-image: url('png/toolbar-icon-toggle-orientation.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-toggle-vertical { background-image: url('png/toolbar-icon-toggle-vertical.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-toolbar-menu { background-image: url('png/toolbar-icon-toolbar-menu.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-tour { background-image: url('png/toolbar-icon-tour.png'); background-repeat: no-repeat; }
+
+.toolbar-icon-user { background-image: url('png/toolbar-icon-user.png'); background-repeat: no-repeat; }
+/*# sourceMappingURL=icons.fallback.css.map */

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/icons.fallback.css.map


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-handle.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-admin-toolbar-tools-help.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-edit.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-entity-user-collection.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-escape-admin.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-help-main.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-help.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-home.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-link-toolbar-menu.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-menu.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-shortcut.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-system-admin-config.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-system-admin-content.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-system-admin-reports.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-system-admin-structure.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-system-modules-list.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-system-themes-page.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-toggle-horizontal.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-toggle-orientation.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-toggle-vertical.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-toolbar-menu.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-tour.png


BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/png/toolbar-icon-user.png


File diff suppressed because it is too large
+ 15 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/grunticons/processed/preview.html


+ 93 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/templates/toolbar-themes--base-menu.html.twig

@@ -0,0 +1,93 @@
+{#
+/**
+ * Toolbar themes theme implementation to display a toolbar menu.
+ *
+ * Available variables:
+ * - menu_name: The machine name of the menu.
+ * - items: A nested list of menu items. Each menu item contains:
+ *   - attributes: HTML attributes for the menu item.
+ *   - below: The menu item child items.
+ *   - title: The menu link title.
+ *   - url: The menu link url, instance of \Drupal\Core\Url
+ *   - localized_options: Menu link localized options.
+ *   - is_expanded: TRUE if the link has visible children within the current
+ *     menu tree.
+ *   - is_collapsed: TRUE if the link has children within the current menu tree
+ *     that are not currently visible.
+ *   - in_active_trail: TRUE if the link is in the active trail.
+ * - show_icon: bool to show or hide icon markup.
+ *
+ * @ingroup themeable
+ */
+#}
+{%- import _self as menus -%}
+{#
+  We call a macro which calls itself to render the full tree.
+  @see http://twig.sensiolabs.org/doc/tags/macro.html
+#}
+{{- menus.menu_links(items, attributes, 0, menu_name) -}}
+
+{%- macro menu_links(items, attributes, menu_level, menu_name) -%}
+  {%- import _self as menus -%}
+
+  {% if items %}
+    <ul
+      {%- if menu_level == 0 -%}
+        {{ attributes.addClass(['toolbar-menu', 'odd', 'menu-level-1', menu_name ? 'menu-name--' ~ menu_name|clean_class ]) }}
+      {%- else %}
+        class="toolbar-menu is-child {{ cycle(['odd', 'even'], menu_level) }} {{ 'menu-level-' ~ (menu_level + 1) }}"
+      {%- endif -%}
+    >
+
+      {# Begin loop. #}
+      {% for item in items %}
+
+        {% if item.below is not empty %}
+          {% set is_parent = true %}
+        {% else %}
+          {% set is_parent = false %}
+        {% endif %}
+
+        {%
+          set item_classes = [
+            'menu-item',
+            is_parent ? 'is-parent',
+            item.is_expanded ? 'menu-item--expanded',
+            item.is_collapsed ? 'menu-item--collapsed',
+            item.in_active_trail ? 'menu-tem--active-trail',
+          ]
+        %}
+
+        {# We set an id on list items to provide context for aria attributes. #}
+        <li{{ item.attributes.addClass(item_classes).setAttribute('id', 'mlid-' ~ item.title|render|clean_class)|without('role') }}>
+          {{
+            link(
+              item.title,
+              item.url
+            )
+          }}
+
+          {%- if item.show_icon -%}
+            {%- if item.icon_attributes -%}
+              <i{{ item.icon_attributes.setAttribute('data-grunticon-embed', '') }}></i>
+            {%- endif -%}
+          {%- endif -%}
+
+          {% if item.below %}
+            {{
+              menus.menu_links(
+                item.below,
+                attributes,
+                menu_level + 1,
+                menu_name
+              )
+            }}
+          {% endif %}
+        </li>
+
+      {%- endfor -%}
+      {# End loop. #}
+
+    </ul>
+  {% endif %}
+{%- endmacro -%}

+ 61 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/base/templates/toolbar-themes--base-toolbar.html.twig

@@ -0,0 +1,61 @@
+{#
+/**
+ * Toolbar themes implementation for the administrative toolbar.
+ *
+ * Available variables:
+ * - attributes: HTML attributes for the wrapper.
+ * - toolbar_attributes: HTML attributes to apply to the toolbar.
+ * - toolbar_heading: The heading or label for the toolbar.
+ * - tabs: List of tabs for the toolbar.
+ *   - attributes: HTML attributes for the tab container.
+ *   - link: Link or button for the menu tab.
+ *   - icon_attributes: tab icon classes and attributes to style SVG grunticons.
+ * - trays: Toolbar tray list, each associated with a tab. Each tray in trays
+ *   contains:
+ *   - attributes: HTML attributes to apply to the tray.
+ *   - label: The tray's label.
+ *   - links: The tray menu links.
+ * - remainder: Any non-tray, non-tab elements left to be rendered.
+ * - show_icons: bool to show or hide icon markup.
+ *
+ * @see toobar_themes_preprocess_toolbar()
+ *
+ * @ingroup themeable
+ */
+#}
+<div{{ attributes.addClass('toolbar') }}>
+  {%
+    set classes = [
+      'toolbar-bar',
+      show_icons ? 'has-icons' : 'no-icons',
+      show_tabs ? 'has-tabs' : 'no-tabs',
+    ]
+  %}
+  <nav{{ toolbar_attributes.addClass(classes) }}>
+    <h2 class="visually-hidden">{{ toolbar_heading }}</h2>
+    {% for key, tab in tabs %}
+      {% set tray = trays[key] %}
+      <div{{ tab.attributes.addClass('toolbar-tab') }}>
+        <span class="toolbar-tab__items-wrapper">
+          {{- tab.link -}}
+          {%- if show_icons and show_tabs -%}
+            {%- if tab.icon_attributes -%}
+              <i{{ tab.icon_attributes.setAttribute('data-grunticon-embed', '') }}></i>
+            {%- endif -%}
+          {%- endif -%}
+        </span>
+        {% spaceless %}
+          <div{{ tray.attributes }}>
+            {% if tray.label %}
+              <h3 class="toolbar-tray-name visually-hidden">{{ tray.label }}</h3>
+            {% endif %}
+            <nav class="toolbar-lining clearfix" role="navigation"{% if tray.label %} aria-label="{{ tray.label }}{% endif %}">
+              {{ tray.links }}
+            </nav>
+          </div>
+        {% endspaceless %}
+      </div>
+    {% endfor %}
+  </nav>
+  {{ remainder }}
+</div>

+ 5 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/mini/_variables.scss

@@ -0,0 +1,5 @@
+// Toolbar mini SCSS variables.
+
+$font-size                        : 0.8125rem;
+$tab-item-height                  : $font-size * 2;
+$toolbar-item-padding             : 0.3em 0.95em .2em;

+ 43 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/mini/mini_icons.css

@@ -0,0 +1,43 @@
+/**
+ * mini_icons
+ */
+#toolbar-administration .toolbar-tab__items-wrapper .toolbar-icon {
+  fill: #bebebe;
+  top: .07em;
+}
+
+#toolbar-administration .toolbar-tab__items-wrapper .toolbar-icon-menu {
+  width: 0.875em;
+}
+
+#toolbar-administration .toolbar-tab__items-wrapper a:hover .toolbar-icon, #toolbar-administration .toolbar-tab__items-wrapper a:active .toolbar-icon, #toolbar-administration .toolbar-tab__items-wrapper a.is-active .toolbar-icon,
+#toolbar-administration .toolbar-tab__items-wrapper button:hover .toolbar-icon,
+#toolbar-administration .toolbar-tab__items-wrapper button:active .toolbar-icon,
+#toolbar-administration .toolbar-tab__items-wrapper button.is-active .toolbar-icon {
+  fill: #ffffff;
+}
+
+@media only screen and (max-width: 24em) {
+  #toolbar-administration .home-toolbar-tab,
+  #toolbar-administration .tour-toolbar-tab,
+  #toolbar-administration .toolbar-tab__items-wrapper .toolbar-icon {
+    display: none;
+  }
+}
+
+#toolbar-administration .toolbar-menu a {
+  fill: #6f6f6f;
+}
+
+#toolbar-administration .toolbar-menu a:hover, #toolbar-administration .toolbar-menu a:focus, #toolbar-administration .toolbar-menu a:active, #toolbar-administration .toolbar-menu a.is-active {
+  fill: #494949;
+}
+
+#toolbar-administration .toolbar-menu a.is-active[href="/"] {
+  fill: #6f6f6f;
+}
+
+#toolbar-administration .toolbar-menu a:hover[href="/"], #toolbar-administration .toolbar-menu a:focus[href="/"], #toolbar-administration .toolbar-menu a:active[href="/"] {
+  fill: #494949;
+}
+/*# sourceMappingURL=mini_icons.css.map */

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/mini/mini_icons.css.map


+ 80 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/mini/mini_icons.scss

@@ -0,0 +1,80 @@
+/**
+ * mini_icons
+ */
+
+// Most icons are embedded SVG. Icons are embedded using Grunticon. We are using
+// the original SVG icons from Drupal core, however the width and height
+// attribute have been replaced with a viewBox attribute so we can scale them
+// properly with CSS. Embedded SVG has the advantage of being styled with CSS,
+// and by using Grunticon JS loading we negate most of the bloat and overhead
+// associated with embedding SVG files. For the buttons (orientation toggles &
+// menu click handles), and for sub-menu indicators we use a custom font icon
+// that is tiny and only includes four icons. We rotate and color these in CSS
+// as required.
+
+#toolbar-administration {
+
+  i.toolbar-icon {}
+
+  // Top level icons.
+  .toolbar-tab__items-wrapper {
+    .toolbar-icon {
+      fill: #bebebe;
+      top: .07em;
+    }
+
+    .toolbar-icon-menu {
+      width: 0.875em;
+    }
+
+    a,
+    button {
+      &:hover,
+      &:active,
+      &.is-active {
+        .toolbar-icon {
+          fill: #ffffff;
+        }
+      }
+    }
+  }
+
+  @media only screen and (max-width: 24em) {
+    // Toolbar-themes module cannot hide the text, so instead we remove the
+    // icons and other redundant tabs in narrow screens.
+    .home-toolbar-tab,
+    .tour-toolbar-tab,
+    .toolbar-tab__items-wrapper .toolbar-icon {
+      display: none;
+    }
+  }
+
+
+  // Main menu icons.
+  .toolbar-menu {
+    a {
+      fill: #6f6f6f;
+
+      &:hover,
+      &:focus,
+      &:active,
+      &.is-active {
+        fill: #494949;
+      }
+
+      &.is-active[href="/"] {
+        fill: #6f6f6f;
+      }
+
+      &:hover,
+      &:focus,
+      &:active {
+        &[href="/"] {
+          fill: #494949;
+        }
+      }
+    }
+  }
+}
+
+

+ 373 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/mini/mini_theme.css

@@ -0,0 +1,373 @@
+/**
+ * mini_theme
+ * Theme styles for menus and other toolbar elements. SVG icons are styled in
+ * the [theme]_icons.scss file, while click handles, e.g. origination buttons
+ * are styled here.
+ */
+#toolbar-administration {
+  font-family: "Lucida Grande", "Lucida Sans Unicode", "DejaVu Sans", "Lucida Sans", arial, sans-serif;
+  font-weight: 400;
+  font-size: 0.8125rem;
+  height: 3.25rem;
+  background-color: #0f0f0f;
+  -webkit-tap-highlight-color: transparent;
+}
+
+#toolbar-administration .toolbar-tab a:hover, #toolbar-administration .toolbar-tab a:focus,
+#toolbar-administration .toolbar-item a:hover,
+#toolbar-administration .toolbar-item a:focus {
+  text-decoration: none;
+}
+
+.toolbar-vertical #toolbar-administration,
+.toolbar-no-tabs #toolbar-administration,
+#toolbar-administration .toolbar-tab,
+#toolbar-administration .toolbar-tray {
+  height: 1.625rem;
+}
+
+#toolbar-administration .toolbar-tray {
+  top: 1.625rem;
+}
+
+#toolbar-administration .toolbar-tab a:hover, #toolbar-administration .toolbar-tab a:focus,
+#toolbar-administration .toolbar-item a:hover,
+#toolbar-administration .toolbar-item a:focus {
+  text-decoration: none;
+  outline: none;
+}
+
+#toolbar-administration .toolbar-item {
+  padding: 0.3em 0.95em 0.2em;
+}
+
+#toolbar-administration .toolbar__link-label {
+  font-size: 1em;
+}
+
+#toolbar-administration .toolbar-bar {
+  -webkit-box-shadow: -1px 0 3px 1px rgba(0, 0, 0, 0.3333);
+          box-shadow: -1px 0 3px 1px rgba(0, 0, 0, 0.3333);
+  background-color: #0f0f0f;
+  color: #dddddd;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-bar {
+  -webkit-box-shadow: 1px 0 3px 1px rgba(0, 0, 0, 0.3333);
+          box-shadow: 1px 0 3px 1px rgba(0, 0, 0, 0.3333);
+}
+
+#toolbar-administration .toolbar-bar .toolbar-item {
+  color: #d8d8d8;
+}
+
+#toolbar-administration .toolbar-bar .toolbar-item:hover, #toolbar-administration .toolbar-bar .toolbar-item:focus, #toolbar-administration .toolbar-bar .toolbar-item:active, #toolbar-administration .toolbar-bar .toolbar-item.is-active {
+  color: #ffffff;
+}
+
+#toolbar-administration .toolbar-bar .toolbar-tab a:hover, #toolbar-administration .toolbar-bar .toolbar-tab a:focus {
+  background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.125) 20%, transparent 200%);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(255, 255, 255, 0.125)), color-stop(200%, transparent));
+  background-image: -o-linear-gradient(rgba(255, 255, 255, 0.125) 20%, transparent 200%);
+  background-image: linear-gradient(rgba(255, 255, 255, 0.125) 20%, transparent 200%);
+}
+
+#toolbar-administration .toolbar-bar .toolbar-tab a.is-active {
+  background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%);
+  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(255, 255, 255, 0.25)), color-stop(200%, transparent));
+  background-image: -o-linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%);
+  background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%);
+}
+
+#toolbar-administration .toolbar-bar .tour-toolbar-tab.toolbar-tab {
+  float: none;
+}
+
+#toolbar-administration .toolbar-bar .tour-toolbar-tab button.toolbar-item {
+  padding: 0.3em 0.95em 0.2em;
+}
+
+#toolbar-administration .toolbar-tray {
+  background-color: #ffffff;
+}
+
+#toolbar-administration .toolbar-tray-vertical {
+  background-color: #f5f5f5;
+  border-right: 1px solid #aaaaaa;
+  -webkit-box-shadow: -1px 0 5px 2px rgba(0, 0, 0, 0.3333);
+          box-shadow: -1px 0 5px 2px rgba(0, 0, 0, 0.3333);
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-tray-vertical {
+  border-left: 1px solid #aaaaaa;
+  border-right: 0 none;
+  -webkit-box-shadow: 1px 0 5px 2px rgba(0, 0, 0, 0.3333);
+          box-shadow: 1px 0 5px 2px rgba(0, 0, 0, 0.3333);
+}
+
+#toolbar-administration .toolbar-tray-horizontal {
+  border-bottom: 1px solid #aaaaaa;
+  -webkit-box-shadow: -2px 1px 3px 1px rgba(0, 0, 0, 0.3333);
+          box-shadow: -2px 1px 3px 1px rgba(0, 0, 0, 0.3333);
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-tray {
+  background-color: #f5f5f5;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-tray-horizontal {
+  -webkit-box-shadow: 2px 1px 3px 1px rgba(0, 0, 0, 0.3333);
+          box-shadow: 2px 1px 3px 1px rgba(0, 0, 0, 0.3333);
+}
+
+#toolbar-administration .toolbar-tray-horizontal .edit-shortcuts {
+  float: none;
+  position: absolute;
+  right: 2.2em;
+  top: 0;
+}
+
+#toolbar-administration .no-tabs .toolbar-tray-horizontal {
+  border-top: 0;
+  -webkit-box-shadow: none;
+          box-shadow: none;
+}
+
+#toolbar-administration .toolbar-tray a {
+  color: #6f6f6f;
+  cursor: pointer;
+  padding: 0.3em 0.95em 0.2em;
+}
+
+#toolbar-administration .toolbar-tray a:hover, #toolbar-administration .toolbar-tray a:active, #toolbar-administration .toolbar-tray a:focus, #toolbar-administration .toolbar-tray a.is-active {
+  color: #494949;
+}
+
+#toolbar-administration .toolbar-tray a.is-active[href="/"] {
+  color: #6f6f6f;
+}
+
+#toolbar-administration .toolbar-toggle-orientation {
+  background-color: transparent;
+  padding: 0;
+  height: 100%;
+}
+
+#toolbar-administration .toolbar-toggle-orientation button {
+  cursor: pointer;
+  display: inline-block;
+}
+
+#toolbar-administration .toolbar-toggle-orientation > .toolbar-lining {
+  float: right;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-toggle-orientation > .toolbar-lining {
+  float: left;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-toggle-orientation {
+  border-left: 1px solid #c9c9c9;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-tray-horizontal .toolbar-toggle-orientation {
+  border-left: 0 none;
+  border-right: 1px solid #c9c9c9;
+}
+
+#toolbar-administration .toolbar-tab a:focus {
+  outline: none;
+  text-decoration: none;
+}
+
+#toolbar-administration .toolbar-lining button:focus {
+  outline: none;
+}
+
+#toolbar-administration .toolbar-tray-horizontal a:focus {
+  outline: none;
+  background-color: #f5f5f5;
+}
+
+#toolbar-administration .toolbar-box a:focus {
+  outline: none;
+}
+
+#toolbar-administration .toolbar-box a:hover:focus {
+  text-decoration: none;
+}
+
+#toolbar-administration .toolbar-icon.toolbar-handle {
+  width: 4em;
+}
+
+#toolbar-administration .toolbar-icon.toolbar-handle:focus {
+  outline: none;
+}
+
+#toolbar-administration .toolbar-icon.toolbar-handle:before {
+  color: #bebebe;
+}
+
+#toolbar-administration .toolbar-icon.toolbar-handle.open:before {
+  color: #787878;
+}
+
+#toolbar-administration .toolbar-toggle-orientation button.toolbar-icon:after, #toolbar-administration .toolbar-toggle-orientation button.toolbar-icon:before {
+  color: #bebebe;
+}
+
+#toolbar-administration .toolbar-toggle-orientation button.toolbar-icon:hover:after, #toolbar-administration .toolbar-toggle-orientation button.toolbar-icon:focus:before {
+  color: #787878;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu .menu-item--expanded > a:after,
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration > .toolbar-menu .toolbar-menu .menu-item--expanded .toolbar-box > a:after {
+  color: #bebebe;
+}
+
+#toolbar-administration .toolbar-menu {
+  background-color: #ffffff;
+}
+
+#toolbar-administration .toolbar-menu,
+#toolbar-administration [dir="rtl"] .toolbar-menu {
+  list-style: none;
+  margin: 0;
+  padding: 0;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration .toolbar-menu .toolbar-menu {
+  -webkit-box-shadow: 0 2px 1px 1px rgba(0, 0, 0, 0.255);
+          box-shadow: 0 2px 1px 1px rgba(0, 0, 0, 0.255);
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration .toolbar-menu .toolbar-menu .menu-item {
+  border-top: 1px solid #ffffff;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration .toolbar-menu .toolbar-menu .menu-item:first-child {
+  border-top-color: #dddddd;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration .toolbar-menu .toolbar-menu .toolbar-menu {
+  -webkit-box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.255);
+          box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.255);
+}
+
+#toolbar-administration .toolbar-tray-horizontal .toolbar-menu-administration .toolbar-menu .toolbar-menu > .menu-item--expanded > .toolbar-menu {
+  top: -1px;
+}
+
+#toolbar-administration .toolbar-tray-horizontal .menu-item .menu-item:hover, #toolbar-administration .toolbar-tray-horizontal .menu-item .menu-item:focus {
+  background-color: #f5f5f5;
+}
+
+#toolbar-administration .toolbar-tray-vertical {
+  height: 100%;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu ul {
+  display: none;
+}
+
+#toolbar-administration .toolbar-tray-vertical li.open > ul {
+  display: block;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-handle + a {
+  margin-right: 3em;
+}
+
+[dir="rtl"] #toolbar-administration .toolbar-tray-vertical .toolbar-handle + a {
+  margin-left: 3em;
+  margin-right: 0;
+}
+
+#toolbar-administration .toolbar-tray-vertical .menu-item + .menu-item {
+  border-top: 1px solid #dddddd;
+}
+
+#toolbar-administration .toolbar-tray-vertical .menu-item:last-child {
+  border-bottom: 1px solid #dddddd;
+}
+
+#toolbar-administration .toolbar-tray-vertical .menu-item .menu-item {
+  border: 0 none;
+}
+
+#toolbar-administration .toolbar-tray-vertical .toolbar-menu ul ul {
+  border-bottom: 1px solid #dddddd;
+  border-top: 1px solid #dddddd;
+}
+
+#toolbar-administration .toolbar-tray-vertical .menu-item:last-child > ul {
+  border-bottom: 0;
+}
+
+#toolbar-administration .toolbar-tray-vertical .level-2 > ul {
+  background-color: #fafafa;
+  border-bottom-color: #cccccc;
+  border-top-color: #e5e5e5;
+}
+
+#toolbar-administration .toolbar-tray-vertical .level-3 > ul {
+  background-color: #f5f5f5;
+  border-bottom-color: #c5c5c5;
+  border-top-color: #dddddd;
+}
+
+#toolbar-administration .toolbar-tray-vertical .level-4 > ul {
+  background-color: #eeeeee;
+  border-bottom-color: #bbbbbb;
+  border-top-color: #d5d5d5;
+}
+
+#toolbar-administration .toolbar-tray-vertical .level-5 > ul {
+  background-color: #e5e5e5;
+  border-bottom-color: #b5b5b5;
+  border-top-color: #cccccc;
+}
+
+#toolbar-administration .toolbar-tray-vertical .level-6 > ul {
+  background-color: #eeeeee;
+  border-bottom-color: #aaaaaa;
+  border-top-color: #c5c5c5;
+}
+
+#toolbar-administration .toolbar-tray-vertical .level-7 > ul {
+  background-color: #fafafa;
+  border-bottom-color: #b5b5b5;
+  border-top-color: #cccccc;
+}
+
+#toolbar-administration .toolbar-tray-vertical .level-8 > ul {
+  background-color: #dddddd;
+  border-bottom-color: #cccccc;
+  border-top-color: #dddddd;
+}
+
+.adminimal.toolbar-tray-open.toolbar-fixed.toolbar-horizontal.toolbar-themes {
+  padding-top: 3rem !important;
+}
+
+.adminimal.toolbar-tray-open.toolbar-fixed.toolbar-horizontal #toolbar-administration {
+  background-color: #333;
+}
+
+.adminimal.toolbar-tray-open.toolbar-fixed.toolbar-horizontal.toolbar-has-tabs #toolbar-administration {
+  min-height: 4em;
+}
+
+.adminimal.toolbar-tray-open.toolbar-fixed.toolbar-horizontal.toolbar-no-tabs #toolbar-administration {
+  min-height: 2.5em;
+}
+
+.adminimal.toolbar-fixed.toolbar-vertical.toolbar-has-tabs, .adminimal.toolbar-tray-open.toolbar-fixed.toolbar-horizontal.toolbar-no-tabs {
+  padding-top: 1.8em !important;
+}
+
+.adminimal.toolbar-fixed.toolbar-vertical.toolbar-no-tabs {
+  padding-top: 0 !important;
+}
+/*# sourceMappingURL=mini_theme.css.map */

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/mini/mini_theme.css.map


+ 450 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/mini/mini_theme.scss

@@ -0,0 +1,450 @@
+/**
+ * mini_theme
+ * Theme styles for menus and other toolbar elements. SVG icons are styled in
+ * the [theme]_icons.scss file, while click handles, e.g. origination buttons
+ * are styled here.
+ */
+// Import global variables.
+@import "variables";
+
+#toolbar-administration {
+  font-family: "Lucida Grande", "Lucida Sans Unicode", "DejaVu Sans", "Lucida Sans", arial, sans-serif;
+  font-weight: 400;
+  font-size: $font-size ;
+  height: $tab-item-height * 2;
+  background-color: #0f0f0f;
+  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+
+  .toolbar-tab,
+  .toolbar-item {
+    a {
+      &:hover,
+      &:focus {
+        text-decoration: none;
+      }
+    }
+  }
+
+  .toolbar-vertical &,
+  .toolbar-no-tabs &,
+  .toolbar-tab,
+  .toolbar-tray {
+    height: $tab-item-height;
+  }
+
+  .toolbar-tray {
+    top: $tab-item-height;
+  }
+
+  .toolbar-tab,
+  .toolbar-item {
+    a {
+      &:hover,
+      &:focus {
+        text-decoration: none;
+        outline: none;
+      }
+    }
+  }
+
+  .toolbar-item {
+    padding: $toolbar-item-padding;
+  }
+
+  .toolbar__link-label {
+    font-size: 1em;
+  }
+
+
+
+  // Toolbar bar.
+  .toolbar-bar {
+    box-shadow: -1px 0 3px 1px rgba(0, 0, 0, 0.3333);
+    background-color: #0f0f0f;
+    color: #dddddd;
+
+    [dir="rtl"] & {
+      box-shadow: 1px 0 3px 1px rgba(0, 0, 0, 0.3333);
+    }
+
+    .toolbar-item {
+      color: #d8d8d8;
+
+      &:hover,
+      &:focus,
+      &:active,
+      &.is-active {
+        color: #ffffff;
+      }
+    }
+
+    .toolbar-tab a {
+      &:hover,
+      &:focus {
+        background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.125) 20%, transparent 200%);
+        background-image: linear-gradient(rgba(255, 255, 255, 0.125) 20%, transparent 200%);
+      }
+
+      &.is-active {
+        background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%);
+        background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%);
+      }
+    }
+
+    // Tour is a button.
+    .tour-toolbar-tab {
+      &.toolbar-tab {
+        float: none; // Override tour module CSS.
+      }
+
+      button.toolbar-item {
+        padding: $toolbar-item-padding;
+      }
+    }
+  }
+
+
+  // Toolbar tray.
+  .toolbar-tray {
+    background-color: #ffffff;
+  }
+
+  .toolbar-tray-vertical {
+    background-color: #f5f5f5;
+    border-right: 1px solid #aaaaaa;
+    box-shadow: -1px 0 5px 2px rgba(0, 0, 0, 0.3333);
+
+    [dir="rtl"] & {
+      border-left: 1px solid #aaaaaa;
+      border-right: 0 none;
+      box-shadow: 1px 0 5px 2px rgba(0, 0, 0, 0.3333);
+    }
+  }
+
+  .toolbar-tray-horizontal {
+    border-bottom: 1px solid #aaaaaa;
+    box-shadow: -2px 1px 3px 1px rgba(0, 0, 0, 0.3333);
+
+    .toolbar-tray {
+      background-color: #f5f5f5;
+    }
+
+    [dir="rtl"] & {
+      box-shadow: 2px 1px 3px 1px rgba(0, 0, 0, 0.3333);
+    }
+
+    .edit-shortcuts {
+      float: none; // Override shortcut module CSS.
+      position: absolute;
+      right: 2.2em;
+      top: 0;
+    }
+  }
+
+  // No tabs, hide the box shadow and border.
+  .no-tabs .toolbar-tray-horizontal {
+    border-top: 0;
+    box-shadow: none;
+  }
+
+  .toolbar-tray a {
+    color: #6f6f6f;
+    cursor: pointer;
+    padding: $toolbar-item-padding;
+
+    &:hover,
+    &:active,
+    &:focus,
+    &.is-active {
+      color: #494949;
+    }
+
+    &.is-active[href="/"] {
+      color: #6f6f6f;
+    }
+  }
+
+  // Orientation toggles and handles
+  .toolbar-toggle-orientation {
+    background-color: transparent;
+    padding: 0;
+    height: 100%;
+
+    button {
+      cursor: pointer;
+      display: inline-block;
+    }
+
+    > .toolbar-lining {
+      float: right;
+
+      [dir="rtl"] & {
+        float: left;
+      }
+    }
+  }
+
+  .toolbar-tray-horizontal .toolbar-toggle-orientation {
+    border-left: 1px solid #c9c9c9;
+
+    [dir="rtl"] & {
+      border-left: 0 none;
+      border-right: 1px solid #c9c9c9;
+    }
+  }
+
+  .toolbar-tab a:focus {
+    outline: none;
+    text-decoration: none;
+  }
+
+  .toolbar-lining button:focus {
+    outline: none;
+  }
+
+  .toolbar-tray-horizontal a:focus {
+    outline: none;
+    background-color: #f5f5f5;
+  }
+
+  .toolbar-box a {
+    &:focus {
+      outline: none;
+    }
+
+    &:hover:focus {
+      text-decoration: none;
+    }
+  }
+
+
+  // Handle.
+  .toolbar-icon.toolbar-handle {
+    width: 4em;
+
+    &:focus {
+      outline: none;
+    }
+  }
+
+  .toolbar-icon.toolbar-handle {
+    &:before {
+      color: #bebebe;
+    }
+
+    &.open {
+      &:before {
+        color: #787878;
+      }
+    }
+  }
+
+  .toolbar-toggle-orientation button.toolbar-icon {
+    &:after,
+    &:before {
+      color: #bebebe;
+    }
+
+    &:hover:after,
+    &:focus:before {
+      color: #787878;
+    }
+  }
+
+  // Vertical.
+  .toolbar-tray-vertical i.toolbar-icon {}
+
+  // Sub-menu indicator in drop menus.
+  .toolbar-tray-horizontal {
+    .toolbar-menu-administration > .toolbar-menu .toolbar-menu {
+      .menu-item--expanded > a,
+      .menu-item--expanded .toolbar-box > a {
+        &:after {
+          color: #bebebe;
+        }
+      }
+    }
+  }
+
+
+  // Menu styles.
+  .toolbar-menu {
+    background-color: #ffffff;
+  }
+
+  .toolbar-menu,
+  [dir="rtl"] .toolbar-menu {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+  }
+
+  .toolbar-tray-horizontal {
+
+    // Sub menus (drop downs)
+    .toolbar-menu-administration {
+      .toolbar-menu .toolbar-menu {
+        box-shadow: 0 2px 1px 1px rgba(0, 0, 0, 0.255);
+
+        .menu-item {
+          border-top: 1px solid #ffffff;
+
+          &:first-child {
+            border-top-color: #dddddd;
+          }
+        }
+
+        // Sub-sub menus
+        .toolbar-menu {
+          box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.255);
+        }
+
+        > .menu-item--expanded > .toolbar-menu {
+          top: -1px;
+        }
+      }
+    }
+
+    .menu-item {
+      + .menu-item {
+        [dir="rtl"] & {}
+
+        &:last-child {
+          [dir="rtl"] & {}
+        }
+      }
+
+      .menu-item {
+        &:last-child {
+          [dir="rtl"] & {}
+        }
+
+        &:hover,
+        &:focus {
+          background-color: #f5f5f5;
+        }
+      }
+    }
+  }
+
+  .toolbar-tray-vertical {
+    height: 100%;
+
+    .toolbar-menu ul {
+      display: none;
+    }
+
+    li.open > ul {
+      display: block;
+    }
+
+    .toolbar-handle + a {
+      margin-right: 3em;
+
+      [dir="rtl"] & {
+        margin-left: 3em;
+        margin-right: 0;
+      }
+    }
+
+    .menu-item {
+      + .menu-item {
+        border-top: 1px solid #dddddd;
+      }
+
+      &:last-child {
+        border-bottom: 1px solid #dddddd;
+      }
+
+      .menu-item {
+        border: 0 none;
+      }
+    }
+
+    .toolbar-menu ul ul {
+      border-bottom: 1px solid #dddddd;
+      border-top: 1px solid #dddddd;
+    }
+
+    .menu-item:last-child > ul {
+      border-bottom: 0;
+    }
+
+    .level-2 > ul {
+      background-color: #fafafa;
+      border-bottom-color: #cccccc;
+      border-top-color: #e5e5e5;
+    }
+
+    .level-3 > ul {
+      background-color: #f5f5f5;
+      border-bottom-color: #c5c5c5;
+      border-top-color: #dddddd;
+    }
+
+    .level-4 > ul {
+      background-color: #eeeeee;
+      border-bottom-color: #bbbbbb;
+      border-top-color: #d5d5d5;
+    }
+
+    .level-5 > ul {
+      background-color: #e5e5e5;
+      border-bottom-color: #b5b5b5;
+      border-top-color: #cccccc;
+    }
+
+    .level-6 > ul {
+      background-color: #eeeeee;
+      border-bottom-color: #aaaaaa;
+      border-top-color: #c5c5c5;
+    }
+
+    .level-7 > ul {
+      background-color: #fafafa;
+      border-bottom-color: #b5b5b5;
+      border-top-color: #cccccc;
+    }
+
+    .level-8 > ul {
+      background-color: #dddddd;
+      border-bottom-color: #cccccc;
+      border-top-color: #dddddd;
+    }
+  }
+}
+
+
+// Support for the Adminimal admin theme.
+.adminimal {
+  &.toolbar-tray-open {
+    &.toolbar-fixed {
+      &.toolbar-horizontal {
+        &.toolbar-themes {
+          padding-top: 3rem !important;
+        }
+
+        #toolbar-administration {
+          background-color: #333;
+        }
+
+        &.toolbar-has-tabs #toolbar-administration {
+          min-height: 4em;
+        }
+
+        &.toolbar-no-tabs #toolbar-administration {
+          min-height: 2.5em;
+        }
+      }
+    }
+  }
+
+  &.toolbar-fixed.toolbar-vertical.toolbar-has-tabs,
+  &.toolbar-tray-open.toolbar-fixed.toolbar-horizontal.toolbar-no-tabs {
+    padding-top: 1.8em !important;
+  }
+
+  &.toolbar-fixed.toolbar-vertical.toolbar-no-tabs {
+    padding-top: 0 !important;
+  }
+}

BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/mini/screenshot.png


+ 36 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/seven/_variables.scss

@@ -0,0 +1,36 @@
+// Seven SCSS variables.
+
+$font-family                      : "Lucida Grande", "Lucida Sans Unicode", "DejaVu Sans", "Lucida Sans", arial, sans-serif;
+$font-size                        : 0.8125rem;
+
+$tap-highlight                    : rgba(0, 0, 0, 0);
+
+$toolbar-bar-color                : #595959;
+$toolbar-bar-background           : #c9c9c2;
+$toolbar-submenu-background-color : #fcfcfc;
+
+$drop-shadows                     : true;
+$drop-shadow-color                : rgba(168, 168, 168, 0.65);
+$border-color                     : #e6e4df;
+
+$tab-item-height                  : $font-size * 2;
+$toolbar-item-padding             : 0.35em 0.95em .2em;
+
+$tab-color                        : #595959;
+$tab-active-color                 : #1a1a1a;
+
+$tray-color                       : #1a1a1a;
+$tray-active                      : #1a1a1a;
+$tray-background                  : #ebebe6;
+
+$tray-vertical-background         : $tray-background;
+$tray-border-color                : #e6e4df;
+
+$drop-menu-border-color           : $border-color;
+$drop-menu-background             : #f5f5f2;
+$sub-menu-indicator               : #ccc;
+
+$toggle-orientation-color         : #bfbfba;
+$toggle-orientation-active        : #1a1a1a;
+$toggle-orientation-border-color  : #bfbfba;
+

BIN
sites/all/modules/contrib/admin/toolbar_themes/themes/seven/screenshot.png


+ 46 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/seven/seven_icons.css

@@ -0,0 +1,46 @@
+/**
+ * seven_icons
+ */
+#toolbar-administration .toolbar-icon {
+  padding: 0 .25em 0 0;
+}
+
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper .toolbar-icon {
+  fill: #595959;
+}
+
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper .toolbar-icon-menu {
+  width: 0.875em;
+}
+
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper a:hover .toolbar-icon, #toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper a:active .toolbar-icon, #toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper a.is-active .toolbar-icon,
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper button:hover .toolbar-icon,
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper button:active .toolbar-icon,
+#toolbar-administration .toolbar-bar .toolbar-tab .toolbar-tab__items-wrapper button.is-active .toolbar-icon {
+  fill: #1a1a1a;
+}
+
+@media only screen and (max-width: 24em) {
+  #toolbar-administration .toolbar-bar .home-toolbar-tab,
+  #toolbar-administration .toolbar-bar .tour-toolbar-tab,
+  #toolbar-administration .toolbar-bar .toolbar-tab__items-wrapper .toolbar-icon {
+    display: none;
+  }
+}
+
+#toolbar-administration .toolbar-menu a {
+  fill: #1a1a1a;
+}
+
+#toolbar-administration .toolbar-menu a:hover, #toolbar-administration .toolbar-menu a:focus, #toolbar-administration .toolbar-menu a:active, #toolbar-administration .toolbar-menu a.is-active {
+  fill: #1a1a1a;
+}
+
+#toolbar-administration .toolbar-menu a.is-active[href="/"] {
+  fill: #1a1a1a;
+}
+
+#toolbar-administration .toolbar-menu a:hover[href="/"], #toolbar-administration .toolbar-menu a:focus[href="/"], #toolbar-administration .toolbar-menu a:active[href="/"] {
+  fill: #1a1a1a;
+}
+/*# sourceMappingURL=seven_icons.css.map */

File diff suppressed because it is too large
+ 0 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/seven/seven_icons.css.map


+ 90 - 0
sites/all/modules/contrib/admin/toolbar_themes/themes/seven/seven_icons.scss

@@ -0,0 +1,90 @@
+/**
+ * seven_icons
+ */
+
+// Import global variables.
+@import "variables";
+
+
+// Most icons are embedded SVG. Icons are embedded using Grunticon. We are using
+// the original SVG icons from Drupal core, however the width and height
+// attribute have been replaced with a viewBox attribute so we can scale them
+// properly with CSS. Embedded SVG has the advantage of being styled with CSS,
+// and by using Grunticon JS loading we negate most of the bloat and overhead
+// associated with embedding SVG files. For the buttons (orientation toggles &
+// menu click handles), and for sub-menu indicators we use a custom font icon
+// that is tiny and only includes four icons. We rotate and color these in CSS
+// as required.
+
+#toolbar-administration {
+
+  .toolbar-icon {
+    padding: 0 .25em 0 0;
+  }
+
+
+  // Top level icons.
+  .toolbar-bar {
+    .toolbar-tab {
+      .toolbar-tab__items-wrapper {
+        .toolbar-icon {
+          fill: $tab-color ;
+        }
+
+        .toolbar-icon-menu {
+          width: 0.875em;
+        }
+
+        a,
+        button {
+          &:hover,
+          &:active,
+          &.is-active {
+            .toolbar-icon {
+              fill: $tab-active-color;
+            }
+          }
+        }
+      }
+    }
+  }
+
+  @media only screen and (max-width: 24em) {
+    // Toolbar-themes module cannot hide the text, so instead we remove the
+    // icons and other redundant tabs in narrow screens.
+    .toolbar-bar .home-toolbar-tab,
+    .toolbar-bar .tour-toolbar-tab,
+    .toolbar-bar .toolbar-tab__items-wrapper .toolbar-icon {
+      display: none;
+    }
+  }
+
+
+  // Main menu icons.
+  .toolbar-menu {
+    a {
+      fill: $tray-color;
+
+      &:hover,
+      &:focus,
+      &:active,
+      &.is-active {
+        fill: $tray-active;
+      }
+
+      &.is-active[href="/"] {
+        fill: $tray-color;
+      }
+
+      &:hover,
+      &:focus,
+      &:active {
+        &[href="/"] {
+          fill: $tray-active;
+        }
+      }
+    }
+  }
+}
+
+

Some files were not shown because too many files changed in this diff