Project

General

Profile

Feature #23980 » 0001-Replace-images-with-SVG-icons.patch

Marius BĂLTEANU, 2024-08-20 22:57

View differences:

app/assets/images/icons.svg
1
<svg xmlns="http://www.w3.org/2000/svg" class="icon--sprite">
2
  <defs>
3
    <symbol viewBox="0 0 448 512" id="icon--3-bullets">
4
      <path  d="M8 256a56 56 0 1 1 112 0a56 56 0 1 1-112 0m160 0a56 56 0 1 1 112 0a56 56 0 1 1-112 0m216-56a56 56 0 1 1 0 112a56 56 0 1 1 0-112"/>
5
    </symbol>
6
    <symbol viewBox="0 0 512 512" id="icon--add">
7
      <path  d="M256 512a256 256 0 1 0 0-512a256 256 0 1 0 0 512m-24-168v-64h-64c-13.3 0-24-10.7-24-24s10.7-24 24-24h64v-64c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24h-64v64c0 13.3-10.7 24-24 24s-24-10.7-24-24"/>
8
    </symbol>
9
    <symbol viewBox="0 0 448 512" id="icon--angle-down">
10
      <path  d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7L86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"/>
11
    </symbol>
12
    <symbol viewBox="0 0 320 512" id="icon--angle-right">
13
      <path  d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256L73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"/>
14
    </symbol>
15
    <symbol viewBox="0 0 448 512" id="icon--angle-up">
16
      <path  d="M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3L86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z"/>
17
    </symbol>
18
    <symbol viewBox="0 0 24 24" id="icon--application-pdf">
19
      <path  d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-9.5 8.5c0 .8-.7 1.5-1.5 1.5H7v2H5.5V9H8c.8 0 1.5.7 1.5 1.5zm5 2c0 .8-.7 1.5-1.5 1.5h-2.5V9H13c.8 0 1.5.7 1.5 1.5zm4-3H17v1h1.5V13H17v2h-1.5V9h3zm-6.5 0h1v3h-1zm-5 0h1v1H7z"/>
20
    </symbol>
21
    <symbol viewBox="0 0 24 24" id="icon--application-x-gzip">
22
      <path  d="M12 17v-2h2v2zm2-4v-2h-2v2zm0-4V7h-2v2zm-4 2h2V9h-2zm0 4h2v-2h-2zM21 5v14c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2m-2 0h-7v2h-2V5H5v14h14z"/>
23
    </symbol>
24
    <symbol viewBox="0 0 24 24" id="icon--application-zip">
25
      <path  d="M12 17v-2h2v2zm2-4v-2h-2v2zm0-4V7h-2v2zm-4 2h2V9h-2zm0 4h2v-2h-2zM21 5v14c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2m-2 0h-7v2h-2V5H5v14h14z"/>
26
    </symbol>
27
    <symbol viewBox="0 0 448 512" id="icon--arrow-right">
28
      <path  d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h306.7L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"/>
29
    </symbol>
30
    <symbol viewBox="0 0 448 512" id="icon--atom">
31
      <path  d="M64 32C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64zm32 104c0-13.3 10.7-24 24-24c137 0 248 111 248 248c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-110.5-89.5-200-200-200c-13.3 0-24-10.7-24-24m0 96c0-13.3 10.7-24 24-24c83.9 0 152 68.1 152 152c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-57.4-46.6-104-104-104c-13.3 0-24-10.7-24-24m0 120a32 32 0 1 1 64 0a32 32 0 1 1-64 0"/>
32
    </symbol>
33
    <symbol viewBox="0 0 448 512" id="icon--attachment">
34
      <path  d="M364.2 83.8c-24.4-24.4-64-24.4-88.4 0l-184 184c-42.1 42.1-42.1 110.3 0 152.4s110.3 42.1 152.4 0l152-152c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-152 152c-64 64-167.6 64-231.6 0s-64-167.6 0-231.6l184-184c46.3-46.3 121.3-46.3 167.6 0s46.3 121.3 0 167.6l-176 176c-28.6 28.6-75 28.6-103.6 0s-28.6-75 0-103.6l144-144c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-144 144c-6.7 6.7-6.7 17.7 0 24.4s17.7 6.7 24.4 0l176-176c24.4-24.4 24.4-64 0-88.4"/>
35
    </symbol>
36
    <symbol viewBox="0 0 448 512" id="icon--bg-angle-down">
37
      <path fill="#999" d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7L86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"/>
38
    </symbol>
39
    <symbol viewBox="0 0 320 512" id="icon--bg-angle-left">
40
      <path fill="#999" d="M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256l137.3-137.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"/>
41
    </symbol>
42
    <symbol viewBox="0 0 320 512" id="icon--bg-angle-right">
43
      <path fill="#999" d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256L73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"/>
44
    </symbol>
45
    <symbol viewBox="0 0 448 512" id="icon--bg-angle-up">
46
      <path fill="#999" d="M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3L86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z"/>
47
    </symbol>
48
    <symbol viewBox="0 0 512 512" id="icon--bg-magnifier">
49
      <path fill="#999" d="M416 208c0 45.9-14.9 88.3-40 122.7l126.6 126.7c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208M208 352a144 144 0 1 0 0-288a144 144 0 1 0 0 288"/>
50
    </symbol>
51
    <symbol viewBox="0 0 448 512" id="icon--bq">
52
      <path  d="M0 64c0-17.7 14.3-32 32-32h384c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64m192 128c0-17.7 14.3-32 32-32h192c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32m32 96h192c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32M0 448c0-17.7 14.3-32 32-32h384c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32m127.8-179.4l-102 79.3c-10.5 8.2-25.8.7-25.8-12.6V176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z"/>
53
    </symbol>
54
    <symbol viewBox="0 0 24 24" id="icon--bullet-end">
55
      <path  d="M20 9v6h-8v4.84L4.16 12L12 4.16V9z"/>
56
    </symbol>
57
    <symbol viewBox="0 0 24 24" id="icon--bullet-go">
58
      <path  d="M4 15V9h8V4.16L19.84 12L12 19.84V15z"/>
59
    </symbol>
60
    <symbol viewBox="0 0 24 24" id="icon--bullet-go-end">
61
      <path  d="M8 14v4l-6-6l6-6v4h8V6l6 6l-6 6v-4z"/>
62
    </symbol>
63
    <symbol viewBox="0 0 512 512" id="icon--cancel">
64
      <path  d="M205 34.8c11.5 5.1 19 16.6 19 29.2v64h112c97.2 0 176 78.8 176 176c0 113.3-81.5 163.9-100.2 174.1c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-7.5 4.3-14.4 9.8-19.5c9.4-8.8 22.2-26.4 22.2-56.7c0-53-43-96-96-96h-96v64c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 225.7 0 217.1 0 208s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4"/>
65
    </symbol>
66
    <symbol viewBox="0 0 640 512" id="icon--changeset">
67
      <path  d="M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6m80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3l89.3 89.4l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3"/>
68
    </symbol>
69
    <symbol viewBox="0 0 448 512" id="icon--checked">
70
      <path  d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7l233.4-233.3c12.5-12.5 32.8-12.5 45.3 0z"/>
71
    </symbol>
72
    <symbol viewBox="0 0 512 512" id="icon--clear-query">
73
      <path  d="M256 512a256 256 0 1 0 0-512a256 256 0 1 0 0 512m-81-337c9.4-9.4 24.6-9.4 33.9 0l47 47l47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47l47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47l-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47l-47-47c-9.4-9.4-9.4-24.6 0-33.9"/>
74
    </symbol>
75
    <symbol viewBox="0 0 448 512" id="icon--close">
76
      <path  d="M64 32C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64zm79 143c9.4-9.4 24.6-9.4 33.9 0l47 47l47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47l47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47l-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47l-47-47c-9.4-9.4-9.4-24.6 0-33.9"/>
77
    </symbol>
78
    <symbol viewBox="0 0 512 512" id="icon--comment">
79
      <path  d="M123.6 391.3c12.9-9.4 29.6-11.8 44.6-6.4c26.5 9.6 56.2 15.1 87.8 15.1c124.7 0 208-80.5 208-160S380.7 80 256 80S48 160.5 48 240c0 32 12.4 62.8 35.7 89.2c8.6 9.7 12.8 22.5 11.8 35.5c-1.4 18.1-5.7 34.7-11.3 49.4c17-7.9 31.1-16.7 39.4-22.7zM21.2 431.9q2.7-4.05 5.1-8.1c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6c-15.1 6.6-32.3 12.6-50.1 16.1c-.8.2-1.6.3-2.4.5c-4.4.8-8.7 1.5-13.2 1.9c-.2 0-.5.1-.7.1c-5.1.5-10.2.8-15.3.8c-6.5 0-12.3-3.9-14.8-9.9S0 457.4 4.5 452.8c4.1-4.2 7.8-8.7 11.3-13.5q2.55-3.45 4.8-6.9l.3-.5z"/>
80
    </symbol>
81
    <symbol viewBox="0 0 640 512" id="icon--comments">
82
      <path  d="M88.2 309.1c9.8-18.3 6.8-40.8-7.5-55.8C59.4 230.9 48 204 48 176c0-63.5 63.8-128 160-128s160 64.5 160 128s-63.8 128-160 128c-13.1 0-25.8-1.3-37.8-3.6c-10.4-2-21.2-.6-30.7 4.2q-6.15 3.15-12.6 6c-16 7.2-32.9 13.5-49.9 18c2.8-4.6 5.4-9.1 7.9-13.6c1.1-1.9 2.2-3.9 3.2-5.9zM208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 41.8 17.2 80.1 45.9 110.3c-.9 1.7-1.9 3.5-2.8 5.1c-10.3 18.4-22.3 36.5-36.6 52.1c-6.6 7-8.3 17.2-4.6 25.9C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7c4.8-2.2 9.6-4.5 14.2-6.8c15.1 3 30.9 4.5 47.1 4.5m224 128c16.2 0 31.9-1.6 47.1-4.5c4.6 2.3 9.4 4.6 14.2 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5s2-19-4.6-25.9c-14.2-15.6-26.2-33.7-36.6-52.1c-.9-1.7-1.9-3.4-2.8-5.1c28.8-30.3 46-68.6 46-110.4c0-94.4-87.9-171.5-198.2-175.8c4.1 15.2 6.2 31.2 6.2 47.8v.6c87.2 6.7 144 67.5 144 127.4c0 28-11.4 54.9-32.7 77.2c-14.3 15-17.3 37.6-7.5 55.8c1.1 2 2.2 4 3.2 5.9c2.5 4.5 5.2 9 7.9 13.6c-17-4.5-33.9-10.7-49.9-18q-6.45-2.85-12.6-6c-9.5-4.8-20.3-6.2-30.7-4.2c-12.1 2.4-24.8 3.6-37.8 3.6c-61.7 0-110-26.5-136.8-62.3c-16 5.4-32.8 9.4-50 11.8C279 439.8 350 480 432 480"/>
83
    </symbol>
84
    <symbol viewBox="0 0 512 512" id="icon--copy">
85
      <path  d="M288 448H64V224h64v-64H64c-35.3 0-64 28.7-64 64v224c0 35.3 28.7 64 64 64h224c35.3 0 64-28.7 64-64v-64h-64zm-64-96h224c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H224c-35.3 0-64 28.7-64 64v224c0 35.3 28.7 64 64 64"/>
86
    </symbol>
87
    <symbol viewBox="0 0 384 512" id="icon--copy-link">
88
      <path  d="M280 64h40c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128c0-35.3 28.7-64 64-64h49.6C121 27.5 153.3 0 192 0s71 27.5 78.4 64zM64 112c-8.8 0-16 7.2-16 16v320c0 8.8 7.2 16 16 16h256c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16h-16v24c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24v-24zm128-8a24 24 0 1 0 0-48a24 24 0 1 0 0 48"/>
89
    </symbol>
90
    <symbol viewBox="0 0 448 512" id="icon--del">
91
      <path  d="m170.5 51.6l-19 28.4h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6h-93.7c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6l36.7 55H424c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v304c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h69.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128v304c0 17.7 14.3 32 32 32h224c17.7 0 32-14.3 32-32V128zm80 64v208c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16m80 0v208c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16m80 0v208c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16"/>
92
    </symbol>
93
    <symbol viewBox="0 0 512 512" id="icon--del">
94
      <path  d="M161.3 144c3.2-17.2 14-30.1 33.7-38.6c21.1-9 51.8-12.3 88.6-6.5c11.9 1.9 48.8 9.1 60.1 12c17.1 4.5 34.6-5.6 39.2-22.7s-5.6-34.6-22.7-39.2c-14.3-3.8-53.6-11.4-66.6-13.4c-44.7-7-88.3-4.2-123.7 10.9c-36.5 15.6-64.4 44.8-71.8 87.3c-.1.6-.2 1.1-.2 1.7c-2.8 23.9.5 45.6 10.1 64.6c4.5 9 10.2 16.9 16.7 23.9H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h448c17.7 0 32-14.3 32-32s-14.3-32-32-32H270.1l-.4-.1l-1.1-.3c-36-10.8-65.2-19.6-85.2-33.1c-9.3-6.3-15-12.6-18.2-19.1c-3.1-6.1-5.2-14.6-3.8-27.4zm187.6 193.2c2.7 6.5 4.4 15.8 1.9 30.1c-3 17.6-13.8 30.8-33.9 39.4c-21.1 9-51.7 12.3-88.5 6.5c-18-2.9-49.1-13.5-74.4-22.1c-5.6-1.9-11-3.7-15.9-5.4c-16.8-5.6-34.9 3.5-40.5 20.3s3.5 34.9 20.3 40.5c3.6 1.2 7.9 2.7 12.7 4.3c24.9 8.5 63.6 21.7 87.6 25.6h.2c44.7 7 88.3 4.2 123.7-10.9c36.5-15.6 64.4-44.8 71.8-87.3c3.6-21 2.7-40.4-3.1-58.1h-75.7c7 5.6 11.4 11.2 13.9 17.2z"/>
95
    </symbol>
96
    <symbol viewBox="0 0 384 512" id="icon--document">
97
      <path  d="M320 464c8.8 0 16-7.2 16-16V160h-80c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16v384c0 8.8 7.2 16 16 16zM0 64C0 28.7 28.7 0 64 0h165.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64z"/>
98
    </symbol>
99
    <symbol viewBox="0 0 512 512" id="icon--download">
100
      <path  d="M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32v242.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64v-32c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352zm368 56a24 24 0 1 1 0 48a24 24 0 1 1 0-48"/>
