UNPKG

@progress/kendo-vue-layout

Version:
9 lines (8 loc) 2.59 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),a=require("../package-metadata.js"),i=require("@progress/kendo-vue-common"),o=require("./GridLayoutItem.js"),l=s.defineComponent({name:"KendoGridLayout",props:{id:String,gap:{type:Object},align:{type:Object,validator:function(t){return["top","middle","bottom","stretch",void 0].includes(t.vertical)&&["start","center","end","stretch",void 0].includes(t.horizontal)}},rows:Array,cols:Array,items:Array},created(){i.validatePackage(a.packageMetadata),this.layoutId=i.guid()},computed:{hAlign(){return this.$props.align&&this.$props.align.horizontal?this.$props.align.horizontal:"stretch"},vAlign(){return this.$props.align&&this.$props.align.vertical?this.$props.align.vertical:"stretch"},gridLayoutClasses(){return{"k-grid-layout":!0,"k-justify-items-start":this.hAlign==="start","k-justify-items-center":this.hAlign==="center","k-justify-items-end":this.hAlign==="end","k-justify-items-stretch":this.hAlign==="stretch","k-align-items-start":this.vAlign==="top","k-align-items-center":this.vAlign==="middle","k-align-items-end":this.vAlign==="bottom","k-align-items-stretch":this.vAlign==="stretch"}},gapStyle(){return this.gap?`${typeof this.gap.rows=="number"?this.gap.rows+"px":this.gap.rows} ${typeof this.gap.cols=="number"?this.gap.cols+"px":this.gap.cols}`:void 0},gridTemplateRowsStyle(){return this.$props.rows&&this.$props.rows.map(t=>`${typeof t.height=="number"?t.height+"px":t.height}`).join(" ")},gridTemplateColumnsStyle(){return this.$props.cols&&this.$props.cols.map(t=>`${typeof t.width=="number"?t.width+"px":t.width}`).join(" ")},gridLayoutStyles(){return{gap:this.gapStyle,gridTemplateColumns:this.gridTemplateColumnsStyle,gridTemplateRows:this.gridTemplateRowsStyle}}},render(){const{id:t,items:r}=this.$props;return s.createVNode("div",{class:this.gridLayoutClasses,style:this.gridLayoutStyles,id:t||this.layoutId},[r.map(function(e){const n=i.templateRendering.call(this,e.content,i.getListeners.call(this));return s.createVNode(o.GridLayoutItem,{content:n,class:e.class,style:e.style,id:e.id,col:e.col,colSpan:e.colSpan,row:e.row,rowSpan:e.rowSpan},null)},this)])}});exports.GridLayout=l;