키프리스 추가

This commit is contained in:
R5600U_PC 2024-05-01 00:14:54 +09:00
parent a789e21d96
commit 484e74b0af
350 changed files with 143635 additions and 73 deletions

47
categories.json Normal file
View File

@ -0,0 +1,47 @@
{
"01": "공업/과학 및 사진용 및 농업/원예 및 임업용 화학제; 미가공 인조수지, 미가공 플라스틱; 소화 및 화재예방용 조성물; 조질제 및 땜납용 조제; 수피용 무두질제; 공업용 접착제; 퍼티 및 기타 페이스트 충전제; 퇴비, 거름, 비료; 산업용 및 과학용 생물학적 제제",
"02": "페인트, 니스, 래커; 방청제 및 목재 보존제; 착색제, 염료; 인쇄, 표시 및 판화용 잉크; 미가공 천연수지; 도장용/장식용/인쇄용/미술용 금속박(箔) 및 금속분(紛)",
"03": "비의료용 화장품 및 세면용품; 비의료용 치약; 향료, 에센셜 오일; 표백제 및 기타 세탁용 제제; 세정/광택 및 연마재",
"04": "공업용 오일 및 그리스, 왁스; 윤활제; 먼지흡수제, 먼지습윤제 및 먼지흡착제; 연료 및 발광체; 조명용 양초 및 심지",
"05": "약제, 의료용 및 수의과용 제제; 의료용 위생제; 의료용 또는 수의과용 식이요법 식품 및 제제, 유아용 식품; 인체용 및 동물용 식이보충제; 플라스터, 외상치료용 재료; 치과용 충전재료, 치과용 왁스; 소독제; 해충구제제; 살균제, 제초제",
"06": "일반금속 및 그 합금, 광석; 금속제 건축 및 구축용 재료; 금속제 이동식 건축물; 비전기용 일반금속제 케이블 및 와이어; 소형금속제품; 저장 또는 운반용 금속제 용기; 금고",
"07": "기계, 공작기계, 전동공구; 모터 및 엔진(육상차량용은 제외); 기계 커플링 및 전동장치 부품(육상차량용은 제외); 농기구(수동식 수공구는 제외); 부란기(孵卵器); 자동판매기",
"08": "수동식 수공구 및 수동기구; 커틀러리; 휴대 무기(화기는 제외); 면도기",
"09": "과학, 연구, 항법, 측량, 사진, 영화, 시청각, 광학, 계량, 측정, 신호, 탐지, 시험, 검사, 구명 및 교육용 기기; 전기 분배 또는 전기 사용의 전도, 전환, 변형, 축적, 조절 또는 통제를 위한 기기; 음향/영상 또는 데이터의 기록/전송/재생 또는 처리용 장치 및 기구; 기록 및 내려받기 가능한 미디어, 컴퓨터 소프트웨어, 빈 디지털 또는 아날로그 기록 및 저장매체; 동전작동식 기계장치; 금전등록기, 계산기; 컴퓨터 및 컴퓨터주변기기; 잠수복, 잠수마스크, 잠수용 귀마개, 다이버 및 수영용 노즈클립, 잠수용 장갑, 잠수용 호흡장치; 소화기기",
"10": "외과용, 내과용, 치과용 및 수의과용 기계기구; 의지(義肢), 의안(義眼) 및 의치(義齒); 정형외과용품; 봉합용 재료; 장애인용 치료 및 재활보조장치; 안마기; 유아수유용 기기 및 용품; 성활동용 기기 및 용품",
"11": "조명용, 가열용, 냉각용, 증기발생용, 조리용, 건조용, 환기용, 급수용, 위생용 장치 및 설비",
"12": "수송기계기구; 육상, 항공 또는 해상을 통해 이동하는 수송수단",
"13": "화기(火器); 탄약 및 발사체; 폭약; 폭죽",
"14": "귀금속 및 그 합금; 보석, 귀석 및 반귀석; 시계용구",
"15": "악기; 악보대 및 악기용 받침대; 지휘봉",
"16": "종이 및 판지; 인쇄물; 제본재료; 사진; 문방구 및 사무용품(가구는 제외); 문방구용 또는 가정용 접착제; 제도용구 및 미술용 재료; 회화용 솔; 교재; 포장용 플라스틱제 시트, 필름 및 가방; 인쇄활자, 프린팅블록",
"17": "미가공 및 반가공 고무, 구타페르카, 고무액(gum), 석면, 운모(雲母) 및 이들의 제품; 제조용 압출성형형태의 플라스틱 및 수지; 충전용, 마개용 및 절연용 재료; 비금속제 신축관, 튜브 및 호스",
"18": "가죽 및 모조가죽; 수피; 수하물가방 및 운반용 가방; 우산 및 파라솔; 걷기용 지팡이; 채찍 및 마구(馬具); 동물용 목걸이, 가죽끈 및 의류",
"19": "건축용 및 구축용 비금속제 건축재료; 건축용 비금속제 경질관(硬質管); 아스팔트, 피치, 타르 및 역청; 비금속제 이동식 건축물; 비금속제 기념물",
"20": "가구, 거울, 액자; 보관 또는 운송용 비금속제 컨테이너; 미가공 또는 반가공 뼈, 뿔, 고래수염 또는 나전(螺鈿); 패각; 해포석(海泡石); 호박(琥珀)(원석)",
"21": "가정용 또는 주방용 기구 및 용기; 조리기구 및 식기(포크, 나이프 및 스푼은 제외); 빗 및 스펀지; 솔(페인트 솔은 제외); 솔 제조용 재료; 청소용구; 비건축용 미가공 또는 반가공 유리; 유리제품, 도자기제품 및 토기제품",
"22": "로프 및 노끈; 망(網); 텐트 및 타폴린; 직물제 또는 합성재료제 차양; 돛; 하역물운반용 및 보관용 포대; 충전재료(고무/플라스틱/종이 및 판지제는 제외); 직물용 미가공 섬유 및 그 대용품",
"23": "직물용 실(絲)",
"24": "직물 및 직물대용품; 가정용 린넨; 직물 또는 플라스틱제 커튼",
"25": "의류, 신발, 모자",
"26": "레이스, 장식용 끈 및 자수포, 의류장식용 리본 및 나비매듭리본; 단추, 훅 및 아이(hooks and eyes), 핀 및 바늘; 조화(造花); 머리장식품; 가발",
"27": "카펫, 융단, 매트, 리놀륨 및 기타 바닥깔개용 재료; 비직물제 벽걸이",
"28": "오락용구, 장난감; 비디오게임장치; 체조 및 스포츠용품; 크리스마스트리용 장식품",
"29": "식육, 생선, 가금 및 엽조수; 고기진액; 보존처리/냉동/건조 및 조리된 과일 및 채소; 젤리, 잼, 콤폿; 달걀; 우유, 치즈, 버터, 요구르트 및 기타 유제품; 식용 유지(油脂)",
"30": "커피, 차(茶), 코코아 및 그 대용물; 쌀, 파스타 및 국수; 타피오카 및 사고(sago); 곡분 및 곡물 조제품; 빵, 페이스트리 및 과자; 초콜릿; 아이스크림, 셔벗 및 기타 식용 얼음; 설탕, 꿀, 당밀(糖蜜); 식품용 이스트, 베이킹 파우더; 소금, 조미료, 향신료, 보존처리된 허브; 식초, 소스 및 기타 조미료; 얼음",
"31": "미가공 농업, 수산양식, 원예 및 임업 생산물; 미가공 곡물 및 종자; 신선한 과실 및 채소, 신선한 허브; 살아 있는 식물 및 꽃; 구근(球根), 모종 및 재배용 곡물종자; 살아있는 동물; 동물용 사료 및 음료; 맥아",
"32": "맥주; 비알코올성 음료; 광천수 및 탄산수; 과실음료 및 과실주스; 시럽 및 비알코올성 음료용 제제",
"33": "알코올성 음료(맥주는 제외); 음료제조용 알코올성 제제",
"34": "담배 및 대용담배; 권연 및 여송연; 흡연자용 전자담배 및 기화기; 흡연용구; 성냥",
"35": "광고업; 사업관리/조직 및 경영업; 사무처리업",
"36": "금융, 통화 및 은행업; 보험서비스업; 부동산업",
"37": "건축서비스업; 설치 및 수리서비스업; 채광업/석유 및 가스 시추업",
"38": "통신서비스업",
"39": "운송업; 상품의 포장 및 보관업; 여행알선업",
"40": "재료처리업; 폐기물 재생업; 공기 정화 및 물 처리업; 인쇄 서비스업; 음식 및 음료수 보존업",
"41": "교육업; 훈련제공업; 연예오락업; 스포츠 및 문화활동업",
"42": "과학적, 기술적 서비스업 및 관련 연구, 디자인업; 산업분석, 산업연구 및 산업디자인 서비스업; 품질 관리 및 인증 서비스업; 컴퓨터 하드웨어 및 소프트웨어의 디자인 및 개발업",
"43": "식음료제공서비스업; 임시숙박시설업",
"44": "의료업; 수의업; 인간 또는 동물을 위한 위생 및 미용업; 농업, 수산양식, 원예 및 임업 서비스업",
"45": "법무서비스업; 유형의 재산 및 개인을 물리적으로 보호하기 위한 보안서비스업; 이성(異性) 소개업, 온라인 소셜 네트워킹 서비스업; 장례업; 베이비시팅업"
}

View File

@ -1,12 +1,17 @@
[Settings]
maxweightset = 25
maxweightset = 10
maxlengthset = 100
maxvolumeset = 160
addfeeinterval = 5
addfeesetting = 20
addfee = 5000
fontsize = 10
weightinterval = 4.0
maxvolumeset = 155
addfeeinterval = 6
addfeesetting = 3
addfee = 2000
fontsize = 14
weightinterval = 0.5
setsavesetting = True
favoritedelv = 넥스트위해평택해운(배송비)
favoritedelv =
[Kipris]
use_kipris = True
usage_mode = web
api_key = X9Tz3JqC/JcCwxnNewA6qdloIN6QFIitVBgS1a2KVDYk1AmddaDTvzr6+t3dyLZV3gh2TPXdNhxsRQwaKP673Q==

347
delv.py
View File

