import { b as e, e as t } from "./chunk.BlbRoQQ3.js";
import { b as n, c as r } from "./patterns.CVV2epWU.js";
import "./cjs.S1Glohke.js";
var i = /* @__PURE__ */ e(((exports, i) => {
	var a = Object.create, o = Object.defineProperty, s = Object.getOwnPropertyDescriptor, c = Object.getOwnPropertyNames, l = Object.getPrototypeOf, u = Object.prototype.hasOwnProperty, d = (e, t, n) => t in e ? o(e, t, {
		enumerable: !0,
		configurable: !0,
		writable: !0,
		value: n
	}) : e[t] = n, f = (e, t) => {
		for (var n in t) o(e, n, {
			get: t[n],
			enumerable: !0
		});
	}, p = (e, t, n, r) => {
		if (t && typeof t == "object" || typeof t == "function") for (let i of c(t)) !u.call(e, i) && i !== n && o(e, i, {
			get: () => t[i],
			enumerable: !(r = s(t, i)) || r.enumerable
		});
		return e;
	}, m = (e, t, n) => (n = e == null ? {} : a(l(e)), p(t || !e || !e.__esModule ? o(n, "default", {
		value: e,
		enumerable: !0
	}) : n, e)), h = (e) => p(o({}, "__esModule", { value: !0 }), e), g = (e, t, n) => (d(e, typeof t == "symbol" ? t : t + "", n), n), _ = {};
	f(_, { default: () => x }), i.exports = h(_);
	var v = m(t("react")), y = r(), b = n(), x = class extends v.Component {
		constructor() {
			super(...arguments), g(this, "callPlayer", y.callPlayer), g(this, "duration", null), g(this, "currentTime", null), g(this, "fractionLoaded", null), g(this, "mute", () => {
				this.setVolume(0);
			}), g(this, "unmute", () => {
				this.props.volume !== null && this.setVolume(this.props.volume);
			}), g(this, "ref", (e) => {
				this.iframe = e;
			});
		}
		componentDidMount() {
			this.props.onMount && this.props.onMount(this);
		}
		load(e, t) {
			(0, y.getSDK)("https://w.soundcloud.com/player/api.js", "SC").then((n) => {
				if (!this.iframe) return;
				let { PLAY: r, PLAY_PROGRESS: i, PAUSE: a, FINISH: o, ERROR: s } = n.Widget.Events;
				t || (this.player = n.Widget(this.iframe), this.player.bind(r, this.props.onPlay), this.player.bind(a, () => {
					let e = this.duration - this.currentTime;
					e < .05 || this.props.onPause();
				}), this.player.bind(i, (e) => {
					this.currentTime = e.currentPosition / 1e3, this.fractionLoaded = e.loadedProgress;
				}), this.player.bind(o, () => this.props.onEnded()), this.player.bind(s, (e) => this.props.onError(e))), this.player.load(e, {
					...this.props.config.options,
					callback: () => {
						this.player.getDuration((e) => {
							this.duration = e / 1e3, this.props.onReady();
						});
					}
				});
			});
		}
		play() {
			this.callPlayer("play");
		}
		pause() {
			this.callPlayer("pause");
		}
		stop() {}
		seekTo(e, t = !0) {
			this.callPlayer("seekTo", e * 1e3), t || this.pause();
		}
		setVolume(e) {
			this.callPlayer("setVolume", e * 100);
		}
		getDuration() {
			return this.duration;
		}
		getCurrentTime() {
			return this.currentTime;
		}
		getSecondsLoaded() {
			return this.fractionLoaded * this.duration;
		}
		render() {
			let { display: e } = this.props, t = {
				width: "100%",
				height: "100%",
				display: e
			};
			return /* @__PURE__ */ v.default.createElement("iframe", {
				ref: this.ref,
				src: `https://w.soundcloud.com/player/?url=${encodeURIComponent(this.props.url)}`,
				style: t,
				frameBorder: 0,
				allow: "autoplay"
			});
		}
	};
	g(x, "displayName", "SoundCloud"), g(x, "canPlay", b.canPlay.soundcloud), g(x, "loopOnEnded", !0);
}));
export default i();

//# sourceMappingURL=SoundCloud.Bq8OkdYm.js.map