UNPKG

@progress/kendo-vue-layout

Version:
9 lines (8 loc) 2.3 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"),n=require("../package-metadata.js"),e=require("@progress/kendo-vue-common"),a=s.defineComponent({name:"KendoStackLayout",props:{id:String,orientation:{type:String,default:"horizontal",validator:function(i){return["horizontal","vertical"].includes(i)}},gap:{type:[String,Number]},align:{type:Object,validator:function(i){return["top","middle","bottom","stretch",void 0].includes(i.vertical)&&["start","center","end","stretch",void 0].includes(i.horizontal)}}},created(){e.validatePackage(n.packageMetadata),this.layoutId=e.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"},stackLayoutClasses(){const{orientation:i}=this.$props,t=i==="horizontal";return{"k-stack-layout":!0,"k-hstack":i==="horizontal","k-vstack":i==="vertical","k-justify-content-start":t&&this.hAlign==="start"||!t&&this.vAlign==="top","k-justify-content-center":t&&this.hAlign==="center"||!t&&this.vAlign==="middle","k-justify-content-end":t&&this.hAlign==="end"||!t&&this.vAlign==="bottom","k-justify-content-stretch":t&&this.hAlign==="stretch"||!t&&this.vAlign==="stretch","k-align-items-start":!t&&this.hAlign==="start"||t&&this.vAlign==="top","k-align-items-center":!t&&this.hAlign==="center"||t&&this.vAlign==="middle","k-align-items-end":!t&&this.hAlign==="end"||t&&this.vAlign==="bottom","k-align-items-stretch":!t&&this.hAlign==="stretch"||t&&this.vAlign==="stretch"}},stackLayoutStyles(){return{gap:`${typeof this.$props.gap=="number"?this.$props.gap+"px":this.$props.gap}`}}},render(){const i=e.getDefaultSlots(this),{id:t}=this.$props;return s.createVNode("div",{class:this.stackLayoutClasses,style:this.stackLayoutStyles,id:t||this.layoutId},[i])}});exports.StackLayout=a;