/* generated by Svelte vX.Y.Z */
import { appendNode, assign, createElement, createText, detachNode, init, insertNode, noop, proto, setAttribute } from "svelte/shared.js";

function data() {
	return { foo: 42 }
};

function encapsulateStyles(node) {
	setAttribute(node, "svelte-3590263702", "");
}

function add_css() {
	var style = createElement("style");
	style.id = 'svelte-3590263702-style';
	style.textContent = "p[svelte-3590263702],[svelte-3590263702] p{color:red}";
	appendNode(style, document.head);
}

function create_main_fragment(state, component) {
	var p, text;

	return {
		create: function() {
			p = createElement("p");
			text = createText(state.foo);
			this.hydrate();
		},

		hydrate: function() {
			encapsulateStyles(p);
		},

		mount: function(target, anchor) {
			insertNode(p, target, anchor);
			appendNode(text, p);
		},

		update: function(changed, state) {
			if (changed.foo) {
				text.data = state.foo;
			}
		},

		unmount: function() {
			detachNode(p);
		},

		destroy: noop
	};
}

function SvelteComponent(options) {
	init(this, options);
	this._state = assign(data(), options.data);

	if (!document.getElementById("svelte-3590263702-style")) add_css();

	this._fragment = create_main_fragment(this._state, this);

	if (options.target) {
		this._fragment.create();
		this._fragment.mount(options.target, options.anchor || null);
	}
}

assign(SvelteComponent.prototype, proto);
export default SvelteComponent;