From d9c55f72f6c55ee3586885e3dfd3d0a54bc1f294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?"J.=20Rene=CC=81e=20Beach"?= Date: Tue, 30 Oct 2012 02:40:17 -0400 Subject: [PATCH] Issue #1137920 by jessebeach, kathryn531: Toolbar completely broken for small screen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 5956a884a743c0d89ee6c60f838772a8da5102a1 Author: J. Renée Beach Date: Tue Oct 30 02:39:13 2012 -0400 Issue #1137920 by jessebeach: Fixed a rem vs. em sizing problem with vertical trays. Signed-off-by: J. Renée Beach commit 86933faa1ba8f91193ef84c29dcaa171403453a2 Author: J. Renée Beach Date: Tue Oct 30 02:32:24 2012 -0400 Issue #1137920 by jessebeach: Eliminated the ellipsis of top level menu items in toolbar.base.css. Signed-off-by: J. Renée Beach commit 63dc29df618d2d650b25338464bc11d17af91bd8 Author: J. Renée Beach Date: Tue Oct 30 01:41:24 2012 -0400 Issue #1137920 by jessbeach: Icons are styled. Removing the toolbar.icons.css file removes icon styling. Signed-off-by: J. Renée Beach commit 2fb93b2e9d874ffc583d926c815a1d988ec594d2 Author: J. Renée Beach Date: Tue Oct 30 00:43:07 2012 -0400 Issue #1137920 by jessebeach: Styled the orientation toggle. Signed-off-by: J. Renée Beach commit 18032ad1f9166d9df6ce832d983a96dc280a75e7 Author: J. Renée Beach Date: Tue Oct 30 00:08:36 2012 -0400 Issue #1137920 by jessbeach: Fixed the add shortcut link styling. Signed-off-by: J. Renée Beach commit 81e2fbac1b64731aee409a23707a98e39b4eeaba Author: J. Renée Beach Date: Mon Oct 29 23:59:14 2012 -0400 Issue #1137920 by jessebeach: Vertical menus look phenomenal. Yes! Signed-off-by: J. Renée Beach commit 282d80de77b9089403ea61fd61a9305a76b5c868 Author: J. Renée Beach Date: Mon Oct 29 22:21:20 2012 -0400 Issue #1137920 by jessebeach: Continuing to clean up theme.css. Signed-off-by: J. Renée Beach commit e58a861ac64ad3bee2bea59c691305ecdd18cf86 Author: J. Renée Beach Date: Mon Oct 29 21:48:15 2012 -0400 Issue #1137920 by jessebeach: Intermediate theme.css checkin. Signed-off-by: J. Renée Beach commit 2df506f7309fcb05cb003cc139b482543edd3b0b Author: J. Renée Beach Date: Mon Oct 29 19:07:11 2012 -0400 Issue #1137920 by jessbeach: Fixed the micro-width step. Signed-off-by: J. Renée Beach commit e92681beab6135802e175775788df4c7a29c5399 Author: J. Renée Beach Date: Mon Oct 29 18:32:11 2012 -0400 Issue #1137920 by jessbeach: Removed scoping to .js. Added .toolbar-main to the #toolbar with JavaScript. Now using that as a means to differentiate js/non-js styling. Signed-off-by: J. Renée Beach commit de84a4a360cd16a4ec5b5dc79f97db73481378c6 Author: J. Renée Beach Date: Mon Oct 29 18:29:01 2012 -0400 Issue #1137920 by jessebeach: Moved icon CSS selectors into their own file. Signed-off-by: J. Renée Beach commit 34be9e41506f93adbda93bad379e748382217f0c Author: J. Renée Beach Date: Mon Oct 29 17:09:37 2012 -0400 Issue #1137920 by jessbeach: more bar tab styling. Signed-off-by: J. Renée Beach commit 92cc122e3fee2705659c69a64179c9603132798f Author: J. Renée Beach Date: Mon Oct 29 16:50:34 2012 -0400 Issue #1137920 by jessebeach: Styled the active state of the main bar tabs. Signed-off-by: J. Renée Beach commit 6e8edc2f9f5ddce5b684575f1808f51b35cb6156 Author: J. Renée Beach Date: Mon Oct 29 16:28:03 2012 -0400 Issue #1137920 by jessebeach: Fixed the active/inactive icons for the bar icons. Signed-off-by: J. Renée Beach commit 709fed08e3195e4da1dab86bc2056e7fd4a5276f Author: J. Renée Beach Date: Mon Oct 29 15:42:09 2012 -0400 Issue #1137920 by jessebeach: theme.css styling. Signed-off-by: J. Renée Beach commit 5b534aa1a4f4ec100a33fcdba2bb025b19bdf246 Author: J. Renée Beach Date: Mon Oct 29 15:23:47 2012 -0400 Issue #1137920 by jessebeach: Cleaned up the toolbar.base.css file. Signed-off-by: J. Renée Beach commit 3658a9c46d047b1036a3b81d960c70e7cde72383 Author: J. Renée Beach Date: Sun Oct 28 14:12:11 2012 -0400 Issue #1137920 by jessebeach: renamed "administration" menu to "admin" because of a core change. Signed-off-by: J. Renée Beach commit df334f49850bc6673165f7074daec0fec332cf5f Author: J. Renée Beach Date: Sun Oct 28 11:07:39 2012 -0400 Issue #1137920 by jessebeach: Continuing to fix CSS problems as they arise. Signed-off-by: J. Renée Beach commit fe38699014327487c9fd78e7275eaa8e22c7cdac Author: J. Renée Beach Date: Sat Oct 27 18:04:22 2012 -0400 Issue #1137920 by jessebeach: Cleaned up the orientation toggle. Signed-off-by: J. Renée Beach commit a1c3f86b8cd64207b91229e4f6227a007f7cdc66 Author: J. Renée Beach Date: Sat Oct 27 17:48:52 2012 -0400 Issue #1137920 by jessebeach: Standardized the way horizontal lists are class-scoped across toolbar, user and shortcuts. Signed-off-by: J. Renée Beach commit 00792d108e4a2668bdae063fba91434a35e56ea5 Author: J. Renée Beach Date: Sat Oct 27 17:19:07 2012 -0400 Issue #1137920 by jessebeach: The interactive menu now displays well horizontally. Signed-off-by: J. Renée Beach commit 01adcd1f7b2f88ccc854f5829d2233a7ab2f2793 Author: J. Renée Beach Date: Sat Oct 27 16:49:09 2012 -0400 Issue #1137920 by jessebeach: The interactive menu toggle styling is moved to toolbar.theme.css. Signed-off-by: J. Renée Beach commit 70b1c8acdff090916761d179da02e24ebf1c84c2 Author: J. Renée Beach Date: Sat Oct 27 16:30:17 2012 -0400 Issue #1137920 by jessebeach: The body left/right padding is now correct when the toolbar tray is vertical. Signed-off-by: J. Renée Beach commit 198579d59bd87211b14d5feaa722c4e4d4fa3c38 Author: J. Renée Beach Date: Sat Oct 27 15:13:45 2012 -0400 Issue #1137920 by jessbeach: Removed the setting of the data-offset-top attribute from trays. Signed-off-by: J. Renée Beach commit d1d0c0dbd6437bd11cd0dbae6b93f7ced4d728f6 Author: J. Renée Beach Date: Sat Oct 27 15:11:13 2012 -0400 Issue #1137920 by jessebeach: Added triggers for Toolbar change events. Signed-off-by: J. Renée Beach commit 6a2eaa4b00a1dee07bae85aed458fdd9b217cc56 Author: J. Renée Beach Date: Sat Oct 27 14:56:28 2012 -0400 Issue #1137920 by jessebeach: The height of the tray is now accurately set in the horizontal setting. The height of the tray is included in toolbar-offset-top. Signed-off-by: J. Renée Beach commit 874d04e0ba6f3f685c4662713a14bd90d7cae50e Author: J. Renée Beach Date: Sat Oct 27 12:47:38 2012 -0400 Issue #1137920 by jessbeach: Optimized CSS for no-js scenario. Signed-off-by: J. Renée Beach commit a40d084337c1f064001585cd2a96cee5bca113c9 Author: J. Renée Beach Date: Sat Oct 27 12:38:42 2012 -0400 Issue #1137920 by jessebeach: Moved the horizontal/vertical tray toggle from the theme_toolbar_tray in the toolbar.module to Drupal.theme.toolbarOrientationToggle in toolbar.js. Signed-off-by: J. Renée Beach commit a46ba549d1485c8d145625a211fc1563424a5097 Author: J. Renée Beach Date: Sat Oct 27 12:18:04 2012 -0400 Issue #1137920 by jessebeach: Fixed a bug that made tabs without trays no longer work. Signed-off-by: J. Renée Beach commit be146774f7f7667616b98929b3cce0224a8d19b9 Author: J. Renée Beach Date: Sat Oct 27 12:08:28 2012 -0400 Issue #1137920 by jessebeach: Moved the User toolbar icon to the user module. Signed-off-by: J. Renée Beach commit 515f58531c5ba1d020eadef020c12f3daadaa35b Author: J. Renée Beach Date: Sat Oct 27 11:25:14 2012 -0400 Issue #1137920 by jessebeach: Removed whitespace from user.module. Signed-off-by: J. Renée Beach commit a20e8199f5d7dc2238090645bcdbd37f418eefdf Author: J. Renée Beach Date: Sat Oct 27 11:20:03 2012 -0400 Issue #1137920 by jessebeach: Moved user actions from Toolbar to User. Signed-off-by: J. Renée Beach commit 6d664a4b0c8f3639353c58793e4bb2a9b6962909 Author: J. Renée Beach Date: Fri Oct 26 17:51:28 2012 -0400 Issue #1137920 by jessebeach: Shortcuts now implements hook_toolbar_register_tabs. Signed-off-by: J. Renée Beach commit 107cb65053872e14974dcbbd2fa6a92a12f885a1 Author: J. Renée Beach Date: Fri Oct 26 16:52:13 2012 -0400 Issue #1137920 by jessebeach: Trays are now rendered with a theme function. Signed-off-by: J. Renée Beach commit d5355d5d44a3973e3365efa3cf98d12f354dda31 Author: J. Renée Beach Date: Fri Oct 26 14:43:06 2012 -0400 Issue #1137920 by jessebeach: Added the orientation toggle to the trays. Signed-off-by: J. Renée Beach commit de0fa84a0ec299126ca7ed88cc52895e313b1399 Author: J. Renée Beach Date: Fri Oct 26 13:37:55 2012 -0400 Issue #1137920 by jessebeach: Orientation change by media query is working for all trays. Signed-off-by: J. Renée Beach commit 3382f4d1cbda94b5fa04fd0a283ebbf265f61fb8 Author: J. Renée Beach Date: Fri Oct 26 12:11:29 2012 -0400 Issue #1137920 by jessebeach: Wrapped the administration menu in a div with the class .interactive-menu. The admin menu is back to functional after a bit refactor. Signed-off-by: J. Renée Beach commit 743812375980a02fef938fd5acefc4e20bbfc3c4 Author: J. Renée Beach Date: Thu Oct 25 19:32:05 2012 -0400 Issue #1137920 by jessebeach: Menu trays now only open one at a time. Signed-off-by: J. Renée Beach commit d9cc28d848134dd4d0647831136a2d79cda52c4f Author: J. Renée Beach Date: Thu Oct 25 19:06:22 2012 -0400 Issue #1137920 by jessebeach: Toolbar tabs basically work. The code isn't pretty yet. Signed-off-by: J. Renée Beach commit f79b040f9c5c1871d936e56d6c06000c588c6b0d Author: J. Renée Beach Date: Thu Oct 25 18:00:20 2012 -0400 Issue #1137920 by jessebeach: Refactored toolbar.js to include just the Tray constructor. VerticalTray and HorizontalTray have been eliminated. Added a decorator for the interactive menu accordion. Signed-off-by: J. Renée Beach commit f65522d9f36c6c2a6cba9e0855f3746db5f7c921 Author: J. Renée Beach Date: Thu Oct 25 15:26:10 2012 -0400 Issue #1137920 by jessebeach: First swipe at refactoring to the new designs. Signed-off-by: J. Renée Beach commit 78299c4df7ad917d2c9cb915d4450a809a027307 Author: J. Renée Beach Date: Wed Oct 24 16:06:53 2012 -0400 Issue #1137920 by jessebeach: Switched the placement of the home and menu links in the toolbar. Signed-off-by: J. Renée Beach commit df7689a3e5f4385c44a00fb5ddb116f55e19ccb0 Author: J. Renée Beach Date: Tue Oct 23 12:13:26 2012 -0400 Issue #1137920 by jessebeach: Sped up animations. Tried to stop ellipsis of first level menu items in the horizontal orientation. Committed a very !important sin. Signed-off-by: J. Renée Beach commit 3e7fcee2c457e51f6f77c23ffa5c2569520c1ee2 Author: J. Renée Beach Date: Tue Oct 23 11:50:26 2012 -0400 Issue #1137920 by jessebeach: I sped up the animations. Signed-off-by: J. Renée Beach commit 17dd662cd84d3f5f0c094d5c87316988d925624f Author: J. Renée Beach Date: Tue Oct 23 01:13:19 2012 -0400 Issue #1137920 by jessebeach: Fixed broken first level icons. Signed-off-by: J. Renée Beach commit 0c86c8453a1ca3f93b3b75f0d57c28100e001c7e Author: J. Renée Beach Date: Tue Oct 23 00:20:02 2012 -0400 Issue #1137920 by jessebeach: Fixed shortcuts. Well, brought them back. Not quite fixed yet. Signed-off-by: J. Renée Beach commit 41557d654ccf725a3c9bca81576244230519fb74 Author: J. Renée Beach Date: Mon Oct 22 23:29:09 2012 -0400 Issue #1137920 by jessebeach: Horizontal menu expansion happens in stages. Level 1, then subsequent levels. Signed-off-by: J. Renée Beach commit a3140b6fef9bb481d6bc2d02e2691d3816313113 Author: J. Renée Beach Date: Mon Oct 22 21:56:21 2012 -0400 Issue #1137920 by jessebeach: Further cleanup of the vertical and horizontal trays. Signed-off-by: J. Renée Beach commit c768b96df95430d99951cbc6ba3763df612f4b5b Author: J. Renée Beach Date: Mon Oct 22 16:02:24 2012 -0400 Issue #1137920 by jessebeach: The horizontal menu puzzle is at least cracked. Signed-off-by: J. Renée Beach commit 52e105cea483a6e1ce26951c3f87a1c7aa6704de Author: J. Renée Beach Date: Mon Oct 22 13:52:36 2012 -0400 Issue #1137920 by jessebeach: Cleaning up the decorator pattern for rendering menus. Signed-off-by: J. Renée Beach commit 8c7ce502dc2b03625cceeef3e3d353c5bbd91249 Author: J. Renée Beach Date: Mon Oct 22 10:50:28 2012 -0400 Issue #1137920 by jessebeach: Distilling the essence of horizontal and vertical menus into a common set of styles and markup. Signed-off-by: J. Renée Beach commit ff28ac8f0dca68b6ff6964058e0669d8f032f0cf Author: J. Renée Beach Date: Mon Oct 22 01:48:03 2012 -0400 Issue #1137920 by jessebeach: switching between vertical and horizontal tray builds. Signed-off-by: J. Renée Beach commit ddce7f9fcfb0ca408130c3e90b7c2a547a020b7f Author: J. Renée Beach Date: Mon Oct 22 01:21:14 2012 -0400 Issue #1137920 by jessebeach: Only show icons if JavaScript is enabled. Signed-off-by: J. Renée Beach commit 013e96b6efc80fc23245032198e97d232070506c Author: J. Renée Beach Date: Mon Oct 22 01:12:19 2012 -0400 Issue #1137920 by jessebeach: cleaned up the events on the VerticalTray. Signed-off-by: J. Renée Beach commit 6df3239c011ab46c6a1d286cac3ee096baddcfe6 Author: J. Renée Beach Date: Mon Oct 22 00:48:04 2012 -0400 Issue #1137920 by jessebeach: further teasing apart ToolBar from VerticalTray. Signed-off-by: J. Renée Beach commit 92a98b3d7f1941e2c77a2735812b4b10e8b6fe3d Author: J. Renée Beach Date: Sun Oct 21 22:32:57 2012 -0400 Issue #1137920 by jessebeach: Fixed icons after breaking them a few commits back. Signed-off-by: J. Renée Beach commit 5ee37231f2e98a2dc40ed5ec870db36b8d798a98 Author: J. Renée Beach Date: Fri Oct 19 19:38:29 2012 -0400 Issue #1137920 by jessbeach: reinstated the vertical tray rendering. Stills needs a lot of refactoring to let it render without so many assumptions. Signed-off-by: J. Renée Beach commit 699cc7e23016258f71c3283611fb4f0604f88a5b Author: J. Renée Beach Date: Fri Oct 19 18:59:28 2012 -0400 Issue #1137920 by jessebeach: The trigger to switch between vertical horizontal now works. Signed-off-by: J. Renée Beach commit 1ec4b73ac7e552d56ee8fbbd01b84a1f51a8f253 Author: J. Renée Beach Date: Fri Oct 19 11:52:02 2012 -0400 Issue #1137920 by jessebeach: Remove reference to the mediaquerygroup library and reference the matchMedia library directly. Signed-off-by: J. Renée Beach commit 5f15994727844ad080a53129d799df086f47dcf2 Author: J. Renée Beach Date: Thu Oct 18 16:14:20 2012 -0400 Added the basic trigger between the vertical and horizontal presentation of the trays.
 Signed-off-by: J. Renée Beach commit cad276228ca15a833d3ca6954a2224d8647f8ffe Author: J. Renée Beach Date: Thu Oct 18 16:05:00 2012 -0400 Removed .clearfix from the #toolbar element in toolbar.tpl.php Signed-off-by: J. Renée Beach commit 11360c22750563af8ddeb05ee340de168cbfd7de Author: J. Renée Beach Date: Thu Oct 18 16:00:56 2012 -0400 Refactored .toolbar-menu to .menu-site Signed-off-by: J. Renée Beach commit e80b03e1ef02b9f916a33cc0544b5146107280db Author: J. Renée Beach Date: Thu Oct 18 16:00:27 2012 -0400 Refactored .toolbar-shortcuts to .menu-shortcuts Signed-off-by: J. Renée Beach commit 41d1ce4fa29da241800ca13c70bcf2ca1d34b2a4 Author: J. Renée Beach Date: Thu Oct 18 15:51:46 2012 -0400 Refactored .toolbar-tray to .tray Signed-off-by: J. Renée Beach commit 975ef3bd49bcf23778822a3ba9eed89d63fa91d2 Author: J. Renée Beach Date: Thu Oct 18 15:51:12 2012 -0400 Added stub code for the HorizontalTray Signed-off-by: J. Renée Beach commit 4449f637b255a123a3c2297f91cfbfd134c1aa8b Author: J. Renée Beach Date: Thu Oct 18 15:48:54 2012 -0400 Replaced .toolbar-bar with .bar Signed-off-by: J. Renée Beach commit 1662c43242bb9024b06d8e55a839d7ae7c7f0ee4 Author: J. Renée Beach Date: Thu Oct 18 15:46:24 2012 -0400 Added a toolbar-main class. Replaced all instances of #toolbar with .toolbar-main Signed-off-by: J. Renée Beach commit c435419e685a207eb0b6c87aa63f7d5ea2a46ae4 Author: J. Renée Beach Date: Thu Oct 18 15:17:04 2012 -0400 Added a scoping .icons class to the toolbar wrapper. Signed-off-by: J. Renée Beach commit 5e3bf2a0e1418480a0ebba2e7ca2e8c55d8ecb7c Author: J. Renée Beach Date: Thu Oct 18 15:07:22 2012 -0400 Issue #1137920 by jessebeach: refactored TraySlider to VerticalTray. Signed-off-by: J. Renée Beach commit 5a2544ce7d968d1162d340474fd6df51059fd78e Author: J. Renée Beach Date: Thu Oct 18 11:08:24 2012 -0400 Issue #1137920 by jessebeach: renamed mediaquery library referenced in toolbar.module to mediaquerygroup. Signed-off-by: J. Renée Beach commit 37b4ccafab9c56a0e34814714c6853d353de7338 Author: J. Renée Beach Date: Thu Oct 18 11:04:13 2012 -0400 Issue #1137920 by jessebeach: Removed matchMedia and mediaquery.js reference and code. That code was moved to node/1815602 as its own patch. Signed-off-by: J. Renée Beach commit 36014cc615151e5795d14f11ebef5c4350351ad3 Author: J. Renée Beach Date: Wed Oct 17 14:18:15 2012 -0400 Issue #1137920 by jessebeach: Removed the dependency on jQuery from the MediaQueryGroup object. Signed-off-by: J. Renée Beach commit d68d20624a211e711c6807161de0f4161195bdc9 Author: J. Renée Beach Date: Tue Oct 16 21:38:41 2012 -0400 Issue #1137920 by jessebeach: Finished the first draft of the MediaQueryGroup object. Signed-off-by: J. Renée Beach commit d6a6bbb28586789aacd3c58c42e07c581647fac6 Author: J. Renée Beach Date: Tue Oct 16 19:39:32 2012 -0400 Issue #1137920 by jessebeach: Pulled the matchMedia polyfill out into its own file. Signed-off-by: J. Renée Beach commit 305eb37ee3fc0269fef05a03c68c50d5bf76090d Author: J. Renée Beach Date: Tue Oct 16 18:26:06 2012 -0400 Issue #1137920 by jessebeach: Added the media query library. Configured breakpoints can now be associated with callbacks. Still working on the details. This is a work-in-progress commit. Signed-off-by: J. Renée Beach commit d7192998bcd9e4bad35ec212879e149c8758228d Author: J. Renée Beach Date: Thu Oct 4 20:51:02 2012 -0400 Close open item siblings when opening an item. Signed-off-by: J. Renée Beach commit 96a8884cca82f669fd85c5f3689641b651a61a94 Author: J. Renée Beach Date: Thu Oct 4 17:31:51 2012 -0400 Incorporating style changes from Kevin. Signed-off-by: J. Renée Beach commit ae60bbfb3b6f5a48bcf1d31e760978bf390dd739 Author: J. Renée Beach Date: Thu Oct 4 00:47:09 2012 -0400 Mispelled leve as level Signed-off-by: J. Renée Beach commit 36d1bed296237a78bb92af891cb65857fabd8a9c Author: J. Renée Beach Date: Thu Oct 4 00:45:25 2012 -0400 Reduced the background size for handles level 2 and below. Signed-off-by: J. Renée Beach commit 4454972965cccc92e1bbb6be45d257290927ea26 Author: J. Renée Beach Date: Thu Oct 4 00:39:00 2012 -0400 Set background size of the handles to 2em. Signed-off-by: J. Renée Beach commit 79c1132db3455661004d48b7ca0faa12817a6977 Author: J. Renée Beach Date: Thu Oct 4 00:26:59 2012 -0400 Ported navbar style updates to icons to the Toolbar. added a space between properties and values in the media queries. Signed-off-by: J. Renée Beach commit df5ea70788d167da746791ac5aaf197ebae8b0a5 Author: J. Renée Beach Date: Mon Oct 1 19:21:50 2012 -0400 Removed toolbar.png Signed-off-by: J. Renée Beach commit ec474fe519cc7ff2ab8411ffb714c972797b933c Author: J. Renée Beach Date: Mon Oct 1 19:09:27 2012 -0400 Fixed the fleximenu handle CSS and the font sizing. Font sizes will still need work. Signed-off-by: J. Renée Beach commit cdee13911963cbb8bae030b818984950cdf7b9a4 Author: J. Renée Beach Date: Mon Oct 1 18:26:04 2012 -0400 Extended all -webkit vendor prefixed properties to included other vendors and the standards property as well. Signed-off-by: J. Renée Beach commit 2529d6857a42fa9f87458c92fa690bf640eaf210 Author: J. Renée Beach Date: Mon Oct 1 17:52:33 2012 -0400 Toolbar bar is now stretching nicely from very small to very large. Signed-off-by: J. Renée Beach commit 8368b964329370cebf5086a342db97f5e703674a Author: J. Renée Beach Date: Mon Oct 1 16:32:54 2012 -0400 Removed the jump-to search box. This is being worked in issue #1781422. Cleaned up the toolbar.tpl file. Removed a dependency on the ui.accordion and ui.position. Signed-off-by: J. Renée Beach commit ffe1520b1168556ce552fe0192b0dd1cefaeb6af Author: J. Renée Beach Date: Fri Sep 28 15:23:27 2012 -0400 Reduced the specificity of a toolbar tray selector. Signed-off-by: J. Renée Beach commit ea0bc81899a9b5863ee35a92f7686dc75ea91905 Author: J. Renée Beach Date: Wed Sep 19 18:33:20 2012 -0400 Issue #1137920 by jessebeach: Adjusted toolbar.base.css and toolbar.theme.css based on the most current dropbutton patch. Signed-off-by: J. Renée Beach commit 918ee856ac3e593c57667ae9cdfc6eb4ddb43967 Author: J. Renée Beach Date: Sun Sep 16 19:33:52 2012 -0400 Issue #1137920 by jessebeach: Finished styling the toolbar dropbuttons. Signed-off-by: J. Renée Beach commit c35ff3041154b441dcc7d7e319cfd6c39a249098 Author: J. Renée Beach Date: Sun Sep 16 19:04:33 2012 -0400 Issue #1137920 by jessebeach: Styled the dropbuttons. Added 1/3 width sections to the toolbar-bar to layout the different action buttons evenly. Signed-off-by: J. Renée Beach commit e63ca33e9991cdf2021150758806070ab7cbf592 Author: J. Renée Beach Date: Sun Sep 16 18:33:42 2012 -0400 Issue #1137920 by jessebeach: Refactored the toolbar.tpl.php file. Fixed heading text. Signed-off-by: J. Renée Beach commit d0db0f3cb9ebb61c92766eda1709071f5b2c650d Author: J. Renée Beach Date: Sun Sep 16 17:23:08 2012 -0400 Issue #1137920 by jessebeach: Added local action links to the toolbar. Themed them as links, which required translation the render array returned by menu_local_actions to a structure that theme_links expects. Signed-off-by: J. Renée Beach commit 5bbfbd25807846bc899217ae7bda561ca9135ff6 Author: J. Renée Beach Date: Wed Sep 12 17:32:57 2012 -0400 Issue #1782576 by jessebeach: Had to add a clear to the #edit-shortcuts links. And it seems I forgot to save this file with changes before committing the last set changes. Signed-off-by: J. Renée Beach commit 7d1d8a7d053ce33ed8b8c7e205656a1635bf7b2f Author: J. Renée Beach Date: Wed Sep 12 17:20:50 2012 -0400 Issue #1782576 by jessebeach: Reinstated shortcuts in the toolbar tray. Signed-off-by: J. Renée Beach commit 7e5e513ea89eb143681d82c3fbad44adf5109084 Author: J. Renée Beach Date: Wed Sep 12 12:59:33 2012 -0400 Issue #1782576 by jessebeach: Removed all code mentions to the toolbar drawer in toolbar.module. We will still need to update the help text. Signed-off-by: J. Renée Beach commit c5dcc577efdc4853ddd18edb4f441582c0ec43d8 Author: J. Renée Beach Date: Wed Sep 12 12:34:29 2012 -0400 Issue #1137920 by jessebeach: Refactored the toolbar.js so that it follows the current Drupal JavaScript patterns. Signed-off-by: J. Renée Beach commit 54eefe3e71f43921faba7c3f1212ee36bdcb2b5f Author: J. Renée Beach Date: Mon Sep 10 23:03:24 2012 -0400 Issue #1137920 by jessebeach: Eliminated all traces of flexiPanda. Signed-off-by: J. Renée Beach commit 70d02c403206855bca8673fd33928795f10fbf34 Author: J. Renée Beach Date: Mon Sep 10 20:08:21 2012 -0400 Issue #1137920 by jessebeach: Fixed the styling of the list and items after removing the flexiPanda plugin. Signed-off-by: J. Renée Beach commit 1af9636769f603ceec3be68b792743209a1aea16 Author: J. Renée Beach Date: Mon Sep 10 16:24:32 2012 -0400 Issue #1137920 by jessebeach: Updated the base CSS of the tray. It's not perfect yet, but it's getting there. Signed-off-by: J. Renée Beach commit a07c3896e05d891cb87b31e4b6b3723246001349 Author: J. Renée Beach Date: Mon Sep 10 11:21:49 2012 -0400 Issue #1137920 by jessebeach: Removed the flexiPanda plugin. Ported the relevant functionality over to toolbar.js Signed-off-by: J. Renée Beach commit 57e95bff5d0e27fd45575c7e62cc3a350770c1fa Author: J. Renée Beach Date: Sun Sep 9 23:26:58 2012 -0400 Issue #1137920 by jessebeach: Refactored toolbar.js to use the $.extend() pattern for object prototypes. Signed-off-by: J. Renée Beach commit 480bf207cf830823bd34b75370be4383ec3fe6e2 Author: J. Renée Beach Date: Sun Sep 9 23:12:32 2012 -0400 Issue #1137920 by jessebeach: Moved the .addClass of positioned to the init method rather than the displace method for the $tray. Signed-off-by: J. Renée Beach commit c222ab1baaf73b597314ddab8aeb22419ed4aca5 Author: J. Renée Beach Date: Sun Sep 9 23:02:03 2012 -0400 Issue #1137920 by jessebeach: The toolbar tray is now positioned by JavaScript using the jQuery UI position method. The fallback for no JS is to display the menu at the bottom of the screen, full page width. Signed-off-by: J. Renée Beach commit f6f6d66461ba944c3a95c098c4439d0b6fb14f0f Author: J. Renée Beach Date: Sat Sep 8 14:33:56 2012 -0400 Issue #1137920 by jessebeach: Moved the flexiPanda accordion styles from toolbar.theme.css to toolbar.accordion.css. Signed-off-by: J. Renée Beach commit 4fb9d64626567d27dfe00485cfa5c3b26c4c5d24 Author: J. Renée Beach Date: Fri Sep 7 20:35:51 2012 -0400 Issue #1137920 by jessebeach: Getting closer to Kevin's designs for the menu. Signed-off-by: J. Renée Beach commit 9c147a116874fd05c28f186f527d8bcb3fa39901 Author: J. Renée Beach Date: Fri Sep 7 18:49:49 2012 -0400 Issue #1137920 by jessebeach: slight adjustment to the icon spacing and sizing. Signed-off-by: J. Renée Beach commit c3405aa96e83784def0c69942b9f5f98eb2e6ba5 Author: J. Renée Beach Date: Fri Sep 7 11:26:05 2012 -0400 Issue #1137920 by jessebeach: resized the toolbar tray down to a more appealing, smaller width. Signed-off-by: J. Renée Beach commit e1221d734010f11abac84aa00ed72f5018b2c120 Author: J. Renée Beach Date: Fri Sep 7 11:25:25 2012 -0400 Issue #1137920 by jessebeach: Fixed the offset top recalculation on screen resize. Signed-off-by: J. Renée Beach commit af6d2faaddcd298f68c09867902233c174b49f87 Author: J. Renée Beach Date: Thu Sep 6 16:42:27 2012 -0400 Issue #1137920 by jessebeach: Added icons to the second level menu items. The method is not ideal yet, but I wanted to get the icons in sooner rather than later. I'll have to change the selectors later once the folder directory twisties are updated. Signed-off-by: J. Renée Beach commit 7fac1c33101d43431177dc90456ea20770c9ca56 Author: J. Renée Beach Date: Thu Sep 6 15:07:11 2012 -0400 Issue #1137920 by jessebeach: Varied the strategy for the two types of toolbar overlay - page overlay and page push. Signed-off-by: J. Renée Beach commit 4a10bffdc6aae600e2d1381cdf6f3fb9340fefd5 Author: J. Renée Beach Date: Thu Sep 6 12:08:19 2012 -0400 Issue #1137920 by jessebeach: The menu slider now works purely from CSS. Signed-off-by: J. Renée Beach commit 166bf4b220e220065fb73e3c648e52c78348b297 Author: J. Renée Beach Date: Thu Sep 6 11:08:25 2012 -0400 Issue #1137920 by jessebeach: Moving closer to Kevin's designs. Built out the tabs in the navbar. Signed-off-by: J. Renée Beach commit 3ded8cf5db5ac8a61030f5685fc5faabb28bf200 Author: J. Renée Beach Date: Wed Sep 5 17:06:49 2012 -0400 Issue #1137920 by jessebeach: Removed the toolbar drawer collapsed logic and styling. Moved the toolbar tray trigger link into the toolbar_home links and renamed toolbar_home to toolbar_actions. Signed-off-by: J. Renée Beach commit 02223640f6d3831fd56e06fad731032dc0268e8a Author: J. Renée Beach Date: Wed Sep 5 16:20:45 2012 -0400 Issue #1137920 by jessebeach: Refactored the tray interactions to an event-driven model, looking forward to a time when these interactions will be more pluggable. Signed-off-by: J. Renée Beach commit 06670bcf8d9a44d1242d2e556cbfadcca02d868f Author: J. Renée Beach Date: Wed Sep 5 15:23:47 2012 -0400 Issue #1137920 by jessebeach: added a named anchor to the toolbar-tray. Added an anchor fragment to the link that opens the tray. Added role="button" to the toolbar tray toggle link. Signed-off-by: J. Renée Beach commit 1a898a64dce3d92b74f5794cdee719d3913bf63b Author: J. Renée Beach Date: Tue Sep 4 14:39:46 2012 -0400 Issue #1137920 by jessebeach: prototyped the accordion-style menu interaction. Signed-off-by: J. Renée Beach commit 5afcb1d6f41a753dbb159f28f55c2c410cd5f251 Author: J. Renée Beach Date: Tue Sep 4 13:43:35 2012 -0400 Issue #1137920 by jessebeach: Eliminated whitespace from the flexiPanda file. Signed-off-by: J. Renée Beach commit 242d538da4b0ddef3cf2952d5b76da0201f58d01 Author: J. Renée Beach Date: Mon Sep 3 23:34:55 2012 -0400 Issue #1137920 by jessebeach: Patched up the flexiPanda plugin enough to post the changes to the issue queue. Signed-off-by: J. Renée Beach commit 46b0cff9ec40d0b767dc25c9e73374d7d69c651d Author: J. Renée Beach Date: Sat Sep 1 17:15:27 2012 -0400 Issue #1137920 by jessebeach: The basics of the flexiPanda plugin are in place. Signed-off-by: J. Renée Beach commit e8d9331f4555f4c52bfd1c658ba204dcb423644a Author: J. Renée Beach Date: Sat Sep 1 16:44:33 2012 -0400 Issue #1137920 by jessebeach: The main menu now prints all of the links under the menu, not just the second level links. Signed-off-by: J. Renée Beach commit d7083e627e9369c5c05ef12f30f8faa43123b855 Author: J. Renée Beach Date: Fri Aug 31 16:18:19 2012 -0400 Issue #1137920 by jessebeach: Further adjustments to the side tray CSS. Signed-off-by: J. Renée Beach commit cbbca35f105186100dc5c12b9a6adaaf123920f8 Author: J. Renée Beach Date: Fri Aug 31 15:55:07 2012 -0400 Issue #1137920 by jessebeach: Further refinements to the CSS for the side tray. Signed-off-by: J. Renée Beach commit 9b62d5520291068335f12ef266ce81062181c55e Author: J. Renée Beach Date: Fri Aug 31 13:58:23 2012 -0400 Issue #1137920 by jessebeach: Removed references to attached CSS from the hook_view. These attachments are now made in hook_library_info in the module. Signed-off-by: J. Renée Beach commit c51dc759786582e2ffed308deafeb221f3870070 Author: J. Renée Beach Date: Fri Aug 31 10:31:52 2012 -0400 Issue #1137920 by jessebeach: Renamed toolbar.admin.css to toolbar.base.css. Signed-off-by: J. Renée Beach commit 9c7cc9ff02a1175cb49e076f2150a37f38a997c4 Author: J. Renée Beach Date: Fri Aug 31 10:30:46 2012 -0400 Issue #1137920 by jessebeach: Removed styling from the shortcut module that targets the Toolbar module. Signed-off-by: J. Renée Beach commit 91a9ee8541dfc7ffc9765f5f8a0f0c1d9b625d06 Author: J. Renée Beach Date: Fri Aug 31 10:27:57 2012 -0400 Issue #1137920 by jessebeach: I messed up the position of the toolbar-bar. Fixed it. Signed-off-by: J. Renée Beach commit 04b680d57b0fb8c39bd9dafb79337638d03bc22a Author: J. Renée Beach Date: Fri Aug 31 10:19:55 2012 -0400 Issue #1137920 by jessebeach: Shortcuts are now integrated into the side tray. Signed-off-by: J. Renée Beach commit b2f599c1ad94496f966efef98e420d669ee8d261 Author: J. Renée Beach Date: Thu Aug 30 16:15:51 2012 -0400 Issue #1137920 by jessebeach: removed drop shadows from the toolbar and tray. Signed-off-by: J. Renée Beach commit abaeec3d988ae8b67d19adc3356cd3ab3851fcec Author: J. Renée Beach Date: Thu Aug 30 14:17:57 2012 -0400 Issue #1137920 by jessebeach: Experimenting with placing the toolbar in page_top or page_bottom. Going with page_bottom for now. Signed-off-by: J. Renée Beach commit 59d1cd4e536a19b33f4ae8693b1302ac82762c96 Author: J. Renée Beach Date: Thu Aug 30 14:05:44 2012 -0400 Issue #1137920 by jessebeach: Split the Toolbar CSS out into admin and theme. Removed Toolbar-targeted styling from the Shortcut module. Signed-off-by: J. Renée Beach commit 6dabd287b2c155df3be7d263da31f154cfaa581c Author: J. Renée Beach Date: Thu Aug 30 11:18:09 2012 -0400 Issue #1137920 by jessebeach: Toolbar was moved from page_top to page_bottom. Updating the Shortcut module to reflect this. Signed-off-by: J. Renée Beach commit 137d2653051a475a5eeac75012c51df26679e1f9 Author: J. Renée Beach Date: Thu Aug 30 10:19:11 2012 -0400 Issue #1137920 by jessebeach: Changed references to CSS and JS files to point to the new directories. Added CSS files for .admin.css and .theme.css. Signed-off-by: J. Renée Beach commit 7820cc4868cb398735d4981003a005d395752c92 Author: J. Renée Beach Date: Thu Aug 30 10:17:37 2012 -0400 Issue #1137920 by jessebeach: Moved the toolbar from the page_top to the page_bottom region. Signed-off-by: J. Renée Beach commit 500ed8ef0a8a467866142804a45cc4aee083b601 Author: J. Renée Beach Date: Thu Aug 30 10:10:31 2012 -0400 Issue #1137920 by jessebeach: moved CSS and JS files to their own directory. Signed-off-by: J. Renée Beach commit 0fdd7ab64d30e6ac76af1e082f1cdb513faddd80 Author: J. Renée Beach Date: Thu Aug 30 10:03:49 2012 -0400 Issue #1137920 by jessebeach: Changed padding to margin to create the gap for the side pull menu tray. Signed-off-by: J. Renée Beach commit 90fe48f5502ac69644156dca6d2ebdef806158c7 Author: J. Renée Beach Date: Sun Aug 26 14:48:42 2012 -0400 Issue #1137920 by jessebeach: The admin tray now slides side to side. Signed-off-by: J. Renée Beach commit ce45d3f73ae013870adc3b4133d9c816bc93b98a Author: J. Renée Beach Date: Sun Aug 26 14:00:07 2012 -0400 Issue 1137920 by jessebeach: Added a missing 'html' property to the options passed to theme_link that creates the menu tray button. Signed-off-by: J. Renée Beach commit daac7d200b930dee38e0dae199902641f311404b Author: J. Renée Beach Date: Sun Aug 26 13:55:04 2012 -0400 Issue #1137920 by jessebeach: added a @todo to move the computeOffsetTop method in tableheader.js to drupal.js. Signed-off-by: J. Renée Beach commit a146f5cf2a170c46d80bbedb2f9b27ec87aa7d77 Author: J. Renée Beach Date: Sun Aug 26 13:54:25 2012 -0400 Issue #1137920 by jessebeach: The tray menu now positions itself correctly. Signed-off-by: J. Renée Beach commit 2fd8f6b089771727698f309bcbf34456bbb36cec Author: J. Renée Beach Date: Sun Aug 26 13:25:26 2012 -0400 Issue #1137920 by jessebeach: The toolbar drawer toggling action has been refactored to sue the properties of the Toolbar object, not raw DOM queries. Signed-off-by: J. Renée Beach commit 82a60be1fd882fca9c8f2e2607ae535bcf778f48 Author: J. Renée Beach Date: Sun Aug 26 12:49:48 2012 +0200 Issue #1137920 by jessebeach: Refactored the toolbar.js file to use an object for the bar and tray of the toolbar instead of bare JS constructs. Signed-off-by: J. Renée Beach commit ecc76f0b7589fcec631d453ccb3d75d6c023921d Author: Kathryn Cornelius Date: Fri Aug 24 17:46:21 2012 +0200 Issue #1137920 by Kathryn531: Style updates to the existing toolbar commit 6d2075bbad4b8d15080efdb782bbcfe8732877ea Author: Kathryn Cornelius Date: Fri Aug 24 17:43:03 2012 +0200 Issue #1137920 by Kathryn531: Sample look & feel of how the search filter will function (no submit button since updates happen on key events, sample close button included) commit 603cda52a14ff5baa0ed31b538b4d6c59666c185 Author: J. Renée Beach Date: Fri Aug 24 16:43:11 2012 +0200 Issue #1137920 by jessebeach: side tray now toggles up and down. Precursor to the side sliding. Signed-off-by: J. Renée Beach commit 85c8db603781f7b72feec2b6f2788d4e846d298d Author: J. Renée Beach Date: Fri Aug 24 16:24:45 2012 +0200 Issue #1137920 by jessebeach: Added a tray toggle. Signed-off-by: J. Renée Beach commit b309591c7c6a0ae2d4c442d8ba2873c686cc5658 Author: Kathryn Cornelius Date: Fri Aug 24 15:35:48 2012 +0200 Issue #1137920 by Kathryn531: Added textfield and link to appear as a search button for the filtering component in the toolbar tray. commit 0e578f848b13234c791ac66cc3f98fffd1df6b5d Author: J. Renée Beach Date: Fri Aug 24 14:31:17 2012 +0200 Issue #11337920 by jessebeach: refactored the toolbar.js to use an object Drupal.ToolBar. Signed-off-by: J. Renée Beach commit ac26c84efae70c78a53ad4e345c78b5d39d9ba67 Author: Kathryn Cornelius Date: Fri Aug 24 14:05:02 2012 +0200 Issue #1137920 by Kathryn531: Scoping CSS selectors to maintain original styling when main menu links are shown in wide layouts, but apply unique styling when displayed via the new toolbar tray. commit 8575cbe4fb59d2ef510148051c86cc452874e60e Author: Kathryn Cornelius Date: Fri Aug 24 13:08:08 2012 +0200 Issue #1137920 by Kathryn531: Missed the template file. Adding it as well to previous commit. commit 13725c0dc237539c1cab399720c326d1ff3b75f0 Author: Kathryn Cornelius Date: Fri Aug 24 13:07:38 2012 +0200 Issue #1137920 by Kathryn531: Restructuring markup of toolbar so the toolbar-menu items appear below the main bar with Toggle, home, shortcuts, etc... commit ddb47d090d78653d5aaefcf99ed196936c4ecf58 Author: Kathryn Cornelius Date: Fri Aug 24 11:42:54 2012 +0200 Issue #1137920 by Kathryn531: Added a temporary placeholder link in the new toolbar menu for tray toggle Signed-off-by: J. Renée Beach --- core/modules/shortcut/shortcut.base.css | 13 - core/modules/shortcut/shortcut.module | 43 +- core/modules/shortcut/shortcut.theme.css | 71 +-- core/modules/system/system.module | 10 +- .../modules/toolbar/config/toolbar.breakpoints.yml | 1 + core/modules/toolbar/config/toolbar.config.yml | 2 + core/modules/toolbar/css/toolbar.base-rtl.css | 25 + core/modules/toolbar/css/toolbar.base.css | 230 +++++++++ core/modules/toolbar/css/toolbar.icons.css | 79 +++ core/modules/toolbar/css/toolbar.theme-rtl.css | 7 + core/modules/toolbar/css/toolbar.theme.css | 255 ++++++++++ core/modules/toolbar/js/toolbar.js | 531 ++++++++++++++++++++ core/modules/toolbar/templates/toolbar.tpl.php | 17 +- core/modules/toolbar/toolbar-rtl.css | 37 -- core/modules/toolbar/toolbar.css | 129 ----- core/modules/toolbar/toolbar.info | 5 + core/modules/toolbar/toolbar.js | 115 ----- core/modules/toolbar/toolbar.module | 289 +++++------ core/modules/toolbar/toolbar.png | 4 - core/modules/user/user.css | 11 + core/modules/user/user.module | 64 +++ 21 files changed, 1393 insertions(+), 545 deletions(-) create mode 100755 core/modules/toolbar/config/toolbar.breakpoints.yml create mode 100755 core/modules/toolbar/config/toolbar.config.yml create mode 100644 core/modules/toolbar/css/toolbar.base-rtl.css create mode 100644 core/modules/toolbar/css/toolbar.base.css create mode 100644 core/modules/toolbar/css/toolbar.icons-rtl.css create mode 100644 core/modules/toolbar/css/toolbar.icons.css create mode 100644 core/modules/toolbar/css/toolbar.theme-rtl.css create mode 100644 core/modules/toolbar/css/toolbar.theme.css create mode 100755 core/modules/toolbar/js/toolbar.js delete mode 100644 core/modules/toolbar/toolbar-rtl.css delete mode 100644 core/modules/toolbar/toolbar.css mode change 100644 => 100755 core/modules/toolbar/toolbar.info delete mode 100644 core/modules/toolbar/toolbar.js mode change 100644 => 100755 core/modules/toolbar/toolbar.module delete mode 100644 core/modules/toolbar/toolbar.png diff --git a/core/modules/shortcut/shortcut.base.css b/core/modules/shortcut/shortcut.base.css index 90a1046..5af1151 100644 --- a/core/modules/shortcut/shortcut.base.css +++ b/core/modules/shortcut/shortcut.base.css @@ -5,19 +5,6 @@ */ /** - * Toolbar. - */ -#edit-shortcuts { - float: right; /* LTR */ -} -#shortcut-toolbar ul { - float: left; /* LTR */ -} -#shortcut-toolbar .icon { - float: left; /* LTR */ -} - -/** * Add/remove links. */ .add-or-remove-shortcuts .icon { diff --git a/core/modules/shortcut/shortcut.module b/core/modules/shortcut/shortcut.module index 9bbb12a..9ec9e3d 100644 --- a/core/modules/shortcut/shortcut.module +++ b/core/modules/shortcut/shortcut.module @@ -713,18 +713,28 @@ function shortcut_preprocess_page(&$variables) { } /** - * Implements hook_page_alter(). - */ -function shortcut_page_alter(&$page) { - if (isset($page['page_top']['toolbar'])) { - // If the toolbar is available, add a pre-render function to display the - // current shortcuts in the toolbar drawer. - $page['page_top']['toolbar']['#pre_render'][] = 'shortcut_toolbar_pre_render'; - } + * Implements hook_toolbar_register_tabs(). + */ +function shortcut_toolbar_register_tabs() { + $tab['shortcuts'] = array( + 'tab' => array( + 'title' => t('Shortcuts'), + 'href' => '', + 'html' => FALSE, + 'attributes' => array( + 'title' => t('Shortcuts'), + ), + ), + 'tray' => array( + '#pre_render' => array('shortcut_toolbar_pre_render'), + ), + ); + + return $tab; } /** - * Pre-render function for adding shortcuts to the toolbar drawer. + * Pre-render function for adding shortcuts to the toolbar. */ function shortcut_toolbar_pre_render($toolbar) { $links = shortcut_renderable_links(); @@ -734,8 +744,6 @@ function shortcut_toolbar_pre_render($toolbar) { drupal_get_path('module', 'shortcut') . '/shortcut.theme.css', ), ); - $links['#prefix'] = '