101
    </symbol>
102
    <symbol viewBox="0 0 576 512" id="icon--duplicate">
103
      <path  d="M0 64C0 28.7 28.7 0 64 0h160v128c0 17.7 14.3 32 32 32h128v38.6c-73.9 20.9-128 88.8-128 169.4c0 59.1 29.1 111.3 73.7 143.3c-3.2.5-6.4.7-9.7.7H64c-35.3 0-64-28.7-64-64zm384 64H256V0zm48 96a144 144 0 1 1 0 288a144 144 0 1 1 0-288m16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h-48c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16v-48h48c8.8 0 16-7.2 16-16s-7.2-16-16-16h-48z"/>
104
    </symbol>
105
    <symbol viewBox="0 0 512 512" id="icon--edit">
106
      <path  d="m410.3 231l11.3-11.3l-33.9-33.9l-62.1-62.1l-33.9-33.9l-11.3 11.3l-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2l199.2-199.2zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9l-78.2 23l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1v32c0 8.8 7.2 16 16 16h32zM362.7 18.7l-14.4 14.5l-22.6 22.6l-11.4 11.3l33.9 33.9l62.1 62.1l33.9 33.9l11.3-11.3l22.6-22.6l14.5-14.5c25-25 25-65.5 0-90.5l-39.3-39.4c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6"/>
107
    </symbol>
108
    <symbol viewBox="0 0 384 512" id="icon--em">
109
      <path  d="M128 64c0-17.7 14.3-32 32-32h192c17.7 0 32 14.3 32 32s-14.3 32-32 32h-58.7L160 416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h58.7L224 96h-64c-17.7 0-32-14.3-32-32"/>
110
    </symbol>
111
    <symbol viewBox="0 0 512 512" id="icon--email">
112
      <path  d="M64 112c-8.8 0-16 7.2-16 16v22.1l172.5 141.6c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16zM48 212.2V384c0 8.8 7.2 16 16 16h384c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0zM0 128c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v256c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64z"/>
113
    </symbol>
114
    <symbol viewBox="0 0 512 512" id="icon--email-disabled">
115
      <path  d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4l217.6 163.2c11.4 8.5 27 8.5 38.4 0l217.6-163.2c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48zM0 176v208c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V176L294.4 339.2a63.9 63.9 0 0 1-76.8 0z"/>
116
    </symbol>
117
    <symbol viewBox="0 0 512 512" id="icon--error">
118
      <path  d="M256 512a256 256 0 1 0 0-512a256 256 0 1 0 0 512m0-384c13.3 0 24 10.7 24 24v112c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24m-32 224a32 32 0 1 1 64 0a32 32 0 1 1-64 0"/>
119
    </symbol>
120
    <symbol viewBox="0 0 512 512" id="icon--external">
121
      <path  d="M320 0c-17.7 0-32 14.3-32 32s14.3 32 32 32h82.7L201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L448 109.3V192c0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32zM80 32C35.8 32 0 67.8 0 112v320c0 44.2 35.8 80 80 80h320c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32v112c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16h112c17.7 0 32-14.3 32-32s-14.3-32-32-32z"/>
122
    </symbol>
123
    <symbol viewBox="0 0 384 512" id="icon--false">
124
      <path  d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7L86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256L41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3l105.4 105.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256z"/>
125
    </symbol>
126
    <symbol viewBox="0 0 576 512" id="icon--fav">
127
      <path  d="M316.9 18c-5.3-11-16.5-18-28.8-18s-23.4 7-28.8 18L195 150.3L51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329l-24.6 145.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5l128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329l104.2-103.1c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7l-143.7-21.2z"/>
128
    </symbol>
129
    <symbol viewBox="0 0 576 512" id="icon--fav-off">
130
      <path  d="M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3l153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4L459.8 484c1.5 9-2.2 18.1-9.7 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6l68.6-141.3C270.4 5.2 278.7 0 287.9 0m0 79l-52.5 108.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9l85.9 85.1c5.5 5.5 8.1 13.3 6.8 21l-20.3 119.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2l-20.2-119.6c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1l-118.3-17.5c-7.8-1.2-14.6-6.1-18.1-13.3z"/>
131
    </symbol>
132
    <symbol viewBox="0 0 384 512" id="icon--file">
133
      <path  d="M320 464c8.8 0 16-7.2 16-16V160h-80c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16v384c0 8.8 7.2 16 16 16zM0 64C0 28.7 28.7 0 64 0h165.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64z"/>
134
    </symbol>
135
    <symbol viewBox="0 0 512 512" id="icon--folder">
136
      <path  d="M0 96c0-35.3 28.7-64 64-64h132.1c19.1 0 37.4 7.6 50.9 21.1L289.9 96H448c35.3 0 64 28.7 64 64v256c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zm64-16c-8.8 0-16 7.2-16 16v320c0 8.8 7.2 16 16 16h384c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16H286.6c-10.6 0-20.8-4.2-28.3-11.7L213.1 87c-4.5-4.5-10.6-7-17-7z"/>
137
    </symbol>
138
    <symbol viewBox="0 0 576 512" id="icon--folder-open">
139
      <path  d="M88.7 223.8L0 375.8V96c0-35.3 28.7-64 64-64h117.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7L416 96c35.3 0 64 28.7 64 64v32H144c-22.8 0-43.8 12.1-55.3 31.8m27.6 16.1c5.8-9.9 16.3-15.9 27.7-15.9h400c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480H32c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2.1-32.1l112-192z"/>
140
    </symbol>
141
    <symbol viewBox="0 0 640 512" id="icon--group">
142
      <path  d="M96 128a128 128 0 1 1 256 0a128 128 0 1 1-256 0M0 482.3C0 383.8 79.8 304 178.3 304h91.4c98.5 0 178.3 79.8 178.3 178.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3M609.3 512H471.5c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2h61.4c89 0 161.2 72.2 161.2 161.3c0 17-13.8 30.7-30.7 30.7M432 256c-31 0-59-12.6-79.3-32.9c19.7-26.6 31.3-59.5 31.3-95.1c0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112"/>
143
    </symbol>
144
    <symbol viewBox="0 0 512 512" id="icon--help">
145
      <path  d="M256 512a256 256 0 1 0 0-512a256 256 0 1 0 0 512m-40-176h24v-64h-24c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-80c-13.3 0-24-10.7-24-24s10.7-24 24-24m40-208a32 32 0 1 1 0 64a32 32 0 1 1 0-64"/>
146
    </symbol>
147
    <symbol viewBox="0 0 512 512" id="icon--help">
148
      <path  d="M464 256a208 208 0 1 0-416 0a208 208 0 1 0 416 0M0 256a256 256 0 1 1 512 0a256 256 0 1 1-512 0m169.8-90.7c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24v-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1h-58.3c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0a32 32 0 1 1-64 0"/>
149
    </symbol>
150
    <symbol viewBox="0 0 512 512" id="icon--history">
151
      <path  d="M75 75L41 41C25.9 25.9 0 36.6 0 57.9V168c0 13.3 10.7 24 24 24h110.1c21.4 0 32.1-25.9 17-41l-30.8-30.8C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75m181 53c-13.3 0-24 10.7-24 24v104c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65V152c0-13.3-10.7-24-24-24z"/>
152
    </symbol>
153
    <symbol viewBox="0 0 384 512" id="icon--hourglass">
154
      <path  d="M0 32C0 14.3 14.3 0 32 0h320c17.7 0 32 14.3 32 32s-14.3 32-32 32v11c0 42.4-16.9 83.1-46.9 113.1L237.3 256l67.9 67.9c30 30 46.9 70.7 46.9 113.1v11c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32v-11c0-42.4 16.9-83.1 46.9-113.1l67.8-67.9l-67.8-67.9C48.9 158.1 32 117.4 32 75V64C14.3 64 0 49.7 0 32m96 32v11c0 25.5 10.1 49.9 28.1 67.9l67.9 67.8l67.9-67.9c18-18 28.1-42.4 28.1-67.9v-11zm0 384h192v-11c0-25.5-10.1-49.9-28.1-67.9L192 301.3l-67.9 67.9c-18 18-28.1 42.4-28.1 67.9v11z"/>
155
    </symbol>
156
    <symbol viewBox="0 0 24 24" id="icon--image-gif">
157
      <path  d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-9 7.5H7.5v3h1V12H10v1.7c0 .7-.5 1.3-1.3 1.3H7.3c-.8 0-1.3-.7-1.3-1.3v-3.3C6 9.7 6.5 9 7.3 9h1.3c.9 0 1.4.7 1.4 1.3zm3 4.5h-1.5V9H13zm4.5-4.5H16v1h1.5V13H16v2h-1.5V9h3z"/>
158
    </symbol>
159
    <symbol viewBox="0 0 24 24" id="icon--image-jpeg">
160
      <path  d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2M9 13.5c0 1.1-.9 1.5-2 1.5s-2-.4-2-1.5V12h1.5v1.5h1V9H9zm5-2c0 .8-.7 1.5-1.5 1.5h-1v2H10V9h2.5c.8 0 1.5.7 1.5 1.5zm5-1h-2.5v3h1V12H19v1.7c0 .7-.5 1.3-1.3 1.3h-1.3c-.8 0-1.3-.7-1.3-1.3v-3.3c-.1-.7.4-1.4 1.2-1.4h1.3c.8 0 1.3.7 1.3 1.3v.2m-7.4 0h1v1h-1z"/>
161
    </symbol>
162
    <symbol viewBox="0 0 24 24" id="icon--image-png">
163
      <path  d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2M9 11.5c0 .8-.7 1.5-1.5 1.5h-1v2H5V9h2.5c.8 0 1.5.7 1.5 1.5zm5 3.5h-1.5l-1-2.5V15H10V9h1.5l1 2.5V9H14zm5-4.5h-2.5v3h1V12H19v1.7c0 .7-.5 1.3-1.3 1.3h-1.3c-.8 0-1.3-.7-1.3-1.3v-3.3c-.1-.7.4-1.4 1.2-1.4h1.3c.8 0 1.3.7 1.3 1.3v.2zm-12.5 0h1v1h-1z"/>
164
    </symbol>
165
    <symbol viewBox="0 0 24 24" id="icon--image-tiff">
166
      <path  d="m14 2l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm4 18V9h-5V4H6v16zm-1-7v6H7l5-5l2 2m-4-5.5A1.5 1.5 0 0 1 8.5 12A1.5 1.5 0 0 1 7 10.5A1.5 1.5 0 0 1 8.5 9a1.5 1.5 0 0 1 1.5 1.5"/>
167
    </symbol>
168
    <symbol viewBox="0 0 512 512" id="icon--img">
169
      <path  d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zm323.8 106.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6l-26.5-33.1c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S78.8 416 88 416h336c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7zM112 192a48 48 0 1 0 0-96a48 48 0 1 0 0 96"/>
170
    </symbol>
171
    <symbol viewBox="0 0 512 512" id="icon--import">
172
      <path  d="M128 64c0-35.3 28.7-64 64-64h160v128c0 17.7 14.3 32 32 32h128v288c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64V336h174.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39l-174.1.1zm0 224v48H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm384-160H384V0z"/>
173
    </symbol>
174
    <symbol viewBox="0 0 448 512" id="icon--ins">
175
      <path  d="M16 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32h-16v128c0 53 43 96 96 96s96-43 96-96V96h-16c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32h-16v128c0 88.4-71.6 160-160 160S64 312.4 64 224V96H48c-17.7 0-32-14.3-32-32M0 448c0-17.7 14.3-32 32-32h384c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32"/>
176
    </symbol>
177
    <symbol viewBox="0 0 448 512" id="icon--issue">
178
      <path  d="M64 80c-8.8 0-16 7.2-16 16v320c0 8.8 7.2 16 16 16h224v-80c0-17.7 14.3-32 32-32h80V96c0-8.8-7.2-16-16-16zm224 400H64c-35.3 0-64-28.7-64-64V96c0-35.3 28.7-64 64-64h320c35.3 0 64 28.7 64 64v229.5c0 17-6.7 33.3-18.7 45.3l-90.5 90.5c-12 12-28.3 18.7-45.3 18.7z"/>
179
    </symbol>
180
    <symbol viewBox="0 0 448 512" id="icon--issue-closed">
181
      <path  d="M64 80c-8.8 0-16 7.2-16 16v320c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16zM0 96c0-35.3 28.7-64 64-64h320c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zm337 113L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"/>
182
    </symbol>
183
    <symbol viewBox="0 0 512 512" id="icon--issue-edit">
184
      <path  d="M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0l-30.1 30l97.9 97.9l30.1-30.1c21.9-21.9 21.9-57.3 0-79.2zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5l167.3-167.4l-98-98zM96 64c-53 0-96 43-96 96v256c0 53 43 96 96 96h256c53 0 96-43 96-96v-96c0-17.7-14.3-32-32-32s-32 14.3-32 32v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32z"/>
185
    </symbol>
186
    <symbol viewBox="0 0 640 512" id="icon--link">
187
      <path  d="M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5l112.2-112.3c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0z"/>
188
    </symbol>
189
    <symbol viewBox="0 0 640 512" id="icon--link-break">
190
      <path  d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2s-6.3 25.5 4.1 33.7l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L489.3 358.2l90.5-90.5c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114l-96 96l-31.9-25c24.3-53.8 13.5-118.3-29.6-161.4c-52.2-52.3-134.5-56.2-191.3-11.7zM239 162c30.1-14.9 67.7-9.9 92.8 15.3c20 20 27.5 48.3 21.7 74.5zm167.6 254.4L220.9 270c-2.1 39.8 12.2 80.1 42.2 110c38.9 38.9 94.4 51 143.6 36.3zm-290-228.5l-56.4 56.4c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5l61.8-61.8l-50.6-39.9z"/>
191
    </symbol>
192
    <symbol viewBox="0 0 448 512" id="icon--lock">
193
      <path  d="M144 144v48h160v-48c0-44.2-35.8-80-80-80s-80 35.8-80 80m-64 48v-48C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64v192c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64z"/>
194
    </symbol>
195
    <symbol viewBox="0 0 512 512" id="icon--magnifier">
196
      <path  d="M416 208c0 45.9-14.9 88.3-40 122.7l126.6 126.7c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208M208 352a144 144 0 1 0 0-288a144 144 0 1 0 0 288"/>
197
    </symbol>
198
    <symbol viewBox="0 0 512 512" id="icon--move">
