import { useLayout } from "../../hooks/useLayout.js";
import { createBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, renderSlot, resolveDynamicComponent, unref, withCtx } from "vue";
import { ScalarIcon } from "@scalar/components";
//#region src/components/SideNav/SideNavLink.vue?vue&type=script&setup=true&lang.ts
var SideNavLink_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
	__name: "SideNavLink",
	props: {
		is: {},
		active: { type: Boolean },
		icon: {}
	},
	setup(__props) {
		const { layout } = useLayout();
		return (_ctx, _cache) => {
			return openBlock(), createBlock(resolveDynamicComponent(__props.is ?? "a"), { class: normalizeClass(["hover:bg-b-3 hover:dark:bg-b-2 flex max-w-[37px] min-w-[37px] items-center justify-center rounded-lg p-2 no-underline", {
				"bg-b-3 dark:bg-b-2 text-c-1 transition-none hover:cursor-default": __props.active,
				"sm:max-w-max sm:min-w-max sm:rounded sm:py-1.5": unref(layout) === "web"
			}]) }, {
				default: withCtx(() => [renderSlot(_ctx.$slots, "icon", {}, () => [createVNode(unref(ScalarIcon), {
					class: normalizeClass(unref(layout) === "web" ? "sm:hidden" : ""),
					icon: __props.icon,
					thickness: "1.5"
				}, null, 8, ["class", "icon"])]), createElementVNode("span", { class: normalizeClass(["sr-only text-sm font-medium", { "sm:not-sr-only": unref(layout) === "web" }]) }, [renderSlot(_ctx.$slots, "default")], 2)]),
				_: 3
			}, 8, ["class"]);
		};
	}
});
//#endregion
export { SideNavLink_vue_vue_type_script_setup_true_lang_default as default };

//# sourceMappingURL=SideNavLink.vue.script.js.map