2
2
<div
3
3
id =" VueInputUi"
4
4
class =" vue-input-ui"
5
+ :class =" {'dark': darkMode}"
5
6
>
6
- <img
7
- src =" ./assets/logo.png"
8
- alt =" Ctk logo"
9
- >
10
- <div id =" VueInputUiContainerDiv" >
11
- <h1 >VueCtkInputText</h1 >
12
- <h3 >A VueJs component : Beautiful Input</h3 >
13
- <VueInputUi
14
- v-model =" value2"
15
- label =" Initial input"
16
- />
7
+ <div class =" container" >
8
+ <h1 >{{ !value1 ? '-' : value1 }}</h1 >
9
+ <h2 >{{ !value2 ? '-' : value2 }}</h2 >
10
+ <h3 >{{ !value3 ? '-' : value3 }}</h3 >
11
+ <p >{{ !value4 ? '-' : value4 }}</p >
12
+ <button
13
+ class =" btn"
14
+ style =" margin-top : 20px ;"
15
+ @click =" darkMode = !darkMode"
16
+ >
17
+ {{ darkMode ? 'Disable' : 'Enable' }} Dark Mode
18
+ </button >
17
19
<br >
18
- <VueInputUi
19
- v-model =" value"
20
- label =" Input with value"
21
- />
22
- <br >
23
- <VueInputUi
24
- v-model =" value2"
25
- :error-hint =" true"
26
- label =" Input with error-hint: true + text hint"
27
- hint =" Error text"
28
- />
20
+ <div class =" component-container" >
21
+ <VueInputUi
22
+ v-model =" value1"
23
+ label =" Initial input"
24
+ color =" #F00"
25
+ size =" sm"
26
+ :dark =" darkMode"
27
+ />
28
+ <br >
29
+ <VueInputUi
30
+ v-model =" value2"
31
+ label =" Input with value"
32
+ :dark =" darkMode"
33
+ />
34
+ <br >
35
+ <VueInputUi
36
+ v-model =" value3"
37
+ :error =" true"
38
+ label =" Input with error='true' + text hint"
39
+ hint =" Error text"
40
+ size =" lg"
41
+ :dark =" darkMode"
42
+ />
43
+ <br >
44
+ <VueInputUi
45
+ v-model =" value4"
46
+ :dark =" darkMode"
47
+ />
48
+ <br >
49
+ <VueInputUi
50
+ v-model =" value4"
51
+ dark
52
+ color =" purple"
53
+ />
54
+ <br >
55
+ <VueInputUi
56
+ v-model =" value4"
57
+ disabled
58
+ />
59
+ </div >
29
60
</div >
30
61
</div >
31
62
</template >
40
71
},
41
72
data () {
42
73
return {
43
- value: ' Hello world!' ,
44
- value2: null
74
+ value1: ' VueCtkInputText' ,
75
+ value2: ' Hello world!' ,
76
+ value3: ' A beautiful input made with VueJs' ,
77
+ value4: null ,
78
+ darkMode: false
45
79
}
46
80
}
47
81
}
48
82
</script >
49
83
50
84
<style lang="scss">
51
- #VueInputUiContainerDiv , html , body {
52
- font-family : ' Avenir' , Helvetica , Arial , sans-serif ;
53
- -webkit-font-smoothing : antialiased ;
54
- -moz-osx-font-smoothing : grayscale ;
55
- text-align : center ;
56
- color : #2c3e50 ;
85
+ @import " ./assets/main.scss" ;
86
+ html , body {
87
+ margin : 0 ;
88
+ min-height : 100% ;
57
89
}
58
- #VueInputUiContainerDiv {
90
+ html {
91
+ display : -webkit-box ; /* OLD - iOS 6-, Safari 3.1-6 */
92
+ display : -moz-box ; /* OLD - Firefox 19- (buggy but mostly works) */
93
+ display : -ms-flexbox ; /* TWEENER - IE 10 */
94
+ display : -webkit-flex ; /* NEW - Chrome */
95
+ display : flex ;
96
+ width : 100% ;
97
+ }
98
+ body {
99
+ -webkit-box-flex : 1 ;
100
+ -webkit-flex : 1 ;
101
+ -moz-flex : 1 ;
102
+ -ms-flex : 1 ;
103
+ flex : 1 ;
104
+ }
105
+ #VueInputUi {
106
+ min-height : 100% ;
107
+ & .dark {
108
+ background-color : darken (#424242 , 20% );
109
+ .container {
110
+ color : white ;
111
+ }
112
+ header {
113
+ color : rgba (255 , 255 , 255 , 0.70 );
114
+ }
115
+ }
116
+ }
117
+ .container {
59
118
width : 80% ;
60
119
margin : 0 auto ;
120
+ padding-top : 40px ;
121
+ text-align : center ;
122
+ font-family : ' Avenir' , Helvetica , Arial , sans-serif ;
123
+ -webkit-font-smoothing : antialiased ;
124
+ -moz-osx-font-smoothing : grayscale ;
61
125
}
62
126
* , * ::before , * ::after {
63
127
box-sizing : border-box ;
64
128
}
65
- </style >
129
+ textarea {
130
+ background-color : #FFF ;
131
+ color : #bd4147 ;
132
+ border : 1px solid #CCC ;
133
+ border-radius : 4px ;
134
+ outline : none ;
135
+ font-size : 85% ;
136
+ width : 100% ;
137
+ font-weight : 700 ;
138
+ font-family : monospace , monospace ;
139
+ resize : none ;
140
+ }
141
+ .btn {
142
+ padding : 10px 20px ;
143
+ margin-bottom : 20px ;
144
+ border : none ;
145
+ border-radius : 4px ;
146
+ font-size : 12px ;
147
+ outline : none ;
148
+ cursor : pointer ;
149
+ transition : all 0.25s cubic-bezier (0.645 , 0.045 , 0.355 , 1 );
150
+ background-color : #96bf31 ;
151
+ color : #FFF ;
152
+ font-weight : 500 ;
153
+ & :hover {
154
+ background-color : darken (#96bf31 , 10% );
155
+ box-shadow : 0 0 8px 0 rgba (232 ,237 ,250 ,.6 ), 0 2px 4px 0 rgba (232 ,237 ,250 ,.5 );
156
+ }
157
+ & .option {
158
+ background-color : #424242 ;
159
+ & :hover {
160
+ background-color : darken (#424242 , 10% );
161
+ }
162
+ }
163
+ }
164
+ .component {
165
+ padding : 10px ;
166
+ background : #FFF ;
167
+ border-radius : 4px ;
168
+ border : 1px solid #ebebeb ;
169
+ & :hover {
170
+ box-shadow : 0 0 8px 0 rgba (232 ,237 ,250 ,.6 ), 0 2px 4px 0 rgba (232 ,237 ,250 ,.5 );
171
+ }
172
+ & .options {
173
+ margin-bottom : 20px ;
174
+ }
175
+ }
176
+ .component-container {
177
+ margin : 0 10px 20px 10px ;
178
+ padding : 20px ;
179
+ background : #FFF ;
180
+ border-radius : 4px ;
181
+ border : 1px solid #ebebeb ;
182
+ min-width : 300px ;
183
+ transition : all 0.25s cubic-bezier (0.645 , 0.045 , 0.355 , 1 );
184
+ flex : 1 0 48% ;
185
+ & :hover {
186
+ box-shadow : 0 0 8px 0 rgba (232 ,237 ,250 ,.6 ), 0 2px 4px 0 rgba (232 ,237 ,250 ,.5 );
187
+ }
188
+ & .dark {
189
+ background-color : darken (#424242 , 10% );
190
+ color : #FFF ;
191
+ textarea {
192
+ background : #424242 ;
193
+ color : dodgerblue ;
194
+ }
195
+ .btn {
196
+ & :hover {
197
+ box-shadow : 0 0 8px 0 rgba (0 ,0 ,0 ,.6 ), 0 2px 4px 0 rgba (0 ,0 ,0 ,.5 );
198
+ }
199
+ & .option {
200
+ background-color : #424242 ;
201
+ & :hover {
202
+ background-color : lighten (#424242 , 10% );
203
+ }
204
+ }
205
+ }
206
+ }
207
+ }
208
+ .dark {
209
+ .component-container , .component {
210
+ border : 1px solid #424242 ;
211
+ background-color : darken (#424242 , 10% );
212
+ & :hover {
213
+ box-shadow : 0 0 8px 0 rgba (0 ,0 ,0 ,.6 ), 0 2px 4px 0 rgba (0 ,0 ,0 ,.5 );
214
+ }
215
+ }
216
+ hr {
217
+ border-color : #424242 ;
218
+ }
219
+ }
220
+ @media screen and (max-width : 1024px ) {
221
+ .components-container.flex {
222
+ -webkit-flex-direction : column ;
223
+ -ms-flex-direction : column ;
224
+ flex-direction : column ;
225
+ flex-flow : column ;
226
+ -moz-flex-direction : column ;
227
+ }
228
+ }
229
+ </style >
0 commit comments