Skip to content

Commit 5448c51

Browse files
committed
Add spacing dimension selector
1 parent 01ad4fd commit 5448c51

File tree

2 files changed

+67
-11
lines changed

2 files changed

+67
-11
lines changed
Lines changed: 64 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,62 @@
11
<template>
22
<div class="">
3-
<div
4-
v-for="(value, prop) in data"
5-
:key="prop"
6-
class="mb-2"
7-
:style="{
8-
backgroundColor: '#ccc',
9-
width: value,
10-
height: '50px',
11-
}">
12-
{{ prop }}
3+
<div class="flex mb-6">
4+
<button
5+
class="w-40 bg-gray-200 hover:bg-gray-400 py-2 px-4 text-sm rounded-tl rounded-bl border border-gray-400 focus:outline-none"
6+
:class="{'bg-gray-400': selectedProp === 'p'}"
7+
@click="selectedProp = 'p'">Padding</button>
8+
<button
9+
class="w-40 bg-gray-200 hover:bg-gray-400 py-2 px-4 text-sm border-t border-b border-gray-400 focus:outline-none"
10+
:class="{'bg-gray-400': selectedProp === 'm'}"
11+
@click="selectedProp = 'm'">Margin</button>
12+
<button
13+
class="w-40 bg-gray-200 hover:bg-gray-400 py-2 px-4 text-sm rounded-tr rounded-br border border-gray-400 focus:outline-none"
14+
:class="{'bg-gray-400': selectedProp === '-m'}"
15+
@click="selectedProp = '-m'">Negative Margin</button>
16+
</div>
17+
<div class="flex mb-6">
18+
<button
19+
class="w-40 bg-gray-200 hover:bg-gray-400 py-2 px-4 text-sm rounded-tl rounded-bl border border-gray-400 focus:outline-none"
20+
:class="{'bg-gray-400': dimensionProp === ''}"
21+
@click="dimensionProp = ''">All</button>
22+
<button
23+
class="w-40 bg-gray-200 hover:bg-gray-400 py-2 px-4 text-sm border-t border-b border-r border-gray-400 focus:outline-none"
24+
:class="{'bg-gray-400': dimensionProp === 't'}"
25+
@click="dimensionProp = 't'">Top</button>
26+
<button
27+
class="w-40 bg-gray-200 hover:bg-gray-400 py-2 px-4 text-sm border-t border-b border-r border-gray-400 focus:outline-none"
28+
:class="{'bg-gray-400': dimensionProp === 'r'}"
29+
@click="dimensionProp = 'r'">Right</button>
30+
<button
31+
class="w-40 bg-gray-200 hover:bg-gray-400 py-2 px-4 text-sm border-t border-b border-r border-gray-400 focus:outline-none"
32+
:class="{'bg-gray-400': dimensionProp === 'b'}"
33+
@click="dimensionProp = 'b'">Bottom</button>
34+
<button
35+
class="w-40 bg-gray-200 hover:bg-gray-400 py-2 px-4 text-sm border-t border-b border-r border-gray-400 focus:outline-none"
36+
:class="{'bg-gray-400': dimensionProp === 'l'}"
37+
@click="dimensionProp = 'l'">Left</button>
38+
<button
39+
class="w-40 bg-gray-200 hover:bg-gray-400 py-2 px-4 text-sm border-t border-b border-gray-400 focus:outline-none"
40+
:class="{'bg-gray-400': dimensionProp === 'x'}"
41+
@click="dimensionProp = 'x'">Horizontal</button>
42+
<button
43+
class="w-40 bg-gray-200 hover:bg-gray-400 py-2 px-4 text-sm rounded-tr rounded-br border border-gray-400 focus:outline-none"
44+
:class="{'bg-gray-400': dimensionProp === 'y'}"
45+
@click="dimensionProp = 'y'">Vertical</button>
46+
</div>
47+
<div>
48+
<div
49+
v-for="(value, prop) in data"
50+
:key="prop"
51+
class="mb-2"
52+
>
53+
<div class="text-sm">{{ selectedProp }}{{ dimensionProp ? dimensionProp : '' }}-{{ prop }}</div>
54+
<div :style="{
55+
backgroundColor: '#ccc',
56+
width: value,
57+
height: '50px',
58+
}"/>
59+
</div>
1360
</div>
1461
</div>
1562
</template>
@@ -21,6 +68,13 @@ export default {
2168
type: Object,
2269
required: true
2370
}
71+
},
72+
73+
data () {
74+
return {
75+
selectedProp: 'p',
76+
dimensionProp: ''
77+
}
2478
}
2579
}
2680
</script>

tailwind.config.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ module.exports = {
22
theme: {
33
extend: {}
44
},
5-
variants: {},
5+
variants: {
6+
borderColor: ['responsive', 'hover']
7+
},
68
plugins: []
79
}

0 commit comments

Comments
 (0)