Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Link v3: Add components for card editing and verification #4158

Draft
wants to merge 1 commit into
base: relink/datamodel
Choose a base branch
from

Conversation

davidme-stripe
Copy link
Contributor

Summary

Add Card Edit, Payment Method Picker, and Verification components.

Motivation

Link v3

Testing

Added snapshot tests.

Changelog

None

@davidme-stripe davidme-stripe changed the base branch from master to relink/datamodel October 17, 2024 22:16
Copy link

emerge-tools bot commented Oct 17, 2024

⚠️ 1 new unused protocol, 1 build increased size, 5 builds decreased size

Name Version Download Change Install Change Approval
StripeSize
com.stripe.StripeSize
1.0 (1) 2.4 MB ⬇️ 2.3 kB (-0.1%) 7.8 MB ⬇️ 9.6 kB (-0.12%) N/A
StripeApplePaySize
com.stripe.StripeApplePaySize
1.0 (1) 435.4 kB ⬇️ 2.0 kB (-0.46%) 1.5 MB ⬇️ 7.9 kB (-0.52%) N/A
StripeFinancialConnectionsSize
com.stripe.StripeFinancialConnectionsSize
1.0 (1) 1.3 MB ⬇️ 4.6 kB (-0.35%) 4.3 MB ⬇️ 7.9 kB (-0.19%) N/A
StripePaymentsSize
com.stripe.StripePaymentsSize
1.0 (1) 1.1 MB ⬇️ 2.1 kB (-0.19%) 4.1 MB ⬇️ 8.2 kB (-0.2%) N/A
StripePaymentsUISize
com.stripe.StripePaymentsUISize
1.0 (1) 1.9 MB ⬇️ 231 B (-0.01%) 6.3 MB ⬇️ 10.0 kB (-0.16%) N/A
StripePaymentSheetSize
com.stripe.StripePaymentSheetSize
1.0 (1) 3.5 MB ⬆️ 71.5 kB (2.09%) 10.5 MB ⬆️ 201.3 kB (1.97%) N/A

StripeSize 1.0 (1)
com.stripe.StripeSize

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 9.6 kB (-0.12%)
Total download size change: ⬇️ 2.3 kB (-0.1%)

Largest size changes

Item Install Size Change
Localizable.strings ⬇️ -4.1 kB
📝 StripePaymentsUI.CardBrandView.init(showCVC,centerHorizontally) ⬆️ 1.8 kB
🗑 StripePaymentsUI.CardBrandView.init(showCVC) ⬇️ -1.7 kB
🗑 StripeCore.Locale.toLanguageTag ⬇️ -1.4 kB
🗑 StripeUICore.AddressSpecProvider.AddressSpecProvider ⬇️ -896 B
View Treemap

Image of diff

StripeApplePaySize 1.0 (1)
com.stripe.StripeApplePaySize

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 7.9 kB (-0.52%)
Total download size change: ⬇️ 2.0 kB (-0.46%)

Largest size changes

Item Install Size Change
🗑 StripeCore.Locale.toLanguageTag ⬇️ -1.4 kB
StripeCore.ElementsSessionContext.value witness ⬇️ -604 B
🗑 StripeCore.ElementsSessionContext.IntentID ⬇️ -577 B
Other ⬇️ -5.2 kB
View Treemap

Image of diff

StripeFinancialConnectionsSize 1.0 (1)
com.stripe.StripeFinancialConnectionsSize

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 7.9 kB (-0.19%)
Total download size change: ⬇️ 4.6 kB (-0.35%)

Largest size changes

Item Install Size Change
🗑 StripeFinancialConnections.FinancialConnectionsAPIClient.linkAcco... ⬇️ -1.7 kB
🗑 StripeCore.Locale.toLanguageTag ⬇️ -1.4 kB
📝 StripeFinancialConnections.FinancialConnectionsAPIClient.linkAcco... ⬆️ 956 B
🗑 StripeUICore.AddressSpecProvider.AddressSpecProvider ⬇️ -896 B
🗑 StripeUICore.BSBNumberProvider.BSBNumberProvider ⬇️ -884 B
View Treemap

Image of diff

StripePaymentsSize 1.0 (1)
com.stripe.StripePaymentsSize

⚠️ 3 new unused protocols: LinkPaymentMethodPickerDelegate,LinkPaymentMethodPickerDataSource and LinkInstantDebitMandateViewDelegate
⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 8.2 kB (-0.2%)
Total download size change: ⬇️ 2.1 kB (-0.19%)

Largest size changes

Item Install Size Change
🗑 StripeCore.Locale.toLanguageTag ⬇️ -1.4 kB
StripeCore.ElementsSessionContext.value witness ⬇️ -604 B
🗑 StripeCore.ElementsSessionContext.IntentID ⬇️ -577 B
Other ⬇️ -5.6 kB
View Treemap

Image of diff