@ -6,10 +6,14 @@ import logging
from PyQt5.QtCore import Qt
from PyQt5 import QtWidgets, QtCore
from PyQt5.QtGui import QFont
import re
import re, json
from src.toggleSwitch import ToggleSwitch # toggleSwitch.py 파일에서 ToggleSwitch 클래스를 임포트
from src.logger_module import setup_logger
import ctypes
from src.kipris_settingUI import SettingsDialog
from src.kipris_api_from_publicdata import Kipris_API
# from src.kipris_web_from_playwright import Kipris_WEB
from src.kiprisThread import *
def minimize_console():
""" 콘솔 창을 최소화하는 함수 """
@ -25,6 +29,15 @@ class DeliveryFeeCalculator(QtWidgets.QWidget):
self.config = configparser.ConfigParser()
self.config_path = 'config.ini'
self.use_kipris = False
self.usage_mode = "web"
self.api_key = ""
self.kiprisAPI = None
self.searchThread = None # 스레드 객체를 저장할 멤버 변수 추가
self.asyncWorker = None
self.search_keyword = None
self.set_status =[]
self.maxWeightSet = 25
self.maxLengthSet = 100
self.maxVolumeSet = 160
@ -48,9 +61,12 @@ class DeliveryFeeCalculator(QtWidgets.QWidget):
self.deliveryFees = {}
self.initSettings()
self.initUI()
self.loadDeliveryFees()
self.setDefaultValues()
self.kipris_Visible()
self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint)
# self.setAddInterval(self.addFeeInterval)
@ -70,42 +86,69 @@ class DeliveryFeeCalculator(QtWidgets.QWidget):
def initSettings(self):
# self.settings = QtCore.QSettings('When_Ride_Mycar_Tanya', 'DeliveryFeeCalculator')
self.loadSettings()
self.load_history()
self.user_settings = {
'use_kipris': self.use_kipris,
'usage_mode': self.usage_mode,
'api_key': self.api_key,
}
self.settingDialog = SettingsDialog(parent=self, initial_settings=self.user_settings)
def loadSettings(self):
""" 설정 파일을 불러옵니다. """
if not os.path.exists(self.config_path):
self.create_default_settings()
self.config.read(self.config_path)
self.maxWeightSet = self.config.getint('Settings', 'maxWeightSet', fallback=25)
self.maxLengthSet = self.config.getint('Settings', 'maxLengthSet', fallback=100)
self.maxVolumeSet = self.config.getint('Settings', 'maxVolumeSet', fallback=160)
self.addFeeInterval = self.config.getint('Settings', 'addFeeInterval', fallback=5)
self.addFeeSetting = self.config.getint('Settings', 'addFeeSetting', fallback=20)
self.addFee = self.config.getint('Settings', 'addFee', fallback=1000)
self.fontSize = self.config.getint('Settings', 'fontSize', fallback=14)
self.weightInterval = self.config.getfloat('Settings', 'weightInterval', fallback=0.5)
self.setSaveSetting = self.config.getboolean('Settings', 'setSaveSetting', fallback=False)
self.favoriteDelv = self.config.get('Settings', 'favoriteDelv', fallback="노빠꾸해운(배송비)")
try:
if not os.path.exists(self.config_path):
self.create_default_settings()
self.config.read(self.config_path)
self.maxWeightSet = self.config.getint('Settings', 'maxWeightSet', fallback=25)
self.maxLengthSet = self.config.getint('Settings', 'maxLengthSet', fallback=100)
self.maxVolumeSet = self.config.getint('Settings', 'maxVolumeSet', fallback=160)
self.addFeeInterval = self.config.getint('Settings', 'addFeeInterval', fallback=5)
self.addFeeSetting = self.config.getint('Settings', 'addFeeSetting', fallback=20)
self.addFee = self.config.getint('Settings', 'addFee', fallback=1000)
self.fontSize = self.config.getint('Settings', 'fontSize', fallback=14)
self.weightInterval = self.config.getfloat('Settings', 'weightInterval', fallback=0.5)
self.setSaveSetting = self.config.getboolean('Settings', 'setSaveSetting', fallback=False)
self.favoriteDelv = self.config.get('Settings', 'favoriteDelv', fallback="노빠꾸해운(배송비)")
self.use_kipris = self.config.getboolean('Kipris', 'use_Kipris', fallback=False)
self.usage_mode = self.config.get('Kipris', 'usage_mode', fallback="web")
self.api_key = self.config.get('Kipris', 'api_key', fallback="")
print(f"use_kipris : {self.use_kipris}, usage_mode : {self.usage_mode}, api_key : {self.api_key}")
except Exception as e:
logger.error(f"설정을 불러오는 중 오류가 발생했습니다: {e}", exc_info=True)
def saveSettings(self):
""" 설정을 config.ini 파일에 저장합니다. """
if not self.config.has_section('Settings'):
self.config.add_section('Settings')
self.config.set('Settings', 'maxWeightSet', str(self.maxWeightSet))
self.config.set('Settings', 'maxLengthSet', str(self.maxLengthSet))
self.config.set('Settings', 'maxVolumeSet', str(self.maxVolumeSet))
self.config.set('Settings', 'addFeeInterval', str(self.addFeeInterval))
self.config.set('Settings', 'addFeeSetting', str(self.addFeeSetting))
self.config.set('Settings', 'addFee', str(self.addFee))
self.config.set('Settings', 'fontSize', str(self.fontSize))
self.config.set('Settings', 'weightInterval', str(self.weightInterval))
self.config.set('Settings', 'setSaveSetting', str(self.setSaveSetting))
self.config.set('Settings', 'favoriteDelv', str(self.favoriteDelv))
with open(self.config_path, 'w') as configfile:
self.config.write(configfile)
try:
if not self.config.has_section('Settings'):
self.config.add_section('Settings')
self.config.set('Settings', 'maxWeightSet', str(self.maxWeightSet))
self.config.set('Settings', 'maxLengthSet', str(self.maxLengthSet))
self.config.set('Settings', 'maxVolumeSet', str(self.maxVolumeSet))
self.config.set('Settings', 'addFeeInterval', str(self.addFeeInterval))
self.config.set('Settings', 'addFeeSetting', str(self.addFeeSetting))
self.config.set('Settings', 'addFee', str(self.addFee))
self.config.set('Settings', 'fontSize', str(self.fontSize))
self.config.set('Settings', 'weightInterval', str(self.weightInterval))
self.config.set('Settings', 'setSaveSetting', str(self.setSaveSetting))
self.config.set('Settings', 'favoriteDelv', str(self.favoriteDelv))
if not self.config.has_section('Kipris'):
self.config.add_section('Kipris')
self.config.set('Kipris', 'use_kipris', str(self.use_kipris))
self.config.set('Kipris', 'usage_mode', str(self.usage_mode))
self.config.set('Kipris', 'api_key', str(self.api_key))
with open(self.config_path, 'w') as configfile:
self.config.write(configfile)
except Exception as e:
logger.error(f"설정을 저장하는 중 오류가 발생했습니다: {e}", exc_info=True)
def create_default_settings(self):
""" 기본 설정을 생성합니다. """
@ -119,30 +162,60 @@ class DeliveryFeeCalculator(QtWidgets.QWidget):
'fontSize': '14',
'weightInterval': '0.5',
'setSaveSetting': 'False',
'favoriteDelv': "노빠꾸해운(배송비)"
'favoriteDelv': "노빠꾸해운(배송비)",
}
self.config['Kipris'] = {
'use_kipris': 'False',
'usage_mode': 'web',
'api_key': '',
}
with open(self.config_path, 'w') as configfile:
self.config.write(configfile)
# def loadWindowSettings(self):
# # 윈도우 위치와 크기 설정을 불러옵니다
# self.resize(self.settings.value("windowSize", QtCore.QSize(400, 300)))
# self.move(self.settings.value("windowPosition", QtCore.QPoint(50, 50)))
def add_history(self, keyword) :
if keyword:
if keyword and keyword not in self.history: # 중복된 검색어가 아니면 추가
self.history.append(keyword)
print(f"검색어 [{keyword}] 히스토리에 추가")
# def saveWindowSettings(self):
# # 윈도우 위치와 크기 설정을 저장합니다
# self.settings.setValue("windowSize", self.size())
# self.settings.setValue("windowPosition", self.pos())
def load_history(self):
try:
with open("search_history.json", "r") as file:
self.history = json.load(file)
print(f"self.history file loaded{self.history}")
except (FileNotFoundError, json.JSONDecodeError):
self.history = []
print(f"self.history{self.history}")
def save_history(self):
with open("search_history.json", "w") as file:
json.dump(self.history, file)
def show_history_menu(self, event):
if self.history:
menu = QtWidgets.QMenu(self)
for keyword in self.history:
menu.addAction(keyword, lambda k=keyword: self.kipris_edit.setText(k))
menu.exec_(self.kipris_edit.mapToGlobal(event.pos()))
def closeEvent(self, event):
# 종료 이벤트가 발생할 때 설정 저장
# 설정 저장 여부 로그 기록
if self.setSaveSetting:
logger.debug("설정값 저장")
self.saveSettings()
# self.saveWindowSettings()
self.saveSettings() # 설정 저장
# self.saveWindowSettings() # 필요한 경우 윈도우 설정 저장
else:
logger.debug("설정값 저장하지 않음")
# 검색 히스토리 저장
self.save_history()
# 부모 클래스의 종료 이벤트 처리 호출
super().closeEvent(event)
# 이벤트 처리 완료를 알림
event.accept()
def initUI(self):
@ -151,22 +224,44 @@ class DeliveryFeeCalculator(QtWidgets.QWidget):
# 메뉴바 생성
menubar = QtWidgets.QMenuBar(self)
settingsMenu = menubar.addMenu('설정')
helpMenu = menubar.addMenu('도움말')
kiprisMenu = menubar.addMenu('키프리스')
# 도움말 보기 메뉴 아이템
helpAction = QtWidgets.QAction('도움말 보기', self)
helpAction.triggered.connect(self.showHelp)
settingsMenu.addAction(helpAction)
# 도움말 - 도움말 보기 메뉴 아이템
helpnemu_helpAction = QtWidgets.QAction('도움말 보기', self)
helpnemu_helpAction.triggered.connect(self.showHelp)
helpMenu.addAction(helpnemu_helpAction)
# 도움말 - ChangeLog 메뉴 아이템
helpnemu_changelogAction = QtWidgets.QAction('ChangeLog', self)
helpnemu_changelogAction.triggered.connect(self.showChangeLog)
helpMenu.addAction(helpnemu_changelogAction)
# 도움말 - 기본값 설정 메뉴 아이템
helpnemu_defaultAction = QtWidgets.QAction('기본값 설정', self)
helpnemu_defaultAction.triggered.connect(self.setttingTosetDefaultValues)
helpMenu.addAction(helpnemu_defaultAction)
# # '설정창 열기' 메뉴 아이템
openSettingsAction = QtWidgets.QAction('설정창 열기', self)
openSettingsAction.triggered.connect(self.showSettingsDialog)
kiprisMenu.addAction(openSettingsAction)
# # 키프리스 - APIKEY 메뉴 아이템
# kiprismenu_settingAction = QtWidgets.QAction('키프리스 ', self)
# kiprismenu_settingAction.triggered.connect(self.showHelp)
# kiprisMenu.addAction(kiprismenu_settingAction)
# # 도움말 - ChangeLog 메뉴 아이템
# changelogAction = QtWidgets.QAction('ChangeLog', self)
# changelogAction.triggered.connect(self.showChangeLog)
# kiprisMenu.addAction(changelogAction)
# # 도움말 - 기본값 설정 메뉴 아이템
# defaultAction = QtWidgets.QAction('기본값 설정', self)
# defaultAction.triggered.connect(self.setttingTosetDefaultValues)
# kiprisMenu.addAction(defaultAction)
# ChangeLog 메뉴 아이템
changelogAction = QtWidgets.QAction('ChangeLog', self)
changelogAction.triggered.connect(self.showChangeLog)
settingsMenu.addAction(changelogAction)
# 기본값 설정 메뉴 아이템
defaultAction = QtWidgets.QAction('기본값 설정', self)
defaultAction.triggered.connect(self.setttingTosetDefaultValues)
settingsMenu.addAction(defaultAction)
# 레이아웃 전체 설정
@ -393,19 +488,26 @@ class DeliveryFeeCalculator(QtWidgets.QWidget):
self.setting_layout.addLayout(self.addMoneySetlayout2)
self.setting_layout.addLayout(self.addMoneySetlayout3)
# 키프리스 검색버튼
self.kipris_layout = QtWidgets.QHBoxLayout()
# 키프리스 프레임
self.kiprisWidget = QtWidgets.QWidget(self)
self.kipris_layout = QtWidgets.QHBoxLayout(self.kiprisWidget)
self.kiprisWidget.setLayout(self.kipris_layout)
self.kiprisWidget.setVisible(False)
self.kipris_label = QtWidgets.QLabel("키프리스 검색")
self.kipris_edit = QtWidgets.QLineEdit()
self.kipris_btn = QtWidgets.QPushButton("검색")
self.kipris_btn.clicked.connect(self.kipris_btn_clicked)
self.kipris_edit.returnPressed.connect(self.kipris_btn_clicked)
self.kipris_edit.mousePressEvent = self.show_history_menu
self.kipris_layout.addWidget(self.kipris_label)
self.kipris_layout.addWidget(self.kipris_edit)
self.kipris_layout.addWidget(self.kipris_btn)
self.kipris_layout.setStretch(0,3)
self.kipris_layout.setStretch(1,6)
self.kipris_layout.setStretch(2,3)
self.setting_layout.addLayout(self.kipris_layout)
# self.setting_layout.addLayout(self.kipris_layout)
self.setting_layout.addWidget(self.kiprisWidget) # self.kiprisWidget을 설정 레이아웃에 추가
# 항상 위에 토글 스위치
self.alwaysOnTopSwitch = ToggleSwitch(self.setting_frame)
@ -434,6 +536,71 @@ class DeliveryFeeCalculator(QtWidgets.QWidget):
self.setWindowTitle('배송비 계산기')
def initSettings_for_kipris_ori(self):
if self.kiprisAPI:
# 현재 객체가 적절한 타입인지 확인
current_type = type(self.kiprisAPI)
target_type = Kipris_API if self.usage_mode == 'api' else Kipris_WEB
if current_type is not target_type:
# 기존 객체가 다른 타입이면 삭제하고 새로 생성
print(f"기존 {self.kiprisAPI} 객체를 삭제하고 새 객체를 생성합니다.")
self.kiprisAPI.close_Kipris() # 기존객체 리소스 정리
del self.kiprisAPI # 기존 객체 참조 제거
self.kiprisAPI = target_type(self.api_key) # 새 객체 생성
print(f"{self.usage_mode.upper()} 방식 kiprisAPI 객체 생성: {self.kiprisAPI}")
else:
print(f"기존에 적절한 {self.kiprisAPI} 객체가 이미 존재합니다.")
else:
# 객체가 없으면 새로 생성
self.kiprisAPI = Kipris_API(self.api_key) if self.usage_mode == 'api' else Kipris_WEB(self.api_key)
print(f"{self.usage_mode.upper()} 방식 kiprisAPI 객체 생성: {self.kiprisAPI}")
def initSettings_for_kipris(self):
if self.kiprisAPI:
# 현재 객체가 적절한 타입인지 확인
current_type = type(self.kiprisAPI)
target_type = Kipris_API if self.usage_mode == 'api' else AsyncWebSearchWorker
if current_type is not target_type:
# 기존 객체가 다른 타입이면 삭제하고 새로 생성
print(f"기존 {self.kiprisAPI} 객체를 삭제하고 새 객체를 생성합니다.")
if isinstance(self.kiprisAPI, AsyncWebSearchWorker):
self.kiprisAPI.deleteLater() # 비동기 작업자는 Qt 객체로 관리되므로 deleteLater 사용
self.kiprisAPI = None
if self.usage_mode == 'api':
self.kiprisAPI = Kipris_API(self.api_key) # 새 객체 생성
else:
web_scraper = WebScraper() # WebScraper 인스턴스 생성
self.kiprisAPI = AsyncWebSearchWorker(web_scraper, "") # 초기 키워드는 비워두기
print(f"{self.usage_mode.upper()} 방식 kiprisAPI 객체 생성: {self.kiprisAPI}")
else:
print(f"기존에 적절한 {self.kiprisAPI} 객체가 이미 존재합니다.")
else:
# 객체가 없으면 새로 생성
if self.usage_mode == 'api':
self.kiprisAPI = Kipris_API(self.api_key)
else:
web_scraper = WebScraper() # WebScraper 인스턴스 생성
self.kiprisAPI = AsyncWebSearchWorker(web_scraper, "") # 초기 키워드는 비워두기
print(f"{self.usage_mode.upper()} 방식 kiprisAPI 객체 생성: {self.kiprisAPI}")
def showSettingsDialog(self):
if self.settingDialog.exec_():
self.use_kipris = self.settingDialog.use_kipris
self.usage_mode = self.settingDialog.usage_mode
self.api_key = self.settingDialog.api_key
self.kipris_Visible()
def kipris_Visible(self):
if self.use_kipris:
self.kiprisWidget.setVisible(True)
self.initSettings_for_kipris()
else:
self.kiprisWidget.setVisible(False)
def create_label_and_switch(self, label_text, target_switch):
layout = QtWidgets.QHBoxLayout()
label = QtWidgets.QLabel(label_text)
@ -481,7 +648,7 @@ class DeliveryFeeCalculator(QtWidgets.QWidget):
logger.debug('Excel file loaded successfully.')
except Exception as e:
logger.error(f"Error loading Excel file: {e}")
logger.error(f"Error loading Excel file: {e}", exc_info=True)
QtWidgets.QMessageBox.critical(self, "Error", "Failed to load the Excel file.")
def processSheet(self, df, sheet_name, key):
@ -553,7 +720,7 @@ class DeliveryFeeCalculator(QtWidgets.QWidget):
self.additionalFee()
except Exception as e:
logger.error(f"Error updating delivery fee: {e}")
logger.error(f"Error updating delivery fee: {e}", exc_info=True)
self.deliveryFeeLabel.setText("배송비 업데이트 중 오류 발생")
def updateAdditionalDeliveryFee(self):
@ -619,7 +786,7 @@ class DeliveryFeeCalculator(QtWidgets.QWidget):
self.additionalFeeLabel.setText(f'경동 택배비[{price_source}]: {fee}')
except Exception as e:
logger.error(f"Error updating Additional delivery fee: {e}")
logger.error(f"Error updating Additional delivery fee: {e}", exc_info=True)
self.additionalFeeLabel.setText("배송비 업데이트 중 오류 발생")
@ -742,9 +909,59 @@ class DeliveryFeeCalculator(QtWidgets.QWidget):
self.show()
def kipris_btn_clicked(self):
search_keyword = self.kipris_edit.text()
logger.debug(f"키프리스 검색버튼 클릭 : 키워드 = [{search_keyword}]")
print(f"키프리스 검색버튼 클릭 : 키워드 = [{search_keyword}]")
self.search_keyword = self.kipris_edit.text()
logger.debug(f"키프리스 검색버튼 클릭 : 키워드 = [{self.search_keyword}]")
# result = self.kiprisAPI.run(self.search_keyword, self.set_status)
# print(f"result {result}")
if self.search_keyword.strip(): # 검색어가 비어있지 않은 경우에만 검색 수행
self.handle_search_for_web(self.search_keyword)
def handle_search_for_web(self, keyword):
self.add_history(keyword) # 검색어 히스토리 추가
if self.asyncWorker: # 기존에 비동기 작업자가 존재한다면
self.asyncWorker.thread.quit() # 기존 스레드 종료
print(f"키프리스 검색버튼 클릭 : 키워드 = [{keyword}]")
self.asyncWorker = AsyncWebSearchWorker(keyword, self.set_status) # 새 비동기 작업자 생성
self.asyncWorker.finished.connect(self.display_results_for_web) # 완료 시그널을 결과 표시 함수에 연결
self.asyncWorker.start() # 비동기 작업 시작
print("비동기 검색 시작")
def display_results_for_web(self, result, elapsed_time):
message = f"검색 결과 : {result}\n검색에 걸린 시간: {elapsed_time:.1f}"
QtWidgets.QMessageBox.information(self, "Search Results", message)
self.asyncWorker = None # 작업 완료 후 객체 참조 해제
def handle_search_for_api(self, keyword):
self.add_history(keyword)
if self.searchThread is not None and self.searchThread.isRunning():
self.searchThread.quit() # 이전 스레드가 실행 중이라면 안전하게 종료
print("기존 쓰레드가 존재하므로 기존 쓰레드 종료")
print(f"키프리스 검색버튼 클릭 : 키워드 = [{keyword}]")
worker = APISearchWorker(self.kiprisAPI, keyword, self.set_status)
# worker = SearchWorker(self.kiprisAPI, keyword, self.set_status)
print("워커 생성")
self.searchThread = SearchThread(worker)
print("쓰레드 생성")
worker.finished.connect(self.display_results)
self.searchThread.finished.connect(self.clear_thread_reference)
self.searchThread.start_search()
print("검색 시작")
def clear_thread_reference(self):
# 스레드 종료 후 참조를 제거하여 다음 검색을 위해 준비
self.searchThread = None
def display_results(self, result, elapsed_time):
message = f"검색 결과 : {result}\n검색에 걸린 시간: {elapsed_time:.1f}"
QtWidgets.QMessageBox.information(self, "Search Results", message)
def reset_action(self):
self.lengthInput.setValue(1)

1
search_history.json Normal file
View File

@ -0,0 +1 @@
["\uc2a4\ud0a4\uc5d0\uc774\ud2b8", "\ub86f\ub370", "\uc2a4\ud0a4\uc5d0\uc774\ud2b8", "\ub86f\ub370", "\uc2a4\ud0a4\uc5d0\uc774\ud2b8", "\ub86f\ub370", "\uc368\uc9c0\uc624"]

182
src/Kiprismain.py Normal file
View File

