novo-elements 13.2.0 → 13.3.0
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/breadcrumbs/Breadcrumb.scss +1 -1
- package/elements/button/styles/button-dialogue.scss +12 -0
- package/elements/button/styles/button-icon.scss +20 -0
- package/elements/button/styles/button-primary.scss +16 -1
- package/elements/button/styles/button-secondary.scss +14 -1
- package/elements/button/styles/button-standard.scss +14 -0
- package/elements/button/styles/button.scss +11 -0
- package/elements/card/Card.scss +80 -19
- package/elements/card/CardContent.scss +3 -0
- package/elements/card/CardHeader.scss +23 -0
- package/elements/card/index.d.ts +5 -3
- package/elements/category-dropdown/CategoryDropdown.scss +1 -1
- package/elements/checkbox/CheckList.scss +69 -0
- package/elements/checkbox/Checkbox.scss +104 -0
- package/elements/chips/Chip.scss +3 -1
- package/elements/common/index.d.ts +14 -4
- package/elements/common/option/option.component.scss +11 -0
- package/elements/data-table/data-table.component.scss +81 -3
- package/elements/data-table/pagination/data-table-pagination.component.scss +73 -0
- package/elements/date-picker/DatePicker.scss +1 -6
- package/elements/date-time-picker/_DateTimePicker.scss +1 -1
- package/elements/dropdown/Dropdown.scss +17 -1
- package/elements/field/field.scss +10 -6
- package/elements/field/hint/hint.scss +6 -0
- package/elements/form/ControlGroup.scss +13 -0
- package/elements/form/Form.scss +46 -0
- package/elements/header/Header.scss +45 -3
- package/elements/layout/index.d.ts +10 -2
- package/elements/list/list-item-content.scss +11 -10
- package/elements/menu/menu-content.component.scss +1 -0
- package/elements/modal/modal.component.scss +3 -13
- package/elements/modal/notification.component.scss +1 -6
- package/elements/picker/extras/picker-results/PickerResults.scss +51 -0
- package/elements/progress/Progress.scss +8 -0
- package/elements/progress/ProgressBar.scss +4 -1
- package/elements/search/SearchBox.scss +53 -0
- package/elements/search/index.d.ts +19 -9
- package/elements/select/Select.scss +1 -0
- package/elements/simple-table/table.scss +1 -1
- package/elements/stepper/stepper.component.scss +4 -4
- package/elements/switch/Switch.scss +39 -3
- package/elements/tabbed-group-picker/TabbedGroupPicker.scss +47 -0
- package/elements/tabs/tab.scss +17 -14
- package/elements/tiles/Tiles.scss +24 -2
- package/elements/time-picker/TimePicker.scss +2 -2
- package/elements/tip-well/TipWell.scss +34 -0
- package/elements/tip-well/index.d.ts +5 -1
- package/elements/toolbar/toolbar.component.scss +15 -0
- package/elements/tooltip/Tooltip.scss +1 -6
- package/fesm2022/novo-elements-elements-breadcrumbs.mjs +3 -3
- 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-card.mjs +27 -21
- package/fesm2022/novo-elements-elements-card.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-category-dropdown.mjs +2 -2
- package/fesm2022/novo-elements-elements-category-dropdown.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-chips.mjs +2 -2
- package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-common.mjs +48 -17
- package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-data-table.mjs +4 -4
- package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-date-picker.mjs +2 -2
- package/fesm2022/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-date-time-picker.mjs +2 -2
- package/fesm2022/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-dropdown.mjs +2 -2
- package/fesm2022/novo-elements-elements-dropdown.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-field.mjs +4 -4
- package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-form.mjs +7 -7
- package/fesm2022/novo-elements-elements-form.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-layout.mjs +29 -13
- package/fesm2022/novo-elements-elements-layout.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-menu.mjs +2 -2
- package/fesm2022/novo-elements-elements-menu.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-modal.mjs +4 -4
- package/fesm2022/novo-elements-elements-modal.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-picker.mjs +4 -4
- package/fesm2022/novo-elements-elements-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-progress.mjs +4 -4
- package/fesm2022/novo-elements-elements-progress.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-search.mjs +63 -17
- package/fesm2022/novo-elements-elements-search.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-select.mjs +2 -2
- package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-simple-table.mjs +4 -4
- package/fesm2022/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-stepper.mjs +6 -6
- package/fesm2022/novo-elements-elements-stepper.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-elements-tiles.mjs +2 -2
- package/fesm2022/novo-elements-elements-tiles.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-time-picker.mjs +2 -2
- package/fesm2022/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tip-well.mjs +26 -6
- package/fesm2022/novo-elements-elements-tip-well.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-toolbar.mjs +2 -2
- package/fesm2022/novo-elements-elements-toolbar.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tooltip.mjs +2 -2
- package/fesm2022/novo-elements-elements-tooltip.mjs.map +1 -1
- package/fesm2022/novo-elements-utils.mjs +4822 -364
- package/fesm2022/novo-elements-utils.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/content/links.scss +4 -0
- package/styles/themes/bh2026.scss +131 -53
- package/utils/index.d.ts +2 -2
|
@@ -618,11 +618,89 @@ novo-data-table {
|
|
|
618
618
|
}
|
|
619
619
|
}
|
|
620
620
|
|
|
621
|
-
// bh2026:
|
|
621
|
+
// bh2026: banded rows, horizontal borders, modern spacing
|
|
622
622
|
[data-theme='bh2026'] {
|
|
623
623
|
.novo-data-table-header-cell,
|
|
624
624
|
.novo-data-table-header-cell > label {
|
|
625
|
-
font-weight: 600;
|
|
626
|
-
|
|
625
|
+
font-weight: var(--typography-font-weight-600);
|
|
626
|
+
font-size: var(--font-size-caption);
|
|
627
|
+
color: var(--color-text-subtle);
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
.novo-data-table-row,
|
|
631
|
+
.novo-data-table-header-row {
|
|
632
|
+
border-bottom: var(--border-width-border-default) solid var(--color-border-subtle);
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
.novo-data-table-cell,
|
|
636
|
+
.novo-data-table-header-cell {
|
|
637
|
+
padding: var(--spacing-padding-sm) var(--spacing-padding-md);
|
|
638
|
+
color: var(--color-text-body);
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
// Restore zero vertical padding on action/control cells — the general rule above overrides
|
|
642
|
+
// the base .button-cell / .dropdown-cell padding: 0 5px, putting 8px above/below the button.
|
|
643
|
+
.novo-data-table-cell {
|
|
644
|
+
&.button-cell,
|
|
645
|
+
&.dropdown-cell,
|
|
646
|
+
&.expand-cell,
|
|
647
|
+
&.checkbox-cell {
|
|
648
|
+
padding-top: 0;
|
|
649
|
+
padding-bottom: 0;
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
.novo-data-table-cell.clickable {
|
|
654
|
+
color: var(--color-text-link);
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
cdk-table {
|
|
658
|
+
> .novo-data-table-row:nth-of-type(odd) {
|
|
659
|
+
.novo-data-table-cell,
|
|
660
|
+
.novo-data-table-button-cell,
|
|
661
|
+
.novo-data-table-dropdown-cell,
|
|
662
|
+
.novo-data-table-expand-cell,
|
|
663
|
+
.novo-data-table-checkbox-cell {
|
|
664
|
+
// To enable every-other "banded" styling change to --color-background-muted
|
|
665
|
+
background-color: var(--background-body);
|
|
666
|
+
}
|
|
667
|
+
+ .novo-data-table-detail-row {
|
|
668
|
+
// To enable every-other "banded" styling change to --color-background-muted
|
|
669
|
+
background-color: var(--background-body);
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
> .novo-data-table-row:nth-of-type(even) {
|
|
673
|
+
.novo-data-table-cell,
|
|
674
|
+
.novo-data-table-button-cell,
|
|
675
|
+
.novo-data-table-dropdown-cell,
|
|
676
|
+
.novo-data-table-expand-cell,
|
|
677
|
+
.novo-data-table-checkbox-cell {
|
|
678
|
+
background-color: var(--background-body);
|
|
679
|
+
}
|
|
680
|
+
+ .novo-data-table-detail-row {
|
|
681
|
+
background-color: var(--background-body);
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
> .novo-data-table-row:hover {
|
|
685
|
+
.novo-data-table-cell,
|
|
686
|
+
.novo-data-table-button-cell,
|
|
687
|
+
.novo-data-table-dropdown-cell,
|
|
688
|
+
.novo-data-table-expand-cell,
|
|
689
|
+
.novo-data-table-checkbox-cell {
|
|
690
|
+
background-color: var(--color-background-subtle);
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
> .novo-data-table-row.active {
|
|
694
|
+
.novo-data-table-cell,
|
|
695
|
+
.novo-data-table-button-cell,
|
|
696
|
+
.novo-data-table-dropdown-cell,
|
|
697
|
+
.novo-data-table-expand-cell,
|
|
698
|
+
.novo-data-table-checkbox-cell {
|
|
699
|
+
background-color: var(--color-utility-blue-100);
|
|
700
|
+
}
|
|
701
|
+
+ .novo-data-table-detail-row {
|
|
702
|
+
background-color: var(--color-utility-blue-100);
|
|
703
|
+
}
|
|
704
|
+
}
|
|
627
705
|
}
|
|
628
706
|
}
|
|
@@ -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
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
:host {
|
|
4
4
|
display: block;
|
|
5
5
|
.date-picker-container {
|
|
6
|
-
border-radius: var(--border-radius-
|
|
6
|
+
border-radius: var(--border-radius-sm, 4px);
|
|
7
7
|
width: min-content;
|
|
8
8
|
text-align: center;
|
|
9
9
|
background: var(--background-main);
|
|
@@ -219,8 +219,3 @@
|
|
|
219
219
|
display: block;
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
|
-
|
|
223
|
-
// bh2026: rounder calendar
|
|
224
|
-
:host-context([data-theme='bh2026']) .date-picker-container {
|
|
225
|
-
border-radius: var(--calendar-radius, 0.8rem);
|
|
226
|
-
}
|
|
@@ -6,7 +6,7 @@ $time-select-height: 45px;
|
|
|
6
6
|
display: block;
|
|
7
7
|
width: min-content;
|
|
8
8
|
overflow: hidden;
|
|
9
|
-
border-radius: var(--border-radius-
|
|
9
|
+
border-radius: var(--border-radius-sm, 4px);
|
|
10
10
|
background-color: var(--background-bright);
|
|
11
11
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15), 0 2px 7px rgba(0, 0, 0, 0.1);
|
|
12
12
|
z-index: z(max);
|
|
@@ -16,13 +16,29 @@
|
|
|
16
16
|
font-size: 0.8em !important;
|
|
17
17
|
width: 1em !important;
|
|
18
18
|
height: 1em !important;
|
|
19
|
-
margin: 0 0.5em;
|
|
19
|
+
margin: 0 var(--button-icon-margin, 0.5em);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
// bh2026: swap out the collapse icon for the sort-desc icon and style to ensure proper placement
|
|
25
|
+
:host-context([data-theme='bh2026']) {
|
|
26
|
+
::ng-deep .novo-button-icon {
|
|
27
|
+
font-size: 1em !important;
|
|
28
|
+
}
|
|
29
|
+
::ng-deep i.bhi-collapse {
|
|
30
|
+
display: inline-flex !important;
|
|
31
|
+
align-items: center;
|
|
32
|
+
justify-content: center;
|
|
33
|
+
}
|
|
34
|
+
::ng-deep i.bhi-collapse::before {
|
|
35
|
+
content: "\f226"; // bhi-sort-desc - all code points are fixed in bullhorn-icons
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
24
39
|
.dropdown-container {
|
|
25
40
|
background-color: var(--background-bright, $color-bright);
|
|
41
|
+
border-radius: var(--border-radius-sm);
|
|
26
42
|
list-style: none;
|
|
27
43
|
margin: 0;
|
|
28
44
|
padding: 0;
|
|
@@ -109,15 +109,19 @@
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
// bh2026:
|
|
112
|
+
// bh2026: uppercase label + tighter value typography per Figma "Value - Finalized" spec
|
|
113
113
|
:host-context([data-theme='bh2026']) {
|
|
114
114
|
.novo-field-label {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
text-transform: var(--typography-input-label-sm-text-transform);
|
|
116
|
+
::ng-deep novo-label {
|
|
117
|
+
font-weight: var(--typography-input-label-sm-font-weight);
|
|
118
|
+
font-size: var(--typography-input-label-sm-font-size);
|
|
119
|
+
letter-spacing: var(--typography-input-label-sm-letter-spacing);
|
|
120
|
+
color: var(--color-text-body);
|
|
121
|
+
}
|
|
118
122
|
}
|
|
119
123
|
.novo-field-input ::ng-deep .novo-input-element {
|
|
120
|
-
font-size:
|
|
121
|
-
font-weight:
|
|
124
|
+
font-size: var(--typography-input-value-default-font-size);
|
|
125
|
+
font-weight: var(--typography-input-value-default-font-weight);
|
|
122
126
|
}
|
|
123
127
|
}
|
|
@@ -50,6 +50,19 @@ novo-control-group {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
+
// bh2026: description text and column-header labels match decoration weight/size of hint and field-message
|
|
54
|
+
[data-theme='bh2026'] & {
|
|
55
|
+
.novo-section-header label.novo-control-group-description {
|
|
56
|
+
font-size: var(--typography-input-value-sm-font-size);
|
|
57
|
+
font-weight: var(--typography-input-value-sm-font-weight);
|
|
58
|
+
color: var(--color-text-subtle);
|
|
59
|
+
}
|
|
60
|
+
.novo-control-group-labels .novo-control-group-control-label > span {
|
|
61
|
+
font-size: var(--typography-input-value-sm-font-size);
|
|
62
|
+
font-weight: var(--typography-input-value-sm-font-weight);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
53
66
|
.novo-control-group-controls {
|
|
54
67
|
display: flex;
|
|
55
68
|
flex-wrap: nowrap;
|
package/elements/form/Form.scss
CHANGED
|
@@ -819,3 +819,49 @@ control-prompt-modal {
|
|
|
819
819
|
min-width: 110px;
|
|
820
820
|
}
|
|
821
821
|
}
|
|
822
|
+
|
|
823
|
+
// bh2026: uppercase label + tighter value typography per Figma "Value - Finalized" spec
|
|
824
|
+
// ViewEncapsulation.None: use plain selectors (not :host-context which is Shadow DOM only)
|
|
825
|
+
:root[data-theme='bh2026'] {
|
|
826
|
+
label.novo-control-label {
|
|
827
|
+
&.novo-control-filled,
|
|
828
|
+
&.novo-control-focused,
|
|
829
|
+
&.novo-control-always-active {
|
|
830
|
+
font-weight: var(--typography-input-label-sm-font-weight) !important;
|
|
831
|
+
font-size: var(--typography-input-label-sm-font-size) !important;
|
|
832
|
+
letter-spacing: var(--typography-input-label-sm-letter-spacing);
|
|
833
|
+
text-transform: var(--typography-input-label-sm-text-transform);
|
|
834
|
+
color: var(--color-text-body) !important;
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
.novo-form-control-label {
|
|
838
|
+
font-weight: var(--typography-input-label-sm-font-weight) !important;
|
|
839
|
+
font-size: var(--typography-input-label-sm-font-size) !important;
|
|
840
|
+
letter-spacing: var(--typography-input-label-sm-letter-spacing);
|
|
841
|
+
text-transform: var(--typography-input-label-sm-text-transform);
|
|
842
|
+
color: var(--color-text-body) !important;
|
|
843
|
+
}
|
|
844
|
+
.novo-control-outer-container input:not([type='checkbox']):not([type='radio']) {
|
|
845
|
+
font-size: var(--typography-input-value-default-font-size) !important;
|
|
846
|
+
font-weight: var(--typography-input-value-default-font-weight) !important;
|
|
847
|
+
}
|
|
848
|
+
.field-message,
|
|
849
|
+
novo-tip-well.active {
|
|
850
|
+
font-size: var(--typography-input-value-sm-font-size);
|
|
851
|
+
font-weight: var(--typography-input-value-sm-font-weight);
|
|
852
|
+
color: var(--color-text-subtle);
|
|
853
|
+
|
|
854
|
+
// $grey is a compile-time SCSS variable — explicit selectors required to override
|
|
855
|
+
.character-count,
|
|
856
|
+
.record-count {
|
|
857
|
+
font-size: var(--typography-input-value-sm-font-size);
|
|
858
|
+
color: var(--color-text-subtle);
|
|
859
|
+
}
|
|
860
|
+
}
|
|
861
|
+
.error-message {
|
|
862
|
+
.character-count {
|
|
863
|
+
font-size: var(--typography-input-value-sm-font-size);
|
|
864
|
+
color: var(--color-text-subtle);
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
}
|
|
@@ -152,9 +152,51 @@
|
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
// bh2026:
|
|
155
|
+
// bh2026: frosted translucent header + entity squircle icon
|
|
156
156
|
:host-context([data-theme='bh2026']) {
|
|
157
|
-
&
|
|
158
|
-
|
|
157
|
+
& > section {
|
|
158
|
+
gap: var(--spacing-gap-lg);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.header-actions {
|
|
162
|
+
gap: var(--spacing-gap-sm);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
::ng-deep utils,
|
|
166
|
+
::ng-deep novo-utils {
|
|
167
|
+
gap: var(--spacing-gap-sm);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
&[class*='novo-accent-'] {
|
|
171
|
+
background: var(--header-background, var(--color-transparency-white-90));
|
|
172
|
+
backdrop-filter: blur(12px);
|
|
173
|
+
box-shadow: 0 1px 2px var(--color-transparency-black-10);
|
|
174
|
+
padding-top: var(--spacing-md);
|
|
175
|
+
padding-left: var(--spacing-lg);
|
|
176
|
+
padding-right: var(--spacing-lg);
|
|
177
|
+
|
|
178
|
+
& > section:first-of-type {
|
|
179
|
+
border-bottom: none;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
utils {
|
|
183
|
+
color: var(--color-text-subtle);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
@each $entity, $color in $entity-colors {
|
|
188
|
+
&.novo-accent-#{$entity} {
|
|
189
|
+
::ng-deep .header-icon i {
|
|
190
|
+
color: var(--color-white);
|
|
191
|
+
background: $color;
|
|
192
|
+
border-radius: var(--border-radius-sm);
|
|
193
|
+
width: var(--typography-font-size-40);
|
|
194
|
+
height: var(--typography-font-size-40);
|
|
195
|
+
display: flex;
|
|
196
|
+
align-items: center;
|
|
197
|
+
justify-content: center;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
159
200
|
}
|
|
201
|
+
background-color: transparent;
|
|
160
202
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { AfterContentInit, ChangeDetectorRef,
|
|
2
|
+
import { ElementRef, AfterContentInit, ChangeDetectorRef, NgZone, DestroyRef, InjectionToken, AfterContentChecked, OnDestroy, EventEmitter, DoCheck, QueryList } from '@angular/core';
|
|
3
3
|
import { Directionality } from '@angular/cdk/bidi';
|
|
4
4
|
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
5
5
|
import { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/overlay';
|
|
@@ -20,9 +20,16 @@ declare class NovoCollapsibleNavComponent {
|
|
|
20
20
|
expandedWidth: i0.InputSignal<string>;
|
|
21
21
|
/** Width of the panel when collapsed to the icon rail. */
|
|
22
22
|
collapsedWidth: i0.InputSignal<string>;
|
|
23
|
+
/** Time in ms to delay between the user entering the nav region, and expanding it */
|
|
24
|
+
expandDelay: i0.InputSignal<number>;
|
|
23
25
|
/** When true, hovering a collapsed panel temporarily expands it as an overlay without affecting layout. */
|
|
24
26
|
overlayOnHover: i0.InputSignal<boolean>;
|
|
27
|
+
hoveredChange: i0.OutputEmitterRef<boolean>;
|
|
28
|
+
readonly element: ElementRef<any>;
|
|
29
|
+
private readonly destroyRef;
|
|
25
30
|
private readonly isHovered;
|
|
31
|
+
private readonly isHoveredDebounced$;
|
|
32
|
+
private readonly isEffectiveHovered;
|
|
26
33
|
private readonly effectiveCollapsed;
|
|
27
34
|
constructor();
|
|
28
35
|
onMouseEnter(): void;
|
|
@@ -34,12 +41,13 @@ declare class NovoCollapsibleNavComponent {
|
|
|
34
41
|
collapsedWidth: string;
|
|
35
42
|
};
|
|
36
43
|
};
|
|
44
|
+
private debounceHover;
|
|
37
45
|
get isCollapsed(): boolean;
|
|
38
46
|
toggle(): void;
|
|
39
47
|
expand(): void;
|
|
40
48
|
collapse(): void;
|
|
41
49
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoCollapsibleNavComponent, never>;
|
|
42
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NovoCollapsibleNavComponent, "novo-collapsible-nav", ["novoCollapsibleNav"], { "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "expandedWidth": { "alias": "expandedWidth"; "required": false; "isSignal": true; }; "collapsedWidth": { "alias": "collapsedWidth"; "required": false; "isSignal": true; }; "overlayOnHover": { "alias": "overlayOnHover"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; }, never, ["[novo-collapsible-nav-header]", "[novo-collapsible-nav-body]", "[novo-collapsible-nav-footer]"], false, never>;
|
|
50
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NovoCollapsibleNavComponent, "novo-collapsible-nav", ["novoCollapsibleNav"], { "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "expandedWidth": { "alias": "expandedWidth"; "required": false; "isSignal": true; }; "collapsedWidth": { "alias": "collapsedWidth"; "required": false; "isSignal": true; }; "expandDelay": { "alias": "expandDelay"; "required": false; "isSignal": true; }; "overlayOnHover": { "alias": "overlayOnHover"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; "hoveredChange": "hoveredChange"; }, never, ["[novo-collapsible-nav-header]", "[novo-collapsible-nav-body]", "[novo-collapsible-nav-footer]"], false, never>;
|
|
43
51
|
}
|
|
44
52
|
|
|
45
53
|
declare class NovoLayoutContent extends CdkScrollable implements AfterContentInit {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
@import "../../styles/variables.scss";
|
|
2
2
|
|
|
3
3
|
@include theme-colors() using ($name, $color, $contrast, $tint, $shade, $pale) {
|
|
4
|
-
:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
// Wonky deprecation: For 2026, stringently avoid using * selectors to apply font/color changes - prefer inherit functionality
|
|
5
|
+
// This setup made it very hard to provide overrides.
|
|
6
|
+
:host-context([theme="#{$name}"]).novo-item-content {
|
|
7
|
+
color: rgba(#fff, 0.65);
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
|
|
@@ -15,13 +15,14 @@
|
|
|
15
15
|
:host {
|
|
16
16
|
display: flex;
|
|
17
17
|
margin-left: 0.2em;
|
|
18
|
-
|
|
18
|
+
|
|
19
|
+
&.novo-item-content {
|
|
19
20
|
color: rgba(#434343, 0.85);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
::ng-deep i {
|
|
22
|
+
@include theme-colors() using ($name, $color, $contrast, $tint, $shade, $pale) {
|
|
23
|
+
&.#{$name} {
|
|
24
|
+
color: getCssVarname($name);
|
|
25
|
+
}
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
:host {
|
|
4
4
|
display: block;
|
|
5
5
|
background-color: var(--background-bright);
|
|
6
|
-
border-radius: var(--border-radius-
|
|
6
|
+
border-radius: var(--border-radius-md, 4px);
|
|
7
7
|
box-shadow: 0 1px 7px rgba(0, 0, 0, 0.09), 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
8
8
|
z-index: z(modal);
|
|
9
9
|
position: relative;
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
> ::ng-deep header {
|
|
20
|
-
border-top-left-radius: 4px;
|
|
21
|
-
border-top-right-radius: 4px;
|
|
20
|
+
border-top-left-radius: var(--border-radius-md, 4px);
|
|
21
|
+
border-top-right-radius: var(--border-radius-md, 4px);
|
|
22
22
|
overflow: hidden;
|
|
23
23
|
|
|
24
24
|
h1,
|
|
@@ -44,13 +44,3 @@
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
// bh2026: rounded modal and header top corners.
|
|
49
|
-
:host-context([data-theme='bh2026']) {
|
|
50
|
-
border-radius: var(--border-radius-md, 1.6rem);
|
|
51
|
-
|
|
52
|
-
> ::ng-deep header {
|
|
53
|
-
border-top-left-radius: var(--border-radius-md, 1.6rem);
|
|
54
|
-
border-top-right-radius: var(--border-radius-md, 1.6rem);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
text-align: center;
|
|
5
5
|
display: block;
|
|
6
6
|
background-color: var(--background-bright);
|
|
7
|
-
border-radius: var(--border-radius-
|
|
7
|
+
border-radius: var(--border-radius-md, 4px);
|
|
8
8
|
box-shadow: 0 1px 7px rgba(0, 0, 0, 0.09), 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
9
9
|
z-index: z(modal);
|
|
10
10
|
position: relative;
|
|
@@ -106,8 +106,3 @@
|
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
|
|
110
|
-
// bh2026: rounded notifications
|
|
111
|
-
:host-context([data-theme='bh2026']) {
|
|
112
|
-
border-radius: var(--border-radius-md, 1.6rem);
|
|
113
|
-
}
|
|
@@ -44,6 +44,10 @@ entity-picker-results {
|
|
|
44
44
|
color: black;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
+
> p {
|
|
48
|
+
margin: 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
47
51
|
picker-error,
|
|
48
52
|
picker-loader,
|
|
49
53
|
picker-null-recent-results,
|
|
@@ -167,6 +171,7 @@ entity-picker-results {
|
|
|
167
171
|
background: $white;
|
|
168
172
|
width: 100%;
|
|
169
173
|
min-width: 250px;
|
|
174
|
+
display: block;
|
|
170
175
|
novo-list {
|
|
171
176
|
background: $white;
|
|
172
177
|
min-width: 30rem;
|
|
@@ -300,3 +305,49 @@ distribution-list-picker-results {
|
|
|
300
305
|
}
|
|
301
306
|
}
|
|
302
307
|
|
|
308
|
+
// bh2026: border belongs on the host (border is not clipped by overflow:hidden),
|
|
309
|
+
// not on children (where overflow:hidden + border-radius clips the corners)
|
|
310
|
+
:root[data-theme='bh2026'] {
|
|
311
|
+
picker-results,
|
|
312
|
+
entity-picker-results {
|
|
313
|
+
border: 1px solid var(--color-border-default);
|
|
314
|
+
margin-block: var(--spacing-gap-sm);
|
|
315
|
+
background: var(--background-bright);
|
|
316
|
+
|
|
317
|
+
.novo-list,
|
|
318
|
+
novo-list,
|
|
319
|
+
ul {
|
|
320
|
+
border: none;
|
|
321
|
+
box-shadow: none;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
picker-error,
|
|
325
|
+
picker-loader,
|
|
326
|
+
picker-null-recent-results,
|
|
327
|
+
picker-null-results,
|
|
328
|
+
.picker-error,
|
|
329
|
+
.picker-loader,
|
|
330
|
+
.picker-null-recent-results,
|
|
331
|
+
.picker-null-results {
|
|
332
|
+
border: none;
|
|
333
|
+
box-shadow: none;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
> p {
|
|
337
|
+
margin: 0;
|
|
338
|
+
padding: var(--spacing-padding-md) var(--spacing-padding-lg);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
workers-comp-codes-picker-results,
|
|
343
|
+
distribution-list-picker-results {
|
|
344
|
+
color: var(--text-secondary);
|
|
345
|
+
background: var(--background-body);
|
|
346
|
+
border-radius: var(--border-radius-sm);
|
|
347
|
+
|
|
348
|
+
.novo-list-item {
|
|
349
|
+
border-radius: var(--border-radius-sm);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
@@ -106,8 +106,11 @@
|
|
|
106
106
|
100% { transform: translateX(0%) }
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
// bh2026: pill
|
|
109
|
+
// bh2026: pill ends; default fill uses primary blue only when no explicit color is set
|
|
110
110
|
:host-context([data-theme='bh2026']) {
|
|
111
|
+
&.linear:not([color]) {
|
|
112
|
+
background-color: var(--button-primary-background);
|
|
113
|
+
}
|
|
111
114
|
&.linear:first-child {
|
|
112
115
|
border-radius: 999px 0 0 999px;
|
|
113
116
|
}
|