From b414a7efdab4e5f3c4bdb50186f5067f4455e4a3 Mon Sep 17 00:00:00 2001 From: Supreet Singh Date: Wed, 9 Oct 2024 23:08:53 +0530 Subject: [PATCH] Accessible nested container --- .../reactnative/src/adaptive-card.js | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/source/community/reactnative/src/adaptive-card.js b/source/community/reactnative/src/adaptive-card.js index 70ff91dc6c..486769014d 100644 --- a/source/community/reactnative/src/adaptive-card.js +++ b/source/community/reactnative/src/adaptive-card.js @@ -222,7 +222,8 @@ export default class AdaptiveCard extends React.Component { //If contentHeight is passed by the user from adaptive card via props, we will set this as height this.props.contentHeight && containerStyles.push({ height: this.props.contentHeight }) - + const hasSelectAction = !Utils.isNullOrEmpty(this.payload.selectAction); + const disableActionsNestingInSelectAction = this.props.disableActionableControlsNestingOnRoot; var adaptiveCardContent = ( {this.parsePayload()} - {!Utils.isNullOrEmpty(this.state.cardModel.actions) && ( + {(!disableActionsNestingInSelectAction || (disableActionsNestingInSelectAction && !hasSelectAction)) && !Utils.isNullOrEmpty(this.state.cardModel.actions) && ( - {adaptiveCardContent} - + <> + + {adaptiveCardContent} + + {disableActionsNestingInSelectAction && !Utils.isNullOrEmpty(this.state.cardModel.actions) && ( + + + + )} + + ); } return adaptiveCardContent; @@ -362,11 +377,14 @@ AdaptiveCard.propTypes = { contentContainerStyle: PropTypes.object, cardScrollEnabled: PropTypes.bool, keyboardAvoidingViewEnabled: PropTypes.bool, + disableActionableControlsNestingOnRoot: PropTypes.bool, + rootActionContainerStyle: PropTypes.object, deviceFontScale: PropTypes.number }; AdaptiveCard.defaultProps = { cardScrollEnabled: true, keyboardAvoidingViewEnabled: true, + disableActionableControlsNestingOnRoot: false, deviceFontScale: 1 };