novo-elements 13.7.1-next.1 → 13.8.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.
@@ -746,9 +746,11 @@ declare class NovoDataTable<T> implements AfterContentInit, OnDestroy {
746
746
  private _columns;
747
747
  private scrollListenerHandler;
748
748
  private initialized;
749
+ private readonly theme;
749
750
  get empty(): boolean;
750
751
  get loadingClass(): boolean;
751
752
  get useOverrideTotal(): boolean;
753
+ get isPaginationOnFooter(): boolean;
752
754
  listInteractions: ListInteractionDictionary;
753
755
  constructor(labels: NovoLabelService, ref: ChangeDetectorRef, state: DataTableState<T>);
754
756
  modifyCellHeaderMultiSelectFilterOptions(column: string, newOptions: {
@@ -1,4 +1,5 @@
1
1
  @import "../../styles/variables.scss";
2
+ @import "../../styles/themes/bh2026.mixins";
2
3
 
3
4
  novo-form,
4
5
  novo-dynamic-form {
@@ -144,7 +145,7 @@ novo-dynamic-form {
144
145
  i.bhi-checkbox-filled,
145
146
  i.bhi-checkbox-empty,
146
147
  i.bhi-calendar {
147
- :root:not([data-theme=bh2026]) & {
148
+ @include classic-only {
148
149
  top: -5px;
149
150
  }
150
151
  }
@@ -409,7 +410,7 @@ novo-dynamic-form {
409
410
  padding-left: 5px;
410
411
  color: var(--font-color-base);
411
412
 
412
- [data-theme=bh2026] & {
413
+ @include bh2026-only {
413
414
  padding-top: 3px;
414
415
  }
415
416
  }
@@ -588,7 +589,7 @@ novo-dynamic-form {
588
589
  }
589
590
  &[layout="vertical"] {
590
591
  .novo-form-container {
591
- [data-theme=bh2026] & {
592
+ @include bh2026-only {
592
593
  margin-top: var(--spacing-md);
593
594
  }
594
595
  form {
@@ -662,7 +663,7 @@ novo-dynamic-form {
662
663
  i.bhi-checkbox-filled,
663
664
  i.bhi-checkbox-empty,
664
665
  i.bhi-calendar {
665
- :root:not([data-theme=bh2026]) & {
666
+ @include classic-only {
666
667
  top: -5px;
667
668
  }
668
669
  }
@@ -681,11 +682,11 @@ novo-dynamic-form {
681
682
  align-items: center;
682
683
  position: relative;
683
684
  i.required-indicator {
684
- [data-theme=bh2026] & {
685
+ @include bh2026-only {
685
686
  margin-right: 4px;
686
687
  }
687
688
  &.bhi-circle {
688
- :root:not([data-theme=bh2026]) & {
689
+ @include classic-only {
689
690
  padding-top: 2px;
690
691
  }
691
692
  }
@@ -728,7 +729,7 @@ novo-dynamic-form {
728
729
  transform-origin: bottom left;
729
730
  transition: transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1), scale 400ms cubic-bezier(0.25, 0.8, 0.25, 1),
730
731
  color 400ms cubic-bezier(0.25, 0.8, 0.25, 1), width 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
731
- [data-theme=bh2026] & {
732
+ @include bh2026-only {
732
733
  padding-top: 0;
733
734
  padding-bottom: 22px;
734
735
  padding-left: 1px;
@@ -758,7 +759,7 @@ novo-dynamic-form {
758
759
  .file,
759
760
  .select,
760
761
  .tiles {
761
- :root:not([data-theme=bh2026]) & {
762
+ @include classic-only {
762
763
  margin-top: 0.5em;
763
764
  }
764
765
  }
@@ -840,12 +841,10 @@ control-prompt-modal {
840
841
  }
841
842
  }
842
843
 
843
- // Control types that should not receive the bh2026 bordered-input treatment
844
- $bh2026-borderless-types: ('quick-note', 'checkbox', 'checklist', 'editor', 'tiles', 'switch', 'file', 'address');
845
- $bh2026-not-borderless: '';
846
- @each $type in $bh2026-borderless-types {
847
- $bh2026-not-borderless: $bh2026-not-borderless + ':not(.#{$type})';
848
- }
844
+ // Control types that get the bh2026 bordered-input treatment. Allowlist, not a blocklist,
845
+ // so unlisted types (custom controls, editor, file, address, ...) draw their own chrome.
846
+ // :is() keeps the list at one specificity class so consumers can still override it.
847
+ $bh2026-bordered: ':is(.code-editor, .date, .date-time, .native-input, .native-select, .picker, .radio, .read-only, .select, .text-area, .textbox, .time, .timezone)';
849
848
 
850
849
  @mixin bh2026-field-label {
851
850
  font-weight: var(--typography-input-label-field-label-font-weight) !important;
@@ -909,8 +908,8 @@ $bh2026-not-borderless: '';
909
908
  }
910
909
  }
911
910
 
912
- // Bordered input container (excludes $bh2026-borderless-types)
913
- .novo-control-input#{$bh2026-not-borderless} {
911
+ // Bordered input container
912
+ .novo-control-input#{$bh2026-bordered} {
914
913
  border: var(--field-border-width-default) solid var(--field-color-border-default);
915
914
  border-radius: var(--field-border-radius-default);
916
915
  background: var(--field-color-background-default);
@@ -959,9 +958,7 @@ $bh2026-not-borderless: '';
959
958
  }
960
959
 
961
960
  // Error: move negative border to container
962
- div.novo-control-input#{$bh2026-not-borderless}:has(input.ng-touched.ng-invalid:not(.ng-pristine)),
963
- div.novo-control-input#{$bh2026-not-borderless}:has(textarea.ng-touched.ng-invalid:not(.ng-pristine):not(.ng-valid)),
964
- div.novo-control-input#{$bh2026-not-borderless}.control-invalid-touched {
961
+ div.novo-control-input#{$bh2026-bordered}.control-invalid-touched {
965
962
  border-width: var(--field-border-width-negative);
966
963
  border-color: var(--field-color-border-negative);
967
964
  &:hover {
@@ -970,8 +967,8 @@ $bh2026-not-borderless: '';
970
967
  }
971
968
 
972
969
  // Disabled container
973
- novo-control.disabled .novo-control-input#{$bh2026-not-borderless},
974
- novo-custom-control-container.disabled .novo-control-input#{$bh2026-not-borderless} {
970
+ novo-control.disabled .novo-control-input#{$bh2026-bordered},
971
+ novo-custom-control-container.disabled .novo-control-input#{$bh2026-bordered} {
975
972
  border-color: var(--field-color-border-disabled);
976
973
  background: var(--field-color-background-disabled);
977
974
 
@@ -1080,7 +1077,7 @@ $bh2026-not-borderless: '';
1080
1077
  padding-right: 0;
1081
1078
  margin-bottom: 0;
1082
1079
 
1083
- &:not(:has(> novo-fieldset-header)) {
1080
+ &.no-header {
1084
1081
  padding-top: var(--spacing-padding-lg);
1085
1082
  }
1086
1083
  }
@@ -1105,7 +1102,7 @@ $bh2026-not-borderless: '';
1105
1102
  margin-top: 0;
1106
1103
  }
1107
1104
 
1108
- novo-fieldset + novo-fieldset:has(> .novo-fieldset-container.card-section) {
1105
+ novo-fieldset + novo-fieldset.card-fieldset {
1109
1106
  margin-top: var(--spacing-gutter);
1110
1107
  }
1111
1108
  }
@@ -1004,6 +1004,7 @@ interface AddressLookupResult {
1004
1004
  address2?: string;
1005
1005
  city?: string;
1006
1006
  state?: string;
1007
+ stateName?: string;
1007
1008
  zip?: string;
1008
1009
  countryName?: string;
1009
1010
  countryCode?: string;
@@ -1093,9 +1094,10 @@ declare class NovoAddressElement implements ControlValueAccessor, OnInit, DoChec
1093
1094
  address_components?: any[];
1094
1095
  formatted_address?: string;
1095
1096
  }): void;
1097
+ private resolveStateValue;
1096
1098
  private parseGooglePlaceDetail;
1097
1099
  setStateLabel(model: any): void;
1098
- updateStates(): void;
1100
+ updateStates(): Promise<any[]>;
1099
1101
  getStateOptions(filter: string, countryID: number): string[];
1100
1102
  updateControl(): void;
1101
1103
  writeValue(model: any): void;