@ -0,0 +1,182 @@
import sys
from PyQt5.QtWidgets import QApplication, QMessageBox, QSizePolicy, QWidget, QVBoxLayout, QHBoxLayout, QLabel, QLineEdit, QPushButton, QTextEdit, QGridLayout
from PyQt5.QtGui import QPixmap
from PyQt5.QtCore import Qt, QByteArray, QBuffer, QIODevice
from kipris_web_from_playwright import WebScraper
class MainApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
self.scraper = WebScraper()
self.scraper.setup_browser()
def initUI(self):
# 검색 레이아웃
searchLayout = QHBoxLayout()
self.searchLabel = QLabel('검색어 입력:', self)
self.searchLineEdit = QLineEdit(self)
self.searchLineEdit.returnPressed.connect(self.start_search)
self.searchButton = QPushButton('검색 실행', self)
self.searchButton.clicked.connect(self.start_search)
searchLayout.addWidget(self.searchLabel)
searchLayout.addWidget(self.searchLineEdit)
searchLayout.addWidget(self.searchButton)
# 로그 레이아웃
logLayout = QVBoxLayout()
self.logTextEdit = QTextEdit(self)
self.logTextEdit.setReadOnly(True)
logLayout.addWidget(self.logTextEdit)
# 메인 레이아웃
mainLayout = QVBoxLayout()
mainLayout.addLayout(searchLayout)
mainLayout.addLayout(logLayout)
self.setLayout(mainLayout)
self.setWindowTitle('Web Scraper')
self.setGeometry(300, 300, 300, 400)
def wrap_text(self, text, width=40):
"""주어진 너비에 맞게 텍스트를 줄바꿈합니다."""
words = text.split()
wrapped_text = ''
line_length = 0
for word in words:
if line_length + len(word) + 1 > width:
wrapped_text += '\n'
line_length = 0
wrapped_text += word + ' '
line_length += len(word) + 1
return wrapped_text.strip()
def start_search(self):
term = self.searchLineEdit.text()
if not term:
self.logTextEdit.append("검색어를 입력해주세요.")
return
self.logTextEdit.append("검색을 시작합니다...")
results = self.scraper.search_for_term(term)
if results:
self.logTextEdit.append("검색 완료. 결과를 처리합니다...")
self.show_results(results)
else:
self.logTextEdit.append("검색 결과가 없거나 오류가 발생했습니다.")
QMessageBox.information(self, "검색 결과 없음", "검색 결과가 없으므로 지재권에 안심하시면 됩니다.", QMessageBox.Ok)
def show_results(self, results):
try:
# 결과 위젯 생성
self.results_widget = QWidget()
layout = QVBoxLayout()
self.results_widget.setLayout(layout)
# 결과 갯수 확인 및 레이아웃 동적 생성
total_count = int(results['total_count'])
set_count = min(total_count, 10)
grid_layout = QGridLayout()
layout.addLayout(grid_layout)
grid_index = 0
grid_columns = 5
for i in range(1, set_count + 1):
result_key = f"result_{i}"
if result_key in results:
result = results[result_key]
# 테두리 설정
border_style = ''
if result['admin_status'] == '등록':
border_style = 'border: 4px solid red;'
elif result['admin_status'] == '공고':
border_style = 'border: 3px solid black;'
# 각 결과에 대한 레이아웃 생성
item_layout = QVBoxLayout()
item_widget = QWidget() # 위젯 생성
# item_layout의 크기 정책 설정
item_widget.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.MinimumExpanding)
# 이미지 처리
image_label = QLabel()
image_label.setFixedSize(150, 150)
image_data = self.scraper.fetch_image_data(result['IDimageURL'])
pixmap = QPixmap()
pixmap.loadFromData(image_data)
# QLabel의 크기에 맞게 이미지 크기 조정
scaled_pixmap = pixmap.scaled(image_label.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation)
image_label.setPixmap(scaled_pixmap)
# QLabel의 가로 세로 중앙에 이미지 표시
image_label.setAlignment(Qt.AlignCenter)
# 이미지 표시 위젯의 크기 조정 정책 설정
image_label.setScaledContents(True)
#이미지 중앙배치를 위해
horizontal_layout = QHBoxLayout()
horizontal_layout.addWidget(image_label)
horizontal_layout.setAlignment(Qt.AlignCenter)
item_layout.addLayout(horizontal_layout)
# item_layout.addWidget(image_label)
# 정보 텍스트
# info_text = f"상표권명: {result['title']}\n등록상태: {result['admin_status']}\nCategory: {result['product_category']}\nApplicant: {result['applicant']}\nPublication Date: {result['publication_date']}\nRegistration Date: {result['registration_date']}"
info_text = f"<span style='font-size: 11pt; font-weight: bold; text-decoration: underline;'>상표권명: {result['title']}</span><br>\n" \
f"<span style='font-size: 11pt; font-weight: bold; text-decoration: underline;'>등록상태: {result['admin_status']}</span><br>\n" \
f"<span style='font-size: 9pt;'>카테고리: {result['product_category']}</span><br>\n" \
f"<span style='font-size: 9pt;'>권리자: {result['applicant']}</span><br>\n" \
f"<span style='font-size: 9pt;'> {result['publication_date']}</span><br>\n" \
f"<span style='font-size: 9pt;'> {result['registration_date']}</span>"
info_label = QLabel(info_text)
info_label.setToolTip(self.wrap_text(result['category_description'], 50))
image_label.setToolTip(self.wrap_text(result['category_description'], 50))
item_layout.addWidget(info_label)
image_label.setStyleSheet(border_style)
info_label.setStyleSheet(border_style)
# 레이아웃에 위젯 추가
row = grid_index // grid_columns
col = grid_index % grid_columns
grid_layout.addLayout(item_layout, row, col)
grid_index += 1
# 결과 위젯에 닫기 버튼 추가
close_button = QPushButton("Close")
close_button.clicked.connect(self.close_results_widget)
layout.addWidget(close_button)
# 결과 위젯을 메인 윈도우에 추가
self.results_widget.setGeometry(300, 300, 600, 300) # 위치와 크기 설정
self.results_widget.setWindowTitle('Search Results') # 타이틀 설정
self.results_widget.show()
except Exception as e:
print(f"Error displaying results: {e}")
def close_results_widget(self):
# 결과 위젯닫기 함수를 호출할 때 사용하는 메서드
self.results_widget.close()
def closeEvent(self, event):
self.scraper.close_browser()
event.accept()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MainApp()
ex.show()
sys.exit(app.exec_())

View File

@ -0,0 +1 @@
H:\py\AutoPercenty\Lib\site-packages\playwright\driver\package

View File

@ -0,0 +1,502 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path d="M 4 15.5 L 0.5 15.5 L 0.5 0.5 L 4 0.5 L 7 7.5 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 254 B

View File

@ -0,0 +1,5 @@
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" id="root">
<rect x="2" y="8" width="12" height="2" fill="currentColor"/>
<rect x="2" y="5" width="12" height="2" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 304 B

View File

@ -0,0 +1,5 @@
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="root">
<rect x="2" y="9.5" width="12" height="2" fill="currentColor"/>
<rect x="2" y="12.5" width="12" height="2" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 297 B

View File

@ -0,0 +1,5 @@
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="root">
<rect x="2" y="3" width="12" height="2" fill="currentColor"/>
<rect x="2" y="11" width="12" height="2" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 293 B

View File

@ -0,0 +1,5 @@
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="root">
<rect x="2" y="1" width="12" height="2" fill="currentColor"/>
<rect x="2" y="12.5" width="12" height="2" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 295 B

View File

@ -0,0 +1,5 @@
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="root">
<rect x="2" y="4" width="12" height="2" fill="currentColor"/>
<rect x="2" y="10" width="12" height="2" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 293 B

View File

@ -0,0 +1,5 @@
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="root">
<rect x="2" y="1" width="12" height="2" fill="currentColor"/>
<rect x="2" y="4" width="12" height="2" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 292 B

View File

@ -0,0 +1,5 @@
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="root">
<rect x="2" y="1" width="12" height="6" fill="currentColor"/>
<rect x="2" y="9" width="12" height="6" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 292 B

View File

@ -0,0 +1,6 @@
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" id="root">
<rect x="3" y="4" width="4" height="7" fill="currentColor"/>
<rect x="9" y="3" width="4" height="9" fill="currentColor"/>
<rect y="7" width="16" height="1" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 362 B

View File

@ -0,0 +1,6 @@
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="root">
<rect x="3" y="7" width="4" height="6" fill="currentColor"/>
<rect x="9" y="5" width="4" height="8" fill="currentColor"/>
<rect y="13" width="16" height="1" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 351 B

View File

@ -0,0 +1,6 @@
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="root">
<rect x="3" y="2" width="4" height="8" fill="currentColor"/>
<rect x="9" y="2" width="4" height="10" fill="currentColor"/>
<rect y="2" width="16" height="1" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 351 B

View File

@ -0,0 +1,7 @@
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="root">
<rect x="3" y="3" width="4" height="10" fill="currentColor"/>
<rect x="9" y="3" width="4" height="10" fill="currentColor"/>
<rect y="13" width="16" height="1" fill="currentColor"/>
<rect y="2" width="16" height="1" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 413 B

View File

@ -0,0 +1,7 @@
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" id="root">
<rect x="2" y="2" width="4" height="6" fill="black"/>
<rect x="8" y="2" width="6" height="6" fill="black"/>
<rect x="10" y="10" width="4" height="4" fill="black"/>
<rect x="2" y="10" width="6" height="4" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 395 B

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright © 2022 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path fill="currentColor" d="M8,0.5 C3.85786438,0.5 0.5,3.85786438 0.5,8 C0.5,12.1421356 3.85786438,15.5 8,15.5 C12.1421356,15.5 15.5,12.1421356 15.5,8 C15.5,3.85786438 12.1421356,0.5 8,0.5 Z M8,1.5 C11.5898509,1.5 14.5,4.41014913 14.5,8 C14.5,11.5898509 11.5898509,14.5 8,14.5 C4.41014913,14.5 1.5,11.5898509 1.5,8 C1.5,4.41014913 4.41014913,1.5 8,1.5 Z M8,11 L8,5 C6.34314575,5 5,6.34314575 5,8 C5,9.65685425 6.34314575,11 8,11 Z M8,2.5 C11.0375661,2.5 13.5,4.96243388 13.5,8 C13.5,11.0375661 11.0375661,13.5 8,13.5 L8,11 C9.65685425,11 11,9.65685425 11,8 C11,6.34314575 9.65685425,5 8,5 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 788 B

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2020 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<style>
g:not(:target) {
display: none;
}
#light {
color: black;
}
#dark {
color: white;
}
</style>
</defs>
<symbol id="i" stroke="none" stroke-width="1" fill="currentColor" opacity="0.6" viewBox="0 0 32 32">
<path fill-opacity="0.05" d="M 1.012 4.495 L 10.491 4.495 C 11.064 4.495 11.616 4.71 12.038 5.098 L 20.717 13.069 C 21.189 13.502 21.458 14.113 21.458 14.754 L 21.458 31.424 L 1.012 31.424 L 1.012 4.495 Z" fill="currentColor" stroke="currentColor"/>
<path fill-opacity="0.1" d="M 7.827 4.495 C 10.986 4.495 11.382 4.495 11.382 6.988 L 11.382 13.749 L 18.856 13.749 C 21.349 13.749 21.458 15.452 21.458 17.959 L 21.458 31.424 L 1.012 31.424 L 1.012 4.495 L 7.827 4.495 Z" fill="currentColor" stroke="currentColor"/>
<path fill-opacity="0.05" d="M 21.458 27.429 L 21.458 14.77 C 21.458 14.119 21.185 13.498 20.705 13.058 L 12.049 5.108 C 11.623 4.717 11.068 4.499 10.491 4.495 L 10.491 0.5 L 19.955 0.5 C 20.538 0.5 21.099 0.719 21.528 1.113 L 30.185 9.063 C 30.664 9.503 30.937 10.124 30.937 10.775 L 30.937 27.429 L 21.458 27.429 Z" fill="currentColor" stroke="currentColor"/>
<path fill-opacity="0.4" d="M 21.458 27.429 L 21.458 14.77 C 21.458 14.119 21.185 13.498 20.705 13.058 L 12.049 5.108 C 11.623 4.717 11.068 4.499 10.491 4.495 L 10.491 0.5 L 17.306 0.5 C 20.465 0.5 20.861 0.5 20.861 2.993 L 20.861 9.754 L 28.335 9.754 C 30.828 9.754 30.937 11.457 30.937 13.964 L 30.937 27.429 L 21.458 27.429 Z" fill="currentColor" stroke="currentColor"/>
</symbol>
<g id="light"><use href="#i"/></g>
<g id="dark"><use href="#i"/></g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0"?>
<!-- Copyright © 2017 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" width="16" height="16" viewBox="0 0 16 16">
<path stroke="currentColor" fill="none" d="M3.5 7.5 L7.5 3.5 l4 4"/>
<path stroke="currentColor" fill="none" d="M7.5 13 V4"/>
</svg>

After

Width:  |  Height:  |  Size: 330 B

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2018 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect fill="none" stroke="currentColor" x="0.5" y="0.5" width="15" height="15" rx="2"/>
<path fill="none" stroke-linecap="round" stroke="currentColor" d="M 3.5 5.5 L 12.5 5.5"/>
<path fill="none" stroke-linecap="round" stroke="currentColor" d="M 12.5 5.5 L 9.5 2.5"/>
<path fill="none" stroke-linecap="round" stroke="currentColor" d="M 12.5 5.5 L 9.5 8.5"/>
<path fill="none" stroke-linecap="round" stroke="currentColor" d="M 3.5 10.5 L 12.5 10.5"/>
<path fill="none" stroke-linecap="round" stroke="currentColor" d="M 3.5 10.5 L 6.5 7.5"/>
<path fill="none" stroke-linecap="round" stroke="currentColor" d="M 3.5 10.5 L 6.5 13.5"/>
</svg>

After

Width:  |  Height:  |  Size: 849 B

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2018 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 12 12">
<path fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M 11 6 L 2 1 v 10 z"/>
</svg>

After

Width:  |  Height:  |  Size: 338 B

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2018 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 12 12">
<path fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M 2 2 h 8 v 8 H 2 z"/>
</svg>

After

Width:  |  Height:  |  Size: 338 B

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2018 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path fill="rgb(216, 82, 92)" stroke="rgb(219, 25, 34)" stroke-width="0.5" stroke-miterlimit="10" d="M 10.7 1.5 H 5.3 L 1.5 5.3 v 5.4 l 3.8 3.8 h 5.4 l 3.8 -3.8 V 5.3 z"/>
<path fill="white" d="M 8 9.165 c -0.588 0 -1.165 -0.665 -1.165 -1.341 V 4.176 c 0 -0.802 0.468 -1.341 1.165 -1.341 s 1.165 0.539 1.165 1.341 v 3.648 c 0 0.677 -0.577 1.341 -1.165 1.341 z"/>
<path fill="rgb(219, 25, 34)" d="M 8 3 c 0.6 0 1 0.47 1 1.177 v 3.647 C 9 8.412 8.5 9 8 9 s -1 -0.588 -1 -1.176 V 4.177 C 7 3.47 7.4 3 8 3 m 0 -0.33 c -0.783 0 -1.33.62 -1.33 1.506 v 3.648 c 0 0.774 0.646 1.506 1.33 1.506 s 1.33 -0.732 1.33 -1.506 V 4.177 C 9.33 3.29 8.783 2.67 8 2.67 z"/>
<circle fill="white" cx="8" cy="11.5" r="1.415"/>
<path fill="rgb(219, 25, 34)" d="M 8 10.25 a 1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0 -2.5 m 0 -0.33 c -0.871 0 -1.58 0.709 -1.58 1.58 s 0.709 1.58 1.58 1.58 1.58 -0.709 1.58 -1.58 S 8.871 9.92 8 9.92 z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2018 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path fill="rgb(216, 82, 92)" stroke="rgb(219, 25, 34)" stroke-width="0.5" stroke-miterlimit="10" d="M 7.3 14.7 l -6 -6 c -0.4 -0.4 -0.4 -1.1 0 -1.5 l 6 -6 c 0.4 -0.4 1.1 -0.4 1.5 0 l 6 6 c 0.4 0.4 0.4 1.1 0 1.5 l -6 6 c -0.5 0.4 -1.1 0.4 -1.5 0 z"/>
<path fill="white" d="M 10.191 11.206 a 0.162 0.162 0 0 1 -0.116 -0.049 L 8 9.082 l -2.075 2.075 a 0.164 0.164 0 0 1 -0.234 0 l -0.848 -0.848 a 0.164 0.164 0 0 1 0 -0.233 L 6.918 8 4.843 5.925 a 0.165 0.165 0 0 1 0 -0.234 l 0.848 -0.848 a 0.165 0.165 0 0 1 0.234 0 L 8 6.918 l 2.075 -2.075 a 0.163 0.163 0 0 1 0.233 0 l 0.848 0.848 a 0.165 0.165 0 0 1 0 0.234 L 9.082 8 l 2.075 2.076 a 0.165 0.165 0 0 1 0 0.233l -0.85 0.848 a 0.161 0.161 0 0 1 -0.116 0.05 z"/>
<path fill="rgb(219, 25, 34)" d="M 10.192 4.96 l 0.848 0.848 L 8.848 8 l 2.192 2.192 -0.848 0.849 L 8 8.848 5.808 11.04 l -0.849 -0.848 L 7.151 8 4.96 5.808 l 0.849 -0.849 L 8 7.152 l 2.192 -2.192 m 0 -0.33 a 0.329 0.329 0 0 0 -0.233 0.096 l -1.96 1.959 -1.958 -1.959 a 0.329 0.329 0 0 0 -0.467 0 l -0.848 0.849 a 0.33 0.33 0 0 0 0 0.466 L 6.685 8 4.726 9.959 a 0.33 0.33 0 0 0 0 0.466 l 0.849 0.849 a 0.33 0.33 0 0 0 0.466 0 L 8 9.315 l 1.959 1.959 a 0.33 0.33 0 0 0 0.466 0 l 0.849 -0.849 a 0.33 0.33 0 0 0 0 -0.466 L 9.315 8 l 1.959 -1.959 a 0.33 0.33 0 0 0 0 -0.466 l -0.849 -0.849 a 0.33 0.33 0 0 0 -0.233 -0.096 z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2018 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<circle fill="rgb(202, 202, 202)" stroke="rgb(153, 153, 153)" stroke-width="0.5" stroke-miterlimit="10" cx="8" cy="8" r="6.5"/>
<path fill="white" stroke="rgb(153, 153, 153)" stroke-width="0.33" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M 9.25 11.563 a 1.25 1.25 0 1 1 -2.5 0 1.25 1.25 0 0 1 2.5 0 z m -0.973 -8.25 c 1.653 0 2.973 0.832 2.973 2.486 0 1.159 -0.642 1.622 -1.23 1.992 -0.708 0.444 -1 0.632 -1 1.271 v 0.25 H 6.951 l -0.018 -0.131 c -0.136 -1.015 0.137 -1.722 0.946 -2.205 0.559 -0.332 0.933 -0.563 0.933 -1.052 0 -0.47 -0.339 -0.695 -0.69 -0.695 -0.422 0 -0.683 0.338 -0.695 0.783 h -2.17 c -0.12 -1.854 1.35 -2.7 3.02 -2.7 z"/>
</svg>

After

