@varlet/ui
Version:
A Vue3 component library based on Material Design 2 and 3, supporting mobile and desktop.
54 lines (53 loc) • 1.68 kB
JavaScript
import { computed, defineComponent } from "vue";
import { call, isArray } from "@varlet/shared";
import { createNamespace } from "../utils/components.mjs";
import { padStartFlex, toPxNum } from "../utils/elements.mjs";
import { props } from "./props.mjs";
import { useCols } from "./provide.mjs";
const { name, n, classes } = createNamespace("row");
import { renderSlot as _renderSlot, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
function __render__(_ctx, _cache) {
return _openBlock(), _createElementBlock(
"div",
{
class: _normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box"))),
style: _normalizeStyle({
justifyContent: _ctx.padStartFlex(_ctx.justify),
alignItems: _ctx.padStartFlex(_ctx.align),
margin: `${-_ctx.average[0]}px ${-_ctx.average[1]}px`
}),
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
},
[
_renderSlot(_ctx.$slots, "default")
],
6
/* CLASS, STYLE */
);
}
const __sfc__ = defineComponent({
name,
props,
setup(props2) {
const average = computed(
() => isArray(props2.gutter) ? props2.gutter.map((numeric) => toPxNum(numeric) / 2) : [0, toPxNum(props2.gutter) / 2]
);
const { bindCols } = useCols();
bindCols({ average });
function handleClick(e) {
call(props2.onClick, e);
}
return {
average,
n,
classes,
handleClick,
padStartFlex
};
}
});
__sfc__.render = __render__;
var stdin_default = __sfc__;
export {
stdin_default as default
};