199
      <path  d="M307 34.8c-11.5 5.1-19 16.6-19 29.2v64H176C78.8 128 0 206.8 0 304c0 113.3 81.5 163.9 100.2 174.1c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-7.5-4.3-14.4-9.8-19.5c-9.4-8.9-22.2-26.4-22.2-56.8c0-53 43-96 96-96h96v64c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144a31.76 31.76 0 0 0-34.4-5.4"/>
200
    </symbol>
201
    <symbol viewBox="0 0 512 512" id="icon--news">
202
      <path  d="M168 80c-13.3 0-24 10.7-24 24v304c0 8.4-1.4 16.5-4.1 24H440c13.3 0 24-10.7 24-24V104c0-13.3-10.7-24-24-24zM72 480c-39.8 0-72-32.2-72-72V112c0-13.3 10.7-24 24-24s24 10.7 24 24v296c0 13.3 10.7 24 24 24s24-10.7 24-24V104c0-39.8 32.2-72 72-72h272c39.8 0 72 32.2 72 72v304c0 39.8-32.2 72-72 72zm104-344c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24h-96c-13.3 0-24-10.7-24-24zm200-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24s10.7-24 24-24m0 80h32c13.3 0 24 10.7 24 24s-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24s10.7-24 24-24m-176 80h208c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24s10.7-24 24-24m0 80h208c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24s10.7-24 24-24"/>
203
    </symbol>
204
    <symbol viewBox="0 0 512 512" id="icon--ol">
205
      <path  d="M24 56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v120h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V80h-8c-13.3 0-24-10.7-24-24m62.7 285.2c-6.5-7.4-18.3-6.9-24 1.2l-11.2 15.5c-7.7 10.8-22.7 13.3-33.5 5.6S4.7 340.8 12.4 330l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432H120c13.3 0 24 10.7 24 24s-10.7 24-24 24H32c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6.3-20.5zM224 64h256c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32m0 160h256c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32m0 160h256c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32"/>
206
    </symbol>
207
    <symbol viewBox="0 0 512 512" id="icon--package">
208
      <path  d="M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6c25.4 9.1 42.4 33.2 42.4 60.3v242.9c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4V134.6c0-27 17-51.2 42.5-60.3zM256 66L82.3 128L256 190l173.7-62zm32 368.6l160-57.1v-188l-160 57.1z"/>
209
    </symbol>
210
    <symbol viewBox="0 0 512 512" id="icon--plugin">
211
      <path  d="M192 104.8c0-9.2-5.8-17.3-13.2-22.8c-11.6-8.7-18.8-20.7-18.8-34c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8c0 12.8 10.4 23.2 23.2 23.2H336c26.5 0 48 21.5 48 48v56.8c0 12.8 10.4 23.2 23.2 23.2c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2c-12.8 0-23.2 10.4-23.2 23.2V464c0 26.5-21.5 48-48 48h-56.8c-12.8 0-23.2-10.4-23.2-23.2c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8c0 12.8-10.4 23.2-23.2 23.2H48c-26.5 0-48-21.5-48-48V343.2C0 330.4 10.4 320 23.2 320c9.2 0 17.3 5.8 22.8 13.2c8.7 11.6 20.7 18.8 34 18.8c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8c-5.5 7.4-13.6 13.2-22.8 13.2C10.4 256 0 245.6 0 232.8V176c0-26.5 21.5-48 48-48h120.8c12.8 0 23.2-10.4 23.2-23.2"/>
212
    </symbol>
213
    <symbol viewBox="0 0 640 512" id="icon--precode">
214
      <path  d="M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6m80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3l89.3 89.4l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3"/>
215
    </symbol>
216
    <symbol viewBox="0 0 576 512" id="icon--projects">
217
      <path  d="m290.8 48.6l78.4 29.7l-81.2 31.2l-81.2-31.2l78.4-29.7c1.8-.7 3.8-.7 5.7 0zM136 92.5v112.2c-1.3.4-2.6.8-3.9 1.3l-96 36.4C14.4 250.6 0 271.5 0 294.7v119.2c0 22.2 13.1 42.3 33.5 51.3l96 42.2c14.4 6.3 30.7 6.3 45.1 0L288 457.5l113.5 49.9c14.4 6.3 30.7 6.3 45.1 0l96-42.2c20.3-8.9 33.5-29.1 33.5-51.3V294.8c0-23.3-14.4-44.1-36.1-52.4L444 206c-1.3-.5-2.6-.9-3.9-1.3V92.5c0-23.3-14.4-44.1-36.1-52.4L308 3.7c-12.8-4.8-26.9-4.8-39.7 0l-96 36.4C150.4 48.4 136 69.3 136 92.5m256 118.1l-82.4 31.2v-89.2L392 121zm-237.2 40.3l78.4 29.7l-81.2 31.1l-81.2-31.1l78.4-29.7c1.8-.7 3.8-.7 5.7 0zm18.8 204.4V354.8l82.4-31.6v95.9zm247.6-204.4c1.8-.7 3.8-.7 5.7 0l78.4 29.7l-81.3 31.1l-81.2-31.1zm102 170.3l-77.6 34.1V354.8l82.4-31.6v90.7c0 3.2-1.9 6-4.8 7.3"/>
218
    </symbol>
219
    <symbol viewBox="0 0 512 512" id="icon--reload">
220
      <path  d="m440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26a175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57M255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432"/>
221
    </symbol>
222
    <symbol viewBox="0 0 320 512" id="icon--reorder">
223
      <path  d="M182.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l41.4-41.4v293.5l-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 402.7V109.2l41.4 41.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-96-96z"/>
224
    </symbol>
225
    <symbol viewBox="0 0 32 32" id="icon--report">
226
      <path  d="M8 2a3 3 0 0 0-3 3v8.763c.34-.17.721-.263 1.117-.263H7V5a1 1 0 0 1 1-1h9v5a3 3 0 0 0 3 3h5v15a1 1 0 0 1-1 1H10.982l-2.076 2H24a3 3 0 0 0 3-3V10.828a3 3 0 0 0-.879-2.12l-5.828-5.83A3 3 0 0 0 18.172 2zm16.586 8H20a1 1 0 0 1-1-1V4.414zM6.119 15h8.382a.5.5 0 0 1 .427.76L11.748 21h2.491a.75.75 0 0 1 .52 1.29l-8.746 8.427c-.758.73-1.985-.055-1.639-1.05L6 25H1.748a.75.75 0 0 1-.672-1.083l4.147-8.361A1 1 0 0 1 6.12 15"/>
227
    </symbol>
228
    <symbol viewBox="0 0 576 512" id="icon--roles">
229
      <path  d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32M144 256a144 144 0 1 1 288 0a144 144 0 1 1-288 0m144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3"/>
230
    </symbol>
231
    <symbol viewBox="0 0 448 512" id="icon--save">
232
      <path  d="M48 96v320c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16V170.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9c12 12 18.7 28.3 18.7 45.3L448 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96c0-35.3 28.7-64 64-64h245.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5l-33.9 33.9l-74.6-74.4l-.8-.8V184c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V80H64c-8.8 0-16 7.2-16 16m80-16v80h144V80zm32 240a64 64 0 1 1 128 0a64 64 0 1 1-128 0"/>
233
    </symbol>
234
    <symbol viewBox="0 0 24 24" id="icon--scm-change">
235
      <path  d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10s10-4.47 10-10S17.53 2 12 2m3.1 5.07c.14 0 .28.05.4.16l1.27 1.27c.23.22.23.57 0 .78l-1 1l-2.05-2.05l1-1c.1-.11.24-.16.38-.16m-1.97 1.74l2.06 2.06l-6.06 6.06H7.07v-2.06z"/>
236
    </symbol>
237
    <symbol viewBox="0 0 512 512" id="icon--scm-move">
238
      <path  d="M0 256a256 256 0 1 0 512 0a256 256 0 1 0-512 0m297 129c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l71-71L120 280c-13.3 0-24-10.7-24-24s10.7-24 24-24h214.1l-71-71c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L409 239c9.4 9.4 9.4 24.6 0 33.9z"/>
239
    </symbol>
240
    <symbol viewBox="0 0 512 512" id="icon--server-authentication">
241
      <path  d="M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-40h40c13.3 0 24-10.7 24-24v-40h40c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3m40-256a40 40 0 1 1 0 80a40 40 0 1 1 0-80"/>
242
    </symbol>
243
    <symbol viewBox="0 0 512 512" id="icon--settings">
244
      <path  d="M495.9 166.6c3.2 8.7.5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4l-55.6 17.8c-8.8 2.8-18.6.3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4c-1.1-8.4-1.7-16.9-1.7-25.5s.6-17.1 1.7-25.4l-43.3-39.4c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160a80 80 0 1 0 0 160"/>
245
    </symbol>
246
    <symbol viewBox="0 0 512 512" id="icon--stats">
247
      <path  d="M24 32c13.3 0 24 10.7 24 24v352c0 13.3 10.7 24 24 24h416c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56c0-13.3 10.7-24 24-24m104 104c0-13.3 10.7-24 24-24h208c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24m24 72h144c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24m0 96h272c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24"/>
248
    </symbol>
249
    <symbol viewBox="0 0 384 512" id="icon--strong">
250
      <path  d="M0 64c0-17.7 14.3-32 32-32h192c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V96H32C14.3 96 0 81.7 0 64m224 160c35.3 0 64-28.7 64-64s-28.7-64-64-64H112v128zm-112 64v128h144c35.3 0 64-28.7 64-64s-28.7-64-64-64z"/>
251
    </symbol>
252
    <symbol viewBox="0 0 384 512" id="icon--summary">
253
      <path  d="M0 256L28.5 28c2-16 15.6-28 31.8-28h168.6c15 0 27.1 12.1 27.1 27.1c0 3.2-.6 6.5-1.7 9.5L208 160h139.3c20.2 0 36.7 16.4 36.7 36.7c0 7.4-2.2 14.6-6.4 20.7l-192.2 281c-5.9 8.6-15.6 13.7-25.9 13.7h-2.9c-15.7 0-28.5-12.8-28.5-28.5q0-3.45.9-6.9L176 288H32c-17.7 0-32-14.3-32-32"/>
254
    </symbol>
255
    <symbol viewBox="0 0 512 512" id="icon--table">
256
      <path  d="M64 256v-96h160v96zm0 64h160v96H64zm224 96v-96h160v96zm160-160H288v-96h160zM64 32C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64z"/>
257
    </symbol>
258
    <symbol viewBox="0 0 512 512" id="icon--table-multiple">
259
      <path  d="M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85c-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28c77.418-.07 144.315-53.144 162.787-126.849c1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24"/>
260
    </symbol>
261
    <symbol viewBox="0 0 384 512" id="icon--bookmark">
262
      <path d="M0 48C0 21.5 21.5 0 48 0v441.4l130.1-92.9c8.3-6 19.6-6 27.9 0l130 92.9V48H48V0h288c26.5 0 48 21.5 48 48v440c0 9-5 17.2-13 21.3s-17.6 3.4-24.9-1.8L192 397.5l-154.1 110c-7.3 5.2-16.9 5.9-24.9 1.8S0 497 0 488z"/>
263
    </symbol>
264
    <symbol viewBox="0 0 384 512" id="icon--bookmark-off">
265
      <path d="M0 48v439.7C0 501.1 10.9 512 24.3 512c5 0 9.9-1.5 14-4.4L192 400l153.7 107.6c4.1 2.9 9 4.4 14 4.4c13.4 0 24.3-10.9 24.3-24.3V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48"/>
266
    </symbol>
267
    <symbol viewBox="0 0 384 512" id="icon--bookmarked">
268
      <path d="M0 48v439.7C0 501.1 10.9 512 24.3 512c5 0 9.9-1.5 14-4.4L192 400l153.7 107.6c4.1 2.9 9 4.4 14 4.4c13.4 0 24.3-10.9 24.3-24.3V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48"/>
269
    </symbol>
270
    <symbol viewBox="0 0 24 24" id="icon--text-css">
271
      <path  d="m5 3l-.65 3.34h13.59L17.5 8.5H3.92l-.66 3.33h13.59l-.76 3.81l-5.48 1.81l-4.75-1.81l.33-1.64H2.85l-.79 4l7.85 3l9.05-3l1.2-6.03l.24-1.21L21.94 3z"/>
272
    </symbol>
273
    <symbol viewBox="0 0 24 24" id="icon--text-html">
274
      <path  d="m12.89 3l1.96.4L11.11 21l-1.96-.4zm6.7 9L16 8.41V5.58L22.42 12L16 18.41v-2.83zM1.58 12L8 5.58v2.83L4.41 12L8 15.58v2.83z"/>
275
    </symbol>
276
    <symbol viewBox="0 0 512 512" id="icon--list">
277
      <path  d="M64 144a48 48 0 1 0 0-96a48 48 0 1 0 0 96m128-80c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32zM64 464a48 48 0 1 0 0-96a48 48 0 1 0 0 96m48-208a48 48 0 1 0-96 0a48 48 0 1 0 96 0"/>
278
    </symbol>
279
    <symbol viewBox="0 0 24 24" id="icon--text-plain">
280
      <path  d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6zm0 2h7v5h5v11H6zm2 8v2h8v-2zm0 4v2h5v-2z"/>
281
    </symbol>
282
    <symbol viewBox="0 0 24 24" id="icon--text-x-c">
283
      <path  d="m15.45 15.97l.42 2.44c-.26.14-.68.27-1.24.39c-.57.13-1.24.2-2.01.2c-2.21-.04-3.87-.7-4.98-1.96c-1.14-1.27-1.68-2.88-1.68-4.83C6 9.9 6.68 8.13 8 6.89C9.28 5.64 10.92 5 12.9 5c.75 0 1.4.07 1.94.19s.94.25 1.2.4l-.6 2.49l-1.04-.34c-.4-.1-.87-.15-1.4-.15c-1.15-.01-2.11.36-2.86 1.1c-.76.73-1.14 1.85-1.18 3.34c.01 1.36.37 2.42 1.08 3.2c.71.77 1.7 1.17 2.99 1.18l1.33-.12c.43-.08.79-.19 1.09-.32"/>
284
    </symbol>
285
    <symbol viewBox="0 0 24 24" id="icon--text-x-csharp">
