import _extends from "@babel/runtime/helpers/extends";
import React from 'react';
import { InternalActionName, SmartLinkStatus } from '../../../../../constants';
import { useFlexibleCardContext, useFlexibleUiContext } from '../../../../../state/flexible-ui-context';
import AISummaryBlockResolvedView, { RovoSummaryBlockResolvedView } from './resolved';
/**
 * Represents an AISummaryBlock, designed to summarising link resource
 * content using AI.
 * @public
 * @param {AISummaryBlockProps} AISummaryBlock
 * @see Block
 */
const AISummaryBlock = ({
  isAny3pRovoActionsExperimentOn,
  testId = 'smart-ai-summary-block',
  ...props
}) => {
  var _context$actions, _props$size2, _cardContext$ui2;
  const cardContext = useFlexibleCardContext();
  const context = useFlexibleUiContext();
  const actionData = context === null || context === void 0 ? void 0 : (_context$actions = context.actions) === null || _context$actions === void 0 ? void 0 : _context$actions[InternalActionName.AISummaryAction];
  if ((cardContext === null || cardContext === void 0 ? void 0 : cardContext.status) !== SmartLinkStatus.Resolved) {
    return null;
  }
  if (!(actionData !== null && actionData !== void 0 && actionData.url)) {
    return null;
  }
  if (isAny3pRovoActionsExperimentOn) {
    var _props$size, _cardContext$ui;
    return /*#__PURE__*/React.createElement(RovoSummaryBlockResolvedView, _extends({}, props, {
      size: (_props$size = props.size) !== null && _props$size !== void 0 ? _props$size : cardContext === null || cardContext === void 0 ? void 0 : (_cardContext$ui = cardContext.ui) === null || _cardContext$ui === void 0 ? void 0 : _cardContext$ui.size,
      testId: testId,
      url: actionData.url
    }));
  }
  return /*#__PURE__*/React.createElement(AISummaryBlockResolvedView, _extends({}, props, {
    size: (_props$size2 = props.size) !== null && _props$size2 !== void 0 ? _props$size2 : cardContext === null || cardContext === void 0 ? void 0 : (_cardContext$ui2 = cardContext.ui) === null || _cardContext$ui2 === void 0 ? void 0 : _cardContext$ui2.size,
    testId: testId,
    url: actionData.url
  }));
};
export default AISummaryBlock;