├── .github └── workflows │ └── build.yml ├── .gitignore ├── .swiftpm └── xcode │ ├── package.xcworkspace │ └── contents.xcworkspacedata │ └── xcshareddata │ └── xcschemes │ └── SFSymbol.xcscheme ├── Info.plist ├── LICENSE ├── Package.swift ├── README.md ├── SFSymbol.h ├── SFSymbol.podspec ├── SFSymbol.xcodeproj ├── SFSymbolTests_Info.plist ├── SFSymbol_Info.plist ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings └── xcshareddata │ └── xcschemes │ ├── SFSymbol-Package.xcscheme │ └── SFSymbol.xcscheme ├── SFSymbol ├── Extensions │ ├── Image+SFSymbol.swift │ ├── NSImage+SFSymbol.swift │ └── UIImage+SFSymbol.swift ├── Protocols │ └── SymbolImage.swift ├── SFSymbol1 │ └── SFSymbol.swift ├── SFSymbol2 │ └── SFSymbol2.swift ├── SFSymbol3 │ └── SFSymbol3.swift ├── SFSymbol4 │ └── SFSymbol4.swift ├── SFSymbol5 │ └── SFSymbol5.swift └── SFSymbol6 │ └── SFSymbol6.swift ├── Sources └── SFSymbol │ ├── Extensions │ ├── Image+SFSymbol.swift │ ├── NSImage+SFSymbol.swift │ └── UIImage+SFSymbol.swift │ ├── Protocols │ └── SymbolImage.swift │ ├── SFSymbol1 │ └── SFSymbol.swift │ ├── SFSymbol2 │ └── SFSymbol2.swift │ ├── SFSymbol3 │ └── SFSymbol3.swift │ ├── SFSymbol4 │ └── SFSymbol4.swift │ ├── SFSymbol5 │ └── SFSymbol5.swift │ └── SFSymbol6 │ └── SFSymbol6.swift └── Tests └── SFSymbolTests ├── ImageExtensionTests.swift └── UIImageExtensionTests.swift /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Xcode build smoke test 2 | run-name: Build smoke test by ${{ github.actor }} 3 | on: 4 | pull_request: 5 | branches: [ "main" ] 6 | jobs: 7 | smoke_test_build: 8 | name: Smoke Test (Build only) 9 | runs-on: macos-14 10 | env: 11 | DEVELOPER_DIR: /Applications/Xcode_16.app 12 | steps: 13 | - uses: actions/checkout@v4 14 | - name: Build 15 | run: xcodebuild -scheme SFSymbol -target SFSymbol 16 | - name: Test 17 | run: xcodebuild test -scheme SFSymbol -target SFSymbolTests 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 4 | .DS_Store 5 | ## Build generated 6 | .build/ 7 | build/ 8 | DerivedData/ 9 | 10 | ## Various settings 11 | *.pbxuser 12 | !default.pbxuser 13 | *.mode1v3 14 | !default.mode1v3 15 | *.mode2v3 16 | !default.mode2v3 17 | *.perspectivev3 18 | !default.perspectivev3 19 | xcuserdata/ 20 | 21 | ## Other 22 | *.moved-aside 23 | *.xccheckout 24 | *.xcscmblueprint 25 | 26 | ## Obj-C/Swift specific 27 | *.hmap 28 | *.ipa 29 | *.dSYM.zip 30 | *.dSYM 31 | 32 | # CocoaPods 33 | # 34 | # We recommend against adding the Pods directory to your .gitignore. However 35 | # you should judge for yourself, the pros and cons are mentioned at: 36 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 37 | # 38 | # Pods/ 39 | 40 | # Carthage 41 | # 42 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 43 | # Carthage/Checkouts 44 | 45 | Carthage/Build 46 | 47 | # fastlane 48 | # 49 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 50 | # screenshots whenever they are needed. 51 | # For more information about the recommended setup visit: 52 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 53 | 54 | fastlane/report.xml 55 | fastlane/Preview.html 56 | fastlane/screenshots/**/*.png 57 | fastlane/test_output 58 | 59 | # Code Injection 60 | # 61 | # After new code Injection tools there's a generated folder /iOSInjectionProject 62 | # https://github.com/johnno1962/injectionforxcode 63 | 64 | iOSInjectionProject/ 65 | -------------------------------------------------------------------------------- /.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.swiftpm/xcode/xcshareddata/xcschemes/SFSymbol.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 9 | 10 | 16 | 22 | 23 | 24 | 25 | 26 | 32 | 33 | 35 | 41 | 42 | 43 | 44 | 45 | 55 | 56 | 62 | 63 | 69 | 70 | 71 | 72 | 74 | 75 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | $(PRODUCT_BUNDLE_PACKAGE_TYPE) 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | 22 | 23 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Nicholas Maccharoli 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version: 6.0 2 | // The swift-tools-version declares the minimum version of Swift required to build this package. 3 | 4 | import PackageDescription 5 | 6 | let package = Package( 7 | name: "SFSymbol", 8 | platforms: [ 9 | .macOS(.v11), .iOS(.v15), .tvOS(.v15), .watchOS(.v6), 10 | ], 11 | products: [ 12 | .library( 13 | name: "SFSymbol", 14 | targets: ["SFSymbol"] 15 | ), 16 | ], 17 | dependencies: [], 18 | targets: [ 19 | .target( 20 | name: "SFSymbol", 21 | dependencies: [] 22 | ), 23 | .testTarget( 24 | name: "SFSymbolTests", 25 | dependencies: ["SFSymbol"] 26 | ), 27 | ] 28 | ) 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SFSymbol: SFSymbols 6 through 1.1 2 | ![Build Status](https://github.com/nirma/sfsymbol/actions/workflows/build.yml/badge.svg) 3 | [![Swift Package Manager compatible](https://img.shields.io/badge/Swift%20Package%20Manager-compatible-purple.svg)](https://github.com/apple/swift-package-manager) 4 | [![CocoaPods compatible](https://img.shields.io/cocoapods/v/SFSymbol.svg)](#cocoapods) 5 | [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) 6 | [![License](http://img.shields.io/:license-mit-blue.svg)](http://doge.mit-license.org) 7 | 8 | All the SFSymbols at your fingertips (SFSymbol 6 through 1.1) 9 | 10 | ![demo6](https://github.com/user-attachments/assets/5b1958b4-d3ab-4749-98c6-9b2fc04b33df) 11 | 12 | 13 | ## Usage 14 | `SFSymbol6`, `SFSymbol5` and so on are `enum`s that contain the identifier strings of all of apple's SFSymbols version 6 through 1.1. 15 | 16 | For example `SFSymbol6.Camera.cameraMeteringPartial.image` produces a SwiftUI `Image` or omitting the `.image` part will return an enum case with the associated raw value of `"camera.metering.partial"`. 17 | 18 | 19 | https://github.com/user-attachments/assets/96eb227f-e34e-442c-b42f-e5826973030c 20 | 21 | 22 | #### SwiftUI 23 | 24 | ```swift 25 | SFSymbol6.Camera.cameraMeteringPartial.image 26 | ``` 27 | 28 | *or* 29 | 30 | #### UIKit 31 | 32 | ```swift 33 | UIImage(symbol: SFSymbol6.Camera.cameraMeteringPartial) 34 | ``` 35 | 36 | 37 | ## Installation 38 | 39 | ### Swift Package Manager (Preferred) 40 | Simply add a package to your project passing in `https://github.com/Nirma/SFSymbol` and your preferred version i.e `3.0` 41 | 42 | ### Cocoapods 43 | Just add this line to your podfile: 44 | 45 | ```shell 46 | pod 'SFSymbol' 47 | ``` 48 | 49 | ### Carthage 50 | 51 | ```shell 52 | github "Nirma/SFSymbol" 53 | ``` 54 | 55 | ## Contributing to this project 56 | **Contributions are highly welcome** 57 | 58 | If there is something you wish to fix about the project, or wish to add any other kind of enhancements, 59 | propose to add to the project. Please feel free to send over a pull request 60 | or open an issue for this project. 61 | 62 | ## License 63 | 64 | SFSymbol is released under the MIT license. [See LICENSE](https://github.com/Nirma/SFSymbol/blob/master/LICENSE) for details. 65 | -------------------------------------------------------------------------------- /SFSymbol.h: -------------------------------------------------------------------------------- 1 | // 2 | // SFSymbol.h 3 | // SFSymbol 4 | // 5 | // Created by Nicholas Maccharoli on 2019/10/28. 6 | // Copyright © 2019 Nicholas Maccharoli. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for SFSymbol. 12 | FOUNDATION_EXPORT double SFSymbolVersionNumber; 13 | 14 | //! Project version string for SFSymbol. 15 | FOUNDATION_EXPORT const unsigned char SFSymbolVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /SFSymbol.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | 3 | s.platform = :ios 4 | s.ios.deployment_target = '13.0' 5 | s.name = "SFSymbol" 6 | s.summary = "SFSymbol - All the SFSymbols 6 -> 1.1 via code completion at your fingertips" 7 | s.requires_arc = true 8 | s.version = "3.0.0" 9 | 10 | s.license = { :type => "MIT", :file => "LICENSE" } 11 | 12 | s.author = { "Nicholas Maccharoli" => "nicko@screaming-cactus.com" } 13 | 14 | s.homepage = "https://github.com/Nirma/SFSymbol" 15 | 16 | s.source = { :git => "https://github.com/Nirma/SFSymbol.git", 17 | :tag => "#{s.version}" } 18 | 19 | s.source_files = "Sources/SFSymbol/*.{swift}" 20 | s.swift_version = "6.0" 21 | end 22 | -------------------------------------------------------------------------------- /SFSymbol.xcodeproj/SFSymbolTests_Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CFBundleDevelopmentRegion 5 | en 6 | CFBundleExecutable 7 | $(EXECUTABLE_NAME) 8 | CFBundleIdentifier 9 | $(PRODUCT_BUNDLE_IDENTIFIER) 10 | CFBundleInfoDictionaryVersion 11 | 6.0 12 | CFBundleName 13 | $(PRODUCT_NAME) 14 | CFBundlePackageType 15 | BNDL 16 | CFBundleShortVersionString 17 | 1.0 18 | CFBundleSignature 19 | ???? 20 | CFBundleVersion 21 | $(CURRENT_PROJECT_VERSION) 22 | NSPrincipalClass 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /SFSymbol.xcodeproj/SFSymbol_Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | CFBundleDevelopmentRegion 5 | en 6 | CFBundleExecutable 7 | $(EXECUTABLE_NAME) 8 | CFBundleIdentifier 9 | $(PRODUCT_BUNDLE_IDENTIFIER) 10 | CFBundleInfoDictionaryVersion 11 | 6.0 12 | CFBundleName 13 | $(PRODUCT_NAME) 14 | CFBundlePackageType 15 | FMWK 16 | CFBundleShortVersionString 17 | 1.0 18 | CFBundleSignature 19 | ???? 20 | CFBundleVersion 21 | $(CURRENT_PROJECT_VERSION) 22 | NSPrincipalClass 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /SFSymbol.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 54; 7 | objects = { 8 | 9 | /* Begin PBXAggregateTarget section */ 10 | "SFSymbol::SFSymbolPackageTests::ProductTarget" /* SFSymbolPackageTests */ = { 11 | isa = PBXAggregateTarget; 12 | buildConfigurationList = OBJ_36 /* Build configuration list for PBXAggregateTarget "SFSymbolPackageTests" */; 13 | buildPhases = ( 14 | ); 15 | dependencies = ( 16 | OBJ_39 /* PBXTargetDependency */, 17 | ); 18 | name = SFSymbolPackageTests; 19 | productName = SFSymbolPackageTests; 20 | }; 21 | /* End PBXAggregateTarget section */ 22 | 23 | /* Begin PBXBuildFile section */ 24 | 4E53C3ED2CD3A73E0058EA82 /* SymbolImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E53C3DE2CD3A73E0058EA82 /* SymbolImage.swift */; }; 25 | 4E53C3EE2CD3A73E0058EA82 /* SFSymbol3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E53C3E42CD3A73E0058EA82 /* SFSymbol3.swift */; }; 26 | 4E53C3EF2CD3A73E0058EA82 /* Image+SFSymbol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E53C3DA2CD3A73E0058EA82 /* Image+SFSymbol.swift */; }; 27 | 4E53C3F02CD3A73E0058EA82 /* SFSymbol5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E53C3E82CD3A73E0058EA82 /* SFSymbol5.swift */; }; 28 | 4E53C3F12CD3A73E0058EA82 /* SFSymbol4.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E53C3E62CD3A73E0058EA82 /* SFSymbol4.swift */; }; 29 | 4E53C3F22CD3A73E0058EA82 /* SFSymbol2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E53C3E22CD3A73E0058EA82 /* SFSymbol2.swift */; }; 30 | 4E53C3F32CD3A73E0058EA82 /* SFSymbol6.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E53C3EA2CD3A73E0058EA82 /* SFSymbol6.swift */; }; 31 | 4E53C3F42CD3A73E0058EA82 /* NSImage+SFSymbol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E53C3DB2CD3A73E0058EA82 /* NSImage+SFSymbol.swift */; }; 32 | 4E53C3F52CD3A73E0058EA82 /* UIImage+SFSymbol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E53C3DC2CD3A73E0058EA82 /* UIImage+SFSymbol.swift */; }; 33 | 4E53C3F62CD3A73E0058EA82 /* SFSymbol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E53C3E02CD3A73E0058EA82 /* SFSymbol.swift */; }; 34 | 4E53C3FB2CD3A77B0058EA82 /* UIImageExtensionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E53C3F82CD3A77B0058EA82 /* UIImageExtensionTests.swift */; }; 35 | 4E53C3FC2CD3A77B0058EA82 /* ImageExtensionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E53C3F72CD3A77B0058EA82 /* ImageExtensionTests.swift */; }; 36 | OBJ_34 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; 37 | OBJ_48 /* SFSymbol.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "SFSymbol::SFSymbol::Product" /* SFSymbol.framework */; }; 38 | /* End PBXBuildFile section */ 39 | 40 | /* Begin PBXContainerItemProxy section */ 41 | 4E70E3E9237048A7004B4A4D /* PBXContainerItemProxy */ = { 42 | isa = PBXContainerItemProxy; 43 | containerPortal = OBJ_1 /* Project object */; 44 | proxyType = 1; 45 | remoteGlobalIDString = "SFSymbol::SFSymbol"; 46 | remoteInfo = SFSymbol; 47 | }; 48 | 4E70E3EA237048A8004B4A4D /* PBXContainerItemProxy */ = { 49 | isa = PBXContainerItemProxy; 50 | containerPortal = OBJ_1 /* Project object */; 51 | proxyType = 1; 52 | remoteGlobalIDString = "SFSymbol::SFSymbolTests"; 53 | remoteInfo = SFSymbolTests; 54 | }; 55 | /* End PBXContainerItemProxy section */ 56 | 57 | /* Begin PBXFileReference section */ 58 | 4E53C3DA2CD3A73E0058EA82 /* Image+SFSymbol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Image+SFSymbol.swift"; sourceTree = ""; }; 59 | 4E53C3DB2CD3A73E0058EA82 /* NSImage+SFSymbol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSImage+SFSymbol.swift"; sourceTree = ""; }; 60 | 4E53C3DC2CD3A73E0058EA82 /* UIImage+SFSymbol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+SFSymbol.swift"; sourceTree = ""; }; 61 | 4E53C3DE2CD3A73E0058EA82 /* SymbolImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SymbolImage.swift; sourceTree = ""; }; 62 | 4E53C3E02CD3A73E0058EA82 /* SFSymbol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SFSymbol.swift; sourceTree = ""; }; 63 | 4E53C3E22CD3A73E0058EA82 /* SFSymbol2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SFSymbol2.swift; sourceTree = ""; }; 64 | 4E53C3E42CD3A73E0058EA82 /* SFSymbol3.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SFSymbol3.swift; sourceTree = ""; }; 65 | 4E53C3E62CD3A73E0058EA82 /* SFSymbol4.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SFSymbol4.swift; sourceTree = ""; }; 66 | 4E53C3E82CD3A73E0058EA82 /* SFSymbol5.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SFSymbol5.swift; sourceTree = ""; }; 67 | 4E53C3EA2CD3A73E0058EA82 /* SFSymbol6.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SFSymbol6.swift; sourceTree = ""; }; 68 | 4E53C3F72CD3A77B0058EA82 /* ImageExtensionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageExtensionTests.swift; sourceTree = ""; }; 69 | 4E53C3F82CD3A77B0058EA82 /* UIImageExtensionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIImageExtensionTests.swift; sourceTree = ""; }; 70 | 4E70E3EB23704F30004B4A4D /* SFSymbol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SFSymbol.h; sourceTree = ""; }; 71 | 4E70E3EC23704F3C004B4A4D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 72 | OBJ_19 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; 73 | OBJ_20 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; 74 | OBJ_21 /* SFSymbol.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; path = SFSymbol.podspec; sourceTree = ""; }; 75 | OBJ_6 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; 76 | "SFSymbol::SFSymbol::Product" /* SFSymbol.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SFSymbol.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 77 | "SFSymbol::SFSymbolTests::Product" /* SFSymbolTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = SFSymbolTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 78 | /* End PBXFileReference section */ 79 | 80 | /* Begin PBXFrameworksBuildPhase section */ 81 | OBJ_28 /* Frameworks */ = { 82 | isa = PBXFrameworksBuildPhase; 83 | buildActionMask = 0; 84 | files = ( 85 | ); 86 | runOnlyForDeploymentPostprocessing = 0; 87 | }; 88 | OBJ_47 /* Frameworks */ = { 89 | isa = PBXFrameworksBuildPhase; 90 | buildActionMask = 0; 91 | files = ( 92 | OBJ_48 /* SFSymbol.framework in Frameworks */, 93 | ); 94 | runOnlyForDeploymentPostprocessing = 0; 95 | }; 96 | /* End PBXFrameworksBuildPhase section */ 97 | 98 | /* Begin PBXGroup section */ 99 | 4E53C3DD2CD3A73E0058EA82 /* Extensions */ = { 100 | isa = PBXGroup; 101 | children = ( 102 | 4E53C3DA2CD3A73E0058EA82 /* Image+SFSymbol.swift */, 103 | 4E53C3DB2CD3A73E0058EA82 /* NSImage+SFSymbol.swift */, 104 | 4E53C3DC2CD3A73E0058EA82 /* UIImage+SFSymbol.swift */, 105 | ); 106 | path = Extensions; 107 | sourceTree = ""; 108 | }; 109 | 4E53C3DF2CD3A73E0058EA82 /* Protocols */ = { 110 | isa = PBXGroup; 111 | children = ( 112 | 4E53C3DE2CD3A73E0058EA82 /* SymbolImage.swift */, 113 | ); 114 | path = Protocols; 115 | sourceTree = ""; 116 | }; 117 | 4E53C3E12CD3A73E0058EA82 /* SFSymbol1 */ = { 118 | isa = PBXGroup; 119 | children = ( 120 | 4E53C3E02CD3A73E0058EA82 /* SFSymbol.swift */, 121 | ); 122 | path = SFSymbol1; 123 | sourceTree = ""; 124 | }; 125 | 4E53C3E32CD3A73E0058EA82 /* SFSymbol2 */ = { 126 | isa = PBXGroup; 127 | children = ( 128 | 4E53C3E22CD3A73E0058EA82 /* SFSymbol2.swift */, 129 | ); 130 | path = SFSymbol2; 131 | sourceTree = ""; 132 | }; 133 | 4E53C3E52CD3A73E0058EA82 /* SFSymbol3 */ = { 134 | isa = PBXGroup; 135 | children = ( 136 | 4E53C3E42CD3A73E0058EA82 /* SFSymbol3.swift */, 137 | ); 138 | path = SFSymbol3; 139 | sourceTree = ""; 140 | }; 141 | 4E53C3E72CD3A73E0058EA82 /* SFSymbol4 */ = { 142 | isa = PBXGroup; 143 | children = ( 144 | 4E53C3E62CD3A73E0058EA82 /* SFSymbol4.swift */, 145 | ); 146 | path = SFSymbol4; 147 | sourceTree = ""; 148 | }; 149 | 4E53C3E92CD3A73E0058EA82 /* SFSymbol5 */ = { 150 | isa = PBXGroup; 151 | children = ( 152 | 4E53C3E82CD3A73E0058EA82 /* SFSymbol5.swift */, 153 | ); 154 | path = SFSymbol5; 155 | sourceTree = ""; 156 | }; 157 | 4E53C3EB2CD3A73E0058EA82 /* SFSymbol6 */ = { 158 | isa = PBXGroup; 159 | children = ( 160 | 4E53C3EA2CD3A73E0058EA82 /* SFSymbol6.swift */, 161 | ); 162 | path = SFSymbol6; 163 | sourceTree = ""; 164 | }; 165 | 4E53C3EC2CD3A73E0058EA82 /* SFSymbol */ = { 166 | isa = PBXGroup; 167 | children = ( 168 | 4E53C3DD2CD3A73E0058EA82 /* Extensions */, 169 | 4E53C3DF2CD3A73E0058EA82 /* Protocols */, 170 | 4E53C3E12CD3A73E0058EA82 /* SFSymbol1 */, 171 | 4E53C3E32CD3A73E0058EA82 /* SFSymbol2 */, 172 | 4E53C3E52CD3A73E0058EA82 /* SFSymbol3 */, 173 | 4E53C3E72CD3A73E0058EA82 /* SFSymbol4 */, 174 | 4E53C3E92CD3A73E0058EA82 /* SFSymbol5 */, 175 | 4E53C3EB2CD3A73E0058EA82 /* SFSymbol6 */, 176 | ); 177 | path = SFSymbol; 178 | sourceTree = ""; 179 | }; 180 | 4E53C3F92CD3A77B0058EA82 /* SFSymbolTests */ = { 181 | isa = PBXGroup; 182 | children = ( 183 | 4E53C3F72CD3A77B0058EA82 /* ImageExtensionTests.swift */, 184 | 4E53C3F82CD3A77B0058EA82 /* UIImageExtensionTests.swift */, 185 | ); 186 | path = SFSymbolTests; 187 | sourceTree = ""; 188 | }; 189 | 4E53C3FA2CD3A77B0058EA82 /* Tests */ = { 190 | isa = PBXGroup; 191 | children = ( 192 | 4E53C3F92CD3A77B0058EA82 /* SFSymbolTests */, 193 | ); 194 | path = Tests; 195 | sourceTree = ""; 196 | }; 197 | OBJ_14 /* Products */ = { 198 | isa = PBXGroup; 199 | children = ( 200 | "SFSymbol::SFSymbolTests::Product" /* SFSymbolTests.xctest */, 201 | "SFSymbol::SFSymbol::Product" /* SFSymbol.framework */, 202 | ); 203 | name = Products; 204 | sourceTree = BUILT_PRODUCTS_DIR; 205 | }; 206 | OBJ_5 = { 207 | isa = PBXGroup; 208 | children = ( 209 | 4E70E3EC23704F3C004B4A4D /* Info.plist */, 210 | OBJ_19 /* LICENSE */, 211 | OBJ_6 /* Package.swift */, 212 | OBJ_14 /* Products */, 213 | OBJ_20 /* README.md */, 214 | 4E70E3EB23704F30004B4A4D /* SFSymbol.h */, 215 | OBJ_21 /* SFSymbol.podspec */, 216 | OBJ_7 /* Sources */, 217 | 4E53C3FA2CD3A77B0058EA82 /* Tests */, 218 | ); 219 | sourceTree = ""; 220 | }; 221 | OBJ_7 /* Sources */ = { 222 | isa = PBXGroup; 223 | children = ( 224 | 4E53C3EC2CD3A73E0058EA82 /* SFSymbol */, 225 | ); 226 | name = Sources; 227 | sourceTree = SOURCE_ROOT; 228 | }; 229 | /* End PBXGroup section */ 230 | 231 | /* Begin PBXNativeTarget section */ 232 | "SFSymbol::SFSymbol" /* SFSymbol */ = { 233 | isa = PBXNativeTarget; 234 | buildConfigurationList = OBJ_23 /* Build configuration list for PBXNativeTarget "SFSymbol" */; 235 | buildPhases = ( 236 | OBJ_26 /* Sources */, 237 | OBJ_28 /* Frameworks */, 238 | ); 239 | buildRules = ( 240 | ); 241 | dependencies = ( 242 | ); 243 | name = SFSymbol; 244 | productName = SFSymbol; 245 | productReference = "SFSymbol::SFSymbol::Product" /* SFSymbol.framework */; 246 | productType = "com.apple.product-type.framework"; 247 | }; 248 | "SFSymbol::SFSymbolTests" /* SFSymbolTests */ = { 249 | isa = PBXNativeTarget; 250 | buildConfigurationList = OBJ_41 /* Build configuration list for PBXNativeTarget "SFSymbolTests" */; 251 | buildPhases = ( 252 | OBJ_44 /* Sources */, 253 | OBJ_47 /* Frameworks */, 254 | ); 255 | buildRules = ( 256 | ); 257 | dependencies = ( 258 | OBJ_49 /* PBXTargetDependency */, 259 | ); 260 | name = SFSymbolTests; 261 | productName = SFSymbolTests; 262 | productReference = "SFSymbol::SFSymbolTests::Product" /* SFSymbolTests.xctest */; 263 | productType = "com.apple.product-type.bundle.unit-test"; 264 | }; 265 | "SFSymbol::SwiftPMPackageDescription" /* SFSymbolPackageDescription */ = { 266 | isa = PBXNativeTarget; 267 | buildConfigurationList = OBJ_30 /* Build configuration list for PBXNativeTarget "SFSymbolPackageDescription" */; 268 | buildPhases = ( 269 | OBJ_33 /* Sources */, 270 | ); 271 | buildRules = ( 272 | ); 273 | dependencies = ( 274 | ); 275 | name = SFSymbolPackageDescription; 276 | productName = SFSymbolPackageDescription; 277 | productType = "com.apple.product-type.framework"; 278 | }; 279 | /* End PBXNativeTarget section */ 280 | 281 | /* Begin PBXProject section */ 282 | OBJ_1 /* Project object */ = { 283 | isa = PBXProject; 284 | attributes = { 285 | BuildIndependentTargetsInParallel = YES; 286 | LastSwiftMigration = 9999; 287 | LastUpgradeCheck = 1600; 288 | TargetAttributes = { 289 | "SFSymbol::SFSymbolPackageTests::ProductTarget" = { 290 | LastSwiftMigration = 1420; 291 | }; 292 | "SFSymbol::SFSymbolTests" = { 293 | LastSwiftMigration = 1420; 294 | }; 295 | }; 296 | }; 297 | buildConfigurationList = OBJ_2 /* Build configuration list for PBXProject "SFSymbol" */; 298 | compatibilityVersion = "Xcode 3.2"; 299 | developmentRegion = en; 300 | hasScannedForEncodings = 0; 301 | knownRegions = ( 302 | en, 303 | Base, 304 | ); 305 | mainGroup = OBJ_5; 306 | productRefGroup = OBJ_14 /* Products */; 307 | projectDirPath = ""; 308 | projectRoot = ""; 309 | targets = ( 310 | "SFSymbol::SFSymbol" /* SFSymbol */, 311 | "SFSymbol::SwiftPMPackageDescription" /* SFSymbolPackageDescription */, 312 | "SFSymbol::SFSymbolPackageTests::ProductTarget" /* SFSymbolPackageTests */, 313 | "SFSymbol::SFSymbolTests" /* SFSymbolTests */, 314 | ); 315 | }; 316 | /* End PBXProject section */ 317 | 318 | /* Begin PBXSourcesBuildPhase section */ 319 | OBJ_26 /* Sources */ = { 320 | isa = PBXSourcesBuildPhase; 321 | buildActionMask = 0; 322 | files = ( 323 | 4E53C3ED2CD3A73E0058EA82 /* SymbolImage.swift in Sources */, 324 | 4E53C3EE2CD3A73E0058EA82 /* SFSymbol3.swift in Sources */, 325 | 4E53C3EF2CD3A73E0058EA82 /* Image+SFSymbol.swift in Sources */, 326 | 4E53C3F02CD3A73E0058EA82 /* SFSymbol5.swift in Sources */, 327 | 4E53C3F12CD3A73E0058EA82 /* SFSymbol4.swift in Sources */, 328 | 4E53C3F22CD3A73E0058EA82 /* SFSymbol2.swift in Sources */, 329 | 4E53C3F32CD3A73E0058EA82 /* SFSymbol6.swift in Sources */, 330 | 4E53C3F42CD3A73E0058EA82 /* NSImage+SFSymbol.swift in Sources */, 331 | 4E53C3F52CD3A73E0058EA82 /* UIImage+SFSymbol.swift in Sources */, 332 | 4E53C3F62CD3A73E0058EA82 /* SFSymbol.swift in Sources */, 333 | ); 334 | runOnlyForDeploymentPostprocessing = 0; 335 | }; 336 | OBJ_33 /* Sources */ = { 337 | isa = PBXSourcesBuildPhase; 338 | buildActionMask = 0; 339 | files = ( 340 | OBJ_34 /* Package.swift in Sources */, 341 | ); 342 | runOnlyForDeploymentPostprocessing = 0; 343 | }; 344 | OBJ_44 /* Sources */ = { 345 | isa = PBXSourcesBuildPhase; 346 | buildActionMask = 0; 347 | files = ( 348 | 4E53C3FB2CD3A77B0058EA82 /* UIImageExtensionTests.swift in Sources */, 349 | 4E53C3FC2CD3A77B0058EA82 /* ImageExtensionTests.swift in Sources */, 350 | ); 351 | runOnlyForDeploymentPostprocessing = 0; 352 | }; 353 | /* End PBXSourcesBuildPhase section */ 354 | 355 | /* Begin PBXTargetDependency section */ 356 | OBJ_39 /* PBXTargetDependency */ = { 357 | isa = PBXTargetDependency; 358 | target = "SFSymbol::SFSymbolTests" /* SFSymbolTests */; 359 | targetProxy = 4E70E3EA237048A8004B4A4D /* PBXContainerItemProxy */; 360 | }; 361 | OBJ_49 /* PBXTargetDependency */ = { 362 | isa = PBXTargetDependency; 363 | target = "SFSymbol::SFSymbol" /* SFSymbol */; 364 | targetProxy = 4E70E3E9237048A7004B4A4D /* PBXContainerItemProxy */; 365 | }; 366 | /* End PBXTargetDependency section */ 367 | 368 | /* Begin XCBuildConfiguration section */ 369 | OBJ_24 /* Debug */ = { 370 | isa = XCBuildConfiguration; 371 | buildSettings = { 372 | CODE_SIGN_IDENTITY = ""; 373 | ENABLE_TESTABILITY = YES; 374 | FRAMEWORK_SEARCH_PATHS = ( 375 | "$(inherited)", 376 | "$(PLATFORM_DIR)/Developer/Library/Frameworks", 377 | ); 378 | HEADER_SEARCH_PATHS = "$(inherited)"; 379 | INFOPLIST_FILE = SFSymbol.xcodeproj/SFSymbol_Info.plist; 380 | IPHONEOS_DEPLOYMENT_TARGET = 13.0; 381 | LD_RUNPATH_SEARCH_PATHS = ( 382 | "$(inherited)", 383 | "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx", 384 | ); 385 | MACOSX_DEPLOYMENT_TARGET = 13.5; 386 | OTHER_CFLAGS = "$(inherited)"; 387 | OTHER_LDFLAGS = "$(inherited)"; 388 | OTHER_SWIFT_FLAGS = "$(inherited)"; 389 | PRODUCT_BUNDLE_IDENTIFIER = SFSymbol; 390 | PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; 391 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; 392 | SKIP_INSTALL = YES; 393 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited)"; 394 | SWIFT_VERSION = 5.0; 395 | TARGET_NAME = SFSymbol; 396 | TVOS_DEPLOYMENT_TARGET = 13.0; 397 | WATCHOS_DEPLOYMENT_TARGET = 2.0; 398 | }; 399 | name = Debug; 400 | }; 401 | OBJ_25 /* Release */ = { 402 | isa = XCBuildConfiguration; 403 | buildSettings = { 404 | CODE_SIGN_IDENTITY = ""; 405 | ENABLE_TESTABILITY = YES; 406 | FRAMEWORK_SEARCH_PATHS = ( 407 | "$(inherited)", 408 | "$(PLATFORM_DIR)/Developer/Library/Frameworks", 409 | ); 410 | HEADER_SEARCH_PATHS = "$(inherited)"; 411 | INFOPLIST_FILE = SFSymbol.xcodeproj/SFSymbol_Info.plist; 412 | IPHONEOS_DEPLOYMENT_TARGET = 13.0; 413 | LD_RUNPATH_SEARCH_PATHS = ( 414 | "$(inherited)", 415 | "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx", 416 | ); 417 | MACOSX_DEPLOYMENT_TARGET = 13.5; 418 | OTHER_CFLAGS = "$(inherited)"; 419 | OTHER_LDFLAGS = "$(inherited)"; 420 | OTHER_SWIFT_FLAGS = "$(inherited)"; 421 | PRODUCT_BUNDLE_IDENTIFIER = SFSymbol; 422 | PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)"; 423 | PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; 424 | SKIP_INSTALL = YES; 425 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited)"; 426 | SWIFT_VERSION = 5.0; 427 | TARGET_NAME = SFSymbol; 428 | TVOS_DEPLOYMENT_TARGET = 13.0; 429 | WATCHOS_DEPLOYMENT_TARGET = 2.0; 430 | }; 431 | name = Release; 432 | }; 433 | OBJ_3 /* Debug */ = { 434 | isa = XCBuildConfiguration; 435 | buildSettings = { 436 | CLANG_ENABLE_OBJC_ARC = YES; 437 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 438 | CLANG_WARN_BOOL_CONVERSION = YES; 439 | CLANG_WARN_COMMA = YES; 440 | CLANG_WARN_CONSTANT_CONVERSION = YES; 441 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 442 | CLANG_WARN_EMPTY_BODY = YES; 443 | CLANG_WARN_ENUM_CONVERSION = YES; 444 | CLANG_WARN_INFINITE_RECURSION = YES; 445 | CLANG_WARN_INT_CONVERSION = YES; 446 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 447 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 448 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 449 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 450 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 451 | CLANG_WARN_STRICT_PROTOTYPES = YES; 452 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 453 | CLANG_WARN_UNREACHABLE_CODE = YES; 454 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 455 | COMBINE_HIDPI_IMAGES = YES; 456 | COPY_PHASE_STRIP = NO; 457 | DEBUG_INFORMATION_FORMAT = dwarf; 458 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 459 | ENABLE_NS_ASSERTIONS = YES; 460 | ENABLE_STRICT_OBJC_MSGSEND = YES; 461 | ENABLE_TESTABILITY = YES; 462 | ENABLE_USER_SCRIPT_SANDBOXING = YES; 463 | GCC_NO_COMMON_BLOCKS = YES; 464 | GCC_OPTIMIZATION_LEVEL = 0; 465 | GCC_PREPROCESSOR_DEFINITIONS = ( 466 | "$(inherited)", 467 | "SWIFT_PACKAGE=1", 468 | "DEBUG=1", 469 | ); 470 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 471 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 472 | GCC_WARN_UNDECLARED_SELECTOR = YES; 473 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 474 | GCC_WARN_UNUSED_FUNCTION = YES; 475 | GCC_WARN_UNUSED_VARIABLE = YES; 476 | MACOSX_DEPLOYMENT_TARGET = 11.5; 477 | ONLY_ACTIVE_ARCH = YES; 478 | OTHER_SWIFT_FLAGS = "$(inherited) -DXcode"; 479 | PRODUCT_NAME = "$(TARGET_NAME)"; 480 | SDKROOT = iphoneos; 481 | SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator"; 482 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) SWIFT_PACKAGE DEBUG"; 483 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 484 | USE_HEADERMAP = NO; 485 | }; 486 | name = Debug; 487 | }; 488 | OBJ_31 /* Debug */ = { 489 | isa = XCBuildConfiguration; 490 | buildSettings = { 491 | CODE_SIGN_IDENTITY = ""; 492 | LD = /usr/bin/true; 493 | MACOSX_DEPLOYMENT_TARGET = 13.5; 494 | OTHER_SWIFT_FLAGS = "-swift-version 5 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4_2 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -package-description-version 5.1"; 495 | SWIFT_VERSION = 5.0; 496 | }; 497 | name = Debug; 498 | }; 499 | OBJ_32 /* Release */ = { 500 | isa = XCBuildConfiguration; 501 | buildSettings = { 502 | CODE_SIGN_IDENTITY = ""; 503 | LD = /usr/bin/true; 504 | MACOSX_DEPLOYMENT_TARGET = 13.5; 505 | OTHER_SWIFT_FLAGS = "-swift-version 5 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4_2 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -package-description-version 5.1"; 506 | SWIFT_VERSION = 5.0; 507 | }; 508 | name = Release; 509 | }; 510 | OBJ_37 /* Debug */ = { 511 | isa = XCBuildConfiguration; 512 | buildSettings = { 513 | CLANG_ENABLE_MODULES = YES; 514 | LD_RUNPATH_SEARCH_PATHS = ( 515 | "$(inherited)", 516 | "@executable_path/Frameworks", 517 | "@loader_path/Frameworks", 518 | ); 519 | MACOSX_DEPLOYMENT_TARGET = 13.5; 520 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 521 | SWIFT_VERSION = 5.0; 522 | }; 523 | name = Debug; 524 | }; 525 | OBJ_38 /* Release */ = { 526 | isa = XCBuildConfiguration; 527 | buildSettings = { 528 | CLANG_ENABLE_MODULES = YES; 529 | LD_RUNPATH_SEARCH_PATHS = ( 530 | "$(inherited)", 531 | "@executable_path/Frameworks", 532 | "@loader_path/Frameworks", 533 | ); 534 | MACOSX_DEPLOYMENT_TARGET = 13.5; 535 | SWIFT_VERSION = 5.0; 536 | }; 537 | name = Release; 538 | }; 539 | OBJ_4 /* Release */ = { 540 | isa = XCBuildConfiguration; 541 | buildSettings = { 542 | CLANG_ENABLE_OBJC_ARC = YES; 543 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 544 | CLANG_WARN_BOOL_CONVERSION = YES; 545 | CLANG_WARN_COMMA = YES; 546 | CLANG_WARN_CONSTANT_CONVERSION = YES; 547 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 548 | CLANG_WARN_EMPTY_BODY = YES; 549 | CLANG_WARN_ENUM_CONVERSION = YES; 550 | CLANG_WARN_INFINITE_RECURSION = YES; 551 | CLANG_WARN_INT_CONVERSION = YES; 552 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 553 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 554 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 555 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 556 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 557 | CLANG_WARN_STRICT_PROTOTYPES = YES; 558 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 559 | CLANG_WARN_UNREACHABLE_CODE = YES; 560 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 561 | COMBINE_HIDPI_IMAGES = YES; 562 | COPY_PHASE_STRIP = YES; 563 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 564 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 565 | ENABLE_STRICT_OBJC_MSGSEND = YES; 566 | ENABLE_USER_SCRIPT_SANDBOXING = YES; 567 | GCC_NO_COMMON_BLOCKS = YES; 568 | GCC_OPTIMIZATION_LEVEL = s; 569 | GCC_PREPROCESSOR_DEFINITIONS = ( 570 | "$(inherited)", 571 | "SWIFT_PACKAGE=1", 572 | ); 573 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 574 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 575 | GCC_WARN_UNDECLARED_SELECTOR = YES; 576 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 577 | GCC_WARN_UNUSED_FUNCTION = YES; 578 | GCC_WARN_UNUSED_VARIABLE = YES; 579 | MACOSX_DEPLOYMENT_TARGET = 11.5; 580 | OTHER_SWIFT_FLAGS = "$(inherited) -DXcode"; 581 | PRODUCT_NAME = "$(TARGET_NAME)"; 582 | SDKROOT = iphoneos; 583 | SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator"; 584 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) SWIFT_PACKAGE"; 585 | SWIFT_COMPILATION_MODE = wholemodule; 586 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 587 | USE_HEADERMAP = NO; 588 | }; 589 | name = Release; 590 | }; 591 | OBJ_42 /* Debug */ = { 592 | isa = XCBuildConfiguration; 593 | buildSettings = { 594 | CLANG_ENABLE_MODULES = YES; 595 | DRIVERKIT_DEPLOYMENT_TARGET = ""; 596 | FRAMEWORK_SEARCH_PATHS = ( 597 | "$(inherited)", 598 | "$(PLATFORM_DIR)/Developer/Library/Frameworks", 599 | ); 600 | HEADER_SEARCH_PATHS = "$(inherited)"; 601 | INFOPLIST_FILE = SFSymbol.xcodeproj/SFSymbolTests_Info.plist; 602 | IPHONEOS_DEPLOYMENT_TARGET = 16.0; 603 | LD_RUNPATH_SEARCH_PATHS = ( 604 | "$(inherited)", 605 | "@loader_path/../Frameworks", 606 | "@loader_path/Frameworks", 607 | ); 608 | MACOSX_DEPLOYMENT_TARGET = 13.5; 609 | OTHER_CFLAGS = "$(inherited)"; 610 | OTHER_LDFLAGS = "$(inherited)"; 611 | OTHER_SWIFT_FLAGS = "$(inherited)"; 612 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited)"; 613 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 614 | SWIFT_VERSION = 5.0; 615 | TARGETED_DEVICE_FAMILY = "1,2,3,4,6"; 616 | TARGET_NAME = SFSymbolTests; 617 | TVOS_DEPLOYMENT_TARGET = 13.0; 618 | WATCHOS_DEPLOYMENT_TARGET = 6.0; 619 | }; 620 | name = Debug; 621 | }; 622 | OBJ_43 /* Release */ = { 623 | isa = XCBuildConfiguration; 624 | buildSettings = { 625 | CLANG_ENABLE_MODULES = YES; 626 | DRIVERKIT_DEPLOYMENT_TARGET = ""; 627 | FRAMEWORK_SEARCH_PATHS = ( 628 | "$(inherited)", 629 | "$(PLATFORM_DIR)/Developer/Library/Frameworks", 630 | ); 631 | HEADER_SEARCH_PATHS = "$(inherited)"; 632 | INFOPLIST_FILE = SFSymbol.xcodeproj/SFSymbolTests_Info.plist; 633 | IPHONEOS_DEPLOYMENT_TARGET = 16.0; 634 | LD_RUNPATH_SEARCH_PATHS = ( 635 | "$(inherited)", 636 | "@loader_path/../Frameworks", 637 | "@loader_path/Frameworks", 638 | ); 639 | MACOSX_DEPLOYMENT_TARGET = 13.5; 640 | OTHER_CFLAGS = "$(inherited)"; 641 | OTHER_LDFLAGS = "$(inherited)"; 642 | OTHER_SWIFT_FLAGS = "$(inherited)"; 643 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited)"; 644 | SWIFT_VERSION = 5.0; 645 | TARGETED_DEVICE_FAMILY = "1,2,3,4,6"; 646 | TARGET_NAME = SFSymbolTests; 647 | TVOS_DEPLOYMENT_TARGET = 13.0; 648 | WATCHOS_DEPLOYMENT_TARGET = 6.0; 649 | }; 650 | name = Release; 651 | }; 652 | /* End XCBuildConfiguration section */ 653 | 654 | /* Begin XCConfigurationList section */ 655 | OBJ_2 /* Build configuration list for PBXProject "SFSymbol" */ = { 656 | isa = XCConfigurationList; 657 | buildConfigurations = ( 658 | OBJ_3 /* Debug */, 659 | OBJ_4 /* Release */, 660 | ); 661 | defaultConfigurationIsVisible = 0; 662 | defaultConfigurationName = Release; 663 | }; 664 | OBJ_23 /* Build configuration list for PBXNativeTarget "SFSymbol" */ = { 665 | isa = XCConfigurationList; 666 | buildConfigurations = ( 667 | OBJ_24 /* Debug */, 668 | OBJ_25 /* Release */, 669 | ); 670 | defaultConfigurationIsVisible = 0; 671 | defaultConfigurationName = Release; 672 | }; 673 | OBJ_30 /* Build configuration list for PBXNativeTarget "SFSymbolPackageDescription" */ = { 674 | isa = XCConfigurationList; 675 | buildConfigurations = ( 676 | OBJ_31 /* Debug */, 677 | OBJ_32 /* Release */, 678 | ); 679 | defaultConfigurationIsVisible = 0; 680 | defaultConfigurationName = Release; 681 | }; 682 | OBJ_36 /* Build configuration list for PBXAggregateTarget "SFSymbolPackageTests" */ = { 683 | isa = XCConfigurationList; 684 | buildConfigurations = ( 685 | OBJ_37 /* Debug */, 686 | OBJ_38 /* Release */, 687 | ); 688 | defaultConfigurationIsVisible = 0; 689 | defaultConfigurationName = Release; 690 | }; 691 | OBJ_41 /* Build configuration list for PBXNativeTarget "SFSymbolTests" */ = { 692 | isa = XCConfigurationList; 693 | buildConfigurations = ( 694 | OBJ_42 /* Debug */, 695 | OBJ_43 /* Release */, 696 | ); 697 | defaultConfigurationIsVisible = 0; 698 | defaultConfigurationName = Release; 699 | }; 700 | /* End XCConfigurationList section */ 701 | }; 702 | rootObject = OBJ_1 /* Project object */; 703 | } 704 | -------------------------------------------------------------------------------- /SFSymbol.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SFSymbol.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /SFSymbol.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded 6 | 7 | 8 | -------------------------------------------------------------------------------- /SFSymbol.xcodeproj/xcshareddata/xcschemes/SFSymbol-Package.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 42 | 43 | 53 | 54 | 60 | 61 | 63 | 64 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /SFSymbol.xcodeproj/xcshareddata/xcschemes/SFSymbol.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 42 | 43 | 53 | 54 | 60 | 61 | 67 | 68 | 69 | 70 | 72 | 73 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /SFSymbol/Extensions/Image+SFSymbol.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Image+SFSymbol.swift 3 | // SFSymbol 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | import SwiftUI 24 | 25 | public extension Image { 26 | /// Create Image from SFSymbol 27 | init(symbol: T) where T.RawValue == String { 28 | self.init(systemName: symbol.rawValue) 29 | } 30 | } 31 | 32 | @available(iOS 16.0, tvOS 16.0, macOS 13.0, watchOS 9.0, *) 33 | public extension Image { 34 | /// Create Image from SFSymbol with optional `variableValue` 35 | init(symbol: T, variableValue: Double? = nil) where T.RawValue == String { 36 | self.init(systemName: symbol.rawValue, variableValue: variableValue) 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /SFSymbol/Extensions/NSImage+SFSymbol.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSImage+SFSymbol.swift 3 | // SFSymbol 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #if canImport(AppKit) && !targetEnvironment(macCatalyst) 24 | import AppKit 25 | 26 | @available(macOS 11, *) 27 | public extension NSImage { 28 | convenience init?(symbol: T, accessibilityDescription description: String? = nil) where T.RawValue == String { 29 | self.init(systemSymbolName: symbol.rawValue, accessibilityDescription: description) 30 | } 31 | } 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /SFSymbol/Extensions/UIImage+SFSymbol.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+SFSymbol.swift 3 | // SFSymbol 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #if canImport(UIKit) || targetEnvironment(macCatalyst) 24 | import UIKit 25 | 26 | @available(iOS 13.0, *) 27 | public extension UIImage { 28 | convenience init?(symbol: T) where T.RawValue == String { 29 | self.init(systemName: symbol.rawValue) 30 | } 31 | 32 | convenience init?(symbol: T, with configuration: Configuration) where T.RawValue == String { 33 | self.init(systemName: symbol.rawValue, withConfiguration: configuration) 34 | } 35 | } 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /SFSymbol/Protocols/SymbolImage.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Untitled.swift 3 | // SFSymbol 4 | // 5 | // Created by Nicko on 2024/10/31. 6 | // 7 | 8 | import SwiftUI 9 | 10 | public protocol SymbolImage where Self: RawRepresentable, Self.RawValue == String { 11 | var image: Image? { get } 12 | } 13 | 14 | 15 | public extension SymbolImage { 16 | var image: Image? { 17 | Image(systemName: rawValue) 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /SFSymbol/SFSymbol2/SFSymbol2.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SFSymbol2.swift 3 | // SFSymbol 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | public enum SFSymbol2: String, SymbolImage { 24 | public enum _4K: String, SymbolImage { 25 | case tv = "4k.tv" 26 | case tvFill = "4k.tv.fill" 27 | } 28 | 29 | public enum LetterA: String, SymbolImage { 30 | case bookClosed = "a.book.closed" 31 | case bookClosedFill = "a.book.closed.fill" 32 | case magnify = "a.magnify" 33 | } 34 | 35 | case abc 36 | 37 | public enum Airplane: String, SymbolImage { 38 | case circle = "airplane.circle" 39 | case circleFill = "airplane.circle.fill" 40 | } 41 | 42 | case airpods 43 | 44 | case airpodspro 45 | 46 | public enum Airport: String, SymbolImage { 47 | case express = "airport.express" 48 | case extremeTower = "airport.extreme.tower" 49 | case extreme = "airport.extreme" 50 | } 51 | 52 | case amplifier 53 | 54 | case applelogo 55 | 56 | case applescript 57 | 58 | public enum Applescript: String, SymbolImage { 59 | case fill = "applescript.fill" 60 | } 61 | 62 | case appletv 63 | 64 | public enum Appletv: String, SymbolImage { 65 | case fill = "appletv.fill" 66 | } 67 | 68 | case applewatch 69 | 70 | public enum Applewatch: String, SymbolImage { 71 | case watchface = "applewatch.watchface" 72 | case radiowavesLeftAndRight = "applewatch.radiowaves.left.and.right" 73 | case slash = "applewatch.slash" 74 | } 75 | 76 | public enum Apps: String, SymbolImage { 77 | case iphone = "apps.iphone" 78 | case iphoneBadgePlus = "apps.iphone.badge.plus" 79 | case iphoneLandscape = "apps.iphone.landscape" 80 | case ipad = "apps.ipad" 81 | case ipadLandscape = "apps.ipad.landscape" 82 | } 83 | 84 | public enum Archivebox: String, SymbolImage { 85 | case circle = "archivebox.circle" 86 | case circleFill = "archivebox.circle.fill" 87 | } 88 | 89 | public enum Arrow: String, SymbolImage { 90 | case rightDocOnClipboard = "arrow.right.doc.on.clipboard" 91 | case upDocOnClipboard = "arrow.up.doc.on.clipboard" 92 | case triangle2CirclepathDocOnClipboard = "arrow.triangle.2.circlepath.doc.on.clipboard" 93 | case rectanglepath = "arrow.rectanglepath" 94 | case upLeftAndDownRightMagnifyingglass = "arrow.up.left.and.down.right.magnifyingglass" 95 | case triangle2CirclepathCamera = "arrow.triangle.2.circlepath.camera" 96 | case triangle2CirclepathCameraFill = "arrow.triangle.2.circlepath.camera.fill" 97 | case upMessage = "arrow.up.message" 98 | case upMessageFill = "arrow.up.message.fill" 99 | case upRightAndArrowDownLeftRectangle = "arrow.up.right.and.arrow.down.left.rectangle" 100 | case upRightAndArrowDownLeftRectangleFill = "arrow.up.right.and.arrow.down.left.rectangle.fill" 101 | case turnUpRightIphone = "arrow.turn.up.right.iphone" 102 | case turnUpRightIphoneFill = "arrow.turn.up.right.iphone.fill" 103 | case upAndPersonRectanglePortrait = "arrow.up.and.person.rectangle.portrait" 104 | case upAndPersonRectangleTurnRight = "arrow.up.and.person.rectangle.turn.right" 105 | case upAndPersonRectangleTurnLeft = "arrow.up.and.person.rectangle.turn.left" 106 | case upRightApp = "arrow.up.right.app" 107 | case upRightAppFill = "arrow.up.right.app.fill" 108 | case downApp = "arrow.down.app" 109 | case downAppFill = "arrow.down.app.fill" 110 | case leftAndRightRighttriangleLeftRighttriangleRight = "arrow.left.and.right.righttriangle.left.righttriangle.right" 111 | case leftAndRightRighttriangleLeftRighttriangleRightFill = "arrow.left.and.right.righttriangle.left.righttriangle.right.fill" 112 | case upAndDownRighttriangleUpRighttriangleDown = "arrow.up.and.down.righttriangle.up.righttriangle.down" 113 | case upAndDownRighttriangleUpFillRighttriangleDownFill = "arrow.up.and.down.righttriangle.up.fill.righttriangle.down.fill" 114 | case upAndDownAndArrowLeftAndRight = "arrow.up.and.down.and.arrow.left.and.right" 115 | case upLeftAndDownRightAndArrowUpRightAndDownLeft = "arrow.up.left.and.down.right.and.arrow.up.right.and.down.left" 116 | case upLeftAndArrowDownRightCircle = "arrow.up.left.and.arrow.down.right.circle" 117 | case upLeftAndArrowDownRightCircleFill = "arrow.up.left.and.arrow.down.right.circle.fill" 118 | case triangle2Circlepath = "arrow.triangle.2.circlepath" 119 | case triangle2CirclepathCircle = "arrow.triangle.2.circlepath.circle" 120 | case triangle2CirclepathCircleFill = "arrow.triangle.2.circlepath.circle.fill" 121 | case triangleCapsulepath = "arrow.triangle.capsulepath" 122 | case triangleTurnUpRightDiamond = "arrow.triangle.turn.up.right.diamond" 123 | case triangleTurnUpRightDiamondFill = "arrow.triangle.turn.up.right.diamond.fill" 124 | case triangleTurnUpRightCircle = "arrow.triangle.turn.up.right.circle" 125 | case triangleTurnUpRightCircleFill = "arrow.triangle.turn.up.right.circle.fill" 126 | case triangleMerge = "arrow.triangle.merge" 127 | case triangleSwap = "arrow.triangle.swap" 128 | case triangleBranch = "arrow.triangle.branch" 129 | case trianglePull = "arrow.triangle.pull" 130 | } 131 | 132 | public enum Arrowshape: String, SymbolImage { 133 | case turnUpLeft2Circle = "arrowshape.turn.up.left.2.circle" 134 | case turnUpLeft2CircleFill = "arrowshape.turn.up.left.2.circle.fill" 135 | case zigzagRight = "arrowshape.zigzag.right" 136 | case zigzagRightFill = "arrowshape.zigzag.right.fill" 137 | case bounceRight = "arrowshape.bounce.right" 138 | case bounceRightFill = "arrowshape.bounce.right.fill" 139 | } 140 | 141 | public enum Arrowtriangle: String, SymbolImage { 142 | case leftAndLineVerticalAndArrowtriangleRight = "arrowtriangle.left.and.line.vertical.and.arrowtriangle.right" 143 | case leftFillAndLineVerticalAndArrowtriangleRightFill = "arrowtriangle.left.fill.and.line.vertical.and.arrowtriangle.right.fill" 144 | case rightAndLineVerticalAndArrowtriangleLeft = "arrowtriangle.right.and.line.vertical.and.arrowtriangle.left" 145 | case rightFillAndLineVerticalAndArrowtriangleLeftFill = "arrowtriangle.right.fill.and.line.vertical.and.arrowtriangle.left.fill" 146 | } 147 | 148 | public enum At: String, SymbolImage { 149 | case circle = "at.circle" 150 | case circleFill = "at.circle.fill" 151 | } 152 | 153 | case atom 154 | 155 | public enum Backward: String, SymbolImage { 156 | case frame = "backward.frame" 157 | case frameFill = "backward.frame.fill" 158 | } 159 | 160 | public enum Bag: String, SymbolImage { 161 | case circle = "bag.circle" 162 | case circleFill = "bag.circle.fill" 163 | } 164 | 165 | case banknote 166 | 167 | public enum Banknote: String, SymbolImage { 168 | case fill = "banknote.fill" 169 | } 170 | 171 | case barometer 172 | 173 | public enum Battery100: String, SymbolImage { 174 | case bolt = "battery.100.bolt" 175 | } 176 | 177 | public enum Bell: String, SymbolImage { 178 | case slashCircle = "bell.slash.circle" 179 | case slashCircleFill = "bell.slash.circle.fill" 180 | case badge = "bell.badge" 181 | case badgeFill = "bell.badge.fill" 182 | } 183 | 184 | case bicycle 185 | 186 | case binoculars 187 | 188 | public enum Binoculars: String, SymbolImage { 189 | case fill = "binoculars.fill" 190 | } 191 | 192 | public enum Bolt: String, SymbolImage { 193 | case heart = "bolt.heart" 194 | case heartFill = "bolt.heart.fill" 195 | case slashCircle = "bolt.slash.circle" 196 | case slashCircleFill = "bolt.slash.circle.fill" 197 | case car = "bolt.car" 198 | case carFill = "bolt.car.fill" 199 | case fillBatteryblock = "bolt.fill.batteryblock" 200 | case fillBatteryblockFill = "bolt.fill.batteryblock.fill" 201 | } 202 | 203 | case bonjour 204 | 205 | public enum Book: String, SymbolImage { 206 | case closed = "book.closed" 207 | case closedFill = "book.closed.fill" 208 | } 209 | 210 | public enum Bookmark: String, SymbolImage { 211 | case circle = "bookmark.circle" 212 | case circleFill = "bookmark.circle.fill" 213 | case slash = "bookmark.slash" 214 | case slashFill = "bookmark.slash.fill" 215 | } 216 | 217 | public enum Books: String, SymbolImage { 218 | case vertical = "books.vertical" 219 | case verticalFill = "books.vertical.fill" 220 | } 221 | 222 | case building 223 | 224 | public enum Building: String, SymbolImage { 225 | case columns = "building.columns" 226 | case columnsFill = "building.columns.fill" 227 | case fill = "building.fill" 228 | } 229 | 230 | case building2 = "building.2" 231 | 232 | public enum Building2: String, SymbolImage { 233 | case fill = "building.2.fill" 234 | case cropCircle = "building.2.crop.circle" 235 | case cropCircleFill = "building.2.crop.circle.fill" 236 | } 237 | 238 | case bus 239 | 240 | public enum Bus: String, SymbolImage { 241 | case fill = "bus.fill" 242 | case doubledecker = "bus.doubledecker" 243 | case doubledeckerFill = "bus.doubledecker.fill" 244 | } 245 | 246 | public enum Calendar: String, SymbolImage { 247 | case badgeClock = "calendar.badge.clock" 248 | case badgeExclamationmark = "calendar.badge.exclamationmark" 249 | } 250 | 251 | public enum Camera: String, SymbolImage { 252 | case badgeEllipsis = "camera.badge.ellipsis" 253 | case fillBadgeEllipsis = "camera.fill.badge.ellipsis" 254 | case meteringCenterWeightedAverage = "camera.metering.center.weighted.average" 255 | case meteringCenterWeighted = "camera.metering.center.weighted" 256 | case meteringMatrix = "camera.metering.matrix" 257 | case meteringMultispot = "camera.metering.multispot" 258 | case meteringNone = "camera.metering.none" 259 | case meteringPartial = "camera.metering.partial" 260 | case meteringSpot = "camera.metering.spot" 261 | case meteringUnknown = "camera.metering.unknown" 262 | case aperture = "camera.aperture" 263 | case filters = "camera.filters" 264 | } 265 | 266 | case candybarphone 267 | 268 | public enum Capsule: String, SymbolImage { 269 | case portrait = "capsule.portrait" 270 | case portraitFill = "capsule.portrait.fill" 271 | } 272 | 273 | public enum Car: String, SymbolImage { 274 | case circle = "car.circle" 275 | case circleFill = "car.circle.fill" 276 | } 277 | 278 | case car2 = "car.2" 279 | 280 | public enum Car2: String, SymbolImage { 281 | case fill = "car.2.fill" 282 | } 283 | 284 | case _case = "case" 285 | 286 | public enum Case: String, SymbolImage { 287 | case fill = "case.fill" 288 | } 289 | 290 | public enum Chart: String, SymbolImage { 291 | case barDocHorizontal = "chart.bar.doc.horizontal" 292 | case barDocHorizontalFill = "chart.bar.doc.horizontal.fill" 293 | case barXaxis = "chart.bar.xaxis" 294 | } 295 | 296 | public enum Checkerboard: String, SymbolImage { 297 | case rectangle = "checkerboard.rectangle" 298 | } 299 | 300 | public enum Checkmark: String, SymbolImage { 301 | case icloud = "checkmark.icloud" 302 | case icloudFill = "checkmark.icloud.fill" 303 | case rectanglePortrait = "checkmark.rectangle.portrait" 304 | case rectanglePortraitFill = "checkmark.rectangle.portrait.fill" 305 | } 306 | 307 | public enum Circle: String, SymbolImage { 308 | case gridCross = "circle.grid.cross" 309 | case gridCrossFill = "circle.grid.cross.fill" 310 | case gridCrossLeftFill = "circle.grid.cross.left.fill" 311 | case gridCrossUpFill = "circle.grid.cross.up.fill" 312 | case gridCrossRightFill = "circle.grid.cross.right.fill" 313 | case gridCrossDownFill = "circle.grid.cross.down.fill" 314 | case bottomhalfFill = "circle.bottomhalf.fill" 315 | case tophalfFill = "circle.tophalf.fill" 316 | case dashed = "circle.dashed" 317 | case dashedInsetFill = "circle.dashed.inset.fill" 318 | case square = "circle.square" 319 | case fillSquareFill = "circle.fill.square.fill" 320 | case circle = "circle.circle" 321 | case circleFill = "circle.circle.fill" 322 | } 323 | 324 | case circlebadge 325 | 326 | public enum Circlebadge: String, SymbolImage { 327 | case fill = "circlebadge.fill" 328 | } 329 | 330 | public enum Circles: String, SymbolImage { 331 | case hexagongrid = "circles.hexagongrid" 332 | case hexagongridFill = "circles.hexagongrid.fill" 333 | case hexagonpath = "circles.hexagonpath" 334 | case hexagonpathFill = "circles.hexagonpath.fill" 335 | } 336 | 337 | public enum Clock: String, SymbolImage { 338 | case arrowCirclepath = "clock.arrow.circlepath" 339 | } 340 | 341 | case comb 342 | 343 | public enum Comb: String, SymbolImage { 344 | case fill = "comb.fill" 345 | } 346 | 347 | public enum Command: String, SymbolImage { 348 | case circle = "command.circle" 349 | case circleFill = "command.circle.fill" 350 | case square = "command.square" 351 | case squareFill = "command.square.fill" 352 | } 353 | 354 | public enum Contextualmenu: String, SymbolImage { 355 | case andCursorarrow = "contextualmenu.and.cursorarrow" 356 | } 357 | 358 | case cpu 359 | 360 | public enum Creditcard: String, SymbolImage { 361 | case circle = "creditcard.circle" 362 | case circleFill = "creditcard.circle.fill" 363 | } 364 | 365 | case cross 366 | 367 | public enum Cross: String, SymbolImage { 368 | case _case = "cross.case" 369 | case caseFill = "cross.case.fill" 370 | case fill = "cross.fill" 371 | case circle = "cross.circle" 372 | case circleFill = "cross.circle.fill" 373 | } 374 | 375 | case crown 376 | 377 | public enum Crown: String, SymbolImage { 378 | case fill = "crown.fill" 379 | } 380 | 381 | public enum Cube: String, SymbolImage { 382 | case transparent = "cube.transparent" 383 | } 384 | 385 | case curlybraces 386 | 387 | public enum Curlybraces: String, SymbolImage { 388 | case square = "curlybraces.square" 389 | case squareFill = "curlybraces.square.fill" 390 | } 391 | 392 | case cursorarrow 393 | 394 | public enum Cursorarrow: String, SymbolImage { 395 | case rays = "cursorarrow.rays" 396 | case square = "cursorarrow.square" 397 | case andSquareOnSquareDashed = "cursorarrow.and.square.on.square.dashed" 398 | case click = "cursorarrow.click" 399 | case click2 = "cursorarrow.click.2" 400 | case motionlines = "cursorarrow.motionlines" 401 | case motionlinesClick = "cursorarrow.motionlines.click" 402 | case clickBadgeClock = "cursorarrow.click.badge.clock" 403 | } 404 | 405 | public enum Cylinder: String, SymbolImage { 406 | case split1X2 = "cylinder.split.1x2" 407 | case split1X2Fill = "cylinder.split.1x2.fill" 408 | } 409 | 410 | case deskclock 411 | 412 | public enum Deskclock: String, SymbolImage { 413 | case fill = "deskclock.fill" 414 | } 415 | 416 | public enum Dial: String, SymbolImage { 417 | case min = "dial.min" 418 | case minFill = "dial.min.fill" 419 | case max = "dial.max" 420 | case maxFill = "dial.max.fill" 421 | } 422 | 423 | case diamond 424 | 425 | public enum Diamond: String, SymbolImage { 426 | case fill = "diamond.fill" 427 | } 428 | 429 | public enum Die: String, SymbolImage { 430 | case face1 = "die.face.1" 431 | case face1Fill = "die.face.1.fill" 432 | case face2 = "die.face.2" 433 | case face2Fill = "die.face.2.fill" 434 | case face3 = "die.face.3" 435 | case face3Fill = "die.face.3.fill" 436 | case face4 = "die.face.4" 437 | case face4Fill = "die.face.4.fill" 438 | case face5 = "die.face.5" 439 | case face5Fill = "die.face.5.fill" 440 | case face6 = "die.face.6" 441 | case face6Fill = "die.face.6.fill" 442 | } 443 | 444 | case display 445 | 446 | public enum Display: String, SymbolImage { 447 | case trianglebadgeExclamationmark = "display.trianglebadge.exclamationmark" 448 | } 449 | 450 | case display2 = "display.2" 451 | 452 | public enum Doc: String, SymbolImage { 453 | case badgePlus = "doc.badge.plus" 454 | case fillBadgePlus = "doc.fill.badge.plus" 455 | case badgeGearshape = "doc.badge.gearshape" 456 | case badgeGearshapeFill = "doc.badge.gearshape.fill" 457 | case badgeEllipsis = "doc.badge.ellipsis" 458 | case fillBadgeEllipsis = "doc.fill.badge.ellipsis" 459 | case zipper = "doc.zipper" 460 | case richtextFill = "doc.richtext.fill" 461 | case plaintextFill = "doc.plaintext.fill" 462 | case appendFill = "doc.append.fill" 463 | case textFillViewfinder = "doc.text.fill.viewfinder" 464 | } 465 | 466 | public enum Dock: String, SymbolImage { 467 | case rectangle = "dock.rectangle" 468 | case arrowUpRectangle = "dock.arrow.up.rectangle" 469 | case arrowDownRectangle = "dock.arrow.down.rectangle" 470 | } 471 | 472 | public enum Dot: String, SymbolImage { 473 | case arrowtrianglesUpRightDownLeftCircle = "dot.arrowtriangles.up.right.down.left.circle" 474 | case circleAndCursorarrow = "dot.circle.and.cursorarrow" 475 | case squareshape = "dot.squareshape" 476 | case squareshapeFill = "dot.squareshape.fill" 477 | case squareshapeSplit2X2 = "dot.squareshape.split.2x2" 478 | } 479 | 480 | case dpad 481 | 482 | public enum Dpad: String, SymbolImage { 483 | case fill = "dpad.fill" 484 | case leftFill = "dpad.left.fill" 485 | case upFill = "dpad.up.fill" 486 | case rightFill = "dpad.right.fill" 487 | case downFill = "dpad.down.fill" 488 | } 489 | 490 | case drop 491 | 492 | public enum Drop: String, SymbolImage { 493 | case fill = "drop.fill" 494 | } 495 | 496 | public enum Ear: String, SymbolImage { 497 | case badgeCheckmark = "ear.badge.checkmark" 498 | case trianglebadgeExclamationmark = "ear.trianglebadge.exclamationmark" 499 | case fill = "ear.fill" 500 | } 501 | 502 | case earpods 503 | 504 | public enum Eject: String, SymbolImage { 505 | case circle = "eject.circle" 506 | case circleFill = "eject.circle.fill" 507 | } 508 | 509 | public enum Ellipsis: String, SymbolImage { 510 | case bubble = "ellipsis.bubble" 511 | case bubbleFill = "ellipsis.bubble.fill" 512 | case rectangle = "ellipsis.rectangle" 513 | case rectangleFill = "ellipsis.rectangle.fill" 514 | } 515 | 516 | public enum Envelope: String, SymbolImage { 517 | case arrowTriangleBranch = "envelope.arrow.triangle.branch" 518 | case arrowTriangleBranchFill = "envelope.arrow.triangle.branch.fill" 519 | case badgeShieldLefthalfFill = "envelope.badge.shield.lefthalf.fill" 520 | case fillBadgeShieldRighthalfFill = "envelope.fill.badge.shield.righthalf.fill" 521 | } 522 | 523 | public enum Exclamationmark: String, SymbolImage { 524 | case arrowTriangle2Circlepath = "exclamationmark.arrow.triangle.2.circlepath" 525 | } 526 | 527 | case exclamationmark2 = "exclamationmark.2" 528 | 529 | case exclamationmark3 = "exclamationmark.3" 530 | 531 | case externaldrive 532 | 533 | public enum Externaldrive: String, SymbolImage { 534 | case fill = "externaldrive.fill" 535 | case badgePlus = "externaldrive.badge.plus" 536 | case fillBadgePlus = "externaldrive.fill.badge.plus" 537 | case badgeMinus = "externaldrive.badge.minus" 538 | case fillBadgeMinus = "externaldrive.fill.badge.minus" 539 | case badgeCheckmark = "externaldrive.badge.checkmark" 540 | case fillBadgeCheckmark = "externaldrive.fill.badge.checkmark" 541 | case badgeXmark = "externaldrive.badge.xmark" 542 | case fillBadgeXmark = "externaldrive.fill.badge.xmark" 543 | case badgePersonCrop = "externaldrive.badge.person.crop" 544 | case fillBadgePersonCrop = "externaldrive.fill.badge.person.crop" 545 | case badgeIcloud = "externaldrive.badge.icloud" 546 | case fillBadgeIcloud = "externaldrive.fill.badge.icloud" 547 | case badgeWifi = "externaldrive.badge.wifi" 548 | case fillBadgeWifi = "externaldrive.fill.badge.wifi" 549 | case badgeTimemachine = "externaldrive.badge.timemachine" 550 | case fillBadgeTimemachine = "externaldrive.fill.badge.timemachine" 551 | case connectedToLineBelow = "externaldrive.connected.to.line.below" 552 | case connectedToLineBelowFill = "externaldrive.connected.to.line.below.fill" 553 | } 554 | 555 | public enum Eye: String, SymbolImage { 556 | case circle = "eye.circle" 557 | case circleFill = "eye.circle.fill" 558 | } 559 | 560 | case eyebrow 561 | 562 | case eyes 563 | 564 | public enum Eyes: String, SymbolImage { 565 | case inverse = "eyes.inverse" 566 | } 567 | 568 | public enum Face: String, SymbolImage { 569 | case smiling = "face.smiling" 570 | case smilingFill = "face.smiling.fill" 571 | case dashed = "face.dashed" 572 | case dashedFill = "face.dashed.fill" 573 | } 574 | 575 | case faxmachine 576 | 577 | case fiberchannel 578 | 579 | public enum Figure: String, SymbolImage { 580 | case walk = "figure.walk" 581 | case walkCircle = "figure.walk.circle" 582 | case walkCircleFill = "figure.walk.circle.fill" 583 | case walkDiamond = "figure.walk.diamond" 584 | case walkDiamondFill = "figure.walk.diamond.fill" 585 | case wave = "figure.wave" 586 | case waveCircle = "figure.wave.circle" 587 | case waveCircleFill = "figure.wave.circle.fill" 588 | } 589 | 590 | public enum Filemenu: String, SymbolImage { 591 | case andCursorarrow = "filemenu.and.cursorarrow" 592 | } 593 | 594 | public enum Flag: String, SymbolImage { 595 | case slashCircle = "flag.slash.circle" 596 | case slashCircleFill = "flag.slash.circle.fill" 597 | case badgeEllipsis = "flag.badge.ellipsis" 598 | case badgeEllipsisFill = "flag.badge.ellipsis.fill" 599 | } 600 | 601 | case flipphone 602 | 603 | case fn 604 | 605 | public enum Folder: String, SymbolImage { 606 | case badgeQuestionmark = "folder.badge.questionmark" 607 | case fillBadgeQuestionmark = "folder.fill.badge.questionmark" 608 | case badgeGear = "folder.badge.gear" 609 | case fillBadgeGear = "folder.fill.badge.gear" 610 | } 611 | 612 | public enum Forward: String, SymbolImage { 613 | case frame = "forward.frame" 614 | case frameFill = "forward.frame.fill" 615 | } 616 | 617 | case gearshape 618 | 619 | public enum Gearshape: String, SymbolImage { 620 | case fill = "gearshape.fill" 621 | } 622 | 623 | case gearshape2 = "gearshape.2" 624 | 625 | public enum Gearshape2: String, SymbolImage { 626 | case fill = "gearshape.2.fill" 627 | } 628 | 629 | public enum Gift: String, SymbolImage { 630 | case circle = "gift.circle" 631 | case circleFill = "gift.circle.fill" 632 | } 633 | 634 | case giftcard 635 | 636 | public enum Giftcard: String, SymbolImage { 637 | case fill = "giftcard.fill" 638 | } 639 | 640 | case graduationcap 641 | 642 | public enum Graduationcap: String, SymbolImage { 643 | case fill = "graduationcap.fill" 644 | } 645 | 646 | case greetingcard 647 | 648 | public enum Greetingcard: String, SymbolImage { 649 | case fill = "greetingcard.fill" 650 | } 651 | 652 | public enum Guitars: String, SymbolImage { 653 | case fill = "guitars.fill" 654 | } 655 | 656 | case gyroscope 657 | 658 | public enum LetterH: String, SymbolImage { 659 | case squareOnSquare = "h.square.on.square" 660 | case squareFillOnSquareFill = "h.square.fill.on.square.fill" 661 | } 662 | 663 | public enum Hand: String, SymbolImage { 664 | case pointUpLeft = "hand.point.up.left" 665 | case pointUpLeftFill = "hand.point.up.left.fill" 666 | case tap = "hand.tap" 667 | case tapFill = "hand.tap.fill" 668 | case pointUp = "hand.point.up" 669 | case pointUpFill = "hand.point.up.fill" 670 | case pointUpBraille = "hand.point.up.braille" 671 | case pointUpBrailleFill = "hand.point.up.braille.fill" 672 | case pointDown = "hand.point.down" 673 | case pointDownFill = "hand.point.down.fill" 674 | case wave = "hand.wave" 675 | case waveFill = "hand.wave.fill" 676 | } 677 | 678 | public enum Headphones: String, SymbolImage { 679 | case circle = "headphones.circle" 680 | case circleFill = "headphones.circle.fill" 681 | } 682 | 683 | public enum Hearingaid: String, SymbolImage { 684 | case ear = "hearingaid.ear" 685 | } 686 | 687 | public enum Heart: String, SymbolImage { 688 | case textSquare = "heart.text.square" 689 | case textSquareFill = "heart.text.square.fill" 690 | } 691 | 692 | case highlighter 693 | 694 | case homekit 695 | 696 | case homepod 697 | 698 | public enum Homepod: String, SymbolImage { 699 | case fill = "homepod.fill" 700 | } 701 | 702 | public enum Hourglass: String, SymbolImage { 703 | case badgePlus = "hourglass.badge.plus" 704 | } 705 | 706 | public enum House: String, SymbolImage { 707 | case circle = "house.circle" 708 | case circleFill = "house.circle.fill" 709 | } 710 | 711 | case infinity 712 | 713 | case internaldrive 714 | 715 | public enum Internaldrive: String, SymbolImage { 716 | case fill = "internaldrive.fill" 717 | } 718 | 719 | case ipad 720 | 721 | public enum Ipad: String, SymbolImage { 722 | case homebutton = "ipad.homebutton" 723 | case homebuttonLandscape = "ipad.homebutton.landscape" 724 | case landscape = "ipad.landscape" 725 | } 726 | 727 | case iphone 728 | 729 | public enum Iphone: String, SymbolImage { 730 | case homebutton = "iphone.homebutton" 731 | case homebuttonRadiowavesLeftAndRight = "iphone.homebutton.radiowaves.left.and.right" 732 | case homebuttonSlash = "iphone.homebutton.slash" 733 | case radiowavesLeftAndRight = "iphone.radiowaves.left.and.right" 734 | case slash = "iphone.slash" 735 | } 736 | 737 | case ipod 738 | 739 | public enum Ipodshuffle: String, SymbolImage { 740 | case gen1 = "ipodshuffle.gen1" 741 | case gen2 = "ipodshuffle.gen2" 742 | case gen3 = "ipodshuffle.gen3" 743 | case gen4 = "ipodshuffle.gen4" 744 | } 745 | 746 | case ipodtouch 747 | 748 | public enum LetterJ: String, SymbolImage { 749 | case squareOnSquare = "j.square.on.square" 750 | case squareFillOnSquareFill = "j.square.fill.on.square.fill" 751 | } 752 | 753 | case k 754 | 755 | case key 756 | 757 | public enum Key: String, SymbolImage { 758 | case icloud = "key.icloud" 759 | case icloudFill = "key.icloud.fill" 760 | case fill = "key.fill" 761 | } 762 | 763 | public enum Keyboard: String, SymbolImage { 764 | case badgeEllipsis = "keyboard.badge.ellipsis" 765 | case chevronCompactLeft = "keyboard.chevron.compact.left" 766 | case onehandedLeft = "keyboard.onehanded.left" 767 | case onehandedRight = "keyboard.onehanded.right" 768 | case macwindow = "keyboard.macwindow" 769 | } 770 | 771 | public enum LetterL: String, SymbolImage { 772 | case joystick = "l.joystick" 773 | case joystickFill = "l.joystick.fill" 774 | case joystickDown = "l.joystick.down" 775 | case joystickDownFill = "l.joystick.down.fill" 776 | case rectangleRoundedbottom = "l.rectangle.roundedbottom" 777 | case rectangleRoundedbottomFill = "l.rectangle.roundedbottom.fill" 778 | } 779 | 780 | public enum L1: String, SymbolImage { 781 | case rectangleRoundedbottom = "l1.rectangle.roundedbottom" 782 | case rectangleRoundedbottomFill = "l1.rectangle.roundedbottom.fill" 783 | } 784 | 785 | public enum L2: String, SymbolImage { 786 | case rectangleRoundedtop = "l2.rectangle.roundedtop" 787 | case rectangleRoundedtopFill = "l2.rectangle.roundedtop.fill" 788 | } 789 | 790 | case laptopcomputer 791 | 792 | public enum Laptopcomputer: String, SymbolImage { 793 | case andIphone = "laptopcomputer.and.iphone" 794 | } 795 | 796 | public enum Lasso: String, SymbolImage { 797 | case sparkles = "lasso.sparkles" 798 | } 799 | 800 | public enum Latch2: String, SymbolImage { 801 | case _case = "latch.2.case" 802 | case caseFill = "latch.2.case.fill" 803 | } 804 | 805 | public enum Lb: String, SymbolImage { 806 | case rectangleRoundedbottom = "lb.rectangle.roundedbottom" 807 | case rectangleRoundedbottomFill = "lb.rectangle.roundedbottom.fill" 808 | } 809 | 810 | case leaf 811 | 812 | public enum Leaf: String, SymbolImage { 813 | case fill = "leaf.fill" 814 | case arrowTriangleCirclepath = "leaf.arrow.triangle.circlepath" 815 | } 816 | 817 | case level 818 | 819 | public enum Level: String, SymbolImage { 820 | case fill = "level.fill" 821 | } 822 | 823 | case lifepreserver 824 | 825 | public enum Lifepreserver: String, SymbolImage { 826 | case fill = "lifepreserver.fill" 827 | } 828 | 829 | public enum Line: String, SymbolImage { 830 | case diagonal = "line.diagonal" 831 | case diagonalArrow = "line.diagonal.arrow" 832 | case horizontalStarFillLineHorizontal = "line.horizontal.star.fill.line.horizontal" 833 | case horizontal3Circle = "line.horizontal.3.circle" 834 | case horizontal3CircleFill = "line.horizontal.3.circle.fill" 835 | case horizontal2DecreaseCircle = "line.horizontal.2.decrease.circle" 836 | case horizontal2DecreaseCircleFill = "line.horizontal.2.decrease.circle.fill" 837 | } 838 | 839 | public enum Line3: String, SymbolImage { 840 | case crossedSwirlCircle = "line.3.crossed.swirl.circle" 841 | case crossedSwirlCircleFill = "line.3.crossed.swirl.circle.fill" 842 | } 843 | 844 | case lineweight 845 | 846 | public enum Link: String, SymbolImage { 847 | case badgePlus = "link.badge.plus" 848 | } 849 | 850 | public enum List: String, SymbolImage { 851 | case bulletRectangle = "list.bullet.rectangle" 852 | case triangle = "list.triangle" 853 | case star = "list.star" 854 | case andFilm = "list.and.film" 855 | } 856 | 857 | public enum Livephoto: String, SymbolImage { 858 | case badgeA = "livephoto.badge.a" 859 | } 860 | 861 | public enum Location: String, SymbolImage { 862 | case viewfinder = "location.viewfinder" 863 | case fillViewfinder = "location.fill.viewfinder" 864 | } 865 | 866 | public enum Lock: String, SymbolImage { 867 | case doc = "lock.doc" 868 | case docFill = "lock.doc.fill" 869 | case square = "lock.square" 870 | case squareFill = "lock.square.fill" 871 | case squareStack = "lock.square.stack" 872 | case squareStackFill = "lock.square.stack.fill" 873 | case rectangle = "lock.rectangle" 874 | case rectangleFill = "lock.rectangle.fill" 875 | case rectangleStack = "lock.rectangle.stack" 876 | case rectangleStackFill = "lock.rectangle.stack.fill" 877 | case rectangleOnRectangle = "lock.rectangle.on.rectangle" 878 | case rectangleOnRectangleFill = "lock.rectangle.on.rectangle.fill" 879 | } 880 | 881 | case loupe 882 | 883 | public enum Lt: String, SymbolImage { 884 | case rectangleRoundedtop = "lt.rectangle.roundedtop" 885 | case rectangleRoundedtopFill = "lt.rectangle.roundedtop.fill" 886 | } 887 | 888 | case lungs 889 | 890 | public enum Lungs: String, SymbolImage { 891 | case fill = "lungs.fill" 892 | } 893 | 894 | case macmini 895 | 896 | public enum Macmini: String, SymbolImage { 897 | case fill = "macmini.fill" 898 | } 899 | 900 | public enum Macpro: String, SymbolImage { 901 | case gen1 = "macpro.gen1" 902 | case gen2 = "macpro.gen2" 903 | case gen2Fill = "macpro.gen2.fill" 904 | case gen3 = "macpro.gen3" 905 | case gen3Server = "macpro.gen3.server" 906 | } 907 | 908 | public enum Macwindow: String, SymbolImage { 909 | case badgePlus = "macwindow.badge.plus" 910 | case onRectangle = "macwindow.on.rectangle" 911 | } 912 | 913 | case mail 914 | 915 | public enum Mail: String, SymbolImage { 916 | case stack = "mail.stack" 917 | case stackFill = "mail.stack.fill" 918 | case fill = "mail.fill" 919 | case andTextMagnifyingglass = "mail.and.text.magnifyingglass" 920 | } 921 | 922 | case megaphone 923 | 924 | public enum Megaphone: String, SymbolImage { 925 | case fill = "megaphone.fill" 926 | } 927 | 928 | case memorychip 929 | 930 | public enum Menubar: String, SymbolImage { 931 | case rectangle = "menubar.rectangle" 932 | case dockRectangle = "menubar.dock.rectangle" 933 | case dockRectangleBadgeRecord = "menubar.dock.rectangle.badge.record" 934 | case arrowUpRectangle = "menubar.arrow.up.rectangle" 935 | case arrowDownRectangle = "menubar.arrow.down.rectangle" 936 | } 937 | 938 | public enum Metronome: String, SymbolImage { 939 | case fill = "metronome.fill" 940 | } 941 | 942 | public enum Minus: String, SymbolImage { 943 | case plusBatteryblock = "minus.plus.batteryblock" 944 | case plusBatteryblockFill = "minus.plus.batteryblock.fill" 945 | case rectanglePortrait = "minus.rectangle.portrait" 946 | case rectanglePortraitFill = "minus.rectangle.portrait.fill" 947 | case diamond = "minus.diamond" 948 | case diamondFill = "minus.diamond.fill" 949 | } 950 | 951 | case mosaic 952 | 953 | public enum Mosaic: String, SymbolImage { 954 | case fill = "mosaic.fill" 955 | } 956 | 957 | case mount 958 | 959 | public enum Mount: String, SymbolImage { 960 | case fill = "mount.fill" 961 | } 962 | 963 | case mouth 964 | 965 | public enum Mouth: String, SymbolImage { 966 | case fill = "mouth.fill" 967 | } 968 | 969 | public enum Move: String, SymbolImage { 970 | case _3d = "move.3d" 971 | } 972 | 973 | public enum Music: String, SymbolImage { 974 | case quarternote3 = "music.quarternote.3" 975 | case noteHouse = "music.note.house" 976 | case noteHouseFill = "music.note.house.fill" 977 | } 978 | 979 | case mustache 980 | 981 | public enum Mustache: String, SymbolImage { 982 | case fill = "mustache.fill" 983 | } 984 | 985 | case network 986 | 987 | case newspaper 988 | 989 | public enum Newspaper: String, SymbolImage { 990 | case fill = "newspaper.fill" 991 | } 992 | 993 | case nose 994 | 995 | public enum Nose: String, SymbolImage { 996 | case fill = "nose.fill" 997 | } 998 | 999 | case note 1000 | 1001 | public enum Note: String, SymbolImage { 1002 | case text = "note.text" 1003 | case textBadgePlus = "note.text.badge.plus" 1004 | } 1005 | 1006 | case octagon 1007 | 1008 | public enum Octagon: String, SymbolImage { 1009 | case fill = "octagon.fill" 1010 | } 1011 | 1012 | case opticaldisc 1013 | 1014 | case opticaldiscdrive 1015 | 1016 | public enum Opticaldiscdrive: String, SymbolImage { 1017 | case fill = "opticaldiscdrive.fill" 1018 | } 1019 | 1020 | public enum Paintbrush: String, SymbolImage { 1021 | case pointed = "paintbrush.pointed" 1022 | case pointedFill = "paintbrush.pointed.fill" 1023 | } 1024 | 1025 | case paintpalette 1026 | 1027 | public enum Paintpalette: String, SymbolImage { 1028 | case fill = "paintpalette.fill" 1029 | } 1030 | 1031 | public enum Paperclip: String, SymbolImage { 1032 | case badgeEllipsis = "paperclip.badge.ellipsis" 1033 | } 1034 | 1035 | public enum Paperplane: String, SymbolImage { 1036 | case circle = "paperplane.circle" 1037 | case circleFill = "paperplane.circle.fill" 1038 | } 1039 | 1040 | case paragraphsign 1041 | 1042 | case pc 1043 | 1044 | public enum Pencil: String, SymbolImage { 1045 | case tipCropCircleBadgeArrowRight = "pencil.tip.crop.circle.badge.arrow.right" 1046 | } 1047 | 1048 | public enum Person: String, SymbolImage { 1049 | case fillTurnRight = "person.fill.turn.right" 1050 | case fillTurnDown = "person.fill.turn.down" 1051 | case fillTurnLeft = "person.fill.turn.left" 1052 | case fillCheckmark = "person.fill.checkmark" 1053 | case fillXmark = "person.fill.xmark" 1054 | case fillQuestionmark = "person.fill.questionmark" 1055 | case fillBadgePlus = "person.fill.badge.plus" 1056 | case fillBadgeMinus = "person.fill.badge.minus" 1057 | case andArrowLeftAndArrowRight = "person.and.arrow.left.and.arrow.right" 1058 | case fillAndArrowLeftAndArrowRight = "person.fill.and.arrow.left.and.arrow.right" 1059 | case cropCircleBadgeQuestionmark = "person.crop.circle.badge.questionmark" 1060 | case cropCircleFillBadgeQuestionmark = "person.crop.circle.fill.badge.questionmark" 1061 | case cropCircleBadgeExclamationmark = "person.crop.circle.badge.exclamationmark" 1062 | case cropCircleFillBadgeExclamationmark = "person.crop.circle.fill.badge.exclamationmark" 1063 | case cropSquareFillAndAtRectangle = "person.crop.square.fill.and.at.rectangle" 1064 | } 1065 | 1066 | public enum Person2: String, SymbolImage { 1067 | case circle = "person.2.circle" 1068 | case circleFill = "person.2.circle.fill" 1069 | } 1070 | 1071 | public enum Phone: String, SymbolImage { 1072 | case connection = "phone.connection" 1073 | case fillConnection = "phone.fill.connection" 1074 | } 1075 | 1076 | public enum Photo: String, SymbolImage { 1077 | case onRectangleAngled = "photo.on.rectangle.angled" 1078 | } 1079 | 1080 | case pianokeys 1081 | 1082 | case pills 1083 | 1084 | public enum Pills: String, SymbolImage { 1085 | case fill = "pills.fill" 1086 | } 1087 | 1088 | case pip 1089 | 1090 | public enum Pip: String, SymbolImage { 1091 | case fill = "pip.fill" 1092 | case exit = "pip.exit" 1093 | case enter = "pip.enter" 1094 | case swap = "pip.swap" 1095 | case remove = "pip.remove" 1096 | } 1097 | 1098 | public enum Placeholdertext: String, SymbolImage { 1099 | case fill = "placeholdertext.fill" 1100 | } 1101 | 1102 | public enum Play: String, SymbolImage { 1103 | case slash = "play.slash" 1104 | case slashFill = "play.slash.fill" 1105 | } 1106 | 1107 | public enum Plus: String, SymbolImage { 1108 | case rectangleOnFolder = "plus.rectangle.on.folder" 1109 | case rectangleFillOnFolderFill = "plus.rectangle.fill.on.folder.fill" 1110 | case message = "plus.message" 1111 | case messageFill = "plus.message.fill" 1112 | case viewfinder = "plus.viewfinder" 1113 | case rectanglePortrait = "plus.rectangle.portrait" 1114 | case rectanglePortraitFill = "plus.rectangle.portrait.fill" 1115 | case diamond = "plus.diamond" 1116 | case diamondFill = "plus.diamond.fill" 1117 | } 1118 | 1119 | public enum Point: String, SymbolImage { 1120 | case topleftDownCurvedtoPointBottomrightUp = "point.topleft.down.curvedto.point.bottomright.up" 1121 | case fillTopleftDownCurvedtoPointFillBottomrightUp = "point.fill.topleft.down.curvedto.point.fill.bottomright.up" 1122 | } 1123 | 1124 | public enum Printer: String, SymbolImage { 1125 | case fillAndPaperFill = "printer.fill.and.paper.fill" 1126 | case dotmatrix = "printer.dotmatrix" 1127 | case dotmatrixFill = "printer.dotmatrix.fill" 1128 | case dotmatrixFillAndPaperFill = "printer.dotmatrix.fill.and.paper.fill" 1129 | } 1130 | 1131 | case puzzlepiece 1132 | 1133 | public enum Puzzlepiece: String, SymbolImage { 1134 | case fill = "puzzlepiece.fill" 1135 | } 1136 | 1137 | public enum Questionmark: String, SymbolImage { 1138 | case folder = "questionmark.folder" 1139 | case folderFill = "questionmark.folder.fill" 1140 | case squareDashed = "questionmark.square.dashed" 1141 | } 1142 | 1143 | public enum LetterR: String, SymbolImage { 1144 | case squareOnSquare = "r.square.on.square" 1145 | case squareFillOnSquareFill = "r.square.fill.on.square.fill" 1146 | case joystick = "r.joystick" 1147 | case joystickFill = "r.joystick.fill" 1148 | case joystickDown = "r.joystick.down" 1149 | case joystickDownFill = "r.joystick.down.fill" 1150 | case rectangleRoundedbottom = "r.rectangle.roundedbottom" 1151 | case rectangleRoundedbottomFill = "r.rectangle.roundedbottom.fill" 1152 | } 1153 | 1154 | public enum R1: String, SymbolImage { 1155 | case rectangleRoundedbottom = "r1.rectangle.roundedbottom" 1156 | case rectangleRoundedbottomFill = "r1.rectangle.roundedbottom.fill" 1157 | } 1158 | 1159 | public enum R2: String, SymbolImage { 1160 | case rectangleRoundedtop = "r2.rectangle.roundedtop" 1161 | case rectangleRoundedtopFill = "r2.rectangle.roundedtop.fill" 1162 | } 1163 | 1164 | case radio 1165 | 1166 | public enum Radio: String, SymbolImage { 1167 | case fill = "radio.fill" 1168 | } 1169 | 1170 | public enum Rb: String, SymbolImage { 1171 | case rectangleRoundedbottom = "rb.rectangle.roundedbottom" 1172 | case rectangleRoundedbottomFill = "rb.rectangle.roundedbottom.fill" 1173 | } 1174 | 1175 | public enum Record: String, SymbolImage { 1176 | case circle = "record.circle" 1177 | case circleFill = "record.circle.fill" 1178 | } 1179 | 1180 | public enum Rectangle: String, SymbolImage { 1181 | case andPencilAndEllipsis = "rectangle.and.pencil.and.ellipsis" 1182 | case dashedAndPaperclip = "rectangle.dashed.and.paperclip" 1183 | case slash = "rectangle.slash" 1184 | case slashFill = "rectangle.slash.fill" 1185 | case portrait = "rectangle.portrait" 1186 | case portraitFill = "rectangle.portrait.fill" 1187 | case andTextMagnifyingglass = "rectangle.and.text.magnifyingglass" 1188 | case arrowtriangle2Outward = "rectangle.arrowtriangle.2.outward" 1189 | case arrowtriangle2Inward = "rectangle.arrowtriangle.2.inward" 1190 | case portraitArrowtriangle2Outward = "rectangle.portrait.arrowtriangle.2.outward" 1191 | case portraitArrowtriangle2Inward = "rectangle.portrait.arrowtriangle.2.inward" 1192 | case insetFill = "rectangle.inset.fill" 1193 | case lefthalfInsetFill = "rectangle.lefthalf.inset.fill" 1194 | case righthalfInsetFill = "rectangle.righthalf.inset.fill" 1195 | case bottomthirdInsetFill = "rectangle.bottomthird.inset.fill" 1196 | case leftthirdInsetFill = "rectangle.leftthird.inset.fill" 1197 | case rightthirdInsetFill = "rectangle.rightthird.inset.fill" 1198 | case centerInsetFill = "rectangle.center.inset.fill" 1199 | case insetTopleftFill = "rectangle.inset.topleft.fill" 1200 | case insetToprightFill = "rectangle.inset.topright.fill" 1201 | case insetBottomleftFill = "rectangle.inset.bottomleft.fill" 1202 | case insetBottomrightFill = "rectangle.inset.bottomright.fill" 1203 | case lefthalfInsetFillArrowLeft = "rectangle.lefthalf.inset.fill.arrow.left" 1204 | case righthalfInsetFillArrowRight = "rectangle.righthalf.inset.fill.arrow.right" 1205 | case lefthalfFill = "rectangle.lefthalf.fill" 1206 | case righthalfFill = "rectangle.righthalf.fill" 1207 | case dashed = "rectangle.dashed" 1208 | case dashedBadgeRecord = "rectangle.dashed.badge.record" 1209 | case badgePlus = "rectangle.badge.plus" 1210 | case fillBadgePlus = "rectangle.fill.badge.plus" 1211 | case badgeMinus = "rectangle.badge.minus" 1212 | case fillBadgeMinus = "rectangle.fill.badge.minus" 1213 | case split2X1 = "rectangle.split.2x1" 1214 | case split2X1Fill = "rectangle.split.2x1.fill" 1215 | case split1X2 = "rectangle.split.1x2" 1216 | case split1X2Fill = "rectangle.split.1x2.fill" 1217 | case split2X2 = "rectangle.split.2x2" 1218 | case split2X2Fill = "rectangle.split.2x2.fill" 1219 | case fillOnRectangleFillCircle = "rectangle.fill.on.rectangle.fill.circle" 1220 | case fillOnRectangleFillCircleFill = "rectangle.fill.on.rectangle.fill.circle.fill" 1221 | case onRectangleSlash = "rectangle.on.rectangle.slash" 1222 | case fillOnRectangleFillSlashFill = "rectangle.fill.on.rectangle.fill.slash.fill" 1223 | case connectedToLineBelow = "rectangle.connected.to.line.below" 1224 | case roundedtop = "rectangle.roundedtop" 1225 | case roundedtopFill = "rectangle.roundedtop.fill" 1226 | case roundedbottom = "rectangle.roundedbottom" 1227 | case roundedbottomFill = "rectangle.roundedbottom.fill" 1228 | } 1229 | 1230 | public enum Rectangle3: String, SymbolImage { 1231 | case offgridBubbleLeft = "rectangle.3.offgrid.bubble.left" 1232 | case offgridBubbleLeftFill = "rectangle.3.offgrid.bubble.left.fill" 1233 | } 1234 | 1235 | case restart 1236 | 1237 | public enum Restart: String, SymbolImage { 1238 | case circle = "restart.circle" 1239 | } 1240 | 1241 | public enum Rotate: String, SymbolImage { 1242 | case _3d = "rotate.3d" 1243 | } 1244 | 1245 | public enum Rt: String, SymbolImage { 1246 | case rectangleRoundedtop = "rt.rectangle.roundedtop" 1247 | case rectangleRoundedtopFill = "rt.rectangle.roundedtop.fill" 1248 | } 1249 | 1250 | case ruler 1251 | 1252 | public enum Ruler: String, SymbolImage { 1253 | case fill = "ruler.fill" 1254 | } 1255 | 1256 | public enum Scale: String, SymbolImage { 1257 | case _3d = "scale.3d" 1258 | } 1259 | 1260 | case scalemass 1261 | 1262 | public enum Scalemass: String, SymbolImage { 1263 | case fill = "scalemass.fill" 1264 | } 1265 | 1266 | case scanner 1267 | 1268 | public enum Scanner: String, SymbolImage { 1269 | case fill = "scanner.fill" 1270 | } 1271 | 1272 | public enum Scribble: String, SymbolImage { 1273 | case variable = "scribble.variable" 1274 | } 1275 | 1276 | case scroll 1277 | 1278 | public enum Scroll: String, SymbolImage { 1279 | case fill = "scroll.fill" 1280 | } 1281 | 1282 | case sdcard 1283 | 1284 | public enum Sdcard: String, SymbolImage { 1285 | case fill = "sdcard.fill" 1286 | } 1287 | 1288 | case seal 1289 | 1290 | public enum Seal: String, SymbolImage { 1291 | case fill = "seal.fill" 1292 | } 1293 | 1294 | public enum Server: String, SymbolImage { 1295 | case rack = "server.rack" 1296 | } 1297 | 1298 | case shadow 1299 | 1300 | case shippingbox 1301 | 1302 | public enum Shippingbox: String, SymbolImage { 1303 | case fill = "shippingbox.fill" 1304 | } 1305 | 1306 | public enum Signpost: String, SymbolImage { 1307 | case right = "signpost.right" 1308 | case rightFill = "signpost.right.fill" 1309 | } 1310 | 1311 | case simcard 1312 | 1313 | public enum Simcard: String, SymbolImage { 1314 | case fill = "simcard.fill" 1315 | } 1316 | 1317 | case simcard2 = "simcard.2" 1318 | 1319 | public enum Simcard2: String, SymbolImage { 1320 | case fill = "simcard.2.fill" 1321 | } 1322 | 1323 | case sleep 1324 | 1325 | public enum Slider: String, SymbolImage { 1326 | case vertical3 = "slider.vertical.3" 1327 | } 1328 | 1329 | case sparkle 1330 | 1331 | public enum Speaker: String, SymbolImage { 1332 | case slashCircle = "speaker.slash.circle" 1333 | case slashCircleFill = "speaker.slash.circle.fill" 1334 | case wave1 = "speaker.wave.1" 1335 | case wave1Fill = "speaker.wave.1.fill" 1336 | case wave2 = "speaker.wave.2" 1337 | case wave2Fill = "speaker.wave.2.fill" 1338 | case wave2Circle = "speaker.wave.2.circle" 1339 | case wave2CircleFill = "speaker.wave.2.circle.fill" 1340 | case wave3 = "speaker.wave.3" 1341 | case wave3Fill = "speaker.wave.3.fill" 1342 | } 1343 | 1344 | public enum Square: String, SymbolImage { 1345 | case grid3X1FolderBadgePlus = "square.grid.3x1.folder.badge.plus" 1346 | case grid3X1FolderFillBadgePlus = "square.grid.3x1.folder.fill.badge.plus" 1347 | case andAtRectangle = "square.and.at.rectangle" 1348 | case grid3X1BelowLineGrid1X2 = "square.grid.3x1.below.line.grid.1x2" 1349 | case grid3X1FillBelowLineGrid1X2 = "square.grid.3x1.fill.below.line.grid.1x2" 1350 | case grid3X3 = "square.grid.3x3" 1351 | case grid3X3Fill = "square.grid.3x3.fill" 1352 | case grid3X3TopleftFill = "square.grid.3x3.topleft.fill" 1353 | case grid3X3TopmiddleFill = "square.grid.3x3.topmiddle.fill" 1354 | case grid3X3ToprightFill = "square.grid.3x3.topright.fill" 1355 | case grid3X3MiddleleftFill = "square.grid.3x3.middleleft.fill" 1356 | case grid3X3MiddleFill = "square.grid.3x3.middle.fill" 1357 | case grid3X3MiddlerightFill = "square.grid.3x3.middleright.fill" 1358 | case grid3X3BottomleftFill = "square.grid.3x3.bottomleft.fill" 1359 | case grid3X3BottommiddleFill = "square.grid.3x3.bottommiddle.fill" 1360 | case grid3X3BottomrightFill = "square.grid.3x3.bottomright.fill" 1361 | case bottomhalfFill = "square.bottomhalf.fill" 1362 | case tophalfFill = "square.tophalf.fill" 1363 | case slash = "square.slash" 1364 | case slashFill = "square.slash.fill" 1365 | case dashed = "square.dashed" 1366 | case dashedInsetFill = "square.dashed.inset.fill" 1367 | case grid3X3FillSquare = "square.grid.3x3.fill.square" 1368 | case splitBottomrightquarter = "square.split.bottomrightquarter" 1369 | case splitBottomrightquarterFill = "square.split.bottomrightquarter.fill" 1370 | case splitDiagonal2X2 = "square.split.diagonal.2x2" 1371 | case splitDiagonal2X2Fill = "square.split.diagonal.2x2.fill" 1372 | case splitDiagonal = "square.split.diagonal" 1373 | case splitDiagonalFill = "square.split.diagonal.fill" 1374 | case onSquareDashed = "square.on.square.dashed" 1375 | case onSquareSquareshapeControlhandles = "square.on.square.squareshape.controlhandles" 1376 | case stack3DUpBadgeA = "square.stack.3d.up.badge.a" 1377 | case stack3DUpBadgeAFill = "square.stack.3d.up.badge.a.fill" 1378 | case circle = "square.circle" 1379 | case circleFill = "square.circle.fill" 1380 | case fillTextGrid1X2 = "square.fill.text.grid.1x2" 1381 | } 1382 | 1383 | public enum Square2: String, SymbolImage { 1384 | case stack3D = "square.2.stack.3d" 1385 | case stack3DTopFill = "square.2.stack.3d.top.fill" 1386 | case stack3DBottomFill = "square.2.stack.3d.bottom.fill" 1387 | } 1388 | 1389 | public enum Square3: String, SymbolImage { 1390 | case stack3D = "square.3.stack.3d" 1391 | case stack3DTopFill = "square.3.stack.3d.top.fill" 1392 | case stack3DMiddleFill = "square.3.stack.3d.middle.fill" 1393 | case stack3DBottomFill = "square.3.stack.3d.bottom.fill" 1394 | } 1395 | 1396 | case squareshape 1397 | 1398 | public enum Squareshape: String, SymbolImage { 1399 | case fill = "squareshape.fill" 1400 | case dashedSquareshape = "squareshape.dashed.squareshape" 1401 | case squareshapeDashed = "squareshape.squareshape.dashed" 1402 | case controlhandlesOnSquareshapeControlhandles = "squareshape.controlhandles.on.squareshape.controlhandles" 1403 | case split2X2 = "squareshape.split.2x2" 1404 | case split3X3 = "squareshape.split.3x3" 1405 | } 1406 | 1407 | public enum Star: String, SymbolImage { 1408 | case square = "star.square" 1409 | case squareFill = "star.square.fill" 1410 | } 1411 | 1412 | public enum Staroflife: String, SymbolImage { 1413 | case circle = "staroflife.circle" 1414 | case circleFill = "staroflife.circle.fill" 1415 | } 1416 | 1417 | case stethoscope 1418 | 1419 | case swift 1420 | 1421 | case switch2 = "switch.2" 1422 | 1423 | case tablecells 1424 | 1425 | public enum Tablecells: String, SymbolImage { 1426 | case fill = "tablecells.fill" 1427 | case badgeEllipsis = "tablecells.badge.ellipsis" 1428 | case badgeEllipsisFill = "tablecells.badge.ellipsis.fill" 1429 | } 1430 | 1431 | public enum Tag: String, SymbolImage { 1432 | case slash = "tag.slash" 1433 | case slashFill = "tag.slash.fill" 1434 | } 1435 | 1436 | case target 1437 | 1438 | public enum Teletype: String, SymbolImage { 1439 | case circle = "teletype.circle" 1440 | case circleFill = "teletype.circle.fill" 1441 | } 1442 | 1443 | public enum Text: String, SymbolImage { 1444 | case bookClosed = "text.book.closed" 1445 | case bookClosedFill = "text.book.closed.fill" 1446 | case magnifyingglass = "text.magnifyingglass" 1447 | case andCommandMacwindow = "text.and.command.macwindow" 1448 | case redaction = "text.redaction" 1449 | } 1450 | 1451 | public enum Thermometer: String, SymbolImage { 1452 | case sunFill = "thermometer.sun.fill" 1453 | } 1454 | 1455 | case ticket 1456 | 1457 | public enum Ticket: String, SymbolImage { 1458 | case fill = "ticket.fill" 1459 | } 1460 | 1461 | public enum Timeline: String, SymbolImage { 1462 | case selection = "timeline.selection" 1463 | } 1464 | 1465 | public enum Timer: String, SymbolImage { 1466 | case square = "timer.square" 1467 | } 1468 | 1469 | case touchid 1470 | 1471 | case tram 1472 | 1473 | public enum Tram: String, SymbolImage { 1474 | case tunnelFill = "tram.tunnel.fill" 1475 | } 1476 | 1477 | case translate 1478 | 1479 | public enum Tray: String, SymbolImage { 1480 | case circle = "tray.circle" 1481 | case circleFill = "tray.circle.fill" 1482 | } 1483 | 1484 | public enum Triangle: String, SymbolImage { 1485 | case circle = "triangle.circle" 1486 | case circleFill = "triangle.circle.fill" 1487 | } 1488 | 1489 | public enum Tv: String, SymbolImage { 1490 | case andHifispeakerFill = "tv.and.hifispeaker.fill" 1491 | } 1492 | 1493 | public enum Video: String, SymbolImage { 1494 | case fillBadgePlus = "video.fill.badge.plus" 1495 | case badgeCheckmark = "video.badge.checkmark" 1496 | case fillBadgeCheckmark = "video.fill.badge.checkmark" 1497 | } 1498 | 1499 | case wake 1500 | 1501 | public enum Wallet: String, SymbolImage { 1502 | case pass = "wallet.pass" 1503 | case passFill = "wallet.pass.fill" 1504 | } 1505 | 1506 | public enum Wave3: String, SymbolImage { 1507 | case left = "wave.3.left" 1508 | case leftCircle = "wave.3.left.circle" 1509 | case leftCircleFill = "wave.3.left.circle.fill" 1510 | case right = "wave.3.right" 1511 | case rightCircle = "wave.3.right.circle" 1512 | case rightCircleFill = "wave.3.right.circle.fill" 1513 | } 1514 | 1515 | public enum Waveform: String, SymbolImage { 1516 | case pathEcgRectangle = "waveform.path.ecg.rectangle" 1517 | case pathEcgRectangleFill = "waveform.path.ecg.rectangle.fill" 1518 | } 1519 | 1520 | public enum Wrench: String, SymbolImage { 1521 | case andScrewdriver = "wrench.and.screwdriver" 1522 | case andScrewdriverFill = "wrench.and.screwdriver.fill" 1523 | } 1524 | 1525 | public enum Xmark: String, SymbolImage { 1526 | case bin = "xmark.bin" 1527 | case binFill = "xmark.bin.fill" 1528 | case binCircle = "xmark.bin.circle" 1529 | case binCircleFill = "xmark.bin.circle.fill" 1530 | case rectanglePortrait = "xmark.rectangle.portrait" 1531 | case rectanglePortraitFill = "xmark.rectangle.portrait.fill" 1532 | case diamond = "xmark.diamond" 1533 | case diamondFill = "xmark.diamond.fill" 1534 | } 1535 | 1536 | case xserve 1537 | 1538 | public enum Zl: String, SymbolImage { 1539 | case rectangleRoundedtop = "zl.rectangle.roundedtop" 1540 | case rectangleRoundedtopFill = "zl.rectangle.roundedtop.fill" 1541 | } 1542 | 1543 | public enum Zr: String, SymbolImage { 1544 | case rectangleRoundedtop = "zr.rectangle.roundedtop" 1545 | case rectangleRoundedtopFill = "zr.rectangle.roundedtop.fill" 1546 | } 1547 | } 1548 | -------------------------------------------------------------------------------- /Sources/SFSymbol/Extensions/Image+SFSymbol.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Image+SFSymbol.swift 3 | // SFSymbol 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | import SwiftUI 24 | 25 | public extension Image { 26 | /// Create Image from SFSymbol 27 | init(symbol: T) where T.RawValue == String { 28 | self.init(systemName: symbol.rawValue) 29 | } 30 | } 31 | 32 | @available(iOS 16.0, tvOS 16.0, macOS 13.0, watchOS 9.0, *) 33 | public extension Image { 34 | /// Create Image from SFSymbol with optional `variableValue` 35 | init(symbol: T, variableValue: Double? = nil) where T.RawValue == String { 36 | self.init(systemName: symbol.rawValue, variableValue: variableValue) 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Sources/SFSymbol/Extensions/NSImage+SFSymbol.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NSImage+SFSymbol.swift 3 | // SFSymbol 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #if canImport(AppKit) && !targetEnvironment(macCatalyst) 24 | import AppKit 25 | 26 | @available(macOS 11, *) 27 | public extension NSImage { 28 | convenience init?(symbol: T, accessibilityDescription description: String? = nil) where T.RawValue == String { 29 | self.init(systemSymbolName: symbol.rawValue, accessibilityDescription: description) 30 | } 31 | } 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /Sources/SFSymbol/Extensions/UIImage+SFSymbol.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+SFSymbol.swift 3 | // SFSymbol 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #if canImport(UIKit) || targetEnvironment(macCatalyst) 24 | import UIKit 25 | 26 | @available(iOS 13.0, *) 27 | public extension UIImage { 28 | convenience init?(symbol: T) where T.RawValue == String { 29 | self.init(systemName: symbol.rawValue) 30 | } 31 | 32 | convenience init?(symbol: T, with configuration: Configuration) where T.RawValue == String { 33 | self.init(systemName: symbol.rawValue, withConfiguration: configuration) 34 | } 35 | } 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /Sources/SFSymbol/Protocols/SymbolImage.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Untitled.swift 3 | // SFSymbol 4 | // 5 | // Created by Nicko on 2024/10/31. 6 | // 7 | 8 | import SwiftUI 9 | 10 | public protocol SymbolImage where Self: RawRepresentable, Self.RawValue == String { 11 | var image: Image? { get } 12 | } 13 | 14 | 15 | public extension SymbolImage { 16 | var image: Image? { 17 | Image(systemName: rawValue) 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Sources/SFSymbol/SFSymbol2/SFSymbol2.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SFSymbol2.swift 3 | // SFSymbol 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | public enum SFSymbol2: String, SymbolImage { 24 | public enum _4K: String, SymbolImage { 25 | case tv = "4k.tv" 26 | case tvFill = "4k.tv.fill" 27 | } 28 | 29 | public enum LetterA: String, SymbolImage { 30 | case bookClosed = "a.book.closed" 31 | case bookClosedFill = "a.book.closed.fill" 32 | case magnify = "a.magnify" 33 | } 34 | 35 | case abc 36 | 37 | public enum Airplane: String, SymbolImage { 38 | case circle = "airplane.circle" 39 | case circleFill = "airplane.circle.fill" 40 | } 41 | 42 | case airpods 43 | 44 | case airpodspro 45 | 46 | public enum Airport: String, SymbolImage { 47 | case express = "airport.express" 48 | case extremeTower = "airport.extreme.tower" 49 | case extreme = "airport.extreme" 50 | } 51 | 52 | case amplifier 53 | 54 | case applelogo 55 | 56 | case applescript 57 | 58 | public enum Applescript: String, SymbolImage { 59 | case fill = "applescript.fill" 60 | } 61 | 62 | case appletv 63 | 64 | public enum Appletv: String, SymbolImage { 65 | case fill = "appletv.fill" 66 | } 67 | 68 | case applewatch 69 | 70 | public enum Applewatch: String, SymbolImage { 71 | case watchface = "applewatch.watchface" 72 | case radiowavesLeftAndRight = "applewatch.radiowaves.left.and.right" 73 | case slash = "applewatch.slash" 74 | } 75 | 76 | public enum Apps: String, SymbolImage { 77 | case iphone = "apps.iphone" 78 | case iphoneBadgePlus = "apps.iphone.badge.plus" 79 | case iphoneLandscape = "apps.iphone.landscape" 80 | case ipad = "apps.ipad" 81 | case ipadLandscape = "apps.ipad.landscape" 82 | } 83 | 84 | public enum Archivebox: String, SymbolImage { 85 | case circle = "archivebox.circle" 86 | case circleFill = "archivebox.circle.fill" 87 | } 88 | 89 | public enum Arrow: String, SymbolImage { 90 | case rightDocOnClipboard = "arrow.right.doc.on.clipboard" 91 | case upDocOnClipboard = "arrow.up.doc.on.clipboard" 92 | case triangle2CirclepathDocOnClipboard = "arrow.triangle.2.circlepath.doc.on.clipboard" 93 | case rectanglepath = "arrow.rectanglepath" 94 | case upLeftAndDownRightMagnifyingglass = "arrow.up.left.and.down.right.magnifyingglass" 95 | case triangle2CirclepathCamera = "arrow.triangle.2.circlepath.camera" 96 | case triangle2CirclepathCameraFill = "arrow.triangle.2.circlepath.camera.fill" 97 | case upMessage = "arrow.up.message" 98 | case upMessageFill = "arrow.up.message.fill" 99 | case upRightAndArrowDownLeftRectangle = "arrow.up.right.and.arrow.down.left.rectangle" 100 | case upRightAndArrowDownLeftRectangleFill = "arrow.up.right.and.arrow.down.left.rectangle.fill" 101 | case turnUpRightIphone = "arrow.turn.up.right.iphone" 102 | case turnUpRightIphoneFill = "arrow.turn.up.right.iphone.fill" 103 | case upAndPersonRectanglePortrait = "arrow.up.and.person.rectangle.portrait" 104 | case upAndPersonRectangleTurnRight = "arrow.up.and.person.rectangle.turn.right" 105 | case upAndPersonRectangleTurnLeft = "arrow.up.and.person.rectangle.turn.left" 106 | case upRightApp = "arrow.up.right.app" 107 | case upRightAppFill = "arrow.up.right.app.fill" 108 | case downApp = "arrow.down.app" 109 | case downAppFill = "arrow.down.app.fill" 110 | case leftAndRightRighttriangleLeftRighttriangleRight = "arrow.left.and.right.righttriangle.left.righttriangle.right" 111 | case leftAndRightRighttriangleLeftRighttriangleRightFill = "arrow.left.and.right.righttriangle.left.righttriangle.right.fill" 112 | case upAndDownRighttriangleUpRighttriangleDown = "arrow.up.and.down.righttriangle.up.righttriangle.down" 113 | case upAndDownRighttriangleUpFillRighttriangleDownFill = "arrow.up.and.down.righttriangle.up.fill.righttriangle.down.fill" 114 | case upAndDownAndArrowLeftAndRight = "arrow.up.and.down.and.arrow.left.and.right" 115 | case upLeftAndDownRightAndArrowUpRightAndDownLeft = "arrow.up.left.and.down.right.and.arrow.up.right.and.down.left" 116 | case upLeftAndArrowDownRightCircle = "arrow.up.left.and.arrow.down.right.circle" 117 | case upLeftAndArrowDownRightCircleFill = "arrow.up.left.and.arrow.down.right.circle.fill" 118 | case triangle2Circlepath = "arrow.triangle.2.circlepath" 119 | case triangle2CirclepathCircle = "arrow.triangle.2.circlepath.circle" 120 | case triangle2CirclepathCircleFill = "arrow.triangle.2.circlepath.circle.fill" 121 | case triangleCapsulepath = "arrow.triangle.capsulepath" 122 | case triangleTurnUpRightDiamond = "arrow.triangle.turn.up.right.diamond" 123 | case triangleTurnUpRightDiamondFill = "arrow.triangle.turn.up.right.diamond.fill" 124 | case triangleTurnUpRightCircle = "arrow.triangle.turn.up.right.circle" 125 | case triangleTurnUpRightCircleFill = "arrow.triangle.turn.up.right.circle.fill" 126 | case triangleMerge = "arrow.triangle.merge" 127 | case triangleSwap = "arrow.triangle.swap" 128 | case triangleBranch = "arrow.triangle.branch" 129 | case trianglePull = "arrow.triangle.pull" 130 | } 131 | 132 | public enum Arrowshape: String, SymbolImage { 133 | case turnUpLeft2Circle = "arrowshape.turn.up.left.2.circle" 134 | case turnUpLeft2CircleFill = "arrowshape.turn.up.left.2.circle.fill" 135 | case zigzagRight = "arrowshape.zigzag.right" 136 | case zigzagRightFill = "arrowshape.zigzag.right.fill" 137 | case bounceRight = "arrowshape.bounce.right" 138 | case bounceRightFill = "arrowshape.bounce.right.fill" 139 | } 140 | 141 | public enum Arrowtriangle: String, SymbolImage { 142 | case leftAndLineVerticalAndArrowtriangleRight = "arrowtriangle.left.and.line.vertical.and.arrowtriangle.right" 143 | case leftFillAndLineVerticalAndArrowtriangleRightFill = "arrowtriangle.left.fill.and.line.vertical.and.arrowtriangle.right.fill" 144 | case rightAndLineVerticalAndArrowtriangleLeft = "arrowtriangle.right.and.line.vertical.and.arrowtriangle.left" 145 | case rightFillAndLineVerticalAndArrowtriangleLeftFill = "arrowtriangle.right.fill.and.line.vertical.and.arrowtriangle.left.fill" 146 | } 147 | 148 | public enum At: String, SymbolImage { 149 | case circle = "at.circle" 150 | case circleFill = "at.circle.fill" 151 | } 152 | 153 | case atom 154 | 155 | public enum Backward: String, SymbolImage { 156 | case frame = "backward.frame" 157 | case frameFill = "backward.frame.fill" 158 | } 159 | 160 | public enum Bag: String, SymbolImage { 161 | case circle = "bag.circle" 162 | case circleFill = "bag.circle.fill" 163 | } 164 | 165 | case banknote 166 | 167 | public enum Banknote: String, SymbolImage { 168 | case fill = "banknote.fill" 169 | } 170 | 171 | case barometer 172 | 173 | public enum Battery100: String, SymbolImage { 174 | case bolt = "battery.100.bolt" 175 | } 176 | 177 | public enum Bell: String, SymbolImage { 178 | case slashCircle = "bell.slash.circle" 179 | case slashCircleFill = "bell.slash.circle.fill" 180 | case badge = "bell.badge" 181 | case badgeFill = "bell.badge.fill" 182 | } 183 | 184 | case bicycle 185 | 186 | case binoculars 187 | 188 | public enum Binoculars: String, SymbolImage { 189 | case fill = "binoculars.fill" 190 | } 191 | 192 | public enum Bolt: String, SymbolImage { 193 | case heart = "bolt.heart" 194 | case heartFill = "bolt.heart.fill" 195 | case slashCircle = "bolt.slash.circle" 196 | case slashCircleFill = "bolt.slash.circle.fill" 197 | case car = "bolt.car" 198 | case carFill = "bolt.car.fill" 199 | case fillBatteryblock = "bolt.fill.batteryblock" 200 | case fillBatteryblockFill = "bolt.fill.batteryblock.fill" 201 | } 202 | 203 | case bonjour 204 | 205 | public enum Book: String, SymbolImage { 206 | case closed = "book.closed" 207 | case closedFill = "book.closed.fill" 208 | } 209 | 210 | public enum Bookmark: String, SymbolImage { 211 | case circle = "bookmark.circle" 212 | case circleFill = "bookmark.circle.fill" 213 | case slash = "bookmark.slash" 214 | case slashFill = "bookmark.slash.fill" 215 | } 216 | 217 | public enum Books: String, SymbolImage { 218 | case vertical = "books.vertical" 219 | case verticalFill = "books.vertical.fill" 220 | } 221 | 222 | case building 223 | 224 | public enum Building: String, SymbolImage { 225 | case columns = "building.columns" 226 | case columnsFill = "building.columns.fill" 227 | case fill = "building.fill" 228 | } 229 | 230 | case building2 = "building.2" 231 | 232 | public enum Building2: String, SymbolImage { 233 | case fill = "building.2.fill" 234 | case cropCircle = "building.2.crop.circle" 235 | case cropCircleFill = "building.2.crop.circle.fill" 236 | } 237 | 238 | case bus 239 | 240 | public enum Bus: String, SymbolImage { 241 | case fill = "bus.fill" 242 | case doubledecker = "bus.doubledecker" 243 | case doubledeckerFill = "bus.doubledecker.fill" 244 | } 245 | 246 | public enum Calendar: String, SymbolImage { 247 | case badgeClock = "calendar.badge.clock" 248 | case badgeExclamationmark = "calendar.badge.exclamationmark" 249 | } 250 | 251 | public enum Camera: String, SymbolImage { 252 | case badgeEllipsis = "camera.badge.ellipsis" 253 | case fillBadgeEllipsis = "camera.fill.badge.ellipsis" 254 | case meteringCenterWeightedAverage = "camera.metering.center.weighted.average" 255 | case meteringCenterWeighted = "camera.metering.center.weighted" 256 | case meteringMatrix = "camera.metering.matrix" 257 | case meteringMultispot = "camera.metering.multispot" 258 | case meteringNone = "camera.metering.none" 259 | case meteringPartial = "camera.metering.partial" 260 | case meteringSpot = "camera.metering.spot" 261 | case meteringUnknown = "camera.metering.unknown" 262 | case aperture = "camera.aperture" 263 | case filters = "camera.filters" 264 | } 265 | 266 | case candybarphone 267 | 268 | public enum Capsule: String, SymbolImage { 269 | case portrait = "capsule.portrait" 270 | case portraitFill = "capsule.portrait.fill" 271 | } 272 | 273 | public enum Car: String, SymbolImage { 274 | case circle = "car.circle" 275 | case circleFill = "car.circle.fill" 276 | } 277 | 278 | case car2 = "car.2" 279 | 280 | public enum Car2: String, SymbolImage { 281 | case fill = "car.2.fill" 282 | } 283 | 284 | case _case = "case" 285 | 286 | public enum Case: String, SymbolImage { 287 | case fill = "case.fill" 288 | } 289 | 290 | public enum Chart: String, SymbolImage { 291 | case barDocHorizontal = "chart.bar.doc.horizontal" 292 | case barDocHorizontalFill = "chart.bar.doc.horizontal.fill" 293 | case barXaxis = "chart.bar.xaxis" 294 | } 295 | 296 | public enum Checkerboard: String, SymbolImage { 297 | case rectangle = "checkerboard.rectangle" 298 | } 299 | 300 | public enum Checkmark: String, SymbolImage { 301 | case icloud = "checkmark.icloud" 302 | case icloudFill = "checkmark.icloud.fill" 303 | case rectanglePortrait = "checkmark.rectangle.portrait" 304 | case rectanglePortraitFill = "checkmark.rectangle.portrait.fill" 305 | } 306 | 307 | public enum Circle: String, SymbolImage { 308 | case gridCross = "circle.grid.cross" 309 | case gridCrossFill = "circle.grid.cross.fill" 310 | case gridCrossLeftFill = "circle.grid.cross.left.fill" 311 | case gridCrossUpFill = "circle.grid.cross.up.fill" 312 | case gridCrossRightFill = "circle.grid.cross.right.fill" 313 | case gridCrossDownFill = "circle.grid.cross.down.fill" 314 | case bottomhalfFill = "circle.bottomhalf.fill" 315 | case tophalfFill = "circle.tophalf.fill" 316 | case dashed = "circle.dashed" 317 | case dashedInsetFill = "circle.dashed.inset.fill" 318 | case square = "circle.square" 319 | case fillSquareFill = "circle.fill.square.fill" 320 | case circle = "circle.circle" 321 | case circleFill = "circle.circle.fill" 322 | } 323 | 324 | case circlebadge 325 | 326 | public enum Circlebadge: String, SymbolImage { 327 | case fill = "circlebadge.fill" 328 | } 329 | 330 | public enum Circles: String, SymbolImage { 331 | case hexagongrid = "circles.hexagongrid" 332 | case hexagongridFill = "circles.hexagongrid.fill" 333 | case hexagonpath = "circles.hexagonpath" 334 | case hexagonpathFill = "circles.hexagonpath.fill" 335 | } 336 | 337 | public enum Clock: String, SymbolImage { 338 | case arrowCirclepath = "clock.arrow.circlepath" 339 | } 340 | 341 | case comb 342 | 343 | public enum Comb: String, SymbolImage { 344 | case fill = "comb.fill" 345 | } 346 | 347 | public enum Command: String, SymbolImage { 348 | case circle = "command.circle" 349 | case circleFill = "command.circle.fill" 350 | case square = "command.square" 351 | case squareFill = "command.square.fill" 352 | } 353 | 354 | public enum Contextualmenu: String, SymbolImage { 355 | case andCursorarrow = "contextualmenu.and.cursorarrow" 356 | } 357 | 358 | case cpu 359 | 360 | public enum Creditcard: String, SymbolImage { 361 | case circle = "creditcard.circle" 362 | case circleFill = "creditcard.circle.fill" 363 | } 364 | 365 | case cross 366 | 367 | public enum Cross: String, SymbolImage { 368 | case _case = "cross.case" 369 | case caseFill = "cross.case.fill" 370 | case fill = "cross.fill" 371 | case circle = "cross.circle" 372 | case circleFill = "cross.circle.fill" 373 | } 374 | 375 | case crown 376 | 377 | public enum Crown: String, SymbolImage { 378 | case fill = "crown.fill" 379 | } 380 | 381 | public enum Cube: String, SymbolImage { 382 | case transparent = "cube.transparent" 383 | } 384 | 385 | case curlybraces 386 | 387 | public enum Curlybraces: String, SymbolImage { 388 | case square = "curlybraces.square" 389 | case squareFill = "curlybraces.square.fill" 390 | } 391 | 392 | case cursorarrow 393 | 394 | public enum Cursorarrow: String, SymbolImage { 395 | case rays = "cursorarrow.rays" 396 | case square = "cursorarrow.square" 397 | case andSquareOnSquareDashed = "cursorarrow.and.square.on.square.dashed" 398 | case click = "cursorarrow.click" 399 | case click2 = "cursorarrow.click.2" 400 | case motionlines = "cursorarrow.motionlines" 401 | case motionlinesClick = "cursorarrow.motionlines.click" 402 | case clickBadgeClock = "cursorarrow.click.badge.clock" 403 | } 404 | 405 | public enum Cylinder: String, SymbolImage { 406 | case split1X2 = "cylinder.split.1x2" 407 | case split1X2Fill = "cylinder.split.1x2.fill" 408 | } 409 | 410 | case deskclock 411 | 412 | public enum Deskclock: String, SymbolImage { 413 | case fill = "deskclock.fill" 414 | } 415 | 416 | public enum Dial: String, SymbolImage { 417 | case min = "dial.min" 418 | case minFill = "dial.min.fill" 419 | case max = "dial.max" 420 | case maxFill = "dial.max.fill" 421 | } 422 | 423 | case diamond 424 | 425 | public enum Diamond: String, SymbolImage { 426 | case fill = "diamond.fill" 427 | } 428 | 429 | public enum Die: String, SymbolImage { 430 | case face1 = "die.face.1" 431 | case face1Fill = "die.face.1.fill" 432 | case face2 = "die.face.2" 433 | case face2Fill = "die.face.2.fill" 434 | case face3 = "die.face.3" 435 | case face3Fill = "die.face.3.fill" 436 | case face4 = "die.face.4" 437 | case face4Fill = "die.face.4.fill" 438 | case face5 = "die.face.5" 439 | case face5Fill = "die.face.5.fill" 440 | case face6 = "die.face.6" 441 | case face6Fill = "die.face.6.fill" 442 | } 443 | 444 | case display 445 | 446 | public enum Display: String, SymbolImage { 447 | case trianglebadgeExclamationmark = "display.trianglebadge.exclamationmark" 448 | } 449 | 450 | case display2 = "display.2" 451 | 452 | public enum Doc: String, SymbolImage { 453 | case badgePlus = "doc.badge.plus" 454 | case fillBadgePlus = "doc.fill.badge.plus" 455 | case badgeGearshape = "doc.badge.gearshape" 456 | case badgeGearshapeFill = "doc.badge.gearshape.fill" 457 | case badgeEllipsis = "doc.badge.ellipsis" 458 | case fillBadgeEllipsis = "doc.fill.badge.ellipsis" 459 | case zipper = "doc.zipper" 460 | case richtextFill = "doc.richtext.fill" 461 | case plaintextFill = "doc.plaintext.fill" 462 | case appendFill = "doc.append.fill" 463 | case textFillViewfinder = "doc.text.fill.viewfinder" 464 | } 465 | 466 | public enum Dock: String, SymbolImage { 467 | case rectangle = "dock.rectangle" 468 | case arrowUpRectangle = "dock.arrow.up.rectangle" 469 | case arrowDownRectangle = "dock.arrow.down.rectangle" 470 | } 471 | 472 | public enum Dot: String, SymbolImage { 473 | case arrowtrianglesUpRightDownLeftCircle = "dot.arrowtriangles.up.right.down.left.circle" 474 | case circleAndCursorarrow = "dot.circle.and.cursorarrow" 475 | case squareshape = "dot.squareshape" 476 | case squareshapeFill = "dot.squareshape.fill" 477 | case squareshapeSplit2X2 = "dot.squareshape.split.2x2" 478 | } 479 | 480 | case dpad 481 | 482 | public enum Dpad: String, SymbolImage { 483 | case fill = "dpad.fill" 484 | case leftFill = "dpad.left.fill" 485 | case upFill = "dpad.up.fill" 486 | case rightFill = "dpad.right.fill" 487 | case downFill = "dpad.down.fill" 488 | } 489 | 490 | case drop 491 | 492 | public enum Drop: String, SymbolImage { 493 | case fill = "drop.fill" 494 | } 495 | 496 | public enum Ear: String, SymbolImage { 497 | case badgeCheckmark = "ear.badge.checkmark" 498 | case trianglebadgeExclamationmark = "ear.trianglebadge.exclamationmark" 499 | case fill = "ear.fill" 500 | } 501 | 502 | case earpods 503 | 504 | public enum Eject: String, SymbolImage { 505 | case circle = "eject.circle" 506 | case circleFill = "eject.circle.fill" 507 | } 508 | 509 | public enum Ellipsis: String, SymbolImage { 510 | case bubble = "ellipsis.bubble" 511 | case bubbleFill = "ellipsis.bubble.fill" 512 | case rectangle = "ellipsis.rectangle" 513 | case rectangleFill = "ellipsis.rectangle.fill" 514 | } 515 | 516 | public enum Envelope: String, SymbolImage { 517 | case arrowTriangleBranch = "envelope.arrow.triangle.branch" 518 | case arrowTriangleBranchFill = "envelope.arrow.triangle.branch.fill" 519 | case badgeShieldLefthalfFill = "envelope.badge.shield.lefthalf.fill" 520 | case fillBadgeShieldRighthalfFill = "envelope.fill.badge.shield.righthalf.fill" 521 | } 522 | 523 | public enum Exclamationmark: String, SymbolImage { 524 | case arrowTriangle2Circlepath = "exclamationmark.arrow.triangle.2.circlepath" 525 | } 526 | 527 | case exclamationmark2 = "exclamationmark.2" 528 | 529 | case exclamationmark3 = "exclamationmark.3" 530 | 531 | case externaldrive 532 | 533 | public enum Externaldrive: String, SymbolImage { 534 | case fill = "externaldrive.fill" 535 | case badgePlus = "externaldrive.badge.plus" 536 | case fillBadgePlus = "externaldrive.fill.badge.plus" 537 | case badgeMinus = "externaldrive.badge.minus" 538 | case fillBadgeMinus = "externaldrive.fill.badge.minus" 539 | case badgeCheckmark = "externaldrive.badge.checkmark" 540 | case fillBadgeCheckmark = "externaldrive.fill.badge.checkmark" 541 | case badgeXmark = "externaldrive.badge.xmark" 542 | case fillBadgeXmark = "externaldrive.fill.badge.xmark" 543 | case badgePersonCrop = "externaldrive.badge.person.crop" 544 | case fillBadgePersonCrop = "externaldrive.fill.badge.person.crop" 545 | case badgeIcloud = "externaldrive.badge.icloud" 546 | case fillBadgeIcloud = "externaldrive.fill.badge.icloud" 547 | case badgeWifi = "externaldrive.badge.wifi" 548 | case fillBadgeWifi = "externaldrive.fill.badge.wifi" 549 | case badgeTimemachine = "externaldrive.badge.timemachine" 550 | case fillBadgeTimemachine = "externaldrive.fill.badge.timemachine" 551 | case connectedToLineBelow = "externaldrive.connected.to.line.below" 552 | case connectedToLineBelowFill = "externaldrive.connected.to.line.below.fill" 553 | } 554 | 555 | public enum Eye: String, SymbolImage { 556 | case circle = "eye.circle" 557 | case circleFill = "eye.circle.fill" 558 | } 559 | 560 | case eyebrow 561 | 562 | case eyes 563 | 564 | public enum Eyes: String, SymbolImage { 565 | case inverse = "eyes.inverse" 566 | } 567 | 568 | public enum Face: String, SymbolImage { 569 | case smiling = "face.smiling" 570 | case smilingFill = "face.smiling.fill" 571 | case dashed = "face.dashed" 572 | case dashedFill = "face.dashed.fill" 573 | } 574 | 575 | case faxmachine 576 | 577 | case fiberchannel 578 | 579 | public enum Figure: String, SymbolImage { 580 | case walk = "figure.walk" 581 | case walkCircle = "figure.walk.circle" 582 | case walkCircleFill = "figure.walk.circle.fill" 583 | case walkDiamond = "figure.walk.diamond" 584 | case walkDiamondFill = "figure.walk.diamond.fill" 585 | case wave = "figure.wave" 586 | case waveCircle = "figure.wave.circle" 587 | case waveCircleFill = "figure.wave.circle.fill" 588 | } 589 | 590 | public enum Filemenu: String, SymbolImage { 591 | case andCursorarrow = "filemenu.and.cursorarrow" 592 | } 593 | 594 | public enum Flag: String, SymbolImage { 595 | case slashCircle = "flag.slash.circle" 596 | case slashCircleFill = "flag.slash.circle.fill" 597 | case badgeEllipsis = "flag.badge.ellipsis" 598 | case badgeEllipsisFill = "flag.badge.ellipsis.fill" 599 | } 600 | 601 | case flipphone 602 | 603 | case fn 604 | 605 | public enum Folder: String, SymbolImage { 606 | case badgeQuestionmark = "folder.badge.questionmark" 607 | case fillBadgeQuestionmark = "folder.fill.badge.questionmark" 608 | case badgeGear = "folder.badge.gear" 609 | case fillBadgeGear = "folder.fill.badge.gear" 610 | } 611 | 612 | public enum Forward: String, SymbolImage { 613 | case frame = "forward.frame" 614 | case frameFill = "forward.frame.fill" 615 | } 616 | 617 | case gearshape 618 | 619 | public enum Gearshape: String, SymbolImage { 620 | case fill = "gearshape.fill" 621 | } 622 | 623 | case gearshape2 = "gearshape.2" 624 | 625 | public enum Gearshape2: String, SymbolImage { 626 | case fill = "gearshape.2.fill" 627 | } 628 | 629 | public enum Gift: String, SymbolImage { 630 | case circle = "gift.circle" 631 | case circleFill = "gift.circle.fill" 632 | } 633 | 634 | case giftcard 635 | 636 | public enum Giftcard: String, SymbolImage { 637 | case fill = "giftcard.fill" 638 | } 639 | 640 | case graduationcap 641 | 642 | public enum Graduationcap: String, SymbolImage { 643 | case fill = "graduationcap.fill" 644 | } 645 | 646 | case greetingcard 647 | 648 | public enum Greetingcard: String, SymbolImage { 649 | case fill = "greetingcard.fill" 650 | } 651 | 652 | public enum Guitars: String, SymbolImage { 653 | case fill = "guitars.fill" 654 | } 655 | 656 | case gyroscope 657 | 658 | public enum LetterH: String, SymbolImage { 659 | case squareOnSquare = "h.square.on.square" 660 | case squareFillOnSquareFill = "h.square.fill.on.square.fill" 661 | } 662 | 663 | public enum Hand: String, SymbolImage { 664 | case pointUpLeft = "hand.point.up.left" 665 | case pointUpLeftFill = "hand.point.up.left.fill" 666 | case tap = "hand.tap" 667 | case tapFill = "hand.tap.fill" 668 | case pointUp = "hand.point.up" 669 | case pointUpFill = "hand.point.up.fill" 670 | case pointUpBraille = "hand.point.up.braille" 671 | case pointUpBrailleFill = "hand.point.up.braille.fill" 672 | case pointDown = "hand.point.down" 673 | case pointDownFill = "hand.point.down.fill" 674 | case wave = "hand.wave" 675 | case waveFill = "hand.wave.fill" 676 | } 677 | 678 | public enum Headphones: String, SymbolImage { 679 | case circle = "headphones.circle" 680 | case circleFill = "headphones.circle.fill" 681 | } 682 | 683 | public enum Hearingaid: String, SymbolImage { 684 | case ear = "hearingaid.ear" 685 | } 686 | 687 | public enum Heart: String, SymbolImage { 688 | case textSquare = "heart.text.square" 689 | case textSquareFill = "heart.text.square.fill" 690 | } 691 | 692 | case highlighter 693 | 694 | case homekit 695 | 696 | case homepod 697 | 698 | public enum Homepod: String, SymbolImage { 699 | case fill = "homepod.fill" 700 | } 701 | 702 | public enum Hourglass: String, SymbolImage { 703 | case badgePlus = "hourglass.badge.plus" 704 | } 705 | 706 | public enum House: String, SymbolImage { 707 | case circle = "house.circle" 708 | case circleFill = "house.circle.fill" 709 | } 710 | 711 | case infinity 712 | 713 | case internaldrive 714 | 715 | public enum Internaldrive: String, SymbolImage { 716 | case fill = "internaldrive.fill" 717 | } 718 | 719 | case ipad 720 | 721 | public enum Ipad: String, SymbolImage { 722 | case homebutton = "ipad.homebutton" 723 | case homebuttonLandscape = "ipad.homebutton.landscape" 724 | case landscape = "ipad.landscape" 725 | } 726 | 727 | case iphone 728 | 729 | public enum Iphone: String, SymbolImage { 730 | case homebutton = "iphone.homebutton" 731 | case homebuttonRadiowavesLeftAndRight = "iphone.homebutton.radiowaves.left.and.right" 732 | case homebuttonSlash = "iphone.homebutton.slash" 733 | case radiowavesLeftAndRight = "iphone.radiowaves.left.and.right" 734 | case slash = "iphone.slash" 735 | } 736 | 737 | case ipod 738 | 739 | public enum Ipodshuffle: String, SymbolImage { 740 | case gen1 = "ipodshuffle.gen1" 741 | case gen2 = "ipodshuffle.gen2" 742 | case gen3 = "ipodshuffle.gen3" 743 | case gen4 = "ipodshuffle.gen4" 744 | } 745 | 746 | case ipodtouch 747 | 748 | public enum LetterJ: String, SymbolImage { 749 | case squareOnSquare = "j.square.on.square" 750 | case squareFillOnSquareFill = "j.square.fill.on.square.fill" 751 | } 752 | 753 | case k 754 | 755 | case key 756 | 757 | public enum Key: String, SymbolImage { 758 | case icloud = "key.icloud" 759 | case icloudFill = "key.icloud.fill" 760 | case fill = "key.fill" 761 | } 762 | 763 | public enum Keyboard: String, SymbolImage { 764 | case badgeEllipsis = "keyboard.badge.ellipsis" 765 | case chevronCompactLeft = "keyboard.chevron.compact.left" 766 | case onehandedLeft = "keyboard.onehanded.left" 767 | case onehandedRight = "keyboard.onehanded.right" 768 | case macwindow = "keyboard.macwindow" 769 | } 770 | 771 | public enum LetterL: String, SymbolImage { 772 | case joystick = "l.joystick" 773 | case joystickFill = "l.joystick.fill" 774 | case joystickDown = "l.joystick.down" 775 | case joystickDownFill = "l.joystick.down.fill" 776 | case rectangleRoundedbottom = "l.rectangle.roundedbottom" 777 | case rectangleRoundedbottomFill = "l.rectangle.roundedbottom.fill" 778 | } 779 | 780 | public enum L1: String, SymbolImage { 781 | case rectangleRoundedbottom = "l1.rectangle.roundedbottom" 782 | case rectangleRoundedbottomFill = "l1.rectangle.roundedbottom.fill" 783 | } 784 | 785 | public enum L2: String, SymbolImage { 786 | case rectangleRoundedtop = "l2.rectangle.roundedtop" 787 | case rectangleRoundedtopFill = "l2.rectangle.roundedtop.fill" 788 | } 789 | 790 | case laptopcomputer 791 | 792 | public enum Laptopcomputer: String, SymbolImage { 793 | case andIphone = "laptopcomputer.and.iphone" 794 | } 795 | 796 | public enum Lasso: String, SymbolImage { 797 | case sparkles = "lasso.sparkles" 798 | } 799 | 800 | public enum Latch2: String, SymbolImage { 801 | case _case = "latch.2.case" 802 | case caseFill = "latch.2.case.fill" 803 | } 804 | 805 | public enum Lb: String, SymbolImage { 806 | case rectangleRoundedbottom = "lb.rectangle.roundedbottom" 807 | case rectangleRoundedbottomFill = "lb.rectangle.roundedbottom.fill" 808 | } 809 | 810 | case leaf 811 | 812 | public enum Leaf: String, SymbolImage { 813 | case fill = "leaf.fill" 814 | case arrowTriangleCirclepath = "leaf.arrow.triangle.circlepath" 815 | } 816 | 817 | case level 818 | 819 | public enum Level: String, SymbolImage { 820 | case fill = "level.fill" 821 | } 822 | 823 | case lifepreserver 824 | 825 | public enum Lifepreserver: String, SymbolImage { 826 | case fill = "lifepreserver.fill" 827 | } 828 | 829 | public enum Line: String, SymbolImage { 830 | case diagonal = "line.diagonal" 831 | case diagonalArrow = "line.diagonal.arrow" 832 | case horizontalStarFillLineHorizontal = "line.horizontal.star.fill.line.horizontal" 833 | case horizontal3Circle = "line.horizontal.3.circle" 834 | case horizontal3CircleFill = "line.horizontal.3.circle.fill" 835 | case horizontal2DecreaseCircle = "line.horizontal.2.decrease.circle" 836 | case horizontal2DecreaseCircleFill = "line.horizontal.2.decrease.circle.fill" 837 | } 838 | 839 | public enum Line3: String, SymbolImage { 840 | case crossedSwirlCircle = "line.3.crossed.swirl.circle" 841 | case crossedSwirlCircleFill = "line.3.crossed.swirl.circle.fill" 842 | } 843 | 844 | case lineweight 845 | 846 | public enum Link: String, SymbolImage { 847 | case badgePlus = "link.badge.plus" 848 | } 849 | 850 | public enum List: String, SymbolImage { 851 | case bulletRectangle = "list.bullet.rectangle" 852 | case triangle = "list.triangle" 853 | case star = "list.star" 854 | case andFilm = "list.and.film" 855 | } 856 | 857 | public enum Livephoto: String, SymbolImage { 858 | case badgeA = "livephoto.badge.a" 859 | } 860 | 861 | public enum Location: String, SymbolImage { 862 | case viewfinder = "location.viewfinder" 863 | case fillViewfinder = "location.fill.viewfinder" 864 | } 865 | 866 | public enum Lock: String, SymbolImage { 867 | case doc = "lock.doc" 868 | case docFill = "lock.doc.fill" 869 | case square = "lock.square" 870 | case squareFill = "lock.square.fill" 871 | case squareStack = "lock.square.stack" 872 | case squareStackFill = "lock.square.stack.fill" 873 | case rectangle = "lock.rectangle" 874 | case rectangleFill = "lock.rectangle.fill" 875 | case rectangleStack = "lock.rectangle.stack" 876 | case rectangleStackFill = "lock.rectangle.stack.fill" 877 | case rectangleOnRectangle = "lock.rectangle.on.rectangle" 878 | case rectangleOnRectangleFill = "lock.rectangle.on.rectangle.fill" 879 | } 880 | 881 | case loupe 882 | 883 | public enum Lt: String, SymbolImage { 884 | case rectangleRoundedtop = "lt.rectangle.roundedtop" 885 | case rectangleRoundedtopFill = "lt.rectangle.roundedtop.fill" 886 | } 887 | 888 | case lungs 889 | 890 | public enum Lungs: String, SymbolImage { 891 | case fill = "lungs.fill" 892 | } 893 | 894 | case macmini 895 | 896 | public enum Macmini: String, SymbolImage { 897 | case fill = "macmini.fill" 898 | } 899 | 900 | public enum Macpro: String, SymbolImage { 901 | case gen1 = "macpro.gen1" 902 | case gen2 = "macpro.gen2" 903 | case gen2Fill = "macpro.gen2.fill" 904 | case gen3 = "macpro.gen3" 905 | case gen3Server = "macpro.gen3.server" 906 | } 907 | 908 | public enum Macwindow: String, SymbolImage { 909 | case badgePlus = "macwindow.badge.plus" 910 | case onRectangle = "macwindow.on.rectangle" 911 | } 912 | 913 | case mail 914 | 915 | public enum Mail: String, SymbolImage { 916 | case stack = "mail.stack" 917 | case stackFill = "mail.stack.fill" 918 | case fill = "mail.fill" 919 | case andTextMagnifyingglass = "mail.and.text.magnifyingglass" 920 | } 921 | 922 | case megaphone 923 | 924 | public enum Megaphone: String, SymbolImage { 925 | case fill = "megaphone.fill" 926 | } 927 | 928 | case memorychip 929 | 930 | public enum Menubar: String, SymbolImage { 931 | case rectangle = "menubar.rectangle" 932 | case dockRectangle = "menubar.dock.rectangle" 933 | case dockRectangleBadgeRecord = "menubar.dock.rectangle.badge.record" 934 | case arrowUpRectangle = "menubar.arrow.up.rectangle" 935 | case arrowDownRectangle = "menubar.arrow.down.rectangle" 936 | } 937 | 938 | public enum Metronome: String, SymbolImage { 939 | case fill = "metronome.fill" 940 | } 941 | 942 | public enum Minus: String, SymbolImage { 943 | case plusBatteryblock = "minus.plus.batteryblock" 944 | case plusBatteryblockFill = "minus.plus.batteryblock.fill" 945 | case rectanglePortrait = "minus.rectangle.portrait" 946 | case rectanglePortraitFill = "minus.rectangle.portrait.fill" 947 | case diamond = "minus.diamond" 948 | case diamondFill = "minus.diamond.fill" 949 | } 950 | 951 | case mosaic 952 | 953 | public enum Mosaic: String, SymbolImage { 954 | case fill = "mosaic.fill" 955 | } 956 | 957 | case mount 958 | 959 | public enum Mount: String, SymbolImage { 960 | case fill = "mount.fill" 961 | } 962 | 963 | case mouth 964 | 965 | public enum Mouth: String, SymbolImage { 966 | case fill = "mouth.fill" 967 | } 968 | 969 | public enum Move: String, SymbolImage { 970 | case _3d = "move.3d" 971 | } 972 | 973 | public enum Music: String, SymbolImage { 974 | case quarternote3 = "music.quarternote.3" 975 | case noteHouse = "music.note.house" 976 | case noteHouseFill = "music.note.house.fill" 977 | } 978 | 979 | case mustache 980 | 981 | public enum Mustache: String, SymbolImage { 982 | case fill = "mustache.fill" 983 | } 984 | 985 | case network 986 | 987 | case newspaper 988 | 989 | public enum Newspaper: String, SymbolImage { 990 | case fill = "newspaper.fill" 991 | } 992 | 993 | case nose 994 | 995 | public enum Nose: String, SymbolImage { 996 | case fill = "nose.fill" 997 | } 998 | 999 | case note 1000 | 1001 | public enum Note: String, SymbolImage { 1002 | case text = "note.text" 1003 | case textBadgePlus = "note.text.badge.plus" 1004 | } 1005 | 1006 | case octagon 1007 | 1008 | public enum Octagon: String, SymbolImage { 1009 | case fill = "octagon.fill" 1010 | } 1011 | 1012 | case opticaldisc 1013 | 1014 | case opticaldiscdrive 1015 | 1016 | public enum Opticaldiscdrive: String, SymbolImage { 1017 | case fill = "opticaldiscdrive.fill" 1018 | } 1019 | 1020 | public enum Paintbrush: String, SymbolImage { 1021 | case pointed = "paintbrush.pointed" 1022 | case pointedFill = "paintbrush.pointed.fill" 1023 | } 1024 | 1025 | case paintpalette 1026 | 1027 | public enum Paintpalette: String, SymbolImage { 1028 | case fill = "paintpalette.fill" 1029 | } 1030 | 1031 | public enum Paperclip: String, SymbolImage { 1032 | case badgeEllipsis = "paperclip.badge.ellipsis" 1033 | } 1034 | 1035 | public enum Paperplane: String, SymbolImage { 1036 | case circle = "paperplane.circle" 1037 | case circleFill = "paperplane.circle.fill" 1038 | } 1039 | 1040 | case paragraphsign 1041 | 1042 | case pc 1043 | 1044 | public enum Pencil: String, SymbolImage { 1045 | case tipCropCircleBadgeArrowRight = "pencil.tip.crop.circle.badge.arrow.right" 1046 | } 1047 | 1048 | public enum Person: String, SymbolImage { 1049 | case fillTurnRight = "person.fill.turn.right" 1050 | case fillTurnDown = "person.fill.turn.down" 1051 | case fillTurnLeft = "person.fill.turn.left" 1052 | case fillCheckmark = "person.fill.checkmark" 1053 | case fillXmark = "person.fill.xmark" 1054 | case fillQuestionmark = "person.fill.questionmark" 1055 | case fillBadgePlus = "person.fill.badge.plus" 1056 | case fillBadgeMinus = "person.fill.badge.minus" 1057 | case andArrowLeftAndArrowRight = "person.and.arrow.left.and.arrow.right" 1058 | case fillAndArrowLeftAndArrowRight = "person.fill.and.arrow.left.and.arrow.right" 1059 | case cropCircleBadgeQuestionmark = "person.crop.circle.badge.questionmark" 1060 | case cropCircleFillBadgeQuestionmark = "person.crop.circle.fill.badge.questionmark" 1061 | case cropCircleBadgeExclamationmark = "person.crop.circle.badge.exclamationmark" 1062 | case cropCircleFillBadgeExclamationmark = "person.crop.circle.fill.badge.exclamationmark" 1063 | case cropSquareFillAndAtRectangle = "person.crop.square.fill.and.at.rectangle" 1064 | } 1065 | 1066 | public enum Person2: String, SymbolImage { 1067 | case circle = "person.2.circle" 1068 | case circleFill = "person.2.circle.fill" 1069 | } 1070 | 1071 | public enum Phone: String, SymbolImage { 1072 | case connection = "phone.connection" 1073 | case fillConnection = "phone.fill.connection" 1074 | } 1075 | 1076 | public enum Photo: String, SymbolImage { 1077 | case onRectangleAngled = "photo.on.rectangle.angled" 1078 | } 1079 | 1080 | case pianokeys 1081 | 1082 | case pills 1083 | 1084 | public enum Pills: String, SymbolImage { 1085 | case fill = "pills.fill" 1086 | } 1087 | 1088 | case pip 1089 | 1090 | public enum Pip: String, SymbolImage { 1091 | case fill = "pip.fill" 1092 | case exit = "pip.exit" 1093 | case enter = "pip.enter" 1094 | case swap = "pip.swap" 1095 | case remove = "pip.remove" 1096 | } 1097 | 1098 | public enum Placeholdertext: String, SymbolImage { 1099 | case fill = "placeholdertext.fill" 1100 | } 1101 | 1102 | public enum Play: String, SymbolImage { 1103 | case slash = "play.slash" 1104 | case slashFill = "play.slash.fill" 1105 | } 1106 | 1107 | public enum Plus: String, SymbolImage { 1108 | case rectangleOnFolder = "plus.rectangle.on.folder" 1109 | case rectangleFillOnFolderFill = "plus.rectangle.fill.on.folder.fill" 1110 | case message = "plus.message" 1111 | case messageFill = "plus.message.fill" 1112 | case viewfinder = "plus.viewfinder" 1113 | case rectanglePortrait = "plus.rectangle.portrait" 1114 | case rectanglePortraitFill = "plus.rectangle.portrait.fill" 1115 | case diamond = "plus.diamond" 1116 | case diamondFill = "plus.diamond.fill" 1117 | } 1118 | 1119 | public enum Point: String, SymbolImage { 1120 | case topleftDownCurvedtoPointBottomrightUp = "point.topleft.down.curvedto.point.bottomright.up" 1121 | case fillTopleftDownCurvedtoPointFillBottomrightUp = "point.fill.topleft.down.curvedto.point.fill.bottomright.up" 1122 | } 1123 | 1124 | public enum Printer: String, SymbolImage { 1125 | case fillAndPaperFill = "printer.fill.and.paper.fill" 1126 | case dotmatrix = "printer.dotmatrix" 1127 | case dotmatrixFill = "printer.dotmatrix.fill" 1128 | case dotmatrixFillAndPaperFill = "printer.dotmatrix.fill.and.paper.fill" 1129 | } 1130 | 1131 | case puzzlepiece 1132 | 1133 | public enum Puzzlepiece: String, SymbolImage { 1134 | case fill = "puzzlepiece.fill" 1135 | } 1136 | 1137 | public enum Questionmark: String, SymbolImage { 1138 | case folder = "questionmark.folder" 1139 | case folderFill = "questionmark.folder.fill" 1140 | case squareDashed = "questionmark.square.dashed" 1141 | } 1142 | 1143 | public enum LetterR: String, SymbolImage { 1144 | case squareOnSquare = "r.square.on.square" 1145 | case squareFillOnSquareFill = "r.square.fill.on.square.fill" 1146 | case joystick = "r.joystick" 1147 | case joystickFill = "r.joystick.fill" 1148 | case joystickDown = "r.joystick.down" 1149 | case joystickDownFill = "r.joystick.down.fill" 1150 | case rectangleRoundedbottom = "r.rectangle.roundedbottom" 1151 | case rectangleRoundedbottomFill = "r.rectangle.roundedbottom.fill" 1152 | } 1153 | 1154 | public enum R1: String, SymbolImage { 1155 | case rectangleRoundedbottom = "r1.rectangle.roundedbottom" 1156 | case rectangleRoundedbottomFill = "r1.rectangle.roundedbottom.fill" 1157 | } 1158 | 1159 | public enum R2: String, SymbolImage { 1160 | case rectangleRoundedtop = "r2.rectangle.roundedtop" 1161 | case rectangleRoundedtopFill = "r2.rectangle.roundedtop.fill" 1162 | } 1163 | 1164 | case radio 1165 | 1166 | public enum Radio: String, SymbolImage { 1167 | case fill = "radio.fill" 1168 | } 1169 | 1170 | public enum Rb: String, SymbolImage { 1171 | case rectangleRoundedbottom = "rb.rectangle.roundedbottom" 1172 | case rectangleRoundedbottomFill = "rb.rectangle.roundedbottom.fill" 1173 | } 1174 | 1175 | public enum Record: String, SymbolImage { 1176 | case circle = "record.circle" 1177 | case circleFill = "record.circle.fill" 1178 | } 1179 | 1180 | public enum Rectangle: String, SymbolImage { 1181 | case andPencilAndEllipsis = "rectangle.and.pencil.and.ellipsis" 1182 | case dashedAndPaperclip = "rectangle.dashed.and.paperclip" 1183 | case slash = "rectangle.slash" 1184 | case slashFill = "rectangle.slash.fill" 1185 | case portrait = "rectangle.portrait" 1186 | case portraitFill = "rectangle.portrait.fill" 1187 | case andTextMagnifyingglass = "rectangle.and.text.magnifyingglass" 1188 | case arrowtriangle2Outward = "rectangle.arrowtriangle.2.outward" 1189 | case arrowtriangle2Inward = "rectangle.arrowtriangle.2.inward" 1190 | case portraitArrowtriangle2Outward = "rectangle.portrait.arrowtriangle.2.outward" 1191 | case portraitArrowtriangle2Inward = "rectangle.portrait.arrowtriangle.2.inward" 1192 | case insetFill = "rectangle.inset.fill" 1193 | case lefthalfInsetFill = "rectangle.lefthalf.inset.fill" 1194 | case righthalfInsetFill = "rectangle.righthalf.inset.fill" 1195 | case bottomthirdInsetFill = "rectangle.bottomthird.inset.fill" 1196 | case leftthirdInsetFill = "rectangle.leftthird.inset.fill" 1197 | case rightthirdInsetFill = "rectangle.rightthird.inset.fill" 1198 | case centerInsetFill = "rectangle.center.inset.fill" 1199 | case insetTopleftFill = "rectangle.inset.topleft.fill" 1200 | case insetToprightFill = "rectangle.inset.topright.fill" 1201 | case insetBottomleftFill = "rectangle.inset.bottomleft.fill" 1202 | case insetBottomrightFill = "rectangle.inset.bottomright.fill" 1203 | case lefthalfInsetFillArrowLeft = "rectangle.lefthalf.inset.fill.arrow.left" 1204 | case righthalfInsetFillArrowRight = "rectangle.righthalf.inset.fill.arrow.right" 1205 | case lefthalfFill = "rectangle.lefthalf.fill" 1206 | case righthalfFill = "rectangle.righthalf.fill" 1207 | case dashed = "rectangle.dashed" 1208 | case dashedBadgeRecord = "rectangle.dashed.badge.record" 1209 | case badgePlus = "rectangle.badge.plus" 1210 | case fillBadgePlus = "rectangle.fill.badge.plus" 1211 | case badgeMinus = "rectangle.badge.minus" 1212 | case fillBadgeMinus = "rectangle.fill.badge.minus" 1213 | case split2X1 = "rectangle.split.2x1" 1214 | case split2X1Fill = "rectangle.split.2x1.fill" 1215 | case split1X2 = "rectangle.split.1x2" 1216 | case split1X2Fill = "rectangle.split.1x2.fill" 1217 | case split2X2 = "rectangle.split.2x2" 1218 | case split2X2Fill = "rectangle.split.2x2.fill" 1219 | case fillOnRectangleFillCircle = "rectangle.fill.on.rectangle.fill.circle" 1220 | case fillOnRectangleFillCircleFill = "rectangle.fill.on.rectangle.fill.circle.fill" 1221 | case onRectangleSlash = "rectangle.on.rectangle.slash" 1222 | case fillOnRectangleFillSlashFill = "rectangle.fill.on.rectangle.fill.slash.fill" 1223 | case connectedToLineBelow = "rectangle.connected.to.line.below" 1224 | case roundedtop = "rectangle.roundedtop" 1225 | case roundedtopFill = "rectangle.roundedtop.fill" 1226 | case roundedbottom = "rectangle.roundedbottom" 1227 | case roundedbottomFill = "rectangle.roundedbottom.fill" 1228 | } 1229 | 1230 | public enum Rectangle3: String, SymbolImage { 1231 | case offgridBubbleLeft = "rectangle.3.offgrid.bubble.left" 1232 | case offgridBubbleLeftFill = "rectangle.3.offgrid.bubble.left.fill" 1233 | } 1234 | 1235 | case restart 1236 | 1237 | public enum Restart: String, SymbolImage { 1238 | case circle = "restart.circle" 1239 | } 1240 | 1241 | public enum Rotate: String, SymbolImage { 1242 | case _3d = "rotate.3d" 1243 | } 1244 | 1245 | public enum Rt: String, SymbolImage { 1246 | case rectangleRoundedtop = "rt.rectangle.roundedtop" 1247 | case rectangleRoundedtopFill = "rt.rectangle.roundedtop.fill" 1248 | } 1249 | 1250 | case ruler 1251 | 1252 | public enum Ruler: String, SymbolImage { 1253 | case fill = "ruler.fill" 1254 | } 1255 | 1256 | public enum Scale: String, SymbolImage { 1257 | case _3d = "scale.3d" 1258 | } 1259 | 1260 | case scalemass 1261 | 1262 | public enum Scalemass: String, SymbolImage { 1263 | case fill = "scalemass.fill" 1264 | } 1265 | 1266 | case scanner 1267 | 1268 | public enum Scanner: String, SymbolImage { 1269 | case fill = "scanner.fill" 1270 | } 1271 | 1272 | public enum Scribble: String, SymbolImage { 1273 | case variable = "scribble.variable" 1274 | } 1275 | 1276 | case scroll 1277 | 1278 | public enum Scroll: String, SymbolImage { 1279 | case fill = "scroll.fill" 1280 | } 1281 | 1282 | case sdcard 1283 | 1284 | public enum Sdcard: String, SymbolImage { 1285 | case fill = "sdcard.fill" 1286 | } 1287 | 1288 | case seal 1289 | 1290 | public enum Seal: String, SymbolImage { 1291 | case fill = "seal.fill" 1292 | } 1293 | 1294 | public enum Server: String, SymbolImage { 1295 | case rack = "server.rack" 1296 | } 1297 | 1298 | case shadow 1299 | 1300 | case shippingbox 1301 | 1302 | public enum Shippingbox: String, SymbolImage { 1303 | case fill = "shippingbox.fill" 1304 | } 1305 | 1306 | public enum Signpost: String, SymbolImage { 1307 | case right = "signpost.right" 1308 | case rightFill = "signpost.right.fill" 1309 | } 1310 | 1311 | case simcard 1312 | 1313 | public enum Simcard: String, SymbolImage { 1314 | case fill = "simcard.fill" 1315 | } 1316 | 1317 | case simcard2 = "simcard.2" 1318 | 1319 | public enum Simcard2: String, SymbolImage { 1320 | case fill = "simcard.2.fill" 1321 | } 1322 | 1323 | case sleep 1324 | 1325 | public enum Slider: String, SymbolImage { 1326 | case vertical3 = "slider.vertical.3" 1327 | } 1328 | 1329 | case sparkle 1330 | 1331 | public enum Speaker: String, SymbolImage { 1332 | case slashCircle = "speaker.slash.circle" 1333 | case slashCircleFill = "speaker.slash.circle.fill" 1334 | case wave1 = "speaker.wave.1" 1335 | case wave1Fill = "speaker.wave.1.fill" 1336 | case wave2 = "speaker.wave.2" 1337 | case wave2Fill = "speaker.wave.2.fill" 1338 | case wave2Circle = "speaker.wave.2.circle" 1339 | case wave2CircleFill = "speaker.wave.2.circle.fill" 1340 | case wave3 = "speaker.wave.3" 1341 | case wave3Fill = "speaker.wave.3.fill" 1342 | } 1343 | 1344 | public enum Square: String, SymbolImage { 1345 | case grid3X1FolderBadgePlus = "square.grid.3x1.folder.badge.plus" 1346 | case grid3X1FolderFillBadgePlus = "square.grid.3x1.folder.fill.badge.plus" 1347 | case andAtRectangle = "square.and.at.rectangle" 1348 | case grid3X1BelowLineGrid1X2 = "square.grid.3x1.below.line.grid.1x2" 1349 | case grid3X1FillBelowLineGrid1X2 = "square.grid.3x1.fill.below.line.grid.1x2" 1350 | case grid3X3 = "square.grid.3x3" 1351 | case grid3X3Fill = "square.grid.3x3.fill" 1352 | case grid3X3TopleftFill = "square.grid.3x3.topleft.fill" 1353 | case grid3X3TopmiddleFill = "square.grid.3x3.topmiddle.fill" 1354 | case grid3X3ToprightFill = "square.grid.3x3.topright.fill" 1355 | case grid3X3MiddleleftFill = "square.grid.3x3.middleleft.fill" 1356 | case grid3X3MiddleFill = "square.grid.3x3.middle.fill" 1357 | case grid3X3MiddlerightFill = "square.grid.3x3.middleright.fill" 1358 | case grid3X3BottomleftFill = "square.grid.3x3.bottomleft.fill" 1359 | case grid3X3BottommiddleFill = "square.grid.3x3.bottommiddle.fill" 1360 | case grid3X3BottomrightFill = "square.grid.3x3.bottomright.fill" 1361 | case bottomhalfFill = "square.bottomhalf.fill" 1362 | case tophalfFill = "square.tophalf.fill" 1363 | case slash = "square.slash" 1364 | case slashFill = "square.slash.fill" 1365 | case dashed = "square.dashed" 1366 | case dashedInsetFill = "square.dashed.inset.fill" 1367 | case grid3X3FillSquare = "square.grid.3x3.fill.square" 1368 | case splitBottomrightquarter = "square.split.bottomrightquarter" 1369 | case splitBottomrightquarterFill = "square.split.bottomrightquarter.fill" 1370 | case splitDiagonal2X2 = "square.split.diagonal.2x2" 1371 | case splitDiagonal2X2Fill = "square.split.diagonal.2x2.fill" 1372 | case splitDiagonal = "square.split.diagonal" 1373 | case splitDiagonalFill = "square.split.diagonal.fill" 1374 | case onSquareDashed = "square.on.square.dashed" 1375 | case onSquareSquareshapeControlhandles = "square.on.square.squareshape.controlhandles" 1376 | case stack3DUpBadgeA = "square.stack.3d.up.badge.a" 1377 | case stack3DUpBadgeAFill = "square.stack.3d.up.badge.a.fill" 1378 | case circle = "square.circle" 1379 | case circleFill = "square.circle.fill" 1380 | case fillTextGrid1X2 = "square.fill.text.grid.1x2" 1381 | } 1382 | 1383 | public enum Square2: String, SymbolImage { 1384 | case stack3D = "square.2.stack.3d" 1385 | case stack3DTopFill = "square.2.stack.3d.top.fill" 1386 | case stack3DBottomFill = "square.2.stack.3d.bottom.fill" 1387 | } 1388 | 1389 | public enum Square3: String, SymbolImage { 1390 | case stack3D = "square.3.stack.3d" 1391 | case stack3DTopFill = "square.3.stack.3d.top.fill" 1392 | case stack3DMiddleFill = "square.3.stack.3d.middle.fill" 1393 | case stack3DBottomFill = "square.3.stack.3d.bottom.fill" 1394 | } 1395 | 1396 | case squareshape 1397 | 1398 | public enum Squareshape: String, SymbolImage { 1399 | case fill = "squareshape.fill" 1400 | case dashedSquareshape = "squareshape.dashed.squareshape" 1401 | case squareshapeDashed = "squareshape.squareshape.dashed" 1402 | case controlhandlesOnSquareshapeControlhandles = "squareshape.controlhandles.on.squareshape.controlhandles" 1403 | case split2X2 = "squareshape.split.2x2" 1404 | case split3X3 = "squareshape.split.3x3" 1405 | } 1406 | 1407 | public enum Star: String, SymbolImage { 1408 | case square = "star.square" 1409 | case squareFill = "star.square.fill" 1410 | } 1411 | 1412 | public enum Staroflife: String, SymbolImage { 1413 | case circle = "staroflife.circle" 1414 | case circleFill = "staroflife.circle.fill" 1415 | } 1416 | 1417 | case stethoscope 1418 | 1419 | case swift 1420 | 1421 | case switch2 = "switch.2" 1422 | 1423 | case tablecells 1424 | 1425 | public enum Tablecells: String, SymbolImage { 1426 | case fill = "tablecells.fill" 1427 | case badgeEllipsis = "tablecells.badge.ellipsis" 1428 | case badgeEllipsisFill = "tablecells.badge.ellipsis.fill" 1429 | } 1430 | 1431 | public enum Tag: String, SymbolImage { 1432 | case slash = "tag.slash" 1433 | case slashFill = "tag.slash.fill" 1434 | } 1435 | 1436 | case target 1437 | 1438 | public enum Teletype: String, SymbolImage { 1439 | case circle = "teletype.circle" 1440 | case circleFill = "teletype.circle.fill" 1441 | } 1442 | 1443 | public enum Text: String, SymbolImage { 1444 | case bookClosed = "text.book.closed" 1445 | case bookClosedFill = "text.book.closed.fill" 1446 | case magnifyingglass = "text.magnifyingglass" 1447 | case andCommandMacwindow = "text.and.command.macwindow" 1448 | case redaction = "text.redaction" 1449 | } 1450 | 1451 | public enum Thermometer: String, SymbolImage { 1452 | case sunFill = "thermometer.sun.fill" 1453 | } 1454 | 1455 | case ticket 1456 | 1457 | public enum Ticket: String, SymbolImage { 1458 | case fill = "ticket.fill" 1459 | } 1460 | 1461 | public enum Timeline: String, SymbolImage { 1462 | case selection = "timeline.selection" 1463 | } 1464 | 1465 | public enum Timer: String, SymbolImage { 1466 | case square = "timer.square" 1467 | } 1468 | 1469 | case touchid 1470 | 1471 | case tram 1472 | 1473 | public enum Tram: String, SymbolImage { 1474 | case tunnelFill = "tram.tunnel.fill" 1475 | } 1476 | 1477 | case translate 1478 | 1479 | public enum Tray: String, SymbolImage { 1480 | case circle = "tray.circle" 1481 | case circleFill = "tray.circle.fill" 1482 | } 1483 | 1484 | public enum Triangle: String, SymbolImage { 1485 | case circle = "triangle.circle" 1486 | case circleFill = "triangle.circle.fill" 1487 | } 1488 | 1489 | public enum Tv: String, SymbolImage { 1490 | case andHifispeakerFill = "tv.and.hifispeaker.fill" 1491 | } 1492 | 1493 | public enum Video: String, SymbolImage { 1494 | case fillBadgePlus = "video.fill.badge.plus" 1495 | case badgeCheckmark = "video.badge.checkmark" 1496 | case fillBadgeCheckmark = "video.fill.badge.checkmark" 1497 | } 1498 | 1499 | case wake 1500 | 1501 | public enum Wallet: String, SymbolImage { 1502 | case pass = "wallet.pass" 1503 | case passFill = "wallet.pass.fill" 1504 | } 1505 | 1506 | public enum Wave3: String, SymbolImage { 1507 | case left = "wave.3.left" 1508 | case leftCircle = "wave.3.left.circle" 1509 | case leftCircleFill = "wave.3.left.circle.fill" 1510 | case right = "wave.3.right" 1511 | case rightCircle = "wave.3.right.circle" 1512 | case rightCircleFill = "wave.3.right.circle.fill" 1513 | } 1514 | 1515 | public enum Waveform: String, SymbolImage { 1516 | case pathEcgRectangle = "waveform.path.ecg.rectangle" 1517 | case pathEcgRectangleFill = "waveform.path.ecg.rectangle.fill" 1518 | } 1519 | 1520 | public enum Wrench: String, SymbolImage { 1521 | case andScrewdriver = "wrench.and.screwdriver" 1522 | case andScrewdriverFill = "wrench.and.screwdriver.fill" 1523 | } 1524 | 1525 | public enum Xmark: String, SymbolImage { 1526 | case bin = "xmark.bin" 1527 | case binFill = "xmark.bin.fill" 1528 | case binCircle = "xmark.bin.circle" 1529 | case binCircleFill = "xmark.bin.circle.fill" 1530 | case rectanglePortrait = "xmark.rectangle.portrait" 1531 | case rectanglePortraitFill = "xmark.rectangle.portrait.fill" 1532 | case diamond = "xmark.diamond" 1533 | case diamondFill = "xmark.diamond.fill" 1534 | } 1535 | 1536 | case xserve 1537 | 1538 | public enum Zl: String, SymbolImage { 1539 | case rectangleRoundedtop = "zl.rectangle.roundedtop" 1540 | case rectangleRoundedtopFill = "zl.rectangle.roundedtop.fill" 1541 | } 1542 | 1543 | public enum Zr: String, SymbolImage { 1544 | case rectangleRoundedtop = "zr.rectangle.roundedtop" 1545 | case rectangleRoundedtopFill = "zr.rectangle.roundedtop.fill" 1546 | } 1547 | } 1548 | -------------------------------------------------------------------------------- /Tests/SFSymbolTests/ImageExtensionTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ImageExtensionTests.swift 3 | // SFSymbol 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | @testable import SFSymbol 24 | import SwiftUI 25 | import XCTest 26 | 27 | class ImageExtensionTests: XCTestCase { 28 | func testImagefromSFSymbol() { 29 | let symbol = SFSymbol6.Apple.appleLogo 30 | let imageFromSFSymbol = Image(symbol: symbol) 31 | let imageFromSymbolString = Image(systemName: symbol.rawValue) 32 | 33 | XCTAssert(imageFromSFSymbol == imageFromSymbolString, "Image(symbol:) is broken") 34 | } 35 | } 36 | 37 | extension ImageExtensionTests { 38 | @available(iOS 16.0, tvOS 16.0, watchOS 9.0, macOS 13.0, *) 39 | func testImageVariableValuesConvenienceInit() { 40 | let symbol = SFSymbol6.Apple.appleLogo 41 | let imageFromSFSymbol = Image(symbol: symbol, variableValue: 0.5) 42 | let imageFromSymbolString = Image(systemName: symbol.rawValue) 43 | 44 | XCTAssert(imageFromSFSymbol != imageFromSymbolString, "Image(symbol:) is broken") 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Tests/SFSymbolTests/UIImageExtensionTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIImageExtensionTests.swift 3 | // SFSymbol 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #if canImport(UIKit) 24 | @testable import SFSymbol 25 | import UIKit 26 | import SwiftUI 27 | import XCTest 28 | 29 | @available(iOS 13, *) 30 | class UIImageExtensionTests: XCTestCase { 31 | func testUIImageInitilizer() { 32 | let expected = UIImage(systemName: SFSymbol4.infinity.rawValue) 33 | let result = UIImage(symbol: SFSymbol4.infinity) 34 | 35 | XCTAssertNotNil(expected) 36 | XCTAssertNotNil(result) 37 | XCTAssert(expected == result) 38 | } 39 | } 40 | #endif 41 | --------------------------------------------------------------------------------