diff --git a/assets/ios/swift/CompoundIconTokens.swift b/assets/ios/swift/CompoundIconTokens.swift
deleted file mode 100644
index 139bee1e..00000000
--- a/assets/ios/swift/CompoundIconTokens.swift
+++ /dev/null
@@ -1,115 +0,0 @@
-
-//
-// CompoundIconTokens.swift
-//
-
-import SwiftUI
-
-public class CompoundIconTokens {
- public static let iconWebBrowser = Image("iconWebBrowser", bundle: Bundle.module)
- public static let iconWarning = Image("iconWarning", bundle: Bundle.module)
- public static let iconVolumeOn = Image("iconVolumeOn", bundle: Bundle.module)
- public static let iconVolumeOnSolid = Image("iconVolumeOnSolid", bundle: Bundle.module)
- public static let iconVolumeOff = Image("iconVolumeOff", bundle: Bundle.module)
- public static let iconVolumeOffSolid = Image("iconVolumeOffSolid", bundle: Bundle.module)
- public static let iconVoiceCall = Image("iconVoiceCall", bundle: Bundle.module)
- public static let iconVisibilityOn = Image("iconVisibilityOn", bundle: Bundle.module)
- public static let iconVisibilityOff = Image("iconVisibilityOff", bundle: Bundle.module)
- public static let iconVideoCall = Image("iconVideoCall", bundle: Bundle.module)
- public static let iconVideoCallSolid = Image("iconVideoCallSolid", bundle: Bundle.module)
- public static let iconVideoCallOff = Image("iconVideoCallOff", bundle: Bundle.module)
- public static let iconVideoCallOffSolid = Image("iconVideoCallOffSolid", bundle: Bundle.module)
- public static let iconVideoCallMissedSolid = Image("iconVideoCallMissedSolid", bundle: Bundle.module)
- public static let iconVideoCallDeclinedSolid = Image("iconVideoCallDeclinedSolid", bundle: Bundle.module)
- public static let iconVerified = Image("iconVerified", bundle: Bundle.module)
- public static let iconUserProfile = Image("iconUserProfile", bundle: Bundle.module)
- public static let iconUserProfileSolid = Image("iconUserProfileSolid", bundle: Bundle.module)
- public static let iconUserAdd = Image("iconUserAdd", bundle: Bundle.module)
- public static let iconUserAddSolid = Image("iconUserAddSolid", bundle: Bundle.module)
- public static let iconUnknown = Image("iconUnknown", bundle: Bundle.module)
- public static let iconUnknownSolid = Image("iconUnknownSolid", bundle: Bundle.module)
- public static let iconThreads = Image("iconThreads", bundle: Bundle.module)
- public static let iconThreadsSolid = Image("iconThreadsSolid", bundle: Bundle.module)
- public static let iconSwitchCameraSolid = Image("iconSwitchCameraSolid", bundle: Bundle.module)
- public static let iconSpotlight = Image("iconSpotlight", bundle: Bundle.module)
- public static let iconShare = Image("iconShare", bundle: Bundle.module)
- public static let iconShareScreenSolid = Image("iconShareScreenSolid", bundle: Bundle.module)
- public static let iconShareScreenOutline = Image("iconShareScreenOutline", bundle: Bundle.module)
- public static let iconShareAndroid = Image("iconShareAndroid", bundle: Bundle.module)
- public static let iconSettings = Image("iconSettings", bundle: Bundle.module)
- public static let iconSettingsSolid = Image("iconSettingsSolid", bundle: Bundle.module)
- public static let iconSend = Image("iconSend", bundle: Bundle.module)
- public static let iconSendSolid = Image("iconSendSolid", bundle: Bundle.module)
- public static let iconSearch = Image("iconSearch", bundle: Bundle.module)
- public static let iconRoomAdmin = Image("iconRoomAdmin", bundle: Bundle.module)
- public static let iconPublic = Image("iconPublic", bundle: Bundle.module)
- public static let iconPopOut = Image("iconPopOut", bundle: Bundle.module)
- public static let iconPolls = Image("iconPolls", bundle: Bundle.module)
- public static let iconPollsEnd = Image("iconPollsEnd", bundle: Bundle.module)
- public static let iconPlus = Image("iconPlus", bundle: Bundle.module)
- public static let iconPinOn = Image("iconPinOn", bundle: Bundle.module)
- public static let iconPinOff = Image("iconPinOff", bundle: Bundle.module)
- public static let iconOverflowVertical = Image("iconOverflowVertical", bundle: Bundle.module)
- public static let iconOverflowHorizontal = Image("iconOverflowHorizontal", bundle: Bundle.module)
- public static let iconOffline = Image("iconOffline", bundle: Bundle.module)
- public static let iconNotifications = Image("iconNotifications", bundle: Bundle.module)
- public static let iconNotificationsSolid = Image("iconNotificationsSolid", bundle: Bundle.module)
- public static let iconNotificationsSolidOff = Image("iconNotificationsSolidOff", bundle: Bundle.module)
- public static let iconNotificationsOff = Image("iconNotificationsOff", bundle: Bundle.module)
- public static let iconMobile = Image("iconMobile", bundle: Bundle.module)
- public static let iconMicOnSolid = Image("iconMicOnSolid", bundle: Bundle.module)
- public static let iconMicOnOutline = Image("iconMicOnOutline", bundle: Bundle.module)
- public static let iconMicOffSolid = Image("iconMicOffSolid", bundle: Bundle.module)
- public static let iconMicOffOutline = Image("iconMicOffOutline", bundle: Bundle.module)
- public static let iconMenu = Image("iconMenu", bundle: Bundle.module)
- public static let iconMention = Image("iconMention", bundle: Bundle.module)
- public static let iconMarkerReadReceipts = Image("iconMarkerReadReceipts", bundle: Bundle.module)
- public static let iconLock = Image("iconLock", bundle: Bundle.module)
- public static let iconLockOff = Image("iconLockOff", bundle: Bundle.module)
- public static let iconLink = Image("iconLink", bundle: Bundle.module)
- public static let iconLeave = Image("iconLeave", bundle: Bundle.module)
- public static let iconInfo = Image("iconInfo", bundle: Bundle.module)
- public static let iconInfoSolid = Image("iconInfoSolid", bundle: Bundle.module)
- public static let iconImage = Image("iconImage", bundle: Bundle.module)
- public static let iconHost = Image("iconHost", bundle: Bundle.module)
- public static let iconHelp = Image("iconHelp", bundle: Bundle.module)
- public static let iconHelpSolid = Image("iconHelpSolid", bundle: Bundle.module)
- public static let iconGrid = Image("iconGrid", bundle: Bundle.module)
- public static let iconFilter = Image("iconFilter", bundle: Bundle.module)
- public static let iconFiles = Image("iconFiles", bundle: Bundle.module)
- public static let iconFavouriteOn = Image("iconFavouriteOn", bundle: Bundle.module)
- public static let iconFavouriteOff = Image("iconFavouriteOff", bundle: Bundle.module)
- public static let iconExtensions = Image("iconExtensions", bundle: Bundle.module)
- public static let iconExportArchive = Image("iconExportArchive", bundle: Bundle.module)
- public static let iconExpand = Image("iconExpand", bundle: Bundle.module)
- public static let iconError = Image("iconError", bundle: Bundle.module)
- public static let iconEndCall = Image("iconEndCall", bundle: Bundle.module)
- public static let iconEmail = Image("iconEmail", bundle: Bundle.module)
- public static let iconEmailSolid = Image("iconEmailSolid", bundle: Bundle.module)
- public static let iconEdit = Image("iconEdit", bundle: Bundle.module)
- public static let iconDragList = Image("iconDragList", bundle: Bundle.module)
- public static let iconDragGrid = Image("iconDragGrid", bundle: Bundle.module)
- public static let iconDownload = Image("iconDownload", bundle: Bundle.module)
- public static let iconDelete = Image("iconDelete", bundle: Bundle.module)
- public static let iconDarkMode = Image("iconDarkMode", bundle: Bundle.module)
- public static let iconComputer = Image("iconComputer", bundle: Bundle.module)
- public static let iconCompany = Image("iconCompany", bundle: Bundle.module)
- public static let iconCollapse = Image("iconCollapse", bundle: Bundle.module)
- public static let iconClose = Image("iconClose", bundle: Bundle.module)
- public static let iconChevronUp = Image("iconChevronUp", bundle: Bundle.module)
- public static let iconChevronUpDown = Image("iconChevronUpDown", bundle: Bundle.module)
- public static let iconChevronRight = Image("iconChevronRight", bundle: Bundle.module)
- public static let iconChevronLeft = Image("iconChevronLeft", bundle: Bundle.module)
- public static let iconChevronDown = Image("iconChevronDown", bundle: Bundle.module)
- public static let iconCheck = Image("iconCheck", bundle: Bundle.module)
- public static let iconCheckCircle = Image("iconCheckCircle", bundle: Bundle.module)
- public static let iconCheckCircleSolid = Image("iconCheckCircleSolid", bundle: Bundle.module)
- public static let iconChat = Image("iconChat", bundle: Bundle.module)
- public static let iconChatSolid = Image("iconChatSolid", bundle: Bundle.module)
- public static let iconChatProblem = Image("iconChatProblem", bundle: Bundle.module)
- public static let iconChatNew = Image("iconChatNew", bundle: Bundle.module)
- public static let iconBlock = Image("iconBlock", bundle: Bundle.module)
- public static let iconArrowUpRight = Image("iconArrowUpRight", bundle: Bundle.module)
- public static let iconArrowRight = Image("iconArrowRight", bundle: Bundle.module)
- public static let iconArrowLeft = Image("iconArrowLeft", bundle: Bundle.module)
-}
diff --git a/assets/ios/swift/CompoundIcons.swift b/assets/ios/swift/CompoundIcons.swift
new file mode 100644
index 00000000..5ab36ab2
--- /dev/null
+++ b/assets/ios/swift/CompoundIcons.swift
@@ -0,0 +1,116 @@
+
+//
+// CompoundIcons.swift
+//
+
+import SwiftUI
+
+public class CompoundIcons {
+ public let webBrowser = Image("webBrowser", bundle: Bundle.module)
+ public let warning = Image("warning", bundle: Bundle.module)
+ public let volumeOn = Image("volumeOn", bundle: Bundle.module)
+ public let volumeOnSolid = Image("volumeOnSolid", bundle: Bundle.module)
+ public let volumeOff = Image("volumeOff", bundle: Bundle.module)
+ public let volumeOffSolid = Image("volumeOffSolid", bundle: Bundle.module)
+ public let voiceCall = Image("voiceCall", bundle: Bundle.module)
+ public let visibilityOn = Image("visibilityOn", bundle: Bundle.module)
+ public let visibilityOff = Image("visibilityOff", bundle: Bundle.module)
+ public let videoCall = Image("videoCall", bundle: Bundle.module)
+ public let videoCallSolid = Image("videoCallSolid", bundle: Bundle.module)
+ public let videoCallOff = Image("videoCallOff", bundle: Bundle.module)
+ public let videoCallOffSolid = Image("videoCallOffSolid", bundle: Bundle.module)
+ public let videoCallMissedSolid = Image("videoCallMissedSolid", bundle: Bundle.module)
+ public let videoCallDeclinedSolid = Image("videoCallDeclinedSolid", bundle: Bundle.module)
+ public let verified = Image("verified", bundle: Bundle.module)
+ public let userProfile = Image("userProfile", bundle: Bundle.module)
+ public let userProfileSolid = Image("userProfileSolid", bundle: Bundle.module)
+ public let userAdd = Image("userAdd", bundle: Bundle.module)
+ public let userAddSolid = Image("userAddSolid", bundle: Bundle.module)
+ public let unknown = Image("unknown", bundle: Bundle.module)
+ public let unknownSolid = Image("unknownSolid", bundle: Bundle.module)
+ public let threads = Image("threads", bundle: Bundle.module)
+ public let threadsSolid = Image("threadsSolid", bundle: Bundle.module)
+ public let switchCameraSolid = Image("switchCameraSolid", bundle: Bundle.module)
+ public let spotlight = Image("spotlight", bundle: Bundle.module)
+ public let share = Image("share", bundle: Bundle.module)
+ public let shareScreenSolid = Image("shareScreenSolid", bundle: Bundle.module)
+ public let shareScreenOutline = Image("shareScreenOutline", bundle: Bundle.module)
+ public let shareAndroid = Image("shareAndroid", bundle: Bundle.module)
+ public let settings = Image("settings", bundle: Bundle.module)
+ public let settingsSolid = Image("settingsSolid", bundle: Bundle.module)
+ public let send = Image("send", bundle: Bundle.module)
+ public let sendSolid = Image("sendSolid", bundle: Bundle.module)
+ public let search = Image("search", bundle: Bundle.module)
+ public let roomAdmin = Image("roomAdmin", bundle: Bundle.module)
+ public let `public` = Image("public", bundle: Bundle.module)
+ public let popOut = Image("popOut", bundle: Bundle.module)
+ public let polls = Image("polls", bundle: Bundle.module)
+ public let pollsEnd = Image("pollsEnd", bundle: Bundle.module)
+ public let plus = Image("plus", bundle: Bundle.module)
+ public let pinOn = Image("pinOn", bundle: Bundle.module)
+ public let pinOff = Image("pinOff", bundle: Bundle.module)
+ public let overflowVertical = Image("overflowVertical", bundle: Bundle.module)
+ public let overflowHorizontal = Image("overflowHorizontal", bundle: Bundle.module)
+ public let offline = Image("offline", bundle: Bundle.module)
+ public let notifications = Image("notifications", bundle: Bundle.module)
+ public let notificationsSolid = Image("notificationsSolid", bundle: Bundle.module)
+ public let notificationsSolidOff = Image("notificationsSolidOff", bundle: Bundle.module)
+ public let notificationsOff = Image("notificationsOff", bundle: Bundle.module)
+ public let mobile = Image("mobile", bundle: Bundle.module)
+ public let micOnSolid = Image("micOnSolid", bundle: Bundle.module)
+ public let micOnOutline = Image("micOnOutline", bundle: Bundle.module)
+ public let micOffSolid = Image("micOffSolid", bundle: Bundle.module)
+ public let micOffOutline = Image("micOffOutline", bundle: Bundle.module)
+ public let menu = Image("menu", bundle: Bundle.module)
+ public let mention = Image("mention", bundle: Bundle.module)
+ public let markerReadReceipts = Image("markerReadReceipts", bundle: Bundle.module)
+ public let lock = Image("lock", bundle: Bundle.module)
+ public let lockOff = Image("lockOff", bundle: Bundle.module)
+ public let link = Image("link", bundle: Bundle.module)
+ public let leave = Image("leave", bundle: Bundle.module)
+ public let info = Image("info", bundle: Bundle.module)
+ public let infoSolid = Image("infoSolid", bundle: Bundle.module)
+ public let image = Image("image", bundle: Bundle.module)
+ public let host = Image("host", bundle: Bundle.module)
+ public let help = Image("help", bundle: Bundle.module)
+ public let helpSolid = Image("helpSolid", bundle: Bundle.module)
+ public let grid = Image("grid", bundle: Bundle.module)
+ public let filter = Image("filter", bundle: Bundle.module)
+ public let files = Image("files", bundle: Bundle.module)
+ public let favouriteOn = Image("favouriteOn", bundle: Bundle.module)
+ public let favouriteOff = Image("favouriteOff", bundle: Bundle.module)
+ public let extensions = Image("extensions", bundle: Bundle.module)
+ public let exportArchive = Image("exportArchive", bundle: Bundle.module)
+ public let expand = Image("expand", bundle: Bundle.module)
+ public let error = Image("error", bundle: Bundle.module)
+ public let endCall = Image("endCall", bundle: Bundle.module)
+ public let email = Image("email", bundle: Bundle.module)
+ public let emailSolid = Image("emailSolid", bundle: Bundle.module)
+ public let edit = Image("edit", bundle: Bundle.module)
+ public let dragList = Image("dragList", bundle: Bundle.module)
+ public let dragGrid = Image("dragGrid", bundle: Bundle.module)
+ public let download = Image("download", bundle: Bundle.module)
+ public let delete = Image("delete", bundle: Bundle.module)
+ public let darkMode = Image("darkMode", bundle: Bundle.module)
+ public let computer = Image("computer", bundle: Bundle.module)
+ public let company = Image("company", bundle: Bundle.module)
+ public let collapse = Image("collapse", bundle: Bundle.module)
+ public let close = Image("close", bundle: Bundle.module)
+ public let chevronUp = Image("chevronUp", bundle: Bundle.module)
+ public let chevronUpDown = Image("chevronUpDown", bundle: Bundle.module)
+ public let chevronRight = Image("chevronRight", bundle: Bundle.module)
+ public let chevronLeft = Image("chevronLeft", bundle: Bundle.module)
+ public let chevronDown = Image("chevronDown", bundle: Bundle.module)
+ public let check = Image("check", bundle: Bundle.module)
+ public let checkCircle = Image("checkCircle", bundle: Bundle.module)
+ public let checkCircleSolid = Image("checkCircleSolid", bundle: Bundle.module)
+ public let chat = Image("chat", bundle: Bundle.module)
+ public let chatSolid = Image("chatSolid", bundle: Bundle.module)
+ public let chatProblem = Image("chatProblem", bundle: Bundle.module)
+ public let chatNew = Image("chatNew", bundle: Bundle.module)
+ public let block = Image("block", bundle: Bundle.module)
+ public let arrowUpRight = Image("arrowUpRight", bundle: Bundle.module)
+ public let arrowRight = Image("arrowRight", bundle: Bundle.module)
+ public let arrowLeft = Image("arrowLeft", bundle: Bundle.module)
+ public init() { }
+}
diff --git a/assets/ios/swift/Icons.xcassets/iconBlock.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/arrowLeft.imageset/Contents.json
similarity index 66%
rename from assets/ios/swift/Icons.xcassets/iconBlock.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/arrowLeft.imageset/Contents.json
index a9181213..3ec681e0 100644
--- a/assets/ios/swift/Icons.xcassets/iconBlock.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/arrowLeft.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconBlock.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"arrowLeft.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconArrowLeft.imageset/iconArrowLeft.svg b/assets/ios/swift/Icons.xcassets/arrowLeft.imageset/arrowLeft.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconArrowLeft.imageset/iconArrowLeft.svg
rename to assets/ios/swift/Icons.xcassets/arrowLeft.imageset/arrowLeft.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconDelete.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/arrowRight.imageset/Contents.json
similarity index 66%
rename from assets/ios/swift/Icons.xcassets/iconDelete.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/arrowRight.imageset/Contents.json
index f399e125..a0c03ae2 100644
--- a/assets/ios/swift/Icons.xcassets/iconDelete.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/arrowRight.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconDelete.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"arrowRight.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconArrowRight.imageset/iconArrowRight.svg b/assets/ios/swift/Icons.xcassets/arrowRight.imageset/arrowRight.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconArrowRight.imageset/iconArrowRight.svg
rename to assets/ios/swift/Icons.xcassets/arrowRight.imageset/arrowRight.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconCollapse.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/arrowUpRight.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconCollapse.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/arrowUpRight.imageset/Contents.json
index 51c269af..17124b4d 100644
--- a/assets/ios/swift/Icons.xcassets/iconCollapse.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/arrowUpRight.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconCollapse.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"arrowUpRight.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconArrowUpRight.imageset/iconArrowUpRight.svg b/assets/ios/swift/Icons.xcassets/arrowUpRight.imageset/arrowUpRight.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconArrowUpRight.imageset/iconArrowUpRight.svg
rename to assets/ios/swift/Icons.xcassets/arrowUpRight.imageset/arrowUpRight.svg
diff --git a/assets/ios/swift/Icons.xcassets/block.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/block.imageset/Contents.json
new file mode 100644
index 00000000..55fe71cc
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/block.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"block.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconBlock.imageset/iconBlock.svg b/assets/ios/swift/Icons.xcassets/block.imageset/block.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconBlock.imageset/iconBlock.svg
rename to assets/ios/swift/Icons.xcassets/block.imageset/block.svg
diff --git a/assets/ios/swift/Icons.xcassets/chat.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/chat.imageset/Contents.json
new file mode 100644
index 00000000..571f8b83
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/chat.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"chat.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconChat.imageset/iconChat.svg b/assets/ios/swift/Icons.xcassets/chat.imageset/chat.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconChat.imageset/iconChat.svg
rename to assets/ios/swift/Icons.xcassets/chat.imageset/chat.svg
diff --git a/assets/ios/swift/Icons.xcassets/chatNew.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/chatNew.imageset/Contents.json
new file mode 100644
index 00000000..01649aa2
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/chatNew.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"chatNew.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconChatNew.imageset/iconChatNew.svg b/assets/ios/swift/Icons.xcassets/chatNew.imageset/chatNew.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconChatNew.imageset/iconChatNew.svg
rename to assets/ios/swift/Icons.xcassets/chatNew.imageset/chatNew.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconChatNew.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/chatProblem.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconChatNew.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/chatProblem.imageset/Contents.json
index 63839467..b3299a10 100644
--- a/assets/ios/swift/Icons.xcassets/iconChatNew.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/chatProblem.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconChatNew.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"chatProblem.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconChatProblem.imageset/iconChatProblem.svg b/assets/ios/swift/Icons.xcassets/chatProblem.imageset/chatProblem.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconChatProblem.imageset/iconChatProblem.svg
rename to assets/ios/swift/Icons.xcassets/chatProblem.imageset/chatProblem.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconCheck.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/chatSolid.imageset/Contents.json
similarity index 66%
rename from assets/ios/swift/Icons.xcassets/iconCheck.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/chatSolid.imageset/Contents.json
index 80a4fd8e..e17fc5bb 100644
--- a/assets/ios/swift/Icons.xcassets/iconCheck.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/chatSolid.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconCheck.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"chatSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconChatSolid.imageset/iconChatSolid.svg b/assets/ios/swift/Icons.xcassets/chatSolid.imageset/chatSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconChatSolid.imageset/iconChatSolid.svg
rename to assets/ios/swift/Icons.xcassets/chatSolid.imageset/chatSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/check.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/check.imageset/Contents.json
new file mode 100644
index 00000000..b131b384
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/check.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"check.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconCheck.imageset/iconCheck.svg b/assets/ios/swift/Icons.xcassets/check.imageset/check.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconCheck.imageset/iconCheck.svg
rename to assets/ios/swift/Icons.xcassets/check.imageset/check.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconChevron.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/checkCircle.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconChevron.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/checkCircle.imageset/Contents.json
index 402eb95d..58ace39f 100644
--- a/assets/ios/swift/Icons.xcassets/iconChevron.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/checkCircle.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconChevron.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"checkCircle.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconCheckCircle.imageset/iconCheckCircle.svg b/assets/ios/swift/Icons.xcassets/checkCircle.imageset/checkCircle.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconCheckCircle.imageset/iconCheckCircle.svg
rename to assets/ios/swift/Icons.xcassets/checkCircle.imageset/checkCircle.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconChevronRight.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/checkCircleSolid.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconChevronRight.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/checkCircleSolid.imageset/Contents.json
index acc574d5..82c832e6 100644
--- a/assets/ios/swift/Icons.xcassets/iconChevronRight.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/checkCircleSolid.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconChevronRight.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"checkCircleSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconCheckCircleSolid.imageset/iconCheckCircleSolid.svg b/assets/ios/swift/Icons.xcassets/checkCircleSolid.imageset/checkCircleSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconCheckCircleSolid.imageset/iconCheckCircleSolid.svg
rename to assets/ios/swift/Icons.xcassets/checkCircleSolid.imageset/checkCircleSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconCompany.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/chevronDown.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconCompany.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/chevronDown.imageset/Contents.json
index d7e75689..d6aaed6c 100644
--- a/assets/ios/swift/Icons.xcassets/iconCompany.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/chevronDown.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconCompany.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"chevronDown.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconChevronDown.imageset/iconChevronDown.svg b/assets/ios/swift/Icons.xcassets/chevronDown.imageset/chevronDown.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconChevronDown.imageset/iconChevronDown.svg
rename to assets/ios/swift/Icons.xcassets/chevronDown.imageset/chevronDown.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconEndCall.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/chevronLeft.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconEndCall.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/chevronLeft.imageset/Contents.json
index 2df663b0..d3131e77 100644
--- a/assets/ios/swift/Icons.xcassets/iconEndCall.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/chevronLeft.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconEndCall.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"chevronLeft.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconChevronLeft.imageset/iconChevronLeft.svg b/assets/ios/swift/Icons.xcassets/chevronLeft.imageset/chevronLeft.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconChevronLeft.imageset/iconChevronLeft.svg
rename to assets/ios/swift/Icons.xcassets/chevronLeft.imageset/chevronLeft.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconComputer.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/chevronRight.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconComputer.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/chevronRight.imageset/Contents.json
index 7807cc38..2b981066 100644
--- a/assets/ios/swift/Icons.xcassets/iconComputer.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/chevronRight.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconComputer.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"chevronRight.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconChevronRight.imageset/iconChevronRight.svg b/assets/ios/swift/Icons.xcassets/chevronRight.imageset/chevronRight.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconChevronRight.imageset/iconChevronRight.svg
rename to assets/ios/swift/Icons.xcassets/chevronRight.imageset/chevronRight.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconClose.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/chevronUp.imageset/Contents.json
similarity index 66%
rename from assets/ios/swift/Icons.xcassets/iconClose.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/chevronUp.imageset/Contents.json
index 7c5fef51..b606006e 100644
--- a/assets/ios/swift/Icons.xcassets/iconClose.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/chevronUp.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconClose.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"chevronUp.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconChevronUp.imageset/iconChevronUp.svg b/assets/ios/swift/Icons.xcassets/chevronUp.imageset/chevronUp.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconChevronUp.imageset/iconChevronUp.svg
rename to assets/ios/swift/Icons.xcassets/chevronUp.imageset/chevronUp.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconChatSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/chevronUpDown.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconChatSolid.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/chevronUpDown.imageset/Contents.json
index 69ab8f63..fdd58c6b 100644
--- a/assets/ios/swift/Icons.xcassets/iconChatSolid.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/chevronUpDown.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconChatSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"chevronUpDown.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconChevronUpDown.imageset/iconChevronUpDown.svg b/assets/ios/swift/Icons.xcassets/chevronUpDown.imageset/chevronUpDown.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconChevronUpDown.imageset/iconChevronUpDown.svg
rename to assets/ios/swift/Icons.xcassets/chevronUpDown.imageset/chevronUpDown.svg
diff --git a/assets/ios/swift/Icons.xcassets/close.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/close.imageset/Contents.json
new file mode 100644
index 00000000..f3dc6241
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/close.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"close.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconClose.imageset/iconClose.svg b/assets/ios/swift/Icons.xcassets/close.imageset/close.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconClose.imageset/iconClose.svg
rename to assets/ios/swift/Icons.xcassets/close.imageset/close.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconChat.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/collapse.imageset/Contents.json
similarity index 66%
rename from assets/ios/swift/Icons.xcassets/iconChat.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/collapse.imageset/Contents.json
index bd55640a..454207b4 100644
--- a/assets/ios/swift/Icons.xcassets/iconChat.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/collapse.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconChat.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"collapse.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconCollapse.imageset/iconCollapse.svg b/assets/ios/swift/Icons.xcassets/collapse.imageset/collapse.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconCollapse.imageset/iconCollapse.svg
rename to assets/ios/swift/Icons.xcassets/collapse.imageset/collapse.svg
diff --git a/assets/ios/swift/Icons.xcassets/company.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/company.imageset/Contents.json
new file mode 100644
index 00000000..bf1f29f7
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/company.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"company.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconCompany.imageset/iconCompany.svg b/assets/ios/swift/Icons.xcassets/company.imageset/company.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconCompany.imageset/iconCompany.svg
rename to assets/ios/swift/Icons.xcassets/company.imageset/company.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconEdit.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/computer.imageset/Contents.json
similarity index 66%
rename from assets/ios/swift/Icons.xcassets/iconEdit.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/computer.imageset/Contents.json
index 4414a917..f1572728 100644
--- a/assets/ios/swift/Icons.xcassets/iconEdit.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/computer.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconEdit.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"computer.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconComputer.imageset/iconComputer.svg b/assets/ios/swift/Icons.xcassets/computer.imageset/computer.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconComputer.imageset/iconComputer.svg
rename to assets/ios/swift/Icons.xcassets/computer.imageset/computer.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconGrid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/darkMode.imageset/Contents.json
similarity index 66%
rename from assets/ios/swift/Icons.xcassets/iconGrid.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/darkMode.imageset/Contents.json
index 3ad7df58..fdbec3d6 100644
--- a/assets/ios/swift/Icons.xcassets/iconGrid.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/darkMode.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconGrid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"darkMode.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconDarkMode.imageset/iconDarkMode.svg b/assets/ios/swift/Icons.xcassets/darkMode.imageset/darkMode.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconDarkMode.imageset/iconDarkMode.svg
rename to assets/ios/swift/Icons.xcassets/darkMode.imageset/darkMode.svg
diff --git a/assets/ios/swift/Icons.xcassets/delete.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/delete.imageset/Contents.json
new file mode 100644
index 00000000..15f8c13e
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/delete.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"delete.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconDelete.imageset/iconDelete.svg b/assets/ios/swift/Icons.xcassets/delete.imageset/delete.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconDelete.imageset/iconDelete.svg
rename to assets/ios/swift/Icons.xcassets/delete.imageset/delete.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconHelp.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/download.imageset/Contents.json
similarity index 66%
rename from assets/ios/swift/Icons.xcassets/iconHelp.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/download.imageset/Contents.json
index 2888594b..5e2548b8 100644
--- a/assets/ios/swift/Icons.xcassets/iconHelp.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/download.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconHelp.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"download.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconDownload.imageset/iconDownload.svg b/assets/ios/swift/Icons.xcassets/download.imageset/download.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconDownload.imageset/iconDownload.svg
rename to assets/ios/swift/Icons.xcassets/download.imageset/download.svg
diff --git a/assets/ios/swift/Icons.xcassets/dragGrid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/dragGrid.imageset/Contents.json
new file mode 100644
index 00000000..f954babe
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/dragGrid.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"dragGrid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconDragGrid.imageset/iconDragGrid.svg b/assets/ios/swift/Icons.xcassets/dragGrid.imageset/dragGrid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconDragGrid.imageset/iconDragGrid.svg
rename to assets/ios/swift/Icons.xcassets/dragGrid.imageset/dragGrid.svg
diff --git a/assets/ios/swift/Icons.xcassets/dragList.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/dragList.imageset/Contents.json
new file mode 100644
index 00000000..5923c15b
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/dragList.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"dragList.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconDragList.imageset/iconDragList.svg b/assets/ios/swift/Icons.xcassets/dragList.imageset/dragList.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconDragList.imageset/iconDragList.svg
rename to assets/ios/swift/Icons.xcassets/dragList.imageset/dragList.svg
diff --git a/assets/ios/swift/Icons.xcassets/edit.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/edit.imageset/Contents.json
new file mode 100644
index 00000000..7059f744
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/edit.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"edit.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconEdit.imageset/iconEdit.svg b/assets/ios/swift/Icons.xcassets/edit.imageset/edit.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconEdit.imageset/iconEdit.svg
rename to assets/ios/swift/Icons.xcassets/edit.imageset/edit.svg
diff --git a/assets/ios/swift/Icons.xcassets/email.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/email.imageset/Contents.json
new file mode 100644
index 00000000..a24c9260
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/email.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"email.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconEmail.imageset/iconEmail.svg b/assets/ios/swift/Icons.xcassets/email.imageset/email.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconEmail.imageset/iconEmail.svg
rename to assets/ios/swift/Icons.xcassets/email.imageset/email.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconExpand.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/emailSolid.imageset/Contents.json
similarity index 66%
rename from assets/ios/swift/Icons.xcassets/iconExpand.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/emailSolid.imageset/Contents.json
index 5c0e7a42..cab2a014 100644
--- a/assets/ios/swift/Icons.xcassets/iconExpand.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/emailSolid.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconExpand.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"emailSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconEmailSolid.imageset/iconEmailSolid.svg b/assets/ios/swift/Icons.xcassets/emailSolid.imageset/emailSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconEmailSolid.imageset/iconEmailSolid.svg
rename to assets/ios/swift/Icons.xcassets/emailSolid.imageset/emailSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/endCall.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/endCall.imageset/Contents.json
new file mode 100644
index 00000000..d34786c4
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/endCall.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"endCall.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconEndCall.imageset/iconEndCall.svg b/assets/ios/swift/Icons.xcassets/endCall.imageset/endCall.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconEndCall.imageset/iconEndCall.svg
rename to assets/ios/swift/Icons.xcassets/endCall.imageset/endCall.svg
diff --git a/assets/ios/swift/Icons.xcassets/error.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/error.imageset/Contents.json
new file mode 100644
index 00000000..b1964d10
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/error.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"error.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconError.imageset/iconError.svg b/assets/ios/swift/Icons.xcassets/error.imageset/error.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconError.imageset/iconError.svg
rename to assets/ios/swift/Icons.xcassets/error.imageset/error.svg
diff --git a/assets/ios/swift/Icons.xcassets/expand.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/expand.imageset/Contents.json
new file mode 100644
index 00000000..1c502adc
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/expand.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"expand.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconExpand.imageset/iconExpand.svg b/assets/ios/swift/Icons.xcassets/expand.imageset/expand.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconExpand.imageset/iconExpand.svg
rename to assets/ios/swift/Icons.xcassets/expand.imageset/expand.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconArrowLeft.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/exportArchive.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconArrowLeft.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/exportArchive.imageset/Contents.json
index 30846db4..7dbadf58 100644
--- a/assets/ios/swift/Icons.xcassets/iconArrowLeft.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/exportArchive.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconArrowLeft.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"exportArchive.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconExportArchive.imageset/iconExportArchive.svg b/assets/ios/swift/Icons.xcassets/exportArchive.imageset/exportArchive.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconExportArchive.imageset/iconExportArchive.svg
rename to assets/ios/swift/Icons.xcassets/exportArchive.imageset/exportArchive.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconFilter.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/extensions.imageset/Contents.json
similarity index 66%
rename from assets/ios/swift/Icons.xcassets/iconFilter.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/extensions.imageset/Contents.json
index cfb7cf2f..8fd57564 100644
--- a/assets/ios/swift/Icons.xcassets/iconFilter.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/extensions.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconFilter.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"extensions.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconExtensions.imageset/iconExtensions.svg b/assets/ios/swift/Icons.xcassets/extensions.imageset/extensions.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconExtensions.imageset/iconExtensions.svg
rename to assets/ios/swift/Icons.xcassets/extensions.imageset/extensions.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconDarkMode.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/favouriteOff.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconDarkMode.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/favouriteOff.imageset/Contents.json
index f855ba95..4f1b2fab 100644
--- a/assets/ios/swift/Icons.xcassets/iconDarkMode.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/favouriteOff.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconDarkMode.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"favouriteOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconFavouriteOff.imageset/iconFavouriteOff.svg b/assets/ios/swift/Icons.xcassets/favouriteOff.imageset/favouriteOff.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconFavouriteOff.imageset/iconFavouriteOff.svg
rename to assets/ios/swift/Icons.xcassets/favouriteOff.imageset/favouriteOff.svg
diff --git a/assets/ios/swift/Icons.xcassets/favouriteOn.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/favouriteOn.imageset/Contents.json
new file mode 100644
index 00000000..1f34c632
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/favouriteOn.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"favouriteOn.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconFavouriteOn.imageset/iconFavouriteOn.svg b/assets/ios/swift/Icons.xcassets/favouriteOn.imageset/favouriteOn.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconFavouriteOn.imageset/iconFavouriteOn.svg
rename to assets/ios/swift/Icons.xcassets/favouriteOn.imageset/favouriteOn.svg
diff --git a/assets/ios/swift/Icons.xcassets/files.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/files.imageset/Contents.json
new file mode 100644
index 00000000..5631a5ae
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/files.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"files.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconFiles.imageset/iconFiles.svg b/assets/ios/swift/Icons.xcassets/files.imageset/files.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconFiles.imageset/iconFiles.svg
rename to assets/ios/swift/Icons.xcassets/files.imageset/files.svg
diff --git a/assets/ios/swift/Icons.xcassets/filter.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/filter.imageset/Contents.json
new file mode 100644
index 00000000..5f7ced56
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/filter.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"filter.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconFilter.imageset/iconFilter.svg b/assets/ios/swift/Icons.xcassets/filter.imageset/filter.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconFilter.imageset/iconFilter.svg
rename to assets/ios/swift/Icons.xcassets/filter.imageset/filter.svg
diff --git a/assets/ios/swift/Icons.xcassets/grid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/grid.imageset/Contents.json
new file mode 100644
index 00000000..a2de2948
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/grid.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"grid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconGrid.imageset/iconGrid.svg b/assets/ios/swift/Icons.xcassets/grid.imageset/grid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconGrid.imageset/iconGrid.svg
rename to assets/ios/swift/Icons.xcassets/grid.imageset/grid.svg
diff --git a/assets/ios/swift/Icons.xcassets/help.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/help.imageset/Contents.json
new file mode 100644
index 00000000..167e3669
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/help.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"help.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconHelp.imageset/iconHelp.svg b/assets/ios/swift/Icons.xcassets/help.imageset/help.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconHelp.imageset/iconHelp.svg
rename to assets/ios/swift/Icons.xcassets/help.imageset/help.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconEmail.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/helpSolid.imageset/Contents.json
similarity index 66%
rename from assets/ios/swift/Icons.xcassets/iconEmail.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/helpSolid.imageset/Contents.json
index d2482b28..71a23008 100644
--- a/assets/ios/swift/Icons.xcassets/iconEmail.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/helpSolid.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconEmail.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"helpSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconHelpSolid.imageset/iconHelpSolid.svg b/assets/ios/swift/Icons.xcassets/helpSolid.imageset/helpSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconHelpSolid.imageset/iconHelpSolid.svg
rename to assets/ios/swift/Icons.xcassets/helpSolid.imageset/helpSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/host.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/host.imageset/Contents.json
new file mode 100644
index 00000000..bacce7cb
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/host.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"host.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconHost.imageset/iconHost.svg b/assets/ios/swift/Icons.xcassets/host.imageset/host.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconHost.imageset/iconHost.svg
rename to assets/ios/swift/Icons.xcassets/host.imageset/host.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconArrowRight.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconArrowRight.imageset/Contents.json
deleted file mode 100644
index 4d3d8cd7..00000000
--- a/assets/ios/swift/Icons.xcassets/iconArrowRight.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconArrowRight.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconChatProblem.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconChatProblem.imageset/Contents.json
deleted file mode 100644
index 5c51053e..00000000
--- a/assets/ios/swift/Icons.xcassets/iconChatProblem.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconChatProblem.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconCheckCircle.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconCheckCircle.imageset/Contents.json
deleted file mode 100644
index f29fd8f5..00000000
--- a/assets/ios/swift/Icons.xcassets/iconCheckCircle.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconCheckCircle.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconChevron.imageset/iconChevron.svg b/assets/ios/swift/Icons.xcassets/iconChevron.imageset/iconChevron.svg
deleted file mode 100644
index 6314b31e..00000000
--- a/assets/ios/swift/Icons.xcassets/iconChevron.imageset/iconChevron.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/ios/swift/Icons.xcassets/iconChevronDown.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconChevronDown.imageset/Contents.json
deleted file mode 100644
index 20679b70..00000000
--- a/assets/ios/swift/Icons.xcassets/iconChevronDown.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconChevronDown.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconChevronLeft.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconChevronLeft.imageset/Contents.json
deleted file mode 100644
index 024307a2..00000000
--- a/assets/ios/swift/Icons.xcassets/iconChevronLeft.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconChevronLeft.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconDragGrid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconDragGrid.imageset/Contents.json
deleted file mode 100644
index e70030b9..00000000
--- a/assets/ios/swift/Icons.xcassets/iconDragGrid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconDragGrid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconDragList.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconDragList.imageset/Contents.json
deleted file mode 100644
index f1f99afc..00000000
--- a/assets/ios/swift/Icons.xcassets/iconDragList.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconDragList.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconError.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconError.imageset/Contents.json
deleted file mode 100644
index 7cfe6edd..00000000
--- a/assets/ios/swift/Icons.xcassets/iconError.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconError.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconFavouriteOn.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconFavouriteOn.imageset/Contents.json
deleted file mode 100644
index 37496d77..00000000
--- a/assets/ios/swift/Icons.xcassets/iconFavouriteOn.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconFavouriteOn.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconFiles.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconFiles.imageset/Contents.json
deleted file mode 100644
index da15c1b8..00000000
--- a/assets/ios/swift/Icons.xcassets/iconFiles.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconFiles.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconGridView.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconGridView.imageset/Contents.json
deleted file mode 100644
index 293bdaba..00000000
--- a/assets/ios/swift/Icons.xcassets/iconGridView.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconGridView.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconGridView.imageset/iconGridView.svg b/assets/ios/swift/Icons.xcassets/iconGridView.imageset/iconGridView.svg
deleted file mode 100644
index fdbc48fb..00000000
--- a/assets/ios/swift/Icons.xcassets/iconGridView.imageset/iconGridView.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/assets/ios/swift/Icons.xcassets/iconHost.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconHost.imageset/Contents.json
deleted file mode 100644
index 328d5c34..00000000
--- a/assets/ios/swift/Icons.xcassets/iconHost.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconHost.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconImage.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconImage.imageset/Contents.json
deleted file mode 100644
index e5131ed0..00000000
--- a/assets/ios/swift/Icons.xcassets/iconImage.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconImage.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconInfo.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconInfo.imageset/Contents.json
deleted file mode 100644
index 0314959e..00000000
--- a/assets/ios/swift/Icons.xcassets/iconInfo.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconInfo.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconInfoSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconInfoSolid.imageset/Contents.json
deleted file mode 100644
index 1005bd67..00000000
--- a/assets/ios/swift/Icons.xcassets/iconInfoSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconInfoSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconLeave.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconLeave.imageset/Contents.json
deleted file mode 100644
index 97335b71..00000000
--- a/assets/ios/swift/Icons.xcassets/iconLeave.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconLeave.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconLink.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconLink.imageset/Contents.json
deleted file mode 100644
index 0909342c..00000000
--- a/assets/ios/swift/Icons.xcassets/iconLink.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconLink.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconLock.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconLock.imageset/Contents.json
deleted file mode 100644
index 14036f49..00000000
--- a/assets/ios/swift/Icons.xcassets/iconLock.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconLock.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconLockOff.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconLockOff.imageset/Contents.json
deleted file mode 100644
index 31e3a65b..00000000
--- a/assets/ios/swift/Icons.xcassets/iconLockOff.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconLockOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconMention.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconMention.imageset/Contents.json
deleted file mode 100644
index 6817b12b..00000000
--- a/assets/ios/swift/Icons.xcassets/iconMention.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconMention.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconMenu.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconMenu.imageset/Contents.json
deleted file mode 100644
index b17b5449..00000000
--- a/assets/ios/swift/Icons.xcassets/iconMenu.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconMenu.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconMicOffOutline.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconMicOffOutline.imageset/Contents.json
deleted file mode 100644
index 9ee0fdc2..00000000
--- a/assets/ios/swift/Icons.xcassets/iconMicOffOutline.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconMicOffOutline.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconMicOffSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconMicOffSolid.imageset/Contents.json
deleted file mode 100644
index b66a8872..00000000
--- a/assets/ios/swift/Icons.xcassets/iconMicOffSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconMicOffSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconMicOnSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconMicOnSolid.imageset/Contents.json
deleted file mode 100644
index fb75e820..00000000
--- a/assets/ios/swift/Icons.xcassets/iconMicOnSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconMicOnSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconNotifications.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconNotifications.imageset/Contents.json
deleted file mode 100644
index 2cad5e04..00000000
--- a/assets/ios/swift/Icons.xcassets/iconNotifications.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconNotifications.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconNotificationsOff.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconNotificationsOff.imageset/Contents.json
deleted file mode 100644
index 08d218ee..00000000
--- a/assets/ios/swift/Icons.xcassets/iconNotificationsOff.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconNotificationsOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconNotificationsSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconNotificationsSolid.imageset/Contents.json
deleted file mode 100644
index df4dc8e6..00000000
--- a/assets/ios/swift/Icons.xcassets/iconNotificationsSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconNotificationsSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconNotificationsSolidOff.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconNotificationsSolidOff.imageset/Contents.json
deleted file mode 100644
index 251d3616..00000000
--- a/assets/ios/swift/Icons.xcassets/iconNotificationsSolidOff.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconNotificationsSolidOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconOffline.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconOffline.imageset/Contents.json
deleted file mode 100644
index d32e95b4..00000000
--- a/assets/ios/swift/Icons.xcassets/iconOffline.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconOffline.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconOverflowHorizontal.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconOverflowHorizontal.imageset/Contents.json
deleted file mode 100644
index 6ae725b3..00000000
--- a/assets/ios/swift/Icons.xcassets/iconOverflowHorizontal.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconOverflowHorizontal.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconOverflowVertical.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconOverflowVertical.imageset/Contents.json
deleted file mode 100644
index b72d66db..00000000
--- a/assets/ios/swift/Icons.xcassets/iconOverflowVertical.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconOverflowVertical.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPinOff.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconPinOff.imageset/Contents.json
deleted file mode 100644
index cd0a3b3a..00000000
--- a/assets/ios/swift/Icons.xcassets/iconPinOff.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconPinOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPinOn.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconPinOn.imageset/Contents.json
deleted file mode 100644
index 30f0ec07..00000000
--- a/assets/ios/swift/Icons.xcassets/iconPinOn.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconPinOn.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPlus.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconPlus.imageset/Contents.json
deleted file mode 100644
index b506b750..00000000
--- a/assets/ios/swift/Icons.xcassets/iconPlus.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconPlus.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPolls.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconPolls.imageset/Contents.json
deleted file mode 100644
index 9a508b76..00000000
--- a/assets/ios/swift/Icons.xcassets/iconPolls.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconPolls.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPollsEnd.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconPollsEnd.imageset/Contents.json
deleted file mode 100644
index e5a7fd41..00000000
--- a/assets/ios/swift/Icons.xcassets/iconPollsEnd.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconPollsEnd.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPopOut.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconPopOut.imageset/Contents.json
deleted file mode 100644
index c0c16c56..00000000
--- a/assets/ios/swift/Icons.xcassets/iconPopOut.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconPopOut.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPublic.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconPublic.imageset/Contents.json
deleted file mode 100644
index accb3f41..00000000
--- a/assets/ios/swift/Icons.xcassets/iconPublic.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconPublic.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconRoomAdmin.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconRoomAdmin.imageset/Contents.json
deleted file mode 100644
index 38346097..00000000
--- a/assets/ios/swift/Icons.xcassets/iconRoomAdmin.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconRoomAdmin.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSearch.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconSearch.imageset/Contents.json
deleted file mode 100644
index 5335384f..00000000
--- a/assets/ios/swift/Icons.xcassets/iconSearch.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconSearch.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSend.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconSend.imageset/Contents.json
deleted file mode 100644
index e1b41408..00000000
--- a/assets/ios/swift/Icons.xcassets/iconSend.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconSend.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSendSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconSendSolid.imageset/Contents.json
deleted file mode 100644
index 4d809afc..00000000
--- a/assets/ios/swift/Icons.xcassets/iconSendSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconSendSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSettings.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconSettings.imageset/Contents.json
deleted file mode 100644
index 851ae822..00000000
--- a/assets/ios/swift/Icons.xcassets/iconSettings.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconSettings.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSettingsSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconSettingsSolid.imageset/Contents.json
deleted file mode 100644
index c434828f..00000000
--- a/assets/ios/swift/Icons.xcassets/iconSettingsSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconSettingsSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconShare.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconShare.imageset/Contents.json
deleted file mode 100644
index e45a69c8..00000000
--- a/assets/ios/swift/Icons.xcassets/iconShare.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconShare.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconShareAndroid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconShareAndroid.imageset/Contents.json
deleted file mode 100644
index 72860f66..00000000
--- a/assets/ios/swift/Icons.xcassets/iconShareAndroid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconShareAndroid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconShareScreenOutline.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconShareScreenOutline.imageset/Contents.json
deleted file mode 100644
index 1afcb244..00000000
--- a/assets/ios/swift/Icons.xcassets/iconShareScreenOutline.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconShareScreenOutline.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconShareScreenSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconShareScreenSolid.imageset/Contents.json
deleted file mode 100644
index 69420e95..00000000
--- a/assets/ios/swift/Icons.xcassets/iconShareScreenSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconShareScreenSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSpotlight.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconSpotlight.imageset/Contents.json
deleted file mode 100644
index 25a97186..00000000
--- a/assets/ios/swift/Icons.xcassets/iconSpotlight.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconSpotlight.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSpotlightView.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconSpotlightView.imageset/Contents.json
deleted file mode 100644
index 45466d53..00000000
--- a/assets/ios/swift/Icons.xcassets/iconSpotlightView.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconSpotlightView.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSpotlightView.imageset/iconSpotlightView.svg b/assets/ios/swift/Icons.xcassets/iconSpotlightView.imageset/iconSpotlightView.svg
deleted file mode 100644
index 1a5f6d16..00000000
--- a/assets/ios/swift/Icons.xcassets/iconSpotlightView.imageset/iconSpotlightView.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/assets/ios/swift/Icons.xcassets/iconThread.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconThread.imageset/Contents.json
deleted file mode 100644
index 2824100a..00000000
--- a/assets/ios/swift/Icons.xcassets/iconThread.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconThread.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconThread.imageset/iconThread.svg b/assets/ios/swift/Icons.xcassets/iconThread.imageset/iconThread.svg
deleted file mode 100644
index 11af5eb9..00000000
--- a/assets/ios/swift/Icons.xcassets/iconThread.imageset/iconThread.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/assets/ios/swift/Icons.xcassets/iconThreads.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconThreads.imageset/Contents.json
deleted file mode 100644
index 8c03e25b..00000000
--- a/assets/ios/swift/Icons.xcassets/iconThreads.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconThreads.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconThreadsSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconThreadsSolid.imageset/Contents.json
deleted file mode 100644
index 2a043bc8..00000000
--- a/assets/ios/swift/Icons.xcassets/iconThreadsSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconThreadsSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconUnknown.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconUnknown.imageset/Contents.json
deleted file mode 100644
index cfdfb64b..00000000
--- a/assets/ios/swift/Icons.xcassets/iconUnknown.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconUnknown.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconUnknownSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconUnknownSolid.imageset/Contents.json
deleted file mode 100644
index ca892a15..00000000
--- a/assets/ios/swift/Icons.xcassets/iconUnknownSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconUnknownSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconUser.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconUser.imageset/Contents.json
deleted file mode 100644
index a4c4f87e..00000000
--- a/assets/ios/swift/Icons.xcassets/iconUser.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconUser.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconUser.imageset/iconUser.svg b/assets/ios/swift/Icons.xcassets/iconUser.imageset/iconUser.svg
deleted file mode 100644
index 12f7653e..00000000
--- a/assets/ios/swift/Icons.xcassets/iconUser.imageset/iconUser.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/ios/swift/Icons.xcassets/iconUserAdd.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconUserAdd.imageset/Contents.json
deleted file mode 100644
index aa09e58c..00000000
--- a/assets/ios/swift/Icons.xcassets/iconUserAdd.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconUserAdd.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconUserAddSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconUserAddSolid.imageset/Contents.json
deleted file mode 100644
index 9defb9c2..00000000
--- a/assets/ios/swift/Icons.xcassets/iconUserAddSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconUserAddSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconUserProfile.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconUserProfile.imageset/Contents.json
deleted file mode 100644
index 5ac1e5e8..00000000
--- a/assets/ios/swift/Icons.xcassets/iconUserProfile.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconUserProfile.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconUserProfileSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconUserProfileSolid.imageset/Contents.json
deleted file mode 100644
index f5ad8b62..00000000
--- a/assets/ios/swift/Icons.xcassets/iconUserProfileSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconUserProfileSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVerified.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVerified.imageset/Contents.json
deleted file mode 100644
index 1d2b7f9c..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVerified.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVerified.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCall.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVideoCall.imageset/Contents.json
deleted file mode 100644
index 3dfc7009..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVideoCall.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVideoCall.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallDeclined.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVideoCallDeclined.imageset/Contents.json
deleted file mode 100644
index 90df1740..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVideoCallDeclined.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVideoCallDeclined.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallDeclinedSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVideoCallDeclinedSolid.imageset/Contents.json
deleted file mode 100644
index 19ee051c..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVideoCallDeclinedSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVideoCallDeclinedSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallDeclinedSolid.imageset/iconVideoCallDeclinedSolid.svg b/assets/ios/swift/Icons.xcassets/iconVideoCallDeclinedSolid.imageset/iconVideoCallDeclinedSolid.svg
deleted file mode 100644
index 8e45b76f..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVideoCallDeclinedSolid.imageset/iconVideoCallDeclinedSolid.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallMissed.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVideoCallMissed.imageset/Contents.json
deleted file mode 100644
index 9ba78750..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVideoCallMissed.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVideoCallMissed.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallMissedSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVideoCallMissedSolid.imageset/Contents.json
deleted file mode 100644
index 7e744072..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVideoCallMissedSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVideoCallMissedSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallMissedSolid.imageset/iconVideoCallMissedSolid.svg b/assets/ios/swift/Icons.xcassets/iconVideoCallMissedSolid.imageset/iconVideoCallMissedSolid.svg
deleted file mode 100644
index c4eca5d5..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVideoCallMissedSolid.imageset/iconVideoCallMissedSolid.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallOff.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVideoCallOff.imageset/Contents.json
deleted file mode 100644
index 7a185a14..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVideoCallOff.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVideoCallOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallOffSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVideoCallOffSolid.imageset/Contents.json
deleted file mode 100644
index 3d71a4cd..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVideoCallOffSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVideoCallOffSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVisibilityInvisible.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVisibilityInvisible.imageset/Contents.json
deleted file mode 100644
index db0bd18e..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVisibilityInvisible.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVisibilityInvisible.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVisibilityInvisible.imageset/iconVisibilityInvisible.svg b/assets/ios/swift/Icons.xcassets/iconVisibilityInvisible.imageset/iconVisibilityInvisible.svg
deleted file mode 100644
index 36f52374..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVisibilityInvisible.imageset/iconVisibilityInvisible.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/ios/swift/Icons.xcassets/iconVisibilityOff.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVisibilityOff.imageset/Contents.json
deleted file mode 100644
index c612b11c..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVisibilityOff.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVisibilityOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVisibilityOn.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVisibilityOn.imageset/Contents.json
deleted file mode 100644
index e6666544..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVisibilityOn.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVisibilityOn.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVisibilityVisible.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVisibilityVisible.imageset/Contents.json
deleted file mode 100644
index 8ca1a56a..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVisibilityVisible.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVisibilityVisible.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVisibilityVisible.imageset/iconVisibilityVisible.svg b/assets/ios/swift/Icons.xcassets/iconVisibilityVisible.imageset/iconVisibilityVisible.svg
deleted file mode 100644
index 3410ed27..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVisibilityVisible.imageset/iconVisibilityVisible.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/assets/ios/swift/Icons.xcassets/iconVoiceCall.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVoiceCall.imageset/Contents.json
deleted file mode 100644
index 762eb22a..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVoiceCall.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVoiceCall.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVolumeOff.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVolumeOff.imageset/Contents.json
deleted file mode 100644
index 1b51b782..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVolumeOff.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVolumeOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVolumeOn.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVolumeOn.imageset/Contents.json
deleted file mode 100644
index 104f4de1..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVolumeOn.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVolumeOn.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVolumeOnSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconVolumeOnSolid.imageset/Contents.json
deleted file mode 100644
index faeef080..00000000
--- a/assets/ios/swift/Icons.xcassets/iconVolumeOnSolid.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconVolumeOnSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconWarning.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconWarning.imageset/Contents.json
deleted file mode 100644
index 1c18c281..00000000
--- a/assets/ios/swift/Icons.xcassets/iconWarning.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconWarning.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconWebBrowser.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/iconWebBrowser.imageset/Contents.json
deleted file mode 100644
index ef88e54a..00000000
--- a/assets/ios/swift/Icons.xcassets/iconWebBrowser.imageset/Contents.json
+++ /dev/null
@@ -1 +0,0 @@
-{"images":[{"filename":"iconWebBrowser.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/image.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/image.imageset/Contents.json
new file mode 100644
index 00000000..3eac0530
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/image.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"image.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconImage.imageset/iconImage.svg b/assets/ios/swift/Icons.xcassets/image.imageset/image.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconImage.imageset/iconImage.svg
rename to assets/ios/swift/Icons.xcassets/image.imageset/image.svg
diff --git a/assets/ios/swift/Icons.xcassets/info.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/info.imageset/Contents.json
new file mode 100644
index 00000000..af147c86
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/info.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"info.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconInfo.imageset/iconInfo.svg b/assets/ios/swift/Icons.xcassets/info.imageset/info.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconInfo.imageset/iconInfo.svg
rename to assets/ios/swift/Icons.xcassets/info.imageset/info.svg
diff --git a/assets/ios/swift/Icons.xcassets/infoSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/infoSolid.imageset/Contents.json
new file mode 100644
index 00000000..8a5c3a3c
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/infoSolid.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"infoSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconInfoSolid.imageset/iconInfoSolid.svg b/assets/ios/swift/Icons.xcassets/infoSolid.imageset/infoSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconInfoSolid.imageset/iconInfoSolid.svg
rename to assets/ios/swift/Icons.xcassets/infoSolid.imageset/infoSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/leave.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/leave.imageset/Contents.json
new file mode 100644
index 00000000..2fc34b7e
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/leave.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"leave.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconLeave.imageset/iconLeave.svg b/assets/ios/swift/Icons.xcassets/leave.imageset/leave.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconLeave.imageset/iconLeave.svg
rename to assets/ios/swift/Icons.xcassets/leave.imageset/leave.svg
diff --git a/assets/ios/swift/Icons.xcassets/link.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/link.imageset/Contents.json
new file mode 100644
index 00000000..3a335517
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/link.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"link.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconLink.imageset/iconLink.svg b/assets/ios/swift/Icons.xcassets/link.imageset/link.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconLink.imageset/iconLink.svg
rename to assets/ios/swift/Icons.xcassets/link.imageset/link.svg
diff --git a/assets/ios/swift/Icons.xcassets/lock.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/lock.imageset/Contents.json
new file mode 100644
index 00000000..bd5b7d2e
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/lock.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"lock.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconLock.imageset/iconLock.svg b/assets/ios/swift/Icons.xcassets/lock.imageset/lock.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconLock.imageset/iconLock.svg
rename to assets/ios/swift/Icons.xcassets/lock.imageset/lock.svg
diff --git a/assets/ios/swift/Icons.xcassets/lockOff.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/lockOff.imageset/Contents.json
new file mode 100644
index 00000000..7f6d13e1
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/lockOff.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"lockOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconLockOff.imageset/iconLockOff.svg b/assets/ios/swift/Icons.xcassets/lockOff.imageset/lockOff.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconLockOff.imageset/iconLockOff.svg
rename to assets/ios/swift/Icons.xcassets/lockOff.imageset/lockOff.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/markerReadReceipts.imageset/Contents.json
similarity index 68%
rename from assets/ios/swift/Icons.xcassets/iconVideoCallSolid.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/markerReadReceipts.imageset/Contents.json
index 550f2180..71d52c76 100644
--- a/assets/ios/swift/Icons.xcassets/iconVideoCallSolid.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/markerReadReceipts.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconVideoCallSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"markerReadReceipts.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconMarkerReadReceipts.imageset/iconMarkerReadReceipts.svg b/assets/ios/swift/Icons.xcassets/markerReadReceipts.imageset/markerReadReceipts.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconMarkerReadReceipts.imageset/iconMarkerReadReceipts.svg
rename to assets/ios/swift/Icons.xcassets/markerReadReceipts.imageset/markerReadReceipts.svg
diff --git a/assets/ios/swift/Icons.xcassets/mention.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/mention.imageset/Contents.json
new file mode 100644
index 00000000..e836b3a1
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/mention.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"mention.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconMention.imageset/iconMention.svg b/assets/ios/swift/Icons.xcassets/mention.imageset/mention.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconMention.imageset/iconMention.svg
rename to assets/ios/swift/Icons.xcassets/mention.imageset/mention.svg
diff --git a/assets/ios/swift/Icons.xcassets/menu.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/menu.imageset/Contents.json
new file mode 100644
index 00000000..290371bf
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/menu.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"menu.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconMenu.imageset/iconMenu.svg b/assets/ios/swift/Icons.xcassets/menu.imageset/menu.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconMenu.imageset/iconMenu.svg
rename to assets/ios/swift/Icons.xcassets/menu.imageset/menu.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconChevronUp.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/micOffOutline.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconChevronUp.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/micOffOutline.imageset/Contents.json
index 0a288d1b..30c79766 100644
--- a/assets/ios/swift/Icons.xcassets/iconChevronUp.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/micOffOutline.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconChevronUp.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"micOffOutline.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconMicOffOutline.imageset/iconMicOffOutline.svg b/assets/ios/swift/Icons.xcassets/micOffOutline.imageset/micOffOutline.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconMicOffOutline.imageset/iconMicOffOutline.svg
rename to assets/ios/swift/Icons.xcassets/micOffOutline.imageset/micOffOutline.svg
diff --git a/assets/ios/swift/Icons.xcassets/micOffSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/micOffSolid.imageset/Contents.json
new file mode 100644
index 00000000..d59de047
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/micOffSolid.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"micOffSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconMicOffSolid.imageset/iconMicOffSolid.svg b/assets/ios/swift/Icons.xcassets/micOffSolid.imageset/micOffSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconMicOffSolid.imageset/iconMicOffSolid.svg
rename to assets/ios/swift/Icons.xcassets/micOffSolid.imageset/micOffSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconDownload.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/micOnOutline.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconDownload.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/micOnOutline.imageset/Contents.json
index fa1672ac..a6ffd641 100644
--- a/assets/ios/swift/Icons.xcassets/iconDownload.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/micOnOutline.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconDownload.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"micOnOutline.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconMicOnOutline.imageset/iconMicOnOutline.svg b/assets/ios/swift/Icons.xcassets/micOnOutline.imageset/micOnOutline.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconMicOnOutline.imageset/iconMicOnOutline.svg
rename to assets/ios/swift/Icons.xcassets/micOnOutline.imageset/micOnOutline.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconMobile.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/micOnSolid.imageset/Contents.json
similarity index 66%
rename from assets/ios/swift/Icons.xcassets/iconMobile.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/micOnSolid.imageset/Contents.json
index 13906630..30e391fc 100644
--- a/assets/ios/swift/Icons.xcassets/iconMobile.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/micOnSolid.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconMobile.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"micOnSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconMicOnSolid.imageset/iconMicOnSolid.svg b/assets/ios/swift/Icons.xcassets/micOnSolid.imageset/micOnSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconMicOnSolid.imageset/iconMicOnSolid.svg
rename to assets/ios/swift/Icons.xcassets/micOnSolid.imageset/micOnSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/mobile.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/mobile.imageset/Contents.json
new file mode 100644
index 00000000..632b36b3
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/mobile.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"mobile.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconMobile.imageset/iconMobile.svg b/assets/ios/swift/Icons.xcassets/mobile.imageset/mobile.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconMobile.imageset/iconMobile.svg
rename to assets/ios/swift/Icons.xcassets/mobile.imageset/mobile.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconHelpSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/notifications.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconHelpSolid.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/notifications.imageset/Contents.json
index 1be9cdd8..81d12057 100644
--- a/assets/ios/swift/Icons.xcassets/iconHelpSolid.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/notifications.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconHelpSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"notifications.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconNotifications.imageset/iconNotifications.svg b/assets/ios/swift/Icons.xcassets/notifications.imageset/notifications.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconNotifications.imageset/iconNotifications.svg
rename to assets/ios/swift/Icons.xcassets/notifications.imageset/notifications.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconFavouriteOff.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/notificationsOff.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconFavouriteOff.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/notificationsOff.imageset/Contents.json
index d3629f85..4af090c0 100644
--- a/assets/ios/swift/Icons.xcassets/iconFavouriteOff.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/notificationsOff.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconFavouriteOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"notificationsOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconNotificationsOff.imageset/iconNotificationsOff.svg b/assets/ios/swift/Icons.xcassets/notificationsOff.imageset/notificationsOff.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconNotificationsOff.imageset/iconNotificationsOff.svg
rename to assets/ios/swift/Icons.xcassets/notificationsOff.imageset/notificationsOff.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconVolumeOffSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/notificationsSolid.imageset/Contents.json
similarity index 68%
rename from assets/ios/swift/Icons.xcassets/iconVolumeOffSolid.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/notificationsSolid.imageset/Contents.json
index 98d121d1..61708c2d 100644
--- a/assets/ios/swift/Icons.xcassets/iconVolumeOffSolid.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/notificationsSolid.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconVolumeOffSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"notificationsSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconNotificationsSolid.imageset/iconNotificationsSolid.svg b/assets/ios/swift/Icons.xcassets/notificationsSolid.imageset/notificationsSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconNotificationsSolid.imageset/iconNotificationsSolid.svg
rename to assets/ios/swift/Icons.xcassets/notificationsSolid.imageset/notificationsSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconSwitchCameraSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/notificationsSolidOff.imageset/Contents.json
similarity index 68%
rename from assets/ios/swift/Icons.xcassets/iconSwitchCameraSolid.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/notificationsSolidOff.imageset/Contents.json
index dd41dc2c..dde433db 100644
--- a/assets/ios/swift/Icons.xcassets/iconSwitchCameraSolid.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/notificationsSolidOff.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconSwitchCameraSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"notificationsSolidOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconNotificationsSolidOff.imageset/iconNotificationsSolidOff.svg b/assets/ios/swift/Icons.xcassets/notificationsSolidOff.imageset/notificationsSolidOff.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconNotificationsSolidOff.imageset/iconNotificationsSolidOff.svg
rename to assets/ios/swift/Icons.xcassets/notificationsSolidOff.imageset/notificationsSolidOff.svg
diff --git a/assets/ios/swift/Icons.xcassets/offline.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/offline.imageset/Contents.json
new file mode 100644
index 00000000..4f330418
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/offline.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"offline.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconOffline.imageset/iconOffline.svg b/assets/ios/swift/Icons.xcassets/offline.imageset/offline.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconOffline.imageset/iconOffline.svg
rename to assets/ios/swift/Icons.xcassets/offline.imageset/offline.svg
diff --git a/assets/ios/swift/Icons.xcassets/overflowHorizontal.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/overflowHorizontal.imageset/Contents.json
new file mode 100644
index 00000000..eff4ddff
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/overflowHorizontal.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"overflowHorizontal.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconOverflowHorizontal.imageset/iconOverflowHorizontal.svg b/assets/ios/swift/Icons.xcassets/overflowHorizontal.imageset/overflowHorizontal.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconOverflowHorizontal.imageset/iconOverflowHorizontal.svg
rename to assets/ios/swift/Icons.xcassets/overflowHorizontal.imageset/overflowHorizontal.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconMicOnOutline.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/overflowVertical.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconMicOnOutline.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/overflowVertical.imageset/Contents.json
index 551858f2..4826bbdd 100644
--- a/assets/ios/swift/Icons.xcassets/iconMicOnOutline.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/overflowVertical.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconMicOnOutline.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"overflowVertical.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconOverflowVertical.imageset/iconOverflowVertical.svg b/assets/ios/swift/Icons.xcassets/overflowVertical.imageset/overflowVertical.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconOverflowVertical.imageset/iconOverflowVertical.svg
rename to assets/ios/swift/Icons.xcassets/overflowVertical.imageset/overflowVertical.svg
diff --git a/assets/ios/swift/Icons.xcassets/pinOff.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/pinOff.imageset/Contents.json
new file mode 100644
index 00000000..e4d60394
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/pinOff.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"pinOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPinOff.imageset/iconPinOff.svg b/assets/ios/swift/Icons.xcassets/pinOff.imageset/pinOff.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconPinOff.imageset/iconPinOff.svg
rename to assets/ios/swift/Icons.xcassets/pinOff.imageset/pinOff.svg
diff --git a/assets/ios/swift/Icons.xcassets/pinOn.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/pinOn.imageset/Contents.json
new file mode 100644
index 00000000..d6478868
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/pinOn.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"pinOn.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPinOn.imageset/iconPinOn.svg b/assets/ios/swift/Icons.xcassets/pinOn.imageset/pinOn.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconPinOn.imageset/iconPinOn.svg
rename to assets/ios/swift/Icons.xcassets/pinOn.imageset/pinOn.svg
diff --git a/assets/ios/swift/Icons.xcassets/plus.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/plus.imageset/Contents.json
new file mode 100644
index 00000000..3043025e
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/plus.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"plus.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPlus.imageset/iconPlus.svg b/assets/ios/swift/Icons.xcassets/plus.imageset/plus.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconPlus.imageset/iconPlus.svg
rename to assets/ios/swift/Icons.xcassets/plus.imageset/plus.svg
diff --git a/assets/ios/swift/Icons.xcassets/polls.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/polls.imageset/Contents.json
new file mode 100644
index 00000000..77daf018
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/polls.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"polls.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPolls.imageset/iconPolls.svg b/assets/ios/swift/Icons.xcassets/polls.imageset/polls.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconPolls.imageset/iconPolls.svg
rename to assets/ios/swift/Icons.xcassets/polls.imageset/polls.svg
diff --git a/assets/ios/swift/Icons.xcassets/pollsEnd.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/pollsEnd.imageset/Contents.json
new file mode 100644
index 00000000..2c697ddf
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/pollsEnd.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"pollsEnd.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPollsEnd.imageset/iconPollsEnd.svg b/assets/ios/swift/Icons.xcassets/pollsEnd.imageset/pollsEnd.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconPollsEnd.imageset/iconPollsEnd.svg
rename to assets/ios/swift/Icons.xcassets/pollsEnd.imageset/pollsEnd.svg
diff --git a/assets/ios/swift/Icons.xcassets/popOut.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/popOut.imageset/Contents.json
new file mode 100644
index 00000000..7265f346
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/popOut.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"popOut.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPopOut.imageset/iconPopOut.svg b/assets/ios/swift/Icons.xcassets/popOut.imageset/popOut.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconPopOut.imageset/iconPopOut.svg
rename to assets/ios/swift/Icons.xcassets/popOut.imageset/popOut.svg
diff --git a/assets/ios/swift/Icons.xcassets/public.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/public.imageset/Contents.json
new file mode 100644
index 00000000..4a32702e
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/public.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"public.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconPublic.imageset/iconPublic.svg b/assets/ios/swift/Icons.xcassets/public.imageset/public.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconPublic.imageset/iconPublic.svg
rename to assets/ios/swift/Icons.xcassets/public.imageset/public.svg
diff --git a/assets/ios/swift/Icons.xcassets/roomAdmin.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/roomAdmin.imageset/Contents.json
new file mode 100644
index 00000000..a2abbf0e
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/roomAdmin.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"roomAdmin.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconRoomAdmin.imageset/iconRoomAdmin.svg b/assets/ios/swift/Icons.xcassets/roomAdmin.imageset/roomAdmin.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconRoomAdmin.imageset/iconRoomAdmin.svg
rename to assets/ios/swift/Icons.xcassets/roomAdmin.imageset/roomAdmin.svg
diff --git a/assets/ios/swift/Icons.xcassets/search.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/search.imageset/Contents.json
new file mode 100644
index 00000000..0b6e5be2
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/search.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"search.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSearch.imageset/iconSearch.svg b/assets/ios/swift/Icons.xcassets/search.imageset/search.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconSearch.imageset/iconSearch.svg
rename to assets/ios/swift/Icons.xcassets/search.imageset/search.svg
diff --git a/assets/ios/swift/Icons.xcassets/send.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/send.imageset/Contents.json
new file mode 100644
index 00000000..aa84e6f6
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/send.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"send.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSend.imageset/iconSend.svg b/assets/ios/swift/Icons.xcassets/send.imageset/send.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconSend.imageset/iconSend.svg
rename to assets/ios/swift/Icons.xcassets/send.imageset/send.svg
diff --git a/assets/ios/swift/Icons.xcassets/sendSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/sendSolid.imageset/Contents.json
new file mode 100644
index 00000000..a08c6494
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/sendSolid.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"sendSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSendSolid.imageset/iconSendSolid.svg b/assets/ios/swift/Icons.xcassets/sendSolid.imageset/sendSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconSendSolid.imageset/iconSendSolid.svg
rename to assets/ios/swift/Icons.xcassets/sendSolid.imageset/sendSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/settings.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/settings.imageset/Contents.json
new file mode 100644
index 00000000..900948be
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/settings.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"settings.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSettings.imageset/iconSettings.svg b/assets/ios/swift/Icons.xcassets/settings.imageset/settings.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconSettings.imageset/iconSettings.svg
rename to assets/ios/swift/Icons.xcassets/settings.imageset/settings.svg
diff --git a/assets/ios/swift/Icons.xcassets/settingsSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/settingsSolid.imageset/Contents.json
new file mode 100644
index 00000000..dbe17b49
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/settingsSolid.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"settingsSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSettingsSolid.imageset/iconSettingsSolid.svg b/assets/ios/swift/Icons.xcassets/settingsSolid.imageset/settingsSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconSettingsSolid.imageset/iconSettingsSolid.svg
rename to assets/ios/swift/Icons.xcassets/settingsSolid.imageset/settingsSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/share.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/share.imageset/Contents.json
new file mode 100644
index 00000000..253659cf
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/share.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"share.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconShare.imageset/iconShare.svg b/assets/ios/swift/Icons.xcassets/share.imageset/share.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconShare.imageset/iconShare.svg
rename to assets/ios/swift/Icons.xcassets/share.imageset/share.svg
diff --git a/assets/ios/swift/Icons.xcassets/shareAndroid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/shareAndroid.imageset/Contents.json
new file mode 100644
index 00000000..1d50f548
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/shareAndroid.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"shareAndroid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconShareAndroid.imageset/iconShareAndroid.svg b/assets/ios/swift/Icons.xcassets/shareAndroid.imageset/shareAndroid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconShareAndroid.imageset/iconShareAndroid.svg
rename to assets/ios/swift/Icons.xcassets/shareAndroid.imageset/shareAndroid.svg
diff --git a/assets/ios/swift/Icons.xcassets/shareScreenOutline.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/shareScreenOutline.imageset/Contents.json
new file mode 100644
index 00000000..57484de6
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/shareScreenOutline.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"shareScreenOutline.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconShareScreenOutline.imageset/iconShareScreenOutline.svg b/assets/ios/swift/Icons.xcassets/shareScreenOutline.imageset/shareScreenOutline.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconShareScreenOutline.imageset/iconShareScreenOutline.svg
rename to assets/ios/swift/Icons.xcassets/shareScreenOutline.imageset/shareScreenOutline.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconArrowUpRight.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/shareScreenSolid.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconArrowUpRight.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/shareScreenSolid.imageset/Contents.json
index 87c363b7..7b4aee13 100644
--- a/assets/ios/swift/Icons.xcassets/iconArrowUpRight.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/shareScreenSolid.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconArrowUpRight.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"shareScreenSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconShareScreenSolid.imageset/iconShareScreenSolid.svg b/assets/ios/swift/Icons.xcassets/shareScreenSolid.imageset/shareScreenSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconShareScreenSolid.imageset/iconShareScreenSolid.svg
rename to assets/ios/swift/Icons.xcassets/shareScreenSolid.imageset/shareScreenSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/spotlight.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/spotlight.imageset/Contents.json
new file mode 100644
index 00000000..227da799
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/spotlight.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"spotlight.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSpotlight.imageset/iconSpotlight.svg b/assets/ios/swift/Icons.xcassets/spotlight.imageset/spotlight.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconSpotlight.imageset/iconSpotlight.svg
rename to assets/ios/swift/Icons.xcassets/spotlight.imageset/spotlight.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconChevronUpDown.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/switchCameraSolid.imageset/Contents.json
similarity index 68%
rename from assets/ios/swift/Icons.xcassets/iconChevronUpDown.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/switchCameraSolid.imageset/Contents.json
index 4f93a58c..9d6c6011 100644
--- a/assets/ios/swift/Icons.xcassets/iconChevronUpDown.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/switchCameraSolid.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconChevronUpDown.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"switchCameraSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconSwitchCameraSolid.imageset/iconSwitchCameraSolid.svg b/assets/ios/swift/Icons.xcassets/switchCameraSolid.imageset/switchCameraSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconSwitchCameraSolid.imageset/iconSwitchCameraSolid.svg
rename to assets/ios/swift/Icons.xcassets/switchCameraSolid.imageset/switchCameraSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/threads.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/threads.imageset/Contents.json
new file mode 100644
index 00000000..f5772378
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/threads.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"threads.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconThreads.imageset/iconThreads.svg b/assets/ios/swift/Icons.xcassets/threads.imageset/threads.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconThreads.imageset/iconThreads.svg
rename to assets/ios/swift/Icons.xcassets/threads.imageset/threads.svg
diff --git a/assets/ios/swift/Icons.xcassets/threadsSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/threadsSolid.imageset/Contents.json
new file mode 100644
index 00000000..490963e9
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/threadsSolid.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"threadsSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconThreadsSolid.imageset/iconThreadsSolid.svg b/assets/ios/swift/Icons.xcassets/threadsSolid.imageset/threadsSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconThreadsSolid.imageset/iconThreadsSolid.svg
rename to assets/ios/swift/Icons.xcassets/threadsSolid.imageset/threadsSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/unknown.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/unknown.imageset/Contents.json
new file mode 100644
index 00000000..48b49004
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/unknown.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"unknown.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconUnknown.imageset/iconUnknown.svg b/assets/ios/swift/Icons.xcassets/unknown.imageset/unknown.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconUnknown.imageset/iconUnknown.svg
rename to assets/ios/swift/Icons.xcassets/unknown.imageset/unknown.svg
diff --git a/assets/ios/swift/Icons.xcassets/unknownSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/unknownSolid.imageset/Contents.json
new file mode 100644
index 00000000..7620af17
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/unknownSolid.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"unknownSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconUnknownSolid.imageset/iconUnknownSolid.svg b/assets/ios/swift/Icons.xcassets/unknownSolid.imageset/unknownSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconUnknownSolid.imageset/iconUnknownSolid.svg
rename to assets/ios/swift/Icons.xcassets/unknownSolid.imageset/unknownSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/userAdd.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/userAdd.imageset/Contents.json
new file mode 100644
index 00000000..948f4e86
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/userAdd.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"userAdd.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconUserAdd.imageset/iconUserAdd.svg b/assets/ios/swift/Icons.xcassets/userAdd.imageset/userAdd.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconUserAdd.imageset/iconUserAdd.svg
rename to assets/ios/swift/Icons.xcassets/userAdd.imageset/userAdd.svg
diff --git a/assets/ios/swift/Icons.xcassets/userAddSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/userAddSolid.imageset/Contents.json
new file mode 100644
index 00000000..f8aff492
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/userAddSolid.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"userAddSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconUserAddSolid.imageset/iconUserAddSolid.svg b/assets/ios/swift/Icons.xcassets/userAddSolid.imageset/userAddSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconUserAddSolid.imageset/iconUserAddSolid.svg
rename to assets/ios/swift/Icons.xcassets/userAddSolid.imageset/userAddSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/userProfile.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/userProfile.imageset/Contents.json
new file mode 100644
index 00000000..36b798ab
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/userProfile.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"userProfile.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconUserProfile.imageset/iconUserProfile.svg b/assets/ios/swift/Icons.xcassets/userProfile.imageset/userProfile.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconUserProfile.imageset/iconUserProfile.svg
rename to assets/ios/swift/Icons.xcassets/userProfile.imageset/userProfile.svg
diff --git a/assets/ios/swift/Icons.xcassets/userProfileSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/userProfileSolid.imageset/Contents.json
new file mode 100644
index 00000000..75e1112b
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/userProfileSolid.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"userProfileSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconUserProfileSolid.imageset/iconUserProfileSolid.svg b/assets/ios/swift/Icons.xcassets/userProfileSolid.imageset/userProfileSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconUserProfileSolid.imageset/iconUserProfileSolid.svg
rename to assets/ios/swift/Icons.xcassets/userProfileSolid.imageset/userProfileSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/verified.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/verified.imageset/Contents.json
new file mode 100644
index 00000000..ed1a7f2c
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/verified.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"verified.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVerified.imageset/iconVerified.svg b/assets/ios/swift/Icons.xcassets/verified.imageset/verified.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVerified.imageset/iconVerified.svg
rename to assets/ios/swift/Icons.xcassets/verified.imageset/verified.svg
diff --git a/assets/ios/swift/Icons.xcassets/videoCall.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/videoCall.imageset/Contents.json
new file mode 100644
index 00000000..c71a804b
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/videoCall.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"videoCall.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCall.imageset/iconVideoCall.svg b/assets/ios/swift/Icons.xcassets/videoCall.imageset/videoCall.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVideoCall.imageset/iconVideoCall.svg
rename to assets/ios/swift/Icons.xcassets/videoCall.imageset/videoCall.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconMarkerReadReceipts.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/videoCallDeclinedSolid.imageset/Contents.json
similarity index 68%
rename from assets/ios/swift/Icons.xcassets/iconMarkerReadReceipts.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/videoCallDeclinedSolid.imageset/Contents.json
index 309620fe..54fed13a 100644
--- a/assets/ios/swift/Icons.xcassets/iconMarkerReadReceipts.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/videoCallDeclinedSolid.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconMarkerReadReceipts.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"videoCallDeclinedSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallDeclined.imageset/iconVideoCallDeclined.svg b/assets/ios/swift/Icons.xcassets/videoCallDeclinedSolid.imageset/videoCallDeclinedSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVideoCallDeclined.imageset/iconVideoCallDeclined.svg
rename to assets/ios/swift/Icons.xcassets/videoCallDeclinedSolid.imageset/videoCallDeclinedSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconCheckCircleSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/videoCallMissedSolid.imageset/Contents.json
similarity index 68%
rename from assets/ios/swift/Icons.xcassets/iconCheckCircleSolid.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/videoCallMissedSolid.imageset/Contents.json
index d13083a7..038571fb 100644
--- a/assets/ios/swift/Icons.xcassets/iconCheckCircleSolid.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/videoCallMissedSolid.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconCheckCircleSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"videoCallMissedSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallMissed.imageset/iconVideoCallMissed.svg b/assets/ios/swift/Icons.xcassets/videoCallMissedSolid.imageset/videoCallMissedSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVideoCallMissed.imageset/iconVideoCallMissed.svg
rename to assets/ios/swift/Icons.xcassets/videoCallMissedSolid.imageset/videoCallMissedSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/videoCallOff.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/videoCallOff.imageset/Contents.json
new file mode 100644
index 00000000..c5812701
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/videoCallOff.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"videoCallOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallOff.imageset/iconVideoCallOff.svg b/assets/ios/swift/Icons.xcassets/videoCallOff.imageset/videoCallOff.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVideoCallOff.imageset/iconVideoCallOff.svg
rename to assets/ios/swift/Icons.xcassets/videoCallOff.imageset/videoCallOff.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconExportArchive.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/videoCallOffSolid.imageset/Contents.json
similarity index 68%
rename from assets/ios/swift/Icons.xcassets/iconExportArchive.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/videoCallOffSolid.imageset/Contents.json
index 4a5e0828..2ba62acb 100644
--- a/assets/ios/swift/Icons.xcassets/iconExportArchive.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/videoCallOffSolid.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconExportArchive.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"videoCallOffSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallOffSolid.imageset/iconVideoCallOffSolid.svg b/assets/ios/swift/Icons.xcassets/videoCallOffSolid.imageset/videoCallOffSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVideoCallOffSolid.imageset/iconVideoCallOffSolid.svg
rename to assets/ios/swift/Icons.xcassets/videoCallOffSolid.imageset/videoCallOffSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconEmailSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/videoCallSolid.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconEmailSolid.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/videoCallSolid.imageset/Contents.json
index e385aefa..9d52f4f8 100644
--- a/assets/ios/swift/Icons.xcassets/iconEmailSolid.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/videoCallSolid.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconEmailSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"videoCallSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVideoCallSolid.imageset/iconVideoCallSolid.svg b/assets/ios/swift/Icons.xcassets/videoCallSolid.imageset/videoCallSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVideoCallSolid.imageset/iconVideoCallSolid.svg
rename to assets/ios/swift/Icons.xcassets/videoCallSolid.imageset/videoCallSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/visibilityOff.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/visibilityOff.imageset/Contents.json
new file mode 100644
index 00000000..a06e7312
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/visibilityOff.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"visibilityOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVisibilityOff.imageset/iconVisibilityOff.svg b/assets/ios/swift/Icons.xcassets/visibilityOff.imageset/visibilityOff.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVisibilityOff.imageset/iconVisibilityOff.svg
rename to assets/ios/swift/Icons.xcassets/visibilityOff.imageset/visibilityOff.svg
diff --git a/assets/ios/swift/Icons.xcassets/visibilityOn.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/visibilityOn.imageset/Contents.json
new file mode 100644
index 00000000..7613cd1d
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/visibilityOn.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"visibilityOn.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVisibilityOn.imageset/iconVisibilityOn.svg b/assets/ios/swift/Icons.xcassets/visibilityOn.imageset/visibilityOn.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVisibilityOn.imageset/iconVisibilityOn.svg
rename to assets/ios/swift/Icons.xcassets/visibilityOn.imageset/visibilityOn.svg
diff --git a/assets/ios/swift/Icons.xcassets/voiceCall.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/voiceCall.imageset/Contents.json
new file mode 100644
index 00000000..0587956e
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/voiceCall.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"voiceCall.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVoiceCall.imageset/iconVoiceCall.svg b/assets/ios/swift/Icons.xcassets/voiceCall.imageset/voiceCall.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVoiceCall.imageset/iconVoiceCall.svg
rename to assets/ios/swift/Icons.xcassets/voiceCall.imageset/voiceCall.svg
diff --git a/assets/ios/swift/Icons.xcassets/volumeOff.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/volumeOff.imageset/Contents.json
new file mode 100644
index 00000000..7f0b9463
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/volumeOff.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"volumeOff.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVolumeOff.imageset/iconVolumeOff.svg b/assets/ios/swift/Icons.xcassets/volumeOff.imageset/volumeOff.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVolumeOff.imageset/iconVolumeOff.svg
rename to assets/ios/swift/Icons.xcassets/volumeOff.imageset/volumeOff.svg
diff --git a/assets/ios/swift/Icons.xcassets/iconExtensions.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/volumeOffSolid.imageset/Contents.json
similarity index 67%
rename from assets/ios/swift/Icons.xcassets/iconExtensions.imageset/Contents.json
rename to assets/ios/swift/Icons.xcassets/volumeOffSolid.imageset/Contents.json
index d15f081f..9fed2cf4 100644
--- a/assets/ios/swift/Icons.xcassets/iconExtensions.imageset/Contents.json
+++ b/assets/ios/swift/Icons.xcassets/volumeOffSolid.imageset/Contents.json
@@ -1 +1 @@
-{"images":[{"filename":"iconExtensions.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
+{"images":[{"filename":"volumeOffSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVolumeOffSolid.imageset/iconVolumeOffSolid.svg b/assets/ios/swift/Icons.xcassets/volumeOffSolid.imageset/volumeOffSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVolumeOffSolid.imageset/iconVolumeOffSolid.svg
rename to assets/ios/swift/Icons.xcassets/volumeOffSolid.imageset/volumeOffSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/volumeOn.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/volumeOn.imageset/Contents.json
new file mode 100644
index 00000000..10247762
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/volumeOn.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"volumeOn.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVolumeOn.imageset/iconVolumeOn.svg b/assets/ios/swift/Icons.xcassets/volumeOn.imageset/volumeOn.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVolumeOn.imageset/iconVolumeOn.svg
rename to assets/ios/swift/Icons.xcassets/volumeOn.imageset/volumeOn.svg
diff --git a/assets/ios/swift/Icons.xcassets/volumeOnSolid.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/volumeOnSolid.imageset/Contents.json
new file mode 100644
index 00000000..58ca58a2
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/volumeOnSolid.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"volumeOnSolid.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconVolumeOnSolid.imageset/iconVolumeOnSolid.svg b/assets/ios/swift/Icons.xcassets/volumeOnSolid.imageset/volumeOnSolid.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconVolumeOnSolid.imageset/iconVolumeOnSolid.svg
rename to assets/ios/swift/Icons.xcassets/volumeOnSolid.imageset/volumeOnSolid.svg
diff --git a/assets/ios/swift/Icons.xcassets/warning.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/warning.imageset/Contents.json
new file mode 100644
index 00000000..eb67f750
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/warning.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"warning.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconWarning.imageset/iconWarning.svg b/assets/ios/swift/Icons.xcassets/warning.imageset/warning.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconWarning.imageset/iconWarning.svg
rename to assets/ios/swift/Icons.xcassets/warning.imageset/warning.svg
diff --git a/assets/ios/swift/Icons.xcassets/webBrowser.imageset/Contents.json b/assets/ios/swift/Icons.xcassets/webBrowser.imageset/Contents.json
new file mode 100644
index 00000000..64878151
--- /dev/null
+++ b/assets/ios/swift/Icons.xcassets/webBrowser.imageset/Contents.json
@@ -0,0 +1 @@
+{"images":[{"filename":"webBrowser.svg","idiom":"universal"}],"info":{"author":"xcode","version":1},"properties":{"preserves-vector-representation":true,"template-rendering-intent":"template"}}
\ No newline at end of file
diff --git a/assets/ios/swift/Icons.xcassets/iconWebBrowser.imageset/iconWebBrowser.svg b/assets/ios/swift/Icons.xcassets/webBrowser.imageset/webBrowser.svg
similarity index 100%
rename from assets/ios/swift/Icons.xcassets/iconWebBrowser.imageset/iconWebBrowser.svg
rename to assets/ios/swift/Icons.xcassets/webBrowser.imageset/webBrowser.svg
diff --git a/src/configs/getIOSConfig.ts b/src/configs/getIOSConfig.ts
index 8dbdf596..4c6e2ce1 100644
--- a/src/configs/getIOSConfig.ts
+++ b/src/configs/getIOSConfig.ts
@@ -14,12 +14,22 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
+import StyleDictionary from "style-dictionary";
import { Platform } from "style-dictionary/types/Platform";
import { Theme } from "../@types";
import { TransformedToken } from "style-dictionary/types";
+import { FormatterArguments } from "style-dictionary/types/Format";
+import createTemplate from "../utils/createTemplate";
import iosExclude from "../filters/ios/exclude";
import _ from "lodash";
+function swiftClassMembers(args: FormatterArguments) {
+ return createTemplate(
+ "../formats/templates/swift/class-members.template",
+ args
+ )
+}
+
/*
* Config that builds colorsets and creates SwiftUI Colors.
*/
@@ -93,11 +103,16 @@ export function getIOSUIColorConfig(theme: Theme): Platform {
* Config that creates the remaining iOS tokens.
*/
export function getCommonIOSConfig(): Platform {
+ StyleDictionary.registerFormat({
+ name: "swift/class-members",
+ formatter: swiftClassMembers,
+ });
return {
transforms: [
"attribute/cti",
"camelCaseDecimal",
"font/swift/literal",
+ "swift/icon/ti",
"swift/pxToCGFloat",
"swift/toFontWeight",
"swift/svgToImageView",
@@ -109,14 +124,16 @@ export function getCommonIOSConfig(): Platform {
filter: function(token: TransformedToken) {
return token.type == 'icon' && iosExclude.matcher(token);
},
- destination: "CompoundIconTokens.swift",
- format: "ios-swift/class.swift",
+ destination: "CompoundIcons.swift",
+ format: "swift/class-members",
options: {
showFileHeader: false,
outputReferences: true,
- import: "SwiftUI",
+ import: ["SwiftUI"],
+ objectType: "class",
+ accessControl: "public",
},
- className: "CompoundIconTokens",
+ className: "CompoundIcons",
},
{
filter: function(token: TransformedToken) {
diff --git a/src/formats/templates/swift/class-members.template b/src/formats/templates/swift/class-members.template
new file mode 100644
index 00000000..87024abc
--- /dev/null
+++ b/src/formats/templates/swift/class-members.template
@@ -0,0 +1,33 @@
+<%
+// This file is a tweak based upon the built in any.swift.template. If
+// https://github.com/amzn/style-dictionary/pull/972 is merged, we
+// should be able to remove it and use the upstream flag instead.
+//
+// Copyright 2019 Alaska Air Group or its affiliates. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License").
+// You may not use this file except in compliance with the License.
+// A copy of the License is located at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// or in the "license" file accompanying this file. This file is distributed
+// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+// express or implied. See the License for the specific language governing
+// permissions and limitations under the License.
+%>
+//
+// <%= file.destination %>
+//
+<%= fileHeader({file, commentStyle: 'short'}) %>
+<%= options.import.map(function(item) {
+ return 'import ' + item
+ }).join('\n')
+%>
+
+<%= options.accessControl %> <%= options.objectType %> <%= file.className %> {
+ <%= allProperties.map(function(prop) {
+ return options.accessControl + ' let ' + formatProperty(prop);
+ }).join('\n ') %>
+ <%= options.accessControl %> init() { }
+}
diff --git a/src/setupStyleDictionary.ts b/src/setupStyleDictionary.ts
index 4b853a53..01072d52 100644
--- a/src/setupStyleDictionary.ts
+++ b/src/setupStyleDictionary.ts
@@ -46,6 +46,7 @@ import percentageToUnitless from "./transforms/css/percentageToUnitless";
import { isCoreColor, isNotCoreColor } from "./filters/isCoreColor";
import svgToDrawable from "./transforms/kotlin/svgToDrawable";
import iconsImport from "./transforms/css/iconsImport";
+import iconTICamel from "./transforms/swift/iconTICamel";
import svgToImageView from "./transforms/swift/svgToImageView";
import * as lodash from "lodash";
import { isSharedAcrossTheme } from "./filters/isSharedAcrossTheme";
@@ -72,6 +73,10 @@ async function setupDictionary(sb: Core) {
name: "swift/coreUIColorSet",
...coreUIColorSet,
} as Named);
+ sb.registerTransform({
+ name: "swift/icon/ti",
+ ...iconTICamel,
+ } as Named);
sb.registerTransform({
name: "swift/svgToImageView",
...svgToImageView,
diff --git a/src/transforms/swift/iconTICamel.ts b/src/transforms/swift/iconTICamel.ts
new file mode 100644
index 00000000..094b77de
--- /dev/null
+++ b/src/transforms/swift/iconTICamel.ts
@@ -0,0 +1,123 @@
+/*
+Copyright 2023 The Matrix.org Foundation C.I.C.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import _ from "lodash";
+import { Transform } from "style-dictionary/types/Transform";
+
+/**
+ * A name transformer based on name/ti/camel that only operates on icons,
+ * safely transforming Swift keywords by escaping them with backticks
+ */
+export default {
+ type: 'name',
+ matcher: function (token) {
+ return token.type === "icon";
+ },
+ transformer: function(token, options) {
+ let prefix = ''
+ if (options && options.prefix) {
+ prefix = options.prefix
+ }
+ let name = _.camelCase( [prefix].concat(token.path.slice(1, token.path.length)).join(' ') );
+ return escape(name)
+ },
+} as Transform;
+
+function escape(tokenName: string) {
+ if (swiftKeywords.includes(tokenName)) {
+ return `\`${tokenName}\``
+ } else {
+ return tokenName
+ }
+}
+
+export function unescape(tokenName: string) {
+ if (tokenName.includes("`")) {
+ return tokenName.replaceAll("`", "")
+ } else {
+ return tokenName
+ }
+}
+
+/*
+Sourced from The Swift Programming Language book:
+https://docs.swift.org/swift-book/documentation/the-swift-programming-language/lexicalstructure/#Keywords-and-Punctuation
+*/
+const swiftKeywords = [
+ // declarations
+ "associatedtype",
+ "class",
+ "deinit",
+ "enum",
+ "extension",
+ "fileprivate",
+ "func",
+ "import",
+ "init",
+ "inout",
+ "internal",
+ "let",
+ "open",
+ "operator",
+ "private",
+ "precedencegroup",
+ "protocol",
+ "public",
+ "rethrows",
+ "static",
+ "struct",
+ "subscript",
+ "typealias",
+ "var",
+
+ // statements
+ "break",
+ "case",
+ "catch",
+ "continue",
+ "default",
+ "defer",
+ "do",
+ "else",
+ "fallthrough",
+ "for",
+ "guard",
+ "if",
+ "in",
+ "repeat",
+ "return",
+ "throw",
+ "switch",
+ "where",
+ "while",
+
+ // expressions and types
+ "Any",
+ "as",
+ "await",
+ "catch",
+ "false",
+ "is",
+ "nil",
+ "rethrows",
+ "self",
+ "Self",
+ "super",
+ "throw",
+ "throws",
+ "true",
+ "try"
+]
diff --git a/src/transforms/swift/svgToImageView.ts b/src/transforms/swift/svgToImageView.ts
index 14a5f8ac..c96ad4e8 100644
--- a/src/transforms/swift/svgToImageView.ts
+++ b/src/transforms/swift/svgToImageView.ts
@@ -18,6 +18,7 @@ import path, { dirname } from "path";
import fs from "fs-extra";
import { Transform } from "style-dictionary/types/Transform";
import { contents } from "../../actions/swift/colorset";
+import { unescape } from "./iconTICamel";
/**
* A transformer to change svg path to a SwiftUI Image
@@ -29,7 +30,8 @@ export default {
return token.type === "icon";
},
transformer: function (token, platform) {
- const filename = token.name + ".svg";
+ const tokenName = unescape(token.name)
+ const filename = tokenName + ".svg";
const outputAssetPath = `${platform!.buildPath}/Icons.xcassets`;
const sourceIconPath = path.join(
dirname(require.main!.filename),
@@ -46,7 +48,7 @@ export default {
);
}
- const imageAssetPath = outputAssetPath + "/" + token.name + ".imageset";
+ const imageAssetPath = outputAssetPath + "/" + tokenName + ".imageset";
fs.ensureDirSync(imageAssetPath);
const svgContent = fs.readFileSync(sourceIconPath, "utf8");
@@ -65,7 +67,7 @@ export default {
"utf-8"
);
- return `Image("${token.name}", bundle: Bundle.module)`;
+ return `Image("${tokenName}", bundle: Bundle.module)`;
},
} as Transform;