'use strict';

var React = require('react');
var classnames = require('classnames');

var styles = {"indicator":"YST686vLR3c-","screenReaderOnly":"MmNHh-oCyxc-","small":"_888S5Y2IeZ8-","svg":"Av9z-aLocss-","indicatorLinearRotate":"WvHFS--Nm80-","track":"VDTWabJptKI-","arc":"_9XO0290QNCY-","indicatorRotateArc":"SHHICknKvqA-","indicatorExpandArc":"_0m0Nzc5awnA-","indicatorReducedPulse":"_4dXQsbprq3s-","spinning":"IZCteJUCKio-"};

/**
 * `ActivityIndicator` communicates an indeterminate activity that the user
 * cannot directly control or measure — loading, fetching, or waiting on an
 * external system.
 *
 * For determinate progress (a known fraction completed), use
 * `ProgressIndicator` instead (forthcoming).
 *
 * For now, the legacy `Spinner` component also remains available; new code
 * should prefer `ActivityIndicator`.
 */
function ActivityIndicator({ size = "base", ariaLabel = "Loading", className, style, }) {
    return (React.createElement("div", { role: "status", "aria-label": ariaLabel, className: classnames(styles.indicator, size === "small" && styles.small, className), style: style },
        React.createElement("span", { className: styles.screenReaderOnly }, ariaLabel),
        React.createElement("svg", { className: styles.svg, viewBox: "0 0 48 48", focusable: "false", "aria-hidden": "true" },
            React.createElement("circle", { className: styles.track, cx: "24", cy: "24", r: "20" }),
            React.createElement("circle", { className: styles.arc, cx: "24", cy: "24", r: "20" }))));
}

exports.ActivityIndicator = ActivityIndicator;