Width:  |  Height:  |  Size: 872 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2018 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path fill="rgb(181, 201, 116)" stroke="rgb(148, 172, 85)" stroke-width="0.5" stroke-miterlimit="10" d="M 7.3 14.7 l -6 -6 c -0.4 -0.4 -0.4 -1.1 0 -1.5 l 6 -6 c 0.4 -0.4 1.1 -0.4 1.5 0 l 6 6 c 0.4 0.4 0.4 1.1 0 1.5 l -6 6 c -0.5 0.4 -1.1 0.4 -1.5 0 z"/>
<path fill="white" d="M 6.9 11.465 a 0.164 0.164 0 0 1 -0.127 -0.06 l -2.4 -2.9 a 0.165 0.165 0 0 1 -0.002 -0.208 l 0.8 -1 a 0.165 0.165 0 0 1 0.127 -0.062 H 5.3 c 0.049 0 0.095 0.021 0.126 0.058 l 1.472 1.749 3.175 -3.847 a 0.165 0.165 0 0 1 0.127 -0.06 h 0.001 c 0.05 0 0.097 0.023 0.128 0.062 l 0.8 1 a 0.165 0.165 0 0 1 -0.001 0.207 l -4.1 5 a 0.164 0.164 0 0 1 -0.128 0.06 z"/>
<path fill="rgb(148, 172, 85)" d="M 10.2 5.3 l 0.8 1 -4.1 5 -2.4 -2.9 0.8 -1 1.6 1.9 3.3 -4 m 0 -0.33 a 0.33 0.33 0 0 0 -0.255 0.12 L 6.897 8.785 5.552 7.187 A 0.33 0.33 0 0 0 5.3 7.07 h -0.004 a 0.33 0.33 0 0 0 -0.254 0.124 l -0.8 1 a 0.33 0.33 0 0 0 0.004 0.416 l 2.4 2.9 a 0.33 0.33 0 0 0 0.51 -0.001 l 4.1 -5 a 0.33 0.33 0 0 0 0.002 -0.415 l -0.8 -1 a 0.33 0.33 0 0 0 -0.256 -0.124 H 10.2 z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2018 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path fill="rgb(202, 202, 202)" stroke="rgb(153, 153, 153)" stroke-width="0.5" stroke-miterlimit="10" d="M 7.3 14.7 l -6 -6 c -0.4 -0.4 -0.4 -1.1 0 -1.5 l 6 -6 c 0.4 -0.4 1.1 -0.4 1.5 0 l 6 6 c 0.4 0.4 0.4 1.1 0 1.5 l -6 6 c -0.5 0.4 -1.1 0.4 -1.5 0 z"/>
<path fill="white" d="M 4.5 9.2 c -0.4 0 -0.7 -0.3 -0.7 -0.7 v -1 c 0 -0.4 0.3 -0.7 0.7 -0.7 h 7 c 0.4 0 0.7 0.3 0.7 0.7 v 1 c 0 0.4 -0.3 0.7 -0.7 0.7 h -7 z"/>
<path fill="rgb(153, 153, 153)" d="M 11.5 7 c 0.3 0 0.5 0.2 0.5 0.5 v 1 c 0 0.3 -0.2 0.5 -0.5 0.5 h -7 c -0.3 0 -0.5 -0.2 -0.5 -0.5 v -1 c 0 -0.3 0.2 -0.5 0.5 -0.5 h 7 m 0 -0.3 h -7 c -0.5 0 -0.8 0.3 -0.8 0.8 v 1 c 0 0.5 0.3 0.8 0.8 0.8 h 7 c 0.5 0 0.8 -0.4 0.8 -0.8 v -1 c 0 -0.5 -0.3 -0.8 -0.8 -0.8 z"/>
</svg>

After

Width:  |  Height:  |  Size: 924 B

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2018 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path fill="rgb(243, 222, 156)" stroke="rgb(201, 181, 118)" stroke-width="0.5" stroke-miterlimit="10" d="M 7.3 14.7 l -6 -6 c -0.4 -0.4 -0.4 -1.1 0 -1.5 l 6 -6 c 0.4 -0.4 1.1 -0.4 1.5 0 l 6 6 c 0.4 0.4 0.4 1.1 0 1.5 l -6 6 c -0.5 0.4 -1.1 0.4 -1.5 0 z"/>
<circle fill="white" cx="8" cy="11.5" r="1.415"/>
<path fill="rgb(201, 181, 118)" d="M 8 10.25 a 1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0 -2.5 m 0 -0.33 c -0.871 0 -1.58 0.709 -1.58 1.58 s 0.709 1.58 1.58 1.58 1.58 -0.709 1.58 -1.58 S 8.871 9.92 8 9.92 z"/>
<path fill="white" d="M 8 9.165 A 1.166 1.166 0 0 1 6.835 8 V 4 a 1.166 1.166 0 0 1 2.33 0 v 4 c 0 0.643 -0.522 1.165 -1.165 1.165 z"/>
<path fill="rgb(201, 181, 118)" d="M 8 3 c 0.55 0 1 0.45 1 1 v 4 c 0 0.55 -0.45 1 -1 1 s -1 -0.45 -1 -1 V 4 c 0 -0.55 0.45 -1 1 -1 m 0 -0.33 c -0.733 0 -1.33 0.597 -1.33 1.33 v 4 c 0 0.733 0.597 1.33 1.33 1.33 S 9.33 8.733 9.33 8 V 4 c 0 -0.733 -0.597 -1.33 -1.33 -1.33 z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2015 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<style>
svg[id] {
display: none;
}
svg[id]:target {
display: initial;
}
svg[id $= "-normal"] {
fill: hsl(0, 0%, 33%);
}
svg[id $= "-active"] {
fill: hsl(0, 0%, 16.5%);
}
</style>
<defs>
<symbol id="left-arrow-symbol" viewBox="0 0 10 16"><path fill="inherit" d="M 3.20540064 7.75983283 L 9.3448 1.6244 L 7.7388 0.0174 L -0.0002 7.7514 L 0.0091993759 7.76080523 L 0.0018 7.7682 L 7.7358 15.5072 L 9.3428 13.9012 L 3.20540064 7.75983283 Z"/></symbol>
<symbol id="right-arrow-symbol" viewBox="0 0 10 16"><path fill="inherit" d="M 6.13924933 7.75978283 L 0.0018 13.9012 L 1.6088 15.5072 L 9.3428 7.7682 L 9.33545066 7.76085523 L 9.3449 7.7514 L 1.6059 0.0174 L -0.0001 1.6244 L 6.13924933 7.75978283 Z"/></symbol>
</defs>
<svg id="left-arrow-mask"><use fill="currentColor" xlink:href="#left-arrow-symbol"/></svg>
<svg id="left-arrow-normal"><use xlink:href="#left-arrow-symbol"/></svg>
<svg id="left-arrow-active"><use xlink:href="#left-arrow-symbol"/></svg>
<svg id="right-arrow-mask"><use fill="currentColor" xlink:href="#right-arrow-symbol"/></svg>
<svg id="right-arrow-normal"><use xlink:href="#right-arrow-symbol"/></svg>
<svg id="right-arrow-active"><use xlink:href="#right-arrow-symbol"/></svg>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2017-2020 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<style>
g:not(:target) {
display: none;
}
#light {
--stroke: black;
--backfill: white;
}
#dark {
--stroke: white;
--backfill: black;
}
</style>
</defs>
<symbol id="i" viewBox="0 0 16 16" stroke="none" stroke-width="1" fill="none">
<circle cx="8" cy="8" r="5" fill="var(--backfill)" />
<circle cx="8" cy="8" r="5.5" stroke="var(--stroke)" opacity="0.65" />
<circle cx="8" cy="8" r="3" stroke="var(--stroke)" opacity="0.9" fill="none"/>
<circle cx="8" cy="8" r="0.5" stroke="var(--stroke)" fill="none"/>
</symbol>
<g id="light"><use href="#i"/></g>
<g id="dark"><use href="#i"/></g>
</svg>

After

Width:  |  Height:  |  Size: 980 B

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2020 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path d="M 4 2 V 4 H 2 V 14 H 12 V 12 H 14 V 2 Z M 5.5 10.5 V 3.5 H 12.5 V 10.5 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 279 B

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2019 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 23 12">
<polygon points="0.5 0.5 17.355 0.5 21.904 6 17.355 11.5 0.5 11.5 0.5 0.5"/>
</svg>

After

Width:  |  Height:  |  Size: 271 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2013 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 21 12">
<path fill="rgba(255, 255, 255, 0.33)" d="M 17 12 L 0 12 L 0 1 L 17 1 L 21 6.5 Z"/>
<path fill="rgb(34, 111, 176)" d="M 17 11 L 0 11 L 0 0 L 17 0 L 21 5.5 Z"/>
<path fill="rgb(100, 154, 201)" d="M 1 10 C 1 8.515625 1 2.484375 1 1 C 2.714844 1 15.585938 1 16.488281 1 C 16.941406 1.621094 19.136719 4.640625 19.761719 5.5 C 19.136719 6.359375 16.941406 9.378906 16.488281 10 C 15.585938 10 2.714844 10 1 10"/>
</svg>

After

Width:  |  Height:  |  Size: 611 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2013 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 21 12">
<path fill="rgba(255, 255, 255, 0.33)" d="M 17 12 L 0 12 L 0 1 L 17 1 L 21 6.5 Z"/>
<path fill="rgb(134, 134, 134)" d="M 17 11 L 0 11 L 0 0 L 17 0 L 21 5.5 Z"/>
<path fill="rgb(172, 174, 176)" d="M 1 10 C 1 8.515625 1 2.484375 1 1 C 2.714844 1 15.585938 1 16.488281 1 C 16.941406 1.621094 19.136719 4.640625 19.761719 5.5 C 19.136719 6.359375 16.941406 9.378906 16.488281 10 C 15.585938 10 2.714844 10 1 10"/>
</svg>

After

Width:  |  Height:  |  Size: 612 B

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2014 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 15 15">
<path d="M 0.5 3.5 L 0.5 11.5 L 10.5 11.5 L 14.5 7.5 L 10.5 3.5 L 0.5 3.5 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 273 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2017 Devin Rousso <webkit@devinrousso.com>. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect fill="currentColor" x="0" y="0" width="16" height="16" rx="3" ry="3"/>
<rect fill="white" x="3.5" y="4.5" width="9" height="2.5"/>
<rect fill="white" x="3.5" y="9" width="9" height="2.5"/>
</svg>

After

Width:  |  Height:  |  Size: 425 B

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2019 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 13">
<path fill="currentColor" d="M 13 1 L 3 1 C 1.898438 1 1 1.898438 1 3 L 1 10 C 1 11.101562 1.898438 12 3 12 L 13 12 C 14.101562 12 15 11.101562 15 10 L 15 3 C 15 1.898438 14.101562 1 13 1 M 13 2 C 13.550781 2 14 2.449219 14 3 L 14 10 C 14 10.550781 13.550781 11 13 11 L 3 11 C 2.449219 11 2 10.550781 2 10 L 2 3 C 2 2.449219 2.449219 2 3 2 L 13 2"/>
<path fill="currentColor" d="M 12 6 L 7 6 L 7 4 L 12 4 Z"/>
<path fill="currentColor" d="M 12 9 L 7 9 L 7 7 L 12 7 Z"/>
<path fill="currentColor" fill-opacity="0.7" d="M 6 9 L 4 9 L 4 4 L 6 4 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 753 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path d="M 12 3.5 L 11.5 2.41528547 C 11.5 2.41528547 11.0826911 1.5 10.5 1.5 L 5.5 1.5 C 4.91636759 1.5 4.5 2.41528544 4.5 2.41528544 L 4 3.5 L 2.38174379 3.5 C 2.38174379 3.5 0.5 3.65837937 0.5 5.5 L 0.5 12.5 C 0.5 14.3416206 2.38174379 14.5 2.38174379 14.5 L 13.5 14.5 C 13.5 14.5 15.5 14.3416206 15.5 12.5 L 15.5 5.5 C 15.5 3.65837937 13.5 3.5 13.5 3.5 L 12 3.5 Z" fill="none" stroke="currentColor"/>
<path d="M 8 12.5 C 10.209139 12.5 12 10.709139 12 8.5 C 12 6.290861 10.209139 4.5 8 4.5 C 5.790861 4.5 4 6.290861 4 8.5 C 4 10.709139 5.790861 12.5 8 12.5 Z" fill="none" stroke="currentColor"/>
<path d="M 8 10.5 C 9.1045695 10.5 10 9.6045695 10 8.5 C 10 7.3954305 9.1045695 6.5 8 6.5 C 6.8954305 6.5 6 7.3954305 6 8.5 C 6 9.6045695 6.8954305 10.5 8 10.5 Z" fill="none" stroke="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 1001 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2017 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect x="1.5" y="1.5" width="13" height="13" rx="1.5" ry="1.5" fill="#fff" stroke="#4d4d4d"/>
<path d="M11,9,9,11,6,8,3,11v1.3a.7.7,0,0,0,.7.7h8.6a.7.7,0,0,0,.7-.7V11Z" fill="#666"/>
<circle cx="10.5" cy="5.5" r="1.75" fill="#666"/>
</svg>

After

Width:  |  Height:  |  Size: 435 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2017 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect x="1.5" y="1.5" width="13" height="13" rx="1.5" ry="1.5" fill="#fff" stroke="#4d4d4d"/>
<polygon points="12.109 10.361 8.451 12.469 8 12.731 7.549 12.469 3.891 10.361 3.891 5.63 4.207 5.45 7.982 3.269 11.775 5.45 12.1 5.639 12.1 6.315 12.109 10.361" fill="#ccc" stroke="#666"/>
<path d="M12.1,5.639,8,8,3.891,5.63M8,8v4.731" fill="none" stroke="#666"/>
</svg>

After

Width:  |  Height:  |  Size: 561 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2017 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect x="0.5" y="2.5" width="13" height="10" fill="none" stroke="currentColor"/>
<polyline points="2 14.5 15.5 14.5 15.5 4" fill="none" stroke="currentColor"/>
<polygon points="10 7 8 10 5 6 2 10 2 11 12 11 12 10 10 7"/>
</svg>

After

Width:  |  Height:  |  Size: 423 B

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2015 Apple Inc. All rights reserved. -->
<svg id="root" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 6">
<rect fill="rgb(204, 204, 204)" width="3" height="3"/>
<rect fill="rgb(204, 204, 204)" x="3" y="3" width="3" height="3"/>
</svg>

After

Width:  |  Height:  |  Size: 304 B

View File

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<!-- Copyright © 2014 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 13 13">
<circle fill="currentColor" cx="6.5" cy="6.5" r="4"/>
</svg>

After

