Skip to content

Commit 7a4abb9

Browse files
authored
refactor(input-group): border-type label per material spec (#6571)
2 parents dbae8e0 + c6aec63 commit 7a4abb9

File tree

6 files changed

+220
-67
lines changed

6 files changed

+220
-67
lines changed

projects/igniteui-angular/src/lib/core/styles/components/input/_input-group-component.scss

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@
314314

315315
@include e(label) {
316316
@extend %form-group-label--box !optional;
317+
@extend %form-group-label--border !optional;
317318
}
318319

319320
@include e(textarea) {
@@ -325,6 +326,28 @@
325326
}
326327
}
327328

329+
@include mx(border, filled) {
330+
@include e(label) {
331+
@extend %form-group-label-float !optional;
332+
@extend %form-group-label--float-border !optional;
333+
}
334+
}
335+
336+
@include mx(border, focused) {
337+
@include e(label) {
338+
@extend %form-group-label--float !optional;
339+
@extend %form-group-label--float-border !optional;
340+
}
341+
}
342+
343+
@include mx(border, placeholder) {
344+
@include e(label) {
345+
@extend %form-group-label--float !optional;
346+
@extend %form-group-label--float-border !optional;
347+
}
348+
}
349+
350+
328351
@include mx(border, cosy) {
329352
@extend %form-group-display--no-margin-cosy !optional;
330353

@@ -341,6 +364,30 @@
341364
}
342365
}
343366

367+
@include mx(border, cosy, filled) {
368+
@include e(label) {
369+
@extend %form-group-label--float !optional;
370+
@extend %form-group-label--float-border !optional;
371+
@extend %form-group-label--float-border-cosy !optional;
372+
}
373+
}
374+
375+
@include mx(border, cosy, focused) {
376+
@include e(label) {
377+
@extend %form-group-label--float !optional;
378+
@extend %form-group-label--float-border !optional;
379+
@extend %form-group-label--float-border-cosy !optional;
380+
}
381+
}
382+
383+
@include mx(border, cosy, placeholder) {
384+
@include e(label) {
385+
@extend %form-group-label--float !optional;
386+
@extend %form-group-label--float-border !optional;
387+
@extend %form-group-label--float-border-cosy !optional;
388+
}
389+
}
390+
344391
@include mx(border, compact) {
345392
@extend %form-group-display--no-margin-compact !optional;
346393

@@ -357,6 +404,30 @@
357404
}
358405
}
359406

407+
@include mx(border, compact, filled) {
408+
@include e(label) {
409+
@extend %form-group-label--float !optional;
410+
@extend %form-group-label--float-border !optional;
411+
@extend %form-group-label--float-border-compact !optional;
412+
}
413+
}
414+
415+
@include mx(border, compact, focused) {
416+
@include e(label) {
417+
@extend %form-group-label--float !optional;
418+
@extend %form-group-label--float-border !optional;
419+
@extend %form-group-label--float-border-compact !optional;
420+
}
421+
}
422+
423+
@include mx(border, compact, placeholder) {
424+
@include e(label) {
425+
@extend %form-group-label--float !optional;
426+
@extend %form-group-label--float-border !optional;
427+
@extend %form-group-label--float-border-compact !optional;
428+
}
429+
}
430+
360431
@include mx(valid, border) {
361432
@include e(bundle) {
362433
@extend %form-group-bundle-border--success !optional;
@@ -379,6 +450,10 @@
379450
@include e(bundle) {
380451
@extend %form-group-bundle-border--disabled !optional;
381452
}
453+
454+
@include e(label) {
455+
@extend %form-group-label--float-border-disabled !optional;
456+
}
382457
}
383458

384459
// Fluent Theme Start //

projects/igniteui-angular/src/lib/core/styles/components/input/_input-group-theme.scss

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,10 @@
114114
$input-prefix-color: null,
115115
$input-prefix-background: null,
116116
$input-suffix-color: null,
117-
$input-suffix-background: null
117+
$input-suffix-background: null,
118+
119+
$label-floated-background: null,
120+
$label-floated-disabled-background: null
118121
) {
119122
$name: 'igx-input-group';
120123
$input-group-schema: ();
@@ -234,6 +237,8 @@
234237
input-suffix-color: $input-suffix-color,
235238
input-suffix-background: $input-suffix-background,
236239

240+
label-floated-background: $label-floated-background,
241+
label-floated-disabled-background: $label-floated-disabled-background,
237242
focused-shadow-color: $focused-shadow-color,
238243
success-shadow-color: $success-shadow-color,
239244
error-shadow-color: $error-shadow-color,
@@ -477,10 +482,6 @@
477482
box-shadow: inset 0 0 0 1px --var($theme, 'border-color');
478483
border-radius: --var($theme, 'border-border-radius');
479484
background: --var($theme, 'border-background');
480-
481-
%form-group-label--box + %form-group-input--box {
482-
transform: translateY(0);
483-
}
484485
}
485486

