77<script lang="ts" setup>
88import ' ./styles/col.scss'
99import { computed , inject , PropType } from ' vue'
10+ import { isPositiveNumber } from ' @ued-plus/utils'
1011
1112defineOptions ({ name: ' UedCol' })
1213
13- const rowGutter = inject (' row-gutter' , undefined )
14-
1514type ColProps = {
1615 span? : number
1716 offset? : number
@@ -62,24 +61,22 @@ const colProps = defineProps({
6261 },
6362})
6463
65- const judgeNumber = (num : number | undefined ) => {
66- return typeof num === ' number' && num > 0
67- }
64+ const rowGutter = inject (' row-gutter' , undefined )
6865
6966const handleBootstrap = (size : number | ColProps , sizeType : string ) => {
70- if (typeof size === ' number ' ) {
67+ if (typeof size === ' object ' ) {
7168 return {
72- [` ued-col-${sizeType }-${size } ` ]: judgeNumber (size ),
73- }
74- } else if (typeof size === ' object' ) {
75- return {
76- [` ued-col-${sizeType }-${size .span } ` ]: judgeNumber (size .span ),
77- [` ued-col-offset-${sizeType }-${size .offset } ` ]: judgeNumber (size .offset ),
78- [` ued-col-offset-${sizeType }-${size .pull } ` ]: judgeNumber (size .pull ),
79- [` ued-col-offset-${sizeType }-${size .push } ` ]: judgeNumber (size .push ),
69+ [` ued-col-${sizeType }-${size .span } ` ]: isPositiveNumber (size .span ),
70+ [` ued-col-offset-${sizeType }-${size .offset } ` ]: isPositiveNumber (
71+ size .offset
72+ ),
73+ [` ued-col-offset-${sizeType }-${size .pull } ` ]: isPositiveNumber (size .pull ),
74+ [` ued-col-offset-${sizeType }-${size .push } ` ]: isPositiveNumber (size .push ),
8075 }
8176 }
82- return {}
77+ return {
78+ [` ued-col-${sizeType }-${size } ` ]: isPositiveNumber (size ),
79+ }
8380}
8481
8582const colClass = computed (() => {
@@ -90,10 +87,10 @@ const colClass = computed(() => {
9087 const xlSize = colProps .xl && handleBootstrap (colProps .xl , ' xl' )
9188
9289 return {
93- [` ued-col-${colProps .span } ` ]: judgeNumber (colProps .span ),
94- [` ued-col-offset-${colProps .offset } ` ]: judgeNumber (colProps .offset ),
95- [` ued-col-pull-${colProps .pull } ` ]: judgeNumber (colProps .pull ),
96- [` ued-col-push-${colProps .push } ` ]: judgeNumber (colProps .push ),
90+ [` ued-col-${colProps .span } ` ]: isPositiveNumber (colProps .span ),
91+ [` ued-col-offset-${colProps .offset } ` ]: isPositiveNumber (colProps .offset ),
92+ [` ued-col-pull-${colProps .pull } ` ]: isPositiveNumber (colProps .pull ),
93+ [` ued-col-push-${colProps .push } ` ]: isPositiveNumber (colProps .push ),
9794 ' is-guttered' : rowGutter ,
9895 ... xsSize ,
9996 ... smSize ,
0 commit comments