Browse Source

UX changes

Converting to use https://github.com/buildingfirefoxos/Building-Blocks
for UX.
Nathaniel van Diepen 10 years ago
parent
commit
9ca6ef93c3
100 changed files with 2354 additions and 0 deletions
  1. 3 0
      api.php
  2. 384 0
      css/action_menu.css
  3. 48 0
      css/action_menu/header_actions.html
  4. BIN
      css/action_menu/images/icons/back-rtl.png
  5. BIN
      css/action_menu/images/icons/[email protected]
  6. BIN
      css/action_menu/images/icons/[email protected]
  7. BIN
      css/action_menu/images/icons/[email protected]
  8. BIN
      css/action_menu/images/icons/back.png
  9. BIN
      css/action_menu/images/icons/[email protected]
  10. BIN
      css/action_menu/images/icons/[email protected]
  11. BIN
      css/action_menu/images/icons/[email protected]
  12. BIN
      css/action_menu/images/icons/close.png
  13. BIN
      css/action_menu/images/icons/[email protected]
  14. BIN
      css/action_menu/images/icons/[email protected]
  15. BIN
      css/action_menu/images/icons/[email protected]
  16. BIN
      css/action_menu/images/ui/alpha.png
  17. BIN
      css/action_menu/images/ui/default.png
  18. BIN
      css/action_menu/images/ui/gradient.png
  19. BIN
      css/action_menu/images/ui/pattern.png
  20. BIN
      css/action_menu/images/ui/separator.png
  21. 53 0
      css/action_menu/index.html
  22. 147 0
      css/app.css
  23. 303 0
      css/buttons.css
  24. BIN
      css/buttons/images/icons/[email protected]
  25. BIN
      css/buttons/images/icons/dialog.png
  26. BIN
      css/buttons/images/icons/[email protected]
  27. BIN
      css/buttons/images/icons/[email protected]
  28. BIN
      css/buttons/images/icons/[email protected]
  29. BIN
      css/buttons/images/icons/dialog_rtl.png
  30. BIN
      css/buttons/images/icons/[email protected]
  31. BIN
      css/buttons/images/icons/[email protected]
  32. BIN
      css/buttons/images/icons/[email protected]
  33. BIN
      css/buttons/images/icons/view.png
  34. BIN
      css/buttons/images/icons/[email protected]
  35. BIN
      css/buttons/images/icons/[email protected]
  36. BIN
      css/buttons/images/icons/[email protected]
  37. BIN
      css/buttons/images/icons/view_rtl.png
  38. BIN
      css/buttons/images/icons/[email protected]
  39. BIN
      css/buttons/images/icons/[email protected]
  40. BIN
      css/buttons/images/ui/danger-disabled.png
  41. BIN
      css/buttons/images/ui/danger-press.png
  42. BIN
      css/buttons/images/ui/danger.png
  43. BIN
      css/buttons/images/ui/default.png
  44. BIN
      css/buttons/images/ui/disabled.png
  45. BIN
      css/buttons/images/ui/recommend.png
  46. BIN
      css/buttons/images/ui/shadow.png
  47. BIN
      css/buttons/images/ui/[email protected]
  48. BIN
      css/buttons/images/ui/[email protected]
  49. 133 0
      css/buttons/index.html
  50. 297 0
      css/confirm.css
  51. 41 0
      css/confirm/content.html
  52. 40 0
      css/confirm/content_details.html
  53. BIN
      css/confirm/images/ui/danger-disabled.png
  54. BIN
      css/confirm/images/ui/danger-press.png
  55. BIN
      css/confirm/images/ui/danger.png
  56. BIN
      css/confirm/images/ui/default.png
  57. BIN
      css/confirm/images/ui/disabled.png
  58. BIN
      css/confirm/images/ui/gradient.png
  59. BIN
      css/confirm/images/ui/pattern.png
  60. BIN
      css/confirm/images/ui/recommend.png
  61. 51 0
      css/confirm/index.html
  62. 51 0
      css/confirm/long_content.html
  63. 50 0
      css/confirm/no_title.html
  64. 267 0
      css/date_selector.css
  65. BIN
      css/date_selector/images/icons/checked.png
  66. BIN
      css/date_selector/images/icons/[email protected]
  67. BIN
      css/date_selector/images/icons/[email protected]
  68. BIN
      css/date_selector/images/ui/affirmative.png
  69. BIN
      css/date_selector/images/ui/default.png
  70. BIN
      css/date_selector/images/ui/gradient.png
  71. BIN
      css/date_selector/images/ui/[email protected]
  72. BIN
      css/date_selector/images/ui/pattern-time.png
  73. BIN
      css/date_selector/images/ui/pattern.png
  74. BIN
      css/date_selector/images/ui/shadow-invert.png
  75. BIN
      css/date_selector/images/ui/[email protected]
  76. BIN
      css/date_selector/images/ui/[email protected]
  77. BIN
      css/date_selector/images/ui/shadow.png
  78. BIN
      css/date_selector/images/ui/[email protected]
  79. BIN
      css/date_selector/images/ui/[email protected]
  80. 285 0
      css/date_selector/index.html
  81. 201 0
      css/drawer.css
  82. BIN
      css/drawer/images/icons/menu.png
  83. BIN
      css/drawer/images/icons/[email protected]
  84. BIN
      css/drawer/images/icons/[email protected]
  85. BIN
      css/drawer/images/icons/[email protected]
  86. BIN
      css/drawer/images/ui/header.png
  87. BIN
      css/drawer/images/ui/header/header.png
  88. BIN
      css/drawer/images/ui/header/shadow.png
  89. BIN
      css/drawer/images/ui/header/[email protected]
  90. BIN
      css/drawer/images/ui/header/[email protected]
  91. BIN
      css/drawer/images/ui/negative.png
  92. BIN
      css/drawer/images/ui/pattern.png
  93. BIN
      css/drawer/images/ui/pattern_subheader.png
  94. BIN
      css/drawer/images/ui/separator.png
  95. BIN
      css/drawer/images/ui/separator_large.png
  96. BIN
      css/drawer/images/ui/shadow.png
  97. BIN
      css/drawer/images/ui/[email protected]
  98. BIN
      css/drawer/images/ui/[email protected]
  99. BIN
      css/drawer/images/ui/shadow_header.png
  100. BIN
      css/drawer/images/ui/[email protected]

+ 3 - 0
api.php

@@ -146,6 +146,9 @@
 							if(isset($options['title'])){
 								$title = $options['title'];
 							}
