novo-elements 13.2.0-next.9 → 13.3.0-next.1
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/button/styles/button.scss +1 -1
- package/elements/card/Card.scss +1 -1
- package/elements/chips/Chip.scss +47 -1
- package/elements/chips/Chips.scss +9 -0
- package/elements/common/typography/text.mixins.scss +1 -1
- package/elements/date-picker/DatePickerInput.scss +5 -0
- package/elements/field/field.scss +1 -1
- package/elements/form/Form.scss +233 -8
- 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 +2 -1
- package/elements/layout/index.d.ts +20 -4
- package/elements/picker/Picker.scss +26 -5
- package/elements/picker/extras/picker-results/PickerResults.scss +25 -1
- package/elements/select/Select.scss +0 -1
- package/elements/tabs/tab.scss +41 -1
- package/elements/time-picker/TimePickerInput.scss +7 -2
- package/elements/tip-well/TipWell.scss +53 -0
- package/elements/tip-well/index.d.ts +5 -1
- package/elements/toolbar/toolbar.component.scss +1 -1
- package/elements/tooltip/Tooltip.scss +19 -17
- 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-button.mjs +2 -2
- package/fesm2022/novo-elements-elements-card.mjs +2 -2
- package/fesm2022/novo-elements-elements-card.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 +4 -4
- 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-form.mjs +135 -76
- 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 +49 -6
- package/fesm2022/novo-elements-elements-layout.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-select.mjs +2 -2
- package/fesm2022/novo-elements-elements-select.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-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 +8 -4
- package/fesm2022/novo-elements-elements-tooltip.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/themes/bh2026.scss +3 -3
- package/styles/typography.scss +6 -0
- package/styles/variables.scss +2 -0
|
@@ -39,6 +39,14 @@
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
:host-context(:root[data-theme='bh2026']) {
|
|
43
|
+
::ng-deep .cke {
|
|
44
|
+
border: 1px solid var(--card-color-border-default, #dee0e3);
|
|
45
|
+
border-radius: var(--field-border-radius-default, 0.4rem);
|
|
46
|
+
overflow: hidden;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
42
50
|
:host-context(.theme-dark) {
|
|
43
51
|
::ng-deep .cke_button {
|
|
44
52
|
filter: invert(1);
|
package/elements/card/Card.scss
CHANGED
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
:host-context([data-theme='bh2026']) {
|
|
125
125
|
border-radius: var(--border-radius-md);
|
|
126
126
|
border: 1px solid var(--color-border-default);
|
|
127
|
-
box-shadow: 0 1px 2px var(--color-transparency-
|
|
127
|
+
box-shadow: 0 1px 2px var(--color-transparency-charcoal-08);
|
|
128
128
|
|
|
129
129
|
div.card-loading-container {
|
|
130
130
|
border-radius: var(--border-radius-md);
|
package/elements/chips/Chip.scss
CHANGED
|
@@ -46,7 +46,9 @@ $chip-spacing: (
|
|
|
46
46
|
@include novo-body-text();
|
|
47
47
|
background: var(--background-main);
|
|
48
48
|
border: 1px solid transparent;
|
|
49
|
-
transition:
|
|
49
|
+
transition-duration: 0.2s;
|
|
50
|
+
transition-timing-function: ease-in-out;
|
|
51
|
+
transition-property: color, opacity, border-color, border-width, background-color;
|
|
50
52
|
display: inline-flex;
|
|
51
53
|
align-items: center;
|
|
52
54
|
cursor: default;
|
|
@@ -185,3 +187,47 @@ $chip-spacing: (
|
|
|
185
187
|
}
|
|
186
188
|
}
|
|
187
189
|
}
|
|
190
|
+
|
|
191
|
+
:root[data-theme='bh2026'] {
|
|
192
|
+
.novo-chip {
|
|
193
|
+
background: var(--chip-color-background-default-default);
|
|
194
|
+
border: var(--chip-border-width) solid var(--chip-color-border-default-default);
|
|
195
|
+
border-radius: var(--chip-border-radius);
|
|
196
|
+
color: var(--chip-color-content-default);
|
|
197
|
+
gap: var(--chip-spacing-md-gap);
|
|
198
|
+
padding: var(--chip-spacing-md-padding-vertical) var(--chip-spacing-md-padding-horizontal);
|
|
199
|
+
max-height: var(--chip-spacing-md-max-height);
|
|
200
|
+
font-size: var(--typography-meta-default-font-size);
|
|
201
|
+
font-weight: var(--typography-meta-default-font-weight);
|
|
202
|
+
line-height: var(--typography-meta-default-line-height);
|
|
203
|
+
|
|
204
|
+
&:hover:not(.novo-chip-disabled) {
|
|
205
|
+
background: var(--chip-color-background-default-hover);
|
|
206
|
+
border-color: var(--chip-color-border-default-hover);
|
|
207
|
+
color: var(--chip-color-content-hover);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
&.novo-chip-selectable:focus {
|
|
211
|
+
outline: none;
|
|
212
|
+
background: var(--chip-color-background-default-focus);
|
|
213
|
+
border-width: var(--chip-border-focus-width);
|
|
214
|
+
border-color: var(--chip-color-border-default-focus);
|
|
215
|
+
color: var(--chip-color-content-focus);
|
|
216
|
+
&::after {
|
|
217
|
+
opacity: 0;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
&.novo-chip-disabled {
|
|
222
|
+
background: var(--chip-color-background-default-disabled);
|
|
223
|
+
border-color: var(--chip-color-border-default-disabled);
|
|
224
|
+
color: var(--chip-color-content-disabled);
|
|
225
|
+
opacity: 1;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.novo-chip-remove,
|
|
229
|
+
.novo-chip-trailing-icon {
|
|
230
|
+
color: inherit;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
@@ -68,6 +68,11 @@
|
|
|
68
68
|
cursor: pointer;
|
|
69
69
|
display: flex;
|
|
70
70
|
align-items: center;
|
|
71
|
+
|
|
72
|
+
[data-theme='bh2026'] & {
|
|
73
|
+
bottom: -27px;
|
|
74
|
+
}
|
|
75
|
+
|
|
71
76
|
i {
|
|
72
77
|
font-size: 0.7rem;
|
|
73
78
|
padding-bottom: 2px;
|
|
@@ -80,6 +85,10 @@
|
|
|
80
85
|
right: 0;
|
|
81
86
|
font-size: 1.1em;
|
|
82
87
|
color: var(--font-color-base);
|
|
88
|
+
|
|
89
|
+
[data-theme='bh2026'] & {
|
|
90
|
+
bottom: 4px;
|
|
91
|
+
}
|
|
83
92
|
}
|
|
84
93
|
|
|
85
94
|
& + i {
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
// bh2026: uppercase label + tighter value typography
|
|
112
|
+
// bh2026: uppercase label + tighter value typography
|
|
113
113
|
:host-context([data-theme='bh2026']) {
|
|
114
114
|
.novo-field-label {
|
|
115
115
|
text-transform: var(--typography-input-label-sm-text-transform);
|
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);
|
|
@@ -820,26 +820,43 @@ control-prompt-modal {
|
|
|
820
820
|
}
|
|
821
821
|
}
|
|
822
822
|
|
|
823
|
-
//
|
|
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
|
|
824
831
|
// ViewEncapsulation.None: use plain selectors (not :host-context which is Shadow DOM only)
|
|
825
832
|
:root[data-theme='bh2026'] {
|
|
826
833
|
label.novo-control-label {
|
|
834
|
+
&.novo-control-empty,
|
|
827
835
|
&.novo-control-filled,
|
|
828
836
|
&.novo-control-focused,
|
|
829
837
|
&.novo-control-always-active {
|
|
830
|
-
font-weight: var(--typography-input-label-
|
|
831
|
-
font-size: var(--typography-input-label-
|
|
832
|
-
letter-spacing: var(--typography-input-label-
|
|
838
|
+
font-weight: var(--typography-input-label-md-font-weight) !important;
|
|
839
|
+
font-size: var(--typography-input-label-md-font-size) !important;
|
|
840
|
+
letter-spacing: var(--typography-input-label-md-letter-spacing);
|
|
833
841
|
text-transform: var(--typography-input-label-sm-text-transform);
|
|
834
842
|
color: var(--color-text-body) !important;
|
|
835
843
|
}
|
|
844
|
+
&.novo-control-empty {
|
|
845
|
+
transform: translateY(-100%) !important;
|
|
846
|
+
height: 1.5em !important;
|
|
847
|
+
top: 0 !important;
|
|
848
|
+
bottom: auto !important;
|
|
849
|
+
}
|
|
836
850
|
}
|
|
837
851
|
.novo-form-control-label {
|
|
838
|
-
font-weight: var(--typography-input-label-
|
|
839
|
-
font-size: var(--typography-input-label-
|
|
840
|
-
letter-spacing: var(--typography-input-label-
|
|
852
|
+
font-weight: var(--typography-input-label-md-font-weight) !important;
|
|
853
|
+
font-size: var(--typography-input-label-md-font-size) !important;
|
|
854
|
+
letter-spacing: var(--typography-input-label-md-letter-spacing);
|
|
841
855
|
text-transform: var(--typography-input-label-sm-text-transform);
|
|
842
856
|
color: var(--color-text-body) !important;
|
|
857
|
+
margin-right: var(--spacing-gap-lg);
|
|
858
|
+
max-width: 128px;
|
|
859
|
+
min-width: 128px;
|
|
843
860
|
}
|
|
844
861
|
.novo-control-outer-container input:not([type='checkbox']):not([type='radio']) {
|
|
845
862
|
font-size: var(--typography-input-value-default-font-size) !important;
|
|
@@ -864,4 +881,212 @@ control-prompt-modal {
|
|
|
864
881
|
color: var(--color-text-subtle);
|
|
865
882
|
}
|
|
866
883
|
}
|
|
884
|
+
|
|
885
|
+
// Bordered input container (excludes $bh2026-borderless-types)
|
|
886
|
+
.novo-control-input#{$bh2026-not-borderless} {
|
|
887
|
+
border: var(--field-border-width-default) solid var(--field-color-border-default);
|
|
888
|
+
border-radius: var(--field-border-radius-default);
|
|
889
|
+
background: var(--field-color-background-default);
|
|
890
|
+
padding: var(--field-spacing-padding-vertical) var(--field-spacing-padding-horizontal);
|
|
891
|
+
min-height: 4rem;
|
|
892
|
+
box-sizing: border-box;
|
|
893
|
+
|
|
894
|
+
&:hover {
|
|
895
|
+
border-color: var(--field-color-border-hover);
|
|
896
|
+
}
|
|
897
|
+
&:focus-within {
|
|
898
|
+
border-width: var(--field-border-width-focus);
|
|
899
|
+
border-color: var(--field-color-border-focus);
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
// Container owns the border; suppress inner element bottom-borders
|
|
903
|
+
input,
|
|
904
|
+
textarea,
|
|
905
|
+
novo-chips,
|
|
906
|
+
novo-select > .novo-select-trigger {
|
|
907
|
+
border: none !important;
|
|
908
|
+
&:hover,
|
|
909
|
+
&:focus {
|
|
910
|
+
border: none !important;
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
div[type="button"] {
|
|
914
|
+
border-bottom: none !important;
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
// Correction for search icon in chips pickers
|
|
918
|
+
novo-chips.with-value > i {
|
|
919
|
+
bottom: 8px;
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
.novo-select-list.active {
|
|
924
|
+
margin-block: 1.4rem !important; // results in 2px difference between border and overlay
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
// Suppress input-level error border-bottom (container handles it)
|
|
928
|
+
input.ng-touched.ng-invalid:not(.ng-pristine):not(.novo-control-container),
|
|
929
|
+
novo-picker.ng-touched.ng-invalid:not(.ng-pristine) input,
|
|
930
|
+
textarea.ng-touched.ng-invalid:not(.ng-pristine):not(.ng-valid) {
|
|
931
|
+
border-bottom: none !important;
|
|
932
|
+
}
|
|
933
|
+
|
|
934
|
+
// Error: move negative border to container
|
|
935
|
+
div.novo-control-input#{$bh2026-not-borderless}:has(input.ng-touched.ng-invalid:not(.ng-pristine)),
|
|
936
|
+
div.novo-control-input#{$bh2026-not-borderless}:has(textarea.ng-touched.ng-invalid:not(.ng-pristine):not(.ng-valid)),
|
|
937
|
+
div.novo-control-input#{$bh2026-not-borderless}.control-invalid-touched {
|
|
938
|
+
border-width: var(--field-border-width-negative);
|
|
939
|
+
border-color: var(--field-color-border-negative);
|
|
940
|
+
&:hover {
|
|
941
|
+
border-color: var(--field-color-border-negative);
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
// Disabled container
|
|
946
|
+
novo-control.disabled .novo-control-input#{$bh2026-not-borderless},
|
|
947
|
+
novo-custom-control-container.disabled .novo-control-input#{$bh2026-not-borderless} {
|
|
948
|
+
border-color: var(--field-color-border-disabled);
|
|
949
|
+
border-style: dashed;
|
|
950
|
+
background: var(--field-color-background-disabled);
|
|
951
|
+
|
|
952
|
+
input,
|
|
953
|
+
textarea {
|
|
954
|
+
border: none !important;
|
|
955
|
+
}
|
|
956
|
+
div[type="button"] {
|
|
957
|
+
border-bottom: none !important;
|
|
958
|
+
}
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
// Suppress all address input borders when in bh2026
|
|
962
|
+
novo-form,
|
|
963
|
+
novo-dynamic-form {
|
|
964
|
+
.novo-form-container form {
|
|
965
|
+
div.novo-form-row,
|
|
966
|
+
div.novo-control-group-control,
|
|
967
|
+
td.novo-form-row {
|
|
968
|
+
novo-control,
|
|
969
|
+
novo-custom-control-container {
|
|
970
|
+
> div.novo-control-container > div.novo-control-outer-container .novo-control-inner-container .novo-control-inner-input-container > div.novo-control-input.address {
|
|
971
|
+
input {
|
|
972
|
+
border: none !important;
|
|
973
|
+
border-bottom: none !important;
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
}
|
|
978
|
+
}
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
// Pickers show up with a 2px space between them and the active control
|
|
982
|
+
checklist-picker-results,
|
|
983
|
+
distribution-list-picker-results,
|
|
984
|
+
entity-picker-results,
|
|
985
|
+
grouped-multi-picker-results,
|
|
986
|
+
mixed-multi-picker-results,
|
|
987
|
+
novo-date-picker,
|
|
988
|
+
novo-date-time-picker,
|
|
989
|
+
novo-time-picker,
|
|
990
|
+
picker-results,
|
|
991
|
+
skill-specialty-picker-results {
|
|
992
|
+
margin-block: var(--spacing-12) !important;
|
|
993
|
+
}
|
|
994
|
+
|
|
995
|
+
// Picker overlay styling within forms
|
|
996
|
+
picker-results,
|
|
997
|
+
entity-picker-results {
|
|
998
|
+
border: 1px solid var(--color-border-default);
|
|
999
|
+
background: var(--background-bright);
|
|
1000
|
+
|
|
1001
|
+
.novo-list,
|
|
1002
|
+
novo-list,
|
|
1003
|
+
ul {
|
|
1004
|
+
border: none;
|
|
1005
|
+
box-shadow: none;
|
|
1006
|
+
}
|
|
1007
|
+
|
|
1008
|
+
picker-error,
|
|
1009
|
+
picker-loader,
|
|
1010
|
+
picker-null-recent-results,
|
|
1011
|
+
picker-null-results,
|
|
1012
|
+
.picker-error,
|
|
1013
|
+
.picker-loader,
|
|
1014
|
+
.picker-null-recent-results,
|
|
1015
|
+
.picker-null-results {
|
|
1016
|
+
border: none;
|
|
1017
|
+
box-shadow: none;
|
|
1018
|
+
padding: var(--spacing-padding-md) var(--spacing-padding-lg);
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
> p {
|
|
1022
|
+
margin: 0;
|
|
1023
|
+
padding: var(--spacing-padding-md) var(--spacing-padding-lg);
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
// Card styling of fieldsets
|
|
1028
|
+
.novo-fieldset-container.card-section,
|
|
1029
|
+
novo-form .novo-form-container.card-section {
|
|
1030
|
+
border-radius: var(--border-radius-md);
|
|
1031
|
+
border: 1px solid var(--color-border-default);
|
|
1032
|
+
box-shadow: var(--shadow-2);
|
|
1033
|
+
background: var(--color-background-default);
|
|
1034
|
+
padding-bottom: var(--spacing-padding-md);
|
|
1035
|
+
overflow: hidden;
|
|
1036
|
+
display: flex;
|
|
1037
|
+
flex-direction: column;
|
|
1038
|
+
gap: 0;
|
|
1039
|
+
|
|
1040
|
+
.novo-form-row {
|
|
1041
|
+
padding-left: var(--spacing-padding-lg);
|
|
1042
|
+
padding-right: var(--spacing-padding-lg);
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
novo-control,
|
|
1046
|
+
novo-custom-control-container {
|
|
1047
|
+
margin-top: 0 !important;
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
.novo-fieldset-container.card-section {
|
|
1052
|
+
padding-top: 0;
|
|
1053
|
+
padding-left: 0;
|
|
1054
|
+
padding-right: 0;
|
|
1055
|
+
margin-bottom: 0;
|
|
1056
|
+
|
|
1057
|
+
&:not(:has(> novo-fieldset-header)) {
|
|
1058
|
+
padding-top: var(--spacing-padding-lg);
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
novo-form .novo-form-container.card-section {
|
|
1063
|
+
padding-top: var(--spacing-padding-md);
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
novo-form,
|
|
1067
|
+
novo-dynamic-form {
|
|
1068
|
+
max-width: 720px;
|
|
1069
|
+
width: 100%;
|
|
1070
|
+
margin-left: var(--spacing-gap-xlg);
|
|
1071
|
+
margin-right: 0;
|
|
1072
|
+
margin-top: var(--spacing-margin);
|
|
1073
|
+
}
|
|
1074
|
+
|
|
1075
|
+
.novo-form-container form {
|
|
1076
|
+
display: flex;
|
|
1077
|
+
flex-direction: column;
|
|
1078
|
+
gap: 0;
|
|
1079
|
+
|
|
1080
|
+
novo-fieldset {
|
|
1081
|
+
margin-top: 0;
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
novo-fieldset + novo-fieldset:has(> .novo-fieldset-container.card-section) {
|
|
1085
|
+
margin-top: var(--spacing-gutter);
|
|
1086
|
+
}
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
.novo-form-row.hidden {
|
|
1090
|
+
display: none;
|
|
1091
|
+
}
|
|
867
1092
|
}
|
|
@@ -148,3 +148,80 @@
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
|
+
|
|
152
|
+
:host-context([data-theme='bh2026']) {
|
|
153
|
+
gap: var(--field-spacing-gap);
|
|
154
|
+
|
|
155
|
+
// Take out the space that the overlay template takes up between the fields
|
|
156
|
+
novo-overlay-template {
|
|
157
|
+
display: none;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// Each sub-field gets its own bordered input treatment
|
|
161
|
+
.street-address,
|
|
162
|
+
.apt,
|
|
163
|
+
.city,
|
|
164
|
+
.state,
|
|
165
|
+
.zip,
|
|
166
|
+
.country-name {
|
|
167
|
+
border: var(--field-border-width-default) solid var(--field-color-border-default);
|
|
168
|
+
border-radius: var(--field-border-radius-default);
|
|
169
|
+
background: var(--field-color-background-default);
|
|
170
|
+
padding: var(--field-spacing-padding-vertical) var(--field-spacing-padding-horizontal) !important;
|
|
171
|
+
min-height: 4rem;
|
|
172
|
+
box-sizing: border-box;
|
|
173
|
+
gap: var(--field-spacing-gap);
|
|
174
|
+
|
|
175
|
+
&:hover {
|
|
176
|
+
border-color: var(--field-color-border-hover);
|
|
177
|
+
}
|
|
178
|
+
&:focus-within {
|
|
179
|
+
border-width: var(--field-border-width-focus);
|
|
180
|
+
border-color: var(--field-color-border-focus);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
input,
|
|
184
|
+
novo-picker > ::ng-deep input {
|
|
185
|
+
border: none !important;
|
|
186
|
+
border-bottom: none !important;
|
|
187
|
+
&:hover,
|
|
188
|
+
&:focus {
|
|
189
|
+
border: none !important;
|
|
190
|
+
border-bottom: none !important;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
div[type="button"] {
|
|
194
|
+
border-bottom: none !important;
|
|
195
|
+
padding: 0 !important;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
&.disabled {
|
|
199
|
+
border-color: var(--field-color-border-disabled);
|
|
200
|
+
border-style: dashed;
|
|
201
|
+
background: var(--field-color-background-disabled);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
&.invalid {
|
|
205
|
+
border-color: var(--field-color-border-negative);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
i {
|
|
209
|
+
border-bottom: none !important;
|
|
210
|
+
|
|
211
|
+
&.required-indicator.bhi-circle {
|
|
212
|
+
line-height: 1rem;
|
|
213
|
+
}
|
|
214
|
+
&.required-indicator.bhi-check {
|
|
215
|
+
line-height: 1.8rem;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
// address1 full width on its own row; address2 full width on the row below
|
|
221
|
+
.street-address {
|
|
222
|
+
flex: 0 0 100%;
|
|
223
|
+
}
|
|
224
|
+
.apt {
|
|
225
|
+
flex: 0 0 100%;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
@@ -15,3 +15,35 @@
|
|
|
15
15
|
display: none;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
+
|
|
19
|
+
:host-context([data-theme='bh2026'] .card-section) {
|
|
20
|
+
padding: var(--card-spacing-header-padding-vertical) var(--card-spacing-header-padding-horizontal);
|
|
21
|
+
margin: 0 0 var(--card-spacing-header-padding-vertical);
|
|
22
|
+
background: var(--background-bright);
|
|
23
|
+
border-bottom: 1px solid var(--color-border-default);
|
|
24
|
+
align-items: center;
|
|
25
|
+
gap: var(--spacing-gap-sm);
|
|
26
|
+
font-size: var(--typography-title-small-font-size, 1.8rem);
|
|
27
|
+
font-weight: 600;
|
|
28
|
+
line-height: var(--typography-title-small-line-height, 2.4rem);
|
|
29
|
+
letter-spacing: var(--typography-title-small-letter-spacing, 0);
|
|
30
|
+
text-transform: capitalize;
|
|
31
|
+
color: var(--color-text-body);
|
|
32
|
+
> span {
|
|
33
|
+
flex: 1 0 0;
|
|
34
|
+
min-width: 0;
|
|
35
|
+
}
|
|
36
|
+
::ng-deep novo-icon {
|
|
37
|
+
font-size: 1.6rem;
|
|
38
|
+
width: 1.6rem;
|
|
39
|
+
height: 1.6rem;
|
|
40
|
+
flex-shrink: 0;
|
|
41
|
+
color: var(--color-content-icon);
|
|
42
|
+
margin: 0;
|
|
43
|
+
i {
|
|
44
|
+
font-size: 1.6rem;
|
|
45
|
+
width: 1.6rem;
|
|
46
|
+
height: 1.6rem;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
package/elements/form/index.d.ts
CHANGED
|
@@ -945,8 +945,10 @@ declare class NovoControlTemplates implements AfterViewInit {
|
|
|
945
945
|
declare class NovoFieldsetHeaderElement {
|
|
946
946
|
title: string;
|
|
947
947
|
icon: string;
|
|
948
|
+
cardSection: boolean;
|
|
949
|
+
get cardIcon(): string;
|
|
948
950
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoFieldsetHeaderElement, never>;
|
|
949
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NovoFieldsetHeaderElement, "novo-fieldset-header", never, { "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, {}, never, ["*"], false, never>;
|
|
951
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NovoFieldsetHeaderElement, "novo-fieldset-header", never, { "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "cardSection": { "alias": "cardSection"; "required": false; }; }, {}, never, ["*"], false, never>;
|
|
950
952
|
}
|
|
951
953
|
declare class NovoFieldsetElement {
|
|
952
954
|
controls: Array<any>;
|
|
@@ -958,8 +960,9 @@ declare class NovoFieldsetElement {
|
|
|
958
960
|
isEmbedded: boolean;
|
|
959
961
|
isInlineEmbedded: boolean;
|
|
960
962
|
hidden: boolean;
|
|
963
|
+
cardSection: boolean;
|
|
961
964
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoFieldsetElement, never>;
|
|
962
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NovoFieldsetElement, "novo-fieldset", never, { "controls": { "alias": "controls"; "required": false; }; "form": { "alias": "form"; "required": false; }; "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "index": { "alias": "index"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "isEmbedded": { "alias": "isEmbedded"; "required": false; }; "isInlineEmbedded": { "alias": "isInlineEmbedded"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; }, {}, never, never, false, never>;
|
|
965
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NovoFieldsetElement, "novo-fieldset", never, { "controls": { "alias": "controls"; "required": false; }; "form": { "alias": "form"; "required": false; }; "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "index": { "alias": "index"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "isEmbedded": { "alias": "isEmbedded"; "required": false; }; "isInlineEmbedded": { "alias": "isInlineEmbedded"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "cardSection": { "alias": "cardSection"; "required": false; }; }, {}, never, never, false, never>;
|
|
963
966
|
}
|
|
964
967
|
declare class NovoDynamicFormElement implements OnChanges, OnInit, AfterContentInit {
|
|
965
968
|
private element;
|
|
@@ -970,6 +973,7 @@ declare class NovoDynamicFormElement implements OnChanges, OnInit, AfterContentI
|
|
|
970
973
|
layout: string;
|
|
971
974
|
hideNonRequiredFields: boolean;
|
|
972
975
|
autoFocusFirstField: boolean;
|
|
976
|
+
readonly hasCardSections: i0.InputSignal<boolean>;
|
|
973
977
|
customTemplates: QueryList<NovoTemplate>;
|
|
974
978
|
private fieldsAlreadyHidden;
|
|
975
979
|
allFieldsRequired: boolean;
|
|
@@ -977,10 +981,14 @@ declare class NovoDynamicFormElement implements OnChanges, OnInit, AfterContentI
|
|
|
977
981
|
showingAllFields: boolean;
|
|
978
982
|
showingRequiredFields: boolean;
|
|
979
983
|
numControls: number;
|
|
984
|
+
private readonly theme;
|
|
985
|
+
readonly effectiveCardSections: i0.Signal<boolean>;
|
|
986
|
+
get visibleFieldsets(): NovoFieldset[];
|
|
980
987
|
constructor(element: ElementRef, templates: NovoTemplateService);
|
|
981
988
|
ngOnInit(): void;
|
|
982
989
|
ngOnChanges(changes?: SimpleChanges): void;
|
|
983
990
|
ngAfterContentInit(): void;
|
|
991
|
+
hasVisibleControls(fieldset: NovoFieldset): boolean;
|
|
984
992
|
showAllFields(): void;
|
|
985
993
|
showOnlyRequired(hideRequiredWithValue: any): void;
|
|
986
994
|
get values(): any;
|
|
@@ -988,7 +996,7 @@ declare class NovoDynamicFormElement implements OnChanges, OnInit, AfterContentI
|
|
|
988
996
|
updatedValues(): any;
|
|
989
997
|
forceValidation(): void;
|
|
990
998
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoDynamicFormElement, never>;
|
|
991
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NovoDynamicFormElement, "novo-dynamic-form", never, { "controls": { "alias": "controls"; "required": false; }; "fieldsets": { "alias": "fieldsets"; "required": false; }; "form": { "alias": "form"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "hideNonRequiredFields": { "alias": "hideNonRequiredFields"; "required": false; }; "autoFocusFirstField": { "alias": "autoFocusFirstField"; "required": false; }; }, {}, ["customTemplates"], ["form-title", "form-subtitle"], false, never>;
|
|
999
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NovoDynamicFormElement, "novo-dynamic-form", never, { "controls": { "alias": "controls"; "required": false; }; "fieldsets": { "alias": "fieldsets"; "required": false; }; "form": { "alias": "form"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "hideNonRequiredFields": { "alias": "hideNonRequiredFields"; "required": false; }; "autoFocusFirstField": { "alias": "autoFocusFirstField"; "required": false; }; "hasCardSections": { "alias": "hasCardSections"; "required": false; "isSignal": true; }; }, {}, ["customTemplates"], ["form-title", "form-subtitle"], false, never>;
|
|
992
1000
|
}
|
|
993
1001
|
|
|
994
1002
|
interface AddressLookupResult {
|
|
@@ -1301,6 +1309,8 @@ declare class NovoFormElement implements AfterContentInit, OnInit {
|
|
|
1301
1309
|
form: NovoFormGroup;
|
|
1302
1310
|
layout: string;
|
|
1303
1311
|
hideHeader: boolean;
|
|
1312
|
+
readonly hasCardSections: i0.InputSignal<boolean>;
|
|
1313
|
+
readonly effectiveCardSections: i0.Signal<boolean>;
|
|
1304
1314
|
customTemplates: QueryList<NovoTemplate>;
|
|
1305
1315
|
showingAllFields: boolean;
|
|
1306
1316
|
showingRequiredFields: boolean;
|
|
@@ -1313,7 +1323,7 @@ declare class NovoFormElement implements AfterContentInit, OnInit {
|
|
|
1313
1323
|
showOnlyRequired(hideRequiredWithValue: any): void;
|
|
1314
1324
|
forceValidation(): void;
|
|
1315
1325
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoFormElement, never>;
|
|
1316
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NovoFormElement, "novo-form", never, { "form": { "alias": "form"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "hideHeader": { "alias": "hideHeader"; "required": false; }; }, {}, ["customTemplates"], ["form-title", "form-subtitle", "*"], false, never>;
|
|
1326
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NovoFormElement, "novo-form", never, { "form": { "alias": "form"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "hideHeader": { "alias": "hideHeader"; "required": false; }; "hasCardSections": { "alias": "hasCardSections"; "required": false; "isSignal": true; }; }, {}, ["customTemplates"], ["form-title", "form-subtitle", "*"], false, never>;
|
|
1317
1327
|
}
|
|
1318
1328
|
|
|
1319
1329
|
declare class NovoFormModule {
|
|
@@ -170,7 +170,7 @@
|
|
|
170
170
|
&[class*='novo-accent-'] {
|
|
171
171
|
background: var(--header-background, var(--color-transparency-white-90));
|
|
172
172
|
backdrop-filter: blur(12px);
|
|
173
|
-
box-shadow: 0 1px 2px var(--color-transparency-
|
|
173
|
+
box-shadow: 0 1px 2px var(--color-transparency-charcoal-08);
|
|
174
174
|
padding-top: var(--spacing-md);
|
|
175
175
|
padding-left: var(--spacing-lg);
|
|
176
176
|
padding-right: var(--spacing-lg);
|
|
@@ -198,4 +198,5 @@
|
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
|
+
background-color: transparent;
|
|
201
202
|
}
|