import * as vue from "vue";
import { defineComponent, mergeProps, unref, useSSRContext } from "vue";
import { ssrRenderAttrs, ssrRenderClass, ssrInterpolate, ssrRenderList, ssrRenderComponent } from "vue/server-renderer";
import "../mount.js";
import "path-browserify";
import "deepmerge";
import "fast-safe-stringify";
import "spark-md5";
import "is-plain-object";
import "js-cookie";
import "events";
import "http";
import "@medv/finder";
import "front-matter";
import "markdown-it";
import "markdown-it-anchor";
import "markdown-it-implicit-figures";
import "markdown-it-link-attributes";
import "markdown-it-video";
import "remove-markdown";
import "./index.2544f8a4.js";
import "body-parser";
import "dotenv";
import "compression";
import "serve-favicon";
import "serve-static";
import "html-minifier";
import "vite";
import "@vue/server-renderer";
import "fs";
import "enquirer";
import "semver";
import "glob";
import "minimist";
import "handlebars";
import "execa";
import "multer";
import "sharp";
import "@vitejs/plugin-vue";
import "express";
import "axios";
import "knex";
import "dompurify";
import "dayjs";
import "chalk";
import "dayjs/plugin/relativeTime.js";
import "dayjs/plugin/utc.js";
import "dayjs/plugin/timezone.js";
import "dayjs/plugin/updateLocale.js";
import "dayjs/plugin/weekOfYear.js";
import "nanoid";
import "prettyoutput";
import "consola";
import "validator";
import "@vueuse/head";
import "node-fetch";
import "vue-router";
import "jsonwebtoken";
import "fs-extra";
import "bcrypt";
import "knex-stringcase";
import "@sinclair/typebox";
import "nodemailer";
import "nodemailer-html-to-text";
import "@tailwindcss/forms";
import "unocss/vite";
import "@unocss/preset-icons";
import "nodemon";
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
  __name: "InputElBox",
  __ssrInlineRender: true,
  props: {
    label: { type: [String, Number], default: "" },
    icon: { type: String, default: "" },
    prefix: { type: [String, Number], default: "" },
    selected: { type: Boolean, default: false },
    notSelected: { type: Boolean, default: false }
  },
  setup(__props) {
    const props = __props;
    const animateSelected = vue.ref();
    vue.watch(
      () => props.selected,
      (v) => {
        if (v) {
          animateSelected.value = v;
          setTimeout(() => {
            animateSelected.value = "";
          }, 1e3);
        }
      }
    );
    return (_ctx, _push, _parent, _attrs) => {
      _push(`<div${ssrRenderAttrs(mergeProps({ class: "text-theme-400 hover:text-theme-500 max-w-[50px] grow cursor-pointer select-none" }, _attrs))}><div class="${ssrRenderClass([[
        unref(animateSelected) ? "notify-selected" : "",
        __props.selected ? "border-theme-400 bg-theme-200 text-theme-600" : __props.notSelected ? "border-theme-200 bg-theme-50 text-theme-400" : "border-theme-300 bg-theme-100 text-theme-500"
      ], "hover:bg-theme-200 hover:border-theme-400 flex aspect-square items-center justify-center rounded-md border p-1"])}"><div class="relative text-center"><div class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2">`);
      if (__props.icon) {
        _push(`<div class="${ssrRenderClass([__props.icon, "text-3xl"])}"></div>`);
      } else {
        _push(`<div class="text-lg font-bold">${ssrInterpolate(__props.label)}</div>`);
      }
      _push(`</div></div></div>`);
      if (__props.icon) {
        _push(`<div class="${ssrRenderClass([__props.selected ? "text-theme-500" : " ", "mt-1 text-center text-xs"])}">${ssrInterpolate(String(__props.label) || "No Label")}</div>`);
      } else {
        _push(`<!---->`);
      }
      _push(`</div>`);
    };
  }
});
const InputElBox_vue_vue_type_style_index_0_lang = "";
const _sfc_setup$1 = _sfc_main$1.setup;
_sfc_main$1.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../ui/InputElBox.vue");
  return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
};
const _sfc_main = /* @__PURE__ */ defineComponent({
  __name: "InputRating",
  __ssrInlineRender: true,
  props: {
    modelValue: { type: [Number], default: void 0 },
    countStart: {
      type: Number,
      default: 0
    },
    countEnd: {
      type: Number,
      default: 5
    },
    icon: {
      type: String,
      default: void 0
    },
    labels: {
      type: Object,
      default: void 0
    }
  },
  emits: ["update:modelValue"],
  setup(__props, { emit }) {
    const props = __props;
    const selectItem = (val) => {
      emit("update:modelValue", val);
    };
    const parsedList = vue.computed(() => {
      const list = [];
      for (var i = props.countStart; i <= props.countEnd; i++) {
        list.push(i);
      }
      return list;
    });
    return (_ctx, _push, _parent, _attrs) => {
      _push(`<div${ssrRenderAttrs(mergeProps({
        class: "outline-none",
        tabindex: "0"
      }, _attrs))}><div class="flex space-x-2"><!--[-->`);
      ssrRenderList(unref(parsedList), (item) => {
        _push(ssrRenderComponent(_sfc_main$1, {
          key: item,
          selected: item == __props.modelValue ? true : false,
          "not-selected": typeof __props.modelValue != "undefined" && item != __props.modelValue ? true : false,
          prefix: item,
          label: item,
          icon: __props.icon,
          onClick: ($event) => selectItem(item)
        }, null, _parent));
      });
      _push(`<!--]--></div>`);
      if (__props.labels) {
        _push(`<div class="text-theme-600 mt-2 flex justify-between"><!--[-->`);
        ssrRenderList(__props.labels, (label, i) => {
          _push(`<div class="text-xs">${ssrInterpolate(label)}</div>`);
        });
        _push(`<!--]--></div>`);
      } else {
        _push(`<!---->`);
      }
      _push(`</div>`);
    };
  }
});
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../ui/InputRating.vue");
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
export {
  _sfc_main as default
};
