mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Summary:
Changelog: [internal]
Minimal implementation of `accessibilityState` that supports `disabled` and `selected` props.
Complete implementation will need to support following props
```
export type AccessibilityState = {
disabled?: boolean,
selected?: boolean,
checked?: ?boolean | 'mixed',
busy?: boolean,
expanded?: boolean,
...
};
```
Reviewed By: mdvacca
Differential Revision: D22016743
fbshipit-source-id: 1748acc4279f60ec8a92c93d5d13b136f57eb8d3
101 lines
3.1 KiB
C++
101 lines
3.1 KiB
C++
/*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#include "AccessibilityProps.h"
|
|
|
|
#include <react/components/view/accessibilityPropsConversions.h>
|
|
#include <react/components/view/propsConversions.h>
|
|
#include <react/core/propsConversions.h>
|
|
#include <react/debug/debugStringConvertibleUtils.h>
|
|
|
|
namespace facebook {
|
|
namespace react {
|
|
|
|
AccessibilityProps::AccessibilityProps(
|
|
AccessibilityProps const &sourceProps,
|
|
RawProps const &rawProps)
|
|
: accessible(convertRawProp(
|
|
rawProps,
|
|
"accessible",
|
|
sourceProps.accessible,
|
|
false)),
|
|
accessibilityTraits(convertRawProp(
|
|
rawProps,
|
|
"accessibilityRole",
|
|
sourceProps.accessibilityTraits,
|
|
AccessibilityTraits::None)),
|
|
accessibilityState(convertRawProp(
|
|
rawProps,
|
|
"accessibilityState",
|
|
sourceProps.accessibilityState,
|
|
{})),
|
|
accessibilityLabel(convertRawProp(
|
|
rawProps,
|
|
"accessibilityLabel",
|
|
sourceProps.accessibilityLabel,
|
|
"")),
|
|
accessibilityHint(convertRawProp(
|
|
rawProps,
|
|
"accessibilityHint",
|
|
sourceProps.accessibilityHint,
|
|
"")),
|
|
accessibilityActions(convertRawProp(
|
|
rawProps,
|
|
"accessibilityActions",
|
|
sourceProps.accessibilityActions,
|
|
{})),
|
|
accessibilityViewIsModal(convertRawProp(
|
|
rawProps,
|
|
"accessibilityViewIsModal",
|
|
sourceProps.accessibilityViewIsModal,
|
|
false)),
|
|
accessibilityElementsHidden(convertRawProp(
|
|
rawProps,
|
|
"accessibilityElementsHidden",
|
|
sourceProps.accessibilityElementsHidden,
|
|
false)),
|
|
accessibilityIgnoresInvertColors(convertRawProp(
|
|
rawProps,
|
|
"accessibilityIgnoresInvertColors",
|
|
sourceProps.accessibilityIgnoresInvertColors,
|
|
false)),
|
|
onAccessibilityTap(convertRawProp(
|
|
rawProps,
|
|
"onAccessibilityTap",
|
|
sourceProps.onAccessibilityTap,
|
|
{})),
|
|
onAccessibilityMagicTap(convertRawProp(
|
|
rawProps,
|
|
"onAccessibilityMagicTap",
|
|
sourceProps.onAccessibilityMagicTap,
|
|
{})),
|
|
onAccessibilityEscape(convertRawProp(
|
|
rawProps,
|
|
"onAccessibilityEscape",
|
|
sourceProps.onAccessibilityEscape,
|
|
{})),
|
|
onAccessibilityAction(convertRawProp(
|
|
rawProps,
|
|
"onAccessibilityAction",
|
|
sourceProps.onAccessibilityAction,
|
|
{})),
|
|
testId(convertRawProp(rawProps, "testId", sourceProps.testId, "")) {}
|
|
|
|
#pragma mark - DebugStringConvertible
|
|
|
|
#if RN_DEBUG_STRING_CONVERTIBLE
|
|
SharedDebugStringConvertibleList AccessibilityProps::getDebugProps() const {
|
|
auto const &defaultProps = AccessibilityProps();
|
|
return SharedDebugStringConvertibleList{
|
|
debugStringConvertibleItem("testId", testId, defaultProps.testId),
|
|
};
|
|
}
|
|
#endif // RN_DEBUG_STRING_CONVERTIBLE
|
|
|
|
} // namespace react
|
|
} // namespace facebook
|