286
      <path  d="m11.5 15.97l.41 2.44c-.26.14-.68.27-1.24.39c-.57.13-1.24.2-2.01.2c-2.21-.04-3.87-.7-4.98-1.96Q2 15.135 2 12.21c.05-2.31.72-4.08 2-5.32C5.32 5.64 6.96 5 8.94 5c.75 0 1.4.07 1.94.19s.94.25 1.2.4l-.58 2.49l-1.06-.34c-.4-.1-.86-.15-1.39-.15c-1.16-.01-2.12.36-2.87 1.1c-.76.73-1.15 1.85-1.18 3.34c0 1.36.37 2.42 1.08 3.2c.71.77 1.71 1.17 2.99 1.18l1.33-.12c.43-.08.79-.19 1.1-.32M13.89 19l.61-4H13l.34-2h1.5l.32-2h-1.5L14 9h1.5l.61-4h2l-.61 4h1l.61-4h2l-.61 4H22l-.34 2h-1.5l-.32 2h1.5L21 15h-1.5l-.61 4h-2l.61-4h-1l-.61 4zm2.95-6h1l.32-2h-1z"/>
287
    </symbol>
288
    <symbol viewBox="0 0 24 24" id="icon--text-x-java">
289
      <path  d="M16.5 6.08s-6.84 1.71-3.56 5.48c.97 1.11-.25 2.11-.25 2.11s2.45-1.25 1.31-2.85c-1.06-1.47-1.86-2.2 2.5-4.74m-4.47 1.2C16.08 4.08 14 2 14 2c.84 3.3-2.96 4.3-4.33 6.36c-.94 1.4.46 2.91 2.33 4.64c-.71-1.7-3.22-3.16.03-5.72M9.37 17.47c-3.08.86 1.88 2.63 5.79.96c-.38-.15-.75-.33-1.1-.54c-1.36.31-2.76.37-4.14.18c-1.31-.16-.55-.6-.55-.6m5.32-1.68c-1.75.38-3.56.47-5.34.26c-1.31-.13-.45-.77-.45-.77c-3.4 1.13 1.88 2.4 6.6 1.02c-.29-.11-.57-.3-.81-.51m3.42 3.3s.57.47-.61.83c-2.28.68-9.43.89-11.41.03c-.71-.31.63-.74 1.05-.83c.23-.06.46-.08.69-.08c-.79-.54-5.13 1.1-2.19 1.56c7.97 1.3 14.54-.6 12.47-1.51m-2.74-4.86c.29-.19.6-.35.92-.49c0 0-1.51.26-3.02.4c-1.6.16-3.21.18-4.81.06c-2.35-.31 1.29-1.2 1.29-1.2c-1.1 0-2.18.26-3.16.75c-2.05 1 5.1 1.45 8.78.48m.9 2.42c-.02.04-.04.07-.08.1c5.01-1.31 3.17-4.64.77-3.81c-.13.06-.24.14-.31.25c.14-.05.28-.09.43-.12c1.2-.24 2.92 1.63-.81 3.58m.13 4.61c-3.01.52-6.09.56-9.12.14c0 0 .46.38 2.81.53c3.6.23 9.13-.13 9.26-1.83c.03.01-.23.65-2.95 1.16"/>
290
    </symbol>
291
    <symbol viewBox="0 0 24 24" id="icon--text-x-javascript">
292
      <path  d="M3 3h18v18H3zm4.73 15.04c.4.85 1.19 1.55 2.54 1.55c1.5 0 2.53-.8 2.53-2.55v-5.78h-1.7V17c0 .86-.35 1.08-.9 1.08c-.58 0-.82-.4-1.09-.87zm5.98-.18c.5.98 1.51 1.73 3.09 1.73c1.6 0 2.8-.83 2.8-2.36c0-1.41-.81-2.04-2.25-2.66l-.42-.18c-.73-.31-1.04-.52-1.04-1.02c0-.41.31-.73.81-.73c.48 0 .8.21 1.09.73l1.31-.87c-.55-.96-1.33-1.33-2.4-1.33c-1.51 0-2.48.96-2.48 2.23c0 1.38.81 2.03 2.03 2.55l.42.18c.78.34 1.24.55 1.24 1.13c0 .48-.45.83-1.15.83c-.83 0-1.31-.43-1.67-1.03z"/>
293
    </symbol>
294
    <symbol viewBox="0 0 24 24" id="icon--text-x-php">
295
      <path  d="M12 18.08c-6.63 0-12-2.72-12-6.08s5.37-6.08 12-6.08S24 8.64 24 12s-5.37 6.08-12 6.08m-5.19-7.95c.54 0 .91.1 1.09.31c.18.2.22.56.13 1.03c-.1.53-.29.87-.58 1.09q-.42.33-1.29.33h-.87l.53-2.76zm-3.5 5.55h1.44l.34-1.75h1.23c.54 0 .98-.06 1.33-.17c.35-.12.67-.31.96-.58c.24-.22.43-.46.58-.73c.15-.26.26-.56.31-.88c.16-.78.05-1.39-.33-1.82c-.39-.44-.99-.65-1.82-.65H4.59zm7.25-8.33l-1.28 6.58h1.42l.74-3.77h1.14c.36 0 .6.06.71.18s.13.34.07.66l-.57 2.93h1.45l.59-3.07c.13-.62.03-1.07-.27-1.36c-.3-.27-.85-.4-1.65-.4h-1.27L12 7.35zM18 10.13c.55 0 .91.1 1.09.31c.18.2.22.56.13 1.03c-.1.53-.29.87-.57 1.09c-.29.22-.72.33-1.3.33h-.85l.5-2.76zm-3.5 5.55h1.44l.34-1.75h1.22c.55 0 1-.06 1.35-.17c.35-.12.65-.31.95-.58c.24-.22.44-.46.58-.73c.15-.26.26-.56.32-.88c.15-.78.04-1.39-.34-1.82c-.36-.44-.99-.65-1.82-.65h-2.75z"/>
296
    </symbol>
297
    <symbol viewBox="0 0 24 24" id="icon--text-x-ruby">
298
      <path  d="M18.8 2.07c2.52.43 3.24 2.16 3.2 3.97V6l-1.14 14.93l-14.78 1.01h.01c-1.23-.05-3.96-.17-4.09-3.99l1.37-2.5l2.77 6.46l2.36-7.62l-.05.01l.02-.02l7.71 2.46l-1.99-7.78l7.35-.46l-5.79-4.74l3.05-1.7zM2 17.91v.02zM6.28 6.23c2.96-2.95 6.79-4.69 8.26-3.2c1.46 1.47-.08 5.09-3.04 8.03c-3 2.94-6.77 4.78-8.24 3.3c-1.47-1.49.04-5.19 3.01-8.13z"/>
299
    </symbol>
300
    <symbol viewBox="0 0 24 24" id="icon--text-xml">
301
      <path  d="m12.89 3l1.96.4L11.11 21l-1.96-.4zm6.7 9L16 8.41V5.58L22.42 12L16 18.41v-2.83zM1.58 12L8 5.58v2.83L4.41 12L8 15.58v2.83z"/>
302
    </symbol>
303
    <symbol viewBox="0 0 384 512" id="icon--textfield">
304
      <path  d="M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h160v80c0 17.7 14.3 32 32 32h80v288c0 8.8-7.2 16-16 16zM64 0C28.7 0 0 28.7 0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3l-90.6-90.5C262.7 6.7 246.5 0 229.5 0zm56 256c-13.3 0-24 10.7-24 24s10.7 24 24 24h144c13.3 0 24-10.7 24-24s-10.7-24-24-24zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24h144c13.3 0 24-10.7 24-24s-10.7-24-24-24z"/>
305
    </symbol>
306
    <symbol viewBox="0 0 512 512" id="icon--textfield-key">
307
      <path  d="M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-40h40c13.3 0 24-10.7 24-24v-40h40c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3m40-256a40 40 0 1 1 0 80a40 40 0 1 1 0-80"/>
308
    </symbol>
309
    <symbol viewBox="0 0 512 512" id="icon--time">
310
      <path  d="M464 256a208 208 0 1 1-416 0a208 208 0 1 1 416 0M0 256a256 256 0 1 0 512 0a256 256 0 1 0-512 0m232-136v136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24"/>
311
    </symbol>
312
    <symbol viewBox="0 0 512 512" id="icon--tl">
313
      <path  d="M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113c-9.3-9.4-9.3-24.6 0-34s24.6-9.4 33.9 0L63 101.1l55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L63 261.2l55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32h224c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32m0 160c0-17.7 14.3-32 32-32h224c17.7 0 32 14.3 32 32s-14.3 32-32 32H256c-17.7 0-32-14.3-32-32m-64 160c0-17.7 14.3-32 32-32h288c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.7 0-32-14.3-32-32M48 368a48 48 0 1 1 0 96a48 48 0 1 1 0-96"/>
314
    </symbol>
315
    <symbol viewBox="0 0 448 512" id="icon--toggle-minus">
316
      <path  d="M64 80c-8.8 0-16 7.2-16 16v320c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16zM0 96c0-35.3 28.7-64 64-64h320c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zm152 136h144c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24"/>
317
    </symbol>
318
    <symbol viewBox="0 0 448 512" id="icon--toggle-plus">
319
      <path  d="M64 80c-8.8 0-16 7.2-16 16v320c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16zM0 96c0-35.3 28.7-64 64-64h320c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zm200 248v-64h-64c-13.3 0-24-10.7-24-24s10.7-24 24-24h64v-64c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24h-64v64c0 13.3-10.7 24-24 24s-24-10.7-24-24"/>
320
    </symbol>
321
    <symbol viewBox="0 0 448 512" id="icon--true">
322
      <path  d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7l233.4-233.3c12.5-12.5 32.8-12.5 45.3 0z"/>
323
    </symbol>
324
    <symbol viewBox="0 0 512 512" id="icon--ul">
325
      <path  d="M64 144a48 48 0 1 0 0-96a48 48 0 1 0 0 96m128-80c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32zM64 464a48 48 0 1 0 0-96a48 48 0 1 0 0 96m48-208a48 48 0 1 0-96 0a48 48 0 1 0 96 0"/>
326
    </symbol>
327
    <symbol viewBox="0 0 448 512" id="icon--unbq">
328
      <path  d="M0 64c0-17.7 14.3-32 32-32h384c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64m192 128c0-17.7 14.3-32 32-32h192c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32m32 96h192c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32M0 448c0-17.7 14.3-32 32-32h384c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32m.2-179.4c-8.2-6.4-8.2-18.9 0-25.3L102.1 164c10.5-8.2 25.8-.7 25.8 12.6v158.6c0 13.3-15.3 20.8-25.8 12.6z"/>
329
    </symbol>
330
    <symbol viewBox="0 0 448 512" id="icon--unlock">
331
      <path  d="M144 144c0-44.2 35.8-80 80-80c31.9 0 59.4 18.6 72.3 45.7c7.6 16 26.7 22.8 42.6 15.2s22.8-26.7 15.2-42.6C331 33.7 281.5 0 224 0C144.5 0 80 64.5 80 144v48H64c-35.3 0-64 28.7-64 64v192c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H144z"/>
332
    </symbol>
333
    <symbol viewBox="0 0 448 512" id="icon--user">
334
      <path  d="M224 256a128 128 0 1 0 0-256a128 128 0 1 0 0 256m-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512h388.6c16.4 0 29.7-13.3 29.7-29.7c0-98.5-79.8-178.3-178.3-178.3z"/>
335
    </symbol>
336
    <symbol viewBox="0 0 512 512" id="icon--warning">
337
      <path  d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7.2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8.2-40.1l216-368C228.7 39.5 241.8 32 256 32m0 128c-13.3 0-24 10.7-24 24v112c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24m32 224a32 32 0 1 0-64 0a32 32 0 1 0 64 0"/>
338
    </symbol>
339
    <symbol viewBox="0 0 448 512" id="icon--wiki-edit">
340
      <path  d="M96 0C43 0 0 43 0 96v320c0 53 43 96 96 96h320c17.7 0 32-14.3 32-32s-14.3-32-32-32v-64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32zm0 384h256v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32m32-240c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16m16 48h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16"/>
341
    </symbol>
342
    <symbol viewBox="0 0 640 512" id="icon--workflows">
343
      <path  d="M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5l-3.1-5.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1L241.3 77c-10.7-8.8-23-16-36.2-20.9l-6.1-29c-1.9-9.3-9.1-16.7-18.5-17.8c-6.6-.9-13.3-1.3-20.1-1.3h-.7q-10.2 0-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9l-28.3-9.2c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8c-1.1 6.7-1.7 13.7-1.7 20.8s.6 14.1 1.7 20.9l-22.2 19.8c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8q10.05 1.2 20.4 1.2c10.35 0 13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7.9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0a48 48 0 1 1-96 0m392.7 324.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2L613 391c9.3-1.9 16.7-9.1 17.8-18.5q1.2-10.05 1.2-20.4c0-10.35-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5l-29.1-6.2c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1.6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2l-29.1 6c-9.3 1.9-16.7 9.1-17.8 18.5q-1.2 10.05-1.2 20.4c0 10.35.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6.9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96a48 48 0 1 1 0-96"/>
344
    </symbol>
345
    <symbol viewBox="0 0 512 512" id="icon--zoom-in">
346
      <path  d="M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12m201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34M344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136s136-60.8 136-136"/>
347
    </symbol>
348
    <symbol viewBox="0 0 512 512" id="icon--zoom-out">
349
      <path  d="M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12m201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34M344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136s136-60.8 136-136"/>
350
    </symbol>
351
  </defs>
