// generated by bun run generate from the SwiftUI SDK and codegen/catalog.ts.
// edit the generator or catalog, then regenerate.
#pragma once
// C++ only: the Swift module umbrella imports every public header, so the guard keeps
// this template out of Swift's clang module.
#ifdef __cplusplus
#import <Foundation/Foundation.h>
#import <React/RCTConversions.h>

template <typename SwiftStyle>
static NSDictionary *OneNativeStyleDictionary(const SwiftStyle &swiftStyle) {
  NSMutableDictionary *style = [NSMutableDictionary new];
  if (swiftStyle.fontSize >= 0) style[@"fontSize"] = @(swiftStyle.fontSize);
  if (!swiftStyle.fontWeight.empty()) style[@"fontWeight"] = RCTNSStringFromString(swiftStyle.fontWeight);
  if (!swiftStyle.fontDesign.empty()) style[@"fontDesign"] = RCTNSStringFromString(swiftStyle.fontDesign);
  if (!swiftStyle.textStyle.empty()) style[@"textStyle"] = RCTNSStringFromString(swiftStyle.textStyle);
  if (swiftStyle.foregroundStyle) { UIColor *c = RCTUIColorFromSharedColor(swiftStyle.foregroundStyle); if (c) style[@"foregroundStyle"] = c; }
  if (swiftStyle.tint) { UIColor *c = RCTUIColorFromSharedColor(swiftStyle.tint); if (c) style[@"tint"] = c; }
  if (swiftStyle.background) { UIColor *c = RCTUIColorFromSharedColor(swiftStyle.background); if (c) style[@"background"] = c; }
  if (swiftStyle.padding >= 0) style[@"padding"] = @(swiftStyle.padding);
  if (swiftStyle.paddingTop >= 0) style[@"paddingTop"] = @(swiftStyle.paddingTop);
  if (swiftStyle.paddingLeading >= 0) style[@"paddingLeading"] = @(swiftStyle.paddingLeading);
  if (swiftStyle.paddingBottom >= 0) style[@"paddingBottom"] = @(swiftStyle.paddingBottom);
  if (swiftStyle.paddingTrailing >= 0) style[@"paddingTrailing"] = @(swiftStyle.paddingTrailing);
  if (swiftStyle.width >= 0) style[@"width"] = @(swiftStyle.width);
  if (swiftStyle.height >= 0) style[@"height"] = @(swiftStyle.height);
  if (swiftStyle.minWidth >= 0) style[@"minWidth"] = @(swiftStyle.minWidth);
  if (swiftStyle.idealWidth >= 0) style[@"idealWidth"] = @(swiftStyle.idealWidth);
  if (swiftStyle.maxWidth >= 0) style[@"maxWidth"] = @(swiftStyle.maxWidth);
  if (swiftStyle.minHeight >= 0) style[@"minHeight"] = @(swiftStyle.minHeight);
  if (swiftStyle.idealHeight >= 0) style[@"idealHeight"] = @(swiftStyle.idealHeight);
  if (swiftStyle.maxHeight >= 0) style[@"maxHeight"] = @(swiftStyle.maxHeight);
  if (swiftStyle.cornerRadius >= 0) style[@"cornerRadius"] = @(swiftStyle.cornerRadius);
  if (swiftStyle.opacity >= 0) style[@"opacity"] = @(swiftStyle.opacity);
  if (swiftStyle.borderColor) { UIColor *c = RCTUIColorFromSharedColor(swiftStyle.borderColor); if (c) style[@"borderColor"] = c; }
  if (swiftStyle.borderWidth >= 0) style[@"borderWidth"] = @(swiftStyle.borderWidth);
  if (!swiftStyle.glassEffect.empty()) style[@"glassEffect"] = RCTNSStringFromString(swiftStyle.glassEffect);
  if (swiftStyle.glassEffectInteractive) style[@"glassEffectInteractive"] = @YES;
  if (swiftStyle.glassEffectTint) { UIColor *c = RCTUIColorFromSharedColor(swiftStyle.glassEffectTint); if (c) style[@"glassEffectTint"] = c; }
  if (!swiftStyle.glassEffectShape.empty()) style[@"glassEffectShape"] = RCTNSStringFromString(swiftStyle.glassEffectShape);
  if (!swiftStyle.material.empty()) style[@"material"] = RCTNSStringFromString(swiftStyle.material);
  if (!swiftStyle.sdkModifiers.empty()) style[@"sdkModifiers"] = RCTNSStringFromString(swiftStyle.sdkModifiers);
  return style;
}
#endif
