diff --git a/TIAppleMapUtils/TIAppleMapUtils.podspec b/TIAppleMapUtils/TIAppleMapUtils.podspec index 0ccefe4e..837ddc85 100644 --- a/TIAppleMapUtils/TIAppleMapUtils.podspec +++ b/TIAppleMapUtils/TIAppleMapUtils.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIAppleMapUtils' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Set of helpers for map objects clustering and interacting using Apple MapKit.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TIAuth/TIAuth.podspec b/TIAuth/TIAuth.podspec index 48145ef8..884ed177 100644 --- a/TIAuth/TIAuth.podspec +++ b/TIAuth/TIAuth.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIAuth' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Login, registration, confirmation and other related actions' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TIDeveloperUtils/TIDeveloperUtils.podspec b/TIDeveloperUtils/TIDeveloperUtils.podspec index 268862e2..8c4e076b 100644 --- a/TIDeveloperUtils/TIDeveloperUtils.podspec +++ b/TIDeveloperUtils/TIDeveloperUtils.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIDeveloperUtils' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Universal web view API' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TIEcommerce/TIEcommerce.podspec b/TIEcommerce/TIEcommerce.podspec index c703fc15..f6696364 100644 --- a/TIEcommerce/TIEcommerce.podspec +++ b/TIEcommerce/TIEcommerce.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIEcommerce' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Cart, products, promocodes, bonuses and other related actions' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TIFoundationUtils/TIFoundationUtils.podspec b/TIFoundationUtils/TIFoundationUtils.podspec index ceab48a2..3dd87f16 100644 --- a/TIFoundationUtils/TIFoundationUtils.podspec +++ b/TIFoundationUtils/TIFoundationUtils.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIFoundationUtils' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Set of helpers for Foundation framework classes.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TIGoogleMapUtils/TIGoogleMapUtils.podspec b/TIGoogleMapUtils/TIGoogleMapUtils.podspec index afff0892..f5e13de7 100644 --- a/TIGoogleMapUtils/TIGoogleMapUtils.podspec +++ b/TIGoogleMapUtils/TIGoogleMapUtils.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIGoogleMapUtils' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Set of helpers for map objects clustering and interacting using Google Maps SDK.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TIKeychainUtils/TIKeychainUtils.podspec b/TIKeychainUtils/TIKeychainUtils.podspec index 9c8d53f3..25c4fa16 100644 --- a/TIKeychainUtils/TIKeychainUtils.podspec +++ b/TIKeychainUtils/TIKeychainUtils.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIKeychainUtils' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Set of helpers for Keychain classes.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TIMapUtils/TIMapUtils.podspec b/TIMapUtils/TIMapUtils.podspec index ab545776..94019482 100644 --- a/TIMapUtils/TIMapUtils.podspec +++ b/TIMapUtils/TIMapUtils.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIMapUtils' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Set of helpers for map objects clustering and interacting.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TIMoyaNetworking/TIMoyaNetworking.podspec b/TIMoyaNetworking/TIMoyaNetworking.podspec index 76c7a085..c8d020a5 100644 --- a/TIMoyaNetworking/TIMoyaNetworking.podspec +++ b/TIMoyaNetworking/TIMoyaNetworking.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIMoyaNetworking' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Moya + Swagger network service.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TINetworking/TINetworking.podspec b/TINetworking/TINetworking.podspec index f8abe6eb..e26aa3b6 100644 --- a/TINetworking/TINetworking.podspec +++ b/TINetworking/TINetworking.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TINetworking' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Swagger-frendly networking layer helpers.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TINetworkingCache/TINetworkingCache.podspec b/TINetworkingCache/TINetworkingCache.podspec index 7fbeea5f..3292f422 100644 --- a/TINetworkingCache/TINetworkingCache.podspec +++ b/TINetworkingCache/TINetworkingCache.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TINetworkingCache' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Caching results of EndpointRequests.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TIPagination/TIPagination.podspec b/TIPagination/TIPagination.podspec index 8a82d612..c2327dde 100644 --- a/TIPagination/TIPagination.podspec +++ b/TIPagination/TIPagination.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIPagination' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Generic pagination component.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TISwiftUICore/TISwiftUICore.podspec b/TISwiftUICore/TISwiftUICore.podspec index e71acf42..cad3bd44 100644 --- a/TISwiftUICore/TISwiftUICore.podspec +++ b/TISwiftUICore/TISwiftUICore.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TISwiftUICore' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Core UI elements: protocols, views and helpers.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TISwiftUtils/TISwiftUtils.podspec b/TISwiftUtils/TISwiftUtils.podspec index 6f6674eb..f610dc08 100644 --- a/TISwiftUtils/TISwiftUtils.podspec +++ b/TISwiftUtils/TISwiftUtils.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TISwiftUtils' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Bunch of useful helpers for Swift development.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TITableKitUtils/TITableKitUtils.podspec b/TITableKitUtils/TITableKitUtils.podspec index 20842e42..e7cdf5c4 100644 --- a/TITableKitUtils/TITableKitUtils.podspec +++ b/TITableKitUtils/TITableKitUtils.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TITableKitUtils' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Set of helpers for TableKit classes.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TIUIElements/Sources/Appearance/UIButton+Appearance.swift b/TIUIElements/Sources/Appearance/UIButton+Appearance.swift index 48b270cc..d2cec3b8 100644 --- a/TIUIElements/Sources/Appearance/UIButton+Appearance.swift +++ b/TIUIElements/Sources/Appearance/UIButton+Appearance.swift @@ -24,8 +24,9 @@ import TIUIKitCore import UIKit extension UIButton { - open class BaseAppearance: UILabel.BaseAppearance { + open class BaseAppearance: UIView.BaseAppearance { + public var textAttributes: BaseTextAttributes? public var contentInsets: UIEdgeInsets public var titleInsets: UIEdgeInsets public var imageInsets: UIEdgeInsets @@ -34,14 +35,14 @@ extension UIButton { backgroundColor: UIColor = .clear, roundedCorners: CACornerMask = [], cornerRadius: CGFloat = .zero, - borderColor: UIColor = .clear, - borderWidth: CGFloat = .zero, + border: UIViewBorder = .init(), shadow: UIViewShadow? = nil, textAttributes: BaseTextAttributes? = nil, contentInsets: UIEdgeInsets = .zero, titleInsets: UIEdgeInsets = .zero, imageInsets: UIEdgeInsets = .zero) { + self.textAttributes = textAttributes self.contentInsets = contentInsets self.titleInsets = titleInsets self.imageInsets = imageInsets @@ -50,8 +51,7 @@ extension UIButton { backgroundColor: backgroundColor, roundedCorners: roundedCorners, cornerRadius: cornerRadius, - borderColor: borderColor, - borderWidth: borderWidth, + border: border, shadow: shadow) } } diff --git a/TIUIElements/Sources/Appearance/UILabel+Appearance.swift b/TIUIElements/Sources/Appearance/UILabel+Appearance.swift index ab0ab1a5..20312bfa 100644 --- a/TIUIElements/Sources/Appearance/UILabel+Appearance.swift +++ b/TIUIElements/Sources/Appearance/UILabel+Appearance.swift @@ -32,8 +32,7 @@ extension UILabel { backgroundColor: UIColor = .clear, roundedCorners: CACornerMask = [], cornerRadius: CGFloat = .zero, - borderColor: UIColor = .clear, - borderWidth: CGFloat = .zero, + border: UIViewBorder = .init(), shadow: UIViewShadow? = nil, textAttributes: BaseTextAttributes? = nil) { @@ -43,8 +42,7 @@ extension UILabel { backgroundColor: backgroundColor, roundedCorners: roundedCorners, cornerRadius: cornerRadius, - borderColor: borderColor, - borderWidth: borderWidth, + border: border, shadow: shadow) } } diff --git a/TIUIElements/Sources/Appearance/UIVIew+AppearanceConfigurable.swift b/TIUIElements/Sources/Appearance/UIVIew+AppearanceConfigurable.swift index ad96907c..ed5fc85a 100644 --- a/TIUIElements/Sources/Appearance/UIVIew+AppearanceConfigurable.swift +++ b/TIUIElements/Sources/Appearance/UIVIew+AppearanceConfigurable.swift @@ -29,8 +29,8 @@ extension UIView { layer.masksToBounds = true layer.maskedCorners = appearance.roundedCorners layer.cornerRadius = appearance.cornerRadius - layer.borderWidth = appearance.borderWidth - layer.borderColor = appearance.borderColor.cgColor + layer.borderWidth = appearance.border.width + layer.borderColor = appearance.border.color.cgColor guard let shadow = appearance.shadow else { return diff --git a/TIUIElements/Sources/Appearance/UIView+Appearance.swift b/TIUIElements/Sources/Appearance/UIView+Appearance.swift index 63835de0..1833f5ff 100644 --- a/TIUIElements/Sources/Appearance/UIView+Appearance.swift +++ b/TIUIElements/Sources/Appearance/UIView+Appearance.swift @@ -97,24 +97,21 @@ extension UIView { public var backgroundColor: UIColor public var roundedCorners: CACornerMask public var cornerRadius: CGFloat - public var borderColor: UIColor - public var borderWidth: CGFloat + public var border: UIViewBorder public var shadow: UIViewShadow? public init(layout: Layout = .defaultLayout, backgroundColor: UIColor = .clear, roundedCorners: CACornerMask = [], cornerRadius: CGFloat = .zero, - borderColor: UIColor = .clear, - borderWidth: CGFloat = .zero, + border: UIViewBorder = .init(), shadow: UIViewShadow? = nil) { self.layout = layout self.backgroundColor = backgroundColor self.roundedCorners = roundedCorners self.cornerRadius = cornerRadius - self.borderColor = borderColor - self.borderWidth = borderWidth + self.border = border self.shadow = shadow } } diff --git a/TIUIKitCore/Sources/Appearance/Helpers/WrappedViewLayout+Helpers.swift b/TIUIElements/Sources/Views/Helpers/WrappedViewLayout+Helpers.swift similarity index 99% rename from TIUIKitCore/Sources/Appearance/Helpers/WrappedViewLayout+Helpers.swift rename to TIUIElements/Sources/Views/Helpers/WrappedViewLayout+Helpers.swift index 4eb8b592..e9881d1b 100644 --- a/TIUIKitCore/Sources/Appearance/Helpers/WrappedViewLayout+Helpers.swift +++ b/TIUIElements/Sources/Views/Helpers/WrappedViewLayout+Helpers.swift @@ -20,6 +20,7 @@ // THE SOFTWARE. // +import TIUIKitCore import UIKit extension WrappedViewLayout { diff --git a/TIUIElements/Sources/Views/TitleSubtitleView/DefaultTitleSubtitleView+Appearance.swift b/TIUIElements/Sources/Views/TitleSubtitleView/DefaultTitleSubtitleView+Appearance.swift index a66ce6be..4b91a8cc 100644 --- a/TIUIElements/Sources/Views/TitleSubtitleView/DefaultTitleSubtitleView+Appearance.swift +++ b/TIUIElements/Sources/Views/TitleSubtitleView/DefaultTitleSubtitleView+Appearance.swift @@ -38,8 +38,7 @@ extension DefaultTitleSubtitleView { backgroundColor: UIColor = .clear, roundedCorners: CACornerMask = [], cornerRadius: CGFloat = .zero, - borderColor: UIColor = .clear, - borderWidth: CGFloat = .zero, + border: UIViewBorder = .init(), shadow: UIViewShadow? = nil, titleAppearance: UILabel.DefaultAppearance = .defaultAppearance, subtitleAppearance: UILabel.DefaultAppearance = .defaultAppearance) { @@ -51,8 +50,7 @@ extension DefaultTitleSubtitleView { backgroundColor: backgroundColor, roundedCorners: roundedCorners, cornerRadius: cornerRadius, - borderColor: borderColor, - borderWidth: borderWidth, + border: border, shadow: shadow) } } diff --git a/TIUIElements/TIUIElements.podspec b/TIUIElements/TIUIElements.podspec index c05e4f86..929a4d54 100644 --- a/TIUIElements/TIUIElements.podspec +++ b/TIUIElements/TIUIElements.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIUIElements' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Bunch of useful protocols and views.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TIUIKitCore/Sources/Appearance/UIViewBorder.swift b/TIUIKitCore/Sources/Appearance/UIViewBorder.swift new file mode 100644 index 00000000..6aa8c0da --- /dev/null +++ b/TIUIKitCore/Sources/Appearance/UIViewBorder.swift @@ -0,0 +1,33 @@ +// +// Copyright (c) 2023 Touch Instinct +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the Software), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// + +import UIKit + +public struct UIViewBorder { + public var color: UIColor + public var width: CGFloat + + public init(color: UIColor = .clear, width: CGFloat = .zero) { + self.color = color + self.width = width + } +} diff --git a/TIUIKitCore/Sources/Appearance/ViewAppearance.swift b/TIUIKitCore/Sources/Appearance/ViewAppearance.swift index 44f71745..4a8001d1 100644 --- a/TIUIKitCore/Sources/Appearance/ViewAppearance.swift +++ b/TIUIKitCore/Sources/Appearance/ViewAppearance.swift @@ -31,8 +31,7 @@ public protocol ViewAppearance { var backgroundColor: UIColor { get } var roundedCorners: CACornerMask { get } var cornerRadius: CGFloat { get } - var borderColor: UIColor { get } - var borderWidth: CGFloat { get } + var border: UIViewBorder { get } var shadow: UIViewShadow? { get } } diff --git a/TIUIKitCore/TIUIKitCore.podspec b/TIUIKitCore/TIUIKitCore.podspec index 444b8842..b62c7eb6 100644 --- a/TIUIKitCore/TIUIKitCore.podspec +++ b/TIUIKitCore/TIUIKitCore.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIUIKitCore' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Core UI elements: protocols, views and helpers.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TIWebView/TIWebView.podspec b/TIWebView/TIWebView.podspec index 86d5a948..9e3654b8 100644 --- a/TIWebView/TIWebView.podspec +++ b/TIWebView/TIWebView.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIWebView' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Universal web view API' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' } diff --git a/TIYandexMapUtils/TIYandexMapUtils.podspec b/TIYandexMapUtils/TIYandexMapUtils.podspec index e9b55fc7..d832db7e 100644 --- a/TIYandexMapUtils/TIYandexMapUtils.podspec +++ b/TIYandexMapUtils/TIYandexMapUtils.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TIYandexMapUtils' - s.version = '1.38.1' + s.version = '1.39.0' s.summary = 'Set of helpers for map objects clustering and interacting using Yandex Maps SDK.' s.homepage = 'https://gitlab.ti/touchinstinct/LeadKit/tree/' + s.version.to_s + '/' + s.name s.license = { :type => 'MIT', :file => 'LICENSE' }