novo-elements 13.2.0-next.4 → 13.2.0-next.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/elements/button/styles/button-icon.scss +1 -1
- package/elements/checkbox/CheckList.scss +69 -0
- package/elements/checkbox/Checkbox.scss +104 -0
- package/elements/data-table/pagination/data-table-pagination.component.scss +73 -0
- package/elements/header/Header.scss +1 -1
- package/elements/list/list-item-content.scss +7 -15
- package/elements/search/SearchBox.scss +21 -2
- package/elements/search/index.d.ts +23 -18
- package/elements/switch/Switch.scss +39 -3
- package/elements/tabbed-group-picker/TabbedGroupPicker.scss +6 -0
- package/elements/tabs/tab.scss +3 -2
- package/fesm2022/novo-elements-elements-breadcrumbs.mjs +1 -1
- package/fesm2022/novo-elements-elements-breadcrumbs.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-button.mjs +2 -2
- package/fesm2022/novo-elements-elements-button.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-checkbox.mjs +4 -4
- package/fesm2022/novo-elements-elements-checkbox.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-data-table.mjs +3 -3
- package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-header.mjs +2 -2
- package/fesm2022/novo-elements-elements-header.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-list.mjs +2 -2
- package/fesm2022/novo-elements-elements-list.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-search.mjs +66 -47
- package/fesm2022/novo-elements-elements-search.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-simple-table.mjs +1 -1
- package/fesm2022/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-switch.mjs +2 -2
- package/fesm2022/novo-elements-elements-switch.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs +2 -2
- package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tabs.mjs +4 -4
- package/fesm2022/novo-elements-elements-tabs.mjs.map +1 -1
- package/fesm2022/novo-elements-utils.mjs +9 -5
- package/fesm2022/novo-elements-utils.mjs.map +1 -1
- package/package.json +1 -1
- package/utils/index.d.ts +1 -1
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
:host-context([data-theme='bh2026']) {
|
|
44
44
|
&[theme="icon"] {
|
|
45
45
|
height: var(--button-height);
|
|
46
|
-
width: var(--button-height);
|
|
46
|
+
min-width: var(--button-height);
|
|
47
47
|
border-radius: var(--border-radius-sm);
|
|
48
48
|
color: var(--color-text-subtle);
|
|
49
49
|
box-shadow: none;
|
|
@@ -88,3 +88,72 @@
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
+
|
|
92
|
+
// bh2026: CSS-based checkbox rendering — replaces icon font glyphs
|
|
93
|
+
:host-context([data-theme='bh2026']) {
|
|
94
|
+
.novo-checkbox-group {
|
|
95
|
+
label i.bhi-checkbox-empty,
|
|
96
|
+
label i.bhi-checkbox-filled {
|
|
97
|
+
font-size: 0;
|
|
98
|
+
display: inline-flex;
|
|
99
|
+
align-self: center;
|
|
100
|
+
width: 16px;
|
|
101
|
+
height: 16px;
|
|
102
|
+
position: relative;
|
|
103
|
+
flex-shrink: 0;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
label i.bhi-checkbox-empty {
|
|
107
|
+
&::before {
|
|
108
|
+
content: '';
|
|
109
|
+
position: absolute;
|
|
110
|
+
inset: 0;
|
|
111
|
+
border: 1px solid var(--color-border-control);
|
|
112
|
+
border-radius: 2px;
|
|
113
|
+
background: white;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
label i.bhi-checkbox-filled {
|
|
118
|
+
&::before {
|
|
119
|
+
content: '';
|
|
120
|
+
position: absolute;
|
|
121
|
+
inset: 0;
|
|
122
|
+
background: var(--color-background-utility-positive);
|
|
123
|
+
border: 1px solid var(--color-utility-blue-600);
|
|
124
|
+
border-radius: 2px;
|
|
125
|
+
}
|
|
126
|
+
&::after {
|
|
127
|
+
content: '';
|
|
128
|
+
position: absolute;
|
|
129
|
+
left: 3px;
|
|
130
|
+
top: 4px;
|
|
131
|
+
width: 9px;
|
|
132
|
+
height: 5px;
|
|
133
|
+
border-left: 2px solid var(--color-utility-blue-600);
|
|
134
|
+
border-bottom: 2px solid var(--color-utility-blue-600);
|
|
135
|
+
transform: rotate(-45deg);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
&.disabled {
|
|
140
|
+
label {
|
|
141
|
+
opacity: 1;
|
|
142
|
+
}
|
|
143
|
+
label i.bhi-checkbox-empty {
|
|
144
|
+
&::before {
|
|
145
|
+
background: var(--color-background-utility-positive);
|
|
146
|
+
border-color: var(--color-border-input-disabled);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
label i.bhi-checkbox-filled {
|
|
150
|
+
&::before {
|
|
151
|
+
border-color: var(--color-border-input-disabled);
|
|
152
|
+
}
|
|
153
|
+
&::after {
|
|
154
|
+
border-color: var(--color-border-input-disabled);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
@@ -91,3 +91,107 @@
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
+
|
|
95
|
+
// bh2026: CSS-based checkbox rendering — replaces icon font glyphs
|
|
96
|
+
:host-context([data-theme='bh2026']) {
|
|
97
|
+
.novo-checkbox-group {
|
|
98
|
+
// Suppress glyph and establish box dimensions for all box-style states
|
|
99
|
+
label i.bhi-checkbox-empty,
|
|
100
|
+
label i.bhi-checkbox-filled,
|
|
101
|
+
label i.bhi-checkbox-indeterminate {
|
|
102
|
+
font-size: 0;
|
|
103
|
+
display: inline-flex;
|
|
104
|
+
align-self: center;
|
|
105
|
+
width: 16px;
|
|
106
|
+
height: 16px;
|
|
107
|
+
position: relative;
|
|
108
|
+
flex-shrink: 0;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Unchecked: white box with gray border
|
|
112
|
+
label i.bhi-checkbox-empty {
|
|
113
|
+
&::before {
|
|
114
|
+
content: '';
|
|
115
|
+
position: absolute;
|
|
116
|
+
inset: 0;
|
|
117
|
+
border: 1px solid var(--color-border-control);
|
|
118
|
+
border-radius: 2px;
|
|
119
|
+
background: white;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// Checked: light-blue box with brand-blue border and checkmark
|
|
124
|
+
label i.bhi-checkbox-filled {
|
|
125
|
+
&::before {
|
|
126
|
+
content: '';
|
|
127
|
+
position: absolute;
|
|
128
|
+
inset: 0;
|
|
129
|
+
background: var(--color-background-utility-positive);
|
|
130
|
+
border: 1px solid var(--color-utility-blue-600);
|
|
131
|
+
border-radius: 2px;
|
|
132
|
+
}
|
|
133
|
+
&::after {
|
|
134
|
+
content: '';
|
|
135
|
+
position: absolute;
|
|
136
|
+
left: 3px;
|
|
137
|
+
top: 4px;
|
|
138
|
+
width: 9px;
|
|
139
|
+
height: 5px;
|
|
140
|
+
border-left: 2px solid var(--color-utility-blue-600);
|
|
141
|
+
border-bottom: 2px solid var(--color-utility-blue-600);
|
|
142
|
+
transform: rotate(-45deg);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// Indeterminate: light-blue box with brand-blue border and dash
|
|
147
|
+
label i.bhi-checkbox-indeterminate {
|
|
148
|
+
&::before {
|
|
149
|
+
content: '';
|
|
150
|
+
position: absolute;
|
|
151
|
+
inset: 0;
|
|
152
|
+
background: var(--color-background-utility-positive);
|
|
153
|
+
border: 1px solid var(--color-utility-blue-600);
|
|
154
|
+
border-radius: 2px;
|
|
155
|
+
}
|
|
156
|
+
&::after {
|
|
157
|
+
content: '';
|
|
158
|
+
position: absolute;
|
|
159
|
+
left: 4px;
|
|
160
|
+
top: 50%;
|
|
161
|
+
transform: translateY(-50%);
|
|
162
|
+
width: 8px;
|
|
163
|
+
height: 2px;
|
|
164
|
+
background: var(--color-utility-blue-600);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Disabled: override the base opacity:0.4 and use explicit muted colors
|
|
169
|
+
&.disabled {
|
|
170
|
+
label {
|
|
171
|
+
opacity: 1;
|
|
172
|
+
}
|
|
173
|
+
label i.bhi-checkbox-empty {
|
|
174
|
+
&::before {
|
|
175
|
+
background: var(--color-background-utility-positive);
|
|
176
|
+
border-color: var(--color-border-input-disabled);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
label i.bhi-checkbox-filled {
|
|
180
|
+
&::before {
|
|
181
|
+
border-color: var(--color-border-input-disabled);
|
|
182
|
+
}
|
|
183
|
+
&::after {
|
|
184
|
+
border-color: var(--color-border-input-disabled);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
label i.bhi-checkbox-indeterminate {
|
|
188
|
+
&::before {
|
|
189
|
+
border-color: var(--color-border-input-disabled);
|
|
190
|
+
}
|
|
191
|
+
&::after {
|
|
192
|
+
background: var(--color-border-input-disabled);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
@@ -107,6 +107,7 @@ $breakpoint: 1000px;
|
|
|
107
107
|
font-size: var(--font-size-text);
|
|
108
108
|
border-radius: var(--border-radius-xsm, 2px);
|
|
109
109
|
list-style-type: none;
|
|
110
|
+
margin-top: 3px;
|
|
110
111
|
cursor: pointer;
|
|
111
112
|
color: var(--color-company);
|
|
112
113
|
&.disabled {
|
|
@@ -126,3 +127,75 @@ $breakpoint: 1000px;
|
|
|
126
127
|
}
|
|
127
128
|
}
|
|
128
129
|
}
|
|
130
|
+
|
|
131
|
+
:host-context([data-theme='bh2026']) {
|
|
132
|
+
&.standard {
|
|
133
|
+
align-items: center;
|
|
134
|
+
border-top: 1px solid var(--pagination-color-border-default, var(--border));
|
|
135
|
+
padding: var(--spacing-padding-sm) var(--spacing-padding-sm) 0 var(--spacing-padding-md);
|
|
136
|
+
|
|
137
|
+
> * {
|
|
138
|
+
margin: 0;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
h5.rows {
|
|
142
|
+
color: var(--pagination-color-content-label, var(--text-muted));
|
|
143
|
+
font-size: var(--typography-font-size-12);
|
|
144
|
+
font-weight: var(--typography-meta-sm-font-weight);
|
|
145
|
+
letter-spacing: var(--typography-meta-sm-letter-spacing);
|
|
146
|
+
line-height: var(--typography-meta-sm-line-height);
|
|
147
|
+
margin-right: var(--spacing-gap-sm);
|
|
148
|
+
opacity: 1;
|
|
149
|
+
padding: 0;
|
|
150
|
+
text-transform: uppercase;
|
|
151
|
+
white-space: nowrap;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
novo-select {
|
|
155
|
+
color: var(--text-muted);
|
|
156
|
+
max-width: 60px;
|
|
157
|
+
min-width: 60px;
|
|
158
|
+
margin-right: var(--spacing-gap-sm);
|
|
159
|
+
|
|
160
|
+
::ng-deep .novo-select-trigger {
|
|
161
|
+
height: var(--spacing-padding-xlg);
|
|
162
|
+
width: 5rem;
|
|
163
|
+
|
|
164
|
+
i.bhi-collapse::before {
|
|
165
|
+
content: "\f226"; // bhi-sort-desc - all code points are fixed in bullhorn-icons
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
span.text-ellipsis {
|
|
169
|
+
color: var(--button-color-select-color-content-value, var(--text-secondary));
|
|
170
|
+
font-size: var(--typography-button-default-font-size, var(--font-size-body));
|
|
171
|
+
font-weight: var(--typography-button-default-font-weight, var(--typography-body-default-font-weight));
|
|
172
|
+
letter-spacing: var(--typography-button-default-letter-spacing, var(--typography-body-default-letter-spacing));
|
|
173
|
+
line-height: var(--typography-button-default-line-height, var(--typography-line-height-20));
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.novo-data-table-of-total-amount {
|
|
179
|
+
color: var(--pagination-color-content-label, var(--text-muted));
|
|
180
|
+
font-size: var(--typography-font-size-12);
|
|
181
|
+
font-weight: var(--typography-meta-sm-font-weight);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.pager {
|
|
185
|
+
gap: var(--data-table-spacing-gap, 0);
|
|
186
|
+
|
|
187
|
+
.page {
|
|
188
|
+
border-radius: var(--border-radius-xsm);
|
|
189
|
+
color: var(--pagination-color-content-label, var(--text-muted));
|
|
190
|
+
font-size: var(--typography-font-size-12);
|
|
191
|
+
font-weight: var(--typography-meta-sm-font-weight);
|
|
192
|
+
|
|
193
|
+
&.active {
|
|
194
|
+
background: var(--color-background-subtle, var(--background-muted));
|
|
195
|
+
border: 1px solid var(--pagination-color-border-default, var(--border));
|
|
196
|
+
opacity: 1;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
&[class*='novo-accent-'] {
|
|
171
|
-
background: var(--color-transparency-white-90);
|
|
171
|
+
background: var(--header-background, var(--color-transparency-white-90));
|
|
172
172
|
backdrop-filter: blur(12px);
|
|
173
173
|
box-shadow: 0 1px 2px var(--color-transparency-black-10);
|
|
174
174
|
padding-top: var(--spacing-md);
|
|
@@ -3,12 +3,7 @@
|
|
|
3
3
|
@include theme-colors() using ($name, $color, $contrast, $tint, $shade, $pale) {
|
|
4
4
|
// Wonky deprecation: For 2026, stringently avoid using * selectors to apply font/color changes - prefer inherit functionality
|
|
5
5
|
// This setup made it very hard to provide overrides.
|
|
6
|
-
:host-context([theme="#{$name}"])
|
|
7
|
-
&.novo-item-content > ::ng-deep *:not(.xxxx) {
|
|
8
|
-
color: rgba(#fff, 0.65);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
:host-context([theme="#{$name}"]):host-context(:root[data-theme='bh2026']).novo-item-content {
|
|
6
|
+
:host-context([theme="#{$name}"]).novo-item-content {
|
|
12
7
|
color: rgba(#fff, 0.65);
|
|
13
8
|
}
|
|
14
9
|
}
|
|
@@ -21,16 +16,13 @@
|
|
|
21
16
|
display: flex;
|
|
22
17
|
margin-left: 0.2em;
|
|
23
18
|
|
|
24
|
-
|
|
19
|
+
&.novo-item-content {
|
|
25
20
|
color: rgba(#434343, 0.85);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
@include theme-colors() using ($name, $color, $contrast, $tint, $shade, $pale) {
|
|
32
|
-
&.#{$name} {
|
|
33
|
-
color: getCssVarname($name);
|
|
21
|
+
::ng-deep i {
|
|
22
|
+
@include theme-colors() using ($name, $color, $contrast, $tint, $shade, $pale) {
|
|
23
|
+
&.#{$name} {
|
|
24
|
+
color: getCssVarname($name);
|
|
25
|
+
}
|
|
34
26
|
}
|
|
35
27
|
}
|
|
36
28
|
}
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
:host(.has-
|
|
73
|
+
:host(.has-border) {
|
|
74
74
|
display: flex;
|
|
75
75
|
align-items: center;
|
|
76
76
|
gap: var(--spacing-8, 0.8rem);
|
|
@@ -86,6 +86,19 @@
|
|
|
86
86
|
color: var(--color-text-subtle, var(--text-muted));
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
[novo-search-trailing-action] {
|
|
90
|
+
flex-shrink: 0;
|
|
91
|
+
cursor: pointer;
|
|
92
|
+
color: var(--color-text-subtle, var(--text-muted));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
::ng-deep [novo-search-leading-content] {
|
|
96
|
+
flex: 1;
|
|
97
|
+
min-width: 0;
|
|
98
|
+
display: flex;
|
|
99
|
+
align-items: center;
|
|
100
|
+
}
|
|
101
|
+
|
|
89
102
|
> input {
|
|
90
103
|
flex: 1 1 0;
|
|
91
104
|
min-width: 0;
|
|
@@ -97,8 +110,14 @@
|
|
|
97
110
|
}
|
|
98
111
|
}
|
|
99
112
|
|
|
113
|
+
:host(.has-border.has-leading-content) {
|
|
114
|
+
> input {
|
|
115
|
+
display: none;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
100
119
|
:host-context([data-theme='bh2026']) {
|
|
101
|
-
&.has-
|
|
120
|
+
&.has-border {
|
|
102
121
|
border: 1px solid var(--color-border-default);
|
|
103
122
|
border-radius: var(--button-radius);
|
|
104
123
|
}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnInit, ElementRef, EventEmitter, ChangeDetectorRef, NgZone } from '@angular/core';
|
|
2
|
+
import { OnInit, AfterContentChecked, ElementRef, EventEmitter, ChangeDetectorRef, NgZone } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor } from '@angular/forms';
|
|
4
4
|
import { NovoLabelService } from 'novo-elements/services';
|
|
5
5
|
import * as i2 from '@angular/common';
|
|
6
|
-
import * as i3 from 'novo-elements/elements/
|
|
7
|
-
import * as i4 from 'novo-elements/elements/
|
|
8
|
-
import * as i5 from 'novo-elements/elements/
|
|
9
|
-
import * as i6 from 'novo-elements/elements/
|
|
10
|
-
import * as i7 from 'novo-elements/elements/common';
|
|
6
|
+
import * as i3 from 'novo-elements/elements/icon';
|
|
7
|
+
import * as i4 from 'novo-elements/elements/picker';
|
|
8
|
+
import * as i5 from 'novo-elements/elements/tooltip';
|
|
9
|
+
import * as i6 from 'novo-elements/elements/common';
|
|
11
10
|
|
|
12
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Marker directive for content projected into the leading (left) area of `novo-search`.
|
|
13
|
+
* When present, the text input is hidden and the projected content fills its space.
|
|
14
|
+
*/
|
|
15
|
+
declare class NovoSearchLeadingContentDirective {
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NovoSearchLeadingContentDirective, never>;
|
|
17
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NovoSearchLeadingContentDirective, "[novo-search-leading-content]", never, {}, {}, never, never, false, never>;
|
|
18
|
+
}
|
|
19
|
+
declare class NovoSearchBoxElement implements ControlValueAccessor, OnInit, AfterContentChecked {
|
|
13
20
|
element: ElementRef;
|
|
14
21
|
labels: NovoLabelService;
|
|
15
22
|
private _changeDetectorRef;
|
|
@@ -19,9 +26,8 @@ declare class NovoSearchBoxElement implements ControlValueAccessor, OnInit {
|
|
|
19
26
|
position: string;
|
|
20
27
|
placeholder: string;
|
|
21
28
|
alwaysOpen: boolean;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
submitButtonAutomationId: string;
|
|
29
|
+
bordered: boolean;
|
|
30
|
+
get hasBorder(): boolean;
|
|
25
31
|
theme: string;
|
|
26
32
|
color: string;
|
|
27
33
|
closeOnSelect: boolean;
|
|
@@ -36,6 +42,8 @@ declare class NovoSearchBoxElement implements ControlValueAccessor, OnInit {
|
|
|
36
42
|
applySearch: EventEmitter<KeyboardEvent>;
|
|
37
43
|
focused: boolean;
|
|
38
44
|
value: any;
|
|
45
|
+
leadingContent: NovoSearchLeadingContentDirective;
|
|
46
|
+
get hasLeadingContent(): boolean;
|
|
39
47
|
/** View -> model callback called when value changes */
|
|
40
48
|
_onChange: (value: any) => void;
|
|
41
49
|
/** View -> model callback called when autocomplete has been touched */
|
|
@@ -44,12 +52,10 @@ declare class NovoSearchBoxElement implements ControlValueAccessor, OnInit {
|
|
|
44
52
|
overlay: any;
|
|
45
53
|
input: any;
|
|
46
54
|
private debounceSearchChange;
|
|
55
|
+
private _hasLeadingContent;
|
|
47
56
|
constructor(element: ElementRef, labels: NovoLabelService, _changeDetectorRef: ChangeDetectorRef, _zone: NgZone);
|
|
48
57
|
ngOnInit(): void;
|
|
49
|
-
|
|
50
|
-
* @name showFasterFind
|
|
51
|
-
* @description This function shows the picker and adds the active class (for animation)
|
|
52
|
-
*/
|
|
58
|
+
ngAfterContentChecked(): void;
|
|
53
59
|
showSearch(event?: any, forceClose?: boolean): void;
|
|
54
60
|
onFocus(): void;
|
|
55
61
|
onBlur(): void;
|
|
@@ -60,7 +66,6 @@ declare class NovoSearchBoxElement implements ControlValueAccessor, OnInit {
|
|
|
60
66
|
get panelOpen(): boolean;
|
|
61
67
|
get active(): boolean;
|
|
62
68
|
/** END: Convenient Panel Methods. */
|
|
63
|
-
onSubmitClick(event: MouseEvent): void;
|
|
64
69
|
_handleKeydown(event: KeyboardEvent): void;
|
|
65
70
|
_handleInput(event: KeyboardEvent): void;
|
|
66
71
|
writeValue(value: any): void;
|
|
@@ -78,13 +83,13 @@ declare class NovoSearchBoxElement implements ControlValueAccessor, OnInit {
|
|
|
78
83
|
*/
|
|
79
84
|
clearValue(skip: any): void;
|
|
80
85
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoSearchBoxElement, never>;
|
|
81
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NovoSearchBoxElement, "novo-search", never, { "name": { "alias": "name"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "position": { "alias": "position"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "alwaysOpen": { "alias": "alwaysOpen"; "required": false; }; "
|
|
86
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NovoSearchBoxElement, "novo-search", never, { "name": { "alias": "name"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "position": { "alias": "position"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "alwaysOpen": { "alias": "alwaysOpen"; "required": false; }; "bordered": { "alias": "bordered"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "color": { "alias": "color"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "displayField": { "alias": "displayField"; "required": false; }; "displayValue": { "alias": "displayValue"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "keepOpen": { "alias": "keepOpen"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "allowPropagation": { "alias": "allowPropagation"; "required": false; }; "overrideElement": { "alias": "overrideElement"; "required": false; }; }, { "searchChanged": "searchChanged"; "applySearch": "applySearch"; }, ["leadingContent"], ["[novo-search-leading-content]", "[novo-search-trailing-action]", "*"], false, never>;
|
|
82
87
|
}
|
|
83
88
|
|
|
84
89
|
declare class NovoSearchBoxModule {
|
|
85
90
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoSearchBoxModule, never>;
|
|
86
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NovoSearchBoxModule, [typeof NovoSearchBoxElement], [typeof i2.CommonModule, typeof i3.
|
|
91
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NovoSearchBoxModule, [typeof NovoSearchBoxElement, typeof NovoSearchLeadingContentDirective], [typeof i2.CommonModule, typeof i3.NovoIconModule, typeof i4.NovoPickerModule, typeof i5.NovoTooltipModule, typeof i6.NovoOverlayModule], [typeof NovoSearchBoxElement, typeof NovoSearchLeadingContentDirective]>;
|
|
87
92
|
static ɵinj: i0.ɵɵInjectorDeclaration<NovoSearchBoxModule>;
|
|
88
93
|
}
|
|
89
94
|
|
|
90
|
-
export { NovoSearchBoxElement, NovoSearchBoxModule };
|
|
95
|
+
export { NovoSearchBoxElement, NovoSearchBoxModule, NovoSearchLeadingContentDirective };
|
|
@@ -142,10 +142,46 @@ $switch-thumb-size: 20px !default;
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
// bh2026:
|
|
145
|
+
// bh2026: 32×20 pill track, 16×16 thumb, always white — per Figma spec
|
|
146
146
|
:host-context([data-theme='bh2026']) {
|
|
147
|
+
.novo-switch-container {
|
|
148
|
+
width: 32px;
|
|
149
|
+
height: 20px;
|
|
150
|
+
}
|
|
147
151
|
.novo-switch-bar {
|
|
148
|
-
|
|
149
|
-
|
|
152
|
+
top: 0;
|
|
153
|
+
left: 0;
|
|
154
|
+
width: 32px;
|
|
155
|
+
height: 20px;
|
|
156
|
+
border-radius: 10px;
|
|
157
|
+
background-color: white;
|
|
158
|
+
border: 1px solid var(--color-border-input);
|
|
159
|
+
}
|
|
160
|
+
.novo-switch-thumb-container {
|
|
161
|
+
top: 2px;
|
|
162
|
+
left: 2px;
|
|
163
|
+
width: 12px; // travel: 32 - 16 - 4px padding = 12px
|
|
164
|
+
}
|
|
165
|
+
.novo-switch-thumb {
|
|
166
|
+
height: 16px;
|
|
167
|
+
width: 16px;
|
|
168
|
+
background-color: white;
|
|
169
|
+
border: 1px solid var(--color-border-input);
|
|
170
|
+
box-shadow: 0px 2px 4px 0px var(--color-transparency-charcoal-04);
|
|
171
|
+
|
|
172
|
+
novo-icon {
|
|
173
|
+
display: none;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
&[aria-checked="true"] {
|
|
178
|
+
.novo-switch-bar {
|
|
179
|
+
background-color: var(--color-utility-blue-600);
|
|
180
|
+
border: none;
|
|
181
|
+
}
|
|
182
|
+
.novo-switch-thumb {
|
|
183
|
+
background-color: white;
|
|
184
|
+
border: none;
|
|
185
|
+
}
|
|
150
186
|
}
|
|
151
187
|
}
|
|
@@ -183,6 +183,12 @@
|
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
+
// bh2026: icon-theme button must not be constrained to a square when it carries chips/label content
|
|
187
|
+
::ng-deep [data-theme='bh2026'] novo-button.tabbed-group-picker-button[theme='icon'] {
|
|
188
|
+
width: auto;
|
|
189
|
+
min-width: max-content;
|
|
190
|
+
}
|
|
191
|
+
|
|
186
192
|
// bh2026: Half-pill shaped indicator, updated colors
|
|
187
193
|
::ng-deep [data-theme='bh2026'] .dropdown-container {
|
|
188
194
|
.tabbed-group-picker-search {
|
package/elements/tabs/tab.scss
CHANGED
|
@@ -182,9 +182,10 @@
|
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
-
&:hover {
|
|
185
|
+
&:hover:not(.active):not(.router-link-active):not(.disabled) {
|
|
186
186
|
.novo-tab-link {
|
|
187
187
|
color: var(--color-text-body);
|
|
188
|
+
font-weight: var(--typography-tabs-default-font-weight) !important;
|
|
188
189
|
}
|
|
189
190
|
}
|
|
190
191
|
}
|
|
@@ -192,7 +193,7 @@
|
|
|
192
193
|
:host-context(novo-nav[theme="color"]),
|
|
193
194
|
:host-context(novo-nav[theme="neutral"]) {
|
|
194
195
|
.novo-tab-link {
|
|
195
|
-
color: #fff;
|
|
196
|
+
color: #fff !important;
|
|
196
197
|
}
|
|
197
198
|
&.active,
|
|
198
199
|
&.router-link-active {
|