UNPKG

@antdv/pro-utils

Version:

@antdv/pro-utils

90 lines (89 loc) 3.27 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var stdin_exports = {}; __export(stdin_exports, { FilterDropdown: () => FilterDropdown }); module.exports = __toCommonJS(stdin_exports); var import_vue = require("vue"); var import_ant_design_vue = require("ant-design-vue"); var import_context = require("ant-design-vue/lib/config-provider/context"); var import_vue2 = require("vue"); var import_classNames = require("../../classNames"); var import_DropdownFooter = require("../DropdownFooter"); var import_style = require("./style"); const FilterDropdown = (0, import_vue2.defineComponent)((props, { slots }) => { const { getPrefixCls } = (0, import_context.useConfigContextInject)(); const prefixCls = (0, import_vue2.computed)(() => getPrefixCls("pro-core-field-dropdown")); const { wrapSSR, hashId } = (0, import_style.useStyle)(prefixCls); const htmlRef = (0, import_vue2.ref)(null); return () => { const { label, footer, open, onOpenChange, disabled, footerRender, placement } = props; return wrapSSR((0, import_vue.createVNode)(import_ant_design_vue.Popover, { "placement": placement, "trigger": ["click"], "open": open || false, "onOpenChange": onOpenChange, "overlayInnerStyle": { padding: 0 }, "content": (0, import_vue.createVNode)("div", { "ref": htmlRef, "class": (0, import_classNames.classNames)(`${prefixCls.value}-overlay`, { [`${prefixCls.value}-overlay-${placement}`]: placement, hashId: hashId.value }) }, [(0, import_vue.createVNode)(import_ant_design_vue.ConfigProvider, { "getPopupContainer": () => { return htmlRef.value || document.body; } }, { default: () => { var _a; return [(0, import_vue.createVNode)("div", { "class": `${prefixCls.value}-content ${hashId.value}`.trim() }, [(_a = slots.default) == null ? void 0 : _a.call(slots)])]; } }), footer && (0, import_vue.createVNode)(import_DropdownFooter.DropdownFooter, (0, import_vue.mergeProps)({ "disabled": disabled, "footerRender": footerRender }, footer), null)]) }, { default: () => [(0, import_vue.createVNode)("span", { "class": `${prefixCls.value}-label ${hashId.value}`.trim() }, [label])] })); }; }, { props: ["label", "footer", "footerRender", "padding", "disabled", "onOpenChange", "open", "placement"] });