Skip to content

Commit 4feac27

Browse files
authored
feat(form): support month, week and color input
This PR add visual support for the usage of native color, week or month inputs
1 parent 04f0521 commit 4feac27

File tree

2 files changed

+41
-9
lines changed

2 files changed

+41
-9
lines changed

src/definitions/collections/form.less

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,17 +79,20 @@
7979

8080
.ui.form textarea,
8181
.ui.form input:not([type]),
82+
.ui.form input[type="color"],
8283
.ui.form input[type="date"],
8384
.ui.form input[type="datetime-local"],
8485
.ui.form input[type="email"],
86+
.ui.form input[type="month"],
8587
.ui.form input[type="number"],
8688
.ui.form input[type="password"],
8789
.ui.form input[type="search"],
8890
.ui.form input[type="tel"],
8991
.ui.form input[type="time"],
9092
.ui.form input[type="text"],
9193
.ui.form input[type="file"],
92-
.ui.form input[type="url"] {
94+
.ui.form input[type="url"],
95+
.ui.form input[type="week"] {
9396
width: @inputWidth;
9497
vertical-align: top;
9598
}
@@ -101,17 +104,20 @@
101104
}
102105

103106
.ui.form input:not([type]),
107+
.ui.form input[type="color"],
104108
.ui.form input[type="date"],
105109
.ui.form input[type="datetime-local"],
106110
.ui.form input[type="email"],
111+
.ui.form input[type="month"],
107112
.ui.form input[type="number"],
108113
.ui.form input[type="password"],
109114
.ui.form input[type="search"],
110115
.ui.form input[type="tel"],
111116
.ui.form input[type="time"],
112117
.ui.form input[type="text"],
113118
.ui.form input[type="file"],
114-
.ui.form input[type="url"] {
119+
.ui.form input[type="url"],
120+
.ui.form input[type="week"] {
115121
font-family: @inputFont;
116122
margin: 0;
117123
outline: none;
@@ -129,6 +135,9 @@
129135
box-shadow: @inputBoxShadow;
130136
transition: @inputTransition;
131137
}
138+
.ui.form input[type="color"] {
139+
padding: initial;
140+
}
132141

133142
/* Text Area */
134143
.ui.input textarea,
@@ -400,17 +409,20 @@
400409
---------------------*/
401410

402411
.ui.form input:not([type]):focus,
412+
.ui.form input[type="color"]:focus,
403413
.ui.form input[type="date"]:focus,
404414
.ui.form input[type="datetime-local"]:focus,
405415
.ui.form input[type="email"]:focus,
416+
.ui.form input[type="month"]:focus,
406417
.ui.form input[type="number"]:focus,
407418
.ui.form input[type="password"]:focus,
408419
.ui.form input[type="search"]:focus,
409420
.ui.form input[type="tel"]:focus,
410421
.ui.form input[type="time"]:focus,
411422
.ui.form input[type="text"]:focus,
412423
.ui.form input[type="file"]:focus,
413-
.ui.form input[type="url"]:focus {
424+
.ui.form input[type="url"]:focus,
425+
.ui.form input[type="week"]:focus {
414426
color: @inputFocusColor;
415427
border-color: @inputFocusBorderColor;
416428
border-radius: @inputFocusBorderRadius;
@@ -420,35 +432,41 @@
420432
& when (@variationInputAction) {
421433
.ui.form .ui.action.input:not([class*="left action"]) {
422434
& input:not([type]):focus,
435+
input[type="color"]:focus,
423436
input[type="date"]:focus,
424437
input[type="datetime-local"]:focus,
425438
input[type="email"]:focus,
439+
input[type="month"]:focus,
426440
input[type="number"]:focus,
427441
input[type="password"]:focus,
428442
input[type="search"]:focus,
429443
input[type="tel"]:focus,
430444
input[type="time"]:focus,
431445
input[type="text"]:focus,
432446
input[type="file"]:focus,
433-
input[type="url"]:focus {
447+
input[type="url"]:focus,
448+
input[type="week"]:focus {
434449
border-top-right-radius: 0;
435450
border-bottom-right-radius: 0;
436451
}
437452
}
438453

439454
.ui.form .ui[class*="left action"].input {
440455
& input:not([type]),
456+
input[type="color"],
441457
input[type="date"],
442458
input[type="datetime-local"],
443459
input[type="email"],
460+
input[type="month"],
444461
input[type="number"],
445462
input[type="password"],
446463
input[type="search"],
447464
input[type="tel"],
448465
input[type="time"],
449466
input[type="text"],
450467
input[type="file"],
451-
input[type="url"] {
468+
input[type="url"],
469+
input[type="week"] {
452470
border-bottom-left-radius: 0;
453471
border-top-left-radius: 0;
454472
}
@@ -522,9 +540,11 @@
522540
.ui.form .fields.@{state} .field textarea,
523541
.ui.form .fields.@{state} .field select,
524542
.ui.form .fields.@{state} .field input:not([type]),
543+
.ui.form .fields.@{state} .field input[type="color"],
525544
.ui.form .fields.@{state} .field input[type="date"],
526545
.ui.form .fields.@{state} .field input[type="datetime-local"],
527546
.ui.form .fields.@{state} .field input[type="email"],
547+
.ui.form .fields.@{state} .field input[type="month"],
528548
.ui.form .fields.@{state} .field input[type="number"],
529549
.ui.form .fields.@{state} .field input[type="password"],
530550
.ui.form .fields.@{state} .field input[type="search"],
@@ -533,20 +553,24 @@
533553
.ui.form .fields.@{state} .field input[type="text"],
534554
.ui.form .fields.@{state} .field input[type="file"],
535555
.ui.form .fields.@{state} .field input[type="url"],
556+
.ui.form .fields.@{state} .field input[type="week"],
536557
.ui.form .field.@{state} textarea,
537558
.ui.form .field.@{state} select,
538559
.ui.form .field.@{state} input:not([type]),
560+
.ui.form .field.@{state} input[type="color"],
539561
.ui.form .field.@{state} input[type="date"],
540562
.ui.form .field.@{state} input[type="datetime-local"],
541563
.ui.form .field.@{state} input[type="email"],
564+
.ui.form .field.@{state} input[type="month"],
542565
.ui.form .field.@{state} input[type="number"],
543566
.ui.form .field.@{state} input[type="password"],
544567
.ui.form .field.@{state} input[type="search"],
545568
.ui.form .field.@{state} input[type="tel"],
546569
.ui.form .field.@{state} input[type="time"],
547570
.ui.form .field.@{state} input[type="text"],
548571
.ui.form .field.@{state} input[type="file"],
549-
.ui.form .field.@{state} input[type="url"] {
572+
.ui.form .field.@{state} input[type="url"],
573+
.ui.form .field.@{state} input[type="week"] {
550574
color: @c;
551575
background: @bg;
552576
border-color: @formStates[@@state][borderColor];
@@ -557,17 +581,20 @@
557581
.ui.form .field.@{state} textarea:focus,
558582
.ui.form .field.@{state} select:focus,
559583
.ui.form .field.@{state} input:not([type]):focus,
584+
.ui.form .field.@{state} input[type="color"]:focus,
560585
.ui.form .field.@{state} input[type="date"]:focus,
561586
.ui.form .field.@{state} input[type="datetime-local"]:focus,
562587
.ui.form .field.@{state} input[type="email"]:focus,
588+
.ui.form .field.@{state} input[type="month"]:focus,
563589
.ui.form .field.@{state} input[type="number"]:focus,
564590
.ui.form .field.@{state} input[type="password"]:focus,
565591
.ui.form .field.@{state} input[type="search"]:focus,
566592
.ui.form .field.@{state} input[type="tel"]:focus,
567593
.ui.form .field.@{state} input[type="time"]:focus,
568594
.ui.form .field.@{state} input[type="text"]:focus,
569595
.ui.form .field.@{state} input[type="file"]:focus,
570-
.ui.form .field.@{state} input[type="url"]:focus {
596+
.ui.form .field.@{state} input[type="url"]:focus,
597+
.ui.form .field.@{state} input[type="week"]:focus {
571598
background: @formStates[@@state][inputFocusBackground];
572599
border-color: @formStates[@@state][inputFocusBorderColor];
573600
color: @formStates[@@state][inputFocusColor];
@@ -823,17 +850,20 @@
823850
}
824851
/* Inverted Field */
825852
.ui.inverted.form input:not([type]),
853+
.ui.inverted.form input[type="color"],
826854
.ui.inverted.form input[type="date"],
827855
.ui.inverted.form input[type="datetime-local"],
828856
.ui.inverted.form input[type="email"],
857+
.ui.inverted.form input[type="month"],
829858
.ui.inverted.form input[type="number"],
830859
.ui.inverted.form input[type="password"],
831860
.ui.inverted.form input[type="search"],
832861
.ui.inverted.form input[type="tel"],
833862
.ui.inverted.form input[type="time"],
834863
.ui.inverted.form input[type="text"],
835864
.ui.inverted.form input[type="file"],
836-
.ui.inverted.form input[type="url"] {
865+
.ui.inverted.form input[type="url"],
866+
.ui.inverted.form input[type="week"] {
837867
background: @invertedInputBackground;
838868
border-color: @invertedInputBorderColor;
839869
color: @invertedInputColor;

src/definitions/elements/input.less

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
line-height: @lineHeight;
4545

4646
font-family: @inputFont;
47-
padding: @padding;
4847

4948
background: @background;
5049
border: @border;
@@ -53,6 +52,9 @@
5352
transition: @transition;
5453

5554
box-shadow: @boxShadow;
55+
&:not([type="color"]) {
56+
padding: @padding;
57+
}
5658
}
5759

5860

0 commit comments

Comments
 (0)