base.html 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899
  1. {% extends "wagtailadmin/base.html" %}
  2. {% load wagtailadmin_tags i18n %}
  3. {% block extra_css %}
  4. {{ block.super }}
  5. <link rel="stylesheet" href="{% versioned_static 'wagtailstyleguide/css/styleguide.css' %}" type="text/css" />
  6. {{ example_form.media.css }}
  7. {% endblock %}
  8. {% block titletag %}{% trans 'Styleguide' %}{% endblock %}
  9. {% block bodyclass %}styleguide{% endblock %}
  10. {% block content %}
  11. {% trans "Styleguide" as title_trans %}
  12. {% include "wagtailadmin/shared/header.html" with title=title_trans icon='image' %}
  13. <div class="nice-padding">
  14. <h2>Contents</h2>
  15. <nav>
  16. <ul class="unlist">
  17. <li><a href="#palette">Colour palette</a></li>
  18. <li><a href="#accessiblecolours">Accessible colour combinations</a></li>
  19. <li><a href="#typography">Typography</a></li>
  20. <li><a href="#help">Help text</a></li>
  21. <li><a href="#listings">Listings</a></li>
  22. <li><a href="#pagination">Pagination</a></li>
  23. <li><a href="#buttons">Buttons</a></li>
  24. <li><a href="#dropdowns">Dropdown buttons</a></li>
  25. <li><a href="#header">Header</a></li>
  26. <li><a href="#forms">Forms</a></li>
  27. <li><a href="#editor">Page editor</a></li>
  28. <li><a href="#tabs">Tabs</a></li>
  29. <li><a href="#breadcrumbs">Breadcrumbs</a></li>
  30. <li><a href="#progress">Progress indicators</a></li>
  31. <li><a href="#misc">Misc formatters</a></li>
  32. <li><a href="#icons">Icons</a></li>
  33. </ul>
  34. </nav>
  35. <section id="palette" class="palette">
  36. <h2>Colour palette</h2>
  37. <ul>
  38. <li class="color-teal color-white-text">color-teal</li>
  39. <li class="color-teal-darker color-white-text">color-teal-darker</li>
  40. <li class="color-teal-dark color-white-text">color-teal-dark</li>
  41. </ul>
  42. <ul>
  43. <li class="color-salmon">color-salmon</li>
  44. <li class="color-salmon-light">color-salmon-light</li>
  45. </ul>
  46. <ul>
  47. <li class="color-grey-1 color-white-text">color-grey-1</li>
  48. <li class="color-grey-2 color-white-text">color-grey-2</li>
  49. <li class="color-grey-3">color-grey-3</li>
  50. <li class="color-grey-4">color-grey-4</li>
  51. <li class="color-grey-5">color-grey-5</li>
  52. </ul>
  53. <ul>
  54. <li class="color-red color-white-text">color-red</li>
  55. <li class="color-red-dark color-white-text">color-red-dark</li>
  56. <li class="color-orange">color-orange</li>
  57. <li class="color-orange-dark">color-orange-dark</li>
  58. <li class="color-green">color-green</li>
  59. <li class="color-green-dark color-white-text">color-green-dark</li>
  60. <li class="color-blue">color-blue</li>
  61. </ul>
  62. </section>
  63. <section class="palette" id="accessiblecolours">
  64. <h2>Accessible colour combinations</h2>
  65. <p>WCAG (Web Content Accessibility Guidelines) ensures that content is accessible by everyone, regardless of any disability or user device. To ensure text remains compliant with WCAG 2.0 AA standards, use only these permitted colour combinations.</p>
  66. <p>Use this <a href="https://accessibility.oit.ncsu.edu/tools/color-contrast/accessible-color-palette.php?colors=43b1b0,358c8b,246060,71b2d4,cd3238,e9b04d,189370,f37e77,fcf2f2,ffffff,000000,333333,404040,666666,d9d9d9,e6e6e6,fafafa,cacaca&amp;level=AA">Color Palette Accessibility Checker</a> to test new colour combinations using the existing colour palette.</p>
  67. <h3>Small text combinations: for font sizes 16px or smaller</h3>
  68. <ul class="contrast">
  69. <li class="color-teal "><span class="color-white-text">color-white on color-teal</span></li>
  70. <li class="color-teal-dark"><span class="color-white-text">color-white on color-teal-dark</span></li>
  71. <li class="color-teal-dark"><span class="color-salmon-light-text">color-salmon-light on color-teal-dark</span></li>
  72. </ul>
  73. <ul class="contrast">
  74. <li class="color-salmon"><span class="color-black-text">color-black on color-salmon</span></li>
  75. <li class="color-salmon"><span class="color-grey-1-text">color-grey-1 on color-salmon</span></li>
  76. <li class="color-salmon-light"><span class="color-teal-dark-text">color-teal-dark on color-salmon-light</span></li>
  77. <li class="color-salmon-light"><span class="color-red-text">color-red on color-salmon-light</span></li>
  78. <li class="color-salmon-light"><span class="color-black-text">color-black on color-salmon-light</span></li>
  79. <li class="color-salmon-light"><span class="color-grey-1-text">color-grey-1 on color-salmon-light</span></li>
  80. <li class="color-salmon-light"><span class="color-grey-2-text">color-grey-2 on color-salmon-light</span></li>
  81. </ul>
  82. <ul class="contrast">
  83. <li class="color-grey-1"><span class="color-blue-text">color-blue on color-grey-1</span></li>
  84. <li class="color-grey-1"><span class="color-orange-text">color-orange on color-grey-1</span></li>
  85. <li class="color-grey-1"><span class="color-salmon-text">color-salmon on color-grey-1</span></li>
  86. <li class="color-grey-1"><span class="color-salmon-light-text">color-salmon-light on color-grey-1</span></li>
  87. <li class="color-grey-1"><span class="color-white-text">color-white on color-grey-1</span></li>
  88. <li class="color-grey-1"><span class="color-grey-3-text">color-grey-3 on color-grey-1</span></li>
  89. <li class="color-grey-1"><span class="color-grey-4-text">color-grey-4 on color-grey-1</span></li>
  90. <li class="color-grey-1"><span class="color-grey-5-text">color-grey-5 on color-grey-1</span></li>
  91. <li class="color-grey-1"><span class="color-menu-text">color-menu-text on color-grey-1</span></li>
  92. </ul>
  93. <ul class="contrast">
  94. <li class="color-grey-2"><span class="color-salmon-light-text">color-salmon on color-grey-2</span></li>
  95. <li class="color-grey-2"><span class="color-white-text">color-white on color-grey-2</span></li>
  96. <li class="color-grey-2"><span class="color-grey-4-text">color-grey-4 on color-grey-2</span></li>
  97. <li class="color-grey-2"><span class="color-grey-5-text">color-grey-5 on color-grey-2</span></li>
  98. </ul>
  99. <ul class="contrast">
  100. <li class="color-grey-3"><span class="color-teal-dark-text">color-teal-dark on color-grey-3</span></li>
  101. <li class="color-grey-3"><span class="color-black-text">color-black on color-grey-3</span></li>
  102. <li class="color-grey-3"><span class="color-grey-1-text">color-grey-1 on color-grey-3</span></li>
  103. </ul>
  104. <ul class="contrast">
  105. <li class="color-grey-4"><span class="color-teal-dark-text">color-teal-dark on color-grey-4</span></li>
  106. <li class="color-grey-4"><span class="color-black-text">color-black on color-grey-4</span></li>
  107. <li class="color-grey-4"><span class="color-grey-1-text">color-grey-1 on color-grey-4</span></li>
  108. <li class="color-grey-4"><span class="color-grey-2-text">color-grey-2 on color-grey-4</span></li>
  109. </ul>
  110. <ul class="contrast">
  111. <li class="color-grey-5"><span class="color-teal-dark-text">color-teal-dark on color-grey-5</span></li>
  112. <li class="color-grey-5"><span class="color-red-text">color-red on color-grey-5</span></li>
  113. <li class="color-grey-5"><span class="color-black-text">color-black on color-grey-5</span></li>
  114. <li class="color-grey-5"><span class="color-grey-1-text">color-grey-1 on color-grey-5</span></li>
  115. <li class="color-grey-5"><span class="color-grey-2-text">color-grey-2 on color-grey-5</span></li>
  116. </ul>
  117. <ul class="contrast">
  118. <li class="color-red"><span class="color-salmon-light-text">color-salmon-light on color-red</span></li>
  119. <li class="color-red"><span class="color-white-text">color-white on color-red</span></li>
  120. <li class="color-red"><span class="color-grey-5-text">color-grey-5 on color-red</span></li>
  121. <li class="color-orange"><span class="color-black-text">color-black on color-orange</span></li>
  122. <li class="color-orange"><span class="color-grey-1-text">color-grey-1 on color-orange</span></li>
  123. <li class="color-green"><span class="color-black-text">color-black on color-green</span></li>
  124. <li class="color-blue"><span class="color-black-text">color-black on color-blue</span></li>
  125. <li class="color-blue"><span class="color-grey-1-text">color-grey-1 on color-blue</span></li>
  126. </ul>
  127. <br>
  128. <br>
  129. <h3>Large text combinations: for font sizes 18px or larger</h3>
  130. <ul class="contrast contrast-large">
  131. <li class="color-teal-darker"><span class="color-salmon-light-text">color-salmon-light on color-teal-darker</span></li>
  132. <li class="color-teal-darker"><span class="color-white-text">color-white on color-teal-darker</span></li>
  133. <li class="color-teal-darker"><span class="color-grey-4-text">color-grey-4 on color-teal-darker</span></li>
  134. <li class="color-teal-darker"><span class="color-grey-5-text">color-grey-5 on color-teal-darker</span></li>
  135. <li class="color-teal-dark"><span class="color-white-text">color-white on color-teal-dark</span></li>
  136. <li class="color-teal-dark"><span class="color-salmon-light-text">color-salmon-light on color-teal-dark</span></li>
  137. <li class="color-teal-dark"><span class="color-grey-3-text">color-grey-3 on color-teal-dark</span></li>
  138. <li class="color-teal-dark"><span class="color-grey-4-text">color-grey-4 on color-teal-dark</span></li>
  139. <li class="color-teal-dark"><span class="color-grey-5-text">color-grey-5 on color-teal-dark</span></li>
  140. </ul>
  141. <ul class="contrast contrast-large">
  142. <li class="color-salmon"><span class="color-black-text">color-black on color-salmon</span></li>
  143. <li class="color-salmon"><span class="color-grey-1-text">color-grey-1 on color-salmon</span></li>
  144. <li class="color-salmon-light"><span class="color-teal-darker-text">color-teal-darker on color-salmon-light</span></li>
  145. <li class="color-salmon-light"><span class="color-teal-dark-text">color-teal-dark on color-salmon-light</span></li>
  146. <li class="color-salmon-light"><span class="color-red-text">color-red on color-salmon-light</span></li>
  147. <li class="color-salmon-light"><span class="color-black-text">color-black on color-salmon-light</span></li>
  148. <li class="color-salmon-light"><span class="color-grey-1-text">color-grey-1 on color-salmon-light</span></li>
  149. <li class="color-salmon-light"><span class="color-grey-2-text">color-grey-2 on color-salmon-light</span></li>
  150. </ul>
  151. <ul class="contrast contrast-large">
  152. <li class="color-grey-1"><span class="color-blue-text">color-blue on color-grey-1</span></li>
  153. <li class="color-grey-1"><span class="color-orange-text">color-orange on color-grey-1</span></li>
  154. <li class="color-grey-1"><span class="color-salmon-text">color-salmon on color-grey-1</span></li>
  155. <li class="color-grey-1"><span class="color-salmon-light-text">color-salmon-light on color-grey-1</span></li>
  156. <li class="color-grey-1"><span class="color-white-text">color-white on color-grey-1</span></li>
  157. <li class="color-grey-1"><span class="color-grey-3-text">color-grey-3 on color-grey-1</span></li>
  158. <li class="color-grey-1"><span class="color-grey-4-text">color-grey-4 on color-grey-1</span></li>
  159. <li class="color-grey-1"><span class="color-grey-5-text">color-grey-5 on color-grey-1</span></li>
  160. <li class="color-grey-1"><span class="color-menu-text">color-menu-text on color-grey-1</span></li>
  161. </ul>
  162. <ul class="contrast contrast-large">
  163. <li class="color-grey-2"><span class="color-salmon-light-text">color-salmon on color-grey-2</span></li>
  164. <li class="color-grey-2"><span class="color-white-text">color-white on color-grey-2</span></li>
  165. <li class="color-grey-2"><span class="color-grey-3-text">color-grey-3 on color-grey-2</span></li>
  166. <li class="color-grey-2"><span class="color-grey-4-text">color-grey-4 on color-grey-2</span></li>
  167. <li class="color-grey-2"><span class="color-grey-5-text">color-grey-5 on color-grey-2</span></li>
  168. <li class="color-grey-2"><span class="color-menu-text">color-menu-text on color-grey-2</span></li>
  169. </ul>
  170. <ul class="contrast contrast-large">
  171. <li class="color-grey-3"><span class="color-teal-dark-text">color-teal-dark on color-grey-3</span></li>
  172. <li class="color-grey-3"><span class="color-black-text">color-black on color-grey-3</span></li>
  173. <li class="color-grey-3"><span class="color-grey-1-text">color-grey-1 on color-grey-3</span></li>
  174. <li class="color-grey-3"><span class="color-grey-2-text">color-grey-2 on color-grey-3</span></li>
  175. </ul>
  176. <ul class="contrast contrast-large">
  177. <li class="color-grey-4"><span class="color-teal-darker-text">color-teal-darker on color-grey-4</span></li>
  178. <li class="color-grey-4"><span class="color-teal-dark-text">color-teal-dark on color-grey-4</span></li>
  179. <li class="color-grey-4"><span class="color-black-text">color-black on color-grey-4</span></li>
  180. <li class="color-grey-4"><span class="color-grey-1-text">color-grey-1 on color-grey-4</span></li>
  181. <li class="color-grey-4"><span class="color-grey-2-text">color-grey-2 on color-grey-4</span></li>
  182. </ul>
  183. <ul class="contrast contrast-large">
  184. <li class="color-grey-5"><span class="color-teal-darker-text">color-teal-darker on color-grey-5</span></li>
  185. <li class="color-grey-5"><span class="color-teal-dark-text">color-teal-dark on color-grey-5</span></li>
  186. <li class="color-grey-5"><span class="color-red-text">color-red on color-grey-5</span></li>
  187. <li class="color-grey-5"><span class="color-black-text">color-black on color-grey-5</span></li>
  188. <li class="color-grey-5"><span class="color-grey-1-text">color-grey-1 on color-grey-5</span></li>
  189. <li class="color-grey-5"><span class="color-grey-2-text">color-grey-2 on color-grey-5</span></li>
  190. </ul>
  191. <ul class="contrast contrast-large">
  192. <li class="color-red-dark"><span class="color-salmon-light-text">color-salmon-light on color-red-dark</span></li>
  193. <li class="color-red-dark"><span class="color-white-text">color-white on color-red-dark</span></li>
  194. <li class="color-red-dark"><span class="color-grey-3-text">color-grey-3 on color-red-dark</span></li>
  195. <li class="color-red-dark"><span class="color-grey-4-text">color-grey-4 on color-red-dark</span></li>
  196. <li class="color-red-dark"><span class="color-grey-5-text">color-grey-5 on color-red-dark</span></li>
  197. </ul>
  198. <ul class="contrast contrast-large">
  199. <li class="color-orange-dark"><span class="color-white-text">color-white on color-orange-dark</span></li>
  200. <li class="color-orange-dark"><span class="color-black-text">color-black on color-orange-dark</span></li>
  201. </ul>
  202. <ul class="contrast contrast-large">
  203. <li class="color-green-dark"><span class="color-white-text">color-white on color-green-dark</span></li>
  204. <li class="color-green-dark"><span class="color-salmon-light-text">color-salmon-light on color-green-dark</span></li>
  205. </ul>
  206. <ul class="contrast contrast-large">
  207. <li class="color-blue"><span class="color-black-text">color-black on color-blue</span></li>
  208. <li class="color-blue"><span class="color-grey-1-text">color-grey-1 on color-blue</span></li>
  209. </ul>
  210. </section>
  211. <section id="typography">
  212. <h2>Typography</h2>
  213. <h1>This is an h1</h1>
  214. <h2>This is an h2</h2>
  215. <h3>This is an h3</h3>
  216. <h4>This is an h4</h4>
  217. <h5>This is an h5</h5>
  218. <p>This is a paragraph</p>
  219. <ul>
  220. <li>These are</li>
  221. <li>items in an</li>
  222. <li>unordered list</li>
  223. </ul>
  224. <ol>
  225. <li>These are</li>
  226. <li>items in an</li>
  227. <li>ordered list</li>
  228. </ol>
  229. <code>This is an example of code</code>
  230. </section>
  231. <section id="help">
  232. <h2>Help text</h2>
  233. <p>
  234. Help text is not to be confused with the messages that appear in a banner drop down from the top of the screen. Help text are permanent instructions, visible on every page view, that explain or warn about something.
  235. </p>
  236. <div class="help-block help-info">
  237. {% icon name='help' %}
  238. <p>This is help text that might be just for information, explaining what happens next, or drawing the user's attention to something they're about to do</p>
  239. <p>It could be multiple lines</p>
  240. </div>
  241. <p class="help-block help-warning">
  242. {% icon name='warning' %}
  243. A warning message might be output in cases where a user's action could have serious consequences
  244. </p>
  245. <div class="help-block help-critical">
  246. {% icon name='warning' %}
  247. A critical message would probably be rare, in cases where a particularly brittle or dangerously destructive action could be performed and needs to be warned about.
  248. </div>
  249. </section>
  250. <section id="listings">
  251. <h2>Listings</h2>
  252. <h3><code>table</code> listing</h3>
  253. <table class="listing">
  254. <thead>
  255. <tr>
  256. <th>Heading 1</th>
  257. <th>Heading 2</th>
  258. <th>Heading 3</th>
  259. </tr>
  260. </thead>
  261. <tbody>
  262. <tr>
  263. <td class="title">
  264. <h2><a href="">TD with title class</a></h2>
  265. </td>
  266. <td>Standard TD</td>
  267. <td>Standard TD</td>
  268. </tr>
  269. <tr class="unpublished">
  270. <td class="title">
  271. <h2><a href="">Unpublished TD with title class</a></h2>
  272. </td>
  273. <td>Standard TD</td>
  274. <td>Standard TD</td>
  275. </tr>
  276. <tr>
  277. <td class="title">
  278. <h2><a href="">TD with title class</a></h2>
  279. </td>
  280. <td>Standard TD</td>
  281. <td>Standard TD</td>
  282. </tr>
  283. </tbody>
  284. </table>
  285. <h3><code>ul</code> listing</h3>
  286. <ul class="listing">
  287. <li><div class="title"><h2><a href="">List item</a></h2></div></li>
  288. <li><div class="title"><h2><a href="">List item</a></h2></div></li>
  289. <li><div class="title"><h2><a href="">List item</a></h2></div></li>
  290. </ul>
  291. <h3><code>ul</code> listings with multiple columns</h3>
  292. <ul class="listing">
  293. <li>
  294. <div class="row row-flush">
  295. <div class="col6 title">
  296. <h2><a href="">Something here</a></h2>
  297. </div>
  298. <small class="col6" style="text-align:end">Something else</small>
  299. </div>
  300. </li>
  301. <li>
  302. <div class="row row-flush">
  303. <div class="col6">
  304. <a href="">Something here</a>
  305. </div>
  306. <small class="col6" style="text-align:end">Something else</small>
  307. </div>
  308. </li>
  309. <li>
  310. <div class="row row-flush">
  311. <div class="col6">
  312. <a href="">Something here</a>
  313. </div>
  314. <small class="col6" style="text-align:end">Something else</small>
  315. </div>
  316. </li>
  317. </ul>
  318. <h3>Listings used for choosing a list item</h3>
  319. <table class="listing chooser">
  320. <thead>
  321. <tr>
  322. <th>Heading 1</th>
  323. <th>Heading 2</th>
  324. <th>Heading 3</th>
  325. </tr>
  326. </thead>
  327. <tbody>
  328. <tr>
  329. <td class="title">
  330. <h2><a href="#">TD with title class</a></h2>
  331. </td>
  332. <td>Standard TD</td>
  333. <td>Standard TD</td>
  334. </tr>
  335. <tr class="disabled">
  336. <td class="title">
  337. <h2>Disabled TD with title class</h2>
  338. </td>
  339. <td>Standard TD</td>
  340. <td>Standard TD</td>
  341. </tr>
  342. <tr>
  343. <td class="title">
  344. <h2><a href="">TD with title class</a></h2>
  345. </td>
  346. <td>Standard TD</td>
  347. <td>Standard TD</td>
  348. </tr>
  349. </tbody>
  350. </table>
  351. </section>
  352. <section id="pagination">
  353. <h2>Pagination</h2>
  354. {% paginate example_page %}
  355. </section>
  356. <section id="buttons">
  357. <h2>Buttons</h2>
  358. <p class="help-block help-warning">{% icon name='warning' %}Do not use <code>{% filter force_escape|lower %}<input type="button">{% endfilter %}</code> use <code>{% filter force_escape|lower %}<button type="button"></button>{% endfilter %}</code> instead. This addresses inconsistencies between rendering of buttons x-browser.</p>
  359. <p>Buttons must have interaction possible (i.e be an input or button element) to get a suitable hover cursor</p>
  360. <h3>Basic buttons</h3>
  361. <a href="#" class="button">button link</a>
  362. <button class="button">button element</button>
  363. <h3>Secondary buttons</h3>
  364. <a href="#" class="button button-secondary">button link</a>
  365. <button class="button button-secondary">button element</button>
  366. <h3>Small buttons</h3>
  367. <a href="#" class="button button-small">button link</a>
  368. <button class="button button-small">button element</button>
  369. <h4>(secondary)</h4>
  370. <a href="#" class="button button-small button-secondary">button link</a>
  371. <button class="button button-small button-secondary">button element</button>
  372. <h3>Disabled buttons</h3>
  373. <a href="#" class="button disabled">button link</a>
  374. <button class="button button-small disabled">button element</button>
  375. <h3>Bi-color icon buttons with text</h3>
  376. <p>Note that <code>input</code> elements are not supported by any icon buttons.</p>
  377. <a href="#" class="button bicolor button--icon">{% icon name="plus" wrapped=1 %}button link</a>
  378. <button class="button bicolor button--icon">{% icon name="plus" wrapped=1 %}button element</button>
  379. <h4>(small)</h4>
  380. <a href="#" class="button button-small bicolor button--icon">{% icon name="plus" wrapped=1 %}button link</a>
  381. <button class="button button-small bicolor button--icon">{% icon name="plus" wrapped=1 %}button element</button>
  382. <h3>Icon buttons without text</h3>
  383. <a href="#" class="button text-replace button--icon">{% icon name="cog" %}button link</a>
  384. <button class="button text-replace button--icon">{% icon name="cog" %}button element</button>
  385. <h4>(small)</h4>
  386. <a href="#" class="button button-small text-replace button--icon">{% icon name="cog" %}button link</a>
  387. <button class="button button-small text-replace button--icon">{% icon name="cog" %}button element</button>
  388. <h3>Colour signifiers</h3>
  389. <h4>Positive</h4>
  390. <a href="#" class="button yes">yes</a>
  391. <a href="#" class="button button-small yes">yes</a>
  392. <h4>Negative</h4>
  393. <a href="#" class="button no">No</a>
  394. <a href="#" class="button button-small no">No</a>
  395. <h3>Buttons with internal loading indicators (currently only <code>button</code> supported)</h3>
  396. <p class="help-block help-warning">{% icon name='warning' %}Note that in some browsers, clicking these buttons minutely affects the appearance of Dropdown buttons, below. This is yet to be resolved.</p>
  397. <button class="button button-longrunning">{% icon name="spinner" %}Click me</button>
  398. <h4>Secondary</h4>
  399. <button class="button button-secondary button-longrunning">{% icon name="spinner" %}Click me</button>
  400. <h4>Small</h4>
  401. <button class="button button-small button-longrunning">{% icon name="spinner" %}Click me</button>
  402. <h4>Buttons where the text is replaced on click</h4>
  403. <button class="button button-longrunning" data-clicked-text="Test">{% icon name="spinner" %}<em>Click me</em></button>
  404. <h4>Arbitrarily bigger</h4>
  405. <style>
  406. #button-arbitrarily-bigger{
  407. font-size:1.5em;
  408. padding:1.1em 2.4em;
  409. height:3.5em;
  410. }
  411. </style>
  412. <button class="button button-longrunning" id="button-arbitrarily-bigger">{% icon name="spinner" %}Click me</button>
  413. <h3>Mixtures</h3>
  414. <button class="button button--icon text-replace yes">{% icon name="tick" %}A proper button</button>
  415. <a href="#" class="button button--icon text-replace white">{% icon name="cog" %}A link button</a>
  416. <span class="button button--icon text-replace no ">{% icon name="bin" %}A non-link button</span>
  417. <a href="#" class="button button--icon bicolor disabled">{% icon name="tick" wrapped=1 %}button link</a>
  418. </section>
  419. <section id="button-groups">
  420. <h2>Button groups</h2>
  421. <p>Adds rounding to first and last items only</p>
  422. <div class="button-group">
  423. <button class="button">button element</button>
  424. <button class="button">button element</button>
  425. <button class="button">button element</button>
  426. </div>
  427. <br />
  428. <div class="button-group">
  429. <button class="button button--icon text-replace yes">{% icon name="tick" %}A proper button</button>
  430. <a href="#" class="button button--icon text-replace white">{% icon name="cog" %}A link button</a>
  431. <span class="button button--icon text-replace no">{% icon name="bin" %}A non-link button</span>
  432. </div>
  433. </section>
  434. <section id="dropdowns">
  435. <h2>Dropdown buttons</h2>
  436. <div class="row">
  437. <div class="col3">
  438. <div class="dropdown dropdown-button match-width">
  439. <button type="button" class="button">drop down</button>
  440. <div class="dropdown-toggle">{% icon name="arrow-down" %}</div>
  441. <ul>
  442. <li><a href="#">items should not exceed button width</a></li>
  443. <li><a href="#">item 2</a></li>
  444. </ul>
  445. </div>
  446. </div>
  447. <div class="col3">
  448. <div class="dropdown dropdown-button">
  449. <button type="button" class="button">drop down</button>
  450. <div class="dropdown-toggle">{% icon name="arrow-down" %}</div>
  451. <ul>
  452. <li><a href="#">Items in this list do not match button width</a></li>
  453. <li><a href="#">item 2</a></li>
  454. </ul>
  455. </div>
  456. </div>
  457. <div class="col3">
  458. <div class="dropdown dropup dropdown-button match-width">
  459. <button type="button" class="button">drop up</button>
  460. <div class="dropdown-toggle">{% icon name="arrow-up" %}</div>
  461. <ul>
  462. <li><a href="#">item 1</a></li>
  463. <li><a href="#">item 2</a></li>
  464. </ul>
  465. </div>
  466. </div>
  467. <div class="col3">
  468. <div class="dropdown dropup dropdown-button match-width">
  469. <button value="drop up" class="button icon icon-view">icon dropup</button>
  470. <div class="dropdown-toggle">{% icon name="arrow-up" %}</div>
  471. <ul>
  472. <li><a href="#">item 1</a></li>
  473. <li><a href="#">item 2</a></li>
  474. </ul>
  475. </div>
  476. </div>
  477. </div>
  478. <div class="row">
  479. <br />
  480. <div class="col3">
  481. <div class="dropdown dropdown-button match-width">
  482. <a href="#" class="button" value="drop down">Link button</a>
  483. <div class="dropdown-toggle">{% icon name="arrow-down" %}</div>
  484. <ul>
  485. <li><a href="#">items should not exceed button width</a></li>
  486. <li><a href="#">item 2</a></li>
  487. </ul>
  488. </div>
  489. </div>
  490. <div class="col3">
  491. <div class="dropdown dropdown-button dropdown-button--white">
  492. <a href="#" class="button" value="drop down">White drop down</a>
  493. <div class="dropdown-toggle icon icon-arrow-down"></div>
  494. <ul>
  495. <li><a href="#">items should not exceed button match-width</a></li>
  496. <li><a href="#">item 2</a></li>
  497. <li><a href="#" class="button no">item with destructive action</a></li>
  498. </ul>
  499. </div>
  500. </div>
  501. <div class="col3">
  502. <button class="button">button for comparison of height</button>
  503. </div>
  504. </div>
  505. <div class="row">
  506. <br />
  507. <p>
  508. Inline dropdown components, primarily used in the listing.
  509. </p>
  510. <div class="c-dropdown t-default" data-dropdown="">
  511. <a class="c-dropdown__button u-btn-current">
  512. More
  513. <div data-dropdown-toggle="" class="o-icon c-dropdown__toggle c-dropdown__togle--icon [ icon icon-arrow-down ]">
  514. {% icon name="arrow-down" %}
  515. {% icon name="arrow-up" %}
  516. </div>
  517. </a>
  518. <div class="t-dark">
  519. <nav aria-label="Inline dropdown menu example">
  520. <ul class="c-dropdown__menu u-toggle u-arrow u-arrow--tl u-background">
  521. <li class="c-dropdown__item ">
  522. <a href="/admin/pages/2/move/" class="u-link is-live ">
  523. Move
  524. </a>
  525. </li>
  526. <li class="c-dropdown__item ">
  527. <a href="/admin/pages/2/copy/" class="u-link is-live ">
  528. Copy
  529. </a>
  530. </li>
  531. <li class="c-dropdown__item ">
  532. <a href="/admin/pages/2/delete/" class="u-link is-live ">
  533. Delete
  534. </a>
  535. </li>
  536. <li class="c-dropdown__item ">
  537. <a href="/admin/pages/2/unpublish/" class="u-link is-live ">
  538. Unpublish
  539. </a>
  540. </li>
  541. </ul>
  542. </nav>
  543. </div>
  544. </div>
  545. </div>
  546. <p>These can also have an inverted theme:</p>
  547. <header>
  548. <div class="c-dropdown t-inverted" data-dropdown="">
  549. <a class="c-dropdown__button u-btn-current">
  550. More
  551. <div data-dropdown-toggle="" class="o-icon c-dropdown__toggle c-dropdown__togle--icon [ icon icon-arrow-down ]">
  552. {% icon name="arrow-down" %}
  553. {% icon name="arrow-up" %}
  554. </div>
  555. </a>
  556. <div class="t-dark">
  557. <nav aria-label="Dark inline dropdown menu example">
  558. <ul class="c-dropdown__menu u-toggle u-arrow u-arrow--tl u-background">
  559. <li class="c-dropdown__item ">
  560. <a href="/admin/pages/2/move/" class="u-link is-live ">
  561. Move
  562. </a>
  563. </li>
  564. </ul>
  565. </nav>
  566. </div>
  567. </div>
  568. </header>
  569. </section>
  570. <section id="header">
  571. <h2>Header</h2>
  572. {% include "wagtailadmin/shared/header.html" with title=title_trans %}
  573. {% url "wagtailstyleguide" as add_link %}
  574. {% include "wagtailadmin/shared/header.html" with title=title_trans action_url=add_link icon="image" action_text="button" search_url="wagtailimages:index" %}
  575. </section>
  576. <section id="forms">
  577. <h2>Forms</h2>
  578. <form>
  579. <ul class="fields">
  580. {% for field in example_form %}
  581. {% if field.name == 'file' %}
  582. {% include "wagtailimages/images/_file_field.html" %}
  583. {% else %}
  584. {% include "wagtailadmin/shared/field_as_li.html" %}
  585. {% endif %}
  586. {% endfor %}
  587. <li><button type="submit" class="button">{% trans 'Save' %}</button><a href="#" class="button button-secondary no">{% trans "Delete image" %}</a></li>
  588. </ul>
  589. </form>
  590. </section>
  591. <section id="editor">
  592. <h2>Page editor</h2>
  593. </section>
  594. <section id="tabs">
  595. <h2>Tabs</h2>
  596. <div class="w-tabs" data-tabs>
  597. <div role="tablist" class="w-tabs__list">
  598. {% include 'wagtailadmin/shared/tabs/tab_nav_link.html' with tab_id='tab-1' title='Tab 1' %}
  599. {% include 'wagtailadmin/shared/tabs/tab_nav_link.html' with tab_id='tab-2' title='Tab 2' %}
  600. </div>
  601. </div>
  602. <p>Tabs can also indicate errors:</p>
  603. <div class="w-tabs" data-tabs>
  604. <div role="tablist" class="w-tabs__list">
  605. {% include 'wagtailadmin/shared/tabs/tab_nav_link.html' with tab_id='tab-errors-1' title='Tab 1' errors_count='5' %}
  606. {% include 'wagtailadmin/shared/tabs/tab_nav_link.html' with tab_id='tab-errors-2' title='Tab 2' errors_count='55' %}
  607. </div>
  608. </div>
  609. </section>
  610. <section id="breadcrumbs">
  611. <h2>Breadcrumbs</h2>
  612. <ul class="breadcrumb">
  613. {% trans 'Home' as home %}
  614. <li class="breadcrumb-item home"><a href="{% url 'wagtailadmin_home' %}" class="breadcrumb-link">{% icon name="home" class_name="home_icon" title=home %}{% icon name="arrow-right" class_name="arrow_right_icon" %}</a></li>
  615. <li class="breadcrumb-item "><a href="#" class="breadcrumb-link"><span class="title">Various</span>{% icon name="arrow-right" class_name="arrow_right_icon" %}</a></li>
  616. <li class="breadcrumb-item "><a href="#" class="breadcrumb-link"><span class="title">Subpages</span>{% icon name="arrow-right" class_name="arrow_right_icon" %}</a></li>
  617. <li class="breadcrumb-item "><a href="#" class="breadcrumb-link"><span class="title">There is a max length of this many</span>{% icon name="arrow-right" class_name="arrow_right_icon" %}</a></li>
  618. </ul>
  619. </section>
  620. <section id="progress">
  621. <h2>Progress indicators</h2>
  622. <div id="progress-example" class="progress active">
  623. <div class="bar">60%</div>
  624. </div>
  625. <p>&nbsp;</p>
  626. <div id="progress-example2" class="progress active">
  627. <div class="bar" style="width: 50%;">50%</div>
  628. </div>
  629. </section>
  630. <section id="misc">
  631. <h2>Misc formatters</h2>
  632. <h3>Avatar icons</h3>
  633. <p><span class="avatar"><img src="{% versioned_static 'wagtailadmin/images/default-user-avatar.png' %}" alt="" /></span> Avatar normal</p>
  634. <p><span class="avatar square"><img src="{% versioned_static 'wagtailadmin/images/default-user-avatar.png' %}" alt="" /></span> Avatar square</p>
  635. <p><span class="avatar small"><img src="{% versioned_static 'wagtailadmin/images/default-user-avatar.png' %}" alt="" /></span> Avatar small</p>
  636. <h3>Status tags</h3>
  637. <div class="status-tag primary">Primary tag</div>
  638. <div class="status-tag">Secondary tag</div>
  639. <h3>Loading mask</h3>
  640. <p>Add the following <code>div</code> around any items you wish to display with a spinner overlay and fading out</p>
  641. <p>Remove the "loading" class to disable the effect</p>
  642. <div class="loading-mask loading" style="width:200px">
  643. <img src="{% versioned_static 'wagtailadmin/images/wagtail-logo.svg' %}" width="200" alt="Wagtail" />
  644. </div>
  645. <h3>Image transparency</h3>
  646. <p>It can be useful to show users the transparent areas of images. Add a transparency checkerboard with the <code>.show-transparency</code> on the <code>img</code> tag thus:</p>
  647. <img src="{% versioned_static 'wagtailadmin/images/wagtail-logo.svg' %}" width="200" class="show-transparency" alt="Wagtail"/>
  648. </section>
  649. <section id="icons" class="icons">
  650. <h2>SVG Icons</h2>
  651. <style>
  652. .spinning {
  653. animation-name: spin-wag;
  654. animation-duration: 500ms;
  655. animation-iteration-count: infinite;
  656. animation-timing-function: linear;
  657. }
  658. @keyframes spin-wag {
  659. from {
  660. transform: translateY(0.6em) rotate(0deg);
  661. } to {
  662. transform: translateY(0.6em) rotate(360deg);
  663. }
  664. }
  665. </style>
  666. <ul class="unlist">
  667. <li>{% icon 'wagtail-icon' %} wagtail</li>
  668. <li>{% icon 'wagtail-inverse' %} wagtail-inverse</li>
  669. <li>{% icon 'cogs' %} cogs</li>
  670. <li>{% icon 'doc-empty-inverse' %} doc-empty-inverse</li>
  671. <li>{% icon 'doc-empty' %} doc-empty</li>
  672. <li>{% icon 'edit' %} edit</li>
  673. <li>{% icon 'arrow-up' %} arrow-up</li>
  674. <li>{% icon 'arrow-down' %} arrow-down</li>
  675. <li>{% icon 'search' %} search</li>
  676. <li>{% icon 'cross' %} cross</li>
  677. <li>{% icon 'folder-open-1' %} folder-open-1</li>
  678. <li>{% icon 'folder-inverse' %} folder-inverse</li>
  679. <li>{% icon 'mail' %} mail</li>
  680. <li>{% icon 'arrows-up-down' %} arrows-up-down</li>
  681. <li>{% icon 'lock' %} lock (locked)</li>
  682. <li>{% icon 'lock-open' %} lock-open (unlocked)</li>
  683. <li>{% icon 'arrow-right' %} arrow-right</li>
  684. <li>{% icon 'doc-full' %} doc-full / file-text-alt</li>
  685. <li>{% icon 'image' %} image / picture</li>
  686. <li>{% icon 'doc-full-inverse' %} doc-full-inverse</li>
  687. <li>{% icon 'draft' %} draft</li>
  688. <li>{% icon 'folder' %} folder</li>
  689. <li>{% icon 'plus' %} plus</li>
  690. <li>{% icon 'tag' %} tag</li>
  691. <li>{% icon 'folder-open-inverse' %} folder-open-inverse</li>
  692. <li>{% icon 'clipboard-list' %} clipboard-list</li>
  693. <li>{% icon 'tasks' %} tasks</li>
  694. <li>{% icon 'cog' %} cog</li>
  695. <li>{% icon 'tick' %} tick</li>
  696. <li>{% icon 'user' %} user</li>
  697. <li>{% icon 'arrow-left' %} arrow-left</li>
  698. <li>{% icon 'tick-inverse' %} tick-inverse</li>
  699. <li>{% icon 'plus-inverse' %} plus-inverse</li>
  700. <li>{% icon 'snippet' %} snippet</li>
  701. <li>{% icon 'bold' %} bold</li>
  702. <li>{% icon 'italic' %} italic</li>
  703. <li>{% icon 'undo' %} undo</li>
  704. <li>{% icon 'history' %} history</li>
  705. <li>{% icon 'repeat' %} repeat</li>
  706. <li>{% icon 'list-ol' %} list-ol</li>
  707. <li>{% icon 'list-ul' %} list-ul</li>
  708. <li>{% icon 'link' %} link</li>
  709. <li>{% icon 'link-external' %} link-external</li>
  710. <li>{% icon 'superscript' %} superscript</li>
  711. <li>{% icon 'subscript' %} subscript</li>
  712. <li>{% icon 'strikethrough' %} strikethrough</li>
  713. <li>{% icon 'radio-full' %} radio-full</li>
  714. <li>{% icon 'radio-empty' %} radio-empty</li>
  715. <li>{% icon 'arrow-up-big' %} arrow-up-big</li>
  716. <li>{% icon 'arrow-down-big' %} arrow-down-big</li>
  717. <li>{% icon 'group' %} group</li>
  718. <li>{% icon 'media' %} media</li>
  719. <li>{% icon 'horizontalrule' %} horizontalrule</li>
  720. <li>{% icon 'password' %} password</li>
  721. <li>{% icon 'download' %} download</li>
  722. <li>{% icon 'duplicate' %} duplicate</li>
  723. <li>{% icon 'download-alt' %} download-alt</li>
  724. <li>{% icon 'upload' %} upload</li>
  725. <li>{% icon 'order' %} order</li>
  726. <li>{% icon 'grip' %} grip</li>
  727. <li>{% icon 'home' %} home</li>
  728. <li>{% icon 'order-down' %} order-down</li>
  729. <li>{% icon 'order-up' %} order-up</li>
  730. <li>{% icon 'bin' %} bin</li>
  731. <li>{% icon 'spinner' 'icon spinning' %} spinner</li>
  732. <li>{% icon 'pick' %} pick</li>
  733. <li>{% icon 'redirect' %} redirect</li>
  734. <li>{% icon 'view' %} view</li>
  735. <li>{% icon 'no-view' %} no-view</li>
  736. <li>{% icon 'collapse-up' %} collapse-up</li>
  737. <li>{% icon 'collapse-down' %} collapse-down</li>
  738. <li>{% icon 'comment' %} comment</li>
  739. <li>{% icon 'help' %} help</li>
  740. <li>{% icon 'warning' %} warning</li>
  741. <li>{% icon 'error' %} error</li>
  742. <li>{% icon 'success' %} success</li>
  743. <li>{% icon 'date' %} date</li>
  744. <li>{% icon 'time' %} time</li>
  745. <li>{% icon 'form' %} form</li>
  746. <li>{% icon 'site' %} site</li>
  747. <li>{% icon 'placeholder' %} placeholder</li>
  748. <li>{% icon 'pilcrow' %} pilcrow</li>
  749. <li>{% icon 'title' %} title</li>
  750. <li>{% icon 'code' %} code</li>
  751. <li>{% icon 'openquote' %} openquote</li>
  752. <li>{% icon 'chain-broken' %} chain-broken</li>
  753. <li>{% icon 'table' %} table</li>
  754. <li>{% icon 'login' %} login</li>
  755. <li>{% icon 'logout' %} logout</li>
  756. <li>{% icon 'thumbtack' %} thumbtack</li>
  757. <li>{% icon 'resubmit' %} resubmit</li>
  758. <li>{% icon 'uni52' %} uni52</li>
  759. </ul>
  760. </section>
  761. </div>
  762. {% endblock %}
  763. {% block extra_js %}
  764. {{ block.super }}
  765. {% include "wagtailadmin/pages/_editor_js.html" %}
  766. {{ example_form.media.js}}
  767. <script>
  768. $(function(){
  769. (function runprogress(){
  770. var to = setTimeout(function(){
  771. runprogress();
  772. clearTimeout(to);
  773. setTimeout(function(){
  774. $('#progress-example .bar').css('width', '20%');
  775. }, 2000);
  776. }, 3000);
  777. $('#progress-example .bar').css('width', '80%');
  778. })();
  779. })
  780. </script>
  781. {% endblock %}