The Swift Package Index logo.Swift Package Index

Build Information

Successful build of ThemeKit, reference v1.26.0 (e30f50), with Swift 6.3 for macOS (SPM) on 13 Oct 2026 12:31:40 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64

Build Log

    |40 |                             .recentSearchRowStyle(.pill)
    |41 |                     }
    +-------------------------------------------------------------------
449 |
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/TripTypeToggleStyle.swift:266:56: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
264 |                 .lineLimit(1)
265 |                 .minimumScaleFactor(0.8)
266 |             Icon(systemName: "chevron.down").size(.xs).color(theme.text(.textTertiary))
    |                                                        `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
267 |         }
268 |         .padding(.horizontal, configuration.spacing(.sm))
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/AirportPicker.swift:438:22: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
436 |                 Icon(systemName: "checkmark")
437 |                     .size(.sm)
438 |                     .color(accentColor.map { theme.resolve($0).accent } ?? theme.foreground(.fgHero))
    |                      `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
439 |             }
440 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/AirportPicker.swift:518:63: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
516 |         } else {
517 |             VStack(spacing: Theme.SpacingKey.xs.value) {
518 |                 Icon(systemName: "airplane.circle").size(.lg).color(theme.text(.textTertiary))
    |                                                               `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
519 |                 Text(String(themeKitTravel: "No airports found"))
520 |                     .textStyle(.bodySm400)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[417/424] Compiling ThemeKitTravel AirportPicker.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/LayoverRow.swift:139:71: warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
137 |         }
138 |         PreviewCase("Deprecated .variant(_:) still works") {
139 |             LayoverRow(duration: "2h 15m", airport: "Istanbul (IST)").variant(.banner).accent(.success)
    |                                                                       `- warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRow.swift:237:43: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
235 |         .padding()
236 |         .frame(maxWidth: .infinity)
237 |         .background(SemanticColor.primary.solid)
    |                                           `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
238 | }
239 |
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRowStyle.swift:428:51: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
426 |                 .surface(.bgWhite).onSearch { }
427 |                 .padding(Theme.SpacingKey.sm.value)
428 |                 .background(SemanticColor.primary.solid)
    |                                                   `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
429 |                 .recentSearchRowStyle(.pill)
430 |         }
macro expansion #Preview:31:55: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRow.swift:238:2: note: expanded code originates here
224 | }
225 |
226 | #Preview("Search summary pill") {
    | `- note: in expansion of macro 'Preview' here
227 |     // A "mini search bar" — no leading tile, capsule surface on a brand band,
228 |     // trailing filled search button. Brand color comes from the theme, not here.
    :
236 |         .frame(maxWidth: .infinity)
237 |         .background(SemanticColor.primary.solid)
238 | }
    +--- macro expansion #Preview --------------------------------------
    |29 |                     .padding()
    |30 |                     .frame(maxWidth: .infinity)
    |31 |                     .background(SemanticColor.primary.solid)
    |   |                                                       `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
    |32 |             }
    |33 |         }
    +-------------------------------------------------------------------
239 |
macro expansion #Preview:39:63: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRowStyle.swift:448:2: note: expanded code originates here
410 | }
411 |
412 | #Preview("RecentSearchRowStyle — presets × light/dark") {
    | `- note: in expansion of macro 'Preview' here
413 |     PreviewMatrix("RecentSearchRowStyle") {
414 |         PreviewCase("Plain (default)") {
    :
446 |         }
447 |     }
448 | }
    +--- macro expansion #Preview --------------------------------------
    |37 |                         }
    |38 |                             .padding(Theme.SpacingKey.sm.value)
    |39 |                             .background(SemanticColor.primary.solid)
    |   |                                                               `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
    |40 |                             .recentSearchRowStyle(.pill)
    |41 |                     }
    +-------------------------------------------------------------------
449 |
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/TripTypeToggleStyle.swift:266:56: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
264 |                 .lineLimit(1)
265 |                 .minimumScaleFactor(0.8)
266 |             Icon(systemName: "chevron.down").size(.xs).color(theme.text(.textTertiary))
    |                                                        `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
267 |         }
268 |         .padding(.horizontal, configuration.spacing(.sm))
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/AirportPicker.swift:438:22: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
436 |                 Icon(systemName: "checkmark")
437 |                     .size(.sm)
438 |                     .color(accentColor.map { theme.resolve($0).accent } ?? theme.foreground(.fgHero))
    |                      `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