Width:  |  Height:  |  Size: 231 B

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2017 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<circle cx="3.606" cy="11.224" r="1.606" fill="none" stroke="currentColor"/>
<path d="M 14 4.6 l -9.734 5.62 L 3.73 9.3 l 8.807 -5.085 A 1.074 1.074 0 0 1 14 4.6 Z"/>
<circle cx="3.606" cy="4.606" r="1.606" fill="none" stroke="currentColor"/>
<path d="M 14 11.225 4.266 5.6 l -0.535 0.927 8.807 5.085 A 1.074 1.074 0 0 0 14 11.225 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 542 B

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2020 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%">
<defs>
<style>
g:not(:target) {
display: none;
}
.light {
color: black;
--paper: hsl(0, 0%, 85%);
--corner: hsl(0, 0%, 90%);
--css-color: hsl(2, 84%, 33%);
--js-color: hsl(265, 61%, 51%);
}
.dark {
color: white;
--paper: hsl(0, 0%, 31%);
--corner: hsl(0, 0%, 26%);
--css-color: hsl(360, 100%, 70%);
--js-color: hsl(255, 100%, 80%);
}
</style>
</defs>
<symbol id="clip" stroke="currentColor" stroke-width="1" viewBox="0 0 32 32">
<path fill="var(--paper)" d="M 29.004 2.996 L 29.004 18.66 C 29.004 19.167 28.811 19.655 28.464 20.026 L 20.659 28.37 C 20.281 28.774 19.752 29.004 19.199 29.004 L 2.996 29.004 L 2.996 2.996 L 29.004 2.996 Z"/>
<path fill="var(--corner)" d="M 29.004 15.62 C 29.004 18.615 29.004 18.99 26.595 18.99 L 21.009 18.99 L 21.009 26.536 C 21.009 28.901 19.364 29.004 16.942 29.004 L 2.996 29.004 L 2.996 2.996 L 29.004 2.996 L 29.004 15.62 Z"/>
</symbol>
<symbol id="css" fill="var(--css-color)" stroke="none" viewBox="0 0 32 32">
<path d="M 7.734 13.275 C 8.670 13.275 9.255 12.587 9.274 11.475 L 11.084 11.475 C 11.084 13.639 9.802 14.963 7.74 14.963 C 5.496 14.963 4.176 13.487 4.176 10.972 L 4.176 9.020 C 4.176 6.506 5.496 5.030 7.74 5.030 C 9.827 5.030 11.065 6.347 11.078 8.603 L 9.268 8.603 C 9.249 7.459 8.633 6.718 7.709 6.718 C 6.609 6.718 6.031 7.512 6.031 9.020 L 6.031 10.972 C 6.031 12.488 6.609 13.275 7.734 13.275 Z M 12.05 12.097 L 13.759 12.097 C 13.842 12.925 14.493 13.401 15.539 13.401 C 16.534 13.401 17.165 12.905 17.165 12.131 C 17.165 11.482 16.757 11.138 15.692 10.893 L 14.735 10.661 C 13.071 10.271 12.254 9.358 12.254 7.942 C 12.254 6.162 13.523 5.030 15.513 5.030 C 17.440 5.030 18.734 6.148 18.792 7.856 L 17.082 7.856 C 17.012 7.068 16.432 6.585 15.533 6.585 C 14.620 6.585 14.053 7.029 14.053 7.743 C 14.053 8.418 14.461 8.789 15.456 9.014 L 16.400 9.239 C 18.179 9.649 18.958 10.476 18.958 11.939 C 18.958 13.825 17.656 14.963 15.507 14.963 C 13.421 14.963 12.114 13.884 12.05 12.097 Z M 19.924 12.097 L 21.633 12.097 C 21.716 12.925 22.366 13.401 23.412 13.401 C 24.407 13.401 25.039 12.905 25.039 12.131 C 25.039 11.482 24.631 11.138 23.566 10.893 L 22.609 10.661 C 20.944 10.271 20.128 9.358 20.128 7.942 C 20.128 6.162 21.397 5.030 23.387 5.030 C 25.313 5.030 26.608 6.148 26.665 7.856 L 24.956 7.856 C 24.886 7.068 24.305 6.585 23.406 6.585 C 22.494 6.585 21.926 7.029 21.926 7.743 C 21.926 8.418 22.335 8.789 23.330 9.014 L 24.274 9.239 C 26.053 9.649 26.831 10.476 26.831 11.939 C 26.831 13.825 25.530 14.963 23.381 14.963 C 21.295 14.963 19.987 13.884 19.924 12.097 Z"/>
</symbol>
<symbol id="js" fill="var(--js-color)" stroke="none" viewBox="0 0 32 32">
<path d="M 11.415 16 C 9.405 16 8.106 14.776 8.099 12.876 L 9.972 12.876 C 9.993 13.703 10.560 14.243 11.387 14.243 C 12.290 14.243 12.782 13.696 12.782 12.691 L 12.782 7.605 L 9.241 7.605 L 9.241 5.938 L 14.730 5.938 L 14.730 12.719 C 14.730 14.790 13.500 16 11.415 16 Z M 15.505 13.040 L 17.337 13.040 C 17.426 13.895 18.123 14.387 19.244 14.387 C 20.311 14.387 20.987 13.874 20.987 13.074 C 20.987 12.404 20.550 12.049 19.408 11.796 L 18.383 11.557 C 16.599 11.153 15.724 10.210 15.724 8.747 C 15.724 6.908 17.084 5.739 19.217 5.739 C 21.281 5.739 22.669 6.895 22.731 8.658 L 20.898 8.658 C 20.823 7.845 20.201 7.346 19.237 7.346 C 18.260 7.346 17.651 7.804 17.651 8.542 C 17.651 9.239 18.089 9.622 19.155 9.854 L 20.167 10.087 C 22.074 10.511 22.908 11.365 22.908 12.876 C 22.908 14.824 21.514 16 19.210 16 C 16.975 16 15.573 14.886 15.505 13.040 Z"/>
</symbol>
<symbol id="range" fill="currentColor" stroke="none" viewBox="0 0 32 32">
<path fill="currentColor" d="M 11.645 11.837 C 11.645 14.334 10.570 15.822 8.791 15.822 C 7.012 15.822 5.937 14.334 5.937 11.837 L 5.937 10.461 C 5.937 7.965 7.012 6.477 8.791 6.477 C 10.570 6.477 11.645 7.965 11.645 10.461 L 11.645 11.837 Z M 17.787 21.562 C 17.787 24.059 16.712 25.547 14.933 25.547 C 13.155 25.547 12.080 24.059 12.080 21.562 L 12.080 20.186 C 12.080 17.689 13.155 16.201 14.933 16.201 C 16.712 16.201 17.787 17.689 17.787 20.186 L 17.787 21.562 Z M 8.791 14.253 C 9.686 14.253 10.159 13.438 10.159 11.819 L 10.159 10.480 C 10.159 8.861 9.686 8.046 8.791 8.046 C 7.896 8.046 7.423 8.861 7.423 10.480 L 7.423 11.819 C 7.423 13.438 7.896 14.253 8.791 14.253 Z M 14.933 23.978 C 15.828 23.978 16.301 23.162 16.301 21.543 L 16.301 20.205 C 16.301 18.586 15.828 17.770 14.933 17.770 C 14.039 17.770 13.566 18.586 13.566 20.205 L 13.566 21.543 C 13.566 23.162 14.039 23.978 14.933 23.978 Z M 17.787 15.377 L 12.203 15.377 L 12.203 14.100 L 14.254 14.100 L 14.254 7.730 L 12.308 7.730 L 12.308 6.453 L 15.859 6.453 L 15.859 14.100 L 17.787 14.100 L 17.787 15.377 Z M 11.645 25.377 L 6.061 25.377 L 6.061 24.100 L 8.111 24.100 L 8.111 17.730 L 6.166 17.730 L 6.166 16.453 L 9.717 16.453 L 9.717 24.100 L 11.645 24.100 L 11.645 25.377 Z"/>
</symbol>
<g id="generic-light" class="light"><use href="#clip"/></g>
<g id="generic-dark" class="dark"><use href="#clip"/></g>
<g id="css-light" class="light"><use href="#clip"/><use href="#css"/></g>
<g id="css-dark" class="dark"><use href="#clip"/><use href="#css"/></g>
<g id="js-light" class="light"><use href="#clip"/><use href="#js"/></g>
<g id="js-dark" class="dark"><use href="#clip"/><use href="#js"/></g>
<g id="range-light" class="light"><use href="#clip"/><use href="#range"/></g>
<g id="range-dark" class="dark"><use href="#clip"/><use href="#range"/></g>
</svg>

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2014 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 14">
<path fill="none" stroke="currentColor" stroke-linecap="square" d="M 4.5 4.5 L 11.5 11.5 M 4.5 11.5 L 11.5 4.5"/>
</svg>

After

Width:  |  Height:  |  Size: 308 B

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2014 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path fill="none" stroke="currentColor" stroke-linecap="square" d="M 2.5 2.5 L 13.5 13.5 M 2.5 13.5 L 13.5 2.5"/>
</svg>

After

Width:  |  Height:  |  Size: 308 B

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2013 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 14">
<path fill="white" d="M 12.949219 10.535156 L 11.535156 11.949219 L 8 8.414062 L 4.464844 11.949219 L 3.050781 10.535156 L 6.585938 7 L 3.050781 3.464844 L 4.464844 2.050781 L 8 5.585938 L 11.535156 2.050781 L 12.949219 3.464844 L 9.414062 7 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2016 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect fill="none" stroke="currentColor" x="0.5" y="0.5" width="15" height="15" rx="2"/>
<path fill="none" stroke-linecap="round" stroke="currentColor" d="M 3.5 5.5 L 12.5 5.5"/>
<path fill="none" stroke-linecap="round" stroke="currentColor" d="M 12.5 5.5 L 9.5 2.5"/>
<path fill="none" stroke-linecap="round" stroke="currentColor" d="M 12.5 5.5 L 9.5 8.5"/>
<path fill="none" stroke-linecap="round" stroke="currentColor" d="M 3.5 10.5 L 12.5 10.5"/>
<path fill="none" stroke-linecap="round" stroke="currentColor" d="M 3.5 10.5 L 6.5 7.5"/>
<path fill="none" stroke-linecap="round" stroke="currentColor" d="M 3.5 10.5 L 6.5 13.5"/>
</svg>

After

Width:  |  Height:  |  Size: 849 B

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2017 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<polygon points="8 11.333 3.25 8.167 2 9 8 13 14 9 12.75 8.167 8 11.333"/>
<polygon points="8 2 2 6 8 10 14 6 8 2"/>
</svg>

After

Width:  |  Height:  |  Size: 315 B

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2022 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path fill="currentColor" fill-rule="evenodd" d="M1.264,13L6,13L6,14.5L5.732,14.5C5.456,14.5 5.232,14.724 5.232,15C5.232,15.276 5.456,15.5 5.732,15.5L10.232,15.5C10.508,15.5 10.732,15.276 10.732,15C10.732,14.724 10.508,14.5 10.232,14.5L10,14.5L10,13L14.736,13C15.433,13 16,12.433 16,11.736L16,2.264C16,1.567 15.433,1 14.736,1L1.264,1C0.567,1 -0,1.567 -0,2.264L-0,11.736C-0,12.433 0.567,13 1.264,13ZM15,2L1,2L1,12L15,12L15,2Z"/>
<rect fill="currentColor" fill-opacity="0.25" x="1" y="2" width="14" height="10"/>
</svg>

After

Width:  |  Height:  |  Size: 709 B

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2015 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect fill="none" stroke="currentColor" x="0.5" y="0.5" width="15" height="15" rx="2"/>
<path fill="none" stroke="currentColor" d="M 4 4 L 8 8 L 4 12"/>
<path fill="none" stroke="currentColor" d="M 8 4.5 L 12 4.5"/>
<path fill="none" stroke="currentColor" d="M 10 8 L 12 8"/>
<path fill="none" stroke="currentColor" d="M 8 11.5 L 12 11.5"/>
</svg>

After

Width:  |  Height:  |  Size: 551 B

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2017 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect x="1.5" y="2.5" width="13" height="11" fill="none" stroke="currentColor"/>
<polygon points="11 8 9 11 6 7 3 11 3 12 13 12 13 11 11 8"/>
</svg>

After

Width:  |  Height:  |  Size: 340 B

View File

@ -0,0 +1,154 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright © 2020 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<defs>
<style>
:root {
--caramel: hsl(36, 65%, 40%);
--shading: black;
}
</style>
<radialGradient id="a" cx="50%" cy="0%" r="86.79%" fx="50%" fy="0%" gradientTransform="matrix(0 .98883 -1 0 .5 -.494)">
<stop offset="0%" stop-color="hsl(42, 62%, 73%)"/>
<stop offset="100%" stop-color="hsl(38, 45%, 53%)"/>
</radialGradient>
<filter id="c" width="123.9%" height="125.5%" x="-12%" y="-12.8%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<filter id="e" width="121.7%" height="122.9%" x="-10.9%" y="-11.5%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<filter id="g" width="118.5%" height="125.8%" x="-9.3%" y="-12.9%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<filter id="i" width="137.7%" height="123%" x="-18.9%" y="-11.5%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<filter id="k" width="148.3%" height="138.8%" x="-24.2%" y="-19.4%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<filter id="m" width="147.3%" height="139.3%" x="-23.6%" y="-19.6%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<filter id="o" width="148.2%" height="137.2%" x="-24.1%" y="-18.6%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<filter id="q" width="146.1%" height="130.3%" x="-23%" y="-15.2%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<filter id="s" width="139.5%" height="132.5%" x="-19.7%" y="-16.2%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<circle id="t" cx="16.122" cy="18.434" r="1.452"/>
<filter id="u" width="134.4%" height="134.4%" x="-17.2%" y="-17.2%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<filter id="w" width="160.2%" height="137%" x="-30.1%" y="-18.5%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<filter id="y" width="130.5%" height="129.6%" x="-15.2%" y="-14.8%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<filter id="A" width="130.1%" height="140.9%" x="-15.1%" y="-20.5%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<filter id="C" width="155%" height="139.7%" x="-27.5%" y="-19.8%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
<filter id="E" width="127%" height="150.7%" x="-13.5%" y="-25.4%" filterUnits="objectBoundingBox">
<feGaussianBlur in="SourceAlpha" result="shadowBlurInner1" stdDeviation=".25"/>
<feOffset dy="-.5" in="shadowBlurInner1" result="shadowOffsetInner1"/>
<feComposite in="shadowOffsetInner1" in2="SourceAlpha" k2="-1" k3="1" operator="arithmetic" result="shadowInnerInner1"/>
<feColorMatrix in="shadowInnerInner1" values="0 0 0 0 0.25 0 0 0 0 0.1 0 0 0 0 0.01 0 0 0 2 0"/>
</filter>
</defs>
<path id="b" d="M 20.8602372 19.1218424 C 21.2926034 18.6894762 22.6821753 19.4536119 23.1145415 19.8859781 L 23.9917101 20.6875788 C 24.4240762 21.119945 24.9990011 21.7040743 24.5666349 22.5203162 C 24.1342687 23.336558 22.8583398 22.6856814 22.4259736 22.2533153 L 20.8602372 20.6875788 C 20.427871 20.2552126 20.427871 19.5542086 20.8602372 19.1218424 Z"/>
<path id="d" d="M 11.2716454 8.40102221 C 11.6008017 8.99826834 11.6008017 9.50310338 11.2716454 9.91552734 C 10.777911 10.5341633 10.8743408 11.1186359 10.2652094 11.171928 L 8.11697351 11.3598743 C 7.50784218 11.4131664 6.97084189 10.9625697 6.91754981 10.3534383 L 7.40909952 8.78600972 C 7.35580743 8.17687839 7.59967403 8 8.46191406 7.5 C 9.03674075 7.16666667 9.52217956 7 9.9182305 7 C 10.5273618 6.94670791 11.2183533 7.79189088 11.2716454 8.40102221 Z"/>
<path id="f" d="M 9.2180312 16.5599227 L 9.64287868 15.9436035 C 10.1970479 15.6851901 10.6031257 15.171263 11.0710449 15.171263 C 11.382991 15.171263 11.9916796 15.2996788 12.8971106 15.5565106 C 13.155524 16.1106798 12.1514479 17.7728204 11.5972787 18.0312337 L 9.64287868 18.9425854 C 9.08870943 19.2009988 8.42998106 18.9612413 8.1715677 18.407072 C 7.54770264 18.3006219 7.39173638 17.9661512 7.70366891 17.4036598 C 8.1715677 16.5599227 8.66386195 16.8183361 9.2180312 16.5599227 Z"/>
<path id="h" d="M 13.9705727 6.62755141 C 14.5745028 6.53189829 15.4789688 7.29032875 15.5746219 7.8942588 C 15.725739 8.63204227 15.725739 9.22654288 15.5746219 9.67776065 C 15.3479464 10.3545873 15.2582352 10.8488149 14.6543051 10.944468 C 14.0503751 11.0401212 13.4832509 10.6280813 13.3875978 10.0241512 L 13.0502559 7.8942588 C 12.9546028 7.29032875 13.3666427 6.72320453 13.9705727 6.62755141 Z"/>
<path id="j" d="M 4.50491268 14.0776044 C 5.30688173 14.0776044 5.43823242 13.6361009 5.43823242 12.8341319 C 5.43823242 12.0321628 5.20516729 11.5005638 4.40319824 11.5005638 C 3.60122919 11.5005638 3.36816406 11.823542 3.36816406 12.625511 C 3.36816406 13.4274801 3.70294363 14.0776044 4.50491268 14.0776044 Z"/>
<path id="l" d="M 14.349204 5.0461822 C 15.1511731 5.0461822 15.0018106 4.33128001 15.0018106 3.52931096 C 15.0018106 2.72734191 14.7377844 2.49896778 13.9358154 2.49896778 C 13.1338463 2.49896778 12.8971106 2.79211973 12.8971106 3.59408878 C 12.8971106 4.39605783 13.547235 5.0461822 14.349204 5.0461822 Z"/>
<path id="n" d="M 16.4539041 28.6286474 C 17.2558731 28.6286474 17.5737535 27.8900965 17.5737535 27.0881274 C 17.5737535 26.2861584 17.2558731 25.9387207 16.4539041 25.9387207 C 15.651935 25.9387207 15.5 26.8017907 15.5 27.6037598 C 15.5 28.4057288 15.651935 28.6286474 16.4539041 28.6286474 Z"/>
<path id="p" d="M 13.2174732 24.7352977 C 14.0194422 24.7352977 13.9331055 24.0851733 13.9331055 23.2832043 C 13.9331055 22.4812352 13.6511036 22.2297704 12.9388392 21.5895996 C 12.2265748 20.9494289 11.7653798 22.4812352 11.7653798 23.2832043 C 11.7653798 24.0851733 12.4155041 24.7352977 13.2174732 24.7352977 Z"/>
<path id="r" d="M 7.40909952 24.0604817 C 8.21106857 24.0604817 8.86119294 23.4103573 8.86119294 22.6083883 C 8.86119294 21.8064192 8.27523029 20.5061705 7.40909952 21.1562949 C 6.54296875 21.8064192 6.32739258 22.1584802 6.32739258 22.9604492 C 6.32739258 23.7624183 6.60713047 24.0604817 7.40909952 24.0604817 Z"/>
<path id="v" d="M 22.9584633 17.8708496 C 23.7604324 17.8708496 23.7338171 17.7837603 23.7338171 16.9817913 C 23.7338171 16.1798222 23.1145415 15.171263 22.6279859 15.171263 C 22.1414303 15.171263 22.0731028 16.1798222 22.0731028 16.9817913 C 22.0731028 17.7837603 22.1564943 17.8708496 22.9584633 17.8708496 Z"/>
<path id="x" d="M 22.9584633 10.8829275 C 24.1813795 10.8829275 24.5666349 10.0117118 24.5666349 8.78879554 C 24.5666349 7.56587931 24.1264277 7.5 22.9035115 7.5 C 21.6805953 7.5 22.127582 8 21.4970154 8.78879554 C 20.8664488 9.57759109 21.7355471 10.8829275 22.9584633 10.8829275 Z"/>
<path id="z" d="M 28.0187988 12.5 C 28.935986 12.5 30.0036213 11.9171872 30.0036213 11 C 30.0036213 10.0828128 28.935986 10.0566406 28.0187988 10.0566406 C 27.1016117 10.0566406 26.6821927 10.2562304 26.6821927 11.1734176 C 26.6821927 12.0906048 27.1016117 12.5 28.0187988 12.5 Z"/>
<path id="B" d="M 26.2273492 6.4913441 C 27.1445363 6.4913441 27.2563477 6.41615495 27.2563477 5.49896778 C 27.2563477 4.5817806 26.6960934 3.97069449 26.2273492 3.97069449 C 25.7586049 3.97069449 25.4465332 4.12899502 25.4465332 5.0461822 C 25.4465332 5.96336937 25.310162 6.4913441 26.2273492 6.4913441 Z"/>
<path id="D" d="M 22.0731028 5.0461822 C 22.99029 5.0461822 23.8980656 4.70291357 23.7338171 3.97069449 C 23.5695685 3.23847541 22.7062135 2.78830705 21.6763721 3.28201505 C 20.6465308 3.77572305 19.9268087 3.4291103 20.0684022 4.06033318 C 20.2099956 4.69155606 21.1559156 5.0461822 22.0731028 5.0461822 Z"/>
<path fill="url(#a)" stroke="hsl(38, 45%, 40%)" d="M 20.715 1.359 C 19.1 2.629 18.063 4.6 18.063 6.814 C 18.063 10.646 21.169 13.752 25.001 13.752 C 25.307 13.752 25.609 13.732 25.905 13.693 C 26.085 16.286 28.004 18.399 30.504 18.875 C 29.033 25.715 22.951 30.843 15.671 30.843 C 7.292 30.843 0.5 24.05 0.5 15.671 C 0.5 7.292 7.292 0.5 15.671 0.5 C 17.439 0.5 19.137 0.802 20.715 1.359 L 20.715 1.359 Z"/>
<use fill="var(--caramel)" href="#b"/>
<use fill="var(--shading)" filter="url(#c)" href="#b"/>
<use fill="var(--caramel)" href="#d"/>
<use fill="var(--shading)" filter="url(#e)" href="#d"/>
<use fill="var(--caramel)" href="#f"/>
<use fill="var(--shading)" filter="url(#g)" href="#f"/>
<use fill="var(--caramel)" href="#h"/>
<use fill="var(--shading)" filter="url(#i)" href="#h"/>
<use fill="var(--caramel)" href="#j"/>
<use fill="var(--shading)" filter="url(#k)" href="#j"/>
<use fill="var(--caramel)" href="#l"/>
<use fill="var(--shading)" filter="url(#m)" href="#l"/>
<use fill="var(--caramel)" href="#n"/>
<use fill="var(--shading)" filter="url(#o)" href="#n"/>
<use fill="var(--caramel)" href="#p"/>
<use fill="var(--shading)" filter="url(#q)" href="#p"/>
<use fill="var(--caramel)" href="#r"/>
<use fill="var(--shading)" filter="url(#s)" href="#r"/>
<use fill="var(--caramel)" href="#t"/>
<use fill="var(--shading)" filter="url(#u)" href="#t"/>
<use fill="var(--caramel)" href="#v"/>
<use fill="var(--shading)" filter="url(#w)" href="#v"/>
<use fill="var(--caramel)" href="#x"/>
<use fill="var(--shading)" filter="url(#y)" href="#x"/>
<use fill="var(--caramel)" href="#z"/>
<use fill="var(--shading)" filter="url(#A)" href="#z"/>
<use fill="var(--caramel)" href="#B"/>
<use fill="var(--shading)" filter="url(#C)" href="#B"/>
<use fill="var(--caramel)" href="#D"/>
<use fill="var(--shading)" filter="url(#E)" href="#D"/>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2015 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<circle fill="none" stroke="currentColor" cx="8" cy="8" r="6"/>
<path fill="none" stroke="currentColor" d="M 8 0 L 8 6.5"/>
<path fill="none" stroke="currentColor" d="M 0 8 L 6.5 8"/>
<path fill="none" stroke="currentColor" d="M 8 9.5 L 8 16"/>
<path fill="none" stroke="currentColor" d="M 9.5 8 L 16 8"/>
</svg>

After

Width:  |  Height:  |  Size: 516 B

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2015 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect fill="currentColor" x="0" y="0" width="16" height="16" rx="3" ry="3"/>
<path fill="none" stroke="white" stroke-width="3" d="M 4 14 C 4.5 2.5 11.5 13.5 12 2"/>
</svg>

After

Width:  |  Height:  |  Size: 363 B

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2017 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 15 13">
<path d="M 8.5 11 L 1.5 11 L 1.5 2 L 8.5 2 L 13.5 6.5 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 253 B

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2020 Apple Inc. All rights reserved. -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<defs>
<style>
g:not(:target) {
display: none;
}
#light {
--fill: black;
--shading: black;
--highlight: white;
}
#dark {
--fill: white;
--shading: black;
--highlight: white;
}
</style>
</defs>
<symbol id="i" stroke="none" stroke-width="1" fill="none" viewBox="0 0 32 32">
<path id="backfill" fill="var(--fill)" fill-opacity="0.3" d="M 3.358 18.536 L 3.358 13.464 C 3.358 12.851 3.844 12.252 4.786 11.712 C 3.844 11.171 3.358 10.566 3.358 9.953 L 3.358 4.881 C 3.358 2.886 9.017 1.0 16.0 1.0 C 22.983 1.0 28.642 2.886 28.642 4.881 L 28.642 9.953 C 28.642 10.566 28.155 11.171 27.214 11.712 C 28.155 12.252 28.642 12.851 28.642 13.464 L 28.642 18.536 C 28.642 19.149 28.155 19.751 27.214 20.292 C 28.155 20.832 28.642 21.434 28.642 22.047 L 28.642 27.119 C 28.642 29.114 22.983 31.0 16.0 31.0 C 9.017 31.0 3.358 29.114 3.358 27.119 L 3.358 22.047 C 3.358 21.434 3.824 20.832 4.765 20.292 C 3.824 19.751 3.358 19.149 3.358 18.536 Z"/>
<path id="top-sidewall" fill="var(--fill)" fill-opacity="0.3" d="M 3.358 9.891 L 3.358 4.857 C 3.358 7.181 9.018 9.065 16.0 9.065 C 22.982 9.065 28.642 7.181 28.642 4.857 L 28.642 9.867 C 28.642 12.19 22.978 13.617 16.0 13.617 C 9.022 13.617 3.358 12.151 3.358 9.891 Z"/>
<path id="top-highlight" fill="var(--highlight)" d="M 3.358 9.926 L 3.358 4.857 C 3.358 5.361 3.625 5.845 4.114 6.294 L 4.116 11.251 C 3.626 10.82 3.358 10.43 3.358 9.926 Z"/>
<path id="top-shading" fill="var(--shading)" fill-opacity="0.6" d="M 16.0 9.065 C 22.978 9.065 28.636 7.183 28.642 4.86 L 28.642 9.867 C 28.642 10.116 28.577 10.357 28.452 10.589 C 28.316 10.817 28.109 11.063 27.838 11.28 L 27.829 8.027 C 27.448 8.348 26.942 8.646 26.33 8.915 L 26.335 12.137 C 23.987 13.088 20.566 13.562 16.501 13.614 C 16.335 13.616 16.168 13.617 16.0 13.617 C 15.832 13.617 15.665 13.616 15.498 13.614 C 13.85 13.593 12.281 13.509 10.855 13.327 L 10.852 10.215 C 6.437 9.627 3.358 8.284 3.358 6.571 L 3.358 4.86 C 3.364 7.183 9.022 9.065 16.0 9.065 Z"/>
<path id="top-right-ring" fill="var(--fill)" fill-opacity="0.3" d="M 21.249 1.373 C 25.591 2.016 28.614 3.408 28.642 4.86 C 28.637 6.568 25.578 8.037 21.185 8.696 C 24.651 7.963 27.01 6.518 27.014 4.854 C 26.991 3.442 24.666 2.085 21.249 1.373 L 21.249 1.373 Z"/>
<path id="top-left-ring" fill="var(--highlight)" d="M 10.751 1.373 C 7.326 2.086 4.998 3.448 4.986 4.864 C 4.999 6.523 7.355 7.964 10.815 8.696 C 6.43 8.039 3.374 6.573 3.358 4.87 C 3.373 3.414 6.399 2.018 10.751 1.373 L 10.751 1.373 Z"/>
<path id="mid-sidewall" fill="var(--fill)" fill-opacity="0.3" d="M 3.358 18.511 L 3.358 13.41 C 3.358 15.734 9.018 17.618 16.0 17.618 C 22.982 17.618 28.642 15.734 28.642 13.41 L 28.642 18.511 C 28.642 20.74 22.978 22.17 16.0 22.17 C 9.022 22.17 3.358 20.744 3.358 18.511 Z"/>
<path id="mid-highlight" fill="var(--highlight)" d="M 3.358 18.479 L 3.358 13.41 C 3.358 13.914 3.625 14.398 4.114 14.847 L 4.116 19.804 C 3.626 19.373 3.358 18.983 3.358 18.479 Z"/>
<path id="mid-shading" fill="var(--shading)" fill-opacity="0.6" d="M 16.0 17.618 C 22.978 17.618 28.636 15.736 28.642 13.413 L 28.642 18.42 C 28.642 18.752 28.579 18.922 28.455 19.153 C 28.319 19.382 28.109 19.616 27.838 19.833 L 27.829 16.58 C 27.448 16.901 26.942 17.199 26.33 17.468 L 26.335 20.69 C 23.987 21.641 20.566 22.115 16.501 22.167 C 16.335 22.169 16.168 22.17 16.0 22.17 C 15.832 22.17 15.665 22.169 15.498 22.167 C 13.85 22.146 12.281 22.062 10.855 21.88 L 10.852 18.768 C 6.437 18.18 3.358 16.837 3.358 15.124 L 3.358 13.413 C 3.364 15.736 9.022 17.618 16.0 17.618 Z"/>
<path id="mid-left-ring" fill="var(--highlight)" d="M 4.986 13.417 C 4.999 15.076 7.355 16.517 10.815 17.249 C 6.43 16.592 3.374 15.126 3.358 13.423 C 3.364 12.823 3.881 12.234 4.791 11.703 C 4.986 11.816 5.351 11.991 5.647 12.115 C 5.223 12.532 4.99 12.972 4.986 13.417 Z"/>
<path id="mid-left-ring" fill="var(--fill)" fill-opacity="0.3" d="M 27.223 11.7 C 28.119 12.226 28.63 12.82 28.642 13.413 C 28.637 15.121 25.578 16.59 21.185 17.249 C 24.651 16.516 27.01 15.071 27.014 13.407 C 27.007 12.969 26.777 12.535 26.362 12.125 C 26.483 12.08 26.961 11.862 27.223 11.7 Z"/>
<path id="low-sidewall" fill="var(--fill)" fill-opacity="0.3" d="M 3.358 27.271 L 3.358 22.237 C 3.358 24.561 9.018 26.445 16.0 26.445 C 22.982 26.445 28.642 24.561 28.642 22.237 L 28.642 27.247 C 28.642 29.57 22.978 30.997 16.0 30.997 C 9.022 30.997 3.358 29.531 3.358 27.271 Z"/>
<path id="low-highlight" fill="var(--highlight)" d="M 3.358 27.306 L 3.358 22.237 C 3.358 22.741 3.625 23.225 4.114 23.674 L 4.116 28.631 C 3.626 28.2 3.358 27.81 3.358 27.306 Z"/>
<path id="low-shading" fill="var(--shading)" fill-opacity="0.6" d="M 16.0 26.445 C 22.978 26.445 28.636 24.563 28.642 22.24 L 28.642 27.247 C 28.642 27.496 28.577 27.737 28.452 27.969 C 28.316 28.197 28.109 28.443 27.838 28.66 L 27.829 25.407 C 27.448 25.728 26.942 26.026 26.33 26.295 L 26.335 29.517 C 23.987 30.468 20.566 30.942 16.501 30.994 C 16.335 30.996 16.168 30.997 16.0 30.997 C 15.832 30.997 15.665 30.996 15.498 30.994 C 13.85 30.973 12.281 30.889 10.855 30.707 L 10.852 27.595 C 6.437 27.007 3.358 25.664 3.358 23.951 L 3.358 22.24 C 3.364 24.563 9.022 26.445 16.0 26.445 Z"/>
<path id="low-left-ring" fill="var(--highlight)" d="M 4.986 22.244 C 4.999 23.903 7.355 25.344 10.815 26.076 C 6.43 25.419 3.374 23.953 3.358 22.25 C 3.359 22.167 3.358 22.071 3.358 22.004 C 3.36 21.362 3.972 20.901 4.781 20.294 C 5.231 20.554 5.764 20.75 5.828 20.776 C 5.289 21.241 4.99 21.739 4.986 22.244 Z"/>
<path id="low-right-ring" fill="var(--fill)" fill-opacity="0.3" d="M 27.22 20.291 C 28.119 20.756 28.642 21.317 28.642 22.003 C 28.642 22.047 28.641 22.188 28.642 22.24 C 28.637 23.948 25.578 25.417 21.185 26.076 C 24.651 25.343 27.01 23.898 27.014 22.234 C 27.006 21.733 26.705 21.234 26.171 20.773 C 26.575 20.612 26.97 20.438 27.22 20.291 Z"/>
<path id="border" fill="none" stroke="var(--fill)" d="M 3.955 20.292 C 3.25 19.754 2.858 19.161 2.858 18.536 L 2.858 13.464 C 2.858 12.84 3.25 12.246 3.955 11.709 C 3.25 11.171 2.858 10.578 2.858 9.953 L 2.858 4.881 C 2.858 2.461 8.742 0.5 16.0 0.5 C 23.258 0.5 29.142 2.461 29.142 4.881 L 29.142 9.953 C 29.142 10.578 28.75 11.171 28.044 11.709 C 28.75 12.246 29.142 12.84 29.142 13.464 L 29.142 18.536 C 29.142 19.161 28.75 19.754 28.044 20.292 C 28.75 20.829 29.142 21.423 29.142 22.047 L 29.142 27.119 C 29.142 29.539 23.258 31.5 16.0 31.5 C 8.742 31.5 2.858 29.539 2.858 27.119 L 2.858 22.047 C 2.858 21.423 3.25 20.829 3.955 20.292 Z"/>
</symbol>
<g id="light"><use href="#i"/></g>
<g id="dark"><use href="#i"/></g>
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2015 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 10 10">
<path fill="rgb(123, 178, 238)" d="M 0 1.997 C 0 1.446 0.446 1 0.996 1 L 5.693 1 C 5.973 1 6.352 1.152 6.555 1.355 L 9.845 4.645 C 10.041 4.841 10.048 5.152 9.845 5.355 L 6.555 8.645 C 6.359 8.841 5.979 9 5.693 9 L 0.996 9 C 0.446 9 0 8.547 0 8.003 L 0 1.997 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 458 B

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2015 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path fill="none" stroke="currentColor" d="M 8.04545455 15 C 10.8068784 15 13.0454545 11.8659934 13.0454545 8 C 13.0454545 4.13400656 10.8068784 1 8.04545455 1 C 5.28403066 1 3.04545455 4.13400656 3.04545455 8 C 3.04545455 11.8659934 5.28403066 15 8.04545455 15 Z"/>
<path fill="none" stroke="currentColor" d="M 3.5 4.5 L 12.5 4.5"/>
<path fill="none" stroke="currentColor" d="M 8 4.5 L 8 15"/>
<path fill="none" stroke="currentColor" d="M 11.5 12.5 L 13.5 14.5"/>
<path fill="none" stroke="currentColor" d="M 13 8 L 15 8"/>
<path fill="none" stroke="currentColor" d="M 3 8 L 1 8"/>
<path fill="none" stroke="currentColor" d="M 4.5 12.5 L 2.5 14.5"/>
<path fill="none" stroke="currentColor" d="M 4.5 3.5 L 2.5 1.5"/>
<path fill="none" stroke="currentColor" d="M 11.5 3.5 L 13.5 1.5"/>
</svg>

After

Width:  |  Height:  |  Size: 1011 B

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2019 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect fill="currentColor" fill-opacity="0.25" stroke="currentColor" stroke-width="1" x="3.75" y="2" width="8.5" height="12" rx="0.5" ry="0.5"/>
</svg>

After