'; - $links['#suffix'] = '
'; $shortcut_set = shortcut_current_displayed_set(); $configure_link = NULL; if (shortcut_set_edit_access($shortcut_set)) { @@ -747,13 +755,18 @@ function shortcut_toolbar_pre_render($toolbar) { ); } - $drawer = array( - 'shortcuts' => $links, + $links_wrapper = array( + 'shortcuts' => array( + '#type' => 'container', + '#attributes' => array( + 'class' => array('toolbar-list'), + ), + 'links' => $links, + ), 'configure' => $configure_link, ); - $toolbar['toolbar_drawer'][] = $drawer; - return $toolbar; + return $links_wrapper; } /** diff --git a/core/modules/shortcut/shortcut.theme.css b/core/modules/shortcut/shortcut.theme.css index 9e2dc69..d690169 100644 --- a/core/modules/shortcut/shortcut.theme.css +++ b/core/modules/shortcut/shortcut.theme.css @@ -5,45 +5,6 @@ */ /** - * Toolbar. - */ -.toolbar #edit-shortcuts { - line-height: 24px; - padding: 5px 10px; -} -#edit-shortcuts:focus, -#edit-shortcuts:hover, -#edit-shortcuts.active { - text-decoration: underline; -} -#shortcut-toolbar ul { - line-height: 24px; - margin-left: 5px; /* LTR */ - padding: 5px 0; -} -#shortcut-toolbar a { - border-radius: 5px; - margin-right: 5px; /* LTR */ - padding: 0 5px; -} -#shortcut-toolbar a:focus, -#shortcut-toolbar a:hover, -#shortcut-toolbar a.active:focus { - background: #555; -} -#shortcut-toolbar a.active:hover, -#shortcut-toolbar a.active { - background-color: #000; -} -#shortcut-toolbar .icon { - background-color: #444; - border-radius: 5px; - height: 30px; - margin-right: 5px; /* LTR */ - width: 30px; -} - -/** * Add/remove links. */ .add-or-remove-shortcuts .icon { @@ -65,15 +26,27 @@ .remove-shortcut a:hover .icon { background-position: -12px -12px; /* LTR */ } -.add-or-remove-shortcuts .text { - padding: 0 6px 0 10px; /* LTR */ + +/** + * Toolbar icon. + */ +.toolbar-main .shortcuts .tab { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDkuOTk5NSIgeTE9IjQuNTQ1NCIgeDI9IjQ5Ljk5OTUiIHkyPSIxMDQuNTQ1OSI+DQoJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0NDQ0NDQyIvPg0KCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiM5OTk5OTkiLz4NCjwvbGluZWFyR3JhZGllbnQ+DQo8cG9seWdvbiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0idXJsKCNTVkdJRF8xXykiIHBvaW50cz0iMTMuNjM2LDAgMTMuNjM2LDEwMCA0OS42MzYsNzYuNzI3IDg2LjM2MywxMDAgDQoJODYuMzYzLDAgIi8+DQo8L3N2Zz4NCg==); +} +.toolbar-main .shortcuts .tab:active, +.toolbar-main .shortcuts.active .tab { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDkuOTk5NSIgeTE9Ijk2LjQ1NTEiIHgyPSI0OS45OTk1IiB5Mj0iLTMuNTQ0OSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDEwMSkiPg0KCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRkZGRkYiLz4NCgk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRTVFNUU1Ii8+DQo8L2xpbmVhckdyYWRpZW50Pg0KPHBvbHlnb24gZmlsbD0idXJsKCNTVkdJRF8xXykiIHBvaW50cz0iMTMuNjM2LDAgMTMuNjM2LDEwMCA0OS42MzYsNzYuNzI3IDg2LjM2MywxMDAgODYuMzYzLDAgIi8+DQo8L3N2Zz4NCg==); +} +.toolbar-main #edit-shortcuts { + display: block; +} +.toolbar-main .vertical #edit-shortcuts { + text-align: right; + padding: 1em; } -.add-or-remove-shortcuts a:focus .text, -.add-or-remove-shortcuts a:hover .text { - background-color: #5f605b; - border-radius: 0 5px 5px 0; /* LTR */ - color: #fff; - cursor: pointer; - font-size: 10px; - line-height: 12px; +.toolbar-main .horizontal #edit-shortcuts { + border-left: 1px solid #d9d9d9; + float: left; + margin-left: 0.3333em; + padding: 1em 0.3333em 1em 0.6667em; } diff --git a/core/modules/system/system.module b/core/modules/system/system.module index 98b0427..98d8010 100644 --- a/core/modules/system/system.module +++ b/core/modules/system/system.module @@ -1390,6 +1390,15 @@ function system_library_info() { ), ); + $libraries['matchMedia'] = array( + 'title' => 'window.matchMedia polyfill', + 'website' => 'http://drupal.org/node/1815602', + 'version' => '1.0', + 'js' => array( + 'core/misc/matchMedia.js' => array(), + ), + ); + // Farbtastic. $libraries['jquery.farbtastic'] = array( 'title' => 'Farbtastic', @@ -1893,7 +1902,6 @@ function system_library_info() { array('system', 'jquery'), ), ); - $libraries['drupal.tableselect'] = array( 'title' => 'Tableselect', 'version' => VERSION, diff --git a/core/modules/toolbar/config/toolbar.breakpoints.yml b/core/modules/toolbar/config/toolbar.breakpoints.yml new file mode 100755 index 0000000..0cae5cc --- /dev/null +++ b/core/modules/toolbar/config/toolbar.breakpoints.yml @@ -0,0 +1 @@ +wide: 'all and (min-width: 60em)' diff --git a/core/modules/toolbar/config/toolbar.config.yml b/core/modules/toolbar/config/toolbar.config.yml new file mode 100755 index 0000000..79522f0 --- /dev/null +++ b/core/modules/toolbar/config/toolbar.config.yml @@ -0,0 +1,2 @@ +breakpoints: + - 'module.toolbar.wide' diff --git a/core/modules/toolbar/css/toolbar.base-rtl.css b/core/modules/toolbar/css/toolbar.base-rtl.css new file mode 100644 index 0000000..00e0669 --- /dev/null +++ b/core/modules/toolbar/css/toolbar.base-rtl.css @@ -0,0 +1,25 @@ +.toolbar-main, +.toolbar-main * { + text-align: right; +} +.toolbar-main ul li { + float: right; +} +.toolbar-main ul li a { + display: inline-block; + float: none; + zoom: 1; +} +.toolbar-main-user { + float: left; +} +.toolbar-main .toolbar-main-user li { + float: none; + display: inline; +} +.toolbar-main-menu { + float: none; +} +.toolbar-main-home { + float: right; +} diff --git a/core/modules/toolbar/css/toolbar.base.css b/core/modules/toolbar/css/toolbar.base.css new file mode 100644 index 0000000..9dbf8d1 --- /dev/null +++ b/core/modules/toolbar/css/toolbar.base.css @@ -0,0 +1,230 @@ +/** + * @file toolbar.admin.css + * + * + * Aggressive resets so we can achieve a consistent look in hostile CSS + * environments. + */ +body.toolbar-tray-open { + -moz-box-sizing: border-box; + -o-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.toolbar-main, +.toolbar-main * { + -moz-box-sizing: border-box; + -o-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + outline: 0; + padding: 0; + vertical-align: baseline; +} +.toolbar-main { + font-size: 100%; + line-height: 1; +} +.toolbar-main ul, +.toolbar-main ul li, +.toolbar-main .menu li { + list-style: none; +} +.toolbar-main .menu li { + padding-top: 0; +} +/** + * Administration menu. + */ +.toolbar-main .bar { + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 600; +} +.toolbar-main .bar li { + display: block; +} +.toolbar-main .bar a { + display: block; +} +@media screen and (min-width: 16.5em) { + .toolbar-main .bar li { + float: left; /* LTR */ + } +} +@media screen and (min-width: 28.125em) { + .toolbar-main .bar { + position: fixed; + } +} +/** + * Toolbar tray. + */ +.toolbar-main .tray { + display: none; + overflow-x: hidden; + overflow-y: auto; +} +.toolbar-main .tray.vertical { + bottom: 0; + height: 100%; + left: -100%; + position: absolute; + width: 100%; + z-index: 600; +} +.toolbar-main .tray.horizontal { + left: 0; /* LTR */ + height: 0; + position: absolute; + width: 100%; + z-index: 600; +} +.toolar-main .tray .lining { + position: relative; +} +.toolbar-main .tray.vertical > .slider { + left: -100%; /* LTR */ + position: absolute; + width: 100%; +} +.toolbar-main .tray.active { + display: block; +} +.toolbar-main .horizontal.active { + height: auto; +} +.toolbar-main .tray.vertical.active, +.toolbar-main .tray.vertical.active > .slider { + left: 0; /* LTR */ +} +@media screen and (min-width: 16.5em) { + .toolbar-main .tray.vertical { + bottom: 0; + position: absolute; + width: 240px; + width: 15rem; + } +} +@media screen and (min-width: 28.125em) { + .toolbar-main .tray.horizontal, + .toolbar-main .tray.vertical { + position: fixed; + } +} +/** + * At larger screen sizes, the tray pushes the page content + * using padding instead of left. + */ +@media screen and (min-width: 28.125em) { + body.toolbar-tray-open.toolbar-vertical { + overflow: auto; + } + body.toolbar-tray-open.toolbar-vertical { + padding-left: 240px; + padding-left: 15rem; + } +} +/** + * Toolbar menus. + */ +.toolbar-main .menu { + list-style: none; + margin: 0; + padding: 0; +} +.toolbar-main .interactive-menu { + height: 100%; +} +.toolbar-main .interactive-menu-offset { + height: 100%; + position: relative; +} +.toolbar-main .box { + display: block; + line-height: 1em; /* this prevents the value "normal" from being returned as the line-height */ + position: relative; + width: auto; +} +.toolbar-main .dormant { + display: none; +} +.toolbar-main .trail > ul { /* Show the sub-menus */ + display: block; +} +.toolbar-main .active > ul { + z-index: 51; /* Pull the active trail li's above the other li's */ +} +.toolbar-main .tray .interactive-menu li { + display: block; +} +.toolbar-main .interactive-menu a { + display: block; + line-height: 1; + overflow: hidden; +} +.toolbar-main .tray .interactive-menu li a, +.toolbar-main .toolbar-list a { + display: block; +} +.toolbar-main .handle { + float: right; +} +.toolbar-main .handle:hover { + cursor: pointer; +} +.toolbar-main .horizontal .toolbar-list li { + float: left; +} +.toolbar-main .horizontal .toolbar-list li + li { + margin-left: 0.5em; /* LTR */ +} +.toolbar-main .horizontal .interactive-menu .handle, +.toolbar-main .horizontal .interactive-menu .level-2 { + display: none; +} +/** + * ToolBar icons. + */ +.toolbar-main .bar .tab, +.toolbar-main .bar .active .tab, +.toolbar-main .bar .tab:active, +.toolbar-main .level-1 > li > .box > a { + background-attachment: scroll; + background-color: transparent; + background-image: none; + background-position: -999em -999em; + background-repeat: no-repeat; +} +/** + * ToolBar tray orientation toggle. + */ +.toolbar-main .toggle-orientation { + display: none; +} +.toolbar-main .horizontal .toggle-orientation { + bottom: 0; + position: absolute; + right: 0; + top: 0; +} +.toolbar-main .vertical .toggle-orientation { + float: right; + width: 100%; +} +@media screen and (min-width: 16.5em) { + .toolbar-main .toggle-orientation { + display: block; + } + .toolbar-main .administration .toggle-orientation { + display: none; + } +} +@media screen and (min-width: 28.125em) { + .toolbar-main .administration .toggle-orientation { + display: block; + } +} diff --git a/core/modules/toolbar/css/toolbar.icons-rtl.css b/core/modules/toolbar/css/toolbar.icons-rtl.css new file mode 100644 index 0000000..e69de29 diff --git a/core/modules/toolbar/css/toolbar.icons.css b/core/modules/toolbar/css/toolbar.icons.css new file mode 100644 index 0000000..8ca753f --- /dev/null +++ b/core/modules/toolbar/css/toolbar.icons.css @@ -0,0 +1,79 @@ +/** + * @file toolbar.icons.css + */ + +@media screen and (min-width: 16.5em) { + .toolbar-main .bar .tab, + .toolbar-main .bar .active .tab, + .toolbar-main .bar .tab:active, + .toolbar-main .level-1 > li > .box > a { + background-size: 1.75em 1.75em; + } + .toolbar-main .bar .tab, + .toolbar-main .bar .active .tab, + .toolbar-main .bar .tab:active { + background-position: center center; + text-indent: -9999px; /* LTR */ + width: 3em; + } + .toolbar-main .level-1 > li > .box > a { + background-position: 0.4545em center; + padding-left: 2.5em; + } + .toolbar-main .level-2 { + margin-left: 2.1667em; + } + /* ToolBar bar icons. */ + .toolbar-main .bar .home .tab{ + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDkuOTk5NSIgeTE9IjYiIHgyPSI0OS45OTk1IiB5Mj0iOTIuNjIyMyI+DQoJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0NDQ0NDQyIvPg0KCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiM5OTk5OTkiLz4NCjwvbGluZWFyR3JhZGllbnQ+DQo8cG9seWdvbiBmaWxsPSJ1cmwoI1NWR0lEXzFfKSIgcG9pbnRzPSI4Mi4wMDEsMzguODg0IDgyLjAwMSwxNS4wNzYgNjcuOTk5LDE1LjA3NiA2Ny45OTksMjQuNTAxIDUwLDYgMCw1Ny4zODMgMTIsNTcuMzgzIA0KCTEyLDkwLjYxNSA0Myw5MC42MTUgNDMsNjMuNDIyIDU3LjAwMSw2My40MjIgNTcuMDAxLDkwLjYxNSA4Ny45OTksOTAuNjE1IDg3Ljk5OSw1Ny4zODMgMTAwLDU3LjM4MyAiLz4NCjwvc3ZnPg0K); + } + .toolbar-main .bar .home .tab:active { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNTAiIHkxPSI5NSIgeDI9IjUwIiB5Mj0iOC4zNzc3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMTAxKSI+DQoJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0ZGRkZGRiIvPg0KCTxzdG9wICBvZmZzZXQ9IjAuOTk1MSIgc3R5bGU9InN0b3AtY29sb3I6I0U1RTVFNSIvPg0KPC9saW5lYXJHcmFkaWVudD4NCjxwb2x5Z29uIGZpbGw9InVybCgjU1ZHSURfMV8pIiBwb2ludHM9IjgyLjAwMSwzOC44ODQgODIuMDAxLDE1LjA3NiA2Ny45OTksMTUuMDc2IDY3Ljk5OSwyNC41MDEgNTAsNiAwLDU3LjM4MyAxMiw1Ny4zODMgDQoJMTIsOTAuNjE1IDQzLDkwLjYxNSA0Myw2My40MjIgNTcuMDAxLDYzLjQyMiA1Ny4wMDEsOTAuNjE1IDg3Ljk5OSw5MC42MTUgODcuOTk5LDU3LjM4MyAxMDAsNTcuMzgzICIvPg0KPC9zdmc+DQo=); + } + .toolbar-main .bar .administration .tab { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDkuOTk5NSIgeTE9IjUiIHgyPSI0OS45OTk1IiB5Mj0iOTQuMDEyNiI+DQoJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNDQ0NDQ0MiLz4NCgkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6Izk5OTk5OSIvPg0KCTwvbGluZWFyR3JhZGllbnQ+DQoJPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjU1ZHSURfMV8pIiBkPSJNMCw3Ni43Mjh2MTguMTgyaDEwMFY3Ni43MjhIMHogTTAsNHYxOC4xODJoMTAwVjRIMHoNCgkJIE0wLDQwLjM2M3YxOC4xODNoMTAwVjQwLjM2M0gweiIvPg0KPC9nPg0KPC9zdmc+DQo=); + } + .toolbar-main .bar .administration .tab:active, + .toolbar-main .bar .administration.active .tab { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDkuOTk5NSIgeTE9IjUiIHgyPSI0OS45OTk1IiB5Mj0iOTQuMDEyNiI+DQoJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRkZGRkYiLz4NCgkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0U1RTVFNSIvPg0KCTwvbGluZWFyR3JhZGllbnQ+DQoJPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9InVybCgjU1ZHSURfMV8pIiBkPSJNMCw3Ni43Mjh2MTguMTgyaDEwMFY3Ni43MjhIMHogTTAsNHYxOC4xODJoMTAwVjRIMHoNCgkJIE0wLDQwLjM2M3YxOC4xODNoMTAwVjQwLjM2M0gweiIvPg0KPC9nPg0KPC9zdmc+DQo=); + } + /* Main menu icons. */ + .toolbar-main #toolbar-link-admin-dashboard { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiM3Nzc3NzciIGQ9Ik05NC44MjUsNDAuNDU2aC03LjU3NmMtMC45MDgtMy42MzQtMi4zMzMtNy4wNjItNC4xOS0xMC4yMDVsNS4zMzItNS4zMzINCgljMS45NTItMS45NTIsMi4zMjgtNC43NDIsMC44MzgtNi4yMzJsLTguMDktOC4wOTFjLTEuNDktMS40ODktNC4yODEtMS4xMTQtNi4yMzIsMC44MzlsLTUuMjg5LDUuMjg4DQoJYy0zLjE1Mi0xLjg4OC02LjU5Ni0zLjM0LTEwLjI0OS00LjI3VjVjMC0yLjc2MS0xLjcwNy01LTMuODEzLTVINDQuMTEyYy0yLjEwNiwwLTMuODE0LDIuMjM5LTMuODE0LDV2Ny40NTQNCgljLTMuNjUzLDAuOTI5LTcuMDk2LDIuMzgxLTEwLjI0OCw0LjI2OWwtNS4yODctNS4yODdjLTEuOTUyLTEuOTUyLTQuNzQzLTIuMzI4LTYuMjMyLTAuODM5bC04LjA5MSw4LjA5MQ0KCWMtMS40OSwxLjQ4OS0xLjExNCw0LjI4LDAuODM4LDYuMjMybDUuMzMsNS4zM2MtMS44NTcsMy4xNDQtMy4yODMsNi41NzItNC4xOTEsMTAuMjA3SDQuODQzYy0yLjc2MSwwLTUsMS43MDctNSwzLjgxM3YxMS40NDINCgljMCwyLjEwNiwyLjIzOSwzLjgxMyw1LDMuODEzdjAuMDAyaDcuNjVjMC45MzEsMy41OTQsMi4zNjksNi45ODIsNC4yMywxMC4wOWwtNS40NDUsNS40NDVjLTEuOTUyLDEuOTUzLTIuMzI4LDQuNzQyLTAuODM5LDYuMjMyDQoJbDguMDkxLDguMDkxYzEuNDksMS40OSw0LjI4MSwxLjExMyw2LjIzMy0wLjgzOWw1LjQ4OC01LjQ4OGMzLjA5OCwxLjgzLDYuNDcxLDMuMjQ0LDEwLjA0Nyw0LjE1M3Y3Ljc3MWMwLDIuNzYxLDEuNzA4LDUsMy44MTQsNQ0KCWgxMS40NDNjMi4xMDcsMCwzLjgxNC0yLjIzOSwzLjgxNC01aC0wLjAwMXYtNy43NzFjMy41NzYtMC45MDksNi45NS0yLjMyNCwxMC4wNDktNC4xNTRsNS40ODksNS40ODgNCgljMS45NTEsMS45NTIsNC43NDIsMi4zMjksNi4yMzIsMC44MzlsOC4wOS04LjA5MWMxLjQ4OS0xLjQ4OSwxLjExMy00LjI4LTAuODM4LTYuMjMxbC01LjQ0Ny01LjQ0Nw0KCWMxLjg2LTMuMTA3LDMuMjk5LTYuNDk2LDQuMjI5LTEwLjA5aDcuNjUyYzIuNzYxLDAsNS0xLjcwNyw1LTMuODEzVjQ0LjI3Qzk5LjgyNSw0Mi4xNjQsOTcuNTg2LDQwLjQ1Niw5NC44MjUsNDAuNDU2eiBNNjguNzUsNTANCgljMCwxMC4zNTUtOC4zOTUsMTguNzUtMTguNzUsMTguNzVjLTEwLjM1NSwwLTE4Ljc1LTguMzk1LTE4Ljc1LTE4Ljc1YzAtMTAuMzU1LDguMzk1LTE4Ljc1LDE4Ljc1LTE4Ljc1DQoJQzYwLjM1NSwzMS4yNSw2OC43NSwzOS42NDUsNjguNzUsNTB6Ii8+DQo8L3N2Zz4NCg==); + } + .toolbar-main #toolbar-link-admin-content { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiM3Nzc3NzciIGQ9Ik02NC4wNjYsMGwyNi45NjksMjcuNjMxVjEwMEg4Ljk2NVYwSDY0LjA2NnogTTIwLjgwOSw4OC4xNTZoNTguMzl2LTU2LjU4SDU3Ljk3OVYxMS44NDFIMjAuODA5Vjg4LjE1NnoNCgkgTTI4Ljg2Nyw0OS41MDRoNDEuNzc3di00LjYwNUgyOC44NjdWNDkuNTA0eiBNMjguODY3LDYyLjY2NWg0MS43Nzd2LTQuNjA0SDI4Ljg2N1Y2Mi42NjV6IE0yOC44NjcsNzUuODE4aDQxLjc3N3YtNC42MDVIMjguODY3DQoJVjc1LjgxOHoiLz4NCjwvc3ZnPg0K); + } + .toolbar-main #toolbar-link-admin-structure { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwb2x5Z29uIGZpbGw9IiM3Nzc3NzciIHBvaW50cz0iODguMDAxLDY0LjA0NSA4OC4wMDEsNTEuOTk4IDg4LjAwMSw0OC4wMDIgODQuMDAxLDQ4LjAwMiA1MS45OTcsNDguMDAyIDUxLjk5NywzNS45NTMgDQoJNjQuMDAzLDM1Ljk1MyA2NC4wMDMsMTUuOTEgMzYsMTUuOTEgMzYsMzUuOTUzIDQ4LjAwMSwzNS45NTMgNDguMDAxLDQ4LjAwMiAxNS45OTgsNDguMDAyIDEyLjAwMyw0OC4wMDIgMTIuMDAzLDUxLjk5OCANCgkxMi4wMDMsNjQuMDQ1IDAsNjQuMDQ1IDAsODQuMDkyIDI4LDg0LjA5MiAyOCw2NC4wNDUgMTUuOTk4LDY0LjA0NSAxNS45OTgsNTEuOTk4IDQ4LjAwMSw1MS45OTggNDguMDAxLDY0LjA0NSAzNiw2NC4wNDUgDQoJMzYsODQuMDkyIDY0LjAwMyw4NC4wOTIgNjQuMDAzLDY0LjA0NSA1MS45OTcsNjQuMDQ1IDUxLjk5Nyw1MS45OTggODQuMDAxLDUxLjk5OCA4NC4wMDEsNjQuMDQ1IDcyLjAwMiw2NC4wNDUgNzIuMDAyLDg0LjA5MiANCgkxMDAsODQuMDkyIDEwMCw2NC4wNDUgIi8+DQo8L3N2Zz4NCg==); + } + .toolbar-main #toolbar-link-admin-appearance { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiM3Nzc3NzciIGQ9Ik01My40ODIsNTMuMDE2TDQwLjg3NSw2Ni4xNjhMMzAuMDYyLDU0Ljg2NGwyMS43MjYtMjkuODk5bDE0LjI2OSwxNC44OThMNTMuNDgyLDUzLjAxNnogTTU4LjE3MSwyNS40NDgNCgljMCwwLTE0LjY3NS0yMC42MjUtMTYuMjQtMjMuMzg3Yy0xLjU2NS0yLjc2My03LjIwMS0zLjIyOS0xMC44MDMsMS42MjJDMjkuNDEzLDUuOTk0LDMuOTc5LDMxLjc3MywyLjc2NCwzMy4yMjENCgljLTEuMjEzLDEuNDQ3LTEuOTUyLDQuNzc2LDAuMjk2LDYuNDc1YzIuMjQ4LDEuNzAyLDI0LjAzLDE4LjIyNiwyNC4wMywxOC4yMjZsMTAuODU1LDExLjM1NGwtMS40ODYsMS41MjUNCgljNC42MzYsNC44NjUsNS40MDYsNS42NzYsNi45MzcsNS43MjVjNC45NTgsMC4wOTMsMTQuOTExLTkuOTExLDE4LjAxNi01Ljg5NmM2LjIyLDguMDE1LDIyLjUyMSwyNi42MTgsMjIuNTIxLDI2LjYxOA0KCWMzLjM3NSwzLjU1Miw4LjgzMiwzLjY5MSwxMi4wOCwwLjI3YzMuMjc3LTMuNDI1LDMuMTQ4LTkuMTAyLTAuMjc1LTEyLjY1M2MwLDAtMTcuNzQyLTE3LjAzNS0yNS40NTEtMjMuNTYNCgljLTMuODI3LTMuMTk5LDUuNzYyLTEzLjYwMyw1LjYzNC0xOC44MjljLTAuMDQ5LTEuNTc5LTAuODEyLTIuMzg4LTUuNDU3LTcuMjU0bC0xLjQ3OCwxLjU4TDU4LjE3MSwyNS40NDh6Ii8+DQo8L3N2Zz4NCg==); + } + .toolbar-main #toolbar-link-admin-people { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiM3Nzc3NzciIGQ9Ik0xOC4yNzEsMjAuNjM1YzAsNy42NCw2LjIzMSwxMy44MTgsMTMuODY3LDEzLjgxOEMzOS44MTYsMzQuNDUzLDQ2LDI4LjI3NSw0NiwyMC42MzUNCgljMC03LjYzOC02LjE4My0xMy44MTgtMTMuODYyLTEzLjgxOEMyNC41MDIsNi44MTcsMTguMjcxLDEyLjk5NywxOC4yNzEsMjAuNjM1eiBNNTMuMzYzLDQwLjc3NQ0KCWMtNC43MjktMS42NDItMTEuNS0yLjU5Mi0yMS4yMjYtMi41OTJDMC43NzIsMzguMTgzLDAsNDcuMzE3LDAsNjAuODE2aDQ5LjMxOWMwLDAtMi4zMjUtNC43Ni0wLjg5My0xMC44NjgNCglDNDkuOTcsNDMuMzY5LDUzLjM2Myw0MC43NzUsNTMuMzYzLDQwLjc3NXogTTUzLjk5OSw1M2MwLDcuNjMzLDYuMTgzLDEzLjgxNiwxMy44NiwxMy44MTZjNy42MzYsMCwxMy44NjctNi4xODQsMTMuODY3LTEzLjgxNg0KCWMwLTcuNTkxLTYuMjMtMTMuODE4LTEzLjg2Ny0xMy44MThDNjAuMTgyLDM5LjE4Miw1My45OTksNDUuNDA5LDUzLjk5OSw1M3ogTTEwMCw5My4xODRjMC0xMy0wLjcyNy0yMi41OTYtMzIuMTQxLTIyLjU5Ng0KCWMtMzEuNDA4LDAtMzIuMTM2LDkuMTM3LTMyLjEzNiwyMi41OTZIMTAweiIvPg0KPC9zdmc+DQo=); + } + .toolbar-main #toolbar-link-admin-modules { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiM3Nzc3NzciIGQ9Ik0xMDAsOTEuMzM2TDc5LjM4OSw3MC43MjVsMTEuNzQzLTExLjc0MmMzLjEyNS0zLjEyNSwzLjEyNS04LjE5LTAuMDAxLTExLjMxM2wtMzAuOTA2LTMwLjkxbC02LjY4OCw2LjY4Nw0KCUwzMC4wOTIsMGwtNi4yNTksNi4yNmwyMy40NDUsMjMuNDQ0TDI5LjcwNCw0Ny4yNzhMNi4yNTksMjMuODMzTDAsMzAuMDkzbDIzLjQ0NSwyMy40NDNsLTYuNjg3LDYuNjg3bDMwLjkxMSwzMC45MQ0KCWMzLjEyMSwzLjEyMyw4LjE4OCwzLjEyMywxMS4zMTIsMGwxMS43NDQtMTEuNzQyTDkxLjMzNiwxMDBMMTAwLDkxLjMzNnoiLz4NCjwvc3ZnPg0K); + } + .toolbar-main #toolbar-link-admin-config { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiM3Nzc3NzciIGQ9Ik05LjA5Nyw1My4wMDJjOS40OTksOS41LDIzLjU0MSwxMS41NDQsMzUuMDQyLDYuMjI3bDM3LjYzNCwzNy42MzhjNC4xODEsNC4xODEsMTAuOTUzLDQuMTgxLDE1LjA5LDANCgljNC4xODItNC4xNCw0LjE4Mi0xMC45MSwwLTE1LjA5M0w1OS4yMjcsNDQuMTM5YzUuMzE5LTExLjUsMy4yNzQtMjUuNTQzLTYuMjIzLTM1LjA0MkM0NC41OTcsMC42OTEsMzIuNTUtMS45MDEsMjEuOTYsMS4zNw0KCWwyMy40OTcsMjMuNTAybC00LjQxMiwxNi4wODRsLTE2LjE3NCw0LjUwMUwxLjM3LDIxLjk2Qy0xLjkwMSwzMi41NSwwLjY5MSw0NC41OTcsOS4wOTcsNTMuMDAyeiIvPg0KPC9zdmc+DQo=); + } + .toolbar-main #toolbar-link-admin-reports { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGZpbGw9IiM3Nzc3NzciIGQ9Ik0zNy4yMDYsMTguNzI2VjBMMTIuNDk4LDI0LjcwOGgxOC43MjZDMzQuNTI5LDI0LjcwOCwzNy4yMDYsMjIuMDMyLDM3LjIwNiwxOC43MjZ6Ii8+DQoJPHBhdGggZmlsbD0iIzc3Nzc3NyIgZD0iTTI3Ljk0Nyw1MC40OTJoNy40NjljMC44NDMsMCwxLjUyNS0wLjY4NSwxLjUyNS0xLjUyNXYtNy40NjZjMC0wLjg0MS0wLjY4Mi0xLjUzMi0xLjUyNS0xLjUzMmgtNy40NjkNCgkJYy0wLjgzOCwwLTEuNTIsMC42OTEtMS41MiwxLjUzMnY3LjQ2NkMyNi40MjgsNDkuODA4LDI3LjEwOSw1MC40OTIsMjcuOTQ3LDUwLjQ5MnoiLz4NCgk8cGF0aCBmaWxsPSIjNzc3Nzc3IiBkPSJNODEuNDk2LDBINDMuNTM5djIyLjI3NGMwLDQuODQtMy45MjQsOC43NjYtOC43NjMsOC43NjZIMTIuNDk4djYyLjk2MmMwLDMuMzExLDIuNjg4LDUuOTk4LDYsNS45OThoNjIuOTk5DQoJCWMzLjMxNywwLDYuMDA3LTIuNjg4LDYuMDA3LTUuOTk4VjUuOTk3Qzg3LjUwMywyLjY4OSw4NC44MTQsMCw4MS40OTYsMHogTTIzLjgwNSwzOS42NGMwLTEuMjYsMS4wMjMtMi4yODgsMi4yODgtMi4yODhoMTEuMTgzDQoJCWMxLjI2LDAsMi4yODcsMS4wMjgsMi4yODcsMi4yODh2MTEuMThjMCwxLjI2Ni0xLjAyNywyLjI4Ny0yLjI4NywyLjI4N0gyNi4wOTNjLTEuMjY1LDAtMi4yODgtMS4wMjEtMi4yODgtMi4yODdWMzkuNjR6DQoJCSBNNzYuMTkzLDgxLjM5NmMwLDEuODI2LTEuNDc5LDMuMzA2LTMuMzAxLDMuMzA2SDI3LjEwOWMtMS44MjcsMC0zLjMwNS0xLjQ3OS0zLjMwNS0zLjMwNnYtMS4xMDVjMC0xLjgyLDEuNDc4LTMuMzAyLDMuMzA1LTMuMzAyDQoJCWg0NS43ODRjMS44MjIsMCwzLjMwMSwxLjQ4LDMuMzAxLDMuMzAyVjgxLjM5NnogTTc2LjE5Myw2My43NDhjMCwxLjgyMi0xLjQ3OSwzLjMwMi0zLjMwMSwzLjMwMkgyNy4xMDkNCgkJYy0xLjgyNywwLTMuMzA1LTEuNDc5LTMuMzA1LTMuMzAydi0xLjEwNWMwLTEuODI2LDEuNDc4LTMuMzAzLDMuMzA1LTMuMzAzaDQ1Ljc4NGMxLjgyMiwwLDMuMzAxLDEuNDc3LDMuMzAxLDMuMzAzVjYzLjc0OHoNCgkJIE03Ni4xOTMsNDYuNjk2YzAsMS44MjYtMS40NzksMy4zMDYtMy4zMDEsMy4zMDZINDYuMjc3Yy0xLjgyMSwwLTMuMzAyLTEuNDc5LTMuMzAyLTMuMzA2di0xLjEwNWMwLTEuODI1LDEuNDgxLTMuMzAzLDMuMzAyLTMuMzAzDQoJCWgyNi42MTZjMS44MjMsMCwzLjMwMywxLjQ3OCwzLjMwMywzLjMwM3YxLjEwNUg3Ni4xOTN6Ii8+DQo8L2c+DQo8L3N2Zz4NCg==); + } + .toolbar-main #toolbar-link-admin-help { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiM3Nzc3NzciIGQ9Ik0xMDAsNTBjMCwyNy42MTQtMjIuMzg3LDUwLTUwLjAwMSw1MFMwLDc3LjYxMywwLDUwQzAsMjIuMzg2LDIyLjM4NSwwLDQ5Ljk5OSwwUzEwMCwyMi4zODYsMTAwLDUweg0KCSBNNTUuMjA5LDY1LjQzNHYtMy4yNjhjMC0yLjE3NiwwLjQ2Mi0zLjkzOCwxLjM4OS01LjI3OWMwLjkyNC0xLjM0LDMuMTMxLTMuMzAxLDYuNjE1LTUuODgxYzUuMDgyLTMuNjI1LDguNTIxLTYuODkyLDEwLjM0Mi05Ljc5Nw0KCWMxLjgxMy0yLjkwNSwyLjcyMS02LjM0OSwyLjcyMS0xMC4zNDJjMC01Ljk4Ny0yLjIwMy0xMC43NzgtNi42MTMtMTQuMzcyYy00LjQwOC0zLjU5MS0xMC4zNTItNS4zODktMTcuODI2LTUuMzg5DQoJYy05LjA3MSwwLTE3LjY1OSwyLjI2Ni0yNS43NDgsNi44MDVsNS45MzMsMTEuOTIxYzYuOTY4LTMuNTU4LDEzLjE3My01LjMzNSwxOC42MTgtNS4zMzVjMy4xMjEsMCw1LjU1MSwwLjYyMSw3LjI5MywxLjg1Mg0KCWMxLjc0MSwxLjIzMSwyLjYxMiwzLjAyOCwyLjYxMiw1LjM4OGMwLDIuMTAzLTAuNjA0LDQuMDA5LTEuODIzLDUuNzE2Yy0xLjIxOSwxLjcwOC0zLjcyOSwzLjkyLTcuNTM5LDYuNjQxDQoJYy0zLjk1NCwyLjkwNi02LjY3Niw1LjY0Mi04LjE2Niw4LjIxOWMtMS40OTEsMi41NzgtMi4yMzEsNS42MDctMi4yMzEsOS4wOTJ2NC4wMjlINTUuMjA5eiBNNDEuNTQ0LDg4LjI3MQ0KCWMxLjY2NywxLjYxMiw0LjAyOSwyLjQyMiw3LjA3OCwyLjQyMmMyLjk3MiwwLDUuMzAxLTAuODI0LDYuOTY4LTIuNDc4YzEuNjY1LTEuNjU1LDIuNTAzLTMuOTE0LDIuNTAzLTYuNzc2DQoJYzAtMi45NzYtMC44MjEtNS4yNTgtMi40NzYtNi44NjFjLTEuNjU0LTEuNTk4LTMuOTgtMi4zOTUtNi45OTUtMi4zOTVjLTMuMTIzLDAtNS40OTcsMC43ODItNy4xMywyLjM0Mg0KCWMtMS42MzUsMS41NTktMi40NDksMy44NjMtMi40NDksNi45MTRDMzkuMDQyLDg0LjM3OSwzOS44NzgsODYuNjU2LDQxLjU0NCw4OC4yNzF6Ii8+DQo8L3N2Zz4NCg==); + } +} + +@media screen and (min-width: 28.125em) { + .toolbar-main .bar .tab, + .toolbar-main .bar .active .tab, + .toolbar-main .bar .tab:active { + background-position: 0.5em center; + padding-left: 2.5em; /* LTR */ + text-indent: 0; + width: auto; + } +} diff --git a/core/modules/toolbar/css/toolbar.theme-rtl.css b/core/modules/toolbar/css/toolbar.theme-rtl.css new file mode 100644 index 0000000..e8cb8cf --- /dev/null +++ b/core/modules/toolbar/css/toolbar.theme-rtl.css @@ -0,0 +1,7 @@ +.toolbar-main .bar .menu li + li { + margin-left: auto; + margin-right: 1em; +} +.toolbar-main .shortcuts .menu li { + float: right; +} diff --git a/core/modules/toolbar/css/toolbar.theme.css b/core/modules/toolbar/css/toolbar.theme.css new file mode 100644 index 0000000..3259bca --- /dev/null +++ b/core/modules/toolbar/css/toolbar.theme.css @@ -0,0 +1,255 @@ +/** + * @file toolbar.theme.css + */ +.toolbar-main { + font-family: "Source Sans Pro", "Lucida Grande", Verdana, sans-serif; + /* Set base font size to 13px based on root ems. */ + font-size: 0.8125rem; + -moz-tap-highlight-color: rgba(0,0,0,0); + -o-tap-highlight-color: rgba(0,0,0,0); + -webkit-tap-highlight-color: rgba(0,0,0,0); + tap-highlight-color: rgba(0,0,0,0); + -moz-touch-callout: none; + -o-touch-callout: none; + -webkit-touch-callout: none; + touch-callout: none; +} +.toolbar-main a { + text-decoration: none; +} +.toolbar-main a:hover { + text-decoration: underline; +} +/** + * Toolbar bar. + */ +.toolbar-main .bar { + background-color: #0f0f0f; + box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.3333); + color: #dddddd; +} +.toolbar-main .bar li:hover { + 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%); +} +.toolbar-main .bar li.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%); +} +.toolbar-main .bar a { + color: #ffffff; + cursor: pointer; + padding: 1em 0.3333em; +} +@media screen and (min-width: 16.5em) { + .toolbar-main .bar a { + padding-left: 1.3333em; + padding-right: 1.3333em; + } +} +/** + * Toolbar tray. + */ +.toolbar-main .tray { + background-color: #ffffff; + border-right: 1px solid #aaaaaa; + box-shadow: 0px 0px 3px 1px rgba(0, 0, 0, 0.3333); +} +.toolbar-main .horizontal .tray { + background-color: #f5f5f5; +} +.toolbar-main .tray a { + color: #333333; +} +.toolbar-main .horizontal .toolbar-list { + background-color: #ffffff; +} +.toolbar-main .toolbar-list a { + padding: 1em 0.3333em; +} +.toolbar-main .vertical .toolbar-list { + border-bottom: 1px solid #dddddd; +} +.toolbar-main .vertical .toolbar-list a { + margin-right: 3.5em; +} +.toolbar-main .vertical .level-1 > li + li, +.toolbar-main .vertical .toolbar-list > li + li, +.toolbar-main .vertical .toolbar-list > .menu > li + li { + border-top: 1px solid #dddddd; +} +.toolbar-main .vertical .level-1 a { + font-weight: bold; +} +.toolbar-main .level-2 ul { + margin-left: 0.25em; +} +.toolbar-main .vertical .level-2 ul { + border-bottom-style: solid; + border-top-style: solid; + border-bottom-width: 1px; + border-top-width: 1px; +} +.toolbar-main .vertical .level-2 li:last-child > ul { + border-bottom: 0; +} +.toolbar-main .level-2 a { + color: #333333; + padding-bottom: 0.6667em; + padding-top: 0.6667em; +} +.toolbar-main .vertical .level-2 a { + font-weight: normal; +} +.toolbar-main .level-3 { + border-color: #cccccc; +} +.toolbar-main .level-3 li { + padding-left: 0.1667em; +} +.toolbar-main .level-3 > li { + background-color: #f5f5f5; +} +.toolbar-main .level-3 a { + color: #303030; +} +.toolbar-main .level-4 { + border-color: #bbbbbb; +} +.toolbar-main .level-4 > li { + background-color: #e5e5e5; +} +.toolbar-main .level-4 a { + color: #2d2d2d; +} +.toolbar-main .level-5 { + border-color: #aaaaaa; +} +.toolbar-main .level-5 > li { + background-color: #d5d5d5; +} +.toolbar-main .level-5 a { + color: #2a2a2a; +} +.toolbar-main .level-6 { + background-color: #c5c5c5; +} +.toolbar-main .level-6 > li{ + border-color: #888888; +} +.toolbar-main .level-6 a { + color: #272727; +} +.toolbar-main .level-7 { + background-color: #d5d5d5; +} +.toolbar-main .level-7 > li { + border-color: #777777; +} +.toolbar-main .level-7 a { + color: #242424; +} +.toolbar-main .level-8 { + background-color: #e5e5e5; +} +.toolbar-main .level-8 > li { + border-color: #666666; +} +.toolbar-main .level-8 a { + color: #212121; +} +.toolbar-main .level-9 { + background-color: #f5f5f5; +} +.toolbar-main .level-9 > li { + border-color: #555555; +} +.toolbar-main .level-9 a { + color: #1e1e1e; +} +/** + * ToolBar tray - horizontal. + */ +.toolbar-main .horizontal .level-1 > li.open > .box { + border-bottom-color: white; + border-bottom-width: 1px; + border-bottom-style: solid; + position: relative; + margin-top: -1px; + top: 1px; +} +.toolbar-main .horizontal .level-2 ul { + border-left: 1px solid #bcbcbc; +} +.toolbar-main .horizontal .level-2 a { + padding: 0.6667em 1em; +} + +/** + * Interactive menu. + */ + +.toolbar-main .handle { + background-attachment: scroll; + background-color: transparent; + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjI1NiAzNDYgMTAwIDEwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAyNTYgMzQ2IDEwMCAxMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzk5OTk5OSIgZD0iTTI1NiwzOTZjMCwyNy41OTgsMjIuNCw1MCw1MCw1MGMyNy41OTgsMCw1MC0yMi40MDIsNTAtNTBjMC0yNy42LTIyLjQwMi01MC01MC01MA0KCQlDMjc4LjQsMzQ2LDI1NiwzNjguNCwyNTYsMzk2eiBNMjYxLDM5NmMwLTI0Ljg1MiwyMC4xNDktNDUsNDUtNDVjMjQuODU0LDAsNDUsMjAuMTQ4LDQ1LDQ1YzAsMjQuODU0LTIwLjE0Niw0NS00NSw0NQ0KCQlDMjgxLjE0OSw0NDEsMjYxLDQyMC44NTQsMjYxLDM5NnoiLz4NCgk8cG9seWdvbiBmaWxsPSIjNTE4MUMyIiBwb2ludHM9IjMwNiw0MTEgMjgxLDM4NiAzMzEsMzg2IAkiLz4NCjwvZz4NCjwvc3ZnPg0K); + background-origin: content-box; + background-position: center center; + background-repeat: no-repeat; + background-size: 100% 100%; + border: 0; + bottom: 0; + display: block; + font-size: 1em; + height: 100%; + padding: 0.6667em 0em; + position: absolute; + right: 0; + text-indent: -999em; + top: 0; + width: 3.5em; + z-index: 1; +} +.toolbar-main .level-2 .handle { + padding-bottom: 0.4545em; + padding-top: 0.4545em; +} +.toolbar-main .handle.open { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjI1NiAzNDYgMTAwIDEwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAyNTYgMzQ2IDEwMCAxMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iIzk5OTk5OSIgZD0iTTM1NiwzOTZjMC0yNy42LTIyLjQwMi01MC01MC01MGMtMjcuNiwwLTUwLDIyLjQtNTAsNTBjMCwyNy41OTgsMjIuNCw1MCw1MCw1MA0KCUMzMzMuNTk4LDQ0NiwzNTYsNDIzLjU5OCwzNTYsMzk2eiBNMzUxLDM5NmMwLDI0Ljg0OS0yMC4xNTEsNDUtNDUsNDVjLTI0Ljg1NiwwLTQ1LTIwLjE1MS00NS00NWMwLTI0Ljg1NSwyMC4xNDQtNDUsNDUtNDUNCglDMzMwLjg0OSwzNTEsMzUxLDM3MS4xNDUsMzUxLDM5NnoiLz4NCjxwb2x5Z29uIGZpbGw9IiM3Nzc3NzciIHBvaW50cz0iMzA2LDM4MSAzMzEsNDA2IDI4MSw0MDYgIi8+DQo8L3N2Zz4NCg==); +} + +/* Orientation toggle */ + +.toolbar-main .toggle-orientation { + background-color: #f5f5f5; + padding: 1em; +} +.toolbar-main .horizontal .toggle-orientation { + border-left: 1px solid #c9c9c9; /* LTR */ +} +.toolbar-main .toggle-orientation > .lining { + background-color: #ffffff; + border: 1px solid #c9c9c9; + float: right; /* LTR */ + padding: 0.1667em; +} +.toolbar-main .toggle-orientation button { + background-color: transparent; + border: 1px solid #b0b0b0; + cursor: pointer; + display: inline-block; + float: left; + height: 0.9em; + text-indent: -999em; + width: 1.4562em; +} +.toolbar-main .toggle-orientation [value="vertical"] { + border-left-width: 7px; + margin-left: 0.5em; +} +.toolbar-main .toggle-orientation [value="horizontal"] { + border-top-width: 4px; +} +.toolbar-main .toggle-orientation .active { + border-color: #3F9AD3; +} diff --git a/core/modules/toolbar/js/toolbar.js b/core/modules/toolbar/js/toolbar.js new file mode 100755 index 0000000..c7bde50 --- /dev/null +++ b/core/modules/toolbar/js/toolbar.js @@ -0,0 +1,531 @@ +/** + * @file toolbar.js + * + * Defines the behavior of the Drupal administration toolbar. + */ +(function ($, _) { + +"use strict"; + +Drupal.toolbar = Drupal.toolbar || {}; +var transitionEnd = "transitionEnd.toolbar webkitTransitionEnd.toolbar transitionend.toolbar msTransitionEnd.toolbar oTransitionEnd.toolbar"; + +/** + * Attach toggling behavior and notify the overlay of the toolbar. + */ +Drupal.behaviors.toolbar = { + attach: function(context, settings) { + var options = _.extend(this.options, ('toolbar' in settings) ? settings.toolbar : {}); + var $toolbar = $(context).find('#toolbar').once('toolbar'); + if ($toolbar.length) { + $toolbar + .addClass('toolbar-main') + .on('trayregistered', decorateInteractiveMenu); + var toolbar = new ToolBar($toolbar, options); + var tray, $tray, $trays, tab, $tab, $tabs, name, i; + // Register trays. + Drupal.toolbar.trays = []; + $trays = $toolbar.find('.tray'); + for (i = 0; i < $trays.length; i++) { + $tray = $($trays[i]); + tray = new Tray($tray); + Drupal.toolbar.trays.push(tray); + $tray.data('toolbar', { + 'tray': tray + }); + toolbar.registerTray(tray); + } + // Associate the bar tabs with the trays. + Drupal.toolbar.tabs = []; + $tabs = $toolbar.find('.bar .tab'); + for (i = 0; i < $tabs.length; i++) { + $tab = $($tabs[i]); + tab = new Tab($tab); + Drupal.toolbar.tabs.push(tab); + name = tab.$el.data().toolbarTray || ''; + if (name.length) { + tray = toolbar.getTray(name); + $tab.data('toolbar', { + 'tab': tab + }); + tab.registerTray(tray); + toolbar.registerTab(tab); + } + } + // Set up switching between the vertical and horizontal presentation + // of the toolbar trays based on a breakpoint. + if (options.breakpoints && options.breakpoints['module.toolbar.wide'] !== undefined) { + var mql = matchMedia(options.breakpoints['module.toolbar.wide']); + mql.addListener(toolbar.mediaQueryChangeHandler); + toolbar.mediaQueries.push(mql); + if (mql.matches) { + toolbar.mediaQueryChangeHandler(mql); + } + } + } + }, + options: { + breakpoints: null + } +}; +/** + * A toolbar is an administration action button container. + */ +function ToolBar ($toolbar, options) { + this.$toolbar = $toolbar; + this.$bar = $toolbar.find('.bar'); + this.height = 0; + this.barHeight = 0; + this.trays = []; + this.tabs = []; + this.activeTab = null; + this.mediaQueries = []; + this.ui = { + 'activeClass': 'active', + 'trayOpenBodyClass': 'toolbar-tray-open', + }; + // Bind all ToolBar methods to the instance. + _.bindAll(this); + // Recalculate the offset top on screen resize. + // Use throttle to prevent setHeight from being called too frequently. + var setHeight = _.debounce(this.setHeight, 250); + $(window) + .on({ + 'resize.toolbar': setHeight + }); + // Toolbar event handlers. + this.$toolbar + .on('setup.toolbar', this.setHeight) + .on('click.toolbar', '.bar .tab', this.toggleTray) + .on('click.toolbar', '.tray .toggle-orientation button', this.orientationChangeHandler) + .on(transitionEnd, '.tray.active', this.setHeight) + .trigger('setup.toolbar'); +}; +/** + * Extend the prototype of the ToolBar class. + */ +$.extend(ToolBar.prototype, { + /** + * The height of the toolbar offsets the top of the page content. + * + * Page components can register with the offsettopchange event to know when + * the height of the toolbar changes. + */ + setHeight: function (event) { + var height = 0; + var tray, $tray, $trays, trayH; + this.barHeight = this.$bar.outerHeight(); + var bhpx = this.barHeight + 'px'; + height += this.barHeight; + // Set the top of the all the trays to the height of the bar. + $trays = this.$toolbar.find('.tray'); + for (var i = $trays.length - 1; i >= 0; i--) { + tray = $trays[i]; + if (!tray.style.top.length || (tray.style.top !== bhpx)) { + tray.style.top = bhpx; + } + }; + // Get the height of the active horizontal tray and include it in the total + // height of the toolbar. + $tray = $trays.filter('.active.horizontal'); + if ($tray.length > 0) { + var trayH = $tray.outerHeight(); + height += trayH; + } + // Indicate the height of the toolbar in the attribute data-offset-top. + if (this.height !== height) { + this.height = height; + this.$toolbar.attr('data-offset-top', height); + // Alter the padding on the top of the body element. + $('body').css('padding-top', height); + $(document).trigger('offsettopchange', height); + } + }, + /** + * + */ + registerTray: function (tray) { + this.trays.push(tray); + this.$toolbar.trigger('trayregistered', tray); + }, + /** + * + */ + toggleTray: function (event) { + var $tab = $(event.target); + var tab = $tab.data('toolbar').tab; + if (tab.tray) { + event.preventDefault(); + var disableTabs = _.without(this.tabs, tab); + for (var i = disableTabs.length - 1; i >= 0; i--) { + if (disableTabs[i]) { + disableTabs[i].toggle(false); + } + }; + tab.toggle(); + this.activeTab = (tab.active) ? tab : null; + this.setBodyState(); + this.setHeight(); + this.$toolbar.trigger('traytoggled', tab.tray); + } + }, + /** + * + */ + getTray: function (name) { + for (var i = 0; i < this.trays.length; i++) { + if (this.trays[i].name === name) { + return this.trays[i]; + } + } + return; + }, + /** + * + */ + registerTab: function (tab) { + this.tabs.push(tab); + this.$toolbar.trigger('tabregistered', tab); + }, + /** + * + */ + orientationChangeHandler: function (event) { + var $button = $(event.target); + var orientation = event.target.value; + var tray = $button.closest('.tray').data('toolbar').tray; + this.changeOrientation(tray, orientation, true); + this.setBodyState(); + this.setHeight(); + this.$toolbar.trigger('toolbarorientationchanged', orientation); + }, + /** + * + */ + mediaQueryChangeHandler: function (mql) { + var orientation = (mql.matches) ? 'horizontal' : 'vertical'; + this.changeOrientation(this.trays, orientation); + this.setBodyState(); + this.setHeight(); + this.$toolbar.trigger('toolbarorientationchanged', orientation); + }, + /** + * + */ + changeOrientation: function (trays, orientation, isOverride) { + trays = (!_.isArray(trays)) ? [trays] : trays; + for (var i = trays.length - 1; i >= 0; i--) { + trays[i].changeOrientation(orientation, isOverride); + }; + }, + /** + * + */ + setBodyState: function () { + var $body = $('body') + .removeClass('toolbar-vertical toolbar-horizontal'); + if (this.activeTab) { + $body + .addClass('toolbar-tray-open') + .addClass('toolbar-' + this.activeTab.tray.getOrientation()); + } + else { + $body + .removeClass('toolbar-tray-open'); + } + } +}); + +/** + * Toolbar tray. + */ +function Tray ($tray) { + this.$el = $tray; + this.name = this.$el.data()['toolbarTray'] || this.$el.attr('id') ||'no name'; + this.active = false; + this.orientation = 'vertical'; + this.isOrientationLocked = false; + this.setup.apply(this, arguments); +} + +/** + * Extend the prototype of the Tray. + */ +_.extend(Tray.prototype, { + /** + * + */ + setup: function () { + this.$el + .addClass(this.orientation) + .find('.lining') + .append(Drupal.theme('toolbarOrientationToggle')); + this.toggleOrientationToggle(); + }, + /** + * + */ + toggle: function (open) { + this.$el.toggleClass('active', open); + }, + /** + * + */ + changeOrientation: function (orientation, isOverride) { + if (isOverride && orientation === 'vertical') { + this.isOrientationLocked = true; + } + if (isOverride && orientation === 'horizontal') { + this.isOrientationLocked = false; + } + if (!this.isOrientationLocked && orientation === 'horizontal' && this.orientation === 'vertical') { + var self = this; + this.orientation = orientation; + this.$el + .removeClass('vertical') + .addClass('horizontal'); + this.toggleOrientationToggle(); + } + if (orientation === 'vertical' && this.orientation === 'horizontal') { + this.orientation = orientation; + this.$el + .removeClass('horizontal') + .addClass('vertical'); + this.toggleOrientationToggle(); + } + }, + /** + * + */ + getOrientation: function () { + return (this.isOrientationLocked) ? 'vertical' : this.orientation; + }, + /** + * Change the orientation toggle active state. + */ + toggleOrientationToggle: function () { + this.$el + .find('[value="' + this.orientation + '"]') + .removeClass('active') + .siblings() + .addClass('active'); + } +}); + +function Tab ($tab) { + this.$el = $tab; + this.active = false; + this.name = this.$el.data()['toolbarTray'] || this.$el.attr('id') ||'no name'; + this.tray; +} + +/** + * Extend the prototype of the Tray. + */ +_.extend(Tab.prototype, { + /** + * + */ + toggle: function (open) { + this.active = (open !== undefined) ? open : !this.active; + this.$el.parent('li').toggleClass('active', this.active); + if (this.tray) { + this.tray.toggle(this.active); + } + }, + /** + * + */ + registerTray: function (tray) { + this.tray = tray; + }, +}); + +/** + * A toggle is an interactive element often bound to a click handler. + * + * @return {String} + * A string representing a DOM fragment. + */ +Drupal.theme.toolbarOrientationToggle = function () { + return '
'; +}; +/** + * A toggle is an interactive element often bound to a click handler. + * + * @return {String} + * A string representing a DOM fragment. + */ +Drupal.theme.interactionMenuItemToggle = function (options) { + return ''; +}; + + +/** + * Interactive menu setup methods. + */ +function decorateInteractiveMenu (event, tray) { + if (tray.name === 'administration') { + tray.decorate = interactiveMenuDecorator(); + tray.decorate('.interactive-menu > .menu'); + } +} + +/** + * Decorate a menu with markup and classes for attaching behaviors. + */ +var interactiveMenuDecorator = function () { + + var ui = { + 'handleOpen': Drupal.t('Open'), + 'handleClose': Drupal.t('Close') + }; + + var processLists = function (event) { + event.stopPropagation(); + // Mark up the lists and items. + $(event.target) + .trigger('listChange'); + }; + var toggleList = function (event) { + // The toggle. + var $toggle = $(event.target); + var $item = $toggle.closest('li'); + var $list = $item.children('ul'); + var isHidden = $list.hasClass('dormant'); + // Close open siblings. + $item.siblings().filter('.open').find('.handle').trigger('click'); + // Toggle the item open state. + $item + [((isHidden) ? 'add' : 'remove') + 'Class']('open'); + // Toggle the item list visibility. + $list + [((isHidden) ? 'remove' : 'add') + 'Class']('dormant'); + // Twist the toggle. + $toggle + [((isHidden) ? 'add' : 'remove') + 'Class']('open'); + // Adjust the toggle text. + $toggle + .text((isHidden) ? ui.handleClose : ui.handleOpen) + .attr('aria-pressed', isHidden); + // Fire an event to signify that a list has been toggled. + $item.trigger('itemtoggled', [$item.parent().data('toolbar').level, !isHidden]); + }; + var initItems = function (event) { + // The accordion wrapper. + var $wrapper = $(event.target); + var rootClass = 'root'; + var boxClass = 'box'; + var handleClass = 'handle'; + // Get lists and items. + var $root = $wrapper.children('.' + rootClass); + var $ul = $wrapper.find('ul'); + var $li = $wrapper.find('li'); + // Basic setup + $ul + .each(function (index, element) { + $(this).data('toolbar', { + processed: false, + type: 'list', + level: NaN + }); + }); + // Initialize items and their links. + $li + .each(function (index, element) { + $(this).data('toolbar', { + processed: false, + type: 'item' + }); + }) + // Add a class to item links. + .children('a') + .wrap( + $('
', { + 'class': boxClass + }) + ) + .end() + // Add a handle to each list item if it has a menu. + .each(function (index, element) { + var $item = $(this); + if ($item.children('ul').length > 0) { + $item + .children('.' + boxClass) + .prepend(Drupal.theme('interactionMenuItemToggle', { + 'class': handleClass, + 'text': ui.handleOpen + }) + ); + } + }); + }; + /** + * Adds a level class to each list based on its depth in the menu. + */ + var markListLevels = function ($lists, level) { + level = (typeof level === 'object') ? 1 : level; + $lists + .addClass('level-' + level) + .each(function (index, element) { + $(this).data().toolbar.level = level; + }); + $lists = $lists.children('li').children('ul'); + if ($lists.length > 0) { + markListLevels($lists, (level + 1)); + } + }; + var setLevelVisibility = function ($lists, visibleAfter) { + var level; + $lists + .each(function (index, element) { + var $this = $(this); + level = $(this).data().toolbar.level; + if (level > visibleAfter) { + $this.addClass('dormant'); + } + else { + $this.addClass('visible'); + } + }); + $lists = $lists.children('li').children('ul'); + if ($lists.length > 0) { + setLevelVisibility($lists, visibleAfter); + } + }; + return function (selector) { + var context = this; + // Find any menus that have already been decorated. + var $wrapper = this.$el.find(selector); + // Decorate any menus that have not been. + $wrapper + .once('decorate-menu') + .addClass('clearfix') + .each(function (index, element) { + var $root = $(this).addClass('root'); + // Create a set of list-manipulation callbacks. + // Called when items are added or removed. + var listUpdate = $.Callbacks(); + listUpdate.add(_.bind(initItems, context)); + listUpdate.add(_.bind(markListLevels, context, $root)); + listUpdate.add(_.bind(setLevelVisibility, context, $root, 1)); + // Wrap the list in a div to provide a positioning context. + $wrapper = $().add($wrapper).add( + $root + .wrap('
') + .parent() + // Bind event handlers. + .on('setup.toolbar', _.bind(processLists, context)) + .on('listChange.toolbar', listUpdate.fire) + .on('click.toolbar', '.handle', _.bind(toggleList, context)) + /* @todo + .on('clean.toolbar.accordionMode', 'li', cleanItem) + .on('activate.toolbar.accordionMode', 'li', activateItem) + */ + .trigger('setup') + ); + }); + return $wrapper; + }; +}; +}(jQuery, _)); diff --git a/core/modules/toolbar/templates/toolbar.tpl.php b/core/modules/toolbar/templates/toolbar.tpl.php index b3d561c..572f4ff 100644 --- a/core/modules/toolbar/templates/toolbar.tpl.php +++ b/core/modules/toolbar/templates/toolbar.tpl.php @@ -19,15 +19,10 @@ * @ingroup themeable */ ?> - + + +
diff --git a/core/modules/toolbar/toolbar-rtl.css b/core/modules/toolbar/toolbar-rtl.css deleted file mode 100644 index e121547..0000000 --- a/core/modules/toolbar/toolbar-rtl.css +++ /dev/null @@ -1,37 +0,0 @@ - -#toolbar, -#toolbar * { - text-align: right; -} -#toolbar ul li { - float: right; -} -#toolbar ul li a { - display: inline-block; - float: none; - zoom: 1; -} -#toolbar div.toolbar-menu { - padding: 5px 50px 5px 50px; -} -#toolbar-user { - float: left; -} -#toolbar ul#toolbar-user li { - float: none; - display: inline; -} -#toolbar-menu { - float: none; -} -#toolbar-home { - float: right; -} -#toolbar ul li.home a { - position: absolute; - right: 10px; -} -#toolbar div.toolbar-menu a.toggle { - left: 10px; - right: auto; -} diff --git a/core/modules/toolbar/toolbar.css b/core/modules/toolbar/toolbar.css deleted file mode 100644 index bd18110..0000000 --- a/core/modules/toolbar/toolbar.css +++ /dev/null @@ -1,129 +0,0 @@ - -body.toolbar { - padding-top: 2.2em; -} -body.toolbar-drawer { - padding-top: 5.3em; -} - -/** - * Aggressive resets so we can achieve a consistent look in hostile CSS - * environments. - */ -#toolbar, -#toolbar * { - border: 0; - font-size: 100%; - line-height: inherit; - list-style: none; - margin: 0; - outline: 0; - padding: 0; - text-align: left; /* LTR */ - vertical-align: baseline; -} - -/** - * Base styles. - * - * We use a keyword for the toolbar font size to make it display consistently - * across different themes, while still allowing browsers to resize the text. - */ -#toolbar { - background: #666; - color: #ccc; - font: normal small "Lucida Grande", Verdana, sans-serif; - left: 0; - margin: 0 -20px; - padding: 0 20px; - position: fixed; - right: 0; - top: 0; - box-shadow: 0 3px 20px #000; - z-index: 600; -} -#toolbar div.collapsed { - display: none; - visibility: hidden; -} -#toolbar a { - color: #fff; - font-size: .846em; - text-decoration: none; -} -#toolbar ul li, -#toolbar ul li a { - float: left; /* LTR */ -} - -/** - * Administration menu. - */ -#toolbar div.toolbar-menu { - background: #000; - line-height: 20px; - padding: 5px 50px 5px 10px; /* LTR */ - position: relative; -} -#toolbar-home a span { - background: url(toolbar.png) no-repeat 0 -45px; - display: block; - height: 14px; - margin: 3px 0px; - text-indent: -9999px; - vertical-align: text-bottom; - width: 11px; -} -#toolbar-user { - float: right; /* LTR */ -} -#toolbar-menu { - float: left; /* LTR */ -} -#toolbar div.toolbar-menu a.toggle { - background: url(toolbar.png) 0 -20px no-repeat; - bottom: 0; - cursor: pointer; - height: 25px; - overflow: hidden; - position: absolute; - right: 10px; /* LTR */ - text-indent: -9999px; - width: 25px; -} -#toolbar div.toolbar-menu a.toggle:focus, -#toolbar div.toolbar-menu a.toggle:hover { - background-position: -50px -20px; -} -#toolbar div.toolbar-menu a.toggle-active { - background-position: -25px -20px; -} -#toolbar div.toolbar-menu a.toggle-active.toggle:focus, -#toolbar div.toolbar-menu a.toggle-active.toggle:hover { - background-position: -75px -20px; -} -#toolbar div.toolbar-menu ul li a { - padding: 0 10px; - border-radius: 10px; -} -#toolbar div.toolbar-menu ul li a:focus, -#toolbar div.toolbar-menu ul li a:hover, -#toolbar div.toolbar-menu ul li a:active, -#toolbar div.toolbar-menu ul li a.active:focus { - background: #444; -} -#toolbar div.toolbar-menu ul li a.active:hover, -#toolbar div.toolbar-menu ul li a.active:active, -#toolbar div.toolbar-menu ul li a.active, -#toolbar div.toolbar-menu ul li.active-trail a { - background: url(toolbar.png) 0 0 repeat-x; - text-shadow: #333 0 1px 0; -} - -/** - * Collapsed drawer of additional toolbar content. - */ -#toolbar div.toolbar-drawer { - position: relative; - padding: 0 10px; -} diff --git a/core/modules/toolbar/toolbar.info b/core/modules/toolbar/toolbar.info old mode 100644 new mode 100755 index 758dc9c..1f3a375 --- a/core/modules/toolbar/toolbar.info +++ b/core/modules/toolbar/toolbar.info @@ -3,3 +3,8 @@ description = Provides a toolbar that shows the top-level administration menu it core = 8.x package = Core version = VERSION + +dependencies[] = config +dependencies[] = breakpoint + +configure = admin/structure/toolbar diff --git a/core/modules/toolbar/toolbar.js b/core/modules/toolbar/toolbar.js deleted file mode 100644 index 2353050..0000000 --- a/core/modules/toolbar/toolbar.js +++ /dev/null @@ -1,115 +0,0 @@ -(function ($) { - -"use strict"; - -Drupal.toolbar = Drupal.toolbar || {}; - -/** - * Attach toggling behavior and notify the overlay of the toolbar. - */ -Drupal.behaviors.toolbar = { - attach: function(context, settings) { - var $toolbar = $('#toolbar').once('toolbar'); - if ($toolbar.length) { - - // Set the initial state of the toolbar. - Drupal.toolbar.init(); - - $(window).on('resize.toolbar', Drupal.toolbar.height); - - // Toggling toolbar drawer. - $toolbar.find('a.toggle').once('toolbar-toggle').click(function(e) { - e.preventDefault(); - Drupal.toolbar.toggle(); - // Allow resize event handlers to recalculate sizes/positions. - $(window).triggerHandler('resize'); - }); - } - } -}; - -/** - * Retrieve last saved cookie settings and set up the initial toolbar state. - */ -Drupal.toolbar.init = function() { - // Retrieve the collapsed status from a stored cookie. - var collapsed = $.cookie('Drupal.toolbar.collapsed'); - - // Expand or collapse the toolbar based on the cookie value. - if (collapsed === '1') { - Drupal.toolbar.collapse(); - } - else { - Drupal.toolbar.expand(); - } -}; - -/** - * Collapse the toolbar. - */ -Drupal.toolbar.collapse = function() { - var toggle_text = Drupal.t('Show shortcuts'); - $('#toolbar div.toolbar-drawer').addClass('collapsed'); - $('#toolbar a.toggle') - .removeClass('toggle-active') - .attr('title', toggle_text) - .html(toggle_text); - $('body').removeClass('toolbar-drawer').css('paddingTop', Drupal.toolbar.height()); - $.cookie( - 'Drupal.toolbar.collapsed', - 1, - { - path: Drupal.settings.basePath, - // The cookie should "never" expire. - expires: 36500 - } - ); - Drupal.toolbar.height(); - $(document).trigger('offsettopchange'); -}; - -/** - * Expand the toolbar. - */ -Drupal.toolbar.expand = function() { - var toggle_text = Drupal.t('Hide shortcuts'); - $('#toolbar div.toolbar-drawer').removeClass('collapsed'); - $('#toolbar a.toggle') - .addClass('toggle-active') - .attr('title', toggle_text) - .html(toggle_text); - $('body').addClass('toolbar-drawer').css('paddingTop', Drupal.toolbar.height()); - $.cookie( - 'Drupal.toolbar.collapsed', - 0, - { - path: Drupal.settings.basePath, - // The cookie should "never" expire. - expires: 36500 - } - ); - Drupal.toolbar.height(); - $(document).trigger('offsettopchange'); -}; - -/** - * Toggle the toolbar. - */ -Drupal.toolbar.toggle = function() { - if ($('#toolbar div.toolbar-drawer').hasClass('collapsed')) { - Drupal.toolbar.expand(); - } - else { - Drupal.toolbar.collapse(); - } -}; - -Drupal.toolbar.height = function() { - // @TODO this needs to be cached outside this function. - var $toolbar = $('#toolbar'); - var height = $toolbar.outerHeight(); - $toolbar.attr('data-offset-top', height); - return height; -}; - -})(jQuery); diff --git a/core/modules/toolbar/toolbar.module b/core/modules/toolbar/toolbar.module old mode 100644 new mode 100755 index a54743a..4d1d004 --- a/core/modules/toolbar/toolbar.module +++ b/core/modules/toolbar/toolbar.module @@ -41,87 +41,21 @@ function toolbar_theme($existing, $type, $theme, $path) { 'render element' => 'toolbar', 'template' => 'toolbar', ); - $items['toolbar_toggle'] = array( - 'variables' => array( - 'collapsed' => NULL, - 'attributes' => array(), - ), + $items['toolbar_tray'] = array( + 'render element' => 'element', ); return $items; } /** - * Implements hook_menu(). - */ -function toolbar_menu() { - $items['toolbar/toggle'] = array( - 'title' => 'Toggle drawer visibility', - 'type' => MENU_CALLBACK, - 'page callback' => 'toolbar_toggle_page', - 'access arguments' => array('access toolbar'), - ); - return $items; -} - -/** - * Page callback: Toggles the visibility of the toolbar drawer. - * - * @see toolbar_menu(). - */ -function toolbar_toggle_page() { - global $base_path; - // Toggle the value in the cookie. - setcookie('Drupal.toolbar.collapsed', !_toolbar_is_collapsed(), NULL, $base_path); - // Redirect the user from where he used the toggle element. - drupal_goto(); -} - -/** - * Formats an element used to toggle the toolbar drawer's visibility. - * - * @param $variables - * An associative array containing: - * - collapsed: A boolean value representing the toolbar drawer's visibility. - * - attributes: An associative array of HTML attributes. - * - * @return - * An HTML string representing the element for toggling. - * - * @ingroup themable - */ -function theme_toolbar_toggle($variables) { - if ($variables['collapsed']) { - $toggle_text = t('Show shortcuts'); - } - else { - $toggle_text = t('Hide shortcuts'); - $variables['attributes']['class'][] = 'toggle-active'; - } - return l($toggle_text, 'toolbar/toggle', array('query' => drupal_get_destination(), 'attributes' => array('title' => $toggle_text) + $variables['attributes'])); -} - -/** - * Determines the current state of the toolbar drawer's visibility. - * - * @return - * TRUE when drawer is collapsed, FALSE when it is expanded. - */ -function _toolbar_is_collapsed() { - // PHP converts dots into underscores in cookie names to avoid problems with - // its parser, so we use a converted cookie name. - return isset($_COOKIE['Drupal_toolbar_collapsed']) ? $_COOKIE['Drupal_toolbar_collapsed'] : 0; -} - -/** * Implements hook_page_build(). * - * Add admin toolbar to the page_top region automatically. + * Add admin toolbar to the page_bottom region automatically. */ function toolbar_page_build(&$page) { - $page['page_top']['toolbar'] = array( + $page['page_bottom']['toolbar'] = array( '#pre_render' => array('toolbar_pre_render'), '#access' => user_access('access toolbar'), - 'toolbar_drawer' => array(), ); } @@ -144,11 +78,8 @@ function toolbar_pre_render($toolbar) { * Add some page classes, so global page theming can adjust to the toolbar. */ function toolbar_preprocess_html(&$vars) { - if (isset($vars['page']['page_top']['toolbar']) && user_access('access toolbar')) { + if (isset($vars['page']['page_bottom']['toolbar']) && user_access('access toolbar')) { $vars['attributes']['class'][] = 'toolbar'; - if (!_toolbar_is_collapsed()) { - $vars['attributes']['class'][] = 'toolbar-drawer'; - } } } @@ -165,7 +96,7 @@ function toolbar_preprocess_toolbar(&$variables) { /** * Implements hook_system_info_alter(). * - * Indicate that the 'page_top' region (in which the toolbar will be displayed) + * Indicate that the 'page_bottom' region (in which the toolbar will be displayed) * is an overlay supplemental region that should be refreshed whenever its * content is updated. * @@ -174,7 +105,7 @@ function toolbar_preprocess_toolbar(&$variables) { */ function toolbar_system_info_alter(&$info, $file, $type) { if ($type == 'theme') { - $info['overlay_supplemental_regions'][] = 'page_top'; + $info['overlay_supplemental_regions'][] = 'page_bottom'; } } @@ -185,7 +116,6 @@ function toolbar_system_info_alter(&$info, $file, $type) { * Array of links and settings relating to the admin menu. */ function toolbar_view() { - global $user; $build = array( '#theme' => 'toolbar', @@ -196,76 +126,93 @@ function toolbar_view() { ), ); - // Retrieve the admin menu from the database. - $links = toolbar_menu_navigation_links(toolbar_get_menu_tree()); - $build['toolbar_menu'] = array( - '#theme' => 'links__toolbar_menu', - '#links' => $links, - '#attributes' => array('id' => 'toolbar-menu'), - '#heading' => array('text' => t('Administrative toolbar'), 'level' => 'h2', 'class' => 'element-invisible'), - ); - - // Add logout & user account links or login link. - if ($user->uid) { - $links = array( - 'account' => array( - 'title' => t('Hello @username', array('@username' => user_format_name($user))), - 'href' => 'user', - 'html' => TRUE, - 'attributes' => array('title' => t('User account')), - ), - 'logout' => array( - 'title' => t('Log out'), - 'href' => 'user/logout', - ), - ); - } - else { - $links = array( - 'login' => array( - 'title' => t('Log in'), - 'href' => 'user', - ), + // Get the configured breakpoint for switch from vertical to horizontal + // toolbar presentation. + $breakpoints = entity_load('breakpoint_group', 'module.toolbar.toolbar'); + if (!empty($breakpoints)) { + $build['#attached']['js'] = array( + array( + 'data' => array( + 'toolbar' => array( + 'breakpoints' => array(), + ), + ), + 'type' => 'setting', + ) ); + // // Load the breakpoints for toolbar. + foreach ($breakpoints->breakpoints as $key => $breakpoint) { + $build['#attached']['js'][0]['data']['toolbar']['breakpoints'][$key] = $breakpoint->mediaQuery; + } } - $build['toolbar_user'] = array( - '#theme' => 'links__toolbar_user', - '#links' => $links, - '#attributes' => array('id' => 'toolbar-user'), + + // Build the default toolbar navigation links. + // Retrieve the administration menu from the database. + $tree = toolbar_get_menu_tree(); + // Add attributes to the links before rendering. + toolbar_menu_navigation_links($tree); + $menu['toolbar_administration'] = array( + '#type' => 'container', + '#attributes' => array( + 'class' => array('interactive-menu toolbar-list'), + ), ); + $menu['toolbar_administration']['administration_menu'] = menu_tree_output($tree); - // Add a "home" link. - $link = array( + $toolbar_groups = array( 'home' => array( - 'title' => 'Home', - 'href' => '', - 'html' => TRUE, - 'attributes' => array('title' => t('Home')), + 'tab' => array( + 'title' => t('Home'), + 'href' => '', + 'html' => FALSE, + ), + ), + 'administration' => array( + 'tab' => array( + 'title' => t('Menu'), + 'href' => '', + 'html' => FALSE, + ), + 'tray' => $menu, ), - ); - $build['toolbar_home'] = array( - '#theme' => 'links', - '#links' => $link, - '#attributes' => array('id' => 'toolbar-home'), ); - // Add an anchor to be able to toggle the visibility of the drawer. - $build['toolbar_toggle'] = array( - '#theme' => 'toolbar_toggle', - '#collapsed' => _toolbar_is_collapsed(), - '#attributes' => array('class' => array('toggle')), - ); + // Get groups from other modules. + $toolbar_groups = array_merge($toolbar_groups, module_invoke_all('toolbar_register_tabs')); - // Prepare the drawer links CSS classes. - $toolbar_drawer_classes = array( - 'toolbar-drawer', - 'clearfix', - ); - if (_toolbar_is_collapsed()) { - $toolbar_drawer_classes[] = 'collapsed'; + // Bar tabs. + $toolbar_tabs = array(); + $toolbar_trays = array(); + foreach ($toolbar_groups as $category => $components) { + if (!empty($components['tab'])) { + // Provide a data attribute to each bar link that associates it with its tray. + $components['tab']['attributes']['data-toolbar-tray'] = $category; + if (!isset($components['tab']['attributes']['class'])) { + $components['tab']['attributes']['class'] = array(); + } + $components['tab']['attributes']['class'][] = 'tab'; + $components['tab']['attributes']['role'] = 'button'; + $toolbar_tabs[$category] = $components['tab']; + } + if (!empty($components['tray'])) { + $toolbar_trays[$category] = $components['tray']; + } } - $build['toolbar_drawer']['#type'] = 'container'; - $build['toolbar_drawer']['#attributes']['class'] = $toolbar_drawer_classes; + + // Assign the tabs to the build. + $build['toolbar_tabs'] = array( + '#theme' => 'links', + '#links' => $toolbar_tabs, + '#attributes' => array( + 'class' => array('bar', 'clearfix'), + ), + '#heading' => array('text' => t('Drupal toolbar'), 'level' => 'h2', 'class' => 'element-invisible'), + ); + //// Assign the tabs to the build. + $build['toolbar_trays'] = array( + '#theme' => 'toolbar_tray', + '#trays' => $toolbar_trays, + ); return $build; } @@ -280,14 +227,13 @@ function toolbar_get_menu_tree() { $tree = array(); $admin_link = db_query('SELECT * FROM {menu_links} WHERE menu_name = :menu_name AND module = :module AND link_path = :path', array(':menu_name' => 'admin', ':module' => 'system', ':path' => 'admin'))->fetchAssoc(); if ($admin_link) { - $tree = menu_build_tree('admin', array( - 'expanded' => array($admin_link['mlid']), - 'min_depth' => $admin_link['depth'] + 1, - 'max_depth' => $admin_link['depth'] + 1, - )); + $tree = menu_tree_all_data('admin'); } - - return $tree; + // Return the sub-menus of the admin menu root. + foreach ($tree as $key => $menu) { + return (!empty($tree[$key]['below'])) ? $tree[$key]['below'] : array(); + } + return array(); } /** @@ -299,34 +245,31 @@ function toolbar_get_menu_tree() { * @return * An array of links as defined above. */ -function toolbar_menu_navigation_links($tree) { - $links = array(); - foreach ($tree as $item) { - if (!$item['link']['hidden'] && $item['link']['access']) { - // Make sure we have a path specific ID in place, so we can attach icons - // and behaviors to the items. - $id = str_replace(array('/', '<', '>'), array('-', '', ''), $item['link']['href']); +function toolbar_menu_navigation_links(&$tree) { + foreach ($tree as $key => $item) { + // Configure sub-items. + if (!empty($item['below'])) { + toolbar_menu_navigation_links($tree[$key]['below']); + } + // Make sure we have a path specific ID in place, so we can attach icons + // and behaviors to the items. + $tree[$key]['link']['localized_options']['attributes']['id'] = 'toolbar-link-' . str_replace(array('/', '<', '>'), array('-', '', ''), $item['link']['link_path']); + } +} - $link = $item['link']['localized_options']; - $link['href'] = $item['link']['href']; - // Add icon placeholder. - $link['title'] = '' . check_plain($item['link']['title']); - // Add admin link ID. - $link['attributes'] = array('id' => 'toolbar-link-' . $id); - if (!empty($item['link']['description'])) { - $link['title'] .= ' (' . $item['link']['description'] . ')'; - $link['attributes']['title'] = $item['link']['description']; - } - $link['html'] = TRUE; +/** + * + */ +function theme_toolbar_tray($trays) { + $output = ''; - $class = ' path-' . $id; - if (toolbar_in_active_trail($item['link']['href'])) { - $class .= ' active-trail'; - } - $links['menu-' . $item['link']['mlid'] . $class] = $link; - } + foreach ($trays['element']['#trays'] as $key => $tray) { + $output .= ''; } - return $links; + + return $output; } /** @@ -365,13 +308,17 @@ function toolbar_library_info() { 'title' => 'Toolbar', 'version' => VERSION, 'js' => array( - drupal_get_path('module', 'toolbar') . '/toolbar.js' => array(), + drupal_get_path('module', 'toolbar') . '/js/toolbar.js' => array(), ), 'css' => array( - drupal_get_path('module', 'toolbar') . '/toolbar.css', + drupal_get_path('module', 'toolbar') . '/css/toolbar.base.css', + drupal_get_path('module', 'toolbar') . '/css/toolbar.theme.css', + drupal_get_path('module', 'toolbar') . '/css/toolbar.icons.css', ), 'dependencies' => array( + array('system', 'matchMedia'), array('system', 'jquery'), + array('system', 'underscore'), array('system', 'drupal'), array('system', 'drupalSettings'), array('system', 'jquery.once'), diff --git a/core/modules/toolbar/toolbar.png b/core/modules/toolbar/toolbar.png deleted file mode 100644 index f2c7f35..0000000 --- a/core/modules/toolbar/toolbar.png +++ /dev/null @@ -1,4 +0,0 @@ -PNG - - IHDRd9,~OPLTEfffffffffffffff===>>>GGGHHHPPPQQQXXXfffstRNSO^zIDATx[O@o -VK71i}.f.Ifbd`pg01\. \ԌP`MRhUl DB(gŰ8!+2VL,Z$MNY16:V,fKzANJZ?6 se]OԍI_"[Wߺ, }8D !yP,G9BUĩ%W'X"_U!N<*"IENDB` \ No newline at end of file diff --git a/core/modules/user/user.css b/core/modules/user/user.css index 866ee40..3a727c0 100644 --- a/core/modules/user/user.css +++ b/core/modules/user/user.css @@ -88,3 +88,14 @@ div.password-suggestions ul { .profile dd { margin: 0 0 1em 0; } + +/** + * Toolbar icon. + */ +.toolbar-main .user .tab { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDkuOTk5NSIgeTE9IjQuMDc3MSIgeDI9IjQ5Ljk5OTUiIHkyPSI4OC44ODc0Ij4NCgk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojQ0NDQ0NDIi8+DQoJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6Izk5OTk5OSIvPg0KPC9saW5lYXJHcmFkaWVudD4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSJ1cmwoI1NWR0lEXzFfKSIgZD0iTTI4LjQyNCwyNy42NTNjMCwxMS45NjMsOS42NTMsMjEuNjUzLDIxLjU3NiwyMS42NTMNCgljMTEuOTIyLDAsMjEuNTc0LTkuNjksMjEuNTc0LTIxLjY1M0M3MS41NzQsMTUuNjkyLDYxLjkyMiw2LDUwLDZDMzguMDc3LDYsMjguNDI0LDE1LjY5MiwyOC40MjQsMjcuNjUzeiBNMTAwLDkwLjYxNQ0KCWMwLTIwLjM0Ni0xLjExNS0zNS40MjMtNTAtMzUuNDIzYy00OC44MDgsMC01MCwxNC4zMDctNTAsMzUuNDIzSDEwMHoiLz4NCjwvc3ZnPg0K); +} +.toolbar-main .user .tab:active, +.toolbar-main .user.active .tab { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAgMTAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNTAiIHkxPSI5Ni45MjI5IiB4Mj0iNTAiIHkyPSIxMi4xMTI2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMTAxKSI+DQoJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0ZGRkZGRiIvPg0KCTxzdG9wICBvZmZzZXQ9IjAuOTkwMSIgc3R5bGU9InN0b3AtY29sb3I6I0U1RTVFNSIvPg0KPC9saW5lYXJHcmFkaWVudD4NCjxwYXRoIGZpbGw9InVybCgjU1ZHSURfMV8pIiBkPSJNMjguNDI0LDI3LjY1M2MwLDExLjk2Myw5LjY1MywyMS42NTMsMjEuNTc2LDIxLjY1M2MxMS45MjIsMCwyMS41NzQtOS42OSwyMS41NzQtMjEuNjUzDQoJQzcxLjU3NCwxNS42OTIsNjEuOTIyLDYsNTAsNkMzOC4wNzcsNiwyOC40MjQsMTUuNjkyLDI4LjQyNCwyNy42NTN6IE0xMDAsOTAuNjE1YzAtMjAuMzQ2LTEuMTE1LTM1LjQyNC01MC0zNS40MjQNCgljLTQ4LjgwOCwwLTUwLDE0LjMwOC01MCwzNS40MjRIMTAweiIvPg0KPC9zdmc+DQo=); +} diff --git a/core/modules/user/user.module b/core/modules/user/user.module index b7ac23d..b94a799 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -3109,6 +3109,70 @@ function user_file_download_access($field, EntityInterface $entity, File $file) } /** + * Implements hook_toolbar_register_tabs(). + */ +function user_toolbar_register_tabs() { + global $user; + + $tab['user'] = array( + 'tab' => array( + 'title' => user_format_name($user), + 'href' => '', + 'html' => FALSE, + ), + 'tray' => array( + '#pre_render' => array('user_toolbar_pre_render'), + ), + ); + + return $tab; +} + +/** + * Pre-render function for adding user account actions to the toolbar. + */ +function user_toolbar_pre_render($toolbar) { + global $user; + + // Add logout & user account links or login link. + if ($user->uid) { + $links = array( + 'logout' => array( + 'title' => t('Log out'), + 'href' => 'user/logout', + ), + 'account' => array( + 'title' => t('View profile'), + 'href' => 'user', + 'html' => TRUE, + 'attributes' => array( + 'title' => t('User account'), + ), + ), + ); + } + else { + $links = array( + 'login' => array( + 'title' => t('Log in'), + 'href' => 'user', + ), + ); + } + + $user_links = array( + '#theme' => 'links__toolbar_user', + '#links' => $links, + '#attributes' => array( + 'class' => array('toolbar-list'), + ), + '#heading' => array('text' => t('User account actions'), 'level' => 'h2', 'class' => 'element-invisible'), + ); + + return $user_links; +} + +/** * Implements hook_library_info(). */ function user_library_info() { -- 1.7.10.4