import { ref, onMounted, openBlock, createElementBlock, createElementVNode, Fragment, renderList, normalizeClass, renderSlot, pushScopeId, popScopeId } from "vue"; var starrySky_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".starry-sky-bg[data-v-2e7b542e]{width:100%;height:100vh;position:fixed;top:0;left:0;z-index:-100;background:radial-gradient(200% 100% at bottom center,#f7f7b6,#e96f92,#75517d,#1b2947);background:radial-gradient(220% 105% at top center,#1b2947 10%,#75517d 40%,#e96f92 65%,#f7f7b6);background-attachment:fixed}@keyframes rotate-2e7b542e{0%{transform:perspective(400px) rotate(20deg) rotateX(-40deg) rotateY(0)}to{transform:perspective(400px) rotate(20deg) rotateX(-40deg) rotateY(-360deg)}}.stars[data-v-2e7b542e]{transform:perspective(500px);transform-style:preserve-3d;position:fixed;perspective-origin:50% 100%;left:50%;animation:rotate-2e7b542e 66s infinite linear;bottom:0;z-index:-99}.star[data-v-2e7b542e]{width:2px;height:2px;background:#f7f7b8;position:fixed;top:0px;left:0;backface-visibility:hidden}\n")(); var _export_sfc = (sfc, props) => { const target = sfc.__vccOpts || sfc; for (const [key, val] of props) { target[key] = val; } return target; }; const _hoisted_1$1 = { class: "starry-sky-bg" }; const _hoisted_2$1 = { class: "stars" }; const _sfc_main$1 = { __name: "starry-sky", props: { starsCount: { type: Number, default: () => 800 }, distance: { type: Number, default: () => 800 } }, setup(__props) { const props = __props; const star = ref(); onMounted(() => { let starArr = star.value; starArr.forEach((item) => { let speed = 0.1 + Math.random() * 1; let thisDistance = props.distance + Math.random() * 300; item.style.transformOrigin = `0 0 ${thisDistance}px`; item.style.transform = `translate3d(0,0,-${thisDistance}px) rotateY(${Math.random() * 360}deg) rotateX(${Math.random() * -50}deg) scale(${speed},${speed})`; }); }); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", _hoisted_1$1, [ createElementVNode("div", _hoisted_2$1, [ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.starsCount, (item) => { return openBlock(), createElementBlock("div", { key: item, class: "star", ref_for: true, ref_key: "star", ref: star }); }), 128)) ]) ]); }; } }; var StarrySky = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-2e7b542e"]]); StarrySky.install = (App) => { App.component(StarrySky.__name, StarrySky); }; var button_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => '@import"https://fonts.googleapis.com/css2?family=Raleway:wght@400;700&display=swap";*[data-v-21c62446]{margin:0;padding:0;box-sizing:border-box}a[data-v-21c62446]{position:relative;display:inline-block;padding:25px 30px;margin:40px 50px 40px 0;color:#03e9f4;text-decoration:none;text-transform:uppercase;transition:.5s;letter-spacing:4px;overflow:hidden}a[data-v-21c62446]:hover{background:#03e9f4;color:#050801;box-shadow:0 0 5px #03e9f4,0 0 25px #03e9f4,0 0 50px #03e9f4,0 0 200px #03e9f4;-webkit-box-reflect:below 1px linear-gradient(transparent,#0005)}.warning[data-v-21c62446]{filter:hue-rotate(300deg)}.success[data-v-21c62446]{filter:hue-rotate(240deg)}a span[data-v-21c62446]{position:absolute;display:block}a span[data-v-21c62446]:nth-child(1){top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#03e9f4);animation:animate1-21c62446 1s linear infinite}@keyframes animate1-21c62446{0%{left:-100%}50%,to{left:100%}}a span[data-v-21c62446]:nth-child(2){top:-100%;right:0;width:2px;height:100%;background:linear-gradient(180deg,transparent,#03e9f4);animation:animate2-21c62446 1s linear infinite;animation-delay:.25s}@keyframes animate2-21c62446{0%{top:-100%}50%,to{top:100%}}a span[data-v-21c62446]:nth-child(3){bottom:0;right:0;width:100%;height:2px;background:linear-gradient(270deg,transparent,#03e9f4);animation:animate3-21c62446 1s linear infinite;animation-delay:.5s}@keyframes animate3-21c62446{0%{right:-100%}50%,to{right:100%}}a span[data-v-21c62446]:nth-child(4){bottom:-100%;left:0;width:2px;height:100%;background:linear-gradient(360deg,transparent,#03e9f4);animation:animate4-21c62446 1s linear infinite;animation-delay:.75s}@keyframes animate4-21c62446{0%{bottom:-100%}50%,to{bottom:100%}}\n')(); const _sfc_main = { name: "JtButton", props: { type: { type: String, default: "primary" } } }; const _withScopeId = (n) => (pushScopeId("data-v-21c62446"), n = n(), popScopeId(), n); const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, null, -1)); const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, null, -1)); const _hoisted_3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, null, -1)); const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, null, -1)); function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", null, [ createElementVNode("a", { class: normalizeClass($props.type) }, [ _hoisted_1, _hoisted_2, _hoisted_3, _hoisted_4, renderSlot(_ctx.$slots, "default", {}, void 0, true) ], 2) ]); } var JtButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-21c62446"]]); JtButton.install = (Vue) => { Vue.component(JtButton.name, JtButton); }; const components = [StarrySky, JtButton]; const install = (App) => { components.forEach((item) => { App.component(item.name, item); }); }; var index = { install }; export { JtButton, StarrySky, index as default };