/**
*  react-bilibili-embed-renderer v1.2.1
*  https://github.com/zeffon/bilibili-embed-renderer.git
*
*  Copyright (c) ZeffonWu < zeffonwu@gmail.com > and project contributors.
*
*  This source code is licensed under the MIT license found in the
*  LICENSE file in the root directory of this source tree.
*
*  Author site: https://zeffon.cn
*/
    import * as React from 'react';

const calcHeight = (width, height, aspectWidth, aspectHeight) => {
    if (height) {
        return height;
    }
    if (typeof width === 'number') {
        return (width * aspectHeight) / aspectWidth;
    }
    else if (typeof width === 'string' && width.search('px') !== -1) {
        const widthNum = Number(width.replace('px', ''));
        return (widthNum * aspectHeight) / aspectWidth;
    }
    else if (typeof width === 'string' && width === '100%') {
        return '100%';
    }
    return 360;
};
const isBrowser = !!(typeof window !== 'undefined' &&
    window.document &&
    window.document.createElement);

const BilibiliEmbedRenderer = (props) => {
    const aid = props.aid;
    const page = props.page || 1;
    const isWide = props.isWide || true;
    const highQuality = props.highQuality || true;
    const hasDanmaku = props.hasDanmaku || false;
    const defaultAspectWidth = isBrowser ? 4 : 16;
    const defaultAspectHeight = isBrowser ? 3 : 9;
    const aspectWidth = props.aspectWidth || defaultAspectWidth;
    const aspectHeight = props.aspectHeight || defaultAspectHeight;
    const width = props.width || 480;
    const height = calcHeight(width, props.height, aspectWidth, aspectHeight);
    const iframeClassImp = props.iframeClass || '';
    const highQualityValue = highQuality ? 1 : 0;
    const wideValue = isWide ? 1 : 0;
    const danmakuValue = hasDanmaku ? 1 : 0;
    const bilibiliUrl = '//player.bilibili.com/player.html';
    const iframeSrc = `${bilibiliUrl}?aid=${aid}&page=${page}&high_quality=${highQualityValue}&as_wide=${wideValue}&danmaku=${danmakuValue}`;
    return (React.createElement(React.Fragment, null,
        React.createElement("iframe", { width: width, height: height, src: iframeSrc, allowFullScreen: true, className: iframeClassImp })));
};

export { BilibiliEmbedRenderer as default };
//# sourceMappingURL=index.es.jsx.map
