-
public final class ContentBlockRendererKt
-
-
Method Summary
Modifier and Type Method Description final static ModifierapplyBlockStyle(Modifier $self, BlockStyle style, Boolean clipContent)Applies block_styledesign tokens to any Composable's Modifier.final static ModifierapplyBlockPosition(Modifier $self, String verticalAlign, String horizontalAlign, Double verticalOffset, Double horizontalOffset)Applies vertical/horizontal alignment + offset positioning to a content block. final static BooleanevaluateVisibilityCondition(VisibilityCondition condition, Map<String, Object> responses, Map<String, Object> hookData, Map<String, Object> userTraits, Map<String, Object> sessionData)Evaluates a visibility condition against the current data context. final static StringresolveTemplateString(String text, Map<String, Object> hookData, Map<String, Object> responses, Map<String, Object> sessionData, Map<String, Object> userTraits, Map<String, Object> stepInputs)Resolves {{variable}}template strings in text (SPEC-089d §6.6).final static ModifierapplyRelativeSizing(Modifier $self, String width, String height, Boolean useMinHeight)Parses relative size strings (SPEC-089d §6.7). final static ContentBlockresolvedFieldConfig(ContentBlock block, Map<String, Map<String, Object>> overrides)Fold host-pushed per-block field_configoverrides onto a block at READ TIME.final static Map<String, Map<String, Object>>mergeFieldConfigOverrides(Map<String, Map<String, Object>> current, Map<String, Map<String, Object>> patches)Key-level merge of new per-block field_configpatches over existing overrides (override wins).final static Triple<Map<String, Object>, Map<String, Map<String, Object>>, Boolean>fireElementInteraction(AppDNAOnboardingDelegate delegate, String flowId, String stepId, String blockId, String action, String value, Map<String, Object> inputValues, Map<String, Map<String, Object>> overrides)Pure composition of the flow-host + step-scope interaction fold: awaits the delegate, applies the ElementInteractionResult to inputValues, key-level-merges field_config overrides, and reports whether an advance was requested.final static UnitContentBlockRendererView(List<ContentBlock> blocks, Function1<String, Unit> onAction, Map<String, Boolean> toggleValues, Map<String, Object> inputValues, Function2<String, String, String> loc, Map<String, Object> responses, Map<String, Object> hookData, Integer currentStepIndex, Integer totalSteps, Function3<String, String, String, Unit> onInteract, Map<String, Map<String, Object>> fieldConfigOverrides)final static UnitEntranceAnimationWrapper(EntranceAnimationConfig animation, Function0<Unit> content)Wraps content with entrance animation. -
-
Method Detail
-
applyBlockStyle
final static Modifier applyBlockStyle(Modifier $self, BlockStyle style, Boolean clipContent)
Applies
block_styledesign tokens to any Composable's Modifier. Order: inner padding → background → clip/border → shadow → opacity → outer margin.
-
applyBlockPosition
final static Modifier applyBlockPosition(Modifier $self, String verticalAlign, String horizontalAlign, Double verticalOffset, Double horizontalOffset)
Applies vertical/horizontal alignment + offset positioning to a content block.
-
evaluateVisibilityCondition
final static Boolean evaluateVisibilityCondition(VisibilityCondition condition, Map<String, Object> responses, Map<String, Object> hookData, Map<String, Object> userTraits, Map<String, Object> sessionData)
Evaluates a visibility condition against the current data context. Returns true if the block should be rendered.
-
resolveTemplateString
final static String resolveTemplateString(String text, Map<String, Object> hookData, Map<String, Object> responses, Map<String, Object> sessionData, Map<String, Object> userTraits, Map<String, Object> stepInputs)
Resolves
{{variable}}template strings in text (SPEC-089d §6.6).
-
applyRelativeSizing
final static Modifier applyRelativeSizing(Modifier $self, String width, String height, Boolean useMinHeight)
Parses relative size strings (SPEC-089d §6.7).
-
resolvedFieldConfig
final static ContentBlock resolvedFieldConfig(ContentBlock block, Map<String, Map<String, Object>> overrides)
Fold host-pushed per-block
field_configoverrides onto a block at READ TIME. ContentBlock is immutable, so wecopy(field_config = merged)whereoverrides[block.id]wins key-by-key over the authored field_config. Empty/absent overrides → the block is returned unchanged. Applied UNCONDITIONALLY at the render call site (NOT inside resolveBlockBindings, whose early-return skips every EPIC-11 element that has no bindings). Mirrors iOSresolvedFieldConfig.
-
mergeFieldConfigOverrides
final static Map<String, Map<String, Object>> mergeFieldConfigOverrides(Map<String, Map<String, Object>> current, Map<String, Map<String, Object>> patches)
Key-level merge of new per-block
field_configpatches over existing overrides (override wins). Never blind-replaces a block's override bag — merges key by key. Mirrors iOSmergeFieldConfigOverrides.
-
fireElementInteraction
final static Triple<Map<String, Object>, Map<String, Map<String, Object>>, Boolean> fireElementInteraction(AppDNAOnboardingDelegate delegate, String flowId, String stepId, String blockId, String action, String value, Map<String, Object> inputValues, Map<String, Map<String, Object>> overrides)
Pure composition of the flow-host + step-scope interaction fold: awaits the delegate, applies the ElementInteractionResult to
inputValues, key-level-merges field_config overrides, and reports whether an advance was requested. Production splits this acrossOnboardingFlowHost.performInteraction(delegate + applyInteractionResult) andBlockBasedStepView.handleInteract(merge + advance); this mirror exists so the composed seam is unit-testable without a live Compose host. Mirrors iOSfireElementInteraction.
-
ContentBlockRendererView
final static Unit ContentBlockRendererView(List<ContentBlock> blocks, Function1<String, Unit> onAction, Map<String, Boolean> toggleValues, Map<String, Object> inputValues, Function2<String, String, String> loc, Map<String, Object> responses, Map<String, Object> hookData, Integer currentStepIndex, Integer totalSteps, Function3<String, String, String, Unit> onInteract, Map<String, Map<String, Object>> fieldConfigOverrides)
-
EntranceAnimationWrapper
final static Unit EntranceAnimationWrapper(EntranceAnimationConfig animation, Function0<Unit> content)
Wraps content with entrance animation. Uses AnimatedVisibility with appropriate EnterTransition.
-
-
-
-