You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

936 lines
37 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. <!doctype html>
  2. <html lang="en_EN">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="x-ua-compatible" content="ie=edge">
  6. <title>
  7. Plain UI | Lightweight CSS UI Framework for Building Apps and Websites
  8. </title>
  9. <meta name="description" content="Lightweight UI Framework for building fast and clean Websites and Apps for Mobile, Tablet and Desktop. Minimal UI-Elements, Functions and Helpers">
  10. <meta name="viewport" content="width=device-width,initial-scale=1">
  11. <link rel="stylesheet" href="plain-ui.css">
  12. </head>
  13. <body class="overflow-x-hidden">
  14. <header class="header">
  15. <div class="bar">
  16. <div class="bar__main">
  17. <h1 class="m-top-4 m-bottom-4 h4">
  18. Plain UI 0.3
  19. </h1>
  20. </div>
  21. </div>
  22. </header>
  23. <div class="container m-top-6">
  24. <div class="grid">
  25. <div class="col-12">
  26. <nav>
  27. <div class="tabs">
  28. <a href="index.html" class="tabs__item">
  29. Basics
  30. </a>
  31. <a href="components.html" class="tabs__item tabs__item--selected">
  32. Components
  33. </a>
  34. <a href="layout.html" class="tabs__item">
  35. Layout
  36. </a>
  37. <a href="helpers.html" class="tabs__item">
  38. Helpers
  39. </a>
  40. </div>
  41. </nav>
  42. </div>
  43. </div>
  44. </div>
  45. <div class="container">
  46. <div class="grid">
  47. <div class="col-12">
  48. <h1 class="highlight m-bottom-5">
  49. Components
  50. </h1>
  51. <div class="panel panel--border-highlight border-color-danger m-bottom-4">
  52. <div class="panel__body">
  53. <div class="content m-last-child-0">
  54. <p>
  55. Plain UI is currently under development, Styles, Names and Documentation may change until Release!
  56. </p>
  57. </div>
  58. </div>
  59. </div>
  60. <h2>Badge</h2>
  61. <div class="content m-bottom-4">
  62. <code>&#x3C;span class=&#x22;badge&#x22;&#x3E;
  63. Category
  64. &#x3C;/span&#x3E;
  65. </code>
  66. </div>
  67. <span class="badge">
  68. Category
  69. </span>
  70. <span class="badge badge--round">
  71. 99+
  72. </span>
  73. <h2 class="m-top-5">
  74. Bar
  75. </h2>
  76. <div class="content m-bottom-4">
  77. <code>&#x3C;div class=&#x22;bar&#x22;&#x3E;
  78. &#x3C;div class=&#x22;bar__start&#x22;&#x3E;
  79. &#x3C;button class=&#x22;button button--transparent&#x22;&#x3E;
  80. &#x3C;svg class=&#x22;icon fill-text-contrast marginless&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  81. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-close&#x22;&#x3E;&#x3C;/use&#x3E;
  82. &#x3C;/svg&#x3E;
  83. &#x3C;/button&#x3E;
  84. &#x3C;/div&#x3E;
  85. &#x3C;div class=&#x22;bar__main&#x22;&#x3E;
  86. Bar
  87. &#x3C;/div&#x3E;
  88. &#x3C;/div&#x3E;
  89. </code>
  90. </div>
  91. <div class="bar">
  92. <div class="bar__start">
  93. <button class="button button--transparent">
  94. <svg class="icon fill-text-contrast marginless" aria-hidden="true">
  95. <use xlink:href="symbol-defs.svg#icon-close"></use>
  96. </svg>
  97. </button>
  98. </div>
  99. <div class="bar__main">
  100. Bar
  101. </div>
  102. </div>
  103. <h2 class="m-top-5">
  104. Buttons
  105. </h2>
  106. <div class="content">
  107. <code>&lt;button class=&quot;button&quot;&gt;
  108. Default
  109. &lt;/button&gt;
  110. </code>
  111. </div>
  112. <div>
  113. <button class="button">
  114. Default
  115. </button>
  116. <button class="button">
  117. Icon
  118. <svg class="icon fill-success" aria-hidden="true">
  119. <use xlink:href="symbol-defs.svg#icon-check"></use>
  120. </svg>
  121. </button>
  122. <button class="button button--selected">
  123. Selected
  124. </button>
  125. <button class="button" disabled>
  126. Disabled
  127. </button>
  128. </div>
  129. <div>
  130. <button class="button button--danger">
  131. danger
  132. </button>
  133. <button class="button button--success">
  134. success
  135. </button>
  136. <button class="button button--warning">
  137. warning
  138. </button>
  139. <button class="button button--info">
  140. info
  141. </button>
  142. </div>
  143. <div>
  144. <button class="button button--outline">
  145. outline
  146. </button>
  147. </div>
  148. <button class="button button--small">
  149. Small
  150. </button>
  151. <h2 class="m-top-5">Field</h2>
  152. <div class="content">
  153. <code>&#x3C;div class=&#x22;field-group&#x22;&#x3E;
  154. &#x3C;label class=&#x22;field-label&#x22;&#x3E;
  155. Name
  156. &#x3C;input class=&#x22;field-text&#x22; /&#x3E;
  157. &#x3C;/label&#x3E;
  158. &#x3C;/div&#x3E;
  159. </code>
  160. </div>
  161. <div class="field-group">
  162. <label class="field-label">
  163. Name
  164. <input class="field-text" />
  165. </label>
  166. </div>
  167. <div class="field-group">
  168. <label class="field-label">
  169. Message
  170. <textarea class="field-text"></textarea>
  171. </label>
  172. </div>
  173. <div class="content">
  174. <code>&#x3C;div class=&#x22;field-group field-group--valid&#x22;&#x3E;
  175. &#x3C;label class=&#x22;field-label&#x22;&#x3E;
  176. &#x3C;svg class=&#x22;icon&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  177. &#x3C;use class=&#x22;test&#x22; xlink:href=&#x22;symbol-defs.svg#icon-check&#x22;&#x3E;&#x3C;/use&#x3E;
  178. &#x3C;/svg&#x3E;
  179. Surname
  180. &#x3C;input class=&#x22;field-text&#x22; /&#x3E;
  181. &#x3C;/label&#x3E;
  182. &#x3C;/div&#x3E;
  183. </code>
  184. </div>
  185. <div class="field-group field-group--valid">
  186. <label class="field-label">
  187. <svg class="icon" aria-hidden="true">
  188. <use class="test" xlink:href="symbol-defs.svg#icon-check"></use>
  189. </svg>
  190. Surname
  191. <input class="field-text" />
  192. </label>
  193. </div>
  194. <div class="content">
  195. <code>&#x3C;div class=&#x22;field-group field-group--error&#x22;&#x3E;
  196. &#x3C;label class=&#x22;field-label&#x22;&#x3E;
  197. &#x3C;svg class=&#x22;icon&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  198. &#x3C;use class=&#x22;test&#x22; xlink:href=&#x22;symbol-defs.svg#icon-warning&#x22;&#x3E;&#x3C;/use&#x3E;
  199. &#x3C;/svg&#x3E;
  200. E-Mail
  201. &#x3C;input class=&#x22;field-text&#x22; /&#x3E;
  202. &#x3C;/label&#x3E;
  203. &#x3C;span class=&#x22;field-error&#x22;&#x3E;
  204. String is not valid
  205. &#x3C;/span&#x3E;
  206. &#x3C;/div&#x3E;
  207. </code>
  208. </div>
  209. <div class="field-group field-group--error">
  210. <label class="field-label">
  211. <svg class="icon" aria-hidden="true">
  212. <use class="test" xlink:href="symbol-defs.svg#icon-warning"></use>
  213. </svg>
  214. E-Mail
  215. <input class="field-text" />
  216. </label>
  217. <span class="field-error">
  218. String is not valid
  219. </span>
  220. </div>
  221. <div class="content">
  222. <code>&#x3C;div class=&#x22;field-group&#x22;&#x3E;
  223. &#x3C;label class=&#x22;field-label&#x22;&#x3E;
  224. Towns
  225. &#x3C;select class=&#x22;field-choice&#x22;&#x3E;
  226. &#x3C;option&#x3E;&#x3C;/option&#x3E;
  227. &#x3C;option value=&#x22;lonytown&#x22;&#x3E;Lonytown&#x3C;/option&#x3E;
  228. &#x3C;/select&#x3E;
  229. &#x3C;/label&#x3E;
  230. &#x3C;/div&#x3E;
  231. </code>
  232. </div>
  233. <div class="field-group">
  234. <label class="field-label">
  235. Towns
  236. <select class="field-choice">
  237. <option></option>
  238. <option value="lonytown">Lonytown</option>
  239. </select>
  240. </label>
  241. </div>
  242. <div class="content">
  243. <code>&#x3C;div class=&#x22;field-group&#x22;&#x3E;
  244. &#x3C;label class=&#x22;field-label&#x22;&#x3E;
  245. &#x3C;input class=&#x22;field-choice&#x22; type=&#x22;checkbox&#x22; value=&#x22;true&#x22; /&#x3E;
  246. &#x3C;svg class=&#x22;icon field-choice__unchecked&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  247. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-checkbox&#x22;&#x3E;&#x3C;/use&#x3E;
  248. &#x3C;/svg&#x3E;
  249. &#x3C;svg class=&#x22;icon field-choice__checked&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  250. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-checkbox-checked&#x22;&#x3E;&#x3C;/use&#x3E;
  251. &#x3C;/svg&#x3E;
  252. Checkbox
  253. &#x3C;/label&#x3E;
  254. &#x3C;/div&#x3E;
  255. </code>
  256. </div>
  257. <div class="field-group">
  258. <label class="field-label">
  259. <input class="field-choice" type="checkbox" value="true" />
  260. <svg class="icon field-choice__unchecked" aria-hidden="true">
  261. <use xlink:href="symbol-defs.svg#icon-checkbox"></use>
  262. </svg>
  263. <svg class="icon field-choice__checked" aria-hidden="true">
  264. <use xlink:href="symbol-defs.svg#icon-checkbox-checked"></use>
  265. </svg>
  266. Checkbox
  267. </label>
  268. </div>
  269. <div class="content">
  270. <code>&#x3C;div class=&#x22;field-group&#x22;&#x3E;
  271. &#x3C;label class=&#x22;field-label&#x22;&#x3E;
  272. &#x3C;input class=&#x22;field-choice&#x22; type=&#x22;radio&#x22; name=&#x22;radio&#x22; value=&#x22;true&#x22; /&#x3E;
  273. &#x3C;svg class=&#x22;icon field-choice__unchecked&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  274. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-circle&#x22;&#x3E;&#x3C;/use&#x3E;
  275. &#x3C;/svg&#x3E;
  276. &#x3C;svg class=&#x22;icon field-choice__checked&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  277. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-circle-check&#x22;&#x3E;&#x3C;/use&#x3E;
  278. &#x3C;/svg&#x3E;
  279. Radio A
  280. &#x3C;/label&#x3E;
  281. &#x3C;label class=&#x22;field-label&#x22;&#x3E;
  282. &#x3C;input class=&#x22;field-choice&#x22; type=&#x22;radio&#x22; name=&#x22;radio&#x22; value=&#x22;true&#x22; /&#x3E;
  283. &#x3C;svg class=&#x22;icon field-choice__unchecked&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  284. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-circle&#x22;&#x3E;&#x3C;/use&#x3E;
  285. &#x3C;/svg&#x3E;
  286. &#x3C;svg class=&#x22;icon field-choice__checked&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  287. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-circle-check&#x22;&#x3E;&#x3C;/use&#x3E;
  288. &#x3C;/svg&#x3E;
  289. Radio B
  290. &#x3C;/label&#x3E;
  291. &#x3C;/div&#x3E;
  292. </code>
  293. </div>
  294. <div class="field-group">
  295. <label class="field-label">
  296. <input class="field-choice" type="radio" name="radio" value="true" />
  297. <svg class="icon field-choice__unchecked" aria-hidden="true">
  298. <use xlink:href="symbol-defs.svg#icon-circle"></use>
  299. </svg>
  300. <svg class="icon field-choice__checked" aria-hidden="true">
  301. <use xlink:href="symbol-defs.svg#icon-circle-check"></use>
  302. </svg>
  303. Radio A
  304. </label>
  305. <label class="field-label">
  306. <input class="field-choice" type="radio" name="radio" value="true" />
  307. <svg class="icon field-choice__unchecked" aria-hidden="true">
  308. <use xlink:href="symbol-defs.svg#icon-circle"></use>
  309. </svg>
  310. <svg class="icon field-choice__checked" aria-hidden="true">
  311. <use xlink:href="symbol-defs.svg#icon-circle-check"></use>
  312. </svg>
  313. Radio B
  314. </label>
  315. </div>
  316. <div class="content">
  317. <code>&#x3C;div class=&#x22;field-group&#x22;&#x3E;
  318. &#x3C;label class=&#x22;field-label&#x22;&#x3E;
  319. &#x3C;input class=&#x22;field-choice&#x22; type=&#x22;checkbox&#x22; name=&#x22;radio&#x22; value=&#x22;true&#x22; /&#x3E;
  320. &#x3C;span class=&#x22;field-switch&#x22;&#x3E;&#x3C;/span&#x3E;
  321. &#x3C;/label&#x3E;
  322. &#x3C;/div&#x3E;
  323. </code>
  324. </div>
  325. <div class="field-group">
  326. <label class="field-label">
  327. <input class="field-choice" type="checkbox" name="radio" value="true" />
  328. <span class="field-switch"></span>
  329. </label>
  330. </div>
  331. <h2 class="m-top-5">
  332. Group
  333. </h2>
  334. <div class="content">
  335. <code>&#x3C;div class=&#x22;group&#x22;&#x3E;
  336. &#x3C;div class=&#x22;group__item background-color-primary color-text-contrast p-3&#x22;&#x3E;
  337. One
  338. &#x3C;/div&#x3E;
  339. &#x3C;div class=&#x22;group__item background-color-primary color-text-contrast p-3&#x22;&#x3E;
  340. Two
  341. &#x3C;/div&#x3E;
  342. &#x3C;/div&#x3E;
  343. </code>
  344. </div>
  345. <div class="group">
  346. <div class="group__item background-color-primary color-text-contrast p-3">
  347. One
  348. </div>
  349. <div class="group__item background-color-primary color-text-contrast p-3">
  350. Two
  351. </div>
  352. </div>
  353. </div>
  354. </div>
  355. </div>
  356. <div class="container">
  357. <div class="grid">
  358. <div class="col-12">
  359. <h2>
  360. Hero
  361. </h2>
  362. <div class="content">
  363. <code>&#x3C;div class=&#x22;hero&#x22;&#x3E;
  364. &#x3C;img style=&#x22;max-height: 400px;&#x22; src=&#x22;/image.jpg&#x22; /&#x3E;
  365. &#x3C;/div&#x3E;
  366. </code>
  367. </div>
  368. </div>
  369. </div>
  370. </div>
  371. <div class="hero">
  372. <img style="max-height: 400px;" src="/image.jpg" />
  373. </div>
  374. <div class="container">
  375. <div class="grid">
  376. <div class="col-12">
  377. <h2 class="m-top-5">Icon</h2>
  378. <div class="content">
  379. <code>&#x3C;svg class=&#x22;icon&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  380. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-check&#x22;&#x3E;&#x3C;/use&#x3E;
  381. &#x3C;/svg&#x3E;
  382. &#x3C;svg class=&#x22;icon fill-danger&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  383. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-camera&#x22;&#x3E;&#x3C;/use&#x3E;
  384. &#x3C;/svg&#x3E;
  385. &#x3C;svg class=&#x22;icon fill-success&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  386. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-clock&#x22;&#x3E;&#x3C;/use&#x3E;
  387. &#x3C;/svg&#x3E;
  388. </code>
  389. </div>
  390. <svg class="icon" aria-hidden="true">
  391. <use xlink:href="symbol-defs.svg#icon-check"></use>
  392. </svg>
  393. <svg class="icon fill-danger" aria-hidden="true">
  394. <use xlink:href="symbol-defs.svg#icon-camera"></use>
  395. </svg>
  396. <svg class="icon fill-success" aria-hidden="true">
  397. <use xlink:href="symbol-defs.svg#icon-clock"></use>
  398. </svg>
  399. <!-- Loading -->
  400. <h2 class="m-top-5">Loading</h2>
  401. <div class="content">
  402. <code>&#x3C;div class=&#x22;loading&#x22;&#x3E;
  403. &#x3C;span&#x3E;&#x3C;/span&#x3E;
  404. &#x3C;span&#x3E;&#x3C;/span&#x3E;
  405. &#x3C;span&#x3E;&#x3C;/span&#x3E;
  406. &#x3C;/div&#x3E;
  407. </code>
  408. </div>
  409. <div class="loading">
  410. <span></span>
  411. <span></span>
  412. <span></span>
  413. </div>
  414. <h2 class="m-top-5">
  415. Media
  416. </h2>
  417. <div class="content">
  418. <code>&#x3C;figure class=&#x22;figure&#x22;&#x3E;
  419. &#x3C;img class=&#x22;media&#x22; src=&#x22;/image.jpg&#x22; /&#x3E;
  420. &#x3C;figcaption class=&#x22;figure__caption&#x22;&#x3E;
  421. food truck yr franzen pabst
  422. &#x3C;/figcaption&#x3E;
  423. &#x3C;/figure&#x3E;
  424. </code>
  425. </div>
  426. <figure class="figure">
  427. <img class="media" src="/image.jpg" />
  428. <figcaption class="figure__caption">
  429. food truck yr franzen pabst
  430. </figcaption>
  431. </figure>
  432. <!-- modal -->
  433. <h2 class="m-top-5">
  434. Modal
  435. </h2>
  436. <div class="content">
  437. <code>&#x3C;div class=&#x22;modal&#x22;&#x3E;
  438. &#x3C;div class=&#x22;modal__inner&#x22;&#x3E;
  439. &#x3C;div class=&#x22;modal__title t-center&#x22;&#x3E;
  440. &#x3C;svg class=&#x22;icon fill-text-contrast&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  441. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-close&#x22;&#x3E;&#x3C;/use&#x3E;
  442. &#x3C;/svg&#x3E;
  443. Delete
  444. &#x3C;/div&#x3E;
  445. &#x3C;div class=&#x22;modal__body&#x22;&#x3E;
  446. Do you really wan&#x27;t to delete all files?
  447. &#x3C;/div&#x3E;
  448. &#x3C;div class=&#x22;modal__footer&#x22;&#x3E;
  449. &#x3C;button class=&#x22;button button--outline button--danger&#x22; onclick=&#x22;closeModal()&#x22;&#x3E;
  450. Confirm
  451. &#x3C;/button&#x3E;
  452. &#x3C;button class=&#x22;button button--outline float-right&#x22; onclick=&#x22;closeModal()&#x22;&#x3E;
  453. Reject
  454. &#x3C;/button&#x3E;
  455. &#x3C;/div&#x3E;
  456. &#x3C;/div&#x3E;
  457. &#x3C;/div&#x3E;
  458. </code>
  459. </div>
  460. <button class="button" onclick="openModal()">
  461. Click me!
  462. </button>
  463. <script type="text/javascript">
  464. function openModal() {
  465. document.querySelector('.modal').classList.add('modal--open')
  466. }
  467. function closeModal() {
  468. document.querySelector('.modal').classList.remove('modal--open')
  469. }
  470. </script>
  471. <div class="modal">
  472. <div class="modal__inner">
  473. <div class="modal__title t-center">
  474. <svg class="icon fill-text-contrast" aria-hidden="true">
  475. <use xlink:href="symbol-defs.svg#icon-close"></use>
  476. </svg>
  477. Delete
  478. </div>
  479. <div class="modal__body center">
  480. Do you really wan't to delete all files?
  481. </div>
  482. <div class="modal__footer">
  483. <button class="button button--outline button--danger" onclick="closeModal()">
  484. Confirm
  485. </button>
  486. <button class="button button--outline float-right" onclick="closeModal()">
  487. Reject
  488. </button>
  489. </div>
  490. </div>
  491. </div>
  492. <!-- panel -->
  493. <h2 class="m-top-5">
  494. Panel
  495. </h2>
  496. <div class="content">
  497. <code>&#x3C;div class=&#x22;panel&#x22;&#x3E;
  498. &#x3C;div class=&#x22;bar&#x22;&#x3E;
  499. &#x3C;div class=&#x22;bar__start&#x22;&#x3E;
  500. &#x3C;button type=&#x22;button&#x22; class=&#x22;button button--transparent&#x22;&#x3E;
  501. &#x3C;svg class=&#x22;icon fill-text-contrast&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  502. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-expand&#x22;&#x3E;&#x3C;/use&#x3E;
  503. &#x3C;/svg&#x3E;
  504. &#x3C;/button&#x3E;
  505. &#x3C;/div&#x3E;
  506. &#x3C;div class=&#x22;bar__main&#x22;&#x3E;Panel&#x3C;/div&#x3E;
  507. &#x3C;div class=&#x22;bar__end&#x22;&#x3E;
  508. &#x3C;button type=&#x22;button&#x22; class=&#x22;button button--transparent&#x22;&#x3E;
  509. &#x3C;svg class=&#x22;icon fill-text-contrast&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  510. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-edit&#x22;&#x3E;&#x3C;/use&#x3E;
  511. &#x3C;/svg&#x3E;
  512. &#x3C;/button&#x3E;
  513. &#x3C;button type=&#x22;button&#x22; class=&#x22;button button--transparent&#x22;&#x3E;
  514. &#x3C;svg class=&#x22;icon fill-text-contrast&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  515. &#x3C;use xlink:href=&#x22;symbol-defs.svg#icon-close&#x22;&#x3E;&#x3C;/use&#x3E;
  516. &#x3C;/svg&#x3E;
  517. &#x3C;/button&#x3E;
  518. &#x3C;/div&#x3E;
  519. &#x3C;/div&#x3E;
  520. &#x3C;div class=&#x22;panel__body&#x22;&#x3E;
  521. &#x3C;div class=&#x22;content m-last-child-0&#x22;&#x3E;
  522. &#x3C;p&#x3E;
  523. Content
  524. &#x3C;/p&#x3E;
  525. &#x3C;/div&#x3E;
  526. &#x3C;/div&#x3E;
  527. &#x3C;/div&#x3E;
  528. </code>
  529. </div>
  530. <div class="panel">
  531. <div class="bar">
  532. <div class="bar__start">
  533. <button type="button" class="button button--transparent">
  534. <svg class="icon fill-text-contrast" aria-hidden="true">
  535. <use xlink:href="symbol-defs.svg#icon-expand"></use>
  536. </svg>
  537. </button>
  538. </div>
  539. <div class="bar__main">Panel</div>
  540. <div class="bar__end">
  541. <button type="button" class="button button--transparent">
  542. <svg class="icon fill-text-contrast" aria-hidden="true">
  543. <use xlink:href="symbol-defs.svg#icon-edit"></use>
  544. </svg>
  545. </button>
  546. <button type="button" class="button button--transparent">
  547. <svg class="icon fill-text-contrast" aria-hidden="true">
  548. <use xlink:href="symbol-defs.svg#icon-close"></use>
  549. </svg>
  550. </button>
  551. </div>
  552. </div>
  553. <div class="panel__body">
  554. <div class="content m-last-child-0">
  555. <p>
  556. Hallo
  557. </p>
  558. </div>
  559. </div>
  560. </div>
  561. <!-- progress -->
  562. <h2 class="m-top-5">
  563. Progress
  564. </h2>
  565. <div class="content">
  566. <code>&#x3C;div class=&#x22;progress&#x22;&#x3E;
  567. &#x3C;div class=&#x22;progress__inner&#x22; style=&#x22;width: 20%;&#x22;&#x3E;&#x3C;/div&#x3E;
  568. &#x3C;/div&#x3E;
  569. </code>
  570. </div>
  571. <div class="progress">
  572. <div class="progress__inner" style="width: 20%;"></div>
  573. </div>
  574. <!-- sidebar -->
  575. <h2 class="m-top-5">
  576. Sidebar
  577. </h2>
  578. <div class="content">
  579. <code>&#x3C;div class=&#x22;sidebar&#x22;&#x3E;
  580. &#x3C;div class=&#x22;sidebar__inner&#x22;&#x3E;
  581. &#x3C;div class=&#x22;sidebar__body&#x22;&#x3E;
  582. &#x3C;/div&#x3E;
  583. &#x3C;div class=&#x22;sidebar__footer&#x22;&#x3E;
  584. &#x3C;button type=&#x22;button&#x22; class=&#x22;button m-bottom-0&#x22;&#x3E;
  585. Close
  586. &#x3C;/button&#x3E;
  587. &#x3C;/div&#x3E;
  588. &#x3C;/div&#x3E;
  589. &#x3C;/div&#x3E;
  590. </code>
  591. </div>
  592. <button class="button" onclick="openSidebar()">
  593. Click me!
  594. </button>
  595. <script type="text/javascript">
  596. function openSidebar() {
  597. document.querySelector('.sidebar').classList.add('sidebar--open')
  598. }
  599. function closeSidebar() {
  600. document.querySelector('.sidebar').classList.remove('sidebar--open')
  601. }
  602. </script>
  603. <div class="sidebar">
  604. <div class="sidebar__inner">
  605. <div class="sidebar__body">
  606. </div>
  607. <div class="sidebar__footer">
  608. <button type="button" class="button m-bottom-0" onclick="closeSidebar()">
  609. Close
  610. </button>
  611. </div>
  612. </div>
  613. </div>
  614. <!-- sidebar -->
  615. <h2 class="m-top-5">
  616. Sidebar + Bar
  617. </h2>
  618. <div class="content">
  619. <code>&#x3C;div class=&#x22;sidebar&#x22;&#x3E;
  620. &#x3C;div class=&#x22;sidebar__inner&#x22;&#x3E;
  621. &#x3C;div class=&#x22;bar&#x22;&#x3E;
  622. &#x3C;div class=&#x22;bar__main&#x22;&#x3E;
  623. Sidebar
  624. &#x3C;/div&#x3E;
  625. &#x3C;div class=&#x22;bar__end&#x22;&#x3E;
  626. &#x3C;button class=&#x22;button button--transparent&#x22; type=&#x22;button&#x22;&#x3E;
  627. &#x3C;svg class=&#x22;icon fill-text-contrast&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  628. &#x3C;use xlink:href=&#x22;/symbol-defs.svg#icon-close&#x22;&#x3E;&#x3C;/use&#x3E;
  629. &#x3C;/svg&#x3E;
  630. &#x3C;/button&#x3E;
  631. &#x3C;/div&#x3E;
  632. &#x3C;/div&#x3E;
  633. &#x3C;div class=&#x22;sidebar__body&#x22;&#x3E;
  634. &#x3C;/div&#x3E;
  635. &#x3C;div class=&#x22;sidebar__footer&#x22;&#x3E;
  636. &#x3C;button type=&#x22;button&#x22; class=&#x22;button m-bottom-0&#x22;&#x3E;
  637. Close
  638. &#x3C;/button&#x3E;
  639. &#x3C;/div&#x3E;
  640. &#x3C;/div&#x3E;
  641. &#x3C;/div&#x3E;
  642. </code>
  643. </div>
  644. <button class="button" onclick="openSidebarBar()">
  645. Click me!
  646. </button>
  647. <script type="text/javascript">
  648. function openSidebarBar() {
  649. document.querySelector('#sidebar-bar').classList.add('sidebar--open')
  650. }
  651. function closeSidebarBar() {
  652. document.querySelector('#sidebar-bar').classList.remove('sidebar--open')
  653. }
  654. </script>
  655. <div id="sidebar-bar" class="sidebar">
  656. <div class="sidebar__inner">
  657. <div class="bar">
  658. <div class="bar__main">
  659. Sidebar
  660. </div>
  661. <div class="bar__end">
  662. <button class="button button--transparent" type="button" onclick="closeSidebarBar()">
  663. <svg class="icon fill-text-contrast" aria-hidden="true">
  664. <use xlink:href="/symbol-defs.svg#icon-close"></use>
  665. </svg>
  666. </button>
  667. </div>
  668. </div>
  669. <div class="sidebar__body">
  670. </div>
  671. <div class="sidebar__footer">
  672. <button type="button" class="button m-bottom-0" onclick="closeSidebarBar()">
  673. Close
  674. </button>
  675. </div>
  676. </div>
  677. </div>
  678. <!-- table -->
  679. <h2 class="m-top-5">
  680. Table
  681. </h2>
  682. <div class="content">
  683. <code>&#x3C;table class=&#x22;table table--striped table--hover&#x22;&#x3E;
  684. &#x3C;thead&#x3E;
  685. &#x3C;tr class=&#x22;table__tr&#x22;&#x3E;
  686. &#x3C;th class=&#x22;table__th&#x22;&#x3E;A&#x3C;/th&#x3E;
  687. &#x3C;th class=&#x22;table__th&#x22;&#x3E;B&#x3C;/th&#x3E;
  688. &#x3C;th class=&#x22;table__th&#x22;&#x3E;C&#x3C;/th&#x3E;
  689. &#x3C;th class=&#x22;table__th&#x22;&#x3E;D&#x3C;/th&#x3E;
  690. &#x3C;/tr&#x3E;
  691. &#x3C;/thead&#x3E;
  692. &#x3C;tbody&#x3E;
  693. &#x3C;tr class=&#x22;table__tr&#x22;&#x3E;
  694. &#x3C;td class=&#x22;table__td&#x22;&#x3E;1&#x3C;/td&#x3E;
  695. &#x3C;td class=&#x22;table__td&#x22;&#x3E;2&#x3C;/td&#x3E;
  696. &#x3C;td class=&#x22;table__td&#x22;&#x3E;3&#x3C;/td&#x3E;
  697. &#x3C;td class=&#x22;table__td&#x22;&#x3E;4&#x3C;/td&#x3E;
  698. &#x3C;/tr&#x3E;
  699. &#x3C;tr class=&#x22;table__tr&#x22;&#x3E;
  700. &#x3C;td class=&#x22;table__td&#x22;&#x3E;1&#x3C;/td&#x3E;
  701. &#x3C;td class=&#x22;table__td&#x22;&#x3E;2&#x3C;/td&#x3E;
  702. &#x3C;td class=&#x22;table__td&#x22;&#x3E;3&#x3C;/td&#x3E;
  703. &#x3C;td class=&#x22;table__td&#x22;&#x3E;4&#x3C;/td&#x3E;
  704. &#x3C;/tr&#x3E;
  705. &#x3C;tr class=&#x22;table__tr&#x22;&#x3E;
  706. &#x3C;td class=&#x22;table__td&#x22;&#x3E;1&#x3C;/td&#x3E;
  707. &#x3C;td class=&#x22;table__td&#x22;&#x3E;2&#x3C;/td&#x3E;
  708. &#x3C;td class=&#x22;table__td&#x22;&#x3E;3&#x3C;/td&#x3E;
  709. &#x3C;td class=&#x22;table__td&#x22;&#x3E;4&#x3C;/td&#x3E;
  710. &#x3C;/tr&#x3E;
  711. &#x3C;/tbody&#x3E;
  712. &#x3C;/table&#x3E;
  713. </code>
  714. </div>
  715. <table class="table table--striped table--hover">
  716. <thead>
  717. <tr class="table__tr">
  718. <th class="table__th">A</th>
  719. <th class="table__th">B</th>
  720. <th class="table__th">C</th>
  721. <th class="table__th">D</th>
  722. </tr>
  723. </thead>
  724. <tbody>
  725. <tr class="table__tr">
  726. <td class="table__td">1</td>
  727. <td class="table__td">2</td>
  728. <td class="table__td">3</td>
  729. <td class="table__td">4</td>
  730. </tr>
  731. <tr class="table__tr">
  732. <td class="table__td">1</td>
  733. <td class="table__td">2</td>
  734. <td class="table__td">3</td>
  735. <td class="table__td">4</td>
  736. </tr>
  737. <tr class="table__tr">
  738. <td class="table__td">1</td>
  739. <td class="table__td">2</td>
  740. <td class="table__td">3</td>
  741. <td class="table__td">4</td>
  742. </tr>
  743. </tbody>
  744. </table>
  745. <!--- tabs -->
  746. <h2 class="m-top-5">
  747. Tabs
  748. </h2>
  749. <div class="content">
  750. <code>&#x3C;div class=&#x22;tabs&#x22;&#x3E;
  751. &#x3C;a class=&#x22;tabs__item tabs__item--selected&#x22;&#x3E;
  752. Tab A
  753. &#x3C;/a&#x3E;
  754. &#x3C;a class=&#x22;tabs__item&#x22;&#x3E;
  755. Tab B
  756. &#x3C;/a&#x3E;
  757. &#x3C;a class=&#x22;tabs__item&#x22;&#x3E;
  758. Tab C
  759. &#x3C;/a&#x3E;
  760. &#x3C;/div&#x3E;
  761. </code>
  762. </div>
  763. <div class="tabs">
  764. <a class="tabs__item tabs__item--selected">
  765. Tab A
  766. </a>
  767. <a class="tabs__item">
  768. Tab B
  769. </a>
  770. <a class="tabs__item">
  771. Tab C
  772. </a>
  773. </div>
  774. <h2 class="m-top-5">
  775. Tabs + Bar
  776. </h2>
  777. <div class="content">
  778. <code>&#x3C;div class=&#x22;bar&#x22;&#x3E;
  779. &#x3C;div class=&#x22;tabs tabs--contrast&#x22;&#x3E;
  780. &#x3C;a class=&#x22;tabs__item tabs__item--selected&#x22;&#x3E;
  781. Tab A
  782. &#x3C;/a&#x3E;
  783. &#x3C;a class=&#x22;tabs__item&#x22;&#x3E;
  784. Tab B
  785. &#x3C;/a&#x3E;
  786. &#x3C;a class=&#x22;tabs__item&#x22;&#x3E;
  787. Tab C
  788. &#x3C;/a&#x3E;
  789. &#x3C;/div&#x3E;
  790. &#x3C;/div&#x3E;
  791. </code>
  792. </div>
  793. <div class="bar">
  794. <div class="tabs tabs--contrast">
  795. <a class="tabs__item tabs__item--selected">
  796. Tab A
  797. </a>
  798. <a class="tabs__item">
  799. Tab B
  800. </a>
  801. <a class="tabs__item">
  802. Tab C
  803. </a>
  804. </div>
  805. </div>
  806. <!-- toast -->
  807. <h2 class="m-top-5">
  808. Toast
  809. </h2>
  810. <div class="content">
  811. <code>&#x3C;div class=&#x22;toast-wrapper&#x22;&#x3E;
  812. &#x3C;div class=&#x22;toast&#x22;&#x3E;
  813. &#x3C;div class=&#x22;toast__icon&#x22;&#x3E;
  814. &#x3C;svg class=&#x22;icon fill-text-contrast&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  815. &#x3C;use xlink:href=&#x22;/symbol-defs.svg#icon-warning&#x22;&#x3E;&#x3C;/use&#x3E;
  816. &#x3C;/svg&#x3E;
  817. &#x3C;/div&#x3E;
  818. &#x3C;div class=&#x22;toast__body&#x22;&#x3E;
  819. &#x3C;/div&#x3E;
  820. &#x3C;div class=&#x22;toast__button&#x22;&#x3E;
  821. &#x3C;svg class=&#x22;icon fill-text-contrast&#x22; aria-hidden=&#x22;true&#x22;&#x3E;
  822. &#x3C;use xlink:href=&#x22;/symbol-defs.svg#icon-close&#x22;&#x3E;&#x3C;/use&#x3E;
  823. &#x3C;/svg&#x3E;
  824. &#x3C;/div&#x3E;
  825. &#x3C;/div&#x3E;
  826. &#x3C;/div&#x3E;
  827. </code>
  828. </div>
  829. <script type="text/javascript">
  830. function addToast() {
  831. document.querySelector('#toast').style.display = 'block'
  832. setTimeout(function() {
  833. document.querySelector('#toast .toast').classList.add('toast--animation')
  834. }, 100)
  835. }
  836. function closeToast() {
  837. setTimeout(function() {
  838. document.querySelector('#toast').style.display = 'none'
  839. }, 1000)
  840. document.querySelector('#toast .toast').classList.remove('toast--animation')
  841. }
  842. </script>
  843. <button class="button" onclick="addToast()">
  844. Click me!
  845. </button>
  846. <div id="toast" class="toast-wrapper" style="display: none;">
  847. <div class="toast toast--danger">
  848. <div class="toast__icon">
  849. <svg class="icon fill-text-contrast" aria-hidden="true">
  850. <use xlink:href="/symbol-defs.svg#icon-warning"></use>
  851. </svg>
  852. </div>
  853. <div class="toast__body">
  854. Warning! Action not Working!
  855. </div>
  856. <button class="toast__button" onclick="closeToast()">
  857. <svg class="icon fill-text-contrast" aria-hidden="true">
  858. <use xlink:href="/symbol-defs.svg#icon-close"></use>
  859. </svg>
  860. </button>
  861. </div>
  862. </div>
  863. </div>
  864. </div>
  865. </div>
  866. <footer class="site-footer m-top-5">
  867. <div class="bar">
  868. <div class="bar__main">
  869. <a class="color-text-contrast m-right-4" href="/imprint.html">
  870. Imprint
  871. </a>
  872. <a class="color-text-contrast" href="/private-policy.html">
  873. Privacy Policy
  874. </a>
  875. </div>
  876. </div>
  877. </footer>
  878. </body>
  879. </html