@nextcloud/vue
Version:
Nextcloud vue components
98 lines (97 loc) • 3.97 kB
JavaScript
import '../assets/NcFormBoxItem-BfXKp9xJ.css';
import { defineComponent, useSlots, createElementBlock, openBlock, normalizeClass, unref, createElementVNode, createBlock, createCommentVNode, resolveDynamicComponent, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString } from "vue";
import { u as useNcFormBox } from "./useNcFormBox-DA9iwXWY.mjs";
import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
import { i as isLegacy } from "./legacy-DcjXBL_t.mjs";
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
const _hoisted_1 = ["id"];
const _sfc_main = /* @__PURE__ */ defineComponent({
...{ inheritAttrs: false },
__name: "NcFormBoxItem",
props: {
tag: {},
label: { default: () => void 0 },
description: { default: () => void 0 },
invertedAccent: { type: Boolean, default: false },
class: { default: () => void 0 },
itemClasses: { default: () => void 0 }
},
emits: ["click"],
setup(__props) {
const slots = useSlots();
const { formBoxItemClass } = useNcFormBox();
const descriptionId = createElementId();
const hasDescription = () => !!__props.description || !!slots.description;
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass([
__props.class,
_ctx.$style.formBoxItem,
unref(formBoxItemClass),
{
[_ctx.$style.formBoxItem_inverted]: _ctx.invertedAccent && hasDescription(),
[_ctx.$style.formBoxItem_legacy]: unref(isLegacy)
}
])
}, [
createElementVNode("span", {
class: normalizeClass(_ctx.$style.formBoxItem__content)
}, [
(openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), mergeProps({
class: [_ctx.$style.formBoxItem__element, _ctx.itemClasses]
}, _ctx.$attrs, {
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click", $event))
}), {
default: withCtx(() => [
renderSlot(_ctx.$slots, "default", { descriptionId: unref(descriptionId) }, () => [
createTextVNode(toDisplayString(_ctx.label || "⚠️ Label is missing"), 1)
])
]),
_: 3
}, 16, ["class"])),
hasDescription() ? (openBlock(), createElementBlock("span", {
key: 0,
id: unref(descriptionId),
class: normalizeClass(_ctx.$style.formBoxItem__description)
}, [
renderSlot(_ctx.$slots, "description", {}, () => [
createTextVNode(toDisplayString(_ctx.description), 1)
])
], 10, _hoisted_1)) : createCommentVNode("", true)
], 2),
createElementVNode("span", {
class: normalizeClass(_ctx.$style.formBoxItem__icon)
}, [
renderSlot(_ctx.$slots, "icon", { descriptionId: unref(descriptionId) }, () => [
_cache[1] || (_cache[1] = createTextVNode(" ⚠️ Icon is missing ", -1))
])
], 2)
], 2);
};
}
});
const formBoxItem = "_formBoxItem_v5un7_20";
const formBoxItem_legacy = "_formBoxItem_legacy_v5un7_60";
const formBoxItem_inverted = "_formBoxItem_inverted_v5un7_64";
const formBoxItem__element = "_formBoxItem__element_v5un7_64";
const formBoxItem__description = "_formBoxItem__description_v5un7_67";
const formBoxItem__content = "_formBoxItem__content_v5un7_71";
const formBoxItem__icon = "_formBoxItem__icon_v5un7_89";
const style0 = {
"material-design-icon": "_material-design-icon_v5un7_12",
formBoxItem,
formBoxItem_legacy,
formBoxItem_inverted,
formBoxItem__element,
formBoxItem__description,
formBoxItem__content,
formBoxItem__icon
};
const cssModules = {
"$style": style0
};
const NcFormBoxItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
export {
NcFormBoxItem as N
};
//# sourceMappingURL=NcFormBoxItem-BBP76Mkf.mjs.map