novo-elements 13.2.0 → 13.4.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/addons/ckeditor/CKEditor.scss +8 -0
- package/elements/agenda/week/AgendaWeekView.scss +1 -1
- 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 +12 -1
- 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 +47 -1
- package/elements/chips/Chips.scss +9 -0
- package/elements/common/index.d.ts +14 -4
- package/elements/common/option/option.component.scss +11 -0
- package/elements/common/typography/text.mixins.scss +1 -1
- 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-picker/DatePickerInput.scss +5 -0
- 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 +260 -1
- package/elements/form/extras/address/Address.scss +77 -0
- package/elements/form/fieldset-header.scss +32 -0
- package/elements/form/index.d.ts +14 -4
- package/elements/header/Header.scss +45 -3
- package/elements/layout/index.d.ts +28 -4
- 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/Picker.scss +26 -5
- package/elements/picker/extras/picker-results/PickerResults.scss +52 -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 -1
- 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 +53 -14
- package/elements/tiles/Tiles.scss +24 -2
- package/elements/time-picker/TimePicker.scss +2 -2
- package/elements/time-picker/TimePickerInput.scss +7 -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 +19 -22
- package/elements/tooltip/index.d.ts +2 -1
- package/fesm2022/novo-elements-addons-ckeditor.mjs +2 -2
- package/fesm2022/novo-elements-addons-ckeditor.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-agenda.mjs +2 -2
- 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 +6 -6
- package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-common.mjs +52 -21
- 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 +4 -4
- 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 +135 -78
- 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 +73 -14
- 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-multi-picker.mjs +2 -2
- package/fesm2022/novo-elements-elements-multi-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-picker.mjs +6 -6
- 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 +4 -4
- 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 +8 -4
- 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/styles/typography.scss +6 -0
- package/styles/variables.scss +2 -0
- package/utils/index.d.ts +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { TemplateRef, ElementRef, OnInit,
|
|
2
|
+
import { TemplateRef, ElementRef, OnInit, OnDestroy, ChangeDetectorRef, Renderer2, DoCheck, ViewContainerRef, PipeTransform, InjectionToken, AfterViewChecked, EventEmitter, QueryList, NgZone } from '@angular/core';
|
|
3
3
|
import { Observable, Subject, Subscription } from 'rxjs';
|
|
4
4
|
import * as i3 from '@angular/common';
|
|
5
5
|
import { NgSwitch } from '@angular/common';
|
|
@@ -247,11 +247,14 @@ interface ThemeChangeEvent {
|
|
|
247
247
|
declare class NovoTheme {
|
|
248
248
|
private _defaultTheme;
|
|
249
249
|
private _currentTheme;
|
|
250
|
-
|
|
250
|
+
currentTheme: i0.Signal<NovoThemeOptions>;
|
|
251
|
+
onThemeChange: Observable<ThemeChangeEvent>;
|
|
252
|
+
document: Document;
|
|
251
253
|
/** Name of the theme being used. defaults to `bh2022-light`. */
|
|
252
254
|
get themeName(): string;
|
|
253
255
|
set themeName(value: string);
|
|
254
256
|
use(options: NovoThemeOptions): Observable<any>;
|
|
257
|
+
isBh2026: i0.Signal<boolean>;
|
|
255
258
|
/**
|
|
256
259
|
* Changes the current theme
|
|
257
260
|
*/
|
|
@@ -325,6 +328,13 @@ declare class VisibleDirective {
|
|
|
325
328
|
static ɵdir: i0.ɵɵDirectiveDeclaration<VisibleDirective, "[visible]", never, { "visible": { "alias": "visible"; "required": false; }; }, {}, never, never, false, never>;
|
|
326
329
|
}
|
|
327
330
|
|
|
331
|
+
declare class If2026ThemePipe implements PipeTransform {
|
|
332
|
+
theme: NovoTheme;
|
|
333
|
+
transform(value: any, elseVal?: any): any;
|
|
334
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<If2026ThemePipe, never>;
|
|
335
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<If2026ThemePipe, "ifBh2026Theme", false>;
|
|
336
|
+
}
|
|
337
|
+
|
|
328
338
|
/** @docs-private */
|
|
329
339
|
type Constructor<T> = new (...args: any[]) => T;
|
|
330
340
|
/**
|
|
@@ -568,7 +578,7 @@ declare class NovoOptionModule {
|
|
|
568
578
|
|
|
569
579
|
declare class NovoCommonModule {
|
|
570
580
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoCommonModule, never>;
|
|
571
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NovoCommonModule, [typeof NovoTemplate, typeof NovoText, typeof NovoTitle, typeof NovoCaption, typeof NovoLabel, typeof NovoLink, typeof MarginDirective, typeof PaddingDirective, typeof BackgroundColorDirective, typeof TextColorDirective, typeof BorderDirective, typeof GapDirective, typeof AccentColorDirective, typeof FillColorDirective, typeof FlexDirective, typeof ThemeColorDirective, typeof SwitchCasesDirective, typeof VisibleDirective], [typeof i3.CommonModule, typeof NovoOptionModule], [typeof NovoTemplate, typeof NovoText, typeof NovoTitle, typeof NovoCaption, typeof NovoLabel, typeof NovoLink, typeof MarginDirective, typeof PaddingDirective, typeof BackgroundColorDirective, typeof TextColorDirective, typeof BorderDirective, typeof GapDirective, typeof AccentColorDirective, typeof FillColorDirective, typeof FlexDirective, typeof ThemeColorDirective, typeof SwitchCasesDirective, typeof VisibleDirective]>;
|
|
581
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NovoCommonModule, [typeof NovoTemplate, typeof NovoText, typeof NovoTitle, typeof NovoCaption, typeof NovoLabel, typeof NovoLink, typeof MarginDirective, typeof PaddingDirective, typeof BackgroundColorDirective, typeof TextColorDirective, typeof BorderDirective, typeof GapDirective, typeof AccentColorDirective, typeof FillColorDirective, typeof FlexDirective, typeof ThemeColorDirective, typeof SwitchCasesDirective, typeof VisibleDirective, typeof If2026ThemePipe], [typeof i3.CommonModule, typeof NovoOptionModule], [typeof NovoTemplate, typeof NovoText, typeof NovoTitle, typeof NovoCaption, typeof NovoLabel, typeof NovoLink, typeof MarginDirective, typeof PaddingDirective, typeof BackgroundColorDirective, typeof TextColorDirective, typeof BorderDirective, typeof GapDirective, typeof AccentColorDirective, typeof FillColorDirective, typeof FlexDirective, typeof ThemeColorDirective, typeof SwitchCasesDirective, typeof VisibleDirective, typeof If2026ThemePipe]>;
|
|
572
582
|
static ɵinj: i0.ɵɵInjectorDeclaration<NovoCommonModule>;
|
|
573
583
|
}
|
|
574
584
|
|
|
@@ -749,5 +759,5 @@ type HasTabIndexCtor = Constructor<HasTabIndex>;
|
|
|
749
759
|
/** Mixin to augment a directive with a `tabIndex` property. */
|
|
750
760
|
declare function mixinTabIndex<T extends AbstractConstructor<CanDisable>>(base: T, defaultTabIndex?: number): HasTabIndexCtor & T;
|
|
751
761
|
|
|
752
|
-
export { AccentColorDirective, BackgroundColorDirective, BorderDirective, DEFAULT_THEME, ErrorStateMatcher, FillColorDirective, FlexDirective, GapDirective, MarginDirective, NOVO_OPTGROUP, NOVO_OPTION_PARENT_COMPONENT, NOVO_OVERLAY_CONTAINER, NovoBaseTextElement, NovoCaption, NovoCommonModule, NovoLabel, NovoLink, NovoOptgroup, NovoOptgroupBase, NovoOptgroupMixinBase, NovoOption, NovoOptionBase, NovoOptionModule, NovoOptionSelectionChange, NovoOverlayModule, NovoOverlayTemplateComponent, NovoPseudoCheckbox, NovoPseudoCheckboxModule, NovoTemplate, NovoText, NovoTheme, NovoThemeOptions, NovoTitle, PaddingDirective, ShowOnDirtyErrorStateMatcher, SwitchCasesDirective, TextColorDirective, ThemeColorDirective, VisibleDirective, _countGroupLabelsBeforeOption, _getOptionScrollPosition, getSpacingToken, mixinColor, mixinDisabled, mixinErrorState, mixinOverlay, mixinRequired, mixinSize, mixinTabIndex, normalizeThemeName };
|
|
762
|
+
export { AccentColorDirective, BackgroundColorDirective, BorderDirective, DEFAULT_THEME, ErrorStateMatcher, FillColorDirective, FlexDirective, GapDirective, If2026ThemePipe, MarginDirective, NOVO_OPTGROUP, NOVO_OPTION_PARENT_COMPONENT, NOVO_OVERLAY_CONTAINER, NovoBaseTextElement, NovoCaption, NovoCommonModule, NovoLabel, NovoLink, NovoOptgroup, NovoOptgroupBase, NovoOptgroupMixinBase, NovoOption, NovoOptionBase, NovoOptionModule, NovoOptionSelectionChange, NovoOverlayModule, NovoOverlayTemplateComponent, NovoPseudoCheckbox, NovoPseudoCheckboxModule, NovoTemplate, NovoText, NovoTheme, NovoThemeOptions, NovoTitle, PaddingDirective, ShowOnDirtyErrorStateMatcher, SwitchCasesDirective, TextColorDirective, ThemeColorDirective, VisibleDirective, _countGroupLabelsBeforeOption, _getOptionScrollPosition, getSpacingToken, mixinColor, mixinDisabled, mixinErrorState, mixinOverlay, mixinRequired, mixinSize, mixinTabIndex, normalizeThemeName };
|
|
753
763
|
export type { AbstractConstructor, CanColor, CanColorCtor, CanDisable, CanDisableCtor, CanRequire, CanRequireCtor, CanSize, CanSizeCtor, CanUpdateErrorState, CanUpdateErrorStateCtor, Constructor, ElementSize, HasElementRef, HasErrorState, HasOverlay, HasOverlayCtor, HasTabIndex, HasTabIndexCtor, NovoOptionParentComponent, NovoPseudoCheckboxShape, NovoPseudoCheckboxState, ThemeChangeEvent, ThemeName, ThemePalette, TypographyLength, TypographySize, TypographyWeight };
|
|
@@ -83,3 +83,14 @@
|
|
|
83
83
|
.novo-option-pseudo-checkbox {
|
|
84
84
|
margin-inline-end: calc(var(--menu-side-padding) / 2);
|
|
85
85
|
}
|
|
86
|
+
|
|
87
|
+
// bh2026: white dropdown bg needs explicit hover — --background-main resolves to white
|
|
88
|
+
[data-theme='bh2026'] .novo-option {
|
|
89
|
+
&:hover:not(.novo-option-inert) {
|
|
90
|
+
background: var(--color-background-subtle);
|
|
91
|
+
}
|
|
92
|
+
&:active:not(.novo-option-inert),
|
|
93
|
+
&.novo-active:not(.novo-option-inert) {
|
|
94
|
+
background: var(--color-background-subtle-hover);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -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
|
|
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
|
@@ -801,7 +801,7 @@ control-prompt-modal {
|
|
|
801
801
|
|
|
802
802
|
.novo-form-control-label {
|
|
803
803
|
font-weight: 500;
|
|
804
|
-
word-break: word
|
|
804
|
+
word-break: break-word;
|
|
805
805
|
overflow-wrap: break-word;
|
|
806
806
|
line-height: 1.375;
|
|
807
807
|
color: var(--text-muted);
|
|
@@ -819,3 +819,262 @@ control-prompt-modal {
|
|
|
819
819
|
min-width: 110px;
|
|
820
820
|
}
|
|
821
821
|
}
|
|
822
|
+
|
|
823
|
+
// Control types that should not receive the bh2026 bordered-input treatment
|
|
824
|
+
$bh2026-borderless-types: ('quick-note', 'checkbox', 'checklist', 'editor', 'tiles', 'switch', 'file', 'address');
|
|
825
|
+
$bh2026-not-borderless: '';
|
|
826
|
+
@each $type in $bh2026-borderless-types {
|
|
827
|
+
$bh2026-not-borderless: $bh2026-not-borderless + ':not(.#{$type})';
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
// bh2026: uppercase label + tighter value typography
|
|
831
|
+
// ViewEncapsulation.None: use plain selectors (not :host-context which is Shadow DOM only)
|
|
832
|
+
:root[data-theme='bh2026'] {
|
|
833
|
+
label.novo-control-label {
|
|
834
|
+
&.novo-control-filled,
|
|
835
|
+
&.novo-control-focused,
|
|
836
|
+
&.novo-control-always-active {
|
|
837
|
+
font-weight: var(--typography-input-label-md-font-weight) !important;
|
|
838
|
+
font-size: var(--typography-input-label-md-font-size) !important;
|
|
839
|
+
letter-spacing: var(--typography-input-label-md-letter-spacing);
|
|
840
|
+
text-transform: var(--typography-input-label-sm-text-transform);
|
|
841
|
+
color: var(--color-text-body) !important;
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
.novo-form-control-label {
|
|
845
|
+
font-weight: var(--typography-input-label-md-font-weight) !important;
|
|
846
|
+
font-size: var(--typography-input-label-md-font-size) !important;
|
|
847
|
+
letter-spacing: var(--typography-input-label-md-letter-spacing);
|
|
848
|
+
text-transform: var(--typography-input-label-sm-text-transform);
|
|
849
|
+
color: var(--color-text-body) !important;
|
|
850
|
+
margin-right: var(--spacing-gap-lg);
|
|
851
|
+
max-width: 128px;
|
|
852
|
+
min-width: 128px;
|
|
853
|
+
}
|
|
854
|
+
.novo-control-outer-container input:not([type='checkbox']):not([type='radio']) {
|
|
855
|
+
font-size: var(--typography-input-value-default-font-size) !important;
|
|
856
|
+
font-weight: var(--typography-input-value-default-font-weight) !important;
|
|
857
|
+
}
|
|
858
|
+
.field-message,
|
|
859
|
+
novo-tip-well.active {
|
|
860
|
+
font-size: var(--typography-input-value-sm-font-size);
|
|
861
|
+
font-weight: var(--typography-input-value-sm-font-weight);
|
|
862
|
+
color: var(--color-text-subtle);
|
|
863
|
+
|
|
864
|
+
// $grey is a compile-time SCSS variable — explicit selectors required to override
|
|
865
|
+
.character-count,
|
|
866
|
+
.record-count {
|
|
867
|
+
font-size: var(--typography-input-value-sm-font-size);
|
|
868
|
+
color: var(--color-text-subtle);
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
.error-message {
|
|
872
|
+
.character-count {
|
|
873
|
+
font-size: var(--typography-input-value-sm-font-size);
|
|
874
|
+
color: var(--color-text-subtle);
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
// Bordered input container (excludes $bh2026-borderless-types)
|
|
879
|
+
.novo-control-input#{$bh2026-not-borderless} {
|
|
880
|
+
border: var(--field-border-width-default) solid var(--field-color-border-default);
|
|
881
|
+
border-radius: var(--field-border-radius-default);
|
|
882
|
+
background: var(--field-color-background-default);
|
|
883
|
+
padding: var(--field-spacing-padding-vertical) var(--field-spacing-padding-horizontal);
|
|
884
|
+
min-height: 4rem;
|
|
885
|
+
box-sizing: border-box;
|
|
886
|
+
|
|
887
|
+
&:hover {
|
|
888
|
+
border-color: var(--field-color-border-hover);
|
|
889
|
+
}
|
|
890
|
+
&:focus-within {
|
|
891
|
+
border-width: var(--field-border-width-focus);
|
|
892
|
+
border-color: var(--field-color-border-focus);
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
// Container owns the border; suppress inner element bottom-borders
|
|
896
|
+
input,
|
|
897
|
+
textarea,
|
|
898
|
+
novo-chips,
|
|
899
|
+
novo-select > .novo-select-trigger {
|
|
900
|
+
border: none !important;
|
|
901
|
+
&:hover,
|
|
902
|
+
&:focus {
|
|
903
|
+
border: none !important;
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
div[type="button"] {
|
|
907
|
+
border-bottom: none !important;
|
|
908
|
+
}
|
|
909
|
+
|
|
910
|
+
// Correction for search icon in chips pickers
|
|
911
|
+
novo-chips.with-value > i {
|
|
912
|
+
bottom: 8px;
|
|
913
|
+
}
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
.novo-select-list.active {
|
|
917
|
+
margin-block: 1.4rem !important; // results in 2px difference between border and overlay
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
// Suppress input-level error border-bottom (container handles it)
|
|
921
|
+
input.ng-touched.ng-invalid:not(.ng-pristine):not(.novo-control-container),
|
|
922
|
+
novo-picker.ng-touched.ng-invalid:not(.ng-pristine) input,
|
|
923
|
+
textarea.ng-touched.ng-invalid:not(.ng-pristine):not(.ng-valid) {
|
|
924
|
+
border-bottom: none !important;
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
// Error: move negative border to container
|
|
928
|
+
div.novo-control-input#{$bh2026-not-borderless}:has(input.ng-touched.ng-invalid:not(.ng-pristine)),
|
|
929
|
+
div.novo-control-input#{$bh2026-not-borderless}:has(textarea.ng-touched.ng-invalid:not(.ng-pristine):not(.ng-valid)) {
|
|
930
|
+
border-width: var(--field-border-width-negative);
|
|
931
|
+
border-color: var(--field-color-border-negative);
|
|
932
|
+
&:hover {
|
|
933
|
+
border-color: var(--field-color-border-negative);
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
|
|
937
|
+
// Disabled container
|
|
938
|
+
novo-control.disabled .novo-control-input#{$bh2026-not-borderless},
|
|
939
|
+
novo-custom-control-container.disabled .novo-control-input#{$bh2026-not-borderless} {
|
|
940
|
+
border-color: var(--field-color-border-disabled);
|
|
941
|
+
border-style: dashed;
|
|
942
|
+
background: var(--field-color-background-disabled);
|
|
943
|
+
|
|
944
|
+
input,
|
|
945
|
+
textarea {
|
|
946
|
+
border: none !important;
|
|
947
|
+
}
|
|
948
|
+
div[type="button"] {
|
|
949
|
+
border-bottom: none !important;
|
|
950
|
+
}
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
// Suppress all address input borders when in bh2026
|
|
954
|
+
novo-form,
|
|
955
|
+
novo-dynamic-form {
|
|
956
|
+
.novo-form-container form {
|
|
957
|
+
div.novo-form-row,
|
|
958
|
+
div.novo-control-group-control,
|
|
959
|
+
td.novo-form-row {
|
|
960
|
+
novo-control,
|
|
961
|
+
novo-custom-control-container {
|
|
962
|
+
> div.novo-control-container > div.novo-control-outer-container .novo-control-inner-container .novo-control-inner-input-container > div.novo-control-input.address {
|
|
963
|
+
input {
|
|
964
|
+
border: none !important;
|
|
965
|
+
border-bottom: none !important;
|
|
966
|
+
}
|
|
967
|
+
}
|
|
968
|
+
}
|
|
969
|
+
}
|
|
970
|
+
}
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
// Pickers show up with a 2px space between them and the active control
|
|
974
|
+
checklist-picker-results,
|
|
975
|
+
distribution-list-picker-results,
|
|
976
|
+
entity-picker-results,
|
|
977
|
+
grouped-multi-picker-results,
|
|
978
|
+
mixed-multi-picker-results,
|
|
979
|
+
novo-date-picker,
|
|
980
|
+
novo-date-time-picker,
|
|
981
|
+
novo-time-picker,
|
|
982
|
+
picker-results,
|
|
983
|
+
skill-specialty-picker-results {
|
|
984
|
+
margin-block: var(--spacing-12) !important;
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
// Picker overlay styling within forms
|
|
988
|
+
picker-results,
|
|
989
|
+
entity-picker-results {
|
|
990
|
+
border: 1px solid var(--color-border-default);
|
|
991
|
+
background: var(--background-bright);
|
|
992
|
+
|
|
993
|
+
.novo-list,
|
|
994
|
+
novo-list,
|
|
995
|
+
ul {
|
|
996
|
+
border: none;
|
|
997
|
+
box-shadow: none;
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
picker-error,
|
|
1001
|
+
picker-loader,
|
|
1002
|
+
picker-null-recent-results,
|
|
1003
|
+
picker-null-results,
|
|
1004
|
+
.picker-error,
|
|
1005
|
+
.picker-loader,
|
|
1006
|
+
.picker-null-recent-results,
|
|
1007
|
+
.picker-null-results {
|
|
1008
|
+
border: none;
|
|
1009
|
+
box-shadow: none;
|
|
1010
|
+
padding: var(--spacing-padding-md) var(--spacing-padding-lg);
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
> p {
|
|
1014
|
+
margin: 0;
|
|
1015
|
+
padding: var(--spacing-padding-md) var(--spacing-padding-lg);
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
// Card styling of fieldsets
|
|
1020
|
+
.novo-fieldset-container.card-section,
|
|
1021
|
+
novo-form .novo-form-container.card-section {
|
|
1022
|
+
border-radius: var(--border-radius-md);
|
|
1023
|
+
border: 1px solid var(--color-border-default);
|
|
1024
|
+
box-shadow: var(--shadow-2);
|
|
1025
|
+
background: var(--color-background-default);
|
|
1026
|
+
padding-bottom: var(--spacing-padding-md);
|
|
1027
|
+
overflow: hidden;
|
|
1028
|
+
display: flex;
|
|
1029
|
+
flex-direction: column;
|
|
1030
|
+
gap: 0;
|
|
1031
|
+
|
|
1032
|
+
.novo-form-row {
|
|
1033
|
+
padding-left: var(--spacing-padding-lg);
|
|
1034
|
+
padding-right: var(--spacing-padding-lg);
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
novo-control,
|
|
1038
|
+
novo-custom-control-container {
|
|
1039
|
+
margin-top: 0 !important;
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
|
|
1043
|
+
.novo-fieldset-container.card-section {
|
|
1044
|
+
padding-top: 0;
|
|
1045
|
+
padding-left: 0;
|
|
1046
|
+
padding-right: 0;
|
|
1047
|
+
margin-top: var(--spacing-margin);
|
|
1048
|
+
margin-bottom: 0;
|
|
1049
|
+
|
|
1050
|
+
&:not(:has(> novo-fieldset-header)) {
|
|
1051
|
+
padding-top: var(--spacing-padding-lg);
|
|
1052
|
+
}
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
novo-form .novo-form-container.card-section {
|
|
1056
|
+
padding-top: var(--spacing-padding-md);
|
|
1057
|
+
}
|
|
1058
|
+
|
|
1059
|
+
novo-form,
|
|
1060
|
+
novo-dynamic-form {
|
|
1061
|
+
max-width: 720px;
|
|
1062
|
+
width: 100%;
|
|
1063
|
+
margin-left: auto;
|
|
1064
|
+
margin-right: auto;
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
.novo-form-container form {
|
|
1068
|
+
display: flex;
|
|
1069
|
+
flex-direction: column;
|
|
1070
|
+
gap: 0;
|
|
1071
|
+
|
|
1072
|
+
novo-fieldset {
|
|
1073
|
+
margin-top: 0;
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
.novo-form-row.hidden {
|
|
1078
|
+
display: none;
|
|
1079
|
+
}
|
|
1080
|
+
}
|