+							if(isset($options['topbar'])){
+								$ret['topbar'] = $options['topbar'];
+							}
 							if(isset($options['context'])){
 								foreach($options['context'] as $key){
 									switch($key){

+ 384 - 0
css/action_menu.css

@@ -0,0 +1,384 @@
+/* ----------------------------------
+ * Action menu
+ * ---------------------------------- */
+
+/* Main dialog setup */
+form[role="dialog"][data-type="action"],
+form[role="dialog"][data-type="object"] {
+  background:
+    url(action_menu/images/ui/pattern.png) repeat left top,
+    url(action_menu/images/ui/gradient.png) no-repeat left top / 100% 100%;
+  overflow: hidden;
+  position: fixed;
+  z-index: 100;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  padding: 0 0 7rem;
+  /**
+   * Using "font-size: 0" to avoid the unwanted visual space (about 3px) created
+   * by white spaces and line breaks in the code between inline-block elements.
+   */
+  font-size: 0;
+  color: #fff;
+}
+
+form[role="dialog"][data-type="action"]:before,
+form[role="dialog"][data-type="object"]:before {
+  content: '';
+  display: inline-block;
+  vertical-align: top;
+  width: 0.1rem;
+  height: 100%;
+  margin-left: -0.1rem;
+}
+
+form[role="dialog"][data-type="action"] > header,
+form[role="dialog"][data-type="object"] > header {
+  -moz-box-sizing: border-box;
+  font-size: 1.6rem;
+  background: url(action_menu/images/ui/alpha.png) repeat 0 0;
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  z-index: 10;
+  height: 5rem;
+  line-height: 4.9rem;
+  color: #fff;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+  display: block;
+  overflow: hidden;
+  font-weight: normal;
+  padding: 0 3rem;
+  border-bottom: 0.1rem solid #616262;
+}
+
+form[role="dialog"][data-type="action"] > header h1,
+form[role="dialog"][data-type="object"] > header h1 {
+  font-size: 1.6rem;
+  line-height: 4.9rem;
+  text-align: left;
+  color: #fff;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+  display: block;
+  overflow: hidden;
+  margin: 0;
+  height: 100%;
+  font-weight: normal;
+}
+
+/* Generic set of actions in toolbar */
+form[role="dialog"][data-type="action"] > header menu[type="toolbar"] {
+  height: 100%;
+  float: right;
+  margin: 0 -3rem 0 1rem;
+  padding: 0;
+}
+
+form[role="dialog"][data-type="action"] > header menu[type="toolbar"] a,
+form[role="dialog"][data-type="action"] > header menu[type="toolbar"] button {
+  -moz-box-sizing: border-box;
+  position: relative;
+  float: left;
+  width: auto;
+  min-width: 5rem;
+  height: 4.9rem;
+  margin-bottom: 0;
+  padding: 0 1rem;
+  border-radius: 0;
+  line-height: 4.9rem;
+  background: none;
+  text-align: center;
+  text-shadow: none;
+  z-index: 5;
+}
+
+form[role="dialog"][data-type="action"] > header a,
+form[role="dialog"][data-type="action"] > header button {
+  border: none;
+  padding: 0;
+  overflow: hidden;
+  font-weight: 400;
+  font-size: 1.5rem;
+  line-height: 1.1em;
+  color: #fff;
+  border-radius: 0;
+  text-decoration: none;
+}
+
+form[role="dialog"][data-type="action"] button::-moz-focus-inner,
+form[role="dialog"][data-type="object"] button::-moz-focus-inner {
+  outline: none;
+  border: none;
+}
+
+/* Pressed state */
+form[role="dialog"][data-type="action"] > header a:active .icon:after,
+form[role="dialog"][data-type="action"] > header button:active .icon:after,
+form[role="dialog"][data-type="action"] > header menu[type="toolbar"] a:active,
+form[role="dialog"][data-type="action"] > header menu[type="toolbar"] button:active  {
+  background: #008aaa !important;
+}
+
+/* Disabled state */
+form[role="dialog"][data-type="action"] > header menu[type="toolbar"] a[aria-disabled="true"],
+form[role="dialog"][data-type="action"] > header menu[type="toolbar"] button[disabled]  {
+  opacity: 0.5;
+  pointer-events: none;
+}
+
+/* Icon definitions */
+form[role="dialog"][data-type="action"] > header .icon {
+  position: relative;
+  float: none;
+  display: inline-block;
+  vertical-align: top;
+  width: 4rem;
+  height: 4.9rem;
+  margin: 0 -1rem;
+  background: transparent no-repeat center center / 3rem auto;
+  font-size: 0;
+  overflow: hidden;
+}
+
+form[role="dialog"][data-type="action"] > header .icon.icon-close {
+  background-image: url(action_menu/images/icons/close.png);
+}
+
+form[role="dialog"][data-type="action"] > header .icon.icon-back {
+  background-image: url(action_menu/images/icons/back.png);
+}
+
+/* Navigation links (back, cancel, etc) */
+form[role="dialog"][data-type="action"] > header > button,
+form[role="dialog"][data-type="action"] > header > a {
+  float: left;
+  width: 5rem;
+  height: 4.9rem;
+  background: none;
+  overflow: visible;
+  margin: 0 -1rem 0 -3rem;
+  position: relative;
+}
+
+form[role="dialog"][data-type="action"] > header > button:after,
+form[role="dialog"][data-type="action"] > header > a:after {
+  content: "";
+  position: absolute;
+  left: 0;
+  top:0;
+  width: 3.2rem;
+  height: 4.9rem;
+  background: url(action_menu/images/ui/separator.png) no-repeat 3rem top / 0.1rem 4.8rem;
+}
+
+form[role="dialog"][data-type="action"] > header > button::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+form[role="dialog"][data-type="action"] > header > button .icon,
+form[role="dialog"][data-type="action"] > header > a .icon {
+  position: static;
+  display: block;
+  width: 3rem;
+  height: 4.9rem;
+  margin: 0;
+  overflow: visible;
+  font-size: 0;
+}
+
+form[role="dialog"][data-type="action"] > header > button .icon:after,
+form[role="dialog"][data-type="action"] > header > a .icon:after {
+  content: "";
+  position: absolute;
+  left: 0;
+  top: 0;
+  z-index: -1;
+  width: 3rem;
+  height: 4.9rem;
+}
+
+/* Content */
+form[role="dialog"][data-type="action"] > section,
+form[role="dialog"][data-type="object"] > section {
+  color: #fff;
+  position: absolute;
+  top: 7rem;
+  left: 1.5rem;
+  right: 1.5rem;
+  bottom: 2rem;
+  font-size: 1.6rem;
+  overflow: scroll;
+}
+
+/* Specific component code */
+form[role="dialog"][data-type="action"] > menu,
+form[role="dialog"][data-type="object"] > menu {
+  margin: 0;
+  padding: 0;
+  max-height: calc(100% - 13.5rem); /*header(5rem) + footer(7rem) + padding(1.5rem)*/
+  padding-top: 1.5rem;
+  overflow: auto;
+  width: auto;
+  border: none;
+  background: none;
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: 7rem;
+}
+
+form[role="dialog"][data-type="action"] > menu > button,
+form[role="dialog"][data-type="object"] > menu > button {
+  width: calc(100% - 3rem);
+  height: 4rem;
+  -moz-box-sizing: border-box;
+  vertical-align: middle;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+  font-weight: normal;
+  line-height: 4rem;
+  outline: none;
+  font-size: 1.6rem;
+  text-shadow: none;
+  text-align: left;
+  padding: 0 1.2rem;
+  margin: 0 1.5rem 1rem 1.5rem;
+  background: rgba(87, 87, 87, 0.8);
+  border: none;
+  border-radius: 0;
+  position: relative;
+  color: #fff;
+  font-family: sans-serif;
+  font-style: italic;
+}
+
+form[role="dialog"][data-type="action"] > menu > button:last-child,
+form[role="dialog"][data-type="object"] > menu > button:last-child {
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  color: #333;
+  background: #d8d8d8;
+  text-align: center;
+  border: none;
+  margin-bottom: 1.5rem;
+  border-radius: 2rem;
+}
+
+form[role="dialog"][data-type="action"] > menu > button:last-child:before,
+form[role="dialog"][data-type="object"] > menu > button:last-child:before {
+  content: '';
+  position: fixed;
+  width: 100%;
+  background: url(action_menu/images/ui/pattern.png) repeat scroll left top #2D2D2D;
+  height: 7rem;
+  left: 0;
+  bottom: 0;
+  z-index: -1;
+}
+
+form[role="dialog"][data-type="action"] > menu > button:nth-last-child(2),
+form[role="dialog"][data-type="object"] > menu > button:nth-last-child(2) {
+  margin-bottom: 1.5rem;
+}
+
+/* Press state */
+form[role="dialog"][data-type="action"] > menu > button:active,
+form[role="dialog"][data-type="object"] > menu > button:active {
+  background: #00aacc;
+  color: #fff;
+}
+
+/* Disabled */
+form[role="dialog"][data-type="action"] > menu > button[disabled],
+form[role="dialog"][data-type="object"] > menu > button[disabled] {
+  background-color: rgba(87, 87, 87, 0.8);
+  color: rgba(255, 255, 255, 0.4);
+  opacity: 0.5;
+  pointer-events: none;
+}
+
+form[role="dialog"][data-type="action"] > menu > button[disabled]:last-child,
+form[role="dialog"][data-type="object"] > menu > button[disabled]:last-child {
+  background-color: #e7e7e7;
+  color: #a6a6a6;
+  opacity: 1;
+}
+
+/*
+ * Right to Left view
+ */
+
+html[dir="rtl"] form[role="dialog"][data-type="action"]:before,
+form[role="dialog"][data-type="object"]:before {
+  margin-left: auto;
+  margin-right: -0.1rem;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="action"] > header h1,
+html[dir="rtl"] form[role="dialog"][data-type="object"] > header h1 {
+  text-align: right;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="action"] > header menu[type="toolbar"] {
+  float: left;
+  margin-left: -3rem;
+  margin-right: 1rem;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="action"] > header menu[type="toolbar"] a,
+html[dir="rtl"] form[role="dialog"][data-type="action"] > header menu[type="toolbar"] button {
+  float: right;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="action"] > header menu[type="toolbar"] a:last-child,
+html[dir="rtl"] form[role="dialog"][data-type="action"] > header menu[type="toolbar"] button:last-child {
+  background-position: right center;
+  margin-left: auto;
+  margin-right: -0.1rem;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="action"] > header > button,
+html[dir="rtl"] form[role="dialog"][data-type="action"] > header > a {
+  float: right;
+  margin-left: -1rem;
+  margin-right: -3rem;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="action"] > header > button:after,
+html[dir="rtl"] form[role="dialog"][data-type="action"] > header > a:after {
+  left: auto;
+  right: 0;
+  background-position: 0 top;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="action"] > header > button .icon:after,
+html[dir="rtl"] form[role="dialog"][data-type="action"] > header > a .icon:after {
+  left: auto;
+  right: 0;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="action"] > menu > button,
+html[dir="rtl"] form[role="dialog"][data-type="object"] > menu > button {
+  text-align: right;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="action"] > menu > button:last-child,
+html[dir="rtl"] form[role="dialog"][data-type="object"] > menu > button:last-child {
+  left: auto;
+  right: 0;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="action"] > menu > button:last-child:before,
+html[dir="rtl"] form[role="dialog"][data-type="object"] > menu > button:last-child:before {
+  left: auto;
+  right: 0;
+}
+

+ 48 - 0
css/action_menu/header_actions.html

@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <title>Action menu</title>
+  <meta name="description" content="Presenting a list of actions related to the App content">
+
+  <link rel="stylesheet" href="../action_menu.css">
+  <!--
+    - This <style> element is only used for the example code;
+    - it is not required for the real use case.
+    -->
+  <style type="text/css">
+    html, body {
+      font-family: sans-serif;
+      margin: 0;
+      padding: 0;
+      font-size: 10px;
+      background-color: #fff;
+    }
+    body {
+      background: none;
+    }
+  </style>
+</head>
+<body role="application">
+  <p dir="ltr">
+    <label>
+      <input type="checkbox"
+        onchange="document.documentElement.dir = this.checked ? 'rtl' : 'ltr'">
+      RTL mode
+    </label>
+  </p>
+
+  <form role="dialog" data-type="action" onsubmit="return false;">
+    <header>
+      <button><span class="icon icon-close">close</span></button>
+      <menu type="toolbar">
+        <button>done</button>
+      </menu>
+      <h1>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</h1>
+    </header>
+    <section>
+      <p>Curabitur condimentum diam mollis lacus hendrerit congue. Phasellus porttitor orci elit, ac consequat est mollis ut. Ut consequat ipsum a ullamcorper aliquam.</p>
+    </section>
+  </form>
+</body>
+</html>

BIN
css/action_menu/images/icons/back-rtl.png


BIN
css/action_menu/images/icons/[email protected]


BIN
css/action_menu/images/icons/[email protected]


BIN
css/action_menu/images/icons/[email protected]


BIN
css/action_menu/images/icons/back.png


BIN
css/action_menu/images/icons/[email protected]


BIN
css/action_menu/images/icons/[email protected]


BIN
css/action_menu/images/icons/[email protected]


BIN
css/action_menu/images/icons/close.png


BIN
css/action_menu/images/icons/[email protected]


BIN
css/action_menu/images/icons/[email protected]


BIN
css/action_menu/images/icons/[email protected]


BIN
css/action_menu/images/ui/alpha.png


BIN
css/action_menu/images/ui/default.png


BIN
css/action_menu/images/ui/gradient.png


BIN
css/action_menu/images/ui/pattern.png


BIN
css/action_menu/images/ui/separator.png


+ 53 - 0
css/action_menu/index.html

@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <title>Action menu</title>
+  <meta name="description" content="Presenting a list of actions related to the App content">
+
+  <link rel="stylesheet" href="../action_menu.css">
+  <!--
+    - This <style> element is only used for the example code;
+    - it is not required for the real use case.
+    -->
+  <style type="text/css">
+    html, body {
+      font-family: sans-serif;
+      margin: 0;
+      padding: 0;
+      font-size: 10px;
+      background-color: #fff;
+    }
+    body {
+      background: none;
+    }
+  </style>
+</head>
+<body role="application">
+  <p dir="ltr">
+    <label>
+      <input type="checkbox"
+        onchange="document.documentElement.dir = this.checked ? 'rtl' : 'ltr'">
+      RTL mode
+    </label>
+  </p>
+
+  <form role="dialog" data-type="action" onsubmit="return false;">
+    <header>Title</header> <!-- this header is optional -->
+    <menu type="toolbar">
+      <button>Action 1</button>
+      <button disabled> Action 2 (disabled) </button>
+      <button> Action 3 </button>
+      <button> Action 4 </button>
+      <button disabled> Action 5 (disabled) </button>
+      <button> Action 6 </button>
+      <button> Action 7 </button>
+      <button disabled> Action 8 (disabled) </button>
+      <button> Action 9 </button>
+      <button> Cancel </button>
+    </menu>
+  </form>
+
+</body>
+</html>
+

File diff suppressed because it is too large
+ 147 - 0
css/app.css


+ 303 - 0
css/buttons.css

@@ -0,0 +1,303 @@
+/* ----------------------------------
+ * Buttons
+ * ---------------------------------- */
+
+.button::-moz-focus-inner,
+a[role="button"]::-moz-focus-inner,
+button::-moz-focus-inner {
+  border: none;
+  outline: none;
+  margin-top: -0.2rem; /* To fix line-height bug (697451) */
+}
+
+button,
+a[role="button"],
+.button {
+  width: 100%;
+  height: 3.8rem;
+  margin: 0 0 1rem;
+  padding: 0 1.5rem;
+  -moz-box-sizing: border-box;
+  display: inline-block;
+  vertical-align: middle;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+  background: #fafafa url(buttons/images/ui/default.png) repeat-x left bottom / auto 100%;
+  border: 0.1rem solid #a6a6a6;
+  border-radius: 0.2rem;
+  font-weight: 500;
+  font-size: 1.6rem;
+  line-height: 3.8rem;
+  color: #333;
+  text-align: center;
+  text-shadow: 0.1rem 0.1rem 0 rgba(255,255,255,0.3);
+  text-decoration: none;
+  outline: none;
+}
+
+/* Press (default & recommend) */
+button:active,
+a[role="button"]:active,
+button.recommend:active,
+a.recommend[role="button"]:active  {
+  border-color: #008aaa;
+  background: #008aaa;
+  background-size: auto 100%;
+  color: #333;
+}
+
+/* Recommend */
+button.recommend,
+a[role="button"].recommend {
+  background-image: url(buttons/images/ui/recommend.png);
+  background-color: #00caf2;
+  border-color: #008eab;
+}
+
+/* Danger */
+button.danger,
+a.danger[role="button"],
+span.danger[role="button"] {
+  background-image: url(buttons/images/ui/danger.png);
+  background-color: #b70404;
+  color: #fff;
+  text-shadow: none;
+  border-color: #820000;
+}
+
+/* Danger Press */
+button.danger:active,
+a[role="button"].danger:active,
+.button.danger:active {
+  background-image: url(buttons/images/ui/danger-press.png);
+  background-color: #890707;
+}
+
+/* Disabled (default & recommend) */
+button[disabled],
+a[role="button"][aria-disabled="true"],
+.button[aria-disabled="true"],
+button[disabled].recommend,
+a[role="button"][aria-disabled="true"].recommend,
+.button[aria-disabled="true"].recommend {
+  background: #e7e7e7;
+  border-color: #c7c7c7;
+  color: #c7c7c7;
+  text-shadow: none;
+  pointer-events: none;
+}
+
+/* Danger disabled */
+button[disabled].danger,
+.button[aria-disabled="true"].danger,
+a[role="button"][aria-disabled="true"].danger {
+  background: #c68484;
+  border-color: #a56464;
+  color: #a56464;
+  text-shadow: none;
+  pointer-events: none;
+}
+
+/* Disabled with dark background */
+.dark button[disabled],
+.dark .button[aria-disabled="true"],
+.dark a[role="button"][aria-disabled="true"] {
+  background: #5f5f5f;
+  color: #4d4d4d;
+  border-color: #4d4d4d;
+  text-shadow: none;
+  pointer-events: none;
+}
+
+
+/* ----------------------------------
+ * Buttons inside lists
+ * ---------------------------------- */
+
+li button,
+li a[role="button"],
+li .button {
+  position: relative;
+  background: #e7e7e7;
+  text-align: left;
+  /* For hacking box-shadows we need overflow:visible; so we lose text-overflows...*/
+  white-space: normal;
+  overflow: visible;
+}
+
+/* Hacking box-shadow */
+li button:after,
+li a[role="button"]:after,
+li .button:after {
+  content: "";
+  position: absolute;
+  top: 100%;
+  left: 0;
+  right: 0;
+  height: 0.2rem;
+  background: url( buttons/images/ui/shadow.png) repeat-x left bottom / auto 100%;
+}
+
+/* Press */
+li a[role="button"]:active:after,
+li .button:active:after,
+li button:active:after {
+  opacity: 0;
+}
+
+/* Disabled */
+li button[disabled]:after,
+li a[role="button"][aria-disabled="true"]:after,
+li .button[aria-disabled="true"]:after {
+  background: none;
+}
+
+/* Icons */
+li button.icon,
+li a[role="button"].icon,
+li .button.icon {
+  padding-right: 3rem;
+}
+
+li button.icon:before,
+li a[role="button"].icon:before,
+li .button.icon:before {
+  content: "";
+  width: 3rem;
+  height: 3rem;
+  position: absolute;
+  top: 50%;
+  right: 0;
+  margin-top: -1.5rem;
+  background: transparent no-repeat center center / 100% auto;
+  pointer-events: none;
+}
+
+li button.icon-view:before,
+li a[role="button"].icon-view:before {
+  background: url(buttons/images/icons/view.png) no-repeat 1.6rem 0 / 1rem 9rem;
+}
+
+li button.icon-view:active:before,
+li a[role="button"].icon-view:active:before {
+  background-position: 1.6rem -3rem;
+}
+
+li button.icon-view:disabled:before,
+li a[role="button"][aria-disabled="true"].icon-view:before {
+  background-position: 1.6rem -6rem;
+}
+
+li button.icon-dialog,
+li a[role="button"].icon-dialog,
+li .button.icon-dialog {
+  font-size: 1.7rem;
+}
+
+li button.icon-dialog:before,
+li a[role="button"].icon-dialog:before,
+li .button.icon-dialog:before {
+  background: url(buttons/images/icons/dialog.png) no-repeat 1.6rem 0 / 1rem 9rem;
+  top: 100%;
+  margin-top: -2.4rem;
+}
+
+li button.icon-dialog:active:before,
+li a[role="button"].icon-dialog:active:before,
+li .button.icon-dialog:active:before {
+  background-position: 1.6rem -3rem;
+}
+
+li button.icon-dialog:disabled:before,
+li a[role="button"][aria-disabled="true"].icon-dialog:before,
+li .button[aria-disabled="true"].icon-dialog:before {
+  background-position: 1.6rem -6rem;
+}
+
+
+/* ----------------------------------
+ * Buttons inside lists, compact mode
+ * ---------------------------------- */
+
+ul.compact,
+ol.compact {
+  padding: 0 1.5rem 1.5rem 1.5rem;
+}
+
+ul.compact li,
+ol.compact li {
+  padding: 1.5rem 0 0.5rem 0;
+  border-bottom: solid #bdbdbd 0.1rem;
+  display: block;
+  overflow: hidden;
+}
+
+ul.compact li label,
+ol.compact li label {
+  padding: 0 1.5rem 1rem 1.5rem;
+  color: #333;
+  font-weight: normal;
+  font-size: 1.6rem;
+  line-height: 1.8rem;
+  display: block;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+}
+
+/* Inputs inside of .button */
+.button input,
+body[role="application"] .button input {
+  border: 0;
+  background: none;
+}
+
+/* Hides dropdown arrow until bug #649849 is fixed */
+.button.icon select {
+   width: 130%;
+}
+
+/******************************************************************************
+ * Right-To-Left layout
+ */
+
+html[dir="rtl"] li button,
+html[dir="rtl"] li a[role="button"],
+html[dir="rtl"] li .button {
+  text-align: right;
+}
+
+html[dir="rtl"] li button:after,
+html[dir="rtl"] li a[role="button"]:after,
+html[dir="rtl"] li .button:after {
+  background-position: right bottom;
+}
+
+html[dir="rtl"] li button.icon,
+html[dir="rtl"] li a[role="button"].icon,
+html[dir="rtl"] li .button.icon {
+  padding-left: 3rem;
+  padding-right: 1rem;
+}
+
+html[dir="rtl"] li button.icon:before,
+html[dir="rtl"] li a[role="button"].icon:before,
+html[dir="rtl"] li .button.icon:before {
+  left: -1rem;
+  right: inherit;
+}
+
+html[dir="rtl"] li button.icon-view:before,
+html[dir="rtl"] li a[role="button"].icon-view:before {
+  background-image: url(buttons/images/icons/view_rtl.png);
+  background-position: 1.6rem 0;
+}
+
+html[dir="rtl"] li button.icon-dialog:before,
+html[dir="rtl"] li a[role="button"].icon-dialog:before,
+html[dir="rtl"] li .button.icon-dialog:before {
+  background-image: url(buttons/images/icons/dialog_rtl.png);
+  background-position: 1.6rem 0;
+}
+

BIN
css/buttons/images/icons/[email protected]


BIN
css/buttons/images/icons/dialog.png


BIN
css/buttons/images/icons/[email protected]


BIN
css/buttons/images/icons/[email protected]


BIN
css/buttons/images/icons/[email protected]


BIN
css/buttons/images/icons/dialog_rtl.png


BIN
css/buttons/images/icons/[email protected]


BIN
css/buttons/images/icons/[email protected]


BIN
css/buttons/images/icons/[email protected]


BIN
css/buttons/images/icons/view.png


BIN
css/buttons/images/icons/[email protected]


BIN
css/buttons/images/icons/[email protected]


BIN
css/buttons/images/icons/[email protected]


BIN
css/buttons/images/icons/view_rtl.png


BIN
css/buttons/images/icons/[email protected]


BIN
css/buttons/images/icons/[email protected]


BIN
css/buttons/images/ui/danger-disabled.png


BIN
css/buttons/images/ui/danger-press.png


BIN
css/buttons/images/ui/danger.png


BIN
css/buttons/images/ui/default.png


BIN
css/buttons/images/ui/disabled.png


BIN
css/buttons/images/ui/recommend.png


BIN
css/buttons/images/ui/shadow.png


BIN
css/buttons/images/ui/[email protected]


BIN
css/buttons/images/ui/[email protected]


+ 133 - 0
css/buttons/index.html

@@ -0,0 +1,133 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+
+  <title>Buttons</title>
+  <meta name="description" content="You can use button tag or also anchor tag with role button">
+
+  <link rel="stylesheet" href="../buttons.css">
+
+  <!--
+    - This <style> and <link> is only used for the example preview,
+    - it isn't needed for the real use case.
+    -->
+  <style>
+    html, body {
+      margin: 0;
+      padding: 0;
+      font-size: 10px;
+      background-color: #fff;
+    }
+
+    h2.bb-docs {
+      font-size: 1.8rem;
+      font-weight: lighter;
+      color: #666;
+      margin: -0.1rem 0 0;
+      background-color: #f5f5f5;
+      padding: 0.4rem 0.4rem 0.4rem 3rem;
+      border: solid 0.1rem #e8e8e8;
+    }
+
+    div.bb-docs {
+      padding: 1rem;
+    }
+
+    div.bb-docs.dark {
+      background: #000;
+    }
+
+    ul {
+      padding: 0;
+      margin: 0;
+      list-style: none;
+    }
+
+    body[role="application"] > [role="region"] {
+      height: 100%;
+      position: relative;
+    }
+  </style>
+</head>
+<body role="application">
+  <p dir="ltr">
+    <label>
+      <input type="checkbox"
+        onchange="document.documentElement.dir = this.checked ? 'rtl' : 'ltr'">
+      RTL mode
+    </label>
+  </p>
+  <h2 class="bb-docs">Normal</h2>
+  <div class="bb-docs">
+    <button>Default</button>
+    <button class="recommend">Recommend</button>
+    <button class="danger">Danger</button>
+   </div>
+
+  <h2 class="bb-docs">Disabled</h2>
+  <div class="bb-docs">
+    <button disabled>Default</button>
+    <a href="#" role="button" aria-disabled="true" class="recommend">Recommend</a>
+    <button disabled class="danger">Danger</button>
+  </div>
+
+  <h2 class="bb-docs">Disabled with dark background</h2>
+  <div class="bb-docs dark">
+    <button disabled>Default</button>
+    <a href="#" role="button" aria-disabled="true" class="recommend">Recommend</a>
+    <button disabled class="danger">Danger</button>
+  </div>
+
+  <h2 class="bb-docs">Button List </h2>
+  <div class="bb-docs">
+    <ul>
+      <li>
+        <button>Default</button>
+      </li>
+      <li>
+        <button disabled="disabled">Disabled</button>
+      </li>
+      <li>
+        <button class="icon icon-view">
+          View Name
+        </button>
+      </li>
+      <li>
+        <button disabled="disabled" class="icon icon-view">
+          View Name
+        </button>
+      </li>
+      <li>
+        <a role="button" class="icon icon-dialog">
+          Tuesday September 18, 2012
+        </a>
+      </li>
+      <li>
+        <a role="button" aria-disabled="true" class="icon icon-dialog">
+          Tuesday September 18, 2012
+        </a>
+      </li>
+    </ul>
+  </div>
+
+  <h2 class="bb-docs">Button list (compact mode)</h2>
+  <div class="bb-docs">
+    <ul class="compact">
+      <li>
+        <label>Description</label>
+        <button class="icon icon-dialog">Action 1</button>
+      </li>
+      <li>
+        <label>Description</label>
+        <button class="icon icon-dialog">Action 2</button>
+      </li>
+      <li>
+        <label>This is a large description for this action</label>
+        <button class="icon icon-dialog" disabled >Action 3 (disabled)</button>
+      </li>
+    </ul>
+  </div>
+</body>
+</html>
+

+ 297 - 0
css/confirm.css

@@ -0,0 +1,297 @@
+/* ----------------------------------
+ * Confirm
+ * ---------------------------------- */
+
+/* Main dialog setup */
+form[role="dialog"][data-type="confirm"] {
+  background:
+    url(confirm/images/ui/pattern.png) repeat left top,
+    url(confirm/images/ui/gradient.png) no-repeat left top / 100% 100%;
+  overflow: hidden;
+  position: absolute;
+  z-index: 100;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  padding-bottom: 7rem;
+  font-size: 0;
+  /* Using font-size: 0; we avoid the unwanted visual space (about 3px)
+  created by white-spaces and break lines in the code betewen inline-block elements */
+  color: #fff;
+  text-align: left;
+}
+
+form[role="dialog"][data-type="confirm"]:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 0.1rem;
+  height: 100%;
+  margin-left: -0.1rem;
+}
+
+form[role="dialog"][data-type="confirm"] > section {
+  font-weight: lighter;
+  font-size: 2.2rem;
+  color: #FAFAFA;
+  padding: 0 1.5rem;
+  -moz-box-sizing: padding-box;
+  width: 100%;
+  display: inline-block;
+  overflow-y: scroll;
+  max-height: 100%;
+  vertical-align: middle;
+  white-space: normal;
+}
+
+form[role="dialog"][data-type="confirm"] h1 {
+  font-weight: normal;
+  font-size: 1.6rem;
+  line-height: 1.5em;
+  color: #fff;
+  margin: 0;
+  padding: 1rem 1.5rem 0;
+}
+
+/* Menu & buttons setup */
+form[role="dialog"][data-type="confirm"] menu {
+  white-space: nowrap;
+  margin: 0;
+  padding: 1.5rem;
+  background: #2d2d2d url(confirm/images/ui/pattern.png) repeat left top;
+  display: block;
+  overflow: hidden;
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+
+form[role="dialog"][data-type="confirm"] menu button::-moz-focus-inner {
+  border: none;
+  outline: none;
+  margin-top: -0.2rem; /* To fix line-height bug (697451) */
+}
+
+form[role="dialog"][data-type="confirm"] menu button {
+  font-family: sans-serif;
+  font-style: italic;
+  width: 100%;
+  height: 4rem;
+  margin: 0 0 1rem;
+  padding: 0 1.2rem;
+  -moz-box-sizing: border-box;
+  display: inline-block;
+  vertical-align: middle;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+  background: #d8d8d8;
+  border: none;
+  border-radius: 2rem;
+  font-weight: normal;
+  font-size: 1.6rem;
+  line-height: 4rem;
+  color: #333;
+  text-align: center;
+  text-shadow: none;
+  text-decoration: none;
+  outline: none;
+}
+
+/* Recommend */
+form[role="dialog"][data-type="confirm"] menu button.recommend {
+  background-color: #00caf2;
+  color: #fff;
+}
+
+/* Danger */
+form[role="dialog"][data-type="confirm"] menu button.danger {
+  background-color: #e51e1e;
+  color: #fff;
+}
+
+/* Pressed */
+form[role="dialog"][data-type="confirm"] menu button:active {
+  background: #00aacc;
+  color: #fff;
+}
+
+/* Disabled */
+form[role="dialog"][data-type="confirm"] > menu > button[disabled] {
+  background-color: #565656;
+  color: rgba(255,255,255,0.4);
+  pointer-events: none;
+}
+
+form[role="dialog"][data-type="confirm"] > menu > button[disabled].recommend {
+  background-color: #006579;
+}
+
+form[role="dialog"][data-type="confirm"] > menu > button[disabled].danger {
+  background-color: #730f0f;
+}
+
+button[disabled]::-moz-selection {
+  -moz-user-select: none;
+}
+
+
+form[role="dialog"][data-type="confirm"] menu button:last-child {
+  margin-left: 1rem;
+}
+
+form[role="dialog"][data-type="confirm"] menu button,
+form[role="dialog"][data-type="confirm"] menu button:first-child {
+  margin: 0;
+}
+
+form[role="dialog"][data-type="confirm"] menu button {
+  width: calc((100% - 1rem) / 2);
+}
+
+form[role="dialog"][data-type="confirm"] menu button.full {
+  width: 100%;
+}
+
+/* Specific component code */
+form[role="dialog"][data-type="confirm"] p {
+  word-wrap: break-word;
+  margin: 1rem 0 0;
+  padding: 1rem 1.5rem;
+  border-top: 0.1rem solid #686868;
+  line-height: 3rem;
+}
+
+form[role="dialog"][data-type="confirm"] p span {
+    font-size: 1.5rem;
+    display: block;
+    line-height: 1.7rem;
+    color: rgba(255,255,255,0.6);
+}
+
+form[role="dialog"][data-type="confirm"] p img {
+  float: left;
+  margin-right: 2rem;
+}
+
+form[role="dialog"][data-type="confirm"] p strong {
+  font-weight: lighter;
+}
+
+form[role="dialog"][data-type="confirm"] p small {
+  font-size: 1.4rem;
+  font-weight: normal;
+  color: #cbcbcb;
+  display: block;
+}
+
+form[role="dialog"][data-type="confirm"] dl {
+  border-top: 0.1rem solid #686868;
+  margin: 1rem 0 0;
+  overflow: hidden;
+  padding-top: 1rem;
+  font-size: 1.6rem;
+  line-height: 2.2rem;
+}
+
+form[role="dialog"][data-type="confirm"] dl > dt {
+  clear: both;
+  float: left;
+  width: 7rem;
+  padding-left: 1.5rem;
+  font-weight: 500;
+  text-align: left;
+}
+
+form[role="dialog"][data-type="confirm"] dl > dd {
+  padding-right: 1.5rem;
+  font-weight: 300;
+  text-overflow: ellipsis;
+  vertical-align: top;
+  overflow: hidden;
+}
+
+form[role="dialog"][data-type="confirm"] figure {
+  margin: 1.5rem;
+  display: flex;
+  align-items: center;
+}
+
+form[role="dialog"][data-type="confirm"] figure img {
+  padding-right: 1.5rem;
+  flex-shrink: 0;
+}
+
+form[role="dialog"][data-type="confirm"] figure figcaption {
+  font-size: 2.1rem;
+  font-weight: 300;
+}
+
+form[role="dialog"][data-type="confirm"] ul {
+  margin: 0;
+  padding: 2rem 1.5rem;
+  border-top: 0.1rem solid #686868;
+  list-style: none;
+  font-size: 1.6rem;
+  font-weight: normal;
+}
+
+form[role="dialog"][data-type="confirm"] ul li {
+  word-wrap: break-word;
+  line-height: 2rem;
+  padding-bottom: 1.5rem;
+}
+
+form[role="dialog"][data-type="confirm"] ul li:last-child {
+  padding-bottom: 0;
+}
+
+form[role="dialog"][data-type="confirm"] ul li ul {
+  border: none;
+  margin: 0;
+  padding: 0;
+}
+
+/*
+ * Right to left View
+ */
+
+html[dir="rtl"] form[role="dialog"][data-type="confirm"] {
+  text-align: right;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="confirm"]:before {
+  margin-left: auto;
+  margin-right: -0.1rem;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="confirm"] menu button:last-child {
+  margin-left: auto;
+  margin-right: 1rem;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="confirm"] p img {
+  float: right;
+  margin-left: 2rem;
+  margin-right: auto;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="confirm"] dl > dt {
+  float: right;
+  padding-left: inherit;
+  padding-right: 1.5rem;
+  text-align: right;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="confirm"] dl > dd {
+  padding-left: 1.5rem;
+  padding-right: inherit;
+}
+
+html[dir="rtl"] form[role="dialog"][data-type="confirm"] figure img {
+  padding-left: 1.5rem;
+  padding-right: inherit;
+}
+

File diff suppressed because it is too large
+ 41 - 0
css/confirm/content.html


File diff suppressed because it is too large
+ 40 - 0
css/confirm/content_details.html


BIN
css/confirm/images/ui/danger-disabled.png


BIN
css/confirm/images/ui/danger-press.png


BIN
css/confirm/images/ui/danger.png


BIN
css/confirm/images/ui/default.png


BIN
css/confirm/images/ui/disabled.png


BIN
css/confirm/images/ui/gradient.png


BIN
css/confirm/images/ui/pattern.png


BIN
css/confirm/images/ui/recommend.png


+ 51 - 0
css/confirm/index.html

@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+
+  <title>Confirm</title>
+  <meta name="description" content="Prompts user to take action">
+
+  <link rel="stylesheet" href="../confirm.css">
+
+  <!--
+    - This <style> element is only used for the example code;
+    - it is not required for the real use case.
+    -->
+  <style type="text/css">
+    html, body {
+      font-family: sans-serif;
+      margin: 0;
+      padding: 0;
+      font-size: 10px;
+      background-color: #fff;
+    }
+    body {
+      background: none;
+    }
+  </style>
+</head>
+
+<body role="application">
+  <p dir="ltr">
+    <label>
+      <input type="checkbox"
+        onchange="document.documentElement.dir = this.checked ? 'rtl' : 'ltr'">
+      RTL mode
+    </label>
+  </p>
+
+  <form role="dialog" data-type="confirm">
+    <section>
+      <h1>Confirmation</h1>
+      <p>Are you sure you want to delete this contact?</p>
+    </section>
+    <menu>
+      <button>Cancel</button>
+      <button class="danger">Delete</button>
+    </menu>
+  </form>
+
+</body>
+</html>
+

+ 51 - 0
css/confirm/long_content.html

@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+
+  <title>Confirm</title>
+  <meta name="description" content="Prompts user to take action">
+
+  <link rel="stylesheet" href="../confirm.css">
+
+  <!--
+    - This <style> element is only used for the example code;
+    - it is not required for the real use case.
+    -->
+  <style type="text/css">
+    html, body {
+      font-family: sans-serif;
+      margin: 0;
+      padding: 0;
+      font-size: 10px;
+      background-color: #fff;
+    }
+    body {
+      background: none;
+    }
+  </style>
+</head>
+
+<body role="application">
+  <p dir="ltr">
+    <label>
+      <input type="checkbox"
+        onchange="document.documentElement.dir = this.checked ? 'rtl' : 'ltr'">
+      RTL mode
+    </label>
+  </p>
+
+  <form role="dialog" data-type="confirm">
+    <section>
+      <h1>Confirmation</h1>
+      <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
+    </section>
+    <menu>
+      <button>Cancel</button>
+      <button class="danger">Delete</button>
+    </menu>
+  </form>
+
+</body>
+</html>
+

+ 50 - 0
css/confirm/no_title.html

@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+
+  <title>Confirm, w/o title</title>
+  <meta name="description" content="Prompts user to take action">
+
+  <link rel="stylesheet" href="../confirm.css">
+
+  <!--
+    - This <style> element is only used for the example code;
+    - it is not required for the real use case.
+    -->
+  <style type="text/css">
+    html, body {
+      font-family: sans-serif;
+      margin: 0;
+      padding: 0;
+      font-size: 10px;
+      background-color: #fff;
+    }
+    body {
+      background: none;
+    }
+  </style>
+</head>
+
+<body role="application">
+  <p dir="ltr">
+    <label>
+      <input type="checkbox"
+        onchange="document.documentElement.dir = this.checked ? 'rtl' : 'ltr'">
+      RTL mode
+    </label>
+  </p>
+
+  <form role="dialog" data-type="confirm">
+    <section>
+      <p>Are you sure you want to delete this contact?</p>
+    </section>
+    <menu>
+      <button>Cancel</button>
+      <button class="danger">Delete</button>
+    </menu>
+  </form>
+
+</body>
+</html>
+

+ 267 - 0
css/date_selector.css

@@ -0,0 +1,267 @@
+/* ----------------------------------
+ * Date selector
+ * ---------------------------------- */
+
+/* Main dialog setup */
+[role="dialog"][data-type="date-selector"] {
+  background: url(date_selector/images/ui/pattern.png) repeat left top, url(date_selector/images/ui/gradient.png) no-repeat left top / 100% 100%;
+  overflow: hidden;
+  position: absolute;
+  z-index: 100;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  padding: 0 0 7rem;
+  color: #fff;
+  font-family: sans-serif;
+}
+
+[role="dialog"][data-type="date-selector"] h1 {
+  font-weight: 400;
+  font-size: 1.9rem;
+  line-height: 4.8rem;
+  color: #fff;
+  border-bottom: 0.1rem solid #616262;
+  background: rgba(0 ,0, 0, .2);
+  margin: 0;
+  padding: 0 3rem 1rem;
+  height: 4.8rem;
+  -moz-box-sizing: border-box;
+}
+
+/* Date picker */
+[role="dialog"][data-type="date-selector"] .picker-container {
+  -moz-box-sizing: border-box;
+  position: relative;
+  width: calc(100% - 5rem);
+  height: 22.5rem;
+  margin: 5.4rem auto 0;
+  padding-top: 8.8rem;
+  border-left:  0.1rem solid #111;
+  border-right: 0.1rem solid #111;
+  overflow: hidden;
+}
+
+[role="dialog"][data-type="date-selector"] .picker-container:before {
+  content: '';
+  position: absolute;
+  top: 0;
+  right: 0;
+  left: 0;
+  border-top: solid 0.7rem;
+  -moz-border-top-colors:
+    rgba(0, 0, 0, 0.5) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.3)
+    rgba(0, 0, 0, 0.2) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.1)
+    rgba(0, 0, 0, 0.05);
+  z-index: 10;
+}
+
+[role="dialog"][data-type="date-selector"] .picker-container:after {
+  content: '';
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  border-bottom: solid 0.7rem;
+  -moz-border-bottom-colors:
+    rgba(0, 0, 0, 0.5) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.3)
+    rgba(0, 0, 0, 0.2) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.1)
+    rgba(0, 0, 0, 0.05);
+  z-index: 10;
+}
+
+[role="dialog"][data-type="date-selector"] .picker-bar-background {
+  position: absolute;
+  top: 0;
+  right: 0;
+  width: 27%;
+  height: 100%;
+  background: url(date_selector/images/ui/pattern-time.png);
+}
+
+[role="dialog"][data-type="date-selector"] .value-picker-date-wrapper,
+[role="dialog"][data-type="date-selector"] .value-picker-month-wrapper,
+[role="dialog"][data-type="date-selector"] .value-picker-year-wrapper {
+  -moz-box-sizing: border-box;
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 21%;
+  height: 100%;
+  padding-top: 8.3rem;
+  border-right: solid 0.2rem;
+  -moz-border-right-colors: #1d1d1d #4a4a4a;
+}
+
+[role="dialog"][data-type="date-selector"] .value-picker-month-wrapper {
+  left: 21%;
+  width: 52%;
+}
+
+[role="dialog"][data-type="date-selector"] .value-picker-year-wrapper {
+  left: auto;
+  right: 0;
+  width: 27%;
+}
+
+/*DMY*/
+[role="dialog"][data-type="date-selector"] .DMY .value-picker-year-wrapper {
+  border: none;
+}
+
+/*YMD*/
+[role="dialog"][data-type="date-selector"] .YMD .value-picker-year-wrapper {
+  left: 0;
+  right: auto;
+}
+
+[role="dialog"][data-type="date-selector"] .YMD .value-picker-month-wrapper {
+  left: 27%;
+}
+
+[role="dialog"][data-type="date-selector"] .YMD .value-picker-date-wrapper {
+  left: auto;
+  right: 0;
+  border: none;
+}
+
+/*MDY*/
+[role="dialog"][data-type="date-selector"] .MDY .value-picker-month-wrapper {
+  left: 0;
+}
+
+[role="dialog"][data-type="date-selector"] .MDY .value-picker-date-wrapper {
+  left: 52%;
+}
+
+[role="dialog"][data-type="date-selector"] .MDY .value-picker-year-wrapper {
+  border: none;
+}
+
+[role="dialog"][data-type="date-selector"] .value-picker-date,
+[role="dialog"][data-type="date-selector"] .value-picker-month,
+[role="dialog"][data-type="date-selector"] .value-picker-year {
+  -moz-user-select: none;
+  position: relative;
+  width: 100%;
+  z-index: 1;
+}
+
+[role="dialog"][data-type="date-selector"] .value-picker-date > *[data-disabled="true"],
+[role="dialog"][data-type="date-selector"] .value-picker-month > *[data-disabled="true"],
+[role="dialog"][data-type="date-selector"] .value-picker-year > *[data-disabled="true"] {
+  visibility: hidden;
+}
+
+[role="dialog"][data-type="date-selector"] .value-indicator {
+  position: absolute;
+  width: 100%;
+  height: 4.6rem;
+  background-color: #00A5C5;
+  box-shadow: 0 0 0.7rem rgba(0,0,0, .4);
+  opacity: .99;
+  pointer-events: none;
+}
+
+[role="dialog"][data-type="date-selector"] .animation-on {
+  transition-duration: 0.5s;
+  transition-property: transform;
+}
+
+[role="dialog"][data-type="date-selector"]  .picker-unit {
+  position: relative;
+  font: 2.2rem/5.6rem 'MozTT',sans-serif;
+  color: #fff;
+  text-align: center;
+  vertical-align: middle;
+  width: 100%;
+  height: 5.6rem;
+  pointer-events: none;
+}
+
+/* Menu & buttons setup */
+[role="dialog"][data-type="date-selector"] menu {
+  white-space: nowrap;
+  margin: 0;
+  padding: 1.5rem;
+  background: #2d2d2d url(date_selector/images/ui/pattern.png) repeat left top;
+  display: block;
+  overflow: hidden;
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+
+[role="dialog"][data-type="date-selector"] menu button::-moz-focus-inner {
+  border: none;
+  outline: none;
+}
+
+[role="dialog"][data-type="date-selector"] menu button {
+  width: calc((100% - 1rem) / 2);
+  font-family: sans-serif;
+  font-style: italic;
+  height: 4rem;
+  margin: 0 0 1rem;
+  padding: 0 1.2rem;
+  -moz-box-sizing: border-box;
+  display: inline-block;
+  vertical-align: middle;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+  background: #d8d8d8;
+  border: none;
+  border-radius: 2rem;
+  font-weight: normal;
+  font-size: 1.6rem;
+  line-height: 4rem;
+  color: #333;
+  text-align: center;
+  text-shadow: none;
+  text-decoration: none;
+  outline: none;
+}
+
+/* Affirmative */
+[role="dialog"][data-type="date-selector"] menu button.affirmative,
+[role="dialog"][data-type="date-selector"] menu button.recommend {
+  background-color: #00caf2;
+  color: #fff;
+}
+
+/* Pressed */
+[role="dialog"][data-type="date-selector"] menu button:active {
+  background: #00aacc;
+  color: #fff;
+}
+
+/* Disabled */
+[role="dialog"][data-type="date-selector"] > menu > button[disabled] {
+  background-color: #565656;
+  color: rgba(255,255,255,0.4);
+  pointer-events: none;
+}
+
+[role="dialog"][data-type="date-selector"] > menu > button[disabled].recommend {
+  background-color: #006579;
+}
+
+button[disabled]::-moz-selection {
+  -moz-user-select: none;
+}
+
+[role="dialog"][data-type="date-selector"] menu button:last-child {
+  margin-left: 1rem;
+}
+
+[role="dialog"][data-type="date-selector"] menu button,
+[role="dialog"][data-type="date-selector"] menu button:first-child {
+  margin: 0;
+}
+
+[role="dialog"][data-type="date-selector"] menu button.full {
+  width: 100%;
+}

BIN
css/date_selector/images/icons/checked.png


BIN
css/date_selector/images/icons/[email protected]


BIN
css/date_selector/images/icons/[email protected]


BIN
css/date_selector/images/ui/affirmative.png


BIN
css/date_selector/images/ui/default.png


BIN
css/date_selector/images/ui/gradient.png


BIN
css/date_selector/images/ui/[email protected]


BIN
css/date_selector/images/ui/pattern-time.png


BIN
css/date_selector/images/ui/pattern.png


BIN
css/date_selector/images/ui/shadow-invert.png


BIN
css/date_selector/images/ui/[email protected]


BIN
css/date_selector/images/ui/[email protected]


BIN
css/date_selector/images/ui/shadow.png


BIN
css/date_selector/images/ui/[email protected]


BIN
css/date_selector/images/ui/[email protected]


+ 285 - 0
css/date_selector/index.html

@@ -0,0 +1,285 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    
+    <title>Date selector</title>
+    
+    <link rel="stylesheet" href="../date_selector.css">
+    <!--
+      This <style> and <link> is only used for the example code, is no needed for the real case use
+    -->
+    <style type="text/css">
+      html, body { font-size: 10px; margin: 0; padding: 0; }
+    </style>
+    
+  </head>
+  
+  <body>
+    <form role="dialog" data-type="date-selector">
+      <h1>Select day</h1>
+      <div class="picker-container MDY">
+        <div class="picker-bar-background"></div>
+        <div class="value-picker-date-wrapper">
+          <div style="transform: translateY(-392px);" class="value-picker-date animation-on">
+            <div class="picker-unit">01</div>
+            <div class="picker-unit">02</div>
+            <div class="picker-unit">03</div>
+            <div class="picker-unit">04</div>
+            <div class="picker-unit">05</div>
+            <div class="picker-unit">06</div>
+            <div class="picker-unit">07</div>
+            <div class="picker-unit">08</div>
+            <div class="picker-unit">09</div>
+            <div class="picker-unit">10</div>
+            <div class="picker-unit">11</div>
+            <div class="picker-unit">12</div>
+            <div class="picker-unit">13</div>
+            <div class="picker-unit">14</div>
+            <div class="picker-unit">15</div>
+            <div class="picker-unit">16</div>
+            <div class="picker-unit">17</div>
+            <div class="picker-unit">18</div>
+            <div class="picker-unit">19</div>
+            <div class="picker-unit">20</div>
+            <div class="picker-unit">21</div>
+            <div class="picker-unit">22</div>
+            <div class="picker-unit">23</div>
+            <div class="picker-unit">24</div>
+            <div class="picker-unit">25</div>
+            <div class="picker-unit">26</div>
+            <div class="picker-unit">27</div>
+            <div class="picker-unit">28</div>
+            <div class="picker-unit">29</div>
+            <div class="picker-unit">30</div>
+            <div class="picker-unit">31</div>
+          </div>
+        </div>
+        <div class="value-picker-month-wrapper">
+          <div style="transform: translateY(-392px);" class="value-picker-month">
+            <div class="picker-unit">January</div>
+            <div class="picker-unit">February</div>
+            <div class="picker-unit">March</div>
+            <div class="picker-unit">April</div>
+            <div class="picker-unit">May</div>
+            <div class="picker-unit">June</div>
+            <div class="picker-unit">July</div>
+            <div class="picker-unit">August</div>
+            <div class="picker-unit">September</div>
+            <div class="picker-unit">October</div>
+            <div class="picker-unit">November</div>
+            <div class="picker-unit">December</div>
+          </div>
+        </div>
+        <div class="value-picker-year-wrapper">
+          <div style="transform: translateY(-6328px);" class="value-picker-year">
+          <div class="picker-unit">1900</div>
+          <div class="picker-unit">1901</div>
+          <div class="picker-unit">1902</div>
+          <div class="picker-unit">1903</div>
+          <div class="picker-unit">1904</div>
+          <div class="picker-unit">1905</div>
+          <div class="picker-unit">1906</div>
+          <div class="picker-unit">1907</div>
+          <div class="picker-unit">1908</div>
+          <div class="picker-unit">1909</div>
+          <div class="picker-unit">1910</div>
+          <div class="picker-unit">1911</div>
+          <div class="picker-unit">1912</div>
+          <div class="picker-unit">1913</div>
+          <div class="picker-unit">1914</div>
+          <div class="picker-unit">1915</div>
+          <div class="picker-unit">1916</div>
+          <div class="picker-unit">1917</div>
+          <div class="picker-unit">1918</div>
+          <div class="picker-unit">1919</div>
+          <div class="picker-unit">1920</div>
+          <div class="picker-unit">1921</div>
+          <div class="picker-unit">1922</div>
+          <div class="picker-unit">1923</div>
+          <div class="picker-unit">1924</div>
+          <div class="picker-unit">1925</div>
+          <div class="picker-unit">1926</div>
+          <div class="picker-unit">1927</div>
+          <div class="picker-unit">1928</div>
+          <div class="picker-unit">1929</div>
+          <div class="picker-unit">1930</div>
+          <div class="picker-unit">1931</div>
+          <div class="picker-unit">1932</div>
+          <div class="picker-unit">1933</div>
+          <div class="picker-unit">1934</div>
+          <div class="picker-unit">1935</div>
+          <div class="picker-unit">1936</div>
+          <div class="picker-unit">1937</div>
+          <div class="picker-unit">1938</div>
+          <div class="picker-unit">1939</div>
+          <div class="picker-unit">1940</div>
+          <div class="picker-unit">1941</div>
+          <div class="picker-unit">1942</div>
+          <div class="picker-unit">1943</div>
+          <div class="picker-unit">1944</div>
+          <div class="picker-unit">1945</div>
+          <div class="picker-unit">1946</div>
+          <div class="picker-unit">1947</div>
+          <div class="picker-unit">1948</div>
+          <div class="picker-unit">1949</div>
+          <div class="picker-unit">1950</div>
+          <div class="picker-unit">1951</div>
+          <div class="picker-unit">1952</div>
+          <div class="picker-unit">1953</div>
+          <div class="picker-unit">1954</div>
+          <div class="picker-unit">1955</div>
+          <div class="picker-unit">1956</div>
+          <div class="picker-unit">1957</div>
+          <div class="picker-unit">1958</div>
+          <div class="picker-unit">1959</div>
+          <div class="picker-unit">1960</div>
+          <div class="picker-unit">1961</div>
+          <div class="picker-unit">1962</div>
+          <div class="picker-unit">1963</div>
+          <div class="picker-unit">1964</div>
+          <div class="picker-unit">1965</div>
+          <div class="picker-unit">1966</div>
+          <div class="picker-unit">1967</div>
+          <div class="picker-unit">1968</div>
+          <div class="picker-unit">1969</div>
+          <div class="picker-unit">1970</div>
+          <div class="picker-unit">1971</div>
+          <div class="picker-unit">1972</div>
+          <div class="picker-unit">1973</div>
+          <div class="picker-unit">1974</div>
+          <div class="picker-unit">1975</div>
+          <div class="picker-unit">1976</div>
+          <div class="picker-unit">1977</div>
+          <div class="picker-unit">1978</div>
+          <div class="picker-unit">1979</div>
+          <div class="picker-unit">1980</div>
+          <div class="picker-unit">1981</div>
+          <div class="picker-unit">1982</div>
+          <div class="picker-unit">1983</div>
+          <div class="picker-unit">1984</div>
+          <div class="picker-unit">1985</div>
+          <div class="picker-unit">1986</div>
+          <div class="picker-unit">1987</div>
+          <div class="picker-unit">1988</div>
+          <div class="picker-unit">1989</div>
+          <div class="picker-unit">1990</div>
+          <div class="picker-unit">1991</div>
+          <div class="picker-unit">1992</div>
+          <div class="picker-unit">1993</div>
+          <div class="picker-unit">1994</div>
+          <div class="picker-unit">1995</div>
+          <div class="picker-unit">1996</div>
+          <div class="picker-unit">1997</div>
+          <div class="picker-unit">1998</div>
+          <div class="picker-unit">1999</div>
+          <div class="picker-unit">2000</div>
+          <div class="picker-unit">2001</div>
+          <div class="picker-unit">2002</div>
+          <div class="picker-unit">2003</div>
+          <div class="picker-unit">2004</div>
+          <div class="picker-unit">2005</div>
+          <div class="picker-unit">2006</div>
+          <div class="picker-unit">2007</div>
+          <div class="picker-unit">2008</div>
+          <div class="picker-unit">2009</div>
+          <div class="picker-unit">2010</div>
+          <div class="picker-unit">2011</div>
+          <div class="picker-unit">2012</div>
+          <div class="picker-unit">2013</div>
+          <div class="picker-unit">2014</div>
+          <div class="picker-unit">2015</div>
+          <div class="picker-unit">2016</div>
+          <div class="picker-unit">2017</div>
+          <div class="picker-unit">2018</div>
+          <div class="picker-unit">2019</div>
+          <div class="picker-unit">2020</div>
+          <div class="picker-unit">2021</div>
+          <div class="picker-unit">2022</div>
+          <div class="picker-unit">2023</div>
+          <div class="picker-unit">2024</div>
+          <div class="picker-unit">2025</div>
+          <div class="picker-unit">2026</div>
+          <div class="picker-unit">2027</div>
+          <div class="picker-unit">2028</div>
+          <div class="picker-unit">2029</div>
+          <div class="picker-unit">2030</div>
+          <div class="picker-unit">2031</div>
+          <div class="picker-unit">2032</div>
+          <div class="picker-unit">2033</div>
+          <div class="picker-unit">2034</div>
+          <div class="picker-unit">2035</div>
+          <div class="picker-unit">2036</div>
+          <div class="picker-unit">2037</div>
+          <div class="picker-unit">2038</div>
+          <div class="picker-unit">2039</div>
+          <div class="picker-unit">2040</div>
+          <div class="picker-unit">2041</div>
+          <div class="picker-unit">2042</div>
+          <div class="picker-unit">2043</div>
+          <div class="picker-unit">2044</div>
+          <div class="picker-unit">2045</div>
+          <div class="picker-unit">2046</div>
+          <div class="picker-unit">2047</div>
+          <div class="picker-unit">2048</div>
+          <div class="picker-unit">2049</div>
+          <div class="picker-unit">2050</div>
+          <div class="picker-unit">2051</div>
+          <div class="picker-unit">2052</div>
+          <div class="picker-unit">2053</div>
+          <div class="picker-unit">2054</div>
+          <div class="picker-unit">2055</div>
+          <div class="picker-unit">2056</div>
+          <div class="picker-unit">2057</div>
+          <div class="picker-unit">2058</div>
+          <div class="picker-unit">2059</div>
+          <div class="picker-unit">2060</div>
+          <div class="picker-unit">2061</div>
+          <div class="picker-unit">2062</div>
+          <div class="picker-unit">2063</div>
+          <div class="picker-unit">2064</div>
+          <div class="picker-unit">2065</div>
+          <div class="picker-unit">2066</div>
+          <div class="picker-unit">2067</div>
+          <div class="picker-unit">2068</div>
+          <div class="picker-unit">2069</div>
+          <div class="picker-unit">2070</div>
+          <div class="picker-unit">2071</div>
+          <div class="picker-unit">2072</div>
+          <div class="picker-unit">2073</div>
+          <div class="picker-unit">2074</div>
+          <div class="picker-unit">2075</div>
+          <div class="picker-unit">2076</div>
+          <div class="picker-unit">2077</div>
+          <div class="picker-unit">2078</div>
+          <div class="picker-unit">2079</div>
+          <div class="picker-unit">2080</div>
+          <div class="picker-unit">2081</div>
+          <div class="picker-unit">2082</div>
+          <div class="picker-unit">2083</div>
+          <div class="picker-unit">2084</div>
+          <div class="picker-unit">2085</div>
+          <div class="picker-unit">2086</div>
+          <div class="picker-unit">2087</div>
+          <div class="picker-unit">2088</div>
+          <div class="picker-unit">2089</div>
+          <div class="picker-unit">2090</div>
+          <div class="picker-unit">2091</div>
+          <div class="picker-unit">2092</div>
+          <div class="picker-unit">2093</div>
+          <div class="picker-unit">2094</div>
+          <div class="picker-unit">2095</div>
+          <div class="picker-unit">2096</div>
+          <div class="picker-unit">2097</div>
+          <div class="picker-unit">2098</div>
+          <div class="picker-unit">2099</div></div>
+        </div>
+        <div class="value-indicator"></div>
+      </div>
+      <menu>
+        <button>Cancel</button>
+        <button class="affirmative">OK</button>
+      </menu>
+    </form>
+  </body>
+</html>

+ 201 - 0
css/drawer.css

@@ -0,0 +1,201 @@
+/* ----------------------------------
+* Drawer
+* ---------------------------------- */
+
+/* Main region */
+section[role="region"] {
+  width: 100%;
+  transition: all 0.25s ease;
+  position: relative;
+  z-index: 100;
+}
+
+section[role="region"]:target {
+  transform: translateX(80%);
+}
+
+/* Hide anchor to change target */
+section[role="region"] > header:first-child > a:first-of-type {
+  display: none;
+}
+section[role="region"]:target > header:first-child > a:first-of-type {
+  display: block;
+}
+section[role="region"] > header:first-child > a:last-of-type {
+  display: block;
+}
+section[role="region"]:target > header:first-child > a:last-of-type {
+  display: none;
+}
+
+
+/* Sidebar */
+section[data-type="sidebar"] {
+  position: absolute;
+  width: 80%;
+  background: url(drawer/images/ui/pattern.png) repeat;
+  height: 100%;
+  top: 0;
+  left: 0;
+  overflow: hidden;
+}
+
+/* Sidebar header */
+section[data-type="sidebar"] > header {
+  position: relative;
+  z-index: 10;
+  height: 5rem;
+  color: #fff;
+  background: url(drawer/images/ui/header.png) repeat-x left bottom / 100% auto;
+}
+
+section[data-type="sidebar"] > header:after {
+  content: "";
+  height: 0.3rem;
+  position: absolute;
+  top: 100%;
+  left: 0;
+  right: 0;
+  background: url(drawer/images/ui/shadow_header.png) repeat-x left top;
+  background-size: auto 100%;
+}
+
+section[data-type="sidebar"] > header h1 {
+  font-size: 2.2rem;
+  line-height: 4.8rem;
+  text-align: left;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+  display: block;
+  overflow: hidden;
+  margin: 0 0 0 3rem;
+  height: 100%
+}
+
+section[data-type="sidebar"] > header h1 em {
+  font-weight: bold;
+  font-size: 1.5rem;
+  line-height: 1em;
+}
+
+/* Generic set of actions in toolbar */
+section[data-type="sidebar"] > header menu[type="toolbar"] {
+  height: 100%;
+  float: right;
+}
+
+section[data-type="sidebar"] > header menu[type="toolbar"] a,
+section[data-type="sidebar"] > header menu[type="toolbar"] button {
+  height: 4.9rem;
+  line-height: 4.9rem;
+  float: left;
+  background: none;
+  padding: 0 1.75rem;
+  -moz-box-sizing: border-box;
+  min-width: 5rem;
+  text-align: center;
+}
+
+section[data-type="sidebar"] > header menu[type="toolbar"] a:last-child,
+section[data-type="sidebar"] > header menu[type="toolbar"] button:last-child {
+  background: url(drawer/images/ui/separator.png) no-repeat left center / auto 3.1rem;
+}
+
+section[data-type="sidebar"] > header menu[type="toolbar"] {
+  padding: 0;
+  margin: 0;
+}
+
+section[data-type="sidebar"] > header a,
+section[data-type="sidebar"] > header button {
+  border: none;
+  background: none;
+  padding: 0;
+  overflow: hidden;
+  font-weight: 600;
+  font-size: 1.4rem;
+  line-height: 1.1em;
+  color: #fff;
+}
+
+section[data-type="sidebar"] > header a:first-letter,
+section[data-type="sidebar"] > header button:first-letter {
+  text-transform: uppercase;
+}
+
+/* Icon definitions */
+section[data-type="sidebar"] > header .icon {
+  display: inline-block;
+  width: 3rem;
+  height: 4.9rem;
+  margin: 0 -1rem;
+  background: transparent no-repeat center center / 100% auto;
+  font-size: 0;
+  overflow: hidden;
+  position: relative;
+}
+
+section[data-type="sidebar"]:after {
+  content: "";
+  width: 1rem;
+  background: url(drawer/images/ui/shadow.png) right top repeat-y;
+  height: 100%;
+  position: absolute;
+  top: 0;
+  right: 0;
+  z-index: 5;
+}
+
+section[data-type="sidebar"] > nav {
+  overflow-y: auto;
+  max-height: 100%;
+  margin-right: -0.8rem;
+}
+
+section[data-type="sidebar"] > nav > h2 {
+  font-weight: bold;
+  font-size: 1.4rem;
+  line-height: 3.3rem;
+  text-indent: 3rem;
+  color: #fff;
+  background: url(drawer/images/ui/pattern_subheader.png) repeat left top;
+  border-bottom: 0.1rem solid #596068;
+  margin: 0;
+  padding-right: 0.8rem;
+}
+
+section[data-type="sidebar"] [role="toolbar"] {
+  position: absolute;
+}
+
+section[data-type="sidebar"] > nav > ul {
+  width: 100%;
+  margin: 0;
+  padding: 0;
+}
+
+section[data-type="sidebar"] > nav > ul > li {
+  color: #fff;
+  list-style: none;
+  transition: background 0.2s ease;
+}
+
+section[data-type="sidebar"] > nav > ul > li:active {
+  background: #00ABCC;
+}
+
+section[data-type="sidebar"] > nav > ul > li > a {
+  text-decoration: none;
+  color: #fff;
+  font-size: 1.6rem;
+  line-height: 4.35rem;
+  border-bottom: 0.1rem solid #596068;
+  text-indent: 3rem;
+  padding-right: 0.8rem;
+  width: 100%;
+  -moz-box-sizing: border-box;
+  display: block;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+}

BIN
css/drawer/images/icons/menu.png


BIN
css/drawer/images/icons/[email protected]


BIN
css/drawer/images/icons/[email protected]


BIN
css/drawer/images/icons/[email protected]


BIN
css/drawer/images/ui/header.png


BIN
css/drawer/images/ui/header/header.png


BIN
css/drawer/images/ui/header/shadow.png


BIN
css/drawer/images/ui/header/[email protected]


BIN
css/drawer/images/ui/header/[email protected]


BIN
css/drawer/images/ui/negative.png


BIN
css/drawer/images/ui/pattern.png


BIN
css/drawer/images/ui/pattern_subheader.png


BIN
css/drawer/images/ui/separator.png


BIN
css/drawer/images/ui/separator_large.png


BIN
css/drawer/images/ui/shadow.png


BIN
css/drawer/images/ui/[email protected]


BIN
css/drawer/images/ui/[email protected]


BIN
css/drawer/images/ui/shadow_header.png


BIN
css/drawer/images/ui/[email protected]


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