Width:  |  Height:  |  Size: 338 B

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2015 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 13 13">
<style>
svg[id] {
display: none;
}
svg[id]:target {
display: initial;
}
path {
fill: inherit;
}
svg[id $= "-normal"] {
fill: hsl(0, 0%, 55%);
}
svg[id $= "-active"] {
fill: hsl(0, 0%, 50%);
}
svg[id $= "-selected"] {
fill: white;
}
</style>
<defs>
<path id="closed-triangle-path" d="M 3.011719 1.910156 L 3.011719 11.089844 L 10.507812 6.5 Z"/>
<path id="open-triangle-path" d="M 1.910156 2.980469 L 11.089844 2.980469 L 6.5 10.507812 Z"/>
</defs>
<svg id="closed-normal"><use xlink:href="#closed-triangle-path"/></svg>
<svg id="closed-active"><use xlink:href="#closed-triangle-path"/></svg>
<svg id="closed-selected"><use xlink:href="#closed-triangle-path"/></svg>
<svg id="open-normal"><use xlink:href="#open-triangle-path"/></svg>
<svg id="open-active"><use xlink:href="#open-triangle-path"/></svg>
<svg id="open-selected"><use xlink:href="#open-triangle-path"/></svg>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2022 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">
<defs>
<style>
g:not(:target) {
display: none;
}
#light {
color: black;
}
#dark {
color: white;
}
</style>
</defs>
<symbol id="i">
<path fill="none" stroke="currentColor" d="M5.240,3.215 L9.784,3.215 C10.594,3.215 11.325,3.705 11.633,4.455 L13.521,9.047 C13.941,10.069 13.454,11.238 12.432,11.658 C12.191,11.757 11.932,11.808 11.672,11.808 L3.337,11.808 C2.233,11.808 1.337,10.912 1.337,9.808 C1.337,9.545 1.389,9.285 1.490,9.042 L3.393,4.449 C3.702,3.702 4.432,3.215 5.240,3.215 Z"/>
<rect fill="none" width="12.219" height="4.137" x="1.395" y="7.671" stroke="currentColor" rx="2"/>
<line x1="11.5" x2="11.5" y1="9.5" y2="10" stroke="currentColor" stroke-linecap="round"/>
<line x1="10" x2="10" y1="9.5" y2="10" stroke="currentColor" stroke-linecap="round"/>
<line x1="8.5" x2="8.5" y1="9.5" y2="10" stroke="currentColor" stroke-linecap="round"/>
</symbol>
<g id="root"><use href="#i"/></g>
<g id="light"><use href="#i"/></g>
<g id="dark"><use href="#i"/></g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect fill="none" stroke="currentColor" x="0.5" y="1.5" width="15" height="9"/>
<rect fill="none" stroke="currentColor" x="0.5" y="10.5" width="15" height="4"/>
</svg>

After

Width:  |  Height:  |  Size: 359 B

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect fill="none" stroke="currentColor" x="0.5" y="1.5" width="4" height="13"/>
<rect fill="none" stroke="currentColor" x="4.5" y="1.5" width="11" height="13"/>
</svg>

After

Width:  |  Height:  |  Size: 359 B

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2021 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect fill="none" stroke="currentColor" x="0.5" y="1.5" width="11" height="13"/>
<rect fill="none" stroke="currentColor" x="11.5" y="1.5" width="4" height="13"/>
</svg>

After

Width:  |  Height:  |  Size: 359 B

View File

@ -0,0 +1,202 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2020 Apple Inc. All rights reserved. -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
<defs>
<style>
g:not(:target) {
display: none;
}
.light {
--border: black;
--corner: hsl(0, 0%, 100%);
--paper: hsl(0, 0%, 90%);
--css-color: hsl(2, 84%, 33%);
--font-color: hsl(212, 43%, 28%);
--gl-color: hsl(208, 48%, 35%);
--js-color: hsl(265, 61%, 51%);
--markup-color: hsl(226, 77%, 44%);
--square-color: hsl(141, 28%, 42%);
--circle-color: hsl(205, 35%, 33%);
}
.dark {
--border: white;
--corner: hsl(0, 0%, 0%);
--paper: hsl(0, 0%, 18%);
--css-color: hsl(360, 100%, 70%);
--font-color: hsl(212, 73%, 63%);
--gl-color: hsl(208, 65%, 57%);
--js-color: hsl(255, 100%, 80%);
--markup-color: hsl(226, 100%, 70%);
--square-color: hsl(141, 28%, 50%);
--circle-color: hsl(205, 91%, 47%);
}
.generic.override.light {
--border: hsl(226, 70%, 75%);
--paper: hsl(0, 0%, 18%);
}
.generic.override.dark {
--border: hsl(226, 30%, 20%);
--paper: hsl(0, 0%, 90%);
}
.markup.override.light {
--border: hsl(226, 70%, 75%);
--paper: hsl(226, 77%, 44%);
--markup-color: hsl(0, 0%, 100%);
}
.markup.override.dark {
--border: hsl(226, 30%, 20%);
--paper: hsl(226, 100%, 70%);
--markup-color: hsl(0, 0%, 0%);
}
.css.override.light {
--border: hsl(2, 70%, 75%);
--paper: hsl(2, 54%, 33%);
--css-color: hsl(0, 0%, 100%);
}
.css.override.dark {
--border: hsl(360, 50%, 20%);
--paper: hsl(360, 54%, 61%);
--css-color: hsl(0, 0%, 0%);
}
.font.override.light {
--border: hsl(212, 43%, 75%);
--paper: hsl(212, 43%, 28%);
--font-color: hsl(0, 0%, 100%);
}
.font.override.dark {
--border: hsl(212, 50%, 20%);
--paper: hsl(212, 73%, 63%);
--font-color: hsl(0, 0%, 0%);
}
.gl.override.light {
--border: hsl(208, 48%, 80%);
--paper: hsl(208, 48%, 35%);
--gl-color: hsl(0, 0%, 100%);
}
.gl.override.dark {
--border: hsl(208, 65%, 20%);
--paper: hsl(208, 65%, 57%);
--gl-color: hsl(0, 0%, 0%);
}
.image.override.light {
--border: hsl(141, 28%, 85%);
--paper: hsl(141, 28%, 50%);
--square-color: hsl(0, 0%, 100%);
--circle-color: hsla(0, 0%, 100%, 0.7);
}
.image.override.dark {
--border: hsl(141, 28%, 16%);
--paper: hsl(141, 28%, 50%);
--square-color: hsla(0, 0%, 0%, 0.7);
--circle-color: hsl(0, 0%, 0%);
}
.js.override.light,
.worker.override.light {
--border: hsl(265, 50%, 75%);
--paper: hsl(265, 61%, 51%);
--js-color: hsl(0, 0%, 100%);
}
.js.override.dark,
.worker.override.dark {
--border: hsl(255, 50%, 20%);
--paper: hsl(255, 100%, 80%);
--js-color: hsl(0, 0%, 0%);
}
</style>
</defs>
<symbol id="doc" stroke-width="1" viewBox="0 0 32 32">
<path fill="var(--corner)" stroke="var(--border)" d="M 5.496 0.503 L 16.095 0.503 C 16.352 0.503 16.599 0.602 16.785 0.779 L 27.190 10.704 C 27.388 10.893 27.5 11.154 27.5 11.427 L 27.5 30.5 C 27.5 30.998 27.002 31.497 26.501 31.497 L 5.5 31.497 C 4.998 31.497 4.5 30.997 4.5 30.5 L 4.5 1.497 C 4.5 1.004 5 0.503 5.496 0.503 Z"/>
<path fill="var(--paper)" stroke="var(--border)" d="M 13.079 0.503 C 16.632 0.503 17.505 0.466 17.505 3.336 L 17.505 10.501 L 24.573 10.501 C 27.378 10.501 27.5 12.822 27.5 15.708 L 27.5 30.498 C 27.5 30.999 27.004 31.497 26.500 31.497 L 5.508 31.497 C 4.998 31.497 4.5 31.003 4.5 30.498 L 4.5 1.498 C 4.5 1.003 4.998 0.502 5.501 0.502 L 13.079 0.503 Z"/>
</symbol>
<symbol id="css" stroke="none" fill="var(--css-color)" viewBox="0 0 32 32">
<path d="M 10.076 24.538 C 10.862 24.538 11.352 23.903 11.368 22.877 L 12.887 22.877 C 12.887 24.874 11.811 26.096 10.082 26.096 C 8.199 26.096 7.092 24.734 7.092 22.413 L 7.092 20.612 C 7.092 18.291 8.199 16.929 10.082 16.929 C 11.832 16.929 12.871 18.144 12.882 20.227 L 11.363 20.227 C 11.347 19.170 10.830 18.486 10.055 18.486 C 9.132 18.486 8.647 19.219 8.647 20.612 L 8.647 22.413 C 8.647 23.812 9.132 24.538 10.076 24.538 Z M 13.772 23.451 L 15.091 23.451 C 15.155 24.215 15.657 24.654 16.464 24.654 C 17.232 24.654 17.719 24.196 17.719 23.482 C 17.719 22.883 17.404 22.566 16.582 22.340 L 15.844 22.126 C 14.559 21.766 13.929 20.923 13.929 19.616 C 13.929 17.973 14.909 16.929 16.444 16.929 C 17.931 16.929 18.930 17.961 18.974 19.537 L 17.655 19.537 C 17.601 18.810 17.153 18.364 16.459 18.364 C 15.755 18.364 15.317 18.773 15.317 19.433 C 15.317 20.056 15.632 20.398 16.400 20.605 L 17.128 20.813 C 18.502 21.192 19.102 21.955 19.102 23.305 C 19.102 25.045 18.098 26.096 16.439 26.096 C 14.830 26.096 13.821 25.100 13.772 23.451 Z M 19.738 23.451 L 21.057 23.451 C 21.121 24.215 21.623 24.654 22.430 24.654 C 23.198 24.654 23.685 24.196 23.685 23.482 C 23.685 22.883 23.370 22.566 22.548 22.340 L 21.810 22.126 C 20.525 21.766 19.895 20.923 19.895 19.616 C 19.895 17.973 20.875 16.929 22.410 16.929 C 23.897 16.929 24.896 17.961 24.940 19.537 L 23.621 19.537 C 23.567 18.810 23.119 18.364 22.425 18.364 C 21.721 18.364 21.283 18.773 21.283 19.433 C 21.283 20.056 21.598 20.398 22.366 20.605 L 23.094 20.813 C 24.468 21.192 25.068 21.955 25.068 23.305 C 25.068 25.045 24.064 26.096 22.405 26.096 C 20.796 26.096 19.787 25.100 19.738 23.451 Z"/>
</symbol>
<symbol id="font" stroke="none" fill="var(--font-color)" viewBox="0 0 32 32">
<path d="M 22.897 28.003 L 17.397 28.003 L 17.397 27.644 C 18.811 27.577 19.126 27.217 19.126 26.454 C 19.126 26.275 19.103 26.073 19.081 25.870 L 18.632 22.930 L 13.693 22.930 L 12.368 25.421 C 12.054 26.005 11.875 26.544 11.875 26.903 C 11.875 27.330 12.211 27.599 13.266 27.644 L 13.266 28.003 L 9.091 28.003 L 9.091 27.644 C 10.123 27.442 10.415 27.060 12.099 24.142 L 18.497 13.007 L 19.081 13.007 L 21.146 25.421 C 21.460 27.307 21.707 27.554 22.897 27.644 L 22.897 28.003 Z M 18.520 22.121 L 17.509 16.217 L 14.164 22.121 L 18.520 22.121 Z"/>
</symbol>
<symbol id="image" stroke="none" viewBox="0 0 32 32">
<path fill="var(--square-color)" d="M 14.732 18.001 C 14.732 18.002 14.732 18.003 14.732 18.004 C 14.732 20.545 16.628 22.643 19.082 22.962 L 19.082 26.142 C 19.082 27.378 18.445 28.002 17.197 28.002 L 10.879 28.002 C 9.631 28.002 9 27.378 9 26.142 L 9 19.861 C 9 18.625 9.631 18.001 10.879 18.001 L 14.732 18.001 Z"/>
<circle cx="19.732" cy="18.004" r="4" fill="var(--circle-color)"/>
</symbol>
<symbol id="gl" stroke="none" fill="var(--gl-color)" viewBox="0 0 32 32">
<path d="M 12.349 28.333 C 10.393 28.333 9.115 27.506 8.992 26.166 L 10.817 26.166 C 10.947 26.652 11.549 26.959 12.376 26.959 C 13.463 26.959 14.037 26.467 14.037 25.524 L 14.037 24.040 L 13.893 24.040 C 13.661 24.888 12.786 25.455 11.665 25.455 C 9.929 25.455 8.890 24.252 8.890 22.215 L 8.890 21.073 C 8.890 19.016 9.949 17.833 11.754 17.833 C 12.848 17.833 13.688 18.387 13.934 19.241 L 14.071 19.241 L 14.071 17.956 L 15.910 17.956 L 15.910 25.489 C 15.910 27.246 14.550 28.333 12.349 28.333 Z M 10.804 22.160 C 10.804 23.186 11.426 23.828 12.403 23.828 C 13.388 23.828 14.010 23.186 14.010 22.160 L 14.010 21.073 C 14.010 20.048 13.388 19.405 12.403 19.405 C 11.426 19.405 10.804 20.048 10.804 21.073 L 10.804 22.160 Z M 23.538 25.496 L 17.023 25.496 L 17.023 24.006 L 19.416 24.006 L 19.416 16.575 L 17.146 16.575 L 17.146 15.085 L 21.289 15.085 L 21.289 24.006 L 23.538 24.006 L 23.538 25.496 Z"/>
</symbol>
<symbol id="js" stroke="none" fill="var(--js-color)" viewBox="0 0 32 32">
<path d="M 11.759 26.261 C 9.749 26.261 8.451 25.037 8.444 23.137 L 10.317 23.137 C 10.337 23.964 10.905 24.504 11.732 24.504 C 12.634 24.504 13.126 23.957 13.126 22.952 L 13.126 17.866 L 9.585 17.866 L 9.585 16.198 L 15.075 16.198 L 15.075 22.979 C 15.075 25.051 13.844 26.261 11.759 26.261 Z M 15.849 23.301 L 17.681 23.301 C 17.770 24.155 18.468 24.647 19.589 24.647 C 20.655 24.647 21.332 24.135 21.332 23.335 C 21.332 22.665 20.894 22.310 19.753 22.057 L 18.727 21.817 C 16.943 21.414 16.068 20.471 16.068 19.008 C 16.068 17.169 17.429 16 19.561 16 C 21.626 16 23.013 17.155 23.075 18.919 L 21.243 18.919 C 21.168 18.105 20.546 17.606 19.582 17.606 C 18.604 17.606 17.996 18.064 17.996 18.803 C 17.996 19.5 18.433 19.883 19.500 20.115 L 20.512 20.348 C 22.419 20.771 23.253 21.626 23.253 23.137 C 23.253 25.085 21.858 26.261 19.554 26.261 C 17.319 26.261 15.918 25.146 15.849 23.301 Z"/>
</symbol>
<symbol id="markup" stroke="none" fill="var(--markup-color)" viewBox="0 0 32 32">
<polygon points="13.934 18.615 9.693 21.088 9.693 21.256 13.934 23.73 13.934 26.337 7.739 22.187 7.739 20.158 13.934 15.999"/>
<polygon points="22.302 21.088 18.061 18.615 18.061 15.999 24.256 20.158 24.256 22.187 18.061 26.337 18.061 23.73 22.302 21.256"/>
</symbol>
<symbol id="worker" stroke="var(--js-color)" fill="none" stroke-width="1.4" viewBox="0 0 32 32">
<path d="M 16 27.411 C 16.817 27.411 17.485 26.743 17.486 25.926 L 17.485 25.159 C 17.630 25.108 17.772 25.051 17.909 24.987 L 18.648 25.726 C 19.226 26.304 20.171 26.303 20.747 25.725 C 21.037 25.436 21.181 25.054 21.181 24.674 C 21.181 24.295 21.037 23.914 20.748 23.625 L 20.010 22.887 C 20.075 22.748 20.131 22.606 20.182 22.462 L 20.949 22.461 C 21.766 22.462 22.434 21.794 22.434 20.977 C 22.434 20.160 21.766 19.492 20.949 19.491 L 20.182 19.492 C 20.131 19.347 20.075 19.205 20.010 19.068 L 20.748 18.329 C 21.036 18.040 21.181 17.659 21.181 17.279 C 21.181 16.898 21.037 16.518 20.749 16.230 C 20.171 15.651 19.226 15.651 18.649 16.228 L 17.909 16.967 C 17.771 16.901 17.630 16.847 17.485 16.795 L 17.485 16.027 C 17.485 15.210 16.817 14.542 16 14.542 C 15.183 14.542 14.515 15.210 14.515 16.027 L 14.515 16.795 C 14.371 16.847 14.228 16.902 14.090 16.967 L 13.351 16.229 C 12.774 15.652 11.829 15.652 11.252 16.229 C 10.963 16.518 10.818 16.898 10.818 17.278 C 10.818 17.659 10.963 18.039 11.251 18.328 L 11.990 19.068 C 11.925 19.205 11.870 19.347 11.818 19.492 L 11.051 19.491 C 10.234 19.492 9.566 20.160 9.566 20.977 C 9.566 21.794 10.234 22.462 11.051 22.462 L 11.818 22.462 C 11.869 22.606 11.925 22.748 11.990 22.887 L 11.252 23.625 C 10.963 23.914 10.817 24.295 10.818 24.675 C 10.817 25.056 10.964 25.437 11.251 25.724 C 11.829 26.303 12.774 26.303 13.351 25.725 L 14.091 24.987 C 14.228 25.051 14.370 25.108 14.515 25.159 L 14.514 25.926 C 14.515 26.743 15.183 27.411 16 27.411 Z"/>
<path d="M 15.999 19.096 C 17.036 19.096 17.880 19.940 17.880 20.977 C 17.880 22.015 17.036 22.858 15.999 22.858 C 14.962 22.858 14.118 22.015 14.118 20.977 C 14.118 19.940 14.962 19.096 15.999 19.096"/>
</symbol>
<symbol id="websocket" stroke-width="1" viewBox="0 0 32 32">
<path fill="var(--corner)" fill-opacity="1" stroke="var(--border)" d="M 5.5 0.5 L 26.5 0.5 C 27 0.5 27.5 1 27.5 1.5 L 27.5 30.5 C 27.5 31 27 31.5 26.5 31.5 L 5.5 31.5 C 5 31.5 4.5 31 4.5 30.5 L 4.5 1.5 C 4.5 1 5 0.5 5.5 0.5 Z"/>
<polygon fill="var(--paper)" points="26 3 26 30 6 30 6 3"/>
<path fill="var(--js-color)" d="M 15.569 8.864 C 15.388 8.932 15.224 9.038 15.076 9.181 L 15.076 9.181 L 11.083 13.175 C 10.532 13.725 10.532 14.621 11.083 15.171 L 11.083 15.171 C 11.633 15.723 12.528 15.723 13.079 15.171 L 13.079 15.171 L 16.098 12.152 L 19.107 15.161 C 19.657 15.712 20.552 15.712 21.103 15.161 L 21.103 15.161 C 21.654 14.610 21.654 13.715 21.103 13.164 L 21.103 13.164 L 17.110 9.171 C 16.833 8.894 16.473 8.756 16.111 8.756 L 16.111 8.756 C 15.927 8.756 15.743 8.792 15.569 8.864 L 15.569 8.864 Z"/>
<path fill="var(--js-color)" d="M 14.758 16.941 C 14.758 17.692 15.367 18.297 16.114 18.297 L 16.114 18.297 C 16.861 18.297 17.470 17.692 17.470 16.941 L 17.470 16.941 C 17.470 16.188 16.861 15.585 16.114 15.585 L 16.114 15.585 C 15.367 15.585 14.758 16.188 14.758 16.941 L 14.758 16.941 Z"/>
<path fill="var(--js-color)" d="M 19.187 18.710 L 16.168 21.729 L 13.159 18.721 C 12.608 18.169 11.714 18.169 11.163 18.721 L 11.163 18.721 C 10.612 19.271 10.612 20.166 11.163 20.717 L 11.163 20.717 L 15.157 24.711 C 15.575 25.130 16.184 25.230 16.698 25.019 L 16.698 25.019 C 16.878 24.949 17.042 24.843 17.190 24.700 L 17.190 24.700 L 21.184 20.707 C 21.735 20.155 21.735 19.261 21.184 18.710 L 21.184 18.710 C 20.909 18.434 20.547 18.297 20.185 18.297 L 20.185 18.297 C 19.824 18.297 19.462 18.434 19.187 18.710 L 19.187 18.710 Z"/>
</symbol>
<g id="generic-light" class="generic light"><use href="#doc"/></g>
<g id="generic-light-override" class="generic light override"><use href="#doc"/></g>
<g id="generic-dark" class="generic dark"><use href="#doc"/></g>
<g id="generic-dark-override" class="generic dark override"><use href="#doc"/></g>
<g id="css-light" class="css light"><use href="#doc"/><use href="#css"/></g>
<g id="css-light-override" class="css light override"><use href="#doc"/><use href="#css"/></g>
<g id="css-dark" class="css dark"><use href="#doc"/><use href="#css"/></g>
<g id="css-dark-override" class="css dark override"><use href="#doc"/><use href="#css"/></g>
<g id="font-light" class="font light"><use href="#doc"/><use href="#font"/></g>
<g id="font-light-override" class="font light override"><use href="#doc"/><use href="#font"/></g>
<g id="font-dark" class="font dark"><use href="#doc"/><use href="#font"/></g>
<g id="font-dark-override" class="font dark override"><use href="#doc"/><use href="#font"/></g>
<g id="image-light" class="image light"><use href="#doc"/><use href="#image"/></g>
<g id="image-light-override" class="image light override"><use href="#doc"/><use href="#image"/></g>
<g id="image-dark" class="image dark"><use href="#doc"/><use href="#image"/></g>
<g id="image-dark-override" class="image dark override"><use href="#doc"/><use href="#image"/></g>
<g id="gl-light" class="gl light"><use href="#doc"/><use href="#gl"/></g>
<g id="gl-light-override" class="gl light override"><use href="#doc"/><use href="#gl"/></g>
<g id="gl-dark" class="gl dark"><use href="#doc"/><use href="#gl"/></g>
<g id="gl-dark-override" class="gl dark override"><use href="#doc"/><use href="#gl"/></g>
<g id="js-light" class="js light"><use href="#doc"/><use href="#js"/></g>
<g id="js-light-override" class="js light override"><use href="#doc"/><use href="#js"/></g>
<g id="js-dark" class="js dark"><use href="#doc"/><use href="#js"/></g>
<g id="js-dark-override" class="js dark override"><use href="#doc"/><use href="#js"/></g>
<g id="markup-light" class="markup light"><use href="#doc"/><use href="#markup"/></g>
<g id="markup-light-override" class="markup light override"><use href="#doc"/><use href="#markup"/></g>
<g id="markup-dark" class="markup dark"><use href="#doc"/><use href="#markup"/></g>
<g id="markup-dark-override" class="markup dark override"><use href="#doc"/><use href="#markup"/></g>
<g id="websocket-light" class="websocket light"><use href="#websocket"/></g>
<g id="websocket-dark" class="websocket dark"><use href="#websocket"/></g>
<g id="worker-light" class="worker light"><use href="#doc"/><use href="#worker"/></g>
<g id="worker-light-override" class="worker light override"><use href="#doc"/><use href="#worker"/></g>
<g id="worker-dark" class="worker dark"><use href="#doc"/><use href="#worker"/></g>
<g id="worker-dark-override" class="worker dark override"><use href="#doc"/><use href="#worker"/></g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2015 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path fill="none" stroke="currentColor" d="M 8.5 15 C 12.3659934 15 15.5 11.8659934 15.5 8 C 15.5 4.13400656 12.3659934 1 8.5 1 C 4.63400656 1 1.5 4.13400656 1.5 8 C 1.5 11.8659934 4.63400656 15 8.5 15 Z"/>
<path fill="none" stroke="currentColor" d="M 8.5 1.5 L 8.5 11"/>
<path fill="none" stroke="currentColor" d="M 5 8 L 8.5 11.5 L 12 8"/>
</svg>