StripePaymentsUISize 1.0 (1)
com.stripe.StripePaymentsUISize

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬇️ 10.0 kB (-0.16%)
Total download size change: ⬇️ 231 B (-0.01%)

Largest size changes

Item Install Size Change
Localizable.strings ⬇️ -4.1 kB
📝 StripePaymentsUI.CardBrandView.init(showCVC,centerHorizontally) ⬆️ 1.8 kB
🗑 StripePaymentsUI.CardBrandView.init(showCVC) ⬇️ -1.7 kB
🗑 StripeCore.Locale.toLanguageTag ⬇️ -1.4 kB
🗑 StripeUICore.AddressSpecProvider.AddressSpecProvider ⬇️ -896 B
View Treemap

Image of diff

StripePaymentSheetSize 1.0 (1)
com.stripe.StripePaymentSheetSize

⚖️ Compare build
⏱️ Analyze build performance

Total install size change: ⬆️ 201.3 kB (1.97%)
Total download size change: ⬆️ 71.5 kB (2.09%)

Largest size changes

Item Install Size Change
🗑 StripePaymentSheet.CardSectionElement.init(collectName,defaultVal... ⬇️ -8.1 kB
📝 StripePaymentSheet.CardSectionElement.init(collectName,defaultVal... ⬆️ 8.1 kB
📝 StripePaymentSheet.EmbeddedPaymentMethodsView.init(initialSelecti... ⬆️ 7.6 kB
🗑 StripePaymentSheet.EmbeddedPaymentMethodsView.init(initialSelecti... ⬇️ -6.1 kB
Code Signature ⬆️ 5.1 kB
View Treemap

Image of diff


🛸 Powered by Emerge Tools

Comment trigger: Size diff threshold of 100.00kB exceeded

Copy link

github-actions bot commented Oct 17, 2024

🚨 New dead code detected in this PR:

LinkPaymentMethodPicker-Cell.swift:25 warning: Property 'menuSpacing' is unused
LinkPaymentMethodPicker-Cell.swift:246 warning: Parameter 'sender' is unused
LinkPaymentMethodPicker-Header.swift:71 warning: Property 'cardNumberLabel' is unused
LinkPaymentMethodPicker.swift:174 warning: Parameter 'sender' is unused
LinkPaymentMethodPicker.swift:217 warning: Function 'showLoader(at:)' is unused
LinkPaymentMethodPicker.swift:225 warning: Function 'hideLoader(at:)' is unused
LinkPaymentMethodPicker.swift:233 warning: Function 'setAddPaymentMethodButtonEnabled(_:)' is unused
LinkPaymentMethodPicker.swift:269 warning: Function 'removePaymentMethod(at:animated:)' is unused
LinkCardEditElement.swift:29 warning: Class 'LinkCardEditElement' is unused
LinkCardEditElement.swift:204 warning: Extension 'LinkCardEditElement' is unused
LinkVerificationController.swift:12 warning: Class 'LinkVerificationController' is unused
LinkVerificationController.swift:37 warning: Extension 'LinkVerificationController' is unused
LinkVerificationView-LogoutView.swift:9 warning: Imported module 'StripeCore' is unused
LinkVerificationView.swift:11 warning: Imported module 'StripeCore' is unused
LinkVerificationView.swift:18 warning: Parameter 'view' is unused
LinkVerificationView.swift:154 warning: Parameter 'sender' is unused
LinkVerificationViewController.swift:59 warning: Initializer 'init(mode:linkAccount:)' is unused
LinkVerificationViewController.swift:199 warning: Parameter 'view' is unused
LinkVerificationViewController.swift:236 warning: Class 'TransitioningDelegate' is unused
LinkKeyboardAvoidingScrollView.swift:31 warning: Initializer 'init(contentView:)' is unused

Please remove the dead code before merging.

If this is intentional, you can bypass this check by adding the label skip dead code check to this PR.

ℹ️ If this comment appears to be left in error, double check that the flagged code is actually used and/or make sure your branch is up-to-date with master.

Copy link

⚠️ Public API changes detected:

StripePaymentSheet

- public var paymentMethodLayout: StripePaymentSheet.PaymentSheet.PaymentMethodLayout
- }
- public enum PaymentMethodLayout {
- case horizontal
- case vertical
- case automatic
- public static func == (a: StripePaymentSheet.PaymentSheet.PaymentMethodLayout, b: StripePaymentSheet.PaymentSheet.PaymentMethodLayout) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
- get
- }

If you are adding a new public API consider the following:

  • Do these APIs need to be public or can they be protected with @_spi(STP)?
  • If these APIs need to be public, assess whether they require an API review.

If you are modifying or removing a public API:

  • Does this require a breaking version change?
  • Do these changes require API review?

If you confirm these APIs need to be added/updated and have undergone necessary review, add the label modifies public API to this PR to acknowledge and bypass this check.

ℹ️ If this comment appears to be left in error, make sure your branch is up-to-date with master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant