Files
babaevmm 6797545374 update paths
commit_hash:8ab26a6d1a605474126fdbc3cc4314923edbc77f
2025-03-19 17:28:58 +03:00

41 lines
1.2 KiB
Swift

import CoreGraphics
import LayoutKit
import VGSL
extension DivCustom: DivBlockModeling {
public func makeBlock(context: DivBlockModelingContext) throws -> Block {
let context = modifiedContextParentPath(context)
let children = items?.makeBlocks(
context: context
) ?? []
return try applyBaseProperties(
to: { try makeBaseBlock(context: context, children: children) },
context: context,
actionsHolder: nil
)
}
private func makeBaseBlock(
context: DivBlockModelingContext,
children: [Block]
) throws -> Block {
let contentWidthTrait = resolveContentWidthTrait(context)
let contentHeightTrait = resolveContentHeightTrait(context)
let customData = DivCustomData(
name: customType,
data: customProps ?? [:],
children: children,
widthTrait: contentWidthTrait,
heightTrait: contentHeightTrait
)
return try ContainerBlock(
layoutDirection: contentHeightTrait.isResizable ? .vertical : .horizontal,
widthTrait: contentWidthTrait,
heightTrait: contentHeightTrait,
children: [
context.divCustomBlockFactory.makeBlock(data: customData, context: context),
]
)
}
}