var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name2 in all) __defProp(target, name2, { get: all[name2], 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, { default: () => stdin_default }); module.exports = __toCommonJS(stdin_exports); var import_vue = require("vue"); var import_utils = require("../utils"); var import_utils2 = require("./utils"); const [name] = (0, import_utils.createNamespace)("calendar-day"); var stdin_default = (0, import_vue.defineComponent)({ name, props: { item: (0, import_utils.makeRequiredProp)(Object), color: String, index: Number, offset: (0, import_utils.makeNumberProp)(0), rowHeight: String }, emits: ["click", "clickDisabledDate"], setup(props, { emit, slots }) { const style = (0, import_vue.computed)(() => { var _a; const { item, index, color, offset, rowHeight } = props; const style2 = { height: rowHeight }; if (item.type === "placeholder") { style2.width = "100%"; return style2; } if (index === 0) { style2.marginLeft = `${100 * offset / 7}%`; } if (color) { switch (item.type) { case "end": case "start": case "start-end": case "multiple-middle": case "multiple-selected": style2.background = color; break; case "middle": style2.color = color; break; } } if (offset + (((_a = item.date) == null ? void 0 : _a.getDate()) || 1) > 28) { style2.marginBottom = 0; } return style2; }); const onClick = () => { if (props.item.type !== "disabled") { emit("click", props.item); } else { emit("clickDisabledDate", props.item); } }; const renderTopInfo = () => { const { topInfo } = props.item; if (topInfo || slots["top-info"]) { return (0, import_vue.createVNode)("div", { "class": (0, import_utils2.bem)("top-info") }, [slots["top-info"] ? slots["top-info"](props.item) : topInfo]); } }; const renderBottomInfo = () => { const { bottomInfo } = props.item; if (bottomInfo || slots["bottom-info"]) { return (0, import_vue.createVNode)("div", { "class": (0, import_utils2.bem)("bottom-info") }, [slots["bottom-info"] ? slots["bottom-info"](props.item) : bottomInfo]); } }; const renderText = () => { return slots.text ? slots.text(props.item) : props.item.text; }; const renderContent = () => { const { item, color, rowHeight } = props; const { type } = item; const Nodes = [renderTopInfo(), renderText(), renderBottomInfo()]; if (type === "selected") { return (0, import_vue.createVNode)("div", { "class": (0, import_utils2.bem)("selected-day"), "style": { width: rowHeight, height: rowHeight, background: color } }, [Nodes]); } return Nodes; }; return () => { const { type, className } = props.item; if (type === "placeholder") { return (0, import_vue.createVNode)("div", { "class": (0, import_utils2.bem)("day"), "style": style.value }, null); } return (0, import_vue.createVNode)("div", { "role": "gridcell", "style": style.value, "class": [(0, import_utils2.bem)("day", type), className], "tabindex": type === "disabled" ? void 0 : -1, "onClick": onClick }, [renderContent()]); }; } });