vue-amazing-ui
Version:
An Amazing Vue3 UI Components Library, Using TypeScript.
2 lines (1 loc) • 1.48 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("vue"),f=require("../../utils/index.cjs"),p=r.defineComponent({__name:"Row",props:{width:{default:"auto"},gutter:{default:0},wrap:{type:Boolean,default:!1},align:{default:"top"},justify:{default:"start"}},setup(o){const t=o,a={top:"flex-start",middle:"center",bottom:"flex-end",stretch:"stretch"},i=r.ref(window.innerWidth),n=r.computed(()=>typeof t.gutter=="number"?t.gutter:Array.isArray(t.gutter)?typeof t.gutter[0]=="object"?u(t.gutter[0]):t.gutter[0]:typeof t.gutter=="object"?u(t.gutter):0),l=r.computed(()=>Array.isArray(t.gutter)?typeof t.gutter[1]=="object"?u(t.gutter[1]):t.gutter[1]:0),s=r.computed(()=>typeof t.width=="number"?`${t.width}px`:t.width);f.useEventListener(window,"resize",d);function d(){i.value=window.innerWidth}function u(e){return i.value>=1600&&e.xxl!==void 0?e.xxl:i.value>=1200&&e.xl!==void 0?e.xl:i.value>=992&&e.lg!==void 0?e.lg:i.value>=768&&e.md!==void 0?e.md:i.value>=576&&e.sm!==void 0?e.sm:i.value<576&&e.xs!==void 0?e.xs:0}return(e,c)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass(["m-grid-row",{"gutter-row":e.gutter}]),style:r.normalizeStyle(`--xGap: ${n.value/2}px; --justify: ${e.justify}; --align: ${a[e.align]}; width: ${s.value}; margin-left: -${n.value/2}px; margin-right: -${n.value/2}px; row-gap: ${l.value}px;`)},[r.renderSlot(e.$slots,"default",{},void 0,!0)],6))}});exports.default=p;