352
</svg>
app/assets/stylesheets/application.css
121 121
#sidebar ul li, ul.flat li {list-style-type:none;margin: 0px 2px 0px 0px; padding: 0px 0px 0px 0px;}
122 122
#sidebar div.wiki ul {margin:inherit; padding-left:40px;}
123 123
#sidebar div.wiki ul li {list-style-type:inherit;}
124
#sidebar a.icon-only {opacity: 0.4; margin-left: 5px;}
125
#sidebar a.icon-only:hover {opacity: 1;}
124
#sidebar a.icon-only svg {opacity: 0.2; margin-left: 5px;}
125
#sidebar a.icon-only:hover svg {opacity: 1;}
126 126
#sidebar span.icon-warning {margin-left: 5px;}
127 127
#sidebar li input[type=checkbox] {height: 20px;}
128 128

  
......
238 238

  
239 239
.contextual .drdn-content {top:18px;}
240 240
.contextual .drdn-items {padding:2px; min-width: 160px;}
241
.contextual .drdn-items>a {padding: 5px 8px;}
242
.contextual .drdn-items>a.icon {padding-left: 24px; background-position-x: 4px;}
241
.contextual .drdn-items>a {display: flex; padding: 5px 8px;}
242
.contextual .drdn-items>a.icon:not(:has(svg)) {padding-left: 24px; background-position-x: 4px;}
243 243
.contextual .drdn-items>a:hover {color:#2A5685; border:1px solid #628db6; background-color:#eef5fd; border-radius:3px;}
244 244

  
245 245
#project-jump.drdn {width:200px;display:inline-block;}
......
275 275
table.list td.checkbox { width: 15px; padding: 2px 0 0 0; }
276 276
table.list .checkbox input {padding:0px; height: initial;}
277 277
table.list td.buttons, div.buttons { white-space:nowrap; text-align: right; }
278
table.list td.buttons a, div.buttons a { margin-right: 0.6em; }
278
table.list td.buttons a, div.buttons a, table.list td.buttons span.icon-only { margin-right: 0.6em; }
279 279
table.list td.buttons a:last-child, div.buttons a:last-child { margin-right: 0; }
280 280
table.list td.buttons img, div.buttons img {vertical-align:middle;}
281 281
table.list td.reorder {width:15%; white-space:nowrap; text-align:center; }
......
336 336
tr.changeset td.committed_on { text-align: center; width: 15%; white-space:nowrap;}
337 337

  
338 338
table.files tbody th {text-align:left;}
339
table.files tr.file td.filename { text-align: left; padding-left: 24px; }
339
table.files tr.file td.filename { text-align: left; }
340 340
table.files tr.file td.digest { font-size: 80%; }
341 341

  
342 342
table.members td.roles, table.memberships td.roles { width: 45%; }
......
640 640
#issue_is_private_wrap {float:right; margin-right:1em;}
641 641
.toggle-multiselect { margin-right:5px; cursor:pointer;}
642 642
.buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; }
643
.buttons .icon {padding-bottom:3px; padding-top:1px;}
644 643

  
645 644
div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;}
646 645
div#issue-changesets div.changeset {border-bottom: 1px solid #ddd; padding: 4px;}
......
815 814

  
816 815
textarea#custom_field_possible_values {width: 95%; resize:vertical}
817 816
textarea#custom_field_default_value {width: 95%; resize:vertical}
818
.sort-handle {display:inline-block; vertical-align:middle; cursor: move;}
817
.sort-handle { cursor: move; }
819 818

  
820 819
input#content_comments {width: 99%}
821 820

  
......
1621 1620
  white-space: pre-wrap;
