text: "use strict";
  
  exports.__esModule = true;
  exports.default = void 0;
  
  var React = _interopRequireWildcard(require("react"));
  
  var _createElement = _interopRequireDefault(require("../createElement"));
  
  var _css = _interopRequireDefault(require("../StyleSheet/css"));
  
  var _pick = _interopRequireDefault(require("../../modules/pick"));
  
  var _useElementLayout = _interopRequireDefault(require("../../modules/useElementLayout"));
  
  var _useMergeRefs = _interopRequireDefault(require("../../modules/useMergeRefs"));
  
  var _usePlatformMethods = _interopRequireDefault(require("../../modules/usePlatformMethods"));
  
  var _useResponderEvents = _interopRequireDefault(require("../../modules/useResponderEvents"));
  
  var _StyleSheet = _interopRequireDefault(require("../StyleSheet"));
  
  var _TextAncestorContext = _interopRequireDefault(require("../Text/TextAncestorContext"));
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
  
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
  
  /**
   * Copyright (c) Nicolas Gallagher.
   * 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.
   *
   * 
   */
  var forwardPropsList = {
    accessibilityLabel: true,
    accessibilityLiveRegion: true,
    accessibilityRole: true,
    accessibilityState: true,
    accessibilityValue: true,
    accessible: true,
    children: true,
    classList: true,
    disabled: true,
    importantForAccessibility: true,
    nativeID: true,
    onBlur: true,
    onClick: true,
    onClickCapture: true,
    onContextMenu: true,
    onFocus: true,
    onKeyDown: true,
    onKeyUp: true,
    onTouchCancel: true,
    onTouchCancelCapture: true,
    onTouchEnd: true,
    onTouchEndCapture: true,
    onTouchMove: true,
    onTouchMoveCapture: true,
    onTouchStart: true,
    onTouchStartCapture: true,
    pointerEvents: true,
    ref: true,
    style: true,
    testID: true,
    // unstable
    dataSet: true,
    onMouseDown: true,
    onMouseEnter: true,
    onMouseLeave: true,
    onMouseMove: true,
    onMouseOver: true,
    onMouseOut: true,
    onMouseUp: true,
    onScroll: true,
    onWheel: true,
    href: true,
    rel: true,
    target: true
  };
  
  var pickProps = function pickProps(props) {
    return (0, _pick.default)(props, forwardPropsList);
  };
  
  var View = (0, React.forwardRef)(function (props, forwardedRef) {
    var onLayout = props.onLayout,
        onMoveShouldSetResponder = props.onMoveShouldSetResponder,
        onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,
        onResponderEnd = props.onResponderEnd,
        onResponderGrant = props.onResponderGrant,
        onResponderMove = props.onResponderMove,
        onResponderReject = props.onResponderReject,
        onResponderRelease = props.onResponderRelease,
        onResponderStart = props.onResponderStart,
        onResponderTerminate = props.onResponderTerminate,
        onResponderTerminationRequest = props.onResponderTerminationRequest,
        onScrollShouldSetResponder = props.onScrollShouldSetResponder,
        onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,
        onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,
        onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,
        onStartShouldSetResponder = props.onStartShouldSetResponder,
        onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture;
  
    if (process.env.NODE_ENV !== 'production') {
      React.Children.toArray(props.children).forEach(function (item) {
        if (typeof item === 'string') {
          console.error("Unexpected text node: " + item + ". A text node cannot be a child of a <View>.");
        }
      });
    }
  
    var hasTextAncestor = (0, React.useContext)(_TextAncestorContext.default);
    var hostRef = (0, React.useRef)(null);
    (0, _useElementLayout.default)(hostRef, onLayout);
    (0, _useResponderEvents.default)(hostRef, {
      onMoveShouldSetResponder: onMoveShouldSetResponder,
      onMoveShouldSetResponderCapture: onMoveShouldSetResponderCapture,
      onResponderEnd: onResponderEnd,
      onResponderGrant: onResponderGrant,
      onResponderMove: onResponderMove,
      onResponderReject: onResponderReject,
      onResponderRelease: onResponderRelease,
      onResponderStart: onResponderStart,
      onResponderTerminate: onResponderTerminate,
      onResponderTerminationRequest: onResponderTerminationRequest,
      onScrollShouldSetResponder: onScrollShouldSetResponder,
      onScrollShouldSetResponderCapture: onScrollShouldSetResponderCapture,
      onSelectionChangeShouldSetResponder: onSelectionChangeShouldSetResponder,
      onSelectionChangeShouldSetResponderCapture: onSelectionChangeShouldSetResponderCapture,
      onStartShouldSetResponder: onStartShouldSetResponder,
      onStartShouldSetResponderCapture: onStartShouldSetResponderCapture
    });
  
    var style = _StyleSheet.default.compose(hasTextAncestor && styles.inline, props.style);
  
    var supportedProps = pickProps(props);
    supportedProps.classList = classList;
    supportedProps.style = style;
    var platformMethodsRef = (0, _usePlatformMethods.default)(supportedProps);
    var setRef = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef);
    supportedProps.ref = setRef;
    return (0, _createElement.default)('div', supportedProps);
  });
  View.displayName = 'View';
  
  var classes = _css.default.create({
    view: {
      alignItems: 'stretch',
      border: '0 solid black',
      boxSizing: 'border-box',
      display: 'flex',
      flexBasis: 'auto',
      flexDirection: 'column',
      flexShrink: 0,
      margin: 0,
      minHeight: 0,
      minWidth: 0,
      padding: 0,
      position: 'relative',
      zIndex: 0
    }
  });
  
  var classList = [classes.view];
  
  var styles = _StyleSheet.default.create({
    inline: {
      display: 'inline-flex'
    }
  });
  
  var _default = View;
  exports.default = _default;
  module.exports = exports.default;