@varlet/ui
Version:
A Vue3 component library based on Material Design 2 and 3, supporting mobile and desktop.
66 lines (65 loc) • 2.13 kB
JavaScript
import { defineComponent } from "vue";
import { createNamespace, useTeleport } from "../utils/components.mjs";
import VarSnackbarCore from "./core.mjs";
import { props } from "./props.mjs";
const { name, n } = createNamespace("snackbar");
import { renderSlot as _renderSlot, resolveComponent as _resolveComponent, mergeProps as _mergeProps, withCtx as _withCtx, createSlots as _createSlots, createVNode as _createVNode, Transition as _Transition, Teleport as _Teleport, openBlock as _openBlock, createBlock as _createBlock } from "vue";
function __render__(_ctx, _cache) {
const _component_var_snackbar_core = _resolveComponent("var-snackbar-core");
return _openBlock(), _createBlock(_Teleport, {
to: _ctx.teleport === false ? void 0 : _ctx.teleport,
disabled: _ctx.disabled || _ctx.teleport === false
}, [
_createVNode(_Transition, {
name: `${_ctx.n()}-fade`,
onAfterEnter: _ctx.onOpened,
onAfterLeave: _ctx.onClosed
}, {
default: _withCtx(() => [
_createVNode(_component_var_snackbar_core, _mergeProps(_ctx.$props, {
class: _ctx.n("transition")
}), _createSlots({
default: _withCtx(() => [
_renderSlot(_ctx.$slots, "default")
]),
_: 2
/* DYNAMIC */
}, [
_ctx.$slots.icon ? {
name: "icon",
fn: _withCtx(() => [
_renderSlot(_ctx.$slots, "icon")
]),
key: "0"
} : void 0,
_ctx.$slots.action ? {
name: "action",
fn: _withCtx(() => [
_renderSlot(_ctx.$slots, "action")
]),
key: "1"
} : void 0
]), 1040, ["class"])
]),
_: 3
/* FORWARDED */
}, 8, ["name", "onAfterEnter", "onAfterLeave"])
], 8, ["to", "disabled"]);
}
const __sfc__ = defineComponent({
name,
components: { VarSnackbarCore },
props,
setup() {
const { disabled } = useTeleport();
return {
disabled,
n
};
}
});
__sfc__.render = __render__;
var stdin_default = __sfc__;
export {
stdin_default as default
};