486487
%form-group-bundle--border-cosy {
@@ -803,7 +804,7 @@
803804
%form-group-label {
804805
@include ellipsis();
805806
position: absolute;
806-
width: 100%;
807+
// width: 100%;
807808
transform: translateY(50%); /* 8px, base is 16px */
808809
line-height: 1 !important;
809810
height: rem(18px);
@@ -825,12 +826,35 @@
825826
transform: translateY(0);
826827
}
827828

829+
%form-group-label--border {
830+
padding: 0 rem(4px);
831+
transition: all $transition-timing;
832+
}
833+
828834
%form-group-label--float {
829835
overflow: visible;
830836
transform: translateY(-50%) scale(.75);
831837
margin-top: auto;
832838
}
833839

840+
%form-group-label--float-border {
841+
// width: auto;
842+
transform: translateY(-130%) scale(.75);
843+
background: --var($theme, 'label-floated-background', inherit);
844+
}
845+
846+
%form-group-label--float-border-disabled {
847+
background: --var($theme, 'label-floated-disabled-background', inherit);
848+
}
849+
850+
%form-group-label--float-border-cosy {
851+
transform: translateY(-115%) scale(.75);
852+
}
853+
854+
%form-group-label--float-border-compact {
855+
transform: translateY(-105%) scale(.75);
856+
}
857+
834858
%form-group-label--fixed {
835859
transition: color $transition-timing;
836860
}

projects/igniteui-angular/src/lib/core/styles/themes/_palettes.scss

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,17 @@
4747
/// @requires igx-palette
4848
$default-palette: igx-palette($primary: #09f, $secondary: #e41c77) !default;
4949

50+
51+
/// Default dark palette
52+
/// @type {Map}
53+
/// @group palettes
54+
$default-dark-palette: extend(
55+
$default-palette,
56+
(
57+
surface: (500: #222)
58+
)
59+
) !default;
60+
5061
/// Global Overlay Color
5162
/// @group palettes
5263
/// @type Color
@@ -77,14 +88,33 @@ $green-palette: igx-palette(
7788
$secondary: #72da67
7889
) !default;
7990

80-
/// Red palette
91+
/// Dark green palette,
92+
/// @type {Map}
93+
/// @group palettes
94+
$green-dark-palette: extend(
95+
$green-palette,
96+
(
97+
surface: (500: #222)
98+
)
99+
) !default;
100+
101+
/// Purple palette
81102
/// @type {Map}
82103
/// @group palettes
83104
$purple-palette: igx-palette(
84105
$primary: #00b4d6,
85106
$secondary: #514590
86107
) !default;
87108

109+
/// Dark purple palette
110+
/// @type {Map}
111+
/// @group palettes
112+
$purple-dark-palette: extend(
113+
$purple-palette,
114+
(
115+
surface: (500: #333)
116+
)
117+
) !default;
88118

89119
/// Fluent Excel palette
90120
/// @type {Map}
@@ -97,6 +127,16 @@ $fluent-excel-palette: igx-palette(
97127
$error: #a80000
98128
) !default;
99129

130+
/// Fluent Excel dark palette
131+
/// @type {Map}
132+
/// @group palettes
133+
$fluent-excel-dark-palette: extend(
134+
$fluent-excel-palette,
135+
(
136+
surface: (500: #222)
137+
)
138+
) !default;
139+
100140
/// Fluent Word palette
101141
/// @type {Map}
102142
/// @group palettes
@@ -105,7 +145,17 @@ $fluent-word-palette: igx-palette(
105145
$secondary: #2b579a,
106146
$success: #107c10,
107147
$warn: #797673,
108-
$error: #a80000
148+
$error: #a80000,
149+
) !default;
150+
151+
/// Fluent Word dark palette
152+
/// @type {Map}
153+
/// @group palettes
154+
$fluent-word-dark-palette: extend(
155+
$fluent-word-palette,
156+
(
157+
surface: (500: #222)
158+
)
109159
) !default;
110160

111161
/// Bootstrap palette
@@ -121,3 +171,13 @@ $bootstrap-palette: igx-palette(
121171
$surface: #f8f9fa
122172
) !default;
123173

174+
/// Bootstrap dark palette
175+
/// @type {Map}
176+
/// @group palettes
177+
$bootstrap-dark-palette: extend(
178+
$bootstrap-palette,
179+
(
180+
surface: (500: #333)
181+
)
182+
) !default;
183+

projects/igniteui-angular/src/lib/core/styles/themes/schemas/light/_input-group.scss

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@
5252
/// @prop {Number} box-border-radius [.2 .2 0 0] - The border radius fraction, between 0-1 to be used for box input .
5353
/// @prop {Number} border-border-radius [.2] - The border radius fraction, between 0-1 to be used for border input .
5454
/// @prop {Number} search-border-radius [.2] - The border radius fraction, between 0-1 to be used for search input .
55+
/// @prop {Color} label-floated-background [igx-color: surface] - The background color of the label when floated for input of type border.
56+
/// @prop {Color} label-floated-disabled-background [igx-color: surface] - The background color of the label when floated for input group of type border in its disabled state.
5557
///
5658
/// @requires {function} extend
5759
/// @requires {map} $_default-shape-input-group
@@ -138,7 +140,7 @@ $_light-input-group: extend(
138140

139141
disabled-border-color: (
140142
igx-color: ('grays', 500),
141-
rgba: .06
143+
rgba: .12
142144
),
143145

144146
box-background: (
@@ -151,8 +153,14 @@ $_light-input-group: extend(
151153

152154
border-background: transparent,
153155

154-
border-disabled-background: (
155-
igx-color: ('grays', 100)
156+
border-disabled-background: transparent,
157+
158+
label-floated-background: (
159+
igx-color: surface
160+
),
161+
162+
label-floated-disabled-background: (
163+
igx-color: surface
156164
),
157165

158166
search-background: #fff,

src/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<meta name="viewport" content="width=device-width, initial-scale=1">
99
<link rel="icon" type="image/x-icon" href="favicon.ico">
1010
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous"></head>
11-
<body class="igx-typography bootstrap-theme">
11+
<body class="igx-typography default-theme">
1212
<app-root></app-root>
1313
</body>
1414
</html>

0 commit comments

Comments
 (0)