Bug 1779474 - Implement Supernova icons in calendar view r=Paenglab

Differential Revision: https://phabricator.services.mozilla.com/D151760
This commit is contained in:
Micah Ilbery 2022-07-14 15:32:18 +00:00
Родитель d6fb0ca4c7
Коммит 309d4f911a
18 изменённых файлов: 91 добавлений и 28 удалений

Просмотреть файл

@ -324,14 +324,14 @@
if (item.parentItem.recurrenceInfo.getExceptionFor(item.recurrenceId)) {
recurrenceIcon.setAttribute(
"src",
"chrome://calendar/skin/shared/icons/recurrence-exception.svg"
"chrome://messenger/skin/icons/new/recurrence-exception.svg"
);
document.l10n.setAttributes(
recurrenceIcon,
"calendar-editable-item-recurrence-exception"
);
} else {
recurrenceIcon.setAttribute("src", "chrome://calendar/skin/shared/icons/recurrence.svg");
recurrenceIcon.setAttribute("src", "chrome://messenger/skin/icons/new/recurrence.svg");
document.l10n.setAttributes(recurrenceIcon, "calendar-editable-item-recurrence");
}
recurrenceIcon.hidden = false;

Просмотреть файл

@ -100,11 +100,11 @@ function updatedCalendarReadStatus(item) {
let calendarName = item.querySelector(".calendar-name").textContent;
let image = item.querySelector("img.calendar-readstatus");
if (item.hasAttribute("calendar-readfailed")) {
image.setAttribute("src", "chrome://calendar/skin/shared/icons/warn.svg");
image.setAttribute("src", "chrome://messenger/skin/icons/new/compact/warning.svg");
let tooltip = cal.l10n.getCalString("tooltipCalendarDisabled", [calendarName]);
image.setAttribute("title", tooltip);
} else if (item.hasAttribute("calendar-readonly")) {
image.setAttribute("src", "chrome://calendar/skin/shared/icons/locked.svg");
image.setAttribute("src", "chrome://messenger/skin/icons/new/compact/lock.svg");
let tooltip = cal.l10n.getCalString("tooltipCalendarReadOnly", [calendarName]);
image.setAttribute("title", tooltip);
} else {

Просмотреть файл

@ -198,7 +198,7 @@
<li draggable="true" role="option">
<div class="calendar-color"></div>
<div class="calendar-name"></div>
<img class="calendar-readstatus" src="chrome://calendar/skin/shared/icons/locked.svg" />
<img class="calendar-readstatus" src="chrome://messenger/skin/icons/new/compact/lock.svg" />
<button class="calendar-enable-button"></button>
<input type="checkbox" class="calendar-displayed" />
</li>

Просмотреть файл

@ -218,15 +218,15 @@ function setupListItem(aListItem, aReminder, aItem) {
let l10nId;
switch (aReminder.action) {
case "DISPLAY":
src = "chrome://calendar/skin/shared/icons/alarm.svg";
src = "chrome://messenger/skin/icons/new/bell.svg";
l10nId = "calendar-event-reminder-icon-display";
break;
case "EMAIL":
src = "chrome://calendar/skin/shared/icons/email.svg";
src = "chrome://messenger/skin/icons/new/mail-sm.svg";
l10nId = "calendar-event-reminder-icon-email";
break;
case "AUDIO":
src = "chrome://global/skin/media/audio.svg";
src = "chrome://messenger/skin/icons/new/bell-ring.svg";
l10nId = "calendar-event-reminder-icon-audio";
break;
default:

Просмотреть файл

@ -158,19 +158,19 @@ var calalarms = {
switch (reminder.action) {
case "DISPLAY":
if (suppressed) {
src = "chrome://calendar/skin/shared/icons/alarm-no.svg";
src = "chrome://messenger/skin/icons/new/bell-disabled.svg";
l10nId = "calendar-editable-item-reminder-icon-suppressed-alarm";
} else {
src = "chrome://calendar/skin/shared/icons/alarm.svg";
src = "chrome://messenger/skin/icons/new/bell.svg";
l10nId = "calendar-editable-item-reminder-icon-alarm";
}
break;
case "EMAIL":
src = "chrome://calendar/skin/shared/icons/email.svg";
src = "chrome://messenger/skin/icons/new/mail-sm.svg";
l10nId = "calendar-editable-item-reminder-icon-email";
break;
case "AUDIO":
src = "chrome://global/skin/media/audio.svg";
src = "chrome://messenger/skin/icons/new/bell-ring.svg";
l10nId = "calendar-editable-item-reminder-icon-audio";
break;
default:

Просмотреть файл

@ -10,21 +10,23 @@
* Reminder icons (used from the event dialog, reminder dialog, views, ...)
*/
.reminder-icon,
.reminder-list-icon {
-moz-context-properties: fill;
fill: currentColor;
.reminder-list-icon .menu-iconic-left,
.reminder-list-icon::part(icon) {
-moz-context-properties: fill, stroke;
fill: color-mix(in srgb, currentColor 20%, transparent);
stroke: currentColor;
}
.reminder-list-icon[value="DISPLAY"] {
list-style-image: url(chrome://calendar/skin/shared/icons/alarm.svg);
list-style-image: var(--icon-bell)
}
.reminder-list-icon[value="EMAIL"] {
list-style-image: url(chrome://calendar/skin/shared/icons/email.svg);
list-style-image: var(--icon-mail-sm);
}
.reminder-list-icon[value="AUDIO"] {
list-style-image: url(chrome://global/skin/media/audio.svg);
list-style-image: var(--icon-bell-ring);
}
.alarm-icons-box[flashing="true"] > .reminder-icon[value="DISPLAY"] {

Просмотреть файл

@ -221,8 +221,8 @@
.item-classification-icon,
.item-recurrence-icon {
-moz-context-properties: fill;
fill: currentColor;
-moz-context-properties: stroke;
stroke: currentColor;
pointer-events: none;
}

Просмотреть файл

@ -291,9 +291,9 @@ checkbox.treenode-checkbox > .checkbox-label-center-box > .checkbox-label-box >
width: 16px;
height: 16px;
margin: 0 2px;
-moz-context-properties: fill;
fill: currentColor;
opacity: 0.7;
-moz-context-properties: fill, stroke;
fill: color-mix(in srgb, currentColor 20%, transparent);
stroke: currentColor;
}
#calendar-list > li > .calendar-readstatus:not([src]) {

Просмотреть файл

@ -35,7 +35,7 @@ add_task(async function testWeeklyWithExceptionRecurrence() {
let eventItem = await dayView.waitForEventBoxAt(window, 1);
let icon = eventItem.querySelector(".item-recurrence-icon");
Assert.equal(icon.src, "chrome://calendar/skin/shared/icons/recurrence.svg");
Assert.equal(icon.src, "chrome://messenger/skin/icons/new/recurrence.svg");
Assert.ok(!icon.hidden);
// Move 5th January occurrence to 6th January.
@ -50,7 +50,7 @@ add_task(async function testWeeklyWithExceptionRecurrence() {
await CalendarTestUtils.goToDate(window, 2009, 1, 6);
eventItem = await dayView.waitForEventBoxAt(window, 1);
icon = eventItem.querySelector(".item-recurrence-icon");
Assert.equal(icon.src, "chrome://calendar/skin/shared/icons/recurrence-exception.svg");
Assert.equal(icon.src, "chrome://messenger/skin/icons/new/recurrence-exception.svg");
// Change recurrence rule.
await CalendarTestUtils.goToDate(window, 2009, 1, 7);
@ -110,7 +110,7 @@ add_task(async function testWeeklyWithExceptionRecurrence() {
// Wait for the last occurrence because this appears last.
eventItem = await weekView.waitForEventBoxAt(window, 6, 1);
icon = eventItem.querySelector(".item-recurrence-icon");
Assert.equal(icon.src, "chrome://calendar/skin/shared/icons/recurrence.svg");
Assert.equal(icon.src, "chrome://messenger/skin/icons/new/recurrence.svg");
Assert.ok(!icon.hidden);
Assert.ok(!weekView.getEventBoxAt(window, 1, 1));
@ -153,7 +153,7 @@ add_task(async function testWeeklyWithExceptionRecurrence() {
eventItem = multiweekView.getItemAt(window, 2, 4, 1);
icon = eventItem.querySelector(".item-recurrence-icon");
Assert.equal(icon.src, "chrome://calendar/skin/shared/icons/recurrence.svg");
Assert.equal(icon.src, "chrome:chrome://messenger/skin/icons/new/recurrence.svg");
Assert.ok(!icon.hidden);
// month view
@ -181,7 +181,7 @@ add_task(async function testWeeklyWithExceptionRecurrence() {
eventItem = monthView.getItemAt(window, 3, 6, 1);
icon = eventItem.querySelector(".item-recurrence-icon");
Assert.equal(icon.src, "chrome://calendar/skin/shared/icons/recurrence.svg");
Assert.equal(icon.src, "chrome://messenger/skin/icons/new/recurrence.svg");
Assert.ok(!icon.hidden);
// Delete event.

Просмотреть файл

@ -574,6 +574,7 @@
skin/classic/messenger/icons/new/compact/trash.svg (../shared/mail/icons/new/compact/trash.svg)
skin/classic/messenger/icons/new/compact/unread.svg (../shared/mail/icons/new/compact/unread.svg)
skin/classic/messenger/icons/new/compact/user-list.svg (../shared/mail/icons/new/compact/user-list.svg)
skin/classic/messenger/icons/new/compact/warning.svg (../shared/mail/icons/new/compact/warning.svg)
skin/classic/messenger/icons/new/normal/address-book.svg (../shared/mail/icons/new/normal/address-book.svg)
skin/classic/messenger/icons/new/normal/archive.svg (../shared/mail/icons/new/normal/archive.svg)
@ -617,15 +618,21 @@
skin/classic/messenger/icons/new/touch/pencil.svg (../shared/mail/icons/new/touch/pencil.svg)
skin/classic/messenger/icons/new/address-book-indicator.svg (../shared/mail/icons/new/address-book-indicator.svg)
skin/classic/messenger/icons/new/bell.svg (../shared/mail/icons/new/bell.svg)
skin/classic/messenger/icons/new/bell-disabled.svg (../shared/mail/icons/new/bell-disabled.svg)
skin/classic/messenger/icons/new/bell-ring.svg (../shared/mail/icons/new/bell-ring.svg)
skin/classic/messenger/icons/new/loading.svg (../shared/mail/icons/new/loading.svg)
skin/classic/messenger/icons/new/calendar-empty.svg (../shared/mail/icons/new/calendar-empty.svg)
skin/classic/messenger/icons/new/circle-sm.svg (../shared/mail/icons/new/circle-sm.svg)
skin/classic/messenger/icons/new/mail-sm.svg (../shared/mail/icons/new/mail-sm.svg)
skin/classic/messenger/icons/new/nav-down-sm.svg (../shared/mail/icons/new/nav-down-sm.svg)
skin/classic/messenger/icons/new/nav-left-sm.svg (../shared/mail/icons/new/nav-left-sm.svg)
skin/classic/messenger/icons/new/nav-right-sm.svg (../shared/mail/icons/new/nav-right-sm.svg)
skin/classic/messenger/icons/new/nav-up-sm.svg (../shared/mail/icons/new/nav-up-sm.svg)
skin/classic/messenger/icons/new/nav-today.svg (../shared/mail/icons/new/nav-today.svg)
skin/classic/messenger/icons/new/attachment-sm.svg (../shared/mail/icons/new/attachment-sm.svg)
skin/classic/messenger/icons/new/recurrence.svg (../shared/mail/icons/new/recurrence.svg)
skin/classic/messenger/icons/new/recurrence-exception.svg (../shared/mail/icons/new/recurrence-exception.svg)
skin/classic/messenger/icons/new/spam-sm.svg (../shared/mail/icons/new/spam-sm.svg)
skin/classic/messenger/icons/new/star-sm.svg (../shared/mail/icons/new/star-sm.svg)
skin/classic/messenger/icons/new/thread-sm.svg (../shared/mail/icons/new/thread-sm.svg)

Просмотреть файл

@ -109,6 +109,7 @@
--icon-trash: url("chrome://messenger/skin/icons/new/compact/trash.svg");
--icon-unread: url("chrome://messenger/skin/icons/new/compact/unread.svg");
--icon-user-list: url("chrome://messenger/skin/icons/new/compact/user-list.svg");
--icon-warning: url("chrome://messenger/skin/icons/new/compact/warning.svg");
--icon-calendar-empty: url("chrome://messenger/skin/icons/new/calendar-empty.svg");
--icon-circle-small: url("chrome://messenger/skin/icons/new/circle-sm.svg");
@ -131,6 +132,12 @@
--icon-event-start: url("chrome://messenger/skin/icons/new/event-start.svg");
--icon-event-end: url("chrome://messenger/skin/icons/new/event-end.svg");
--icon-event-continue: url("chrome://messenger/skin/icons/new/event-continue.svg");
--icon-mail-sm: url("chrome://messenger/skin/icons/new/mail-sm.svg");
--icon-bell: url("chrome://messenger/skin/icons/new/bell.svg");
--icon-bell-disabled: url("chrome://messenger/skin/icons/new/bell-disabled.svg");
--icon-bell-ring: url("chrome://messenger/skin/icons/new/bell-ring.svg");
--icon-recurrence: url("chrome://messenger/skin/icons/new/recurrence.svg");
--icon-recurrence-exception: url("chrome://messenger/skin/icons/new/recurrence-exception.svg");
--icon-forward-col: url("chrome://messenger/skin/icons/new/compact/forward-col.svg");
--icon-reply-col: url("chrome://messenger/skin/icons/new/compact/reply-col.svg");

Просмотреть файл

@ -0,0 +1,7 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg xmlns="http://www.w3.org/2000/svg" fill-opacity="context-fill-opacity" viewBox="0 0 12 12" height="12" width="12">
<path d="M6 1.504c-1.662 0-3.5 1.338-3.5 3v2.88l5.355-5.357C7.285 1.7 6.63 1.504 6 1.504Zm3.5 3.122L4.62 9.504h5.598a.344.346 0 0 0 .346-.346v-.615c0-.575-.461-1.038-1.034-1.038H9.5ZM2.364 7.519a1.029 1.035 0 0 0-.85.85l.85-.849Z" fill="context-fill"/>
<path d="M6 1.002c-.964 0-1.932.375-2.687.989C2.558 2.604 2 3.487 2 4.504v2.715c-.555.232-1 .685-1 1.324v.34l1.998-1.998V4.504c0-.645.362-1.26.942-1.732.579-.471 1.363-.766 2.06-.766.487 0 1.013.147 1.485.393l.736-.736c-.668-.416-1.445-.66-2.221-.66Zm4.5.002a.5.5 0 0 0-.354.147l-9 9a.5.5 0 0 0 0 .707.5.5 0 0 0 .707 0l9-9a.5.5 0 0 0 0-.707.5.5 0 0 0-.353-.147Zm-.525 3.147-.973.972v2.883h.529a.523.526 0 0 1 .535.537v.461H5.121l-1.117 1.117c.02.537.175 1.02.517 1.362.369.367.895.521 1.479.521.584 0 1.11-.154 1.478-.521.368-.367.521-.895.522-1.477h2.219a.854.854 0 0 0 .843-.847v-.616c0-.661-.476-1.13-1.064-1.345V4.504c0-.12-.009-.238-.023-.353zM5 10.006h2c0 .416-.096.638-.229.77-.132.132-.354.228-.77.228-.418 0-.64-.096-.773-.228-.131-.132-.228-.354-.228-.77Z" fill="context-stroke"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.4 KiB

Просмотреть файл

@ -0,0 +1,7 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg xmlns="http://www.w3.org/2000/svg" fill-opacity="context-fill-opacity" viewBox="0 0 12 12" height="12" width="12">
<path d="M6 1.504c-1.662 0-3.5 1.338-3.5 3v3.002a1.03 1.036 0 0 0-1.002 1.037v.616c0 .192.153.345.344.345h8.377a.344.346 0 0 0 .346-.346v-.615c0-.575-.461-1.038-1.034-1.038H9.5V4.504c0-1.662-1.838-3-3.5-3z" fill="context-fill"/>
<path d="M2.498.007a.5.5 0 0 0-.293.095C.364 1.452.11 3.538 0 5.477a.5.5 0 0 0 .473.527A.5.5 0 0 0 1 5.532c.106-1.896.31-3.536 1.795-4.625A.5.5 0 0 0 2.902.21a.5.5 0 0 0-.404-.202Zm7.004 0a.5.5 0 0 0-.404.202.5.5 0 0 0 .107.698C10.69 1.997 10.894 3.636 11 5.53a.5.5 0 0 0 .527.473.5.5 0 0 0 .473-.527c-.108-1.939-.364-4.024-2.205-5.375a.5.5 0 0 0-.293-.095ZM6 1.002c-.964 0-1.932.375-2.687.989C2.558 2.604 2 3.487 2 4.504v2.715c-.555.232-1 .685-1 1.324v.616c0 .46.384.847.842.847H4c0 .582.154 1.11.521 1.477.369.367.895.521 1.479.521.584 0 1.11-.154 1.478-.521.368-.367.521-.895.522-1.477h2.219a.854.854 0 0 0 .843-.847v-.616c0-.661-.476-1.13-1.064-1.345V4.504c0-1.017-.557-1.9-1.312-2.513C7.93 1.377 6.964 1.002 6 1.002Zm0 1.004c.698 0 1.481.295 2.06.766.58.47.942 1.087.942 1.732v3.502h.529a.523.526 0 0 1 .535.537v.461h-8.07v-.46a.523.526 0 0 1 .518-.538l.484-.014V4.504c0-.645.362-1.26.942-1.732.579-.471 1.363-.766 2.06-.766Zm-1 8h2c0 .416-.096.638-.229.77-.132.132-.354.228-.77.228-.418 0-.64-.096-.773-.228-.131-.132-.228-.354-.228-.77Z" fill="context-stroke"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Просмотреть файл

@ -0,0 +1,7 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg xmlns="http://www.w3.org/2000/svg" fill-opacity="context-fill-opacity" viewBox="0 0 12 12" height="12" width="12">
<path d="M6 1.504c-1.662 0-3.5 1.338-3.5 3v3.002a1.03 1.036 0 0 0-1.002 1.037v.616c0 .192.153.345.344.345h8.377a.344.346 0 0 0 .346-.346v-.615c0-.575-.461-1.038-1.034-1.038H9.5V4.504c0-1.662-1.838-3-3.5-3z" fill="context-fill"/>
<path d="M6 1.002c-.964 0-1.932.375-2.687.989C2.558 2.604 2 3.487 2 4.504v2.715c-.555.232-1 .685-1 1.324v.616c0 .46.384.847.842.847H4c0 .582.154 1.11.521 1.477.369.367.895.521 1.479.521.584 0 1.11-.154 1.478-.521.368-.367.521-.895.522-1.477h2.219a.854.854 0 0 0 .843-.847v-.616c0-.661-.476-1.13-1.064-1.345V4.504c0-1.017-.557-1.9-1.312-2.513C7.93 1.377 6.964 1.002 6 1.002Zm0 1.004c.698 0 1.481.295 2.06.766.58.47.942 1.087.942 1.732v3.502h.529a.523.526 0 0 1 .535.537v.461h-8.07v-.46a.523.526 0 0 1 .518-.538l.484-.014V4.504c0-.645.362-1.26.942-1.732.579-.471 1.363-.766 2.06-.766Zm-1 8h2c0 .416-.096.638-.229.77-.132.132-.354.228-.77.228-.418 0-.64-.096-.773-.228-.131-.132-.228-.354-.228-.77Z" fill="context-stroke"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.3 KiB

Просмотреть файл

@ -0,0 +1,7 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg xmlns="http://www.w3.org/2000/svg" fill-opacity="context-fill-opacity" viewBox="0 0 16 16" height="16" width="16">
<path d="M7.5 1.5c-.653 0-1.222.453-1.5 1L.824 11.96C.5 12.5.502 12.611.5 13A1.5 1.5 0 0 0 2 14.5h11a1.5 1.5 0 0 0 1.5-1.5c0-.394 0-.5-.332-1.053L9 2.5c-.282-.553-.844-1-1.5-1Z" fill="context-fill"/>
<path d="M7.5 1c-.883 0-1.593.58-1.945 1.273l.006-.014-5.166 9.444c-.34.566-.393.908-.395 1.295A.5.5 0 0 0 0 13c0 1.098.901 2 2 2h11c1.099 0 2-.902 2-2 0-.394-.058-.734-.404-1.31l.011.017-5.168-9.448.006.014C9.091 1.578 8.383 1 7.5 1Zm0 1c.429 0 .845.316 1.055.726a.5.5 0 0 0 .006.014l5.168 9.447a.5.5 0 0 0 .011.018c.318.528.26.4.26.795 0 .558-.442 1-1 1H2a.993.993 0 0 1-1-.998V13c.001-.387-.055-.27.252-.782a.5.5 0 0 0 .01-.017L6.439 2.74a.5.5 0 0 0 .006-.014C6.649 2.326 7.077 2 7.5 2Zm0 3a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5Zm0 6a.5.5 0 0 0-.5.5.5.5 0 0 0 .5.5.5.5 0 0 0 .5-.5.5.5 0 0 0-.5-.5Z" fill="context-stroke"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.2 KiB

Просмотреть файл

@ -0,0 +1,7 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg xmlns="http://www.w3.org/2000/svg" fill-opacity="context-fill-opacity" viewBox="0 0 12 12" height="12" width="12">
<path d="M3 2.5h6c.831 0 1.5.669 1.5 1.5v4c0 .83-.669 1.5-1.5 1.5H3c-.831 0-1.5-.67-1.5-1.5V4c0-.831.669-1.5 1.5-1.5Z" fill="context-fill"/>
<path d="M3 2c-1.1 0-2 .9-2 2v4c0 1.099.9 2 2 2h6c1.1 0 2-.901 2-2V4c0-1.1-.9-2-2-2Zm0 1h6c.563 0 1 .437 1 1v4c0 .562-.437 1-1 1H3c-.563 0-1-.438-1-1V4c0-.563.437-1 1-1Zm5.477 1a.5.5 0 0 0-.29.109L6 5.859l-2.188-1.75a.5.5 0 0 0-.367-.105.5.5 0 0 0-.336.183.5.5 0 0 0 .079.703l1.23.985-1.272 1.271a.5.5 0 0 0 0 .707.5.5 0 0 0 .708 0l1.35-1.35.484.387a.5.5 0 0 0 .625 0l.484-.386 1.35 1.35a.5.5 0 0 0 .707 0 .5.5 0 0 0 0-.708L7.582 5.875l1.23-.985a.5.5 0 0 0 .079-.703A.5.5 0 0 0 8.477 4Z" fill="context-stroke"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 996 B

Просмотреть файл

@ -0,0 +1,6 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg xmlns="http://www.w3.org/2000/svg" fill-opacity="context-fill-opacity" viewBox="0 0 12 12" height="12" width="12">
<path d="M10.5 1a.5.5 0 0 0-.354.146l-9 9a.5.5 0 0 0 0 .707.5.5 0 0 0 .708 0l9-9a.5.5 0 0 0 0-.707A.5.5 0 0 0 10.5 1zM3 2c-1.1 0-2 .9-2 2v4c0 .26.051.508.143.736L2 7.879v-3.88c0-.562.437-1 1-1h3.879l1-1H3zm7.857 1.263L10 4.121V8c0 .562-.437 1-1 1H7.707l1.147-1.147a.5.5 0 0 0 0-.707.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .707l2 2a.5.5 0 0 0 .708 0 .5.5 0 0 0 0-.707L7.707 10H9c1.1 0 2-.901 2-2V4c0-.26-.051-.508-.143-.737z" fill="context-stroke"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 786 B

Просмотреть файл

@ -0,0 +1,6 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg xmlns="http://www.w3.org/2000/svg" fill-opacity="context-fill-opacity" viewBox="0 0 12 12" height="12" width="12">
<path d="M3 2c-1.1 0-2 .9-2 2v4c0 1.099.9 2 2 2h.5a.5.5 0 0 0 .5-.5.5.5 0 0 0-.5-.5H3c-.563 0-1-.438-1-1V4c0-.563.437-1 1-1h6c.563 0 1 .437 1 1v4c0 .562-.437 1-1 1H7.707l1.147-1.147a.5.5 0 0 0 0-.707.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .707l2 2a.5.5 0 0 0 .708 0 .5.5 0 0 0 0-.707L7.707 10H9c1.1 0 2-.901 2-2V4c0-1.1-.9-2-2-2H3z" fill="context-stroke"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 694 B