After

Width:  |  Height:  |  Size: 544 B

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2015 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<rect fill="none" stroke="currentColor" x="1.5" y="1.5" width="13" height="5"/>
<path fill="none" stroke="currentColor" d="M 11.5 6.5 L 11.5 10.5"/>
<path fill="none" stroke="currentColor" d="M 4.5 6.5 L 4.5 10.5"/>
<rect fill="none" stroke="currentColor" x="9.5" y="10.5" width="5" height="4"/>
<rect fill="none" stroke="currentColor" x="1.5" y="10.5" width="5" height="4"/>
</svg>

After

Width:  |  Height:  |  Size: 586 B

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2013 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 10 10">
<path fill="white" d="M 4 0.558594 L 6.195312 0.558594 L 6.195312 9.304688 L 4 9.304688 Z"/>
<path fill="rgb(231, 38, 34)" d="M 9.996094 7.085938 L 7.058594 10.007812 L 2.917969 9.996094 L -0.00390625 7.0625 L 0.0078125 2.921875 L 2.945312 0 L 7.082031 0.0117188 L 10.007812 2.945312 Z M 6 2 C 6 1.449219 5.550781 1 5 1 C 4.445312 1 4 1.449219 4 2 L 4 5 C 4 5.550781 4.445312 6 5 6 C 5.550781 6 6 5.550781 6 5 Z M 5 7 C 4.445312 7 4 7.449219 4 8 C 4 8.550781 4.445312 9 5 9 C 5.550781 9 6 8.550781 6 8 C 6 7.449219 5.550781 7 5 7 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 733 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2014 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path fill="none" stroke="currentColor" d="M 11 2.5 L 14.5 6 L 14.5 11 L 11 14.5 L 6 14.5 L 2.5 11 L 2.5 6 L 6 2.5 L 11 2.5 Z "/>
<path fill="none" stroke="currentColor" stroke-linecap="square" d="M 8.5 5.5 L 8.5 9.5"/>
<rect fill="currentColor" x="8" y="11" width="1" height="1"/>
</svg>

After

Width:  |  Height:  |  Size: 484 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2014 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path fill="rgb(201, 55, 57)" stroke="rgb(201, 55, 57)" d="M 11 2.5 L 14.5 6 L 14.5 11 L 11 14.5 L 6 14.5 L 2.5 11 L 2.5 6 L 6 2.5 L 11 2.5 Z "/>
<path fill="none" stroke="white" stroke-linecap="square" d="M 8.5 5.5 L 8.5 9.5"/>
<rect fill="white" x="8" y="11" width="1" height="1"/>
</svg>

After

Width:  |  Height:  |  Size: 486 B

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2019 Apple Inc. All rights reserved. -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 14 14">
<circle fill="rgb(191, 222, 255)" stroke="rgb(0, 122, 255)" cx="7" cy="7" r="6.25"/>
<path fill="white" d="M 7 0.5 c 3.584 0 6.5 2.916 6.5 6.5 s -2.916 6.5 -6.5 6.5 S 0.5 10.584 0.5 7 3.416 0.5 7 0.5 M 7 0 a 7 7 0 1 0 0 14 A 7 7 0 0 0 7 0 z"/>
<circle fill="none" stroke="rgb(0, 122, 255)" cx="7" cy="7" r="4"/>
<line stroke="rgb(0, 122, 255)" x1="4" y1="4" x2="10" y2="10" />
</svg>

After

Width:  |  Height:  |  Size: 585 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2019 Apple Inc. All rights reserved. -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 14 14">
<circle fill="rgb(191, 222, 255)" stroke="rgb(0, 122, 255)" cx="7" cy="7" r="6.25"/>
<path fill="white" d="M 7 0.5 c 3.584 0 6.5 2.916 6.5 6.5 s -2.916 6.5 -6.5 6.5 S 0.5 10.584 0.5 7 3.416 0.5 7 0.5 M 7 0 a 7 7 0 1 0 0 14 A 7 7 0 0 0 7 0 z"/>
<path fill="rgb(0, 122, 255)" d="M 10.2778182,6.85756083 L 10.2778182 7.18878965 L 10.2727273 7.18878965 C 10.2727273 8.91145673 8.80727273 10.3070527 7 10.3070527 C 5.19272727 10.3070527 3.72727273 8.91145673 3.72727273 7.18878965 C 3.72727273 5.58253773 5.00654545 4.27563905 6.64509091 4.10448106 L 6.64509091 5.84516477 L 9.92290909 3.92292886 L 6.64509091 2 L 6.64509091 3.39490299 C 4.60218182 3.56606098 3 5.19795196 3 7.18878965 C 3 9.29396366 4.79054545 11 7 11 C 9.18836364 11 10.9636364 9.32514629 10.9970909 7.24699723 L 11 7.24699723 L 11 6.85756083 L 10.2778182 6.85756083 Z"></path>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2019 Apple Inc. All rights reserved. -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 14 14">
<circle fill="rgb(191, 222, 255)" stroke="rgb(0, 122, 255)" cx="7" cy="7" r="6.25"/>
<path fill="white" d="M 7 0.5 c 3.584 0 6.5 2.916 6.5 6.5 s -2.916 6.5 -6.5 6.5 S 0.5 10.584 0.5 7 3.416 0.5 7 0.5 M 7 0 a 7 7 0 1 0 0 14 A 7 7 0 0 0 7 0 z"/>
<path fill="rgb(0, 122, 255)" d="M 5.8 10 H 4.2 a 0.2 0.2 0 0 1 -0.2 -0.2 V 4.2 c 0 -0.11 0.09 -0.2 0.2 -0.2 h 1.6 c 0.11 0 0.2 0.09 0.2 0.2 v 5.6 a 0.2 0.2 0 0 1 -0.2 0.2 z M 9.8 10 H 8.2 a 0.2 0.2 0 0 1 -0.2 -0.2 V 4.2 c 0 -0.11 0.09 -0.2 0.2 -0.2 h 1.6 c 0.11 0 0.2 0.09 0.2 0.2 v 5.6 a 0.2 0.2 0 0 1 -0.2 0.2 z"/>
</svg>

After

Width:  |  Height:  |  Size: 766 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2019 Apple Inc. All rights reserved. -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 14 14">
<circle fill="rgb(191, 222, 255)" stroke="rgb(0, 122, 255)" cx="7" cy="7" r="6.25"/>
<path fill="white" d="M 7 0.5 c 3.584 0 6.5 2.916 6.5 6.5 s -2.916 6.5 -6.5 6.5 S 0.5 10.584 0.5 7 3.416 0.5 7 0.5 M 7 0 a 7 7 0 1 0 0 14 A 7 7 0 0 0 7 0 z"/>
<path fill="rgb(0, 122, 255)" d="M 10.704 6.827 L 5.3 3.676 A 0.2 0.2 0 0 0 5 3.848 v 6.304 a 0.2 0.2 0 0 0 0.3 0.173 l 5.404 -3.152 a 0.2 0.2 0 0 0 0 -0.346 z"/>
</svg>

After

Width:  |  Height:  |  Size: 611 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2019 Apple Inc. All rights reserved. -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 14 14">
<circle fill="rgb(191, 222, 255)" stroke="rgb(0, 122, 255)" cx="7" cy="7" r="6.25"/>
<path fill="white" d="M 7 0.5 c 3.584 0 6.5 2.916 6.5 6.5 s -2.916 6.5 -6.5 6.5 S 0.5 10.584 0.5 7 3.416 0.5 7 0.5 M 7 0 a 7 7 0 1 0 0 14 A 7 7 0 0 0 7 0 z"/>
<path fill="rgb(0, 122, 255)" d="M 7 8.5 a 1.5 1.5 0 0 1 0 -3 1.5 1.5 0 0 1 0 3 z M 3 8.5 a 1.5 1.5 0 0 1 0 -3 1.5 1.5 0 0 1 0 3 z M 11 8.5 a 1.5 1.5 0 0 1 0 -3 1.5 1.5 0 0 1 0 3 z"/>
</svg>

After

Width:  |  Height:  |  Size: 632 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2019 Apple Inc. All rights reserved. -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 14 14">
<circle fill="rgb(191, 222, 255)" stroke="rgb(0, 122, 255)" cx="7" cy="7" r="6.25"/>
<path fill="white" d="M 7 0.5 c 3.584 0 6.5 2.916 6.5 6.5 s -2.916 6.5 -6.5 6.5 S 0.5 10.584 0.5 7 3.416 0.5 7 0.5 M 7 0 a 7 7 0 1 0 0 14 A 7 7 0 0 0 7 0 z"/>
<path fill="rgb(0, 122, 255)" d="M 9.8 10 H 4.2 a 0.2 0.2 0 0 1 -0.2 -0.2 V 4.2 c 0 -0.11 0.09 -0.2 0.2 -0.2 h 5.6 c 0.11 0 0.2 0.09 0.2 0.2 v 5.6 a 0.2 0.2 0 0 1 -0.2 0.2 z"/>
</svg>

After

Width:  |  Height:  |  Size: 625 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2017 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" viewBox="0 0 15 15">
<path fill="none" stroke="currentColor" d="M 7.5 2 v 7.5"/>
<path fill="none" stroke="currentColor" d="M 4.5 5 l 3 -3 l 3 3"/>
<polyline fill="none" stroke="currentColor" points="12.5 9 12.5 12.5 2.5 12.5 2.5 9"/>
</svg>

After

Width:  |  Height:  |  Size: 402 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2017 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 16 16">
<path d="M 15 13.5 A 1.39 1.39 0 0 1 13.5 15 1.39 1.39 0 0 1 12 13.5 c 0 -1.12 1.5 -3.5 1.5 -3.5 S 15 12.38 15 13.5 Z"/>
<polygon points="7.226 2.796 7.226 4.211 11.54 8.524 10.43 8.786 6.166 13.049 2.277 9.16 4.73 6.707 4.73 5.292 0.863 9.16 6.166 14.464 10.932 9.698 13.52 9.09 7.226 2.796"/>
<path d="M 5.979 7.459 a.5.5 0 0 1 -0.5 -0.5 V 2.046 a 0.5 0.5 0 0 1 1 0 V 6.959 A 0.5 0.5 0 0 1 5.979 7.459 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 611 B

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright © 2022 Apple Inc. All rights reserved. -->
<svg xmlns="http://www.w3.org/2000/svg" id="root" version="1.1" viewBox="0 0 15 15">
<g transform="translate(0.5, 0.5)">
<circle stroke="currentColor" fill="none" cx="7" cy="7" r="7"/>
<path stroke="currentColor" d="M3 5 L 11 5" stroke-linecap="square"/>
<path stroke="currentColor" d="M4 7.5 L 10 7.5" stroke-linecap="square"/>
<path stroke="currentColor" d="M5 10 L 9 10" stroke-linecap="square"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 550 B

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