1622 1621
}
1623 1622

  
1624
/***** Icons *****/
1625
.icon {
1623
/***** SVG Icons *****/
1624
.icon, .icon-only {
1625
  display: inline-flex;
1626
}
1627

  
1628
a.icon svg, a.icon-only svg {
1629
  fill: #169;
1630
}
1631

  
1632
a.icon:hover svg, a.icon-only:hover svg {
1633
  fill: #c61a1a;
1634
}
1635

  
1636
.icon-only span {
1637
  display: none;
1638
}
1639

  
1640
svg {
1641
  width: 0;
1642
  height: 0;
1643

  
1644
  &.s14 {
1645
    width: 14px;
1646
    height: 14px;
1647
  }
1648
}
1649

  
1650
span.icon-label {
1651
  margin-left: 4px;
1652
}
1653

  
1654
.icon-bookmarked-project svg {
1655
  fill: #169;
1656
}
1657
.icon-user svg {
1658
  fill: #169;
1659
}
1660

  
1661
/***** Legacy icons *****/
1662
.icon:not(:has(svg)) {
1626 1663
  background-position: 0% 50%;
1627 1664
  background-repeat: no-repeat;
1628 1665
  padding-left: 20px;
1629 1666
}
1630
.icon-only {
1667
.icon-only:not(:has(svg)) {
1631 1668
  background-position: 0% 50%;
1632 1669
  background-repeat: no-repeat;
1633 1670
  padding-left: 16px;
......
1640 1677
  font-size: 8px;
1641 1678
  vertical-align: middle;
1642 1679
}
1643
.icon-only::after {
1680
.icon-only:not(:has(svg))::after {
1644 1681
  content: "\a0";
1645 1682
}
1646 1683

  
1647
.icon-add { background-image: url(/add.png); }
1648
.icon-edit { background-image: url(/edit.png); }
1649
.icon-copy { background-image: url(/copy.png); }
1684
.icon-add:not(:has(svg)) { background-image: url(/add.png); }
1685
.icon-edit:not(:has(svg)) { background-image: url(/edit.png); }
1686
.icon-copy:not(:has(svg)) { background-image: url(/copy.png); }
1650 1687
.icon-duplicate { background-image: url(/duplicate.png); }
1651
.icon-del { background-image: url(/delete.png); }
1652
.icon-move { background-image: url(/move.png); }
1653
.icon-save { background-image: url(/save.png); }
1654
.icon-download { background-image: url(/download.png); }
1688
.icon-del:not(:has(svg)) { background-image: url(/delete.png); }
1689
.icon-move:not(:has(svg)) { background-image: url(/move.png); }
1690
.icon-save:not(:has(svg)) { background-image: url(/save.png); }
1691
.icon-download:not(:has(svg)) { background-image: url(/download.png); }
1655 1692
.icon-cancel { background-image: url(/cancel.png); }
1656 1693
.icon-multiple { background-image: url(/table_multiple.png); }
1657 1694
.icon-folder { background-image: url(/folder.png); }
1658 1695
.open .icon-folder { background-image: url(/folder_open.png); }
1659 1696
.icon-package { background-image: url(/package.png); }
1660
.icon-user { background-image: url(/user.png); }
1697
.icon-user:not(:has(svg)) { background-image: url(/user.png); }
1661 1698
.icon-project, .icon-projects { background-image: url(/projects.png); }
1662
.icon-help { background-image: url(/help.png); }
1663
.icon-attachment  { background-image: url(/attachment.png); }
1664
.icon-history  { background-image: url(/history.png); }
1699
.icon-help:not(:has(svg)) { background-image: url(/help.png); }
1700
.icon-attachment:not(:has(svg)) { background-image: url(/attachment.png); }
1701
.icon-history:not(:has(svg)) { background-image: url(/history.png); }
1665 1702
.icon-time-entry, .icon-time  { background-image: url(/time.png); }
1666
.icon-time-add  { background-image: url(/time_add.png); }
1667
.icon-stats  { background-image: url(/stats.png); }
1703
.icon-time-add:not(:has(svg)) { background-image: url(/time_add.png); }
1704
.icon-stats:not(:has(svg)) { background-image: url(/stats.png); }
1668 1705
.icon-warning  { background-image: url(/warning.png); }
1669 1706
.icon-error { background-image: url(/exclamation.png); }
1670 1707
.icon-fav  { background-image: url(/fav.png); }
1671 1708
.icon-fav-off  { background-image: url(/fav_off.png); }
1672
.icon-reload  { background-image: url(/reload.png); }
1673
.icon-lock, .icon-locked  { background-image: url(/locked.png); }
1674
.icon-unlock  { background-image: url(/unlock.png); }
1675
.icon-checked  { background-image: url(/toggle_check.png); }
1709
.icon-reload:not(:has(svg)) { background-image: url(/reload.png); }
1710
.icon-lock:not(:has(svg)), .icon-locked:not(:has(svg))  { background-image: url(/locked.png); }
1711
.icon-unlock:not(:has(svg)) { background-image: url(/unlock.png); }
1712
.icon-checked:not(:has(svg)) { background-image: url(/toggle_check.png); }
1676 1713
.icon-report  { background-image: url(/report.png); }
1677
.icon-comment, .icon-comments  { background-image: url(/comment.png); }
1678
.icon-summary  { background-image: url(/lightning.png); }
1714
.icon-comment:not(:has(svg)), .icon-comments  { background-image: url(/comment.png); }
1715
.icon-summary:not(:has(svg)) { background-image: url(/lightning.png); }
1679 1716
.icon-server-authentication { background-image: url(/server_key.png); }
1680 1717
.icon-issue { background-image: url(/ticket.png); }
1681 1718
.icon-zoom-in { background-image: url(/zoom_in.png); }
1682 1719
.icon-zoom-out { background-image: url(/zoom_out.png); }
1683 1720
.icon-magnifier { background-image: url(/magnifier.png); }
1684 1721
.icon-passwd { background-image: url(/textfield_key.png); }
1685
.icon-arrow-right, .icon-test, .icon-sticky { background-image: url(/bullet_go.png); }
1722
.icon-arrow-right, .icon-test:not(:has(svg)), .icon-sticky { background-image: url(/bullet_go.png); }
1686 1723
.icon-email { background-image: url(/email.png); }
1687 1724
.icon-email-disabled { background-image: url(/email_disabled.png); }
1688 1725
.icon-email-add { background-image: url(/email_add.png); }
1689 1726
.icon-ok { background-image: url(/true.png); }
1690 1727
.icon-not-ok { background-image: url(/false.png); }
1691
.icon-link-break { background-image: url(/link_break.png); }
1692
.icon-list { background-image: url(/text_list_bullets.png); }
1693
.icon-close { background-image: url(/close.png); }
1694
.icon-close:hover { background-image: url(/close_hl.png); }
1695
.icon-settings { background-image: url(/changeset.png); }
1728
.icon-link-break:not(:has(svg)) { background-image: url(/link_break.png); }
1729
.icon-list:not(:has(svg)) { background-image: url(/text_list_bullets.png); }
1730
.icon-close:not(:has(svg)) { background-image: url(/close.png); }
1731
.icon-close:hover:not(:has(svg)) { background-image: url(/close_hl.png); }
1732
.icon-settings:not(:has(svg)) { background-image: url(/changeset.png); }
1696 1733
.icon-group, .icon-groupnonmember, .icon-groupanonymous { background-image: url(/group.png); }
1697 1734
.icon-roles { background-image: url(/database_key.png); }
1698 1735
.icon-issue-edit { background-image: url(/ticket_edit.png); }
......
1710 1747
.icon-project { background-image: url(/projects.png); }
1711 1748
.icon-add-bullet { background-image: url(/bullet_add.png); }
1712 1749
.icon-shared { background-image: url(/link.png); }
1713
.icon-actions { background-image: url(/3_bullets.png); }
1714
.icon-sort-handle { background-image: url(/reorder.png); }
1750
.icon-actions:not(:has(svg)) { background-image: url(/3_bullets.png); }
1751
.icon-sort-handle:not(:has(svg)) { background-image: url(/reorder.png); }
1715 1752
.icon-expanded { background-image: url(/arrow_down.png); }
1716 1753
.icon-collapsed { background-image: url(/arrow_right.png); }
1717
.icon-bookmark { background-image: url(/tag_blue_delete.png); }
1718
.icon-bookmark-off { background-image: url(/tag_blue_add.png); }
1719
.icon-bookmarked-project { background-image: url(/tag_blue.png); }
1754
.icon-bookmark:not(:has(svg)) { background-image: url(/tag_blue_delete.png); }
1755
.icon-bookmark-off:not(:has(svg)) { background-image: url(/tag_blue_add.png); }
1756
.icon-bookmarked-project:not(:has(svg)) { background-image: url(/tag_blue.png); }
1720 1757
.icon-sorted-asc { background-image: url(/arrow_down.png); }
1721 1758
.icon-sorted-desc { background-image: url(/arrow_up.png); }
1722 1759
.icon-toggle-plus { background-image: url(/bullet_toggle_plus.png) }
1723 1760
.icon-toggle-minus { background-image: url(/bullet_toggle_minus.png) }
1724
.icon-clear-query { background-image: url(/close_hl.png); }
1725
.icon-import { background-image: url(/database_go.png); }
1761
.icon-clear-query:not(:has(svg)) { background-image: url(/close_hl.png); }
1762
.icon-import:not(:has(svg)) { background-image: url(/database_go.png); }
1726 1763

  
1727 1764
.icon-file { background-image: url(/files/default.png); }
1728 1765
.icon-file.text-plain { background-image: url(/files/text.png); }
......
1742 1779
.icon-file.application-pdf { background-image: url(/files/pdf.png); }
1743 1780
.icon-file.application-zip { background-image: url(/files/zip.png); }
1744 1781
.icon-file.application-gzip { background-image: url(/files/zip.png); }
1745
.icon-copy-link { background-image: url(/copy_link.png); }
1782
.icon-copy-link:not(:has(svg)) { background-image: url(/copy_link.png); }
1746 1783

  
1747 1784
.sort-handle.ajax-loading { background-image: url(/loading.gif); }
1748 1785
tr.ui-sortable-helper { border:1px solid #e4e4e4; }
app/assets/stylesheets/context_menu.css
41 41

  
42 42
#context-menu a {
43 43
  text-decoration:none !important;
44
  padding: 2px 0px 2px 20px;
44
  padding: 4px 8px;
45 45
  width:100%; /* IE */
46 46
}
47 47
#context-menu li>a { width:auto; } /* others */
app/controllers/application_controller.rb
28 28
  include Redmine::Hook::Helper
29 29
  include RoutesHelper
30 30
  include AvatarsHelper
31
  include IconsHelper
31 32

  
32 33
  helper :routes
33 34
  helper :avatars
35
  helper :icons
34 36

  
35 37
  class_attribute :accept_api_auth_actions
36 38
  class_attribute :accept_atom_auth_actions
app/helpers/application_helper.rb
127 127
  # * :download - Force download (default: false)
128 128
  def link_to_attachment(attachment, options={})
129 129
    text = options.delete(:text) || attachment.filename
130
    icon = 'attachment'
130 131
    if options.delete(:download)
132
      icon = 'download'
131 133
      route_method = :download_named_attachment_url
132 134
      options[:filename] = attachment.filename
133 135
    else
......
136 138
      options.delete(:filename)
137 139
    end
138 140
    html_options = options.slice!(:only_path, :filename)
141

  
139 142
    options[:only_path] = true unless options.key?(:only_path)
140 143
    url = send(route_method, attachment, options)
141
    link_to text, url, html_options
144
    link_to icon_with_label(icon, text), url, html_options
142 145
  end
143 146

  
144 147
  # Generates a link to a SCM revision
......
744 747
      :reorder_url => options[:url] || url_for(object),
745 748
      :reorder_param => options[:param] || object.class.name.underscore
746 749
    }
747
    content_tag('span', '',
750
    content_tag('span', icon_with_label('reorder', ''),
748 751
                :class => "icon-only icon-sort-handle sort-handle",
749 752
                :data => data,
750 753
                :title => l(:button_sort))
......
824 827
    content = capture(&block)
825 828
    if content.present?
826 829
      trigger =
827
        content_tag('span', l(:button_actions), :class => 'icon-only icon-actions',
830
        content_tag('span', icon_with_label('3-bullets', l(:button_actions)), :class => 'icon-only icon-actions ',
828 831
                    :title => l(:button_actions))
829 832
      trigger = content_tag('span', trigger, :class => 'drdn-trigger')
830 833
      content = content_tag('div', content, :class => 'drdn-items')
......
1365 1368
        content_tag(
1366 1369
          'div',
1367 1370
          link_to(
1368
            l(:button_edit_section),
1371
            icon_with_label('edit', l(:button_edit_section)),
1369 1372
            options[:edit_section_links].merge(
1370 1373
              :section => @current_section),
1371 1374
            :class => 'icon-only icon-edit'),
......
1559 1562
      :class => 'icon icon-del'
1560 1563
    }.merge(options)
1561 1564

  
1562
    link_to button_name, url, options
1565
    link_to icon_with_label('del', button_name), url, options
1563 1566
  end
1564 1567

  
1565 1568
  def link_to_function(name, function, html_options={})
......
1567 1570
  end
1568 1571

  
1569 1572
  def link_to_context_menu
1570
    link_to l(:button_actions), '#', title: l(:button_actions), class: 'icon-only icon-actions js-contextmenu'
1573
    link_to icon_with_label('3-bullets', l(:button_actions)), '#', title: l(:button_actions), class: 'icon-only icon-actions js-contextmenu '
1571 1574
  end
1572 1575

  
1573 1576
  # Helper to render JSON in views
......
1897 1900

  
1898 1901
  def copy_object_url_link(url)
1899 1902
    link_to_function(
1900
      l(:button_copy_link), 'copyTextToClipboard(this);',
1901
      class: 'icon icon-copy-link',
1903
      icon_with_label('copy-link', l(:button_copy_link)), 'copyTextToClipboard(this);',
1904
      class: 'icon icon-copy-link ',
1902 1905
      data: {'clipboard-text' => url}
1903 1906
    )
1904 1907
  end
app/helpers/icons_helper.rb
1
# frozen_string_literal: true
2

  
3
# Redmine - project management software
4
# Copyright (C) 2006-  Jean-Philippe Lang
5
#
6
# This program is free software; you can redistribute it and/or
7
# modify it under the terms of the GNU General Public License
8
# as published by the Free Software Foundation; either version 2
9
# of the License, or (at your option) any later version.
10
#
11
# This program is distributed in the hope that it will be useful,
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
# GNU General Public License for more details.
15
#
16
# You should have received a copy of the GNU General Public License
17
# along with this program; if not, write to the Free Software
18
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19

  
20
module IconsHelper
21
  DEFAULT_ICON_SIZE = "14"
22
  DEFAULT_SPRITE = "icons"
23

  
24
  def icon_with_label(icon_name, label_text, icon_only: false)
25
    sprite_icon(icon_name) + content_tag(:span, label_text, class: "icon-label")
26
  end
27

  
28
  def sprite_icon(icon_name, size: DEFAULT_ICON_SIZE, sprite: DEFAULT_SPRITE)
29
    sprite_path = "#{sprite}.svg"
30

  
31
    content_tag(
32
      :svg,
33
      content_tag(:use, '', { 'href' => "#{asset_path(sprite_path)}#icon--#{icon_name}" }),
34
      class: "s#{size}",
35
      aria: {
36
        hidden: true
37
      }
38
    )
39
  end
40
end
app/helpers/issues_helper.rb
101 101
      buttons =
102 102
        if manage_relations
103 103
          link_to(
104
            l(:label_delete_link_to_subtask),
104
            icon_with_label('link-break', l(:label_delete_link_to_subtask)),
105 105
            issue_path(
106 106
              {:id => child.id, :issue => {:parent_issue_id => ''},
107 107
               :back_url => issue_path(issue.id), :no_flash => '1'}
......
207 207
      buttons =
208 208
        if manage_relations
209 209
          link_to(
210
            l(:label_relation_delete),
210
            icon_with_label('link-break', l(:label_relation_delete)),
211 211
            relation_path(relation, issue_id: issue.id),
212 212
            :remote => true,
213 213
            :method => :delete,
app/helpers/journals_helper.rb
31 31

  
32 32
    dropbown_links << copy_object_url_link(issue_url(issue, anchor: "note-#{indice}", only_path: false))
33 33
    if journal.attachments.size > 1
34
      dropbown_links << link_to(l(:label_download_all_attachments),
34
      dropbown_links << link_to(icon_with_label('download', l(:label_download_all_attachments)),
35 35
                                container_attachments_download_path(journal),
36 36
                                :title => l(:label_download_all_attachments),
37
                                :class => 'icon icon-download'
37
                                :class => 'icon icon-download '
38 38
                               )
39 39
    end
40 40

  
41 41
    if journal.notes.present?
42 42
      if options[:reply_links]
43
        links << link_to(l(:button_quote),
43
        links << link_to(icon_with_label('comment', l(:button_quote)),
44 44
                         quoted_issue_path(issue, :journal_id => journal, :journal_indice => indice),
45 45
                         :remote => true,
46 46
                         :method => 'post',
47 47
                         :title => l(:button_quote),
48
                         :class => 'icon-only icon-comment'
48
                         :class => 'icon-only icon-comment '
49 49
                        )
50 50
      end
51 51
      if journal.editable_by?(User.current)
52
        links << link_to(l(:button_edit),
52
        links << link_to(icon_with_label('edit', l(:button_edit)),
53 53
                         edit_journal_path(journal),
54 54
                         :remote => true,
55 55
                         :method => 'get',
56 56
                         :title => l(:button_edit),
57
                         :class => 'icon-only icon-edit'
57
                         :class => 'icon-only icon-edit '
58 58
                        )
59
        dropbown_links << link_to(l(:button_delete),
59
        dropbown_links << link_to(icon_with_label('del', l(:button_delete)),
60 60
                                  journal_path(journal, :journal => {:notes => ""}),
61 61
                                  :remote => true,
62 62
                                  :method => 'put',
63 63
                                  :data => {:confirm => l(:text_are_you_sure)},
64
                                  :class => 'icon icon-del'
64
                                  :class => 'icon icon-del '
65 65
                                 )
66 66
      end
67 67
    end
app/helpers/my_helper.rb
34 34
  def render_block(block, user)
35 35
    content = render_block_content(block, user)
36 36
    if content.present?
37
      handle = content_tag('span', '', :class => 'icon-only icon-sort-handle sort-handle', :title => l(:button_move))
38
      close = link_to(l(:button_delete),
37
      handle = content_tag('span', icon_with_label('reorder', ''), :class => 'icon-only icon-sort-handle sort-handle', :title => l(:button_move))
38
      close = link_to(icon_with_label('close', l(:button_delete)),
39 39
                      {:action => "remove_block", :block => block},
40 40
                      :remote => true, :method => 'post',
41 41
                      :class => "icon-only icon-close", :title => l(:button_delete))
app/helpers/projects_helper.rb
63 63
  def render_project_action_links
64 64
    links = (+"").html_safe
65 65
    if User.current.allowed_to?(:add_project, nil, :global => true)
66
      links << link_to(l(:label_project_new), new_project_path, :class => 'icon icon-add')
66
      links << link_to(icon_with_label('add', l(:label_project_new)), new_project_path, :class => 'icon icon-add')
67 67
    end
68 68
    if User.current.admin?
69
      links << link_to(l(:label_administration), admin_projects_path, :class => 'icon icon-settings')
69
      links << link_to(icon_with_label('settings', l(:label_administration)), admin_projects_path, :class => 'icon icon-settings')
70 70
    end
71 71
    links
72 72
  end
......
182 182

  
183 183
    if bookmarked
184 184
      css << "icon-bookmark"
185
      icon = "bookmark"
185 186
      method = "delete"
186
      text = l(:button_project_bookmark_delete)
187
      text = icon_with_label(icon, l(:button_project_bookmark_delete))
187 188
    else
188 189
      css << "icon-bookmark-off"
190
      icon = "bookmark-off"
189 191
      method = "post"
190
      text = l(:button_project_bookmark)
192
      text = icon_with_label(icon, l(:button_project_bookmark))
191 193
    end
192 194

  
193 195
    url = bookmark_project_path(project)
app/helpers/queries_helper.rb
517 517

  
518 518
  def link_to_clear_query(params = {:set_filter => 1, :sort => '', :project_id => @project})
519 519
    link_to(
520
      l(:button_clear),
520
      icon_with_label('clear-query', l(:button_clear)),
521 521
      params,
522 522
      :class => 'icon-only icon-clear-query',
523 523
      :title => l(:button_clear)
app/helpers/versions_helper.rb
101 101
          :tracker_id => new_issue_tracker,
102 102
          :fixed_version_id => version.id
103 103
        }
104
        link_to l(:label_issue_new), new_project_issue_path(project, :issue => attrs, :back_url => version_path(version)), :class => 'icon icon-add'
104
        link_to icon_with_label('add', l(:label_issue_new)), new_project_issue_path(project, :issue => attrs, :back_url => version_path(version)), :class => 'icon icon-add'
105 105
      end
106 106
    end
107 107
  end
app/helpers/watchers_helper.rb
25 25
    return '' unless objects.any?
26 26

  
27 27
    watched = Watcher.any_watched?(objects, user)
28
    css = [watcher_css(objects), watched ? 'icon icon-fav' : 'icon icon-fav-off'].join(' ')
28
    icon = watched ? 'fav' : 'fav-off'
29
    css = [watcher_css(objects), '', 'icon', icon].join(' ')
29 30
    text = watched ? l(:button_unwatch) : l(:button_watch)
30 31
    url = watch_path(
31 32
      :object_type => objects.first.class.to_s.underscore,
......
33 34
    )
34 35
    method = watched ? 'delete' : 'post'
35 36

  
36
    link_to text, url, :remote => true, :method => method, :class => css
37
    link_to icon_with_label(icon, text), url, :remote => true, :method => method, :class => css
37 38
  end
38 39

  
39 40
  # Returns the css class used to identify watch links for a given +object+
......
61 62
               :object_id => object.id,
62 63
               :user_id => user}
63 64
        s << ' '
64
        s << link_to(l(:button_delete), url,
65
        s << link_to(icon_with_label('del', l(:button_delete)), url,
65 66
                     :remote => true, :method => 'delete',
66 67
                     :class => "delete icon-only icon-del",
67 68
                     :title => l(:button_delete))
app/views/admin/projects.html.erb
1 1
<div class="contextual">
2
<%= link_to l(:label_project_new), new_project_path, :class => 'icon icon-add' %>
2
<%= link_to icon_with_label('add', l(:label_project_new)), new_project_path, :class => 'icon icon-add' %>
3 3
</div>
4 4

  
5 5
<h2><%= @query.new_record? ? l(:label_project_plural) : @query.name %></h2>
app/views/attachments/_links.html.erb
1 1
<div class="attachments">
2 2
<div class="contextual">
3
  <%= link_to(l(:label_edit_attachments),
3
  <%= link_to(icon_with_label('edit', l(:label_edit_attachments)),
4 4
              container_attachments_edit_path(container),
5 5
              :title => l(:label_edit_attachments),
6
              :class => 'icon-only icon-edit'
6
              :class => 'icon-only icon-edit '
7 7
             ) if options[:editable] %>
8
  <%= link_to(l(:label_download_all_attachments),
8
  <%= link_to(icon_with_label('download', l(:label_download_all_attachments)),
9 9
              container_attachments_download_path(container),
10 10
              :title => l(:label_download_all_attachments),
11
              :class => 'icon-only icon-download'
11
              :class => 'icon-only icon-download '
12 12
             ) if attachments.size > 1 %>
13 13
</div>
14 14
<table>
15 15
<% for attachment in attachments %>
16 16
<tr>
17 17
  <td>
18
    <%= link_to_attachment attachment, class: 'icon icon-attachment' -%>
18
    <%= link_to_attachment attachment, class: 'icon icon-attachment ' -%>
19 19
    <span class="size">(<%= number_to_human_size attachment.filesize %>)</span>
20
    <%= link_to_attachment attachment, class: 'icon-only icon-download', title: l(:button_download), download: true -%>
20
    <%= link_to_attachment attachment, class: 'icon-only icon-download ', title: l(:button_download), download: true -%>
21 21
  </td>
22 22
  <td><%= attachment.description unless attachment.description.blank? %></td>
23 23
  <td>
......
27 27
  </td>
28 28
  <td>
29 29
    <% if options[:deletable] %>
30
      <%= link_to l(:button_delete), attachment_path(attachment),
30
      <%= link_to icon_with_label('del', l(:button_delete)), attachment_path(attachment),
31 31
                  :data => {:confirm => l(:text_are_you_sure)},
32 32
                  :method => :delete,
33
                  :class => 'delete icon-only icon-del',
33
                  :class => 'delete icon-only icon-del ',
34 34
                  :title => l(:button_delete) %>
35 35
    <% end %>
36 36
  </td>
app/views/auth_sources/index.html.erb
1 1
<div class="contextual">
2
<%= link_to l(:label_auth_source_new), {:action => 'new'}, :class => 'icon icon-add' %>
2
<%= link_to icon_with_label('add', l(:label_auth_source_new)), {:action => 'new'}, :class => 'icon icon-add' %>
3 3
</div>
4 4

  
5 5
<%= title l(:label_auth_source_plural) %>
......
20 20
    <td><%= source.host %></td>
21 21
    <td><%= source.users.count %></td>
22 22
    <td class="buttons">
23
      <%= link_to l(:button_test), try_connection_auth_source_path(source), :class => 'icon icon-test' %>
23
      <%= link_to icon_with_label('arrow-right', l(:button_test)), try_connection_auth_source_path(source), :class => 'icon icon-test' %>
24 24
      <%= delete_link auth_source_path(source) %>
25 25
    </td>
26 26
  </tr>
app/views/boards/index.html.erb
1 1
<div class="contextual">
2
  <%= link_to_if_authorized l(:label_settings),
2
  <%= link_to_if_authorized icon_with_label('settings', l(:label_settings)),
3 3
              {:controller => 'projects', :action => 'settings', :id => @project, :tab => 'boards'},
4 4
              :class => 'icon icon-settings' if User.current.allowed_to?(:manage_boards, @project) %>
5 5
</div>
app/views/boards/show.html.erb
1 1
<%= board_breadcrumb(@board) %>
2 2

  
3 3
<div class="contextual">
4
<%= link_to l(:label_message_new),
4
<%= link_to icon_with_label('add', l(:label_message_new)),
5 5
            new_board_message_path(@board),
6 6
            :class => 'icon icon-add',
7 7
            :onclick => 'showAndScrollTo("add-message", "message_subject"); return false;' if User.current.allowed_to?(:add_messages, @board.project) %>
8 8
<%= watcher_link(@board, User.current) %>
9
<%= link_to_if_authorized l(:label_settings),
9
<%= link_to_if_authorized icon_with_label('settings', l(:label_settings)),
10 10
            {:controller => 'projects', :action => 'settings', :id => @project, :tab => 'boards'},
11 11
            :class => 'icon icon-settings' if User.current.allowed_to?(:manage_boards, @project) %>
12 12

  
app/views/calendars/show.html.erb
32 32
  <%= label_tag('year', l(:label_year)) %>
33 33
  <%= select_year(@year, :prefix => "year", :discard_type => true) %>
34 34

  
35
  <%= link_to_function l(:button_apply), '$("#query_form").submit()', :class => 'icon icon-checked' %>
36
  <%= link_to l(:button_clear), { :project_id => @project, :set_filter => 1 }, :class => 'icon icon-reload' %>
35
  <%= link_to_function icon_with_label('checked', l(:button_apply)), '$("#query_form").submit()', :class => 'icon icon-checked' %>
36
  <%= link_to icon_with_label('reload', l(:button_clear)), { :project_id => @project, :set_filter => 1 }, :class => 'icon icon-reload' %>
37 37
  <% if @query.new_record? && User.current.allowed_to?(:save_queries, @project, :global => true) %>
38
    <%= link_to_function l(:button_save_object, object_name: l(:label_query).downcase),
38
    <%= link_to_function icon_with_label('save', l(:button_save_object, object_name: l(:label_query).downcase)),
39 39
                         "$('#query_form').attr('action', '#{ @project ? new_project_query_path(@project) : new_query_path }').submit();",
40 40
                         :class => 'icon icon-save' %>
41 41
  <% end %>
42 42
  <% if !@query.new_record? && @query.editable_by?(User.current) %>
43
    <%= link_to l(:button_edit_object, object_name: l(:label_query).downcase), edit_query_path(@query, :calendar => 1), :class => 'icon icon-edit' %>
43
    <%= link_to icon_with_label('edit', l(:button_edit_object, object_name: l(:label_query).downcase)), edit_query_path(@query, :calendar => 1), :class => 'icon icon-edit' %>
44 44
    <%= delete_link query_path(@query, :calendar => 1), {}, l(:button_delete_object, object_name: l(:label_query).downcase) %>
45 45
  <% end %>
46 46
</p>
app/views/context_menus/issues.html.erb
2 2
  <%= call_hook(:view_issues_context_menu_start, {:issues => @issues, :can => @can, :back => @back }) %>
3 3

  
4 4
  <% if @issue -%>
5
    <li><%= context_menu_link l(:button_edit), edit_issue_path(@issue),
5
    <li><%= context_menu_link icon_with_label('edit', l(:button_edit)), edit_issue_path(@issue),
6 6
            :class => 'icon icon-edit', :disabled => !@can[:edit] %></li>
7 7
  <% else %>
8
    <li><%= context_menu_link l(:label_bulk_edit), bulk_edit_issues_path(:ids => @issue_ids),
8
    <li><%= context_menu_link icon_with_label('edit', l(:label_bulk_edit)), bulk_edit_issues_path(:ids => @issue_ids),
9 9
            :class => 'icon icon-edit', :disabled => !@can[:edit] %></li>
10 10
  <% end %>
11 11

  
......
130 130
  <li class="folder">
131 131
    <a href="#" class="submenu"><%= l(:label_issue_watchers) %></a>
132 132
    <ul>
133
      <li><%= context_menu_link l(:button_add),
133
      <li><%= context_menu_link icon_with_label('add', l(:button_add)),
134 134
                new_watchers_path(:object_type => 'issue', :object_id => @issue_ids),
135 135
                :remote => true,
136 136
                :class => 'icon icon-add' %></li>
......
143 143
<% end %>
144 144

  
145 145
<% unless @issue %>
146
  <li><%= context_menu_link l(:button_filter), _project_issues_path(@project, :set_filter => 1, :status_id => "*", :issue_id => @issue_ids.join(","), :c => @columns),
146
  <li><%= context_menu_link icon_with_label('list', l(:button_filter)), _project_issues_path(@project, :set_filter => 1, :status_id => "*", :issue_id => @issue_ids.join(","), :c => @columns),
147 147
          :class => 'icon icon-list' %></li>
148 148
<% end %>
149 149

  
150 150
<% if @issue.present? %>
151 151
  <% if @can[:log_time] -%>
152
  <li><%= context_menu_link l(:button_log_time), new_issue_time_entry_path(@issue),
152
  <li><%= context_menu_link icon_with_label('time', l(:button_log_time)), new_issue_time_entry_path(@issue),
153 153
          :class => 'icon icon-time-add' %></li>
154 154
  <% end %>
155 155
  <% if @can[:add_subtask] -%>
156
  <li><%= context_menu_link l(:button_add_subtask), url_for_new_subtask(@issue),
156
  <li><%= context_menu_link icon_with_label('add', l(:button_add_subtask)), url_for_new_subtask(@issue),
157 157
          :class => 'icon icon-add' %></li>
158 158
  <% end %>
159 159
  <li><%= copy_object_url_link(issue_url(@issue)) %></li>
160
  <li><%= context_menu_link l(:button_copy), project_copy_issue_path(@project, @issue),
160
  <li><%= context_menu_link icon_with_label('copy', l(:button_copy)), project_copy_issue_path(@project, @issue),
161 161
          :class => 'icon icon-copy', :disabled => !@can[:copy] %></li>
162 162
<% else %>
163 163
  <li><%= copy_object_url_link(_project_issues_url(@project, set_filter: 1, status_id: '*', issue_id: @issue_ids.join(','))) %></li>
164
  <li><%= context_menu_link l(:button_copy), bulk_edit_issues_path(:ids => @issue_ids, :copy => '1'),
164
  <li><%= context_menu_link icon_with_label('copy', l(:button_copy)), bulk_edit_issues_path(:ids => @issue_ids, :copy => '1'),
165 165
                          :class => 'icon icon-copy', :disabled => !@can[:copy] %></li>
166 166
<% end %>
167
  <li><%= context_menu_link l(:button_delete_object, object_name: (@issue_ids.size > 1 ? l(:label_issue_plural) : l(:label_issue)).downcase), issues_path(:ids => @issue_ids, :back_url => @back),
167
  <li><%= context_menu_link icon_with_label('del', l(:button_delete_object, object_name: (@issue_ids.size > 1 ? l(:label_issue_plural) : l(:label_issue)).downcase)), issues_path(:ids => @issue_ids, :back_url => @back),
168 168
                            :method => :delete, :data => {:confirm => issues_destroy_confirmation_message(@issues)}, :class => 'icon icon-del', :disabled => !@can[:delete] %></li>
169 169

  
170 170
  <%= call_hook(:view_issues_context_menu_end, {:issues => @issues, :can => @can, :back => @back }) %>
app/views/context_menus/projects.html.erb
6 6
      <li><%= context_menu_link l(:button_archive), archive_project_path(@project), data: {confirm: l(:text_project_archive_confirmation, @project.to_s)}, method: :post, class: 'icon icon-lock' %></li>
7 7
    <% end %>
8 8
    <li>
9
      <%= context_menu_link l(:button_copy), copy_project_path(@projects), class: 'icon icon-copy' %>
9
      <%= context_menu_link icon_with_label('copy', l(:button_copy)), copy_project_path(@projects), class: 'icon icon-copy' %>
10 10
    </li>
11 11
    <li>
12 12
      <%= context_menu_link l(:button_delete), project_path(@project, back_url: @back), method: :delete, class: 'icon icon-del' %>
app/views/context_menus/time_entries.html.erb
1 1
<ul>
2 2
  <% if !@time_entry.nil? -%>
3
    <li><%= context_menu_link l(:button_edit), {:controller => 'timelog', :action => 'edit', :id => @time_entry},
3
    <li><%= context_menu_link icon_with_label('edit', l(:button_edit)), {:controller => 'timelog', :action => 'edit', :id => @time_entry},
4 4
            :class => 'icon icon-edit', :disabled => !@can[:edit] %></li>
5 5
  <% else %>
6
    <li><%= context_menu_link l(:label_bulk_edit), {:controller => 'timelog', :action => 'bulk_edit', :ids => @time_entries.collect(&:id)},
6
    <li><%= context_menu_link icon_with_label('edit', l(:label_bulk_edit)), {:controller => 'timelog', :action => 'bulk_edit', :ids => @time_entries.collect(&:id)},
7 7
            :class => 'icon icon-edit', :disabled => !@can[:edit] %></li>
8 8
  <% end %>
9 9

  
......
38 38
  <%= call_hook(:view_time_entries_context_menu_end, {:time_entries => @time_entries, :can => @can, :back => @back }) %>
39 39

  
40 40
  <li>
41
    <%= context_menu_link l(:button_delete),
41
    <%= context_menu_link icon_with_label('del', l(:button_delete)),
42 42
      {:controller => 'timelog', :action => 'destroy', :ids => @time_entries.collect(&:id), :back_url => @back},
43 43
      :method => :delete, :data => {:confirm => l(:text_time_entries_destroy_confirmation)}, :class => 'icon icon-del', :disabled => !@can[:delete] %>
44 44
  </li>
app/views/context_menus/users.html.erb
11 11
    <% end %>
12 12

  
13 13
    <li>
14
      <%= context_menu_link l(:button_edit), edit_user_path(@user, back_url: @back), class: 'icon icon-edit' %>
14
      <%= context_menu_link icon_with_label('edit', l(:button_edit)), edit_user_path(@user, back_url: @back), class: 'icon icon-edit' %>
15 15
    </li>
16 16

  
17 17
    <% unless User.current == @user %>
app/views/custom_fields/_index.html.erb
22 22
      <% end %>
23 23
      <td class="buttons">
24 24
        <%= reorder_handle(custom_field, :url => custom_field_path(custom_field), :param => 'custom_field') %>
25
        <%= link_to_function l(:button_copy), "location.href = '#{new_custom_field_path(:copy => custom_field)}&type=' + encodeURIComponent(($('.tabs a.selected').attr('id')||'').split('tab-').pop())", :class => 'icon icon-copy' %>
25
        <%= link_to_function icon_with_label('copy', l(:button_copy)), "location.href = '#{new_custom_field_path(:copy => custom_field)}&type=' + encodeURIComponent(($('.tabs a.selected').attr('id')||'').split('tab-').pop())", :class => 'icon icon-copy' %>
26 26
        <%= delete_link custom_field_path(custom_field) %>
27 27
      </td>
28 28
    </tr>
app/views/custom_fields/formats/_enumeration.erb
1 1
<% unless @custom_field.new_record? %>
2 2
<p>
3 3
  <label><%= l(:field_possible_values) %></label>
4
  <%= link_to l(:button_edit), custom_field_enumerations_path(@custom_field), :class => 'icon icon-edit' %>
4
  <%= link_to icon_with_label('edit', l(:button_edit)), custom_field_enumerations_path(@custom_field), :class => 'icon icon-edit' %>
5 5
</p>
6 6
<% if @custom_field.enumerations.active.any? %>
7 7
  <p><%= f.select :default_value, @custom_field.enumerations.active.map{|v| [v.name, v.id.to_s]}, :include_blank => true %></p>
app/views/custom_fields/index.html.erb
1 1
<div class="contextual">
2
<%= link_to_function l(:label_custom_field_new), "location.href = '#{new_custom_field_path}?tab=' + encodeURIComponent(($('.tabs a.selected').attr('id')||'').split('tab-').pop())", :class => 'icon icon-add' %>
2
<%= link_to_function icon_with_label('add', l(:label_custom_field_new)), "location.href = '#{new_custom_field_path}?tab=' + encodeURIComponent(($('.tabs a.selected').attr('id')||'').split('tab-').pop())", :class => 'icon icon-add' %>
3 3
</div>
4 4

  
5 5
<%= title l(:label_custom_field_plural) %>
......
12 12

  
13 13
<%= javascript_tag do %>
14 14
  $(function() { $("table.custom_fields tbody").positionedItems(); });
15
<% end %>
15
<% end %>
app/views/documents/index.html.erb
1 1
<div class="contextual">
2
<%= link_to l(:label_document_new), new_project_document_path(@project), :class => 'icon icon-add',
2
<%= link_to icon_with_label('add', l(:label_document_new)), new_project_document_path(@project), :class => 'icon icon-add',
3 3
      :onclick => 'showAndScrollTo("add-document", "document_title"); return false;' if User.current.allowed_to?(:add_documents, @project) %>
4 4
</div>
5 5

  
app/views/documents/show.html.erb
1 1
<div class="contextual">
2 2
<% if User.current.allowed_to?(:edit_documents, @project) %>
3
<%= link_to l(:button_edit), edit_document_path(@document), :class => 'icon icon-edit', :accesskey => accesskey(:edit) %>
3
<%= link_to icon_with_label('edit', l(:button_edit)), edit_document_path(@document), :class => 'icon icon-edit', :accesskey => accesskey(:edit) %>
4 4
<% end %>
5 5
<% if User.current.allowed_to?(:delete_documents, @project) %>
6 6
<%= delete_link document_path(@document) %>
app/views/enumerations/index.html.erb
5 5

  
6 6
<% enumerations = klass.shared %>
7 7

  
8
<p><%= link_to l(:label_enumeration_new), new_enumeration_path(:type => klass.name), :class => 'icon icon-add' %></p>
8
<p><%= link_to icon_with_label('add', l(:label_enumeration_new)), new_enumeration_path(:type => klass.name), :class => 'icon icon-add' %></p>
9 9

  
10 10
<% if enumerations.any? %>
11 11
<table class="list enumerations"><thead>
......
36 36

  
37 37
<%= javascript_tag do %>
38 38
  $(function() { $("table.enumerations tbody").positionedItems(); });
39
<% end %>
39
<% end %>
app/views/files/index.html.erb
1 1
<div class="contextual">
2
<%= link_to(l(:label_attachment_new), new_project_file_path(@project), :class => 'icon icon-add') if User.current.allowed_to?(:manage_files, @project) %>
2
<%= link_to(icon_with_label('add', l(:label_attachment_new)), new_project_file_path(@project), :class => 'icon icon-add') if User.current.allowed_to?(:manage_files, @project) %>
3 3
</div>
4 4

  
5 5
<h2><%=l(:label_attachment_plural)%></h2>
......
35 35
      <td class="digest"><%= file.digest_type %>: <%= file.digest %></td>
36 36
      <td class="buttons">
37 37
      <%= link_to_attachment file, class: 'icon-only icon-download', title: l(:button_download), download: true %>
38
      <%= link_to(l(:button_delete), attachment_path(file), :class => 'icon-only icon-del',
38
      <%= link_to(icon_with_label('del', l(:button_delete)), attachment_path(file), :class => 'icon-only icon-del',
39 39
                                          :data => {:confirm => l(:text_are_you_sure)}, :method => :delete) if delete_allowed %>
40 40
      </td>
41 41
    </tr>
app/views/gantts/show.html.erb
83 83
  <%= select_year(@gantt.year_from, :prefix => "year", :discard_type => true) %>
84 84
  <%= hidden_field_tag 'zoom', @gantt.zoom %>
85 85

  
86
  <%= link_to_function l(:button_apply), '$("#query_form").submit()',
86
  <%= link_to_function icon_with_label('checked', l(:button_apply)), '$("#query_form").submit()',
87 87
                       :class => 'icon icon-checked' %>
88
  <%= link_to l(:button_clear), { :project_id => @project, :set_filter => 1 },
88
  <%= link_to icon_with_label('reload', l(:button_clear)), { :project_id => @project, :set_filter => 1 },
89 89
              :class => 'icon icon-reload' %>
90 90
  <% if @query.new_record? && User.current.allowed_to?(:save_queries, @project, :global => true) %>
91
    <%= link_to_function l(:button_save_object, object_name: l(:label_query).downcase),
91
    <%= link_to_function icon_with_label('save', l(:button_save_object, object_name: l(:label_query).downcase)),
92 92
                         "$('#query_form').attr('action', '#{ @project ? new_project_query_path(@project) : new_query_path }').submit();",
93 93
                         :class => 'icon icon-save' %>
94 94
  <% end %>
95 95
<% if !@query.new_record? && @query.editable_by?(User.current) %>
96
  <%= link_to l(:button_edit_object, object_name: l(:label_query).downcase), edit_query_path(@query, :gantt => 1), :class => 'icon icon-edit' %>
96
  <%= link_to icon_with_label('edit', l(:button_edit_object, object_name: l(:label_query).downcase)), edit_query_path(@query, :gantt => 1), :class => 'icon icon-edit' %>
97 97
  <%= delete_link query_path(@query, :gantt => 1), {}, l(:button_delete_object, object_name: l(:label_query).downcase) %>
98 98
<% end %>
99 99
</p>
app/views/groups/_users.html.erb
1
<p><%= link_to l(:label_user_new), new_group_users_path(@group), :remote => true, :class => "icon icon-add" %></p>
1
<p><%= link_to icon_with_label('add', l(:label_user_new)), new_group_users_path(@group), :remote => true, :class => "icon icon-add" %></p>
2 2

  
3 3
<% if @group.users.any? %>
4 4
  <table class="list users">
app/views/groups/index.html.erb
1 1
<div class="contextual">
2
<%= link_to l(:label_group_new), new_group_path, :class => 'icon icon-add' %>
2
<%= link_to icon_with_label('add', l(:label_group_new)), new_group_path, :class => 'icon icon-add' %>
3 3
</div>
4 4

  
5 5
<%= title l(:label_group_plural) %>
......
9 9
  <label for='name'><%= l(:label_group) %>:</label>
10 10
  <%= text_field_tag 'name', params[:name], :size => 30 %>
11 11
  <%= submit_tag l(:button_apply), :class => "small", :name => nil %>
12
  <%= link_to l(:button_clear), groups_path, :class => 'icon icon-reload' %>
12
  <%= link_to icon_with_label('reload', l(:button_clear)), groups_path, :class => 'icon icon-reload' %>
13 13
  </fieldset>
14 14
<% end %>
15 15
&nbsp;
app/views/groups/show.html.erb
1 1
<div class="contextual">
2
<%= link_to(l(:button_edit), edit_group_path(@group), :class => 'icon icon-edit') if User.current.admin? %>
2
<%= link_to(icon_with_label('edit', l(:button_edit)), edit_group_path(@group), :class => 'icon icon-edit') if User.current.admin? %>
3 3
</div>
4 4

  
5 5
<h2><%= @group.name %></h2>
app/views/issue_statuses/index.html.erb
1 1
<div class="contextual">
2
<%= link_to l(:label_issue_status_new), new_issue_status_path, :class => 'icon icon-add' %>
3
<%= link_to(l(:label_update_issue_done_ratios), update_issue_done_ratio_issue_statuses_path, :class => 'icon icon-multiple', :method => 'post', :data => {:confirm => l(:text_are_you_sure)}) if Issue.use_status_for_done_ratio? %>
2
<%= link_to(icon_with_label('add', l(:label_issue_status_new)), new_issue_status_path, :class => 'icon icon-add') %>
3
<%= link_to(icon_with_label('multiple', l(:label_update_issue_done_ratios)), update_issue_done_ratio_issue_statuses_path, :class => 'icon icon-multiple', :method => 'post', :data => {:confirm => l(:text_are_you_sure)}) if Issue.use_status_for_done_ratio? %>
4 4
</div>
5 5

  
6 6
<h2><%=l(:label_issue_status_plural)%></h2>
app/views/issues/_action_menu.html.erb
1 1
<div class="contextual">
2
<%= link_to l(:button_edit), edit_issue_path(@issue),
2
<%= link_to icon_with_label('edit', l(:button_edit)), edit_issue_path(@issue),
3 3
            :onclick => 'showAndScrollTo("update", "issue_notes"); return false;',
4
            :class => 'icon icon-edit', :accesskey => accesskey(:edit) if @issue.editable? %>
5
<%= link_to l(:button_log_time), new_issue_time_entry_path(@issue),
6
            :class => 'icon icon-time-add' if User.current.allowed_to?(:log_time, @project) %>
4
            :class => 'icon icon-edit ', :accesskey => accesskey(:edit) if @issue.editable? %>
5
<%= link_to icon_with_label('time', l(:button_log_time)), new_issue_time_entry_path(@issue),
6
            :class => 'icon icon-time-add ' if User.current.allowed_to?(:log_time, @project) %>
7 7
<%= watcher_link(@issue, User.current) %>
8
<%= link_to l(:button_copy), project_copy_issue_path(@project, @issue),
9
            :class => 'icon icon-copy' if User.current.allowed_to?(:copy_issues, @project) && Issue.allowed_target_projects.any? %>
8
<%= link_to icon_with_label('copy', l(:button_copy)), project_copy_issue_path(@project, @issue),
9
            :class => 'icon icon-copy ' if User.current.allowed_to?(:copy_issues, @project) && Issue.allowed_target_projects.any? %>
10 10
<%= actions_dropdown do %>
11 11
  <%= copy_object_url_link(issue_url(@issue, only_path: false)) %>
12
  <%= link_to l(:button_delete_object, object_name: l(:label_issue).downcase), issue_path(@issue),
12
  <%= link_to icon_with_label('del', l(:button_delete_object, object_name: l(:label_issue).downcase)), issue_path(@issue),
13 13
              :data => {:confirm => issues_destroy_confirmation_message(@issue)},
14
              :method => :delete, :class => 'icon icon-del' if @issue.deletable? %>
14
              :method => :delete, :class => 'icon icon-del ' if @issue.deletable? %>
15 15
<% end %>
16 16
</div>
app/views/issues/_attributes.html.erb
7 7
  <%= f.select :status_id, (@allowed_statuses.collect {|p| [p.name, p.id]}), {:required => true},
8 8
    :onchange => "updateIssueFrom('#{escape_javascript(update_issue_form_path(@project, @issue))}', this)",
9 9
    :title => @issue.status.description %>
10
  <%= content_tag 'a', l(:label_open_issue_statuses_description), :class => 'icon-only icon-help', :title => l(:label_open_issue_statuses_description), :onclick => "showModal('issue_statuses_description', '500px'); return false;", :href => '#' if @allowed_statuses.any? {|s| s.description.present? } %>
10
  <%= content_tag 'a', icon_with_label('help', l(:label_open_issue_statuses_description)), :class => 'icon-only icon-help', :title => l(:label_open_issue_statuses_description), :onclick => "showModal('issue_statuses_description', '500px'); return false;", :href => '#' if @allowed_statuses.any? {|s| s.description.present? } %>
11 11
  <% if @issue.transition_warning %>
12 12
    <span class="icon-only icon-warning" title="<%= @issue.transition_warning %>"><%= @issue.transition_warning %></span>
13 13
  <% end %>
......
36 36
<p><%= f.select :category_id, category_options,
37 37
                {:include_blank => true, :required => @issue.required_attribute?('category_id')},
38 38
                 :onchange => ("updateIssueFrom('#{escape_javascript(update_issue_form_path(@project, @issue))}', this)" if @issue.new_record?) %>
39
<%= link_to(l(:label_issue_category_new),
39
<%= link_to(icon_with_label('add', l(:label_issue_category_new)),
40 40
            new_project_issue_category_path(@issue.project),
41 41
            :remote => true,
42 42
            :method => 'get',
......
49 49
<% if @issue.safe_attribute?('fixed_version_id') && @issue.assignable_versions.any? %>
50 50
<p><%= f.select :fixed_version_id, version_options_for_select(@issue.assignable_versions, @issue.fixed_version),
51 51
                :include_blank => true, :required => @issue.required_attribute?('fixed_version_id') %>
52
<%= link_to(l(:label_version_new),
52
<%= link_to(icon_with_label('add', l(:label_version_new)),
53 53
            new_project_version_path(@issue.project),
54 54
            :remote => true,
55 55
            :method => 'get',
app/views/issues/_form.html.erb
20 20
  <%= f.select :tracker_id, trackers_options_for_select(@issue), {:required => true},
21 21
               :onchange => "updateIssueFrom('#{escape_javascript update_issue_form_path(@project, @issue)}', this)",
22 22
               :title => @issue.tracker.description %>
23
  <%= content_tag 'a', l(:label_open_trackers_description), :class => 'icon-only icon-help', :title => l(:label_open_trackers_description), :onclick => "showModal('trackers_description', '500px'); return false;", :href => '#' if trackers_for_select(@issue).any? {|t| t.description.present? } %>
23
  <%= content_tag 'a', icon_with_label('help', l(:label_open_trackers_description)), :class => 'icon-only icon-help', :title => l(:label_open_trackers_description), :onclick => "showModal('trackers_description', '500px'); return false;", :href => '#' if trackers_for_select(@issue).any? {|t| t.description.present? } %>
24 24
</p>
25 25
  <%= render partial: 'issues/trackers_description', locals: {trackers: trackers_for_select(@issue)} %>
26 26
<% end %>
......
40 40
                   },
41 41
                   :no_label => true %>
42 42
  <% end %>
43
  <%= link_to_function content_tag(:span, l(:button_edit), :class => 'icon icon-edit'), '$(this).hide(); $("#issue_description_and_toolbar").show()' unless @issue.new_record? %>
43
  <%= link_to_function content_tag(:span, icon_with_label('edit', l(:button_edit)), :class => 'icon icon-edit'), '$(this).hide(); $("#issue_description_and_toolbar").show()' unless @issue.new_record? %>
44 44
</p>
45 45
<%= wikitoolbar_for 'issue_description', preview_issue_path(:project_id => @issue.project, :issue_id => @issue.id) %>
46 46
<% end %>
app/views/issues/index.html.erb
1 1
<div class="contextual">
2 2
  <% if User.current.allowed_to?(:add_issues, @project, :global => true) && (@project.nil? || Issue.allowed_target_trackers(@project).any?) %>
3
    <%= link_to l(:label_issue_new), _new_project_issue_path(@project), :class => 'icon icon-add new-issue' %>
3
    <%= link_to icon_with_label('add', l(:label_issue_new)), _new_project_issue_path(@project), :class => 'icon icon-add new-issue' %>
4 4
  <% end %>
5 5
  <%= actions_dropdown do %>
6 6
    <% if @project %>
7
      <%= link_to l(:field_summary), project_issues_report_path(@project), :class => 'icon icon-stats' %>
7
      <%= link_to icon_with_label('summary', l(:field_summary)), project_issues_report_path(@project), :class => 'icon icon-stats' %>
8 8
    <% end %>
9 9

  
10 10
    <% if User.current.allowed_to?(:import_issues, @project, :global => true) %>
11
      <%= link_to l(:button_import), new_issues_import_path(:project_id => @project), :class => 'icon icon-import' %>
11
      <%= link_to icon_with_label('import', l(:button_import)), new_issues_import_path(:project_id => @project), :class => 'icon icon-import' %>
12 12
    <% end %>
13 13

  
14
    <%= link_to_if_authorized l(:label_settings),
14
    <%= link_to_if_authorized icon_with_label('settings', l(:label_settings)),
15 15
              {:controller => 'projects', :action => 'settings', :id => @project, :tab => 'issues'},
16 16
              :class => 'icon icon-settings' if User.current.allowed_to?(:edit_project, @project) %>
17 17
  <% end %>
app/views/issues/show.html.erb
84 84
<hr />
85 85
<div class="description">
86 86
  <div class="contextual">
87
  <%= link_to l(:button_quote), quoted_issue_path(@issue), :remote => true, :method => 'post', :class => 'icon icon-comment' if @issue.notes_addable? %>
87
  <%= link_to icon_with_label('comment', l(:button_quote)), quoted_issue_path(@issue), :remote => true, :method => 'post', :class => 'icon icon-comment ' if @issue.notes_addable? %>
88 88
  </div>
89 89

  
90 90
  <p><strong><%=l(:field_description)%></strong></p>
app/views/issues/tabs/_time_entries.html.erb
4 4
    <% if time_entry.editable_by?(User.current) -%>
5 5
      <div class="contextual">
6 6
        <span class="journal-actions">
7
        <%= link_to l(:button_edit), edit_time_entry_path(time_entry),
7
        <%= link_to icon_with_label('edit', l(:button_edit)), edit_time_entry_path(time_entry),
8 8
                    :title => l(:button_edit),
... This diff was truncated because it exceeds the maximum size that can be displayed.
(38-38/54)