439 |             }
440 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/AirportPicker.swift:518:63: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
516 |         } else {
517 |             VStack(spacing: Theme.SpacingKey.xs.value) {
518 |                 Icon(systemName: "airplane.circle").size(.lg).color(theme.text(.textTertiary))
    |                                                               `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
519 |                 Text(String(themeKitTravel: "No airports found"))
520 |                     .textStyle(.bodySm400)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[418/424] Compiling ThemeKitTravel FlightCardStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/LayoverRow.swift:139:71: warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
137 |         }
138 |         PreviewCase("Deprecated .variant(_:) still works") {
139 |             LayoverRow(duration: "2h 15m", airport: "Istanbul (IST)").variant(.banner).accent(.success)
    |                                                                       `- warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRow.swift:237:43: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
235 |         .padding()
236 |         .frame(maxWidth: .infinity)
237 |         .background(SemanticColor.primary.solid)
    |                                           `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
238 | }
239 |
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRowStyle.swift:428:51: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
426 |                 .surface(.bgWhite).onSearch { }
427 |                 .padding(Theme.SpacingKey.sm.value)
428 |                 .background(SemanticColor.primary.solid)
    |                                                   `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
429 |                 .recentSearchRowStyle(.pill)
430 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:205:65: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
203 |                 HStack(spacing: configuration.spacing(.sm)) {
204 |                     Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
205 |                     Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |                                                                 `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
206 |                     Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
207 |                     if let duration = configuration.duration {
macro expansion #Preview:52:97: warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
    |          |- note: calls to instance method 'accent' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
131 |     func surface(_ key: Theme.BackgroundColorKey) -> Self { copy { $0.surfaceKey = key } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                                 `- warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:86: warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
126 |     /// *scrolling* (state-per-identity) but not identity churn — use
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
    |          |- note: calls to instance method 'favorite()' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                      `- warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:54: warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    |          |- note: calls to instance method 'price(_:currencyCode:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
111 |     /// Omitted-currency form — resolves the code from the environment:
112 |     /// `formatDefaults.currencyCode` → `locale.currency` → `"USD"` (§10).
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                      `- warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:26: warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    |          |- note: calls to instance method 'airline(_:icon:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                          `- warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:51:26: warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
    |          |- note: calls to instance method 'times(departure:arrival:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |   |                          `- warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |53 |                 }
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:77: warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    |          |- note: calls to instance method 'duration' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                                                                             `- warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:26: warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
102 |
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
    |          |- note: calls to instance method 'cities(from:to:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                          `- warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:49:21: warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
 69 |     private var customStub: AnyView?
 70 |
 71 |     public init(from: String, to: String) {   // R1
    |            |- note: calls to initializer 'init(from:to:)' from outside of its actor context are implicitly asynchronous
    |            `- note: main actor isolation inferred from conformance to protocol 'View'
 72 |         self.from = from
 73 |         self.to = to
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |47 |
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |   |                     `- warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:29:77: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |27 |                             HStack(spacing: configuration.spacing(.sm)) {
    |28 |                                 Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |29 |                                 Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |   |                                                                             `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
    |30 |                                 Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |31 |                                 if let duration = configuration.duration {
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
[#ActorIsolatedCall]: <https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call>
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[419/424] Compiling ThemeKitTravel FlightListItem.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/LayoverRow.swift:139:71: warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
137 |         }
138 |         PreviewCase("Deprecated .variant(_:) still works") {
139 |             LayoverRow(duration: "2h 15m", airport: "Istanbul (IST)").variant(.banner).accent(.success)
    |                                                                       `- warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRow.swift:237:43: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
235 |         .padding()
236 |         .frame(maxWidth: .infinity)
237 |         .background(SemanticColor.primary.solid)
    |                                           `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
238 | }
239 |
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRowStyle.swift:428:51: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
426 |                 .surface(.bgWhite).onSearch { }
427 |                 .padding(Theme.SpacingKey.sm.value)
428 |                 .background(SemanticColor.primary.solid)
    |                                                   `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
429 |                 .recentSearchRowStyle(.pill)
430 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:205:65: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
203 |                 HStack(spacing: configuration.spacing(.sm)) {
204 |                     Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
205 |                     Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |                                                                 `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
206 |                     Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
207 |                     if let duration = configuration.duration {
macro expansion #Preview:52:97: warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
    |          |- note: calls to instance method 'accent' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
131 |     func surface(_ key: Theme.BackgroundColorKey) -> Self { copy { $0.surfaceKey = key } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                                 `- warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:86: warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
126 |     /// *scrolling* (state-per-identity) but not identity churn — use
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
    |          |- note: calls to instance method 'favorite()' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                      `- warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:54: warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    |          |- note: calls to instance method 'price(_:currencyCode:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
111 |     /// Omitted-currency form — resolves the code from the environment:
112 |     /// `formatDefaults.currencyCode` → `locale.currency` → `"USD"` (§10).
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                      `- warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:26: warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    |          |- note: calls to instance method 'airline(_:icon:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                          `- warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:51:26: warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
    |          |- note: calls to instance method 'times(departure:arrival:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |   |                          `- warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |53 |                 }
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:77: warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    |          |- note: calls to instance method 'duration' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                                                                             `- warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:26: warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
102 |
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
    |          |- note: calls to instance method 'cities(from:to:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                          `- warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:49:21: warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
 69 |     private var customStub: AnyView?
 70 |
 71 |     public init(from: String, to: String) {   // R1
    |            |- note: calls to initializer 'init(from:to:)' from outside of its actor context are implicitly asynchronous
    |            `- note: main actor isolation inferred from conformance to protocol 'View'
 72 |         self.from = from
 73 |         self.to = to
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |47 |
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |   |                     `- warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:29:77: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |27 |                             HStack(spacing: configuration.spacing(.sm)) {
    |28 |                                 Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |29 |                                 Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |   |                                                                             `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
    |30 |                                 Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |31 |                                 if let duration = configuration.duration {
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
[#ActorIsolatedCall]: <https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call>
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[420/424] Compiling ThemeKitTravel FlightListItemStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/LayoverRow.swift:139:71: warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
137 |         }
138 |         PreviewCase("Deprecated .variant(_:) still works") {
139 |             LayoverRow(duration: "2h 15m", airport: "Istanbul (IST)").variant(.banner).accent(.success)
    |                                                                       `- warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRow.swift:237:43: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
235 |         .padding()
236 |         .frame(maxWidth: .infinity)
237 |         .background(SemanticColor.primary.solid)
    |                                           `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
238 | }
239 |
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRowStyle.swift:428:51: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
426 |                 .surface(.bgWhite).onSearch { }
427 |                 .padding(Theme.SpacingKey.sm.value)
428 |                 .background(SemanticColor.primary.solid)
    |                                                   `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
429 |                 .recentSearchRowStyle(.pill)
430 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:205:65: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
203 |                 HStack(spacing: configuration.spacing(.sm)) {
204 |                     Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
205 |                     Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |                                                                 `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
206 |                     Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
207 |                     if let duration = configuration.duration {
macro expansion #Preview:52:97: warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
    |          |- note: calls to instance method 'accent' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
131 |     func surface(_ key: Theme.BackgroundColorKey) -> Self { copy { $0.surfaceKey = key } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                                 `- warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:86: warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
126 |     /// *scrolling* (state-per-identity) but not identity churn — use
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
    |          |- note: calls to instance method 'favorite()' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                      `- warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:54: warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    |          |- note: calls to instance method 'price(_:currencyCode:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
111 |     /// Omitted-currency form — resolves the code from the environment:
112 |     /// `formatDefaults.currencyCode` → `locale.currency` → `"USD"` (§10).
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                      `- warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:26: warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    |          |- note: calls to instance method 'airline(_:icon:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                          `- warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:51:26: warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
    |          |- note: calls to instance method 'times(departure:arrival:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |   |                          `- warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |53 |                 }
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:77: warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    |          |- note: calls to instance method 'duration' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                                                                             `- warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:26: warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
102 |
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
    |          |- note: calls to instance method 'cities(from:to:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                          `- warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:49:21: warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
 69 |     private var customStub: AnyView?
 70 |
 71 |     public init(from: String, to: String) {   // R1
    |            |- note: calls to initializer 'init(from:to:)' from outside of its actor context are implicitly asynchronous
    |            `- note: main actor isolation inferred from conformance to protocol 'View'
 72 |         self.from = from
 73 |         self.to = to
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |47 |
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |   |                     `- warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:29:77: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |27 |                             HStack(spacing: configuration.spacing(.sm)) {
    |28 |                                 Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |29 |                                 Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |   |                                                                             `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
    |30 |                                 Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |31 |                                 if let duration = configuration.duration {
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
[#ActorIsolatedCall]: <https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call>
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[421/424] Compiling ThemeKitTravel FlightModels.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/LayoverRow.swift:139:71: warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
137 |         }
138 |         PreviewCase("Deprecated .variant(_:) still works") {
139 |             LayoverRow(duration: "2h 15m", airport: "Istanbul (IST)").variant(.banner).accent(.success)
    |                                                                       `- warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRow.swift:237:43: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
235 |         .padding()
236 |         .frame(maxWidth: .infinity)
237 |         .background(SemanticColor.primary.solid)
    |                                           `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
238 | }
239 |
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRowStyle.swift:428:51: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
426 |                 .surface(.bgWhite).onSearch { }
427 |                 .padding(Theme.SpacingKey.sm.value)
428 |                 .background(SemanticColor.primary.solid)
    |                                                   `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
429 |                 .recentSearchRowStyle(.pill)
430 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:205:65: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
203 |                 HStack(spacing: configuration.spacing(.sm)) {
204 |                     Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
205 |                     Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |                                                                 `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
206 |                     Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
207 |                     if let duration = configuration.duration {
macro expansion #Preview:52:97: warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
    |          |- note: calls to instance method 'accent' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
131 |     func surface(_ key: Theme.BackgroundColorKey) -> Self { copy { $0.surfaceKey = key } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                                 `- warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:86: warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
126 |     /// *scrolling* (state-per-identity) but not identity churn — use
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
    |          |- note: calls to instance method 'favorite()' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                      `- warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:54: warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    |          |- note: calls to instance method 'price(_:currencyCode:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
111 |     /// Omitted-currency form — resolves the code from the environment:
112 |     /// `formatDefaults.currencyCode` → `locale.currency` → `"USD"` (§10).
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                      `- warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:26: warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    |          |- note: calls to instance method 'airline(_:icon:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                          `- warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:51:26: warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
    |          |- note: calls to instance method 'times(departure:arrival:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |   |                          `- warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |53 |                 }
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:77: warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    |          |- note: calls to instance method 'duration' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                                                                             `- warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:26: warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
102 |
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
    |          |- note: calls to instance method 'cities(from:to:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                          `- warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:49:21: warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
 69 |     private var customStub: AnyView?
 70 |
 71 |     public init(from: String, to: String) {   // R1
    |            |- note: calls to initializer 'init(from:to:)' from outside of its actor context are implicitly asynchronous
    |            `- note: main actor isolation inferred from conformance to protocol 'View'
 72 |         self.from = from
 73 |         self.to = to
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |47 |
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |   |                     `- warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:29:77: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |27 |                             HStack(spacing: configuration.spacing(.sm)) {
    |28 |                                 Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |29 |                                 Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |   |                                                                             `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
    |30 |                                 Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |31 |                                 if let duration = configuration.duration {
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
[#ActorIsolatedCall]: <https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call>
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[422/424] Compiling ThemeKitTravel FlightResultRow.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/LayoverRow.swift:139:71: warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
137 |         }
138 |         PreviewCase("Deprecated .variant(_:) still works") {
139 |             LayoverRow(duration: "2h 15m", airport: "Istanbul (IST)").variant(.banner).accent(.success)
    |                                                                       `- warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRow.swift:237:43: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
235 |         .padding()
236 |         .frame(maxWidth: .infinity)
237 |         .background(SemanticColor.primary.solid)
    |                                           `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
238 | }
239 |
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRowStyle.swift:428:51: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
426 |                 .surface(.bgWhite).onSearch { }
427 |                 .padding(Theme.SpacingKey.sm.value)
428 |                 .background(SemanticColor.primary.solid)
    |                                                   `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
429 |                 .recentSearchRowStyle(.pill)
430 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:205:65: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
203 |                 HStack(spacing: configuration.spacing(.sm)) {
204 |                     Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
205 |                     Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |                                                                 `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
206 |                     Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
207 |                     if let duration = configuration.duration {
macro expansion #Preview:52:97: warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
    |          |- note: calls to instance method 'accent' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
131 |     func surface(_ key: Theme.BackgroundColorKey) -> Self { copy { $0.surfaceKey = key } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                                 `- warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:86: warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
126 |     /// *scrolling* (state-per-identity) but not identity churn — use
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
    |          |- note: calls to instance method 'favorite()' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                      `- warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:54: warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    |          |- note: calls to instance method 'price(_:currencyCode:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
111 |     /// Omitted-currency form — resolves the code from the environment:
112 |     /// `formatDefaults.currencyCode` → `locale.currency` → `"USD"` (§10).
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                      `- warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:26: warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    |          |- note: calls to instance method 'airline(_:icon:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                          `- warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:51:26: warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
    |          |- note: calls to instance method 'times(departure:arrival:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |   |                          `- warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |53 |                 }
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:77: warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    |          |- note: calls to instance method 'duration' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                                                                             `- warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:26: warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
102 |
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
    |          |- note: calls to instance method 'cities(from:to:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                          `- warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:49:21: warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
 69 |     private var customStub: AnyView?
 70 |
 71 |     public init(from: String, to: String) {   // R1
    |            |- note: calls to initializer 'init(from:to:)' from outside of its actor context are implicitly asynchronous
    |            `- note: main actor isolation inferred from conformance to protocol 'View'
 72 |         self.from = from
 73 |         self.to = to
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |47 |
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |   |                     `- warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:29:77: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |27 |                             HStack(spacing: configuration.spacing(.sm)) {
    |28 |                                 Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |29 |                                 Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |   |                                                                             `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
    |30 |                                 Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |31 |                                 if let duration = configuration.duration {
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
[#ActorIsolatedCall]: <https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call>
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[423/424] Compiling ThemeKitTravel FlightResultRowStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/LayoverRow.swift:139:71: warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
137 |         }
138 |         PreviewCase("Deprecated .variant(_:) still works") {
139 |             LayoverRow(duration: "2h 15m", airport: "Istanbul (IST)").variant(.banner).accent(.success)
    |                                                                       `- warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRow.swift:237:43: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
235 |         .padding()
236 |         .frame(maxWidth: .infinity)
237 |         .background(SemanticColor.primary.solid)
    |                                           `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
238 | }
239 |
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRowStyle.swift:428:51: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
426 |                 .surface(.bgWhite).onSearch { }
427 |                 .padding(Theme.SpacingKey.sm.value)
428 |                 .background(SemanticColor.primary.solid)
    |                                                   `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
429 |                 .recentSearchRowStyle(.pill)
430 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:205:65: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
203 |                 HStack(spacing: configuration.spacing(.sm)) {
204 |                     Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
205 |                     Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |                                                                 `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
206 |                     Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
207 |                     if let duration = configuration.duration {
macro expansion #Preview:52:97: warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
    |          |- note: calls to instance method 'accent' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
131 |     func surface(_ key: Theme.BackgroundColorKey) -> Self { copy { $0.surfaceKey = key } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                                 `- warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:86: warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
126 |     /// *scrolling* (state-per-identity) but not identity churn — use
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
    |          |- note: calls to instance method 'favorite()' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                      `- warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:54: warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    |          |- note: calls to instance method 'price(_:currencyCode:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
111 |     /// Omitted-currency form — resolves the code from the environment:
112 |     /// `formatDefaults.currencyCode` → `locale.currency` → `"USD"` (§10).
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                      `- warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:26: warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    |          |- note: calls to instance method 'airline(_:icon:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                          `- warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:51:26: warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
    |          |- note: calls to instance method 'times(departure:arrival:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |   |                          `- warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |53 |                 }
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:77: warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    |          |- note: calls to instance method 'duration' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                                                                             `- warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:26: warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
102 |
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
    |          |- note: calls to instance method 'cities(from:to:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                          `- warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:49:21: warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
 69 |     private var customStub: AnyView?
 70 |
 71 |     public init(from: String, to: String) {   // R1
    |            |- note: calls to initializer 'init(from:to:)' from outside of its actor context are implicitly asynchronous
    |            `- note: main actor isolation inferred from conformance to protocol 'View'
 72 |         self.from = from
 73 |         self.to = to
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |47 |
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |   |                     `- warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:29:77: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |27 |                             HStack(spacing: configuration.spacing(.sm)) {
    |28 |                                 Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |29 |                                 Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |   |                                                                             `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
    |30 |                                 Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |31 |                                 if let duration = configuration.duration {
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
[#ActorIsolatedCall]: <https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call>
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[424/424] Compiling ThemeKitTravel FlightTicketCard.swift
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/LayoverRow.swift:139:71: warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
137 |         }
138 |         PreviewCase("Deprecated .variant(_:) still works") {
139 |             LayoverRow(duration: "2h 15m", airport: "Istanbul (IST)").variant(.banner).accent(.success)
    |                                                                       `- warning: 'variant' is deprecated: Use .layoverRowStyle(.line/.pill/.banner) instead [#DeprecatedDeclaration]
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRow.swift:237:43: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
235 |         .padding()
236 |         .frame(maxWidth: .infinity)
237 |         .background(SemanticColor.primary.solid)
    |                                           `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
238 | }
239 |
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Molecules/RecentSearchRowStyle.swift:428:51: warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
426 |                 .surface(.bgWhite).onSearch { }
427 |                 .padding(Theme.SpacingKey.sm.value)
428 |                 .background(SemanticColor.primary.solid)
    |                                                   `- warning: 'solid' is deprecated: Reads Theme.shared and ignores per-subtree .theme(); use theme.resolve(color).solid [#DeprecatedDeclaration]
429 |                 .recentSearchRowStyle(.pill)
430 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:205:65: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
203 |                 HStack(spacing: configuration.spacing(.sm)) {
204 |                     Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
205 |                     Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |                                                                 `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
206 |                     Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
207 |                     if let duration = configuration.duration {
macro expansion #Preview:52:97: warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
    |          |- note: calls to instance method 'accent' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
131 |     func surface(_ key: Theme.BackgroundColorKey) -> Self { copy { $0.surfaceKey = key } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                                 `- warning: call to main actor-isolated instance method 'accent' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:86: warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
126 |     /// *scrolling* (state-per-identity) but not identity churn — use
127 |     /// ``favorite(_:)`` when the flag must persist.
128 |     func favorite() -> Self { copy { $0.showsFavorite = true } }
    |          |- note: calls to instance method 'favorite()' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
129 |     func accent(_ color: SemanticColor?) -> Self { copy { $0.accent = color } }
130 |     func elevation(_ e: CardElevation) -> Self { copy { $0.elevation = e } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                                                      `- warning: call to main actor-isolated instance method 'favorite()' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:54: warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    |          |- note: calls to instance method 'price(_:currencyCode:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
111 |     /// Omitted-currency form — resolves the code from the environment:
112 |     /// `formatDefaults.currencyCode` → `locale.currency` → `"USD"` (§10).
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                                                      `- warning: call to main actor-isolated instance method 'price(_:currencyCode:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:52:26: warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    |          |- note: calls to instance method 'airline(_:icon:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
109 |     func airlineLogo(_ url: URL?) -> Self { copy { $0.airlineLogo = url } }
110 |     func price(_ amount: Decimal?, currencyCode: String = "USD") -> Self { copy { $0.price = amount; $0.currencyCode = currencyCode } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |   |                          `- warning: call to main actor-isolated instance method 'airline(_:icon:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |53 |                 }
    |54 |
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:51:26: warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
    |          |- note: calls to instance method 'times(departure:arrival:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |   |                          `- warning: call to main actor-isolated instance method 'times(departure:arrival:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    |53 |                 }
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:77: warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    |          |- note: calls to instance method 'duration' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
107 |     func stops(_ count: Int) -> Self { copy { $0.stops = max(0, count) } }
108 |     func airline(_ name: String?, icon: String = "airplane") -> Self { copy { $0.airline = name; $0.airlineIcon = icon } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                                                                             `- warning: call to main actor-isolated instance method 'duration' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:50:26: warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
102 |
103 | public extension FlightTicketCard {
104 |     func cities(from: String?, to: String?) -> Self { copy { $0.fromCity = from; $0.toCity = to } }
    |          |- note: calls to instance method 'cities(from:to:)' from outside of its actor context are implicitly asynchronous
    |          `- note: main actor isolation inferred from conformance to protocol 'View'
105 |     func times(departure: String?, arrival: String?) -> Self { copy { $0.departure = departure; $0.arrival = arrival } }
106 |     func duration(_ text: String?) -> Self { copy { $0.duration = text } }
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |   |                          `- warning: call to main actor-isolated instance method 'cities(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    |52 |                         .airline("Garuda Indonesia").price(140, currencyCode: "USD").favorite().accent(.info)
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:49:21: warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
 69 |     private var customStub: AnyView?
 70 |
 71 |     public init(from: String, to: String) {   // R1
    |            |- note: calls to initializer 'init(from:to:)' from outside of its actor context are implicitly asynchronous
    |            `- note: main actor isolation inferred from conformance to protocol 'View'
 72 |         self.from = from
 73 |         self.to = to
    :
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |47 |
    |48 |                 func ticket() -> FlightTicketCard {
    |49 |                     FlightTicketCard(from: "NYC", to: "SFO")
    |   |                     `- warning: call to main actor-isolated initializer 'init(from:to:)' in a synchronous nonisolated context [#ActorIsolatedCall]
    |50 |                         .cities(from: "New York City", to: "San Francisco").duration("1h 45m")
    |51 |                         .times(departure: "10:00 AM", arrival: "11:30 AM")
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
macro expansion #Preview:29:77: warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
`- /Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Components/Organisms/FlightTicketCard.swift:239:2: note: expanded code originates here
192 | // in-preview style proving external implementability (token-fed, soft accent
193 | // banner with the route line and the price).
194 | #Preview("Styles × light/dark") {
    | `- note: in expansion of macro 'Preview' here
195 |     struct BannerTicketStyle: FlightTicketCardStyle {
196 |         func makeBody(configuration: FlightTicketCardConfiguration) -> some View {
    :
237 |         }
238 |     }
239 | }
    +--- macro expansion #Preview --------------------------------------
    |27 |                             HStack(spacing: configuration.spacing(.sm)) {
    |28 |                                 Text(configuration.from).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |29 |                                 Icon(systemName: "arrow.forward").size(.xs).color(theme.text(.textTertiary))
    |   |                                                                             `- warning: 'color' is deprecated: Use accent(_:) with a SemanticColor token. [#DeprecatedDeclaration]
    |30 |                                 Text(configuration.to).textStyle(.labelMd700).foregroundStyle(theme.text(.textPrimary))
    |31 |                                 if let duration = configuration.duration {
    +-------------------------------------------------------------------
240 |
241 | // The perforated tear shell is per-preset chrome (see header note): on the
[#ActorIsolatedCall]: <https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call>
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete! (83.49s)
Fetching https://github.com/pointfreeco/swift-snapshot-testing.git
Fetching https://github.com/apple/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
[2346/18846] Fetching swift-docc-plugin, swift-snapshot-testing
Fetched https://github.com/apple/swift-docc-plugin from cache (6.86s)
Fetched https://github.com/pointfreeco/swift-snapshot-testing.git from cache (6.86s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.5.0 (9.81s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3837] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.35s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.07s)
Computing version for https://github.com/pointfreeco/swift-snapshot-testing.git
Computed https://github.com/pointfreeco/swift-snapshot-testing.git at 1.19.6 (0.54s)
Fetching https://github.com/swiftlang/swift-syntax
Fetching https://github.com/pointfreeco/swift-custom-dump
[1/5669] Fetching swift-custom-dump
[5670/86159] Fetching swift-custom-dump, swift-syntax
Fetched https://github.com/swiftlang/swift-syntax from cache (4.96s)
Fetched https://github.com/pointfreeco/swift-custom-dump from cache (4.96s)
Computing version for https://github.com/pointfreeco/swift-custom-dump
Computed https://github.com/pointfreeco/swift-custom-dump at 1.7.3 (5.53s)
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay
[1/2727] Fetching xctest-dynamic-overlay
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay from cache (1.43s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay
Computed https://github.com/pointfreeco/xctest-dynamic-overlay at 1.13.1 (3.66s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 604.0.0 (0.72s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/pointfreeco/swift-snapshot-testing.git
Working copy of https://github.com/pointfreeco/swift-snapshot-testing.git resolved at 1.19.6
Creating working copy for https://github.com/pointfreeco/swift-custom-dump
Working copy of https://github.com/pointfreeco/swift-custom-dump resolved at 1.7.3
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay resolved at 1.13.1
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 604.0.0
Build complete.
{
  "default_localization" : "en",
  "dependencies" : [
    {
      "identity" : "lottie-ios",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.4.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/airbnb/lottie-ios.git"
    },
    {
      "identity" : "almanac",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.2.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/isamercan/Almanac.git"
    },
    {
      "identity" : "swift-snapshot-testing",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.17.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/pointfreeco/swift-snapshot-testing.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "ThemeKit",
  "name" : "ThemeKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.6"
    },
    {
      "name" : "macos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "ThemeKit",
      "targets" : [
        "ThemeKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ThemeKitCore",
      "targets" : [
        "ThemeKitCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ThemeKitLottie",
      "targets" : [
        "ThemeKitLottie"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ThemeKitCalendar",
      "targets" : [
        "ThemeKitCalendar"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ThemeKitTravel",
      "targets" : [
        "ThemeKitTravel"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "6"
  ],
  "targets" : [
    {
      "c99name" : "ThemeKitTravel",
      "module_type" : "SwiftTarget",
      "name" : "ThemeKitTravel",
      "path" : "Sources/ThemeKitTravel",
      "product_memberships" : [
        "ThemeKitTravel"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitTravel/Resources/Localizable.xcstrings",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Components/Atoms/FlightStatusBadge.swift",
        "Components/Atoms/FlightStatusBadgeStyle.swift",
        "Components/Atoms/SeatCell.swift",
        "Components/Atoms/SeatCellStyle.swift",
        "Components/Molecules/CabinClassSelector.swift",
        "Components/Molecules/CabinClassSelectorStyle.swift",
        "Components/Molecules/DatePriceStrip.swift",
        "Components/Molecules/DatePriceStripStyle.swift",
        "Components/Molecules/FlightRoute.swift",
        "Components/Molecules/FlightRouteStyle.swift",
        "Components/Molecules/LayoverRow.swift",
        "Components/Molecules/LayoverRowStyle.swift",
        "Components/Molecules/PassengerRow.swift",
        "Components/Molecules/PassengerRowStyle.swift",
        "Components/Molecules/RecentSearchRow.swift",
        "Components/Molecules/RecentSearchRowStyle.swift",
        "Components/Molecules/SeatLegend.swift",
        "Components/Molecules/SeatLegendStyle.swift",
        "Components/Molecules/TripTypeToggle.swift",
        "Components/Molecules/TripTypeToggleStyle.swift",
        "Components/Organisms/AirportPicker.swift",
        "Components/Organisms/AirportPickerStyle.swift",
        "Components/Organisms/AncillaryCard.swift",
        "Components/Organisms/AncillaryCardStyle.swift",
        "Components/Organisms/BoardingPass.swift",
        "Components/Organisms/BoardingPassStyle.swift",
        "Components/Organisms/CheckInFlow.swift",
        "Components/Organisms/CheckInFlowStyle.swift",
        "Components/Organisms/FareFamilyCard.swift",
        "Components/Organisms/FareFamilyCardStyle.swift",
        "Components/Organisms/FareSummary.swift",
        "Components/Organisms/FareSummaryStyle.swift",
        "Components/Organisms/FilterBar.swift",
        "Components/Organisms/FilterBarStyle.swift",
        "Components/Organisms/FlightCard.swift",
        "Components/Organisms/FlightCardStyle.swift",
        "Components/Organisms/FlightListItem.swift",
        "Components/Organisms/FlightListItemStyle.swift",
        "Components/Organisms/FlightModels.swift",
        "Components/Organisms/FlightResultRow.swift",
        "Components/Organisms/FlightResultRowStyle.swift",
        "Components/Organisms/FlightTicketCard.swift",
        "Components/Organisms/FlightTicketCardStyle.swift",
        "Components/Organisms/FlightTracker.swift",
        "Components/Organisms/FlightTrackerStyle.swift",
        "Components/Organisms/PassengerForm.swift",
        "Components/Organisms/PassengerFormStyle.swift",
        "Components/Organisms/PaymentMethodSelector.swift",
        "Components/Organisms/PaymentMethodSelectorStyle.swift",
        "Components/Organisms/SavedCardsList.swift",
        "Components/Organisms/SavedCardsListStyle.swift",
        "Components/Organisms/SeatMap.swift",
        "Components/Organisms/SeatMapModels.swift",
        "Components/Organisms/SeatMapStyle.swift",
        "Components/Organisms/StickyBookingBar.swift",
        "Components/Organisms/StickyBookingBarStyle.swift",
        "Components/Organisms/TransportCrossSellCard.swift",
        "Components/Organisms/TransportCrossSellCardStyle.swift",
        "Components/Organisms/TripSearchCard.swift",
        "Components/Organisms/TripSearchCardStyle.swift",
        "FlightDefaults.swift",
        "Localization.swift",
        "Models/FlightSearchModels.swift",
        "Models/FlightStatusModels.swift",
        "Models/PassengerModels.swift",
        "Models/PaymentModels.swift",
        "ThemeKitTravel.swift",
        "Validation/PassengerRules.swift"
      ],
      "target_dependencies" : [
        "ThemeKit"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ThemeKitTests",
      "module_type" : "SwiftTarget",
      "name" : "ThemeKitTests",
      "path" : "Tests/ThemeKitTests",
      "product_dependencies" : [
        "SnapshotTesting"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/ThemeKitTests/Fixtures",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "AccessibilitySemanticsTests.swift",
        "AccessibilityTests.swift",
        "AccordionStyleTests.swift",
        "AdaptiveFitTests.swift",
        "AlertToastSlotTests.swift",
        "AnimatedImageLoaderTests.swift",
        "AutocompleteTests.swift",
        "BadgeChromeStyleTests.swift",
        "BrandColorTests.swift",
        "BreadcrumbsTests.swift",
        "ButtonChromeStyleTests.swift",
        "ButtonDockChromeStyleTests.swift",
        "CSSThemeTests.swift",
        "CalloutChromeStyleTests.swift",
        "ChartCanvasTests.swift",
        "CheckboxChromeStyleTests.swift",
        "ChipStyleTitleTests.swift",
        "ChromeStyleBehaviourTests.swift",
        "ColorModelsTests.swift",
        "CommandPaletteTests.swift",
        "ComponentMotionTests.swift",
        "ContentContrastTests.swift",
        "ControllableStateTests.swift",
        "CountBadgeStyleTests.swift",
        "CouponChromeStyleTests.swift",
        "CustomTextStyleRegistrationTests.swift",
        "CustomTokenRegistrationTests.swift",
        "CustomTokenTests.swift",
        "DataTablePagingTests.swift",
        "DateFieldTests.swift",
        "DateWheelPickerTests.swift",
        "DesignCatalogTests.swift",
        "DesignParserTests.swift",
        "DialogStyleTests.swift",
        "DividerStyleTests.swift",
        "DrawerPresenterTests.swift",
        "EmptyStateStyleTests.swift",
        "FeedbackPresenterTests.swift",
        "Generated/L10nKeyInvariantTests.swift",
        "GifGenerator.swift",
        "HexColorTests.swift",
        "IconTileStyleTests.swift",
        "InfoMessageIconsTests.swift",
        "InfoMessageTests.swift",
        "InlineTextStyleTests.swift",
        "InputNumberTests.swift",
        "L10nGenerationGateTests.swift",
        "L10nResolverTests.swift",
        "L10nViewLayerTests.swift",
        "LanguageSwitcherRegionTests.swift",
        "LocalizationTests.swift",
        "MeasuredLayoutTests.swift",
        "MotionSpringTests.swift",
        "MultiLineTextInputLabelTests.swift",
        "MultiSelectTests.swift",
        "OTPDigitStyleTests.swift",
        "OTPInputTests.swift",
        "OnChangeCompatTests.swift",
        "PaginationTests.swift",
        "PriceTagStyleTests.swift",
        "PriceTrendChartStyleTests.swift",
        "RadioButtonChromeStyleTests.swift",
        "RadiusCappingTests.swift",
        "RadiusRoleTests.swift",
        "RangeSliderStyleTests.swift",
        "RangeSliderTests.swift",
        "RenderSmokeTests.swift",
        "ScreenshotGenerator.swift",
        "SearchBarTests.swift",
        "SegmentedControlStyleTests.swift",
        "SegmentedTabBarChromeStyleTests.swift",
        "SemanticColorResolvedTests.swift",
        "SheetHeaderStyleTests.swift",
        "SheetPresenterTests.swift",
        "SkeletonStyleTests.swift",
        "Snapshot/AirportPickerSnapshotTests.swift",
        "Snapshot/AlertDialogSnapshotTests.swift",
        "Snapshot/BadgesChromeStyleSnapshotTests.swift",
        "Snapshot/ButtonChromeStyleSnapshotTests.swift",
        "Snapshot/ButtonSnapshotTests.swift",
        "Snapshot/CabinClassSnapshotTests.swift",
        "Snapshot/CalloutInlineTextChromeStyleSnapshotTests.swift",
        "Snapshot/CheckInFlowSnapshotTests.swift",
        "Snapshot/ChipRadioChromeStyleSnapshotTests.swift",
        "Snapshot/ComponentSnapshotTests.swift",
        "Snapshot/DialogChromeStyleSnapshotTests.swift",
        "Snapshot/DisplaySnapshotTests.swift",
        "Snapshot/DockSheetHeaderChromeStyleSnapshotTests.swift",
        "Snapshot/EmptyStateChromeStyleSnapshotTests.swift",
        "Snapshot/FlexibilitySnapshotTests.swift",
        "Snapshot/FlightFavoriteSnapshotTests.swift",
        "Snapshot/FlightTrackerSnapshotTests.swift",
        "Snapshot/FormControlSnapshotTests.swift",
        "Snapshot/HeroUIGapSnapshotTests.swift",
        "Snapshot/L10nSnapshotTests.swift",
        "Snapshot/LanguageSwitcherSnapshotTests.swift",
        "Snapshot/PaymentSnapshotTests.swift",
        "Snapshot/PriceTagChromeStyleSnapshotTests.swift",
        "Snapshot/SavedCardsListSnapshotTests.swift",
        "Snapshot/SkeletonDividerChromeStyleSnapshotTests.swift",
        "Snapshot/SnapshotSupport.swift",
        "Snapshot/TitleTabChromeStyleSnapshotTests.swift",
        "Snapshot/TooltipChromeStyleSnapshotTests.swift",
        "Snapshot/TransportCrossSellSnapshotTests.swift",
        "Snapshot/TravelEditionSnapshotTests.swift",
        "Snapshot/TravelSnapshotTests.swift",
        "Snapshot/TripSearchCardSnapshotTests.swift",
        "SwiftTestingPilot.swift",
        "TableSortKeyTests.swift",
        "TextInputHasErrorTests.swift",
        "TextInputTests.swift",
        "ThemeEnvironmentTests.swift",
        "ThemeGeneratorGoldenTests.swift",
        "ThemeGeneratorRobustnessTests.swift",
        "ThemeGeneratorTests.swift",
        "ThemeInjectionTests.swift",
        "ThemeIntegrityTests.swift",
        "ThemeKitRootObservationTests.swift",
        "ThemeKitTravelModelTests.swift",
        "ThemeKitTravelPackagingTests.swift",
        "ThemePresetRenderProof.swift",
        "ThemePresetsTests.swift",
        "ThemeSubtreeColorResolutionTests.swift",
        "ThemeTests.swift",
        "TimeFieldTests.swift",
        "TitleStyleTests.swift",
        "ToggleChromeStyleTests.swift",
        "TooltipPlacementTests.swift",
        "TooltipStyleConfigurationTests.swift",
        "TooltipStyleTests.swift",
        "TooltipTests.swift",
        "TravelComponentLogicTests.swift",
        "TravelComponentsRenderTests.swift",
        "UploadControllerTests.swift",
        "ValidationTests.swift",
        "ValidatorsEdgeCaseTests.swift",
        "ValidatorsExtensibilityTests.swift"
      ],
      "target_dependencies" : [
        "ThemeKit",
        "ThemeKitCore",
        "ThemeKitTravel"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ThemeKitLottie",
      "module_type" : "SwiftTarget",
      "name" : "ThemeKitLottie",
      "path" : "Sources/ThemeKitLottie",
      "product_memberships" : [
        "ThemeKitLottie"
      ],
      "sources" : [
        "LottieEmptyState.swift",
        "LottieIllustration.swift"
      ],
      "target_dependencies" : [
        "ThemeKit"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ThemeKitCore",
      "module_type" : "SwiftTarget",
      "name" : "ThemeKitCore",
      "path" : "Sources/ThemeKitCore",
      "product_memberships" : [
        "ThemeKit",
        "ThemeKitCore",
        "ThemeKitLottie",
        "ThemeKitCalendar",
        "ThemeKitTravel"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/DesignSpecs/brutalist.design.md",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/DesignSpecs/ios-native.design.md",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/DesignSpecs/linear-dark.design.md",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/DesignSpecs/notion-minimal.design.md",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/DesignSpecs/pastel-soft.design.md",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/Fonts/Inter.ttf",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/Fonts/Montserrat.ttf",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/Localizable.xcstrings",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/defaultTheme.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/defaultThemeDark.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/heroui.css",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/herouiTheme.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/herouiThemeDark.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/oceanTheme.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/oceanThemeDark.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/sunsetTheme.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/ThemeKitCore/Resources/sunsetThemeDark.json",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Color+Extensions.swift",
        "ColorContrast.swift",
        "ControllableState.swift",
        "Localization.swift",
        "Theme/AspectRatio.swift",
        "Theme/CSSTheme.swift",
        "Theme/ColorTokens.generated.swift",
        "Theme/ComponentDensity.swift",
        "Theme/DesignMode/DesignMarkdownParser.swift",
        "Theme/DesignMode/DesignMode.swift",
        "Theme/DesignMode/DesignSpec.swift",
        "Theme/DesignMode/DesignSpecCatalog.swift",
        "Theme/DesignMode/DesignSpecResolver.swift",
        "Theme/Grid.swift",
        "Theme/MicroMotion.swift",
        "Theme/Motion.swift",
        "Theme/MotionSpring.swift",
        "Theme/SemanticColor.swift",
        "Theme/SemanticColorResolved.swift",
        "Theme/Shadows.swift",
        "Theme/Theme.swift",
        "Theme/ThemeConfig.swift",
        "Theme/ThemeContext.swift",
        "Theme/ThemeGenerator.swift",
        "Theme/ThemeKit.swift",
        "Theme/ThemeKitLocalized.swift",
        "Theme/ThemeModel.swift",
        "Theme/ThemePresets.swift",
        "Theme/ThemedHostingController.swift",
        "Theme/Typography.swift",
        "ThemeAnyShape.swift",
        "ThemeKitFacade.swift",
        "ThemeKitLocalizationValue.swift",
        "ThemeKitStrings.swift",
        "ThemeUnevenRoundedRect.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ThemeKitCalendarTests",
      "module_type" : "SwiftTarget",
      "name" : "ThemeKitCalendarTests",
      "path" : "Tests/ThemeKitCalendarTests",
      "sources" : [
        "CalendarThemeBridgeTests.swift"
      ],
      "target_dependencies" : [
        "ThemeKitCalendar",
        "ThemeKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ThemeKitCalendar",
      "module_type" : "SwiftTarget",
      "name" : "ThemeKitCalendar",
      "path" : "Sources/ThemeKitCalendar",
      "product_memberships" : [
        "ThemeKitCalendar"
      ],
      "sources" : [
        "CalendarTheme+ThemeKit.swift",
        "DateRangePicker.swift",
        "TimeWheel.swift"
      ],
      "target_dependencies" : [
        "ThemeKit"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ThemeKit",
      "module_type" : "SwiftTarget",
      "name" : "ThemeKit",
      "path" : "Sources/ThemeKit",
      "product_memberships" : [
        "ThemeKit",
        "ThemeKitLottie",
        "ThemeKitCalendar",
        "ThemeKitTravel"
      ],
      "sources" : [
        "Accessibility/Accessibility.swift",
        "Accessibility/DynamicType.swift",
        "Accessibility/LayoutDirection.swift",
        "ComponentDefaults.swift",
        "Components/Atoms/AnimatedImage.swift",
        "Components/Atoms/Aura.swift",
        "Components/Atoms/Avatar.swift",
        "Components/Atoms/Backdrop.swift",
        "Components/Atoms/Badge.swift",
        "Components/Atoms/BadgeChromeStyle.swift",
        "Components/Atoms/Barcode.swift",
        "Components/Atoms/BorderBeam.swift",
        "Components/Atoms/Chip.swift",
        "Components/Atoms/ChipStyle.swift",
        "Components/Atoms/CloseButton.swift",
        "Components/Atoms/CodeBlock.swift",
        "Components/Atoms/ColorSwatch.swift",
        "Components/Atoms/Confetti.swift",
        "Components/Atoms/CornerRadiusModifier.swift",
        "Components/Atoms/CountBadge.swift",
        "Components/Atoms/CountBadgeStyle.swift",
        "Components/Atoms/CountdownTimer.swift",
        "Components/Atoms/DescriptionModal.swift",
        "Components/Atoms/DividerStyle.swift",
        "Components/Atoms/DividerView.swift",
        "Components/Atoms/FareFeatureRow.swift",
        "Components/Atoms/FeatureModels.swift",
        "Components/Atoms/GaugeView.swift",
        "Components/Atoms/HelperText.swift",
        "Components/Atoms/Icon.swift",
        "Components/Atoms/IconTile.swift",
        "Components/Atoms/IconTileStyle.swift",
        "Components/Atoms/Indicator.swift",
        "Components/Atoms/InlineText.swift",
        "Components/Atoms/InlineTextStyle.swift",
        "Components/Atoms/InputLabel.swift",
        "Components/Atoms/Join.swift",
        "Components/Atoms/Kbd.swift",
        "Components/Atoms/Mask.swift",
        "Components/Atoms/MeterStyle.swift",
        "Components/Atoms/PointsBadge.swift",
        "Components/Atoms/PriceTag.swift",
        "Components/Atoms/PriceTagStyle.swift",
        "Components/Atoms/ProgressBar.swift",
        "Components/Atoms/QRCode.swift",
        "Components/Atoms/RadialProgress.swift",
        "Components/Atoms/Rating.swift",
        "Components/Atoms/RemoteImage.swift",
        "Components/Atoms/RollingNumber.swift",
        "Components/Atoms/ScoreBadge.swift",
        "Components/Atoms/SearchBadge.swift",
        "Components/Atoms/ShareButton.swift",
        "Components/Atoms/Skeleton.swift",
        "Components/Atoms/SkeletonGroup.swift",
        "Components/Atoms/SkeletonStyle.swift",
        "Components/Atoms/Spinner.swift",
        "Components/Atoms/StatusDot.swift",
        "Components/Atoms/SurfaceView.swift",
        "Components/Atoms/Swap.swift",
        "Components/Atoms/SwapButton.swift",
        "Components/Atoms/Tag.swift",
        "Components/Atoms/TextLink.swift",
        "Components/Atoms/TextRotate.swift",
        "Components/Atoms/TiltCard.swift",
        "Components/Atoms/Title.swift",
        "Components/Atoms/TitleStyle.swift",
        "Components/Atoms/TrendChip.swift",
        "Components/Atoms/Watermark.swift",
        "Components/Molecules/Affix.swift",
        "Components/Molecules/AmenityGrid.swift",
        "Components/Molecules/AnchorNav.swift",
        "Components/Molecules/Autocomplete.swift",
        "Components/Molecules/Breadcrumbs.swift",
        "Components/Molecules/ButtonGroup.swift",
        "Components/Molecules/Buttons/ButtonChromeStyle.swift",
        "Components/Molecules/Buttons/ButtonSize.swift",
        "Components/Molecules/Buttons/Buttons.swift",
        "Components/Molecules/Buttons/ThemeButton.swift",
        "Components/Molecules/CalendarView.swift",
        "Components/Molecules/CalendarYearPicker.swift",
        "Components/Molecules/Cascader.swift",
        "Components/Molecules/Charts/AreaChart.swift",
        "Components/Molecules/Charts/BarChart.swift",
        "Components/Molecules/Charts/ChartModels.swift",
        "Components/Molecules/Charts/ChartSupport.swift",
        "Components/Molecules/Charts/DonutChart.swift",
        "Components/Molecules/Charts/LineChart.swift",
        "Components/Molecules/Checkbox.swift",
        "Components/Molecules/CheckboxChromeStyle.swift",
        "Components/Molecules/CheckboxGroup.swift",
        "Components/Molecules/Chips.swift",
        "Components/Molecules/ColorArea.swift",
        "Components/Molecules/ColorField.swift",
        "Components/Molecules/ColorModels.swift",
        "Components/Molecules/ColorSlider.swift",
        "Components/Molecules/ColorSwatchPicker.swift",
        "Components/Molecules/ColumnsGrid.swift",
        "Components/Molecules/ControlRow.swift",
        "Components/Molecules/CurrencyPicker.swift",
        "Components/Molecules/DateField.swift",
        "Components/Molecules/DateWheelPicker.swift",
        "Components/Molecules/Dropdown.swift",
        "Components/Molecules/EmojiReactionButton.swift",
        "Components/Molecules/FieldButton.swift",
        "Components/Molecules/FieldStyle.swift",
        "Components/Molecules/Fieldset.swift",
        "Components/Molecules/FileInput.swift",
        "Components/Molecules/FilterGroup.swift",
        "Components/Molecules/FilterRow.swift",
        "Components/Molecules/Flex.swift",
        "Components/Molecules/FlowLayout.swift",
        "Components/Molecules/GuestSelector.swift",
        "Components/Molecules/HoverCard.swift",
        "Components/Molecules/InputGroup.swift",
        "Components/Molecules/InputNumber.swift",
        "Components/Molecules/InstallmentPicker.swift",
        "Components/Molecules/InstallmentSelector.swift",
        "Components/Molecules/LanguageSwitcher.swift",
        "Components/Molecules/MapPriceMarker.swift",
        "Components/Molecules/Masonry.swift",
        "Components/Molecules/Mentions.swift",
        "Components/Molecules/MultiLineTextInput.swift",
        "Components/Molecules/MultiSelect.swift",
        "Components/Molecules/OTPInput.swift",
        "Components/Molecules/Pagination.swift",
        "Components/Molecules/PaymentCardField.swift",
        "Components/Molecules/PhoneField.swift",
        "Components/Molecules/PriceBreakdown.swift",
        "Components/Molecules/PriceHistogram.swift",
        "Components/Molecules/PriceTrendChart.swift",
        "Components/Molecules/PriceTrendChartStyle.swift",
        "Components/Molecules/ProgressIndicator.swift",
        "Components/Molecules/QuantityStepper.swift",
        "Components/Molecules/RadioButton.swift",
        "Components/Molecules/RadioButtonChromeStyle.swift",
        "Components/Molecules/RadioGroup.swift",
        "Components/Molecules/RangeSlider.swift",
        "Components/Molecules/RangeSliderStyle.swift",
        "Components/Molecules/ScrollShadow.swift",
        "Components/Molecules/ScrubGallery.swift",
        "Components/Molecules/SearchBar.swift",
        "Components/Molecules/SearchField.swift",
        "Components/Molecules/SearchSummary.swift",
        "Components/Molecules/SegmentedControl.swift",
        "Components/Molecules/SegmentedControlStyle.swift",
        "Components/Molecules/Select.swift",
        "Components/Molecules/SelectBox.swift",
        "Components/Molecules/SelectStyle.swift",
        "Components/Molecules/Slider.swift",
        "Components/Molecules/SmartSuggestion.swift",
        "Components/Molecules/SortSummaryBar.swift",
        "Components/Molecules/Space.swift",
        "Components/Molecules/Splitter.swift",
        "Components/Molecules/Stat.swift",
        "Components/Molecules/StatStyle.swift",
        "Components/Molecules/StepperRow.swift",
        "Components/Molecules/Steps.swift",
        "Components/Molecules/SuggestionRow.swift",
        "Components/Molecules/TableCells.swift",
        "Components/Molecules/TextInput.swift",
        "Components/Molecules/TextInputFormatter.swift",
        "Components/Molecules/ThemeContextMenu.swift",
        "Components/Molecules/ThemeController.swift",
        "Components/Molecules/ThemeToggle.swift",
        "Components/Molecules/TimeField.swift",
        "Components/Molecules/ToggleChromeStyle.swift",
        "Components/Molecules/ToggleGroup.swift",
        "Components/Molecules/Tooltip.swift",
        "Components/Molecules/TooltipStyle.swift",
        "Components/Molecules/Transfer.swift",
        "Components/Molecules/TreeSelect.swift",
        "Components/Molecules/TreeView.swift",
        "Components/Molecules/ValidationRule.swift",
        "Components/Organisms/Accordion.swift",
        "Components/Organisms/AccordionGroup.swift",
        "Components/Organisms/AccordionStyle.swift",
        "Components/Organisms/ActionBar.swift",
        "Components/Organisms/Agenda.swift",
        "Components/Organisms/AgentPriceRow.swift",
        "Components/Organisms/AlertDialog.swift",
        "Components/Organisms/AlertToast.swift",
        "Components/Organisms/AnchoredPopover.swift",
        "Components/Organisms/BarStyle.swift",
        "Components/Organisms/BlogCard.swift",
        "Components/Organisms/BottomSheet.swift",
        "Components/Organisms/BrowserFrame.swift",
        "Components/Organisms/ButtonDock.swift",
        "Components/Organisms/ButtonDockChromeStyle.swift",
        "Components/Organisms/Callout.swift",
        "Components/Organisms/CalloutChromeStyle.swift",
        "Components/Organisms/Card.swift",
        "Components/Organisms/CardStack.swift",
        "Components/Organisms/CardStyle.swift",
        "Components/Organisms/Carousel.swift",
        "Components/Organisms/ChatBubble.swift",
        "Components/Organisms/ColorPickerPanel.swift",
        "Components/Organisms/CommandPalette.swift",
        "Components/Organisms/Counter.swift",
        "Components/Organisms/Coupon.swift",
        "Components/Organisms/CouponChromeStyle.swift",
        "Components/Organisms/DataTable.swift",
        "Components/Organisms/DestinationCard.swift",
        "Components/Organisms/Dialog.swift",
        "Components/Organisms/DialogStyle.swift",
        "Components/Organisms/Diff.swift",
        "Components/Organisms/Drawer.swift",
        "Components/Organisms/EmptyState.swift",
        "Components/Organisms/EmptyStateStyle.swift",
        "Components/Organisms/Feedback.swift",
        "Components/Organisms/FeedbackDefaults.swift",
        "Components/Organisms/FilterList.swift",
        "Components/Organisms/FloatingActionButton.swift",
        "Components/Organisms/Footer.swift",
        "Components/Organisms/Gallery.swift",
        "Components/Organisms/Hero.swift",
        "Components/Organisms/HotelResultCard.swift",
        "Components/Organisms/ImageCollage.swift",
        "Components/Organisms/InfoBanner.swift",
        "Components/Organisms/KanbanBoard.swift",
        "Components/Organisms/KeyValueTable.swift",
        "Components/Organisms/ListRow.swift",
        "Components/Organisms/ListRowStyle.swift",
        "Components/Organisms/ListView.swift",
        "Components/Organisms/LocationCard.swift",
        "Components/Organisms/LoyaltyCard.swift",
        "Components/Organisms/MapCallout.swift",
        "Components/Organisms/MenuCard.swift",
        "Components/Organisms/NavigationBar.swift",
        "Components/Organisms/NotificationCard.swift",
        "Components/Organisms/PageHeader.swift",
        "Components/Organisms/PageHeaderStyle.swift",
        "Components/Organisms/PagingCarousel.swift",
        "Components/Organisms/PhoneFrame.swift",
        "Components/Organisms/Popconfirm.swift",
        "Components/Organisms/PriceAlertCard.swift",
        "Components/Organisms/PromoBanner.swift",
        "Components/Organisms/RatingSummary.swift",
        "Components/Organisms/ResultView.swift",
        "Components/Organisms/ReviewCard.swift",
        "Components/Organisms/RoomCard.swift",
        "Components/Organisms/SegmentedTabBar.swift",
        "Components/Organisms/SegmentedTabBarChromeStyle.swift",
        "Components/Organisms/SelectionCards.swift",
        "Components/Organisms/SheetHeader.swift",
        "Components/Organisms/SheetHeaderStyle.swift",
        "Components/Organisms/Sidebar.swift",
        "Components/Organisms/ThemePicker.swift",
        "Components/Organisms/TicketStub.swift",
        "Components/Organisms/Timeline.swift",
        "Components/Organisms/Toast.swift",
        "Components/Organisms/ToastStyle.swift",
        "Components/Organisms/Tour.swift",
        "Components/Organisms/Upload.swift",
        "Components/Organisms/VideoPlayerView.swift",
        "Components/Organisms/WindowFrame.swift",
        "CoreExports.swift",
        "Extensions/Chrome.swift",
        "Extensions/DismissDrag.swift",
        "Extensions/GlassChrome.swift",
        "Extensions/Shake.swift",
        "Extensions/SlotContent.swift",
        "FieldDefaults.swift",
        "FormatDefaults.swift",
        "ReadOnly.swift",
        "Utils/AdaptiveFit.swift",
        "Utils/AvailabilityCompat.swift",
        "Utils/ComponentMotion.swift",
        "Utils/Debounce.swift",
        "Utils/Effects.swift",
        "Utils/Haptics.swift",
        "Utils/Impression.swift",
        "Utils/MeasuredLayoutSupport.swift",
        "Utils/PreviewMatrix.swift",
        "Utils/SelectionHaptics.swift",
        "Utils/ThemeMotion.swift",
        "Validation/FormValidator.swift",
        "Validation/FormWiring.swift",
        "Validation/InfoMessage.swift",
        "Validation/InfoMessageUI.swift",
        "Validation/Validation.swift",
        "Validation/Validators.swift"
      ],
      "target_dependencies" : [
        "ThemeKitCore"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.2"
}
Done.