From 25dd14e6415ab3d5c1242811aea0ae598ca15711 Mon Sep 17 00:00:00 2001 From: Jeanne <25933880+fleuryj@users.noreply.github.com> Date: Mon, 8 Jul 2024 09:24:14 +0200 Subject: [PATCH 1/2] SBBListItem: right icon is not necessarily circled --- .../Views/SBBListItem.swift | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/SBBDesignSystemMobileSwiftUI/Views/SBBListItem.swift b/SBBDesignSystemMobileSwiftUI/Views/SBBListItem.swift index fbc5eb897..a196ec714 100644 --- a/SBBDesignSystemMobileSwiftUI/Views/SBBListItem.swift +++ b/SBBDesignSystemMobileSwiftUI/Views/SBBListItem.swift @@ -29,6 +29,7 @@ public struct SBBListItem: View { private let footnote: Text? private let footnoteAccessibility: Text? private let showBottomLine: Bool + private let rightImageIsCircled: Bool var leftSwipeButtonLabel: AnyView? var leftSwipeButtonAction: (() -> ())? @@ -52,8 +53,9 @@ public struct SBBListItem: View { - footnote: An optional label displayed underneath the main label. - footnoteAccessibility: The optional alternative text for the footnote's VoiceOver. - showBottomLine: Shows or hides a separator line at the bottom of the View (typically only false for last elements in a List). + - rightImageIsCircled: The right icon is in a circle. */ - public init(label: Text, labelAccessibility: Text? = nil, leftImage: Image? = nil, rightImage: Image? = Image(sbbIcon: .chevron_small_right_small), footnote: Text? = nil, footnoteAccessibility: Text? = nil, showBottomLine: Bool = true) { + public init(label: Text, labelAccessibility: Text? = nil, leftImage: Image? = nil, rightImage: Image? = Image(sbbIcon: .chevron_small_right_small), footnote: Text? = nil, footnoteAccessibility: Text? = nil, showBottomLine: Bool = true, rightImageIsCircled: Bool = true) { self.label = label self.labelAccessibility = labelAccessibility self.leftImage = leftImage @@ -61,6 +63,7 @@ public struct SBBListItem: View { self.footnote = footnote self.footnoteAccessibility = footnoteAccessibility self.showBottomLine = showBottomLine + self.rightImageIsCircled = rightImageIsCircled } /// SBBListItem Type. @@ -72,7 +75,7 @@ public struct SBBListItem: View { } @available(*, deprecated, message: "image renamed to leftImage. SBBListItemType removed, instead use rightImage to specify the desired image.") - public init(label: Text, labelAccessibility: Text? = nil, image: Image, footnote: Text? = nil, footnoteAccessibility: Text? = nil, type: SBBListItemType = .normal, showBottomLine: Bool = true) { + public init(label: Text, labelAccessibility: Text? = nil, image: Image, footnote: Text? = nil, footnoteAccessibility: Text? = nil, type: SBBListItemType = .normal, showBottomLine: Bool = true, rightImageIsCircled: Bool = true) { self.label = label self.labelAccessibility = labelAccessibility self.leftImage = image @@ -80,10 +83,11 @@ public struct SBBListItem: View { self.footnoteAccessibility = footnoteAccessibility self.rightImage = Image(sbbIcon: (type == .normal ? .chevron_small_right_small : .circle_information_small_small)) self.showBottomLine = showBottomLine + self.rightImageIsCircled = rightImageIsCircled } @available(*, deprecated, message: "image renamed to leftImage. SBBListItemType removed, instead use rightImage to specify the desired image.") - public init(label: Text, labelAccessibility: Text? = nil, footnote: Text? = nil, footnoteAccessibility: Text? = nil, type: SBBListItemType, showBottomLine: Bool = true) { + public init(label: Text, labelAccessibility: Text? = nil, footnote: Text? = nil, footnoteAccessibility: Text? = nil, type: SBBListItemType, showBottomLine: Bool = true, rightImageIsCircled: Bool = true) { self.label = label self.labelAccessibility = labelAccessibility self.leftImage = nil @@ -91,6 +95,7 @@ public struct SBBListItem: View { self.footnoteAccessibility = footnoteAccessibility self.rightImage = Image(sbbIcon: (type == .normal ? .chevron_small_right_small : .circle_information_small_small)) self.showBottomLine = showBottomLine + self.rightImageIsCircled = rightImageIsCircled } public var body: some View { @@ -160,12 +165,19 @@ public struct SBBListItem: View { .padding(.vertical, 12) Spacer() if let rightImage { - rightImage - .accessibility(hidden: true) - .frame(width: 32, height: 32) - .clipShape(Circle()) - .overlay(Circle().stroke(Color.sbbColor(.border))) - .padding(.vertical, 6) + if rightImageIsCircled { + rightImage + .accessibility(hidden: true) + .frame(width: 32, height: 32) + .clipShape(Circle()) + .overlay(Circle().stroke(Color.sbbColor(.border))) + .padding(.vertical, 6) + } else { + rightImage + .accessibility(hidden: true) + .frame(width: 32, height: 32) + .padding(.vertical, 6) + } } } .frame(minHeight: 44) From 0e7723f406f2c38ae36b3a529b7678096451cdee Mon Sep 17 00:00:00 2001 From: Jeanne <25933880+fleuryj@users.noreply.github.com> Date: Mon, 8 Jul 2024 10:58:30 +0200 Subject: [PATCH 2/2] feat: add tiny SBBLoadingIndicator --- .../Views/SBBLoadingIndicator.swift | 83 ++++++++++++------ .../Views/SBBLoadingIndicatorTests.swift | 33 ++++++- .../testLoadingIndicatorNormalGrey.1.png | Bin 46180 -> 47587 bytes .../testLoadingIndicatorNormalGrey.2.png | Bin 46180 -> 47587 bytes .../testLoadingIndicatorNormalPrimary.1.png | Bin 46182 -> 47840 bytes .../testLoadingIndicatorNormalPrimary.2.png | Bin 46182 -> 47840 bytes .../testLoadingIndicatorSmallPrimary.1.png | Bin 46187 -> 46416 bytes .../testLoadingIndicatorSmallPrimary.2.png | Bin 46187 -> 46416 bytes .../testLoadingIndicatorTineyPrimary.1.png | Bin 0 -> 46387 bytes .../testLoadingIndicatorTineyPrimary.2.png | Bin 0 -> 46387 bytes 10 files changed, 84 insertions(+), 32 deletions(-) create mode 100644 ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorTineyPrimary.1.png create mode 100644 ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorTineyPrimary.2.png diff --git a/SBBDesignSystemMobileSwiftUI/Views/SBBLoadingIndicator.swift b/SBBDesignSystemMobileSwiftUI/Views/SBBLoadingIndicator.swift index 76f4a834d..6da45daf6 100644 --- a/SBBDesignSystemMobileSwiftUI/Views/SBBLoadingIndicator.swift +++ b/SBBDesignSystemMobileSwiftUI/Views/SBBLoadingIndicator.swift @@ -24,6 +24,8 @@ public struct SBBLoadingIndicator: View { case normal /// Small SBBLoadingIndicator Size. case small + /// Tiny SBBLoadingIndicator Size. + case tiny var size: CGSize { switch self { @@ -31,6 +33,8 @@ public struct SBBLoadingIndicator: View { return CGSize(width: 55, height: 32) case .small: return CGSize(width: 31, height: 18) + case .tiny: + return CGSize(width: 15, height: 9) } } } @@ -90,7 +94,7 @@ public struct SBBLoadingIndicator: View { let innerWidth = width / CGFloat(cos(rotationInDegrees * .pi / 180)) * 3.0 self.innerWidth = innerWidth - let paddingBetweenRectangles = size == .normal ? 8.0 : 4.0 + let paddingBetweenRectangles = size == .normal ? 8.0 : size == .small ? 4.0 : 2.0 self.rectangleWidth = innerWidth / CGFloat(numberOfRectangles) + paddingBetweenRectangles rectangleOffsets = [-rectangleWidth, 0, rectangleWidth, 2.0*rectangleWidth, 3.0*rectangleWidth, 4.0*rectangleWidth] @@ -99,37 +103,34 @@ public struct SBBLoadingIndicator: View { } public var body: some View { - Group { - ZStack { - ForEach(rectangleProperties.indices, id:\.self) { index in - Rectangle() - .fill(style.color(for: colorScheme)) - .frame(width: innerWidth / CGFloat(numberOfRectangles), height: height) - .opacity(rectangleProperties[index].opacity) - .offset(x: rectangleProperties[index].offset) - .onAppear { - DispatchQueue.main.async { - withAnimation(Animation.linear(duration: animationDuration) - .repeatForever(autoreverses: false) - ) - { - rectangleProperties[index].offset = rectangleOffsets[index] - } - - withAnimation(Animation.linear(duration: animationDuration) - .repeatForever(autoreverses: false) - ) { - rectangleProperties[index].opacity = rectangleOpacity[index] - } + ZStack { + ForEach(rectangleProperties.indices, id:\.self) { index in + Rectangle() + .fill(style.color(for: colorScheme)) + .frame(width: innerWidth / CGFloat(numberOfRectangles), height: height) + .opacity(rectangleProperties[index].opacity) + .offset(x: rectangleProperties[index].offset) + .onAppear { + DispatchQueue.main.async { + withAnimation(Animation.linear(duration: animationDuration) + .repeatForever(autoreverses: false) + ) + { + rectangleProperties[index].offset = rectangleOffsets[index] + } + + withAnimation(Animation.linear(duration: animationDuration) + .repeatForever(autoreverses: false) + ) { + rectangleProperties[index].opacity = rectangleOpacity[index] } } - } + } } - .rotation3DEffect(.degrees(rotationInDegrees), axis: (x: 0, y: 1, z: 0), anchor: .leading) } - .frame(width: width, height: height, alignment: .leading) - .padding(16) - + .rotation3DEffect(.degrees(rotationInDegrees), axis: (x: 0, y: 1, z: 0), anchor: .leading) + .frame(width: width, height: height, alignment: .leading) + .padding(16) .accessibility(label: Text("Loading.".localized)) } } @@ -138,6 +139,15 @@ public struct SBBLoadingIndicator: View { struct SBBLoadingIndicator_Previews: PreviewProvider { static var previews: some View { Group { + VStack { + SBBLoadingIndicator() + .previewDisplayName("normal, red, light") + SBBLoadingIndicator(size: .small) + .previewDisplayName("normal, red, light") + SBBLoadingIndicator(size: .tiny) + .previewDisplayName("normal, red, light") + + } Group { SBBLoadingIndicator() .previewDisplayName("normal, red, light") @@ -170,6 +180,23 @@ struct SBBLoadingIndicator_Previews: PreviewProvider { .previewDisplayName("small, white, dark") .environment(\.colorScheme, .dark) } + + Group { + SBBLoadingIndicator(size: .tiny) + .previewDisplayName("tiny, red, light") + SBBLoadingIndicator(size: .tiny) + .previewDisplayName("tiny, red, dark") + .environment(\.colorScheme, .dark) + SBBLoadingIndicator(size: .tiny, style: .grey) + .previewDisplayName("tiny, grey, light") + SBBLoadingIndicator(size: .tiny, style: .grey) + .previewDisplayName("tiny, grey, dark") + SBBLoadingIndicator(size: .tiny, style: .primaryBackground) + .previewDisplayName("tiny, white, light") + SBBLoadingIndicator(size: .small, style: .primaryBackground) + .previewDisplayName("tiny, white, dark") + .environment(\.colorScheme, .dark) + } } .previewLayout(.sizeThatFits) } diff --git a/SBBDesignSystemMobileSwiftUIDemoTests/Views/SBBLoadingIndicatorTests.swift b/SBBDesignSystemMobileSwiftUIDemoTests/Views/SBBLoadingIndicatorTests.swift index 30e4eba25..cf143e944 100644 --- a/SBBDesignSystemMobileSwiftUIDemoTests/Views/SBBLoadingIndicatorTests.swift +++ b/SBBDesignSystemMobileSwiftUIDemoTests/Views/SBBLoadingIndicatorTests.swift @@ -9,32 +9,57 @@ import SBBDesignSystemMobileSwiftUI class SBBLoadingIndicatorTests: XCTestCase { + // WORKAROUND: no 3D rotation applied on standard snapshots but Documentation snapshots renders indicator correctly (e.g. image) -> renders image and compare that + private func renderSBBLoadingIndicator(view: any View, colorScheme: ColorScheme) -> UIViewController { + let controller = view.colorScheme(colorScheme).toVC() + let view = controller.view + + let targetSize = controller.view.intrinsicContentSize + view?.bounds = CGRect(origin: .zero, size: targetSize) + view?.backgroundColor = .clear + + let renderer = UIGraphicsImageRenderer(size: targetSize) + + let image = renderer.image { _ in + view?.drawHierarchy(in: controller.view.bounds, afterScreenUpdates: true) + } + + return Image(uiImage: image).toVC() + } + func testLoadingIndicatorNormalPrimary() { let view = SBBLoadingIndicator(size: .normal, style: .primary) for colorScheme in ColorScheme.allCases { view.recordDocumentationSnapshot(name: "SBBLoadingIndicator", colorScheme: colorScheme) - assertSnapshot(matching: view.colorScheme(colorScheme).toVC(), as: imagePortrait, record: recordNewReferenceSnapshots) + assertSnapshot(matching: renderSBBLoadingIndicator(view: view, colorScheme: colorScheme), as: imagePortrait, record: recordNewReferenceSnapshots) } } func testLoadingIndicatorNormalGrey() { let view = SBBLoadingIndicator(size: .normal, style: .grey) for colorScheme in ColorScheme.allCases { - assertSnapshot(matching: view.colorScheme(colorScheme).toVC(), as: imagePortrait, record: recordNewReferenceSnapshots) + assertSnapshot(matching: renderSBBLoadingIndicator(view: view, colorScheme: colorScheme), as: imagePortrait, record: recordNewReferenceSnapshots) } } func testLoadingIndicatorNormalWhite() { let view = SBBLoadingIndicator(size: .normal, style: .primaryBackground) for colorScheme in ColorScheme.allCases { - assertSnapshot(matching: view.colorScheme(colorScheme).toVC(), as: imagePortrait, record: recordNewReferenceSnapshots) + assertSnapshot(matching: renderSBBLoadingIndicator(view: view, colorScheme: colorScheme), as: imagePortrait, record: recordNewReferenceSnapshots) } } func testLoadingIndicatorSmallPrimary() { let view = SBBLoadingIndicator(size: .small, style: .primary) for colorScheme in ColorScheme.allCases { - assertSnapshot(matching: view.colorScheme(colorScheme).toVC(), as: imagePortrait, record: recordNewReferenceSnapshots) + assertSnapshot(matching: renderSBBLoadingIndicator(view: view, colorScheme: colorScheme), as: imagePortrait, record: recordNewReferenceSnapshots) + } + } + + func testLoadingIndicatorTineyPrimary() { + let view = SBBLoadingIndicator(size: .tiny, style: .primary) + for colorScheme in ColorScheme.allCases { + assertSnapshot(matching: renderSBBLoadingIndicator(view: view, colorScheme: colorScheme), as: imagePortrait, record: recordNewReferenceSnapshots) } } } diff --git a/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorNormalGrey.1.png b/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorNormalGrey.1.png index 62a0480526ad57703f655385976b38f6da2403bc..81f90c8f592417355e8b1f465c7c1902f9977d4b 100644 GIT binary patch literal 47587 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 literal 46180 zcmeHQeN0nV6uuF0oUm^rOuBmn>&~nq=<hS`E?kiFa12mtHhW@-iopx*rq& zqQ9(mzG0u2lS78ndjpBm#1S1ELcfV-5Q!4+3CY$Zgzxh-7HN!@kTvs(UK&$Cuk7m_ z{h^@$5&Fz9qGYK1`f%n>vGD z>4fY{#~8QptL_RRvmL%#lb;ZQ*liPMEZ1B=|Haym^ZTbeW*%79w*EIq)Z9*I?y{vd zcb!{=@*~BoKE1WK>15#6egDmoC(_P$yw`p0&(og5m1V~pyP7(#o&B8N);HdJr{PkR z=fMY!e$VN9XFX|U$GZb16?aaTmumF}qgm)U@l@CErW>Z0zAIU|;cj4bK`_oaAuanr zS#)=4$4%YD&f66&e$U22aj>f)m?^mL_6|(mb*E;hC8@b2Shd#btD<+6R$t4#ALe+7 zhSBZ%+C`sr6>bgG21~D93SPY!+{6d5vF*XX-`>avS~QLfx5;VS?yojFZSm4CAHICl zWENa>h+ivFzxn-8HV2=|KQ(6^XGn;V9v*vtwLC%F?$&BfzkZ-Zc17U;PMpngq-;S! zvPfT_EwJh19i62~q3Potdj?l8k{0|8TL@d+{X^mDeJu~B|1wlusCinL!Gs|)gLmFt zn#Aefh?2-&+?vj3V(Y!(*)br7O5a7w<3bExGRO?>%iNv7=@*YQbF#OOzYr31m1Rk= z?Qj;8kKW)8GngSWIOVlL7ua8y(*GzdVW+rIF7Eq#_oQtqSHr;T|rj{k{L!VH>Z2B+6#jFS{>c38r*WC?c$_RWV1Kn36h-~~iS2Ot0t zgpmrd0Ac}zgHI?NT-g>1o_TyH2Es*2=H`WO9gspk9vd_4&J*1B!I?bLW!wJ8VkrlZ8CU^Wd;wLjLxxjuScxsd2@4eO_G{H2pj@e=>#+! zE=B2?;8NhjRX7OHM3kb$4MZsj3ss>t;&8;_O58x=gG^JEts}KZYOll%)KXBqlIvNb zyFl>@)j}n1pgfCuxLhJfi?-bC`a&!RtERj@~S z7Ufx`iv(ysZqR&l*D)(0gH7x#0K9&J_k9#D8ntn}V5O{a2uSmh<|EBVn$H_8(1nFA zEJehCE-btTu1x6&y0Gxxy)t4z7Zy&IP-(>D&NPDu=dKw`&qXwR8wl>`*I9ffxw4s^ z1t=Dv=0+UYQ9=*wsM(*d%7ri*GLbhpSbqrg1h%7yhv84)H5H9x@DT72@DRLu1iZAK zf;GSz{*Tr`Prwfb$DC;z8agQc`nlA;G+)xEcJGWH*q+y?#q!pII7TB^=wEaVdc=%a~EBUYL(%(krL=qz$+UsfGmU{ zsw6Z4=D=MMGy$3bO$ehW%mL;AbAUNeD}WFn1Xa2QbO1U49pD(@7~vREUPFzMSpf>I z5CX5XLldA0(1dW}40C`vz#L!>)CwR32tn120CWI403F~M;TYi<(Y=NiJ_Gs~X%{Gj z03q^f^<>3duQTtaCE~0!zFWsbkNcnV}>?LobNh_;xSw?$zMjY@B t(TcBlLbT9YmeRo?z#+gP{8t#$#=a6YJEie(DgDP1#GamOtD97`>R)O#e(3-J diff --git a/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorNormalGrey.2.png b/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorNormalGrey.2.png index 62a0480526ad57703f655385976b38f6da2403bc..81f90c8f592417355e8b1f465c7c1902f9977d4b 100644 GIT binary patch literal 47587 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 literal 46180 zcmeHQeN0nV6uuF0oUm^rOuBmn>&~nq=<hS`E?kiFa12mtHhW@-iopx*rq& zqQ9(mzG0u2lS78ndjpBm#1S1ELcfV-5Q!4+3CY$Zgzxh-7HN!@kTvs(UK&$Cuk7m_ z{h^@$5&Fz9qGYK1`f%n>vGD z>4fY{#~8QptL_RRvmL%#lb;ZQ*liPMEZ1B=|Haym^ZTbeW*%79w*EIq)Z9*I?y{vd zcb!{=@*~BoKE1WK>15#6egDmoC(_P$yw`p0&(og5m1V~pyP7(#o&B8N);HdJr{PkR z=fMY!e$VN9XFX|U$GZb16?aaTmumF}qgm)U@l@CErW>Z0zAIU|;cj4bK`_oaAuanr zS#)=4$4%YD&f66&e$U22aj>f)m?^mL_6|(mb*E;hC8@b2Shd#btD<+6R$t4#ALe+7 zhSBZ%+C`sr6>bgG21~D93SPY!+{6d5vF*XX-`>avS~QLfx5;VS?yojFZSm4CAHICl zWENa>h+ivFzxn-8HV2=|KQ(6^XGn;V9v*vtwLC%F?$&BfzkZ-Zc17U;PMpngq-;S! zvPfT_EwJh19i62~q3Potdj?l8k{0|8TL@d+{X^mDeJu~B|1wlusCinL!Gs|)gLmFt zn#Aefh?2-&+?vj3V(Y!(*)br7O5a7w<3bExGRO?>%iNv7=@*YQbF#OOzYr31m1Rk= z?Qj;8kKW)8GngSWIOVlL7ua8y(*GzdVW+rIF7Eq#_oQtqSHr;T|rj{k{L!VH>Z2B+6#jFS{>c38r*WC?c$_RWV1Kn36h-~~iS2Ot0t zgpmrd0Ac}zgHI?NT-g>1o_TyH2Es*2=H`WO9gspk9vd_4&J*1B!I?bLW!wJ8VkrlZ8CU^Wd;wLjLxxjuScxsd2@4eO_G{H2pj@e=>#+! zE=B2?;8NhjRX7OHM3kb$4MZsj3ss>t;&8;_O58x=gG^JEts}KZYOll%)KXBqlIvNb zyFl>@)j}n1pgfCuxLhJfi?-bC`a&!RtERj@~S z7Ufx`iv(ysZqR&l*D)(0gH7x#0K9&J_k9#D8ntn}V5O{a2uSmh<|EBVn$H_8(1nFA zEJehCE-btTu1x6&y0Gxxy)t4z7Zy&IP-(>D&NPDu=dKw`&qXwR8wl>`*I9ffxw4s^ z1t=Dv=0+UYQ9=*wsM(*d%7ri*GLbhpSbqrg1h%7yhv84)H5H9x@DT72@DRLu1iZAK zf;GSz{*Tr`Prwfb$DC;z8agQc`nlA;G+)xEcJGWH*q+y?#q!pII7TB^=wEaVdc=%a~EBUYL(%(krL=qz$+UsfGmU{ zsw6Z4=D=MMGy$3bO$ehW%mL;AbAUNeD}WFn1Xa2QbO1U49pD(@7~vREUPFzMSpf>I z5CX5XLldA0(1dW}40C`vz#L!>)CwR32tn120CWI403F~M;TYi<(Y=NiJ_Gs~X%{Gj z03q^f^<>3duQTtaCE~0!zFWsbkNcnV}>?LobNh_;xSw?$zMjY@B t(TcBlLbT9YmeRo?z#+gP{8t#$#=a6YJEie(DgDP1#GamOtD97`>R)O#e(3-J diff --git a/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorNormalPrimary.1.png b/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorNormalPrimary.1.png index d68e44acebd5ea03cfb9713d08fe06a8dadcaf9d..a0ead793132aedf9f779d81479e36015e0473a95 100644 GIT binary patch literal 47840 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 literal 46182 zcmeHQeNa?Y6u)nG`4nwgOr^3faw=__ks>CgENsM}p>ebv8B1GGcenfAeQ)o+#ee$4^p775yvN)7 z?mh3kbAIQXd(ORVnO%?*A3HLZ5E5_CwH6Yha}pBO9vw-qcot-M=s_qe%$Y%&zE8PC z|JdxDZ!gWyClly-G>H%riB@bvzlkuCL`dg^KZ5P`j1qb=Wtnx>TzaGf zieFlha1%RfFA}n7&dfJgog>6T?AGaX*9w=Y^NIDN>ou7iz@jXQQO-cwrS zHAEfB9e=vE;Dcv2y!AlW_zW%FMFL}M0BLXAJ{nvY5>+0$(@lEdT z-Pr4U>8p-?r*3p)WmRmr;q%4+oE7y?jNV{zk;*_p_t(ZwS?jyHj}I*lG;c9Cv~`@SGZ|Z}%njS<;c!=q z((B>~Ym(z+;Mldjw|bvC?mx6XFiUD8wJZyKy46NIqXc+#v|YA4!TD?E4EkIC z*=)SdL2}=pPuj`{>dcz*P@+h^pc!jmqyPP70v}+`_Uug7fA=B_>-NGc3*^q};e!9* zvYpcN=uLt&ytUq2tyhM(*1!Dlu>{t?S0i`Z``sAjIjhXxS@~Nf`dyY7g}~=Ga{|xo zZ?9(kHxHM)UAK4`8%ccL&nlJ|r%Ckd@`3~!Ie`a8Rj*|IpZLPXx^268R33>Q+I(|< z93#FDyU#5W;vc#n;9_{zRFhRFhus1Vo{%?Ui1vp<>jziLvD z!w+%}mj%vzl*?X`J4j$QCvfItBhQQPmkQYWAcvj77i_J+`OX1|07L*N02F{Bkbo41 z0KNcx0mWH?J9xL;!M;Yt^<$<A^*yG*+utzoVzb9g16ui9n$ zaP`M|%t4ggK*^cR6&&N%r7*vfd6!au$%3P_XL&8ZpMADN(=hX|X|kWshnT8qXgm4S zgpm8C&kPaP`rlW}9u;#v#U?9gyi$E=9`iFeJ(k!i^S3>+2g?aO8(n2iE;_^qlYQ8s zdgrbdIbvXOf!O5z1if==(~|?9XS|^`ZM!j?z!IaOb;ZIX1D>bQ;FVXig&aQNYByMe$5ktUCh5!%CO!f3*1^4UH_ znus*j9)kgqCL&Elnj9iAJ&WmCOwaNl0x34+GsL0L?vnqQCp~vD-dZS(o{44hZ1i77`IO&CoWO&Cp9esFJW<>7a>-1i*a8BzbLFEAyw?YDRB`dV=(JC+C@ zuwh3Z-LNCI=so@pS)h#8;E8JfA9B(H-3j%6fDk|kAcVpJXalrCkp*d174{PLQZ;`B zgt$i#B94$iVB?KJPb*u+Up|`=Pq)3-W!%~uIlQwluKb7e^M~clzeCc7Ylqi)ZJWXa zB|$T>b*)CF`t-G142D+S#c=~RHf-3IsuBtjDs*(0M%T(+yw-$eWelx-A?X=5EV>16 zAqhcEfjU4Ppbk)nP?HKw044wvfC<0^rUj4$NCG4Qp){S4029Cj5egs)U;^eCgSl*| z1JnWP0CfmS^}s~JPmlv=SO-`KSO-`KSckA`1OOv|5x@vw1TX>^QN4x|KGZRaIDleK zFoCTGg(N@{APK?M@lXe-1JnWPK(zo&023G#KoTGckOV9V)L>mCO*exHU;-;vha^A} zAPK=p;SQ@q!O^klgxsGZZWRxI4E`AWF}Nb47TjUj0n`9$05#AuK#e>N2)u>SLDchq zMLl=T{b+via-EJ4*OI!5j@tGIVk4In#Z;Le4^~ntCnI#$df|LpSaqGn;=USw$#sG* z*onLCc58!!DF)>vQgD=7GVNi$hhFb255Htcr+Z^-kJ&>xCHCSn^=N}{Nj|BZZgD4_ z&QE0W%RjXy4K(p_nufO9Z}>*_pWiCx$x0|)k!yCVFH$-kC!=^8O@6XXF4JVs-ZX`M v3MF8zwBi}8h17~69RLA<06_S!W=zwxC$FZZ_yrC9#}dSDE3h`rDB1Wg6xV=i diff --git a/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorNormalPrimary.2.png b/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorNormalPrimary.2.png index d68e44acebd5ea03cfb9713d08fe06a8dadcaf9d..a0ead793132aedf9f779d81479e36015e0473a95 100644 GIT binary patch literal 47840 zcmeHQdpML^+aDUCc8pFUF%FxFYN7*j8f}N#TQsStM4KkH$+0jQ#&n{H+O*|Re3Xux zZQF&?;1#xUsx7p0PE1NUGfp$_dY)&7c;A1%>pNZ7cP(A6d1kD`y?*O=-}i5=XU)^4 z-L}?C7AY>m;c!cK?y%T{!{KQ-oa8I1h2WFa1G=f;Ma+MX^>$oljZzPIbDrk7^VqIk zIBjq(g_96lid%pb0snAfiZ}`M8i)H{Z1v3b9x;-zj5rP#egcOVmN^Jsk)Jo<7t|KM zE=U!dZ823`R2ol9T_C!ae1%lg$t0M87ipgz2mEn3RRiQ#%<>oABj7`&6Bc%R!7Jzx z`B{J%PQqRne8Axjh74=w5pXyPZl{I$-XO8wH@Zu}Xz;pINekth_k6?nYh%kJbxIgc zOdKyoAc`)6`ywJAn`c`!N(LLk%RxBDLq>oE1MRjGSi;u0xzCs6Xx~v zyxu?qyt)0uW-;s`wvY*s2{YjWx&w3v=nl{wL~;U=955z85MWGzF#*N|%nKkBAQK=H z;C=$!R6)D|?kqtNu&qVN1jq!)1knaR42&>42v-U)Fv7qH10xKKzzZM<5QKR*;$e1x z*#Tw;7#Lw-gnoN}4sw|#@=XzxjWZ)VQ% z0_D|Nn{v2SRpCeJ&s%T$cN@8{>$Fg1HY++}i5Ij%N z5QtYPl(?N?UOT?ldWiB3Be}`WC}7dWQmF_%>6c4(&ToZ4>z#KX5E%NPB}tXGx_rY1r-)Zmjj0c^Gfuhh($`Nv zfOHBfRDe+(9bTx33`%ver+V`3Rcc+FocX_v5wtTeKJx7(C>#v1Yz)QVe z6ruNc-7PE%eO`21N^@7lvxX@ac3TGKNIEg&4KlLb*-Yq}2Q6R({EqY7I8b@jGi6*53*{KB`9K9Q~b; zVU8GHvh+{g^Y6Fbtr%;Q^{_WMB*fGQVA}pmvowmSjCj7pRV8lDi8%UjjZyYw!=dak z{-o|iZ_W+=lz&`0Ri^T!jEFx6#i$v-l*XcOQxCJ0)OUFKzun9+W^`SDL;raHI~Atc zq-Qg;GWV>b5V2ypGwW*JEDhn%F!Cst3Q5vW@ol$ zOg_8&ivBOz$21ylKRp%o1KP)#Z;71YpA2t)gUrq;OJcdy&rQjGm-QYRt2A)7^Sp~FZ90S_l~1cWbNfKZ^Mai2e6GxwM+xPL z?>N^gc+RUeuj*4vFZv7Dsg(t zk7u#Ti~vL+IJ6j|9QMOHmZL@Ux7BH~GA7=>dhB66I@SB7MT#l+F(Oh6l?g>#!Hk^z zX>}yZMdOtyd$gz-`6PR%JfHV(n*<-yNv7i(Rw+#7&aA@d3R$xky^Stz0o-Uue~Zdx z812^pA6VlcbT}<+USmjgp>c)*EoS^61rJTv>PwB;-Y5%LS}O>&TYFzlqHq-{;G?I@ z`^Semf+ZKG+5Cg#UuC*Zxjb>e!DW5lBg2x0v6UFnQ-K%n-Dr&Ydec&ZGvCbglHRyw z!bkS{OlOl*`Beb{X$65~PD=}EY&10z}zb<Fhm>}4nmZMoDL_4=;>_QoDyPn8NPUI}cDCI9+&ujM$Nkz(Z zXBt>zp@I$qDm^pu0LqryubR0fSmkpDof)EqLK5ad8iadglIW1tIU0GJg_87%Hj(3b zz3B*AxSc|YxG$@_Po8QOH!yS-g=+XPC9Y?3k&ziP#y|I@DykS~%5F}JBE@!w^txHm%fS+577S$8x>PHC1TTy=`A~(Kc7z z4kK;)lNR_FQvT|}uS}cRw#5`Ja{Le_?!=)t0~m@|L`_BkkLn4+xG?-Z7+}5MHU-qO z%U@Zh)0l&WEmjTy+Wq>FDQa0iUVOVvNW}f85qfD=%bZ+WzefSyhOoso!3Jf^gy!xm zvdWE;iU7%;rqg{4%-5b46@uqW3k1Ke(>W)4sB~{jW%PT=kc&UIN%^cVTInm+8uq(X zv$%fI*^-6(J>TFJRwhe4GC#7?^D6P0qi@9d2v?(sd^Z8_E*yQ|j7{_u!} zBCWr6`m`YBfz`Wx!BhVz79gYmGg#}?UQG_^X>Z(`Hbf8wJ=)l% zlVv^}Zl zIT3wl>@H@0Ofo@7h1%V7L6O>R$Sj#0Mk&#b^K1FiUs4cna zB>%%DeOLq<2gKtJ9Sq)sv}m9v1|}_^AF!O3>A^EWX=I=RbOyuO!w#KlYYieNLa(tc z8jNI#a3owXlH^*C&pVM8+avIR+1(RO)VTc2jxh`o1`td`^j}TZA}uOi3nQs>oR~)Z z@pKiFxF5UU-HFd+KD91n4pq9CHV=mcg$x(>F_}T+!VTmNnan&P968GY9D}s6mq?ra z1rlBpW*2KaI{T)3-TQiI6P1xGkwBH6XCpMIBf=Vi- zhed`K*ON@sNkiA}j@E4o-P7$TNGfVXQy_N(7|Wzl(GW5PMgDSmCw?;skC6v+!yT;d zL1DzP+(|@^@pqmnm=hJO_mQD?Wz>=YFy72Uo&X#3UeKp~2+c$u9rNR&UFS*-83iQ& ze^9$+nFdN@yo5l-1^oV}+g|c#e$z zjp3=z@{iEg53!x!3^4IN4<>EMU7(S=sZ zfo`pNX}q72M%srZycE~fbaYxKXjv!Zc2*|2Oug%P_ah^JtS&|Qi&+#oUS9sLpt@5U zb1P}!YFfjtXHY4XXClre?DLw4N~^M#$zo1*h6_S?vE;rea=1~TS8Y;@0~SW5jH#43 zy4sZm=pa7eu^wyJatiol!JuHEt45#gn>X37<)S<_nkzYQXHxkO8+0k+bsNKa(!Pv4kZhYuq*QKpOcZfr%8G71eHA>B2F=|eojMmFy_l1Nvn(~TE zJ_#nW!u3su5=u(-3+Z_Ufqlo@V%Qte8Kbl#L8G?3#T{8>ur|pXgx~Y4b1zsz?WQuu zUxv3{CZ|mIcGTpuPv?zQx+rgGV+>WbbttExfs+uV4<_dsb#M&83aZ~-=TmpYS4M?t zL+!2~D-`s<-NzVzp(W#O97UFw?W~*z11Kpj{QO}p)BOha-wkkq22XDM^!WtJ@Et;L zNwJR0zf5NG`@>aA;|raq-&f`qPLtR?hg~Wa`qAWbSP;Jf)*G(md*x`)HzSRnaqNAHZFLc^y@$lty#oPvQKI~C_b0GD8@ zqb86&gjqWj$jZ8cVMU-7U^`kx{satVMi$651yQEoq8tIlv;t^e;W0L%?|EE=G`7>7 zWal$IJ_3ir39e7ba#7J=z_jJQzc5HcUHyb~@|nH#+}gkuE?*dZ!Qs!$_yZk$a;R^f zps7uHgJAe>Nk{Ryx--QlOGFLmg1+2#PkoEhVE5vJrsKZa%(i`u{K@IQNb<<)N=$hW zeI5d+4vqMYyP`9+7jOIRlY${bWyG`nw7uD9GCF=;XK`l-8@-gCo`tZPaw;Njy=oeSH)LWuKZKD zil(%G18mq7bj<{?Jx^CWx_Vjn^+K78s8Z_#Jh}!2^=dHBwX9> zJHtd|zI~GLw;bY-Zk~_ElHXOHJj3N3M4cO`HIS`sd+LYRp#?qgA4&cu>}Ek1xox66 z+Bvw|j@_IX7(qtUGRUfuz-wG3tI|^#axU*2N{vO+@i&N2wGB<~m{-K$Z!M>_Mw7>! zL&tskKB^c^)Cw4%v|RFpY6vftoD9hCN4_tKs8v=I(P!Xs)|xNIQx)<9U0VwdvaK-p z4x@mCzBzM0HdtY2i0Sr}xCG;9p@lP_v#fy5bov$L`pk#mA_FK?I=b_MhA0eUG4U%v z4CfsbZBL*v0I6jIc4`I<{-qH`Ag_HN3&Z0~VZseS#P`0~a_B32HUmC&{&XGl9V{Cn zf87Y;T}3B~{#S(w#{ogg>b1YN88Pw*KsC1f+Wbad0_VB%aGwyOnZFi+T&5YLKEIJv zKqW_l9x$Z97(OSH!lVgR%Dk*WgenEf zLUa#cHg`ZB4t4n4KF|daA^;h_H(ra+)II*SF;;#aPtZ#O_(%c(ws#A zt~B9F6RtF85rEsXaC;VR&(0zM?`gt&nsZl_@UA^PCNb~i15BDQY0jn$G+e-gK=9<% z+$aH8nsB8#yUs$x1-z#T?`gt&nxZ4M@E{O82sCf01rGwj^Wn35^;q_VNfRbbm^5M1 zL=k}7vv7NMo@V&p|H_HOPrp6H;Z!`4he|`m0u>8XEMFl2_r~GgINTebMF1)ms965b z6$?};P^Em8qv6d6s8XOxna$Dg4n9;V|L;@^-^D24_yQa*Y-6t=Yy60e!>+UUk{#xr zQ2>uD1&@uXaQl}>(jbq%i+Ko3e+?JJ1oC9gSIeO9zz8wt&J>IgFhalxAzElcZ-Cwa oy#aayKmaNwsFeOoN@<}+N0El~^`2DlFn-)lOIwS~?MKf36T1~C+yDRo literal 46182 zcmeHQeNa?Y6u)nG`4nwgOr^3faw=__ks>CgENsM}p>ebv8B1GGcenfAeQ)o+#ee$4^p775yvN)7 z?mh3kbAIQXd(ORVnO%?*A3HLZ5E5_CwH6Yha}pBO9vw-qcot-M=s_qe%$Y%&zE8PC z|JdxDZ!gWyClly-G>H%riB@bvzlkuCL`dg^KZ5P`j1qb=Wtnx>TzaGf zieFlha1%RfFA}n7&dfJgog>6T?AGaX*9w=Y^NIDN>ou7iz@jXQQO-cwrS zHAEfB9e=vE;Dcv2y!AlW_zW%FMFL}M0BLXAJ{nvY5>+0$(@lEdT z-Pr4U>8p-?r*3p)WmRmr;q%4+oE7y?jNV{zk;*_p_t(ZwS?jyHj}I*lG;c9Cv~`@SGZ|Z}%njS<;c!=q z((B>~Ym(z+;Mldjw|bvC?mx6XFiUD8wJZyKy46NIqXc+#v|YA4!TD?E4EkIC z*=)SdL2}=pPuj`{>dcz*P@+h^pc!jmqyPP70v}+`_Uug7fA=B_>-NGc3*^q};e!9* zvYpcN=uLt&ytUq2tyhM(*1!Dlu>{t?S0i`Z``sAjIjhXxS@~Nf`dyY7g}~=Ga{|xo zZ?9(kHxHM)UAK4`8%ccL&nlJ|r%Ckd@`3~!Ie`a8Rj*|IpZLPXx^268R33>Q+I(|< z93#FDyU#5W;vc#n;9_{zRFhRFhus1Vo{%?Ui1vp<>jziLvD z!w+%}mj%vzl*?X`J4j$QCvfItBhQQPmkQYWAcvj77i_J+`OX1|07L*N02F{Bkbo41 z0KNcx0mWH?J9xL;!M;Yt^<$<A^*yG*+utzoVzb9g16ui9n$ zaP`M|%t4ggK*^cR6&&N%r7*vfd6!au$%3P_XL&8ZpMADN(=hX|X|kWshnT8qXgm4S zgpm8C&kPaP`rlW}9u;#v#U?9gyi$E=9`iFeJ(k!i^S3>+2g?aO8(n2iE;_^qlYQ8s zdgrbdIbvXOf!O5z1if==(~|?9XS|^`ZM!j?z!IaOb;ZIX1D>bQ;FVXig&aQNYByMe$5ktUCh5!%CO!f3*1^4UH_ znus*j9)kgqCL&Elnj9iAJ&WmCOwaNl0x34+GsL0L?vnqQCp~vD-dZS(o{44hZ1i77`IO&CoWO&Cp9esFJW<>7a>-1i*a8BzbLFEAyw?YDRB`dV=(JC+C@ zuwh3Z-LNCI=so@pS)h#8;E8JfA9B(H-3j%6fDk|kAcVpJXalrCkp*d174{PLQZ;`B zgt$i#B94$iVB?KJPb*u+Up|`=Pq)3-W!%~uIlQwluKb7e^M~clzeCc7Ylqi)ZJWXa zB|$T>b*)CF`t-G142D+S#c=~RHf-3IsuBtjDs*(0M%T(+yw-$eWelx-A?X=5EV>16 zAqhcEfjU4Ppbk)nP?HKw044wvfC<0^rUj4$NCG4Qp){S4029Cj5egs)U;^eCgSl*| z1JnWP0CfmS^}s~JPmlv=SO-`KSO-`KSckA`1OOv|5x@vw1TX>^QN4x|KGZRaIDleK zFoCTGg(N@{APK?M@lXe-1JnWPK(zo&023G#KoTGckOV9V)L>mCO*exHU;-;vha^A} zAPK=p;SQ@q!O^klgxsGZZWRxI4E`AWF}Nb47TjUj0n`9$05#AuK#e>N2)u>SLDchq zMLl=T{b+via-EJ4*OI!5j@tGIVk4In#Z;Le4^~ntCnI#$df|LpSaqGn;=USw$#sG* z*onLCc58!!DF)>vQgD=7GVNi$hhFb255Htcr+Z^-kJ&>xCHCSn^=N}{Nj|BZZgD4_ z&QE0W%RjXy4K(p_nufO9Z}>*_pWiCx$x0|)k!yCVFH$-kC!=^8O@6XXF4JVs-ZX`M v3MF8zwBi}8h17~69RLA<06_S!W=zwxC$FZZ_yrC9#}dSDE3h`rDB1Wg6xV=i diff --git a/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorSmallPrimary.1.png b/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorSmallPrimary.1.png index 8428070b910c3fc28ef33cfcff5909ebfa414b6b..ccb9d1561760fe37e15c5267fcc8322e4c92e369 100644 GIT binary patch literal 46416 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 literal 46187 zcmeHPZA?>F7(TZxr4X2R7(^}8vI%yQ8DI%2E>g5iI|WxDL7fOn%ErQkg+*8dTfl84 zx-e%^h}&%VvoD8&KZcV9B#y*}u(2##m*HT#AZCQ=x(yv4cjxx&aPR!HAN<(zl#qM4 zIX(B>m-l_2_wzJ9o4qwMe0ew_B+|6am_vxlLP+S4MosTHcPBgPg{#cjx|y^O#@?oX z9JTB+m1Jd+HFT^YAzTzuic{zh;g*vS@0gHhIBjs8!|DBV6okA{N>u(id+1gCxalwb zw*RVha%@GXA~0KJaVi7j&>`__iS2wky@XY4+g(XW+x7yLiX+YA^XEzLJY)Y%*dzWPbEwRj_JP{9=Hqjn#&1u=bv)LY1bl&Q1w=(Q}@i&p#2;Dh&VizF<$O>gW^R zJ5t`g{hgk?`T^_Y?~CZv;CBux+6J=5rVAXej@FztwqE|S{DOX__Vjw|!x21jG$WF|B~6QBvu3AI15M>rkAJ;(Rp8%HqA~ zXhTOEi*^DuQJjzBd=~BW8V~4bLq{76?}%l|08M};cyTKVZ>L{Ji$xnZ(NEpRzX={}ZGy$JT(i4y! z=o3lN6Ep-g1T;h-bPj3wPf9})H5vus@khUC3Y-`3vm`aD4HAXuos;OQR>-VQn?a{@sm2pzr=oI-w&N?Af8c+Dik^vTJNULVw#3r~ z?#T=^1C|wo4WKQE;FCgd0yqJj5Cjg01H=L10CAvF03v`0GEW8Q0CWI4KruowLNOw; zgz%au1&A?%2)-aQI02jhP6#^A5C@0@!~x`C;~yO~G=~z+kD$*vegBB`YyB7#w%y zw`{$%lQH6f$E__229^T@HD@j{tTV|FhvzLd@>{wjjXg#AnTh>Nd diff --git a/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorSmallPrimary.2.png b/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorSmallPrimary.2.png index 8428070b910c3fc28ef33cfcff5909ebfa414b6b..ccb9d1561760fe37e15c5267fcc8322e4c92e369 100644 GIT binary patch literal 46416 zcmeGkX;2hrwr3au2pANVLll$X&}axqfP@G-oQf!TWH^*taYQ)>X20og1}6Axw<=Y;RS$~l?vJnE_rBNfey=-z zlgnDgS?aS0f>2z)&fc9MXiS2Txi9+>8p+&joQV#U5cjoqL|&an54!k<>9sz<*_rqh zoy!u^l(~eIa0>b*DC&eXc}@@;C<~{~-6?d@94bM48${4VbGD$P@TVF5p}R##sZ7c= z#7wGqHjSAnB|ewAFT71JPstV?e_lfCxZ@8HIST4qzR?I)GvX#R!TK z8n>W(O%_`CPy-|o0f>NmW`Prc6Mz$@QU@RoAPyi7APz_hfCxZ@8SfQ=bpY!C)&UeF zC`M3>@Ny^>-jGEtC_n@t0&YA2PWZbyVQb9Kt^}bnB>WbDsQXJ)*#yrVJah2O!7~TX z96WRI%)u!YN&)y|Km_p2rwSP$4j>NysW_MqyP}uOOTs_k+ zH1vCEIrS$E4O(j)Seqi`C{%5#%g%alzr%MvX|CM=`bAC0@vqy=hkiBXYM7O^GZ<`R zsVPPjov;Xsn-1~(+{|%`TcyI3BP%|k((F@+&@bmsxA^10&tA=Rs<%~qBCDjtq&DnY zKf@D3qcwjG8WC_Ugqj?qaM_IJNI-b1{0S5m@dog)SQvpN{{LBmVfo8Jvqh_;k}DH6 zb9jSYmm?-D&mN|zi34bsy0m?Y`rZ}Jq!xX$)TkudYDMv){{CaDb`>2vc?N6J!1OqJ zWAVn$IP&Y6j2M=~nt&#MKj+CEz77~tW-R(-rXa7#REJd00@>VIMydRri+4EQz8&N~ zs_MDv}&nq+@LNwdo4Bfo1|SAZtFk#Lm8#H3V(UoHQ^ND@Y`y8xlrcD(N)sm;oZsTS0Yb*mOsp1&XXypd-u z+ABj38J91-b!4!`=$(I8&9isQj<>x{cHgwurn0~DYpb_jC$c7iHxS4dS38<9NHw{K z^WFF5-PY$Q7;JO$G4Ni;HSlra=5O6tk!sf1c339pZTk_g5XV9Pg?KezD~elym0A8$ za)aq}@2a_?wf?~#4SnssB~*Eb<*IC#qa^mBE(~_hvt?m+q=EDeVHMkLs0%BMH#u%s z`|f&Bu9|o8%JJIs8D_gLo#y7YL|ODQUg)l$gB_Z+%9RGBBR8b;+`>;_Y*oE|uqdUoNycz>fK|`0VU~=Nq$h zUEO&@*UC0~Nbk$Q%QSm2*e%I5@+2V`!?b;sXNn(L4$?y=`Pb!bN6>-Tq;EsyVsh2)0=%kof{CtnEq^>XH>D)XA~kKFwaaCFD{BXr z6Qboj(Q=+OgP7A~q{-!iJ=iH#DLrM4iB`^K-wh8m{#IAlU)HyH;B_|dr|p-UpKiSK zIN#4%hU?)HPlCzS*5c%5y|5r@n%O}OJHk%u`}s4@vohP%3qkD7oqI=gA0?dhbLR0n z`bU4_=Jt#{v#=o_T|+pM+ZxO(b!T#1x0`N`8aWkESfAlx zp?YawtnJx~uQoI$t{KG-nr68~ixb*zVkt+$+GEKIo)_3VvCT0he8ByB>;B@aubQwU z#PC4enC&fBwT9$4s`PnvzbjSCIDEyGtSrABn2WTs;^=4QG`iz$T%$IP+1uGZ@e`62uhOpYvMvuh zsJR6+DU7ROjzG&aR$lE)#zYTbWgkuM-5YOm(W&!#p$0icRz->VyCF*o%O-CM6J>$R zUK)v>RzAY@abqyX^(@s{(YUE&E)$7dX_3ZC5{MTfPHs6*8`D{Z70eIpjdpWn_f(JH zj}-cRj96L>`tYzopmy`_cJbGM`=8hEW`}9qY0E2_V|YhezeM5Ow!@FL^nS0~+Tz!c zTyR8jAvMoSRq99MU?;_OJsBw(p{Hbj$i9~TV60!!^hcUPsQ*YJW-_mX ztXF-HtFFZM3*JE zz%3Ju4aSZ#YhuQF?k0vG8kHtDrFCk4^IaX4G!f+UQSVQAkqD}M z>dP+L6vM^Sa*xKjbsh_U5|L9AY@OzgC0I^gm8s*M*N8RFdg%m{tEQZOn}~uRcXj3) zroZF8kHm!5^JU-rLf0IV^g^6lCH<$8oO^nrm2~GDand|FUF0Q82()f5dvxgOoiia1 zV!Iz(F?IMdwLv7L)>8-#rDHy%yUhxlXT(uuKH?RHo06b^38ZAzIGDALD+?bwYrc~3 z-(R#E&qE$PdV;y>ac%*xJ`Fb_Cr9{{)BV|zg3E8LNYHWRk;0X~Z0^H%$Dzq#jwuu4 z!z!*d?Ky^v__S#we+EKSozGF&~**^^~6dcYdeK$06 zWB5&5vQ11$gi1|vz0DC3lIpY2jtfF{F_INj$CQ^RP3rT!)ncP3MdMuE+0K9!9UrN2cudd-=9o=esH+5ze=+zxz>6MUWH)! zqbXH$M`))T%5(2Sn2-lgQ_o?uqkLgws5L#x8wCnnY= z@^58%*jki|ESvdp^w9MWl%6A>qLaPvm8_an-pdx-fvA?~_x?F243#4T)3H|4(eh=d zFydV>RkzRoG0{Y(qdFtWF!3;tIo{iJ-9O5rPrI#;)EflrV>Eq~xLb+^!z+ySmTr1* z?4gg(K5`>&IZvA~&i0$_W!gGqb8XGj76jtMJOnaPEnTs>G_O@bF(Z z>|KE=U=)dNdZD*pi@Y@7)_Tz~rJ|#{|K1s6?h|$Y)wZi|){CCJ>>r5MJn9|%Y^s&a z2i!VqM{a}z$VOU+$dy5o9 zH0*&`(dmcv;g}UoWz+VvjZ4!gPm{z!>Li*FF%M5?@qDrpcy}r=`DB&MZ4u(5EeDw7 z=1~j_IEb(U7py7g*r}6Wgn$9YX zbIay_k6i$gQkWQ-ac(+Z=kHGAK!RZ)RnR!lAU$(M31UwT7_X!+9@VmvKf>2F>-wk1oWXuIoB?R#j2?z+{A!j0) zseu#~q^Kl=O~?pB0#+j0gnT#TyCs87C@(-YM_VTaQF41=@O`tw%C^1XBs75=K zcLXXsP}zaX4peqn&@Tx6g3vEWQh))i_0U=mt@R`YAYBFNDo9sh3cw57@WQraw*ypm z{`<;K>%jj0YaSA}QfBfhL*xAxhBOU~Z;so?zVnCwvmw_$@73@~ literal 46187 zcmeHPZA?>F7(TZxr4X2R7(^}8vI%yQ8DI%2E>g5iI|WxDL7fOn%ErQkg+*8dTfl84 zx-e%^h}&%VvoD8&KZcV9B#y*}u(2##m*HT#AZCQ=x(yv4cjxx&aPR!HAN<(zl#qM4 zIX(B>m-l_2_wzJ9o4qwMe0ew_B+|6am_vxlLP+S4MosTHcPBgPg{#cjx|y^O#@?oX z9JTB+m1Jd+HFT^YAzTzuic{zh;g*vS@0gHhIBjs8!|DBV6okA{N>u(id+1gCxalwb zw*RVha%@GXA~0KJaVi7j&>`__iS2wky@XY4+g(XW+x7yLiX+YA^XEzLJY)Y%*dzWPbEwRj_JP{9=Hqjn#&1u=bv)LY1bl&Q1w=(Q}@i&p#2;Dh&VizF<$O>gW^R zJ5t`g{hgk?`T^_Y?~CZv;CBux+6J=5rVAXej@FztwqE|S{DOX__Vjw|!x21jG$WF|B~6QBvu3AI15M>rkAJ;(Rp8%HqA~ zXhTOEi*^DuQJjzBd=~BW8V~4bLq{76?}%l|08M};cyTKVZ>L{Ji$xnZ(NEpRzX={}ZGy$JT(i4y! z=o3lN6Ep-g1T;h-bPj3wPf9})H5vus@khUC3Y-`3vm`aD4HAXuos;OQR>-VQn?a{@sm2pzr=oI-w&N?Af8c+Dik^vTJNULVw#3r~ z?#T=^1C|wo4WKQE;FCgd0yqJj5Cjg01H=L10CAvF03v`0GEW8Q0CWI4KruowLNOw; zgz%au1&A?%2)-aQI02jhP6#^A5C@0@!~x`C;~yO~G=~z+kD$*vegBB`YyB7#w%y zw`{$%lQH6f$E__229^T@HD@j{tTV|FhvzLd@>{wjjXg#AnTh>Nd diff --git a/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorTineyPrimary.1.png b/ci_scripts/__Snapshots__/Views/SBBLoadingIndicatorTests/testLoadingIndicatorTineyPrimary.1.png new file mode 100644 index 0000000000000000000000000000000000000000..cbdf66165de169caa412036679db02a7bf2b7a49 GIT binary patch literal 46387 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