novo-elements 13.1.0 → 13.2.0-next.2

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.
Files changed (233) hide show
  1. package/addons/ckeditor/index.d.ts +3 -1
  2. package/elements/agenda/common/AgendaDateChange.scss +3 -3
  3. package/elements/agenda/common/AgendaHoursLayout.scss +2 -2
  4. package/elements/agenda/day/AgendaDayView.scss +3 -3
  5. package/elements/agenda/month/AgendaMonthView.scss +8 -8
  6. package/elements/agenda/week/AgendaWeekView.scss +4 -4
  7. package/elements/aside/aside.component.scss +17 -2
  8. package/elements/aside/index.d.ts +16 -8
  9. package/elements/autocomplete/autocomplete.component.scss +4 -0
  10. package/elements/avatar/Avatar.scss +2 -2
  11. package/elements/breadcrumbs/Breadcrumb.scss +5 -0
  12. package/elements/breadcrumbs/breadcrumb-item/BreadcrumbItem.scss +3 -3
  13. package/elements/button/styles/button-dialogue.scss +18 -5
  14. package/elements/button/styles/button-fab.scss +1 -1
  15. package/elements/button/styles/button-icon.scss +25 -5
  16. package/elements/button/styles/button-other.scss +5 -5
  17. package/elements/button/styles/button-primary.scss +26 -9
  18. package/elements/button/styles/button-secondary.scss +22 -9
  19. package/elements/button/styles/button-standard.scss +16 -2
  20. package/elements/button/styles/button.scss +29 -12
  21. package/elements/calendar/calendar.component.scss +13 -13
  22. package/elements/calendar/month-select/month-select.component.scss +3 -3
  23. package/elements/calendar/month-view/month-view.component.scss +7 -7
  24. package/elements/calendar/year-select/year-select.component.scss +3 -3
  25. package/elements/card/Card.scss +55 -12
  26. package/elements/card/CardContent.scss +1 -1
  27. package/elements/card/CardFooter.scss +2 -2
  28. package/elements/card/CardHeader.scss +2 -2
  29. package/elements/category-dropdown/CategoryDropdown.scss +9 -9
  30. package/elements/checkbox/CheckList.scss +3 -3
  31. package/elements/checkbox/Checkbox.scss +3 -3
  32. package/elements/chips/Chip.scss +17 -17
  33. package/elements/chips/Chips.scss +9 -9
  34. package/elements/chips/RowChips.scss +2 -2
  35. package/elements/chips/index.d.ts +3 -1
  36. package/elements/color-picker/color-picker.component.scss +1 -1
  37. package/elements/common/index.d.ts +11 -3
  38. package/elements/common/option/option.component.scss +23 -17
  39. package/elements/common/selection/pseudo-checkbox/pseudo-checkbox.component.scss +2 -2
  40. package/elements/common/typography/text.mixins.scss +19 -19
  41. package/elements/data-table/data-table.component.scss +108 -23
  42. package/elements/data-table/index.d.ts +2 -1
  43. package/elements/data-table/pagination/data-table-pagination.component.scss +6 -6
  44. package/elements/date-picker/DatePicker.scss +18 -18
  45. package/elements/date-picker/DatePickerInput.scss +5 -5
  46. package/elements/date-picker/DateRangeInput.scss +1 -1
  47. package/elements/date-picker/MultiDateInput.scss +2 -2
  48. package/elements/date-time-picker/_DateTimePicker.scss +5 -5
  49. package/elements/divider/divider.component.scss +3 -3
  50. package/elements/dropdown/Dropdown.scss +22 -5
  51. package/elements/expansion/_expansion-theme.scss +1 -1
  52. package/elements/expansion/expansion-panel.scss +1 -0
  53. package/elements/field/error/error.scss +1 -1
  54. package/elements/field/field-fill.scss +4 -4
  55. package/elements/field/field-list.scss +4 -4
  56. package/elements/field/field-outline.scss +6 -6
  57. package/elements/field/field-standard.scss +3 -3
  58. package/elements/field/field.scss +18 -1
  59. package/elements/field/hint/hint.scss +6 -0
  60. package/elements/form/ControlGroup.scss +20 -7
  61. package/elements/form/Form.scss +86 -40
  62. package/elements/form/extras/address/Address.scss +6 -6
  63. package/elements/form/extras/file/FileInput.scss +4 -4
  64. package/elements/form/fieldset-header.scss +3 -3
  65. package/elements/form/index.d.ts +1 -1
  66. package/elements/header/Header.scss +58 -10
  67. package/elements/icon/Icon.scss +1 -1
  68. package/elements/layout/collapsible-nav/collapsible-nav.component.scss +20 -0
  69. package/elements/layout/index.d.ts +38 -5
  70. package/elements/list/list-item-content.scss +1 -1
  71. package/elements/list/list-item-header-avatar.scss +1 -1
  72. package/elements/list/list-item.scss +6 -6
  73. package/elements/loading/NovoSpinner.scss +1 -1
  74. package/elements/menu/menu-content.component.scss +8 -7
  75. package/elements/modal/modal.component.scss +8 -8
  76. package/elements/modal/notification.component.scss +21 -21
  77. package/elements/multi-picker/_MultiPicker.scss +2 -2
  78. package/elements/picker/Picker.scss +13 -13
  79. package/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.scss +14 -14
  80. package/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.scss +17 -17
  81. package/elements/picker/extras/picker-results/PickerResult.scss +1 -1
  82. package/elements/picker/extras/picker-results/PickerResults.scss +53 -21
  83. package/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.scss +3 -3
  84. package/elements/places/index.d.ts +24 -14
  85. package/elements/places/places.component.scss +3 -3
  86. package/elements/popover/PopOver.scss +2 -1
  87. package/elements/progress/Progress.scss +10 -2
  88. package/elements/progress/ProgressBar.scss +16 -3
  89. package/elements/query-builder/condition-builder/condition-builder.component.scss +1 -20
  90. package/elements/query-builder/index.d.ts +67 -35
  91. package/elements/radio/Radio.scss +8 -8
  92. package/elements/radio/radio-group.scss +2 -2
  93. package/elements/search/SearchBox.scss +42 -9
  94. package/elements/search/index.d.ts +11 -6
  95. package/elements/select/Select.scss +15 -14
  96. package/elements/select-search/select-search.component.scss +1 -1
  97. package/elements/simple-table/PaginationOld.scss +5 -5
  98. package/elements/simple-table/table.scss +15 -10
  99. package/elements/stepper/step-header.component.scss +9 -9
  100. package/elements/stepper/stepper.component.scss +25 -7
  101. package/elements/switch/Switch.scss +15 -7
  102. package/elements/tabbed-group-picker/TabbedGroupPicker.scss +58 -8
  103. package/elements/tabbed-group-picker/index.d.ts +27 -14
  104. package/elements/tabs/tab-nav.scss +3 -3
  105. package/elements/tabs/tab.scss +36 -5
  106. package/elements/tiles/Tiles.scss +32 -5
  107. package/elements/time-picker/TimePicker.scss +6 -6
  108. package/elements/time-picker/TimePickerInput.scss +1 -1
  109. package/elements/tip-well/TipWell.scss +5 -6
  110. package/elements/toast/Toast.scss +19 -18
  111. package/elements/toolbar/toolbar.component.scss +24 -6
  112. package/elements/tooltip/Tooltip.scss +2 -2
  113. package/elements/value/Value.scss +5 -4
  114. package/fesm2022/novo-elements-addons-ckeditor.mjs +22 -12
  115. package/fesm2022/novo-elements-addons-ckeditor.mjs.map +1 -1
  116. package/fesm2022/novo-elements-elements-agenda.mjs +8 -8
  117. package/fesm2022/novo-elements-elements-agenda.mjs.map +1 -1
  118. package/fesm2022/novo-elements-elements-aside.mjs +24 -9
  119. package/fesm2022/novo-elements-elements-aside.mjs.map +1 -1
  120. package/fesm2022/novo-elements-elements-autocomplete.mjs +2 -2
  121. package/fesm2022/novo-elements-elements-autocomplete.mjs.map +1 -1
  122. package/fesm2022/novo-elements-elements-avatar.mjs +4 -4
  123. package/fesm2022/novo-elements-elements-avatar.mjs.map +1 -1
  124. package/fesm2022/novo-elements-elements-breadcrumbs.mjs +4 -4
  125. package/fesm2022/novo-elements-elements-breadcrumbs.mjs.map +1 -1
  126. package/fesm2022/novo-elements-elements-button.mjs +2 -2
  127. package/fesm2022/novo-elements-elements-button.mjs.map +1 -1
  128. package/fesm2022/novo-elements-elements-calendar.mjs +8 -8
  129. package/fesm2022/novo-elements-elements-calendar.mjs.map +1 -1
  130. package/fesm2022/novo-elements-elements-card.mjs +8 -8
  131. package/fesm2022/novo-elements-elements-card.mjs.map +1 -1
  132. package/fesm2022/novo-elements-elements-category-dropdown.mjs +2 -2
  133. package/fesm2022/novo-elements-elements-category-dropdown.mjs.map +1 -1
  134. package/fesm2022/novo-elements-elements-checkbox.mjs +4 -4
  135. package/fesm2022/novo-elements-elements-checkbox.mjs.map +1 -1
  136. package/fesm2022/novo-elements-elements-chips.mjs +12 -8
  137. package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
  138. package/fesm2022/novo-elements-elements-color-picker.mjs +4 -4
  139. package/fesm2022/novo-elements-elements-color-picker.mjs.map +1 -1
  140. package/fesm2022/novo-elements-elements-common.mjs +61 -21
  141. package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
  142. package/fesm2022/novo-elements-elements-data-table.mjs +4 -4
  143. package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
  144. package/fesm2022/novo-elements-elements-date-picker.mjs +8 -8
  145. package/fesm2022/novo-elements-elements-date-picker.mjs.map +1 -1
  146. package/fesm2022/novo-elements-elements-date-time-picker.mjs +2 -2
  147. package/fesm2022/novo-elements-elements-date-time-picker.mjs.map +1 -1
  148. package/fesm2022/novo-elements-elements-divider.mjs +2 -2
  149. package/fesm2022/novo-elements-elements-divider.mjs.map +1 -1
  150. package/fesm2022/novo-elements-elements-dropdown.mjs +2 -2
  151. package/fesm2022/novo-elements-elements-dropdown.mjs.map +1 -1
  152. package/fesm2022/novo-elements-elements-expansion.mjs +2 -2
  153. package/fesm2022/novo-elements-elements-expansion.mjs.map +1 -1
  154. package/fesm2022/novo-elements-elements-field.mjs +6 -6
  155. package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
  156. package/fesm2022/novo-elements-elements-form.mjs +17 -15
  157. package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
  158. package/fesm2022/novo-elements-elements-header.mjs +2 -2
  159. package/fesm2022/novo-elements-elements-header.mjs.map +1 -1
  160. package/fesm2022/novo-elements-elements-icon.mjs +2 -2
  161. package/fesm2022/novo-elements-elements-icon.mjs.map +1 -1
  162. package/fesm2022/novo-elements-elements-layout.mjs +90 -9
  163. package/fesm2022/novo-elements-elements-layout.mjs.map +1 -1
  164. package/fesm2022/novo-elements-elements-list.mjs +10 -10
  165. package/fesm2022/novo-elements-elements-list.mjs.map +1 -1
  166. package/fesm2022/novo-elements-elements-loading.mjs +2 -2
  167. package/fesm2022/novo-elements-elements-loading.mjs.map +1 -1
  168. package/fesm2022/novo-elements-elements-menu.mjs +2 -2
  169. package/fesm2022/novo-elements-elements-menu.mjs.map +1 -1
  170. package/fesm2022/novo-elements-elements-modal.mjs +4 -4
  171. package/fesm2022/novo-elements-elements-modal.mjs.map +1 -1
  172. package/fesm2022/novo-elements-elements-multi-picker.mjs +2 -2
  173. package/fesm2022/novo-elements-elements-multi-picker.mjs.map +1 -1
  174. package/fesm2022/novo-elements-elements-picker.mjs +14 -14
  175. package/fesm2022/novo-elements-elements-picker.mjs.map +1 -1
  176. package/fesm2022/novo-elements-elements-places.mjs +195 -187
  177. package/fesm2022/novo-elements-elements-places.mjs.map +1 -1
  178. package/fesm2022/novo-elements-elements-popover.mjs +2 -2
  179. package/fesm2022/novo-elements-elements-popover.mjs.map +1 -1
  180. package/fesm2022/novo-elements-elements-progress.mjs +4 -4
  181. package/fesm2022/novo-elements-elements-progress.mjs.map +1 -1
  182. package/fesm2022/novo-elements-elements-query-builder.mjs +67 -19
  183. package/fesm2022/novo-elements-elements-query-builder.mjs.map +1 -1
  184. package/fesm2022/novo-elements-elements-radio.mjs +4 -4
  185. package/fesm2022/novo-elements-elements-radio.mjs.map +1 -1
  186. package/fesm2022/novo-elements-elements-search.mjs +36 -9
  187. package/fesm2022/novo-elements-elements-search.mjs.map +1 -1
  188. package/fesm2022/novo-elements-elements-select.mjs +2 -2
  189. package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
  190. package/fesm2022/novo-elements-elements-simple-table.mjs +6 -6
  191. package/fesm2022/novo-elements-elements-simple-table.mjs.map +1 -1
  192. package/fesm2022/novo-elements-elements-stepper.mjs +8 -8
  193. package/fesm2022/novo-elements-elements-stepper.mjs.map +1 -1
  194. package/fesm2022/novo-elements-elements-switch.mjs +2 -2
  195. package/fesm2022/novo-elements-elements-switch.mjs.map +1 -1
  196. package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs +70 -10
  197. package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
  198. package/fesm2022/novo-elements-elements-tabs.mjs +6 -6
  199. package/fesm2022/novo-elements-elements-tabs.mjs.map +1 -1
  200. package/fesm2022/novo-elements-elements-tiles.mjs +2 -2
  201. package/fesm2022/novo-elements-elements-tiles.mjs.map +1 -1
  202. package/fesm2022/novo-elements-elements-time-picker.mjs +4 -4
  203. package/fesm2022/novo-elements-elements-time-picker.mjs.map +1 -1
  204. package/fesm2022/novo-elements-elements-tip-well.mjs +2 -2
  205. package/fesm2022/novo-elements-elements-tip-well.mjs.map +1 -1
  206. package/fesm2022/novo-elements-elements-toast.mjs +2 -2
  207. package/fesm2022/novo-elements-elements-toast.mjs.map +1 -1
  208. package/fesm2022/novo-elements-elements-toolbar.mjs +2 -2
  209. package/fesm2022/novo-elements-elements-toolbar.mjs.map +1 -1
  210. package/fesm2022/novo-elements-elements-tooltip.mjs +2 -2
  211. package/fesm2022/novo-elements-elements-tooltip.mjs.map +1 -1
  212. package/fesm2022/novo-elements-elements-value.mjs +2 -2
  213. package/fesm2022/novo-elements-elements-value.mjs.map +1 -1
  214. package/fesm2022/novo-elements-services.mjs +1 -0
  215. package/fesm2022/novo-elements-services.mjs.map +1 -1
  216. package/fesm2022/novo-elements.mjs +14 -0
  217. package/fesm2022/novo-elements.mjs.map +1 -1
  218. package/index.d.ts +14 -0
  219. package/novo-elements.scss +7 -7
  220. package/package.json +1 -1
  221. package/services/index.d.ts +1 -0
  222. package/styles/base.scss +1 -0
  223. package/styles/content/code.scss +2 -2
  224. package/styles/content/forms.scss +2 -2
  225. package/styles/content/links.scss +4 -0
  226. package/styles/content/misc.scss +3 -3
  227. package/styles/content/range.scss +3 -3
  228. package/styles/iconography.scss +3 -3
  229. package/styles/themes/bh2026.scss +177 -0
  230. package/styles/themes/dark.scss +6 -1
  231. package/styles/themes/light.scss +4 -0
  232. package/styles/typography.scss +3 -3
  233. package/styles/variables.scss +6 -6
@@ -24,7 +24,7 @@
24
24
  align-items: center;
25
25
  background: transparent !important;
26
26
  border: none;
27
- border-bottom: 1px dashed lighten($dark, 30%);
27
+ border-bottom: 1px dashed brightenLive('--color-dark', 30);
28
28
  border-radius: 0;
29
29
  outline: none;
30
30
  height: 2em;
@@ -62,7 +62,7 @@
62
62
  }
63
63
  }
64
64
  i.bhi-delete-o {
65
- color: $negative;
65
+ color: var(--color-negative);
66
66
  }
67
67
  }
68
68
  .novo-chip.novo-row-chip {
@@ -515,6 +515,8 @@ declare class NovoChipInput implements NovoChipTextControl, OnChanges, OnDestroy
515
515
  chipEnd: EventEmitter<NovoChipInputEvent>;
516
516
  /** The input's placeholder text. */
517
517
  placeholder: string;
518
+ /** Setting to false prevents input from being cleared when focus is lost. */
519
+ clearOnBlur: boolean;
518
520
  /** Unique id for the input. */
519
521
  id: string;
520
522
  /** Whether the input is disabled. */
@@ -548,7 +550,7 @@ declare class NovoChipInput implements NovoChipTextControl, OnChanges, OnDestroy
548
550
  static readonly ngAcceptInputType_addOnBlur: BooleanInput;
549
551
  static readonly ngAcceptInputType_disabled: BooleanInput;
550
552
  static ɵfac: i0.ɵɵFactoryDeclaration<NovoChipInput, [null, null, { optional: true; }, null, { optional: true; self: true; }]>;
551
- static ɵdir: i0.ɵɵDirectiveDeclaration<NovoChipInput, "input[novoChipInput]", ["novoChipInput", "novoChipInputFor"], { "addOnBlur": { "alias": "novoChipInputAddOnBlur"; "required": false; }; "separatorKeyCodes": { "alias": "novoChipInputSeparatorKeyCodes"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "chipEnd": "novoChipInputTokenEnd"; }, never, never, false, never>;
553
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NovoChipInput, "input[novoChipInput]", ["novoChipInput", "novoChipInputFor"], { "addOnBlur": { "alias": "novoChipInputAddOnBlur"; "required": false; }; "separatorKeyCodes": { "alias": "novoChipInputSeparatorKeyCodes"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "clearOnBlur": { "alias": "clearOnBlur"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "chipEnd": "novoChipInputTokenEnd"; }, never, never, false, never>;
552
554
  }
553
555
 
554
556
  declare class NovoChipsElement implements OnInit, ControlValueAccessor {
@@ -9,7 +9,7 @@
9
9
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
10
10
  transform: translateY(0%);
11
11
  transition: all 0.15s cubic-bezier(0.35, 0, 0.25, 1);
12
- border-radius: 0.4rem;
12
+ border-radius: var(--border-radius-sm);
13
13
  width: 18rem;
14
14
 
15
15
  .novo-color-preview {
@@ -230,6 +230,13 @@ declare class BorderDirective {
230
230
  static ɵdir: i0.ɵɵDirectiveDeclaration<BorderDirective, "[border], [bb], [borderBottom], [bt], [borderTop], [bl], [borderLeft], [br], [borderRight], [bx], [borderX], [by], [borderY]", never, { "borderStyle": { "alias": "borderStyle"; "required": false; }; "borderColor": { "alias": "borderColor"; "required": false; }; "borderWidth": { "alias": "borderWidth"; "required": false; }; "border": { "alias": "border"; "required": false; }; "borderLeft": { "alias": "borderLeft"; "required": false; }; "bl": { "alias": "bl"; "required": false; }; "borderRight": { "alias": "borderRight"; "required": false; }; "br": { "alias": "br"; "required": false; }; "borderTop": { "alias": "borderTop"; "required": false; }; "bt": { "alias": "bt"; "required": false; }; "borderBottom": { "alias": "borderBottom"; "required": false; }; "bb": { "alias": "bb"; "required": false; }; "borderX": { "alias": "borderX"; "required": false; }; "bx": { "alias": "bx"; "required": false; }; "borderY": { "alias": "borderY"; "required": false; }; "by": { "alias": "by"; "required": false; }; }, {}, never, never, false, never>;
231
231
  }
232
232
 
233
+ /**
234
+ * Novo theme generations named `bh<year>-<mode>`
235
+ */
236
+ type ThemeName = 'bh2022-light' | 'bh2022-dark' | 'bh2026-light' | 'bh2026-dark';
237
+ declare const DEFAULT_THEME: ThemeName;
238
+ /** Map any stored/legacy themeName onto a canonical current name. */
239
+ declare function normalizeThemeName(stored?: string): ThemeName;
233
240
  declare class NovoThemeOptions {
234
241
  themeName: string;
235
242
  }
@@ -241,7 +248,7 @@ declare class NovoTheme {
241
248
  private _defaultTheme;
242
249
  private _currentTheme;
243
250
  onThemeChange: EventEmitter<ThemeChangeEvent>;
244
- /** Name of the theme being used. defaults to `modern-light` */
251
+ /** Name of the theme being used. defaults to `bh2022-light`. */
245
252
  get themeName(): string;
246
253
  set themeName(value: string);
247
254
  use(options: NovoThemeOptions): Observable<any>;
@@ -249,6 +256,7 @@ declare class NovoTheme {
249
256
  * Changes the current theme
250
257
  */
251
258
  private changeTheme;
259
+ private applyThemeToDom;
252
260
  static ɵfac: i0.ɵɵFactoryDeclaration<NovoTheme, never>;
253
261
  static ɵprov: i0.ɵɵInjectableDeclaration<NovoTheme>;
254
262
  }
@@ -741,5 +749,5 @@ type HasTabIndexCtor = Constructor<HasTabIndex>;
741
749
  /** Mixin to augment a directive with a `tabIndex` property. */
742
750
  declare function mixinTabIndex<T extends AbstractConstructor<CanDisable>>(base: T, defaultTabIndex?: number): HasTabIndexCtor & T;
743
751
 
744
- export { AccentColorDirective, BackgroundColorDirective, BorderDirective, 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 };
745
- 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, ThemePalette, TypographyLength, TypographySize, TypographyWeight };
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 };
753
+ 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 };
@@ -1,7 +1,8 @@
1
1
  @import "../../../styles/variables.scss";
2
2
  @import "../typography/text.mixins.scss";
3
-
4
- $novo-menu-side-padding: 0.5rem;
3
+ :root {
4
+ --menu-side-padding: var(--spacing-sm);
5
+ }
5
6
 
6
7
  .novo-option {
7
8
  @include novo-body-text();
@@ -20,43 +21,43 @@ $novo-menu-side-padding: 0.5rem;
20
21
  -webkit-tap-highlight-color: transparent;
21
22
 
22
23
  &:hover:not(.novo-option-inert) {
23
- background: var(--background-main, rgba($ocean, 0.1));
24
+ background: var(--background-main, rgb(from var(--color-positive) r g b / 0.1));
24
25
  }
25
26
 
26
27
  &:active:not(.novo-option-inert),
27
28
  &.novo-active:not(.novo-option-inert) {
28
- background: rgba($ocean, 0.3);
29
+ background: rgb(from var(--color-positive) r g b / 0.3);
29
30
  }
30
31
 
31
32
  &.novo-selected, .add-icon {
32
- color: $positive;
33
+ color: var(--color-positive);
33
34
  }
34
35
 
35
36
  &.disabled,
36
37
  &[aria-disabled="true"] {
37
38
  cursor: not-allowed;
38
- color: $disabled;
39
+ color: var(--color-disabled);
39
40
  &:hover {
40
- background: rgba($negative, 10%);
41
+ background: rgba(var(--color-negative), 10%);
41
42
  }
42
43
  }
43
44
 
44
45
  .novo-optgroup &:not(.novo-option-multiple) {
45
- padding-left: $novo-menu-side-padding * 2;
46
+ padding-left: calc(var(--menu-side-padding) * 2);
46
47
 
47
48
  [dir="rtl"] & {
48
- padding-left: $novo-menu-side-padding;
49
- padding-right: $novo-menu-side-padding * 2;
49
+ padding-left: var(--menu-side-padding);
50
+ padding-right: calc(var(--menu-side-padding) * 2);
50
51
  }
51
52
  }
52
53
 
53
54
  @include theme-colors() using ($name, $color, $contrast, $tint, $shade, $pale) {
54
55
  &.novo-accent-#{$name} {
55
- border-left: 4px solid $color;
56
+ border-left: 4px solid getCssVarname($name);
56
57
  }
57
58
  &.novo-fill-#{$name}:not(.novo-option-inert) {
58
59
  color: getContrastColor($name);
59
- background: $color;
60
+ background-color: getCssVarname($name);
60
61
  &:hover,
61
62
  &:focus {
62
63
  background: getTintColor($name);
@@ -80,11 +81,16 @@ $novo-menu-side-padding: 0.5rem;
80
81
  }
81
82
 
82
83
  .novo-option-pseudo-checkbox {
83
- $margin: calc($novo-menu-side-padding / 2);
84
- margin-right: $margin;
84
+ margin-inline-end: calc(var(--menu-side-padding) / 2);
85
+ }
85
86
 
86
- [dir="rtl"] & {
87
- margin-left: $margin;
88
- margin-right: 0;
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);
89
95
  }
90
96
  }
@@ -23,12 +23,12 @@ $_novo-pseudo-checkmark-size: $novo-checkbox-size - (2 * $_novo-pseudo-checkbox-
23
23
 
24
24
  &.novo-pseudo-checkbox-checked,
25
25
  &.novo-pseudo-checkbox-indeterminate {
26
- color: $ocean;
26
+ color: var(--color-positive);
27
27
  animation: iconEnter 160ms ease-in-out;
28
28
  }
29
29
 
30
30
  i {
31
- font-size: 1.4rem;
31
+ font-size: var(--font-size-novo-default);
32
32
  line-height: 1rem;
33
33
  }
34
34
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  @mixin text-disabled($property) {
4
4
  pointer-events: none;
5
- color: $disabled;
5
+ color: var(--color-disabled);
6
6
  }
7
7
 
8
8
  @mixin base-text-rules() {
@@ -37,28 +37,28 @@
37
37
  font-size: inherit;
38
38
  }
39
39
  &.text-size-body {
40
- font-size: $font-size-body;
40
+ font-size: var(--font-size-body);
41
41
  }
42
42
  &.text-size-xs {
43
- font-size: $font-size-xs;
43
+ font-size: var(--font-size-xs);
44
44
  }
45
45
  &.text-size-sm {
46
- font-size: $font-size-sm;
46
+ font-size: var(--font-size-sm);
47
47
  }
48
48
  &.text-size-md {
49
- font-size: $font-size-md;
49
+ font-size: var(--font-size-md);
50
50
  }
51
51
  &.text-size-lg {
52
- font-size: $font-size-lg;
52
+ font-size: var(--font-size-lg);
53
53
  }
54
54
  &.text-size-xl {
55
- font-size: $font-size-xl;
55
+ font-size: var(--font-size-xl);
56
56
  }
57
57
  &.text-size-2xl {
58
- font-size: $font-size-2xl;
58
+ font-size: var(--font-size-2xl);
59
59
  }
60
60
  &.text-size-3xl {
61
- font-size: $font-size-3xl;
61
+ font-size: var(--font-size-3xl);
62
62
  }
63
63
  &.text-size-smaller {
64
64
  font-size: 0.8em;
@@ -71,31 +71,31 @@
71
71
  @mixin text-weights() {
72
72
  // Font Weight Utils
73
73
  &.text-weight-hairline {
74
- font-weight: 100;
74
+ font-weight: var(--font-weight-hairline);
75
75
  }
76
76
  &.text-weight-thin {
77
- font-weight: 200;
77
+ font-weight: var(--font-weight-thin);
78
78
  }
79
79
  &.text-weight-light {
80
- font-weight: 300;
80
+ font-weight: var(--font-weight-light);
81
81
  }
82
82
  &.text-weight-normal {
83
- font-weight: 400;
83
+ font-weight: var(--font-weight-normal);
84
84
  }
85
85
  &.text-weight-medium {
86
- font-weight: 500;
86
+ font-weight: var(--font-weight-medium);
87
87
  }
88
88
  &.text-weight-semibold {
89
- font-weight: 600;
89
+ font-weight: var(--font-weight-semibold);
90
90
  }
91
91
  &.text-weight-bold {
92
- font-weight: 700;
92
+ font-weight: var(--font-weight-bold);
93
93
  }
94
94
  &.text-weight-extrabold {
95
- font-weight: 800;
95
+ font-weight: var(--font-weight-extrabold);
96
96
  }
97
97
  &.text-weight-heavy {
98
- font-weight: 900;
98
+ font-weight: var(--font-weight-heavy);
99
99
  }
100
100
  &.text-weight-lighter {
101
101
  font-weight: lighter;
@@ -120,7 +120,7 @@
120
120
  @mixin text-colors() {
121
121
  @include theme-colors() using ($name, $color, $contrast, $tint, $shade, $pale) {
122
122
  &.text-color-#{$name} {
123
- color: $color;
123
+ color: getCssVarname($name)
124
124
  }
125
125
  }
126
126
  }
@@ -1,7 +1,7 @@
1
1
  @import "../../styles/variables.scss";
2
2
  @import "../../styles/reset";
3
3
 
4
- $table-bg-accent: var(--background-bright, $off-white);
4
+ $table-bg-accent: var(--background-bright, $color-off-white);
5
5
  $novo-row-horizontal-padding: 20px;
6
6
  $table-header-font-weight: 400;
7
7
  $breakpoint: 1000px;
@@ -31,10 +31,10 @@ cdk-table {
31
31
  .novo-data-table-dropdown-cell,
32
32
  .novo-data-table-expand-cell,
33
33
  .novo-data-table-checkbox-cell {
34
- background-color: rgba($ocean, 0.15);
34
+ background-color: rgb(from var(--color-positive) r g b / 0.15);
35
35
  }
36
36
  + .novo-data-table-detail-row {
37
- background-color: rgba($ocean, 0.15);
37
+ background-color: rgb(from var(--color-positive) r g b / 0.15);
38
38
  }
39
39
  }
40
40
  + .novo-data-table-detail-row {
@@ -55,10 +55,10 @@ cdk-table {
55
55
  .novo-data-table-dropdown-cell,
56
56
  .novo-data-table-expand-cell,
57
57
  .novo-data-table-checkbox-cell {
58
- background-color: rgba($ocean, 0.15);
58
+ background-color: rgb(from var(--color-positive) r g b / 0.15);
59
59
  }
60
60
  + .novo-data-table-detail-row {
61
- background-color: rgba($ocean, 0.15);
61
+ background-color: rgb(from var(--color-positive) r g b / 0.15);
62
62
  }
63
63
  }
64
64
  + .novo-data-table-detail-row {
@@ -111,14 +111,14 @@ cdk-table {
111
111
  &.resizable {
112
112
  padding-right: 0;
113
113
  &:hover {
114
- background-color: var(--background-muted, $neutral);
114
+ background-color: var(--background-muted, --color-neutral);
115
115
  }
116
116
  .data-table-header-resizable {
117
117
  height: 100%;
118
118
 
119
119
  span {
120
120
  cursor: ew-resize;
121
- background-color: var(--border, $neutral);
121
+ background-color: var(--border, --color-neutral);
122
122
  width: 1px;
123
123
  margin: 0 4px;
124
124
  display: block;
@@ -169,7 +169,7 @@ cdk-table {
169
169
  color: var(--text-muted);
170
170
  background: transparent;
171
171
  pointer-events: all;
172
- margin-left: 0.5rem;
172
+ margin-left: var(--spacing-sm);
173
173
  line-height: 1em;
174
174
  outline: none;
175
175
  &:hover {
@@ -181,18 +181,18 @@ cdk-table {
181
181
  }
182
182
 
183
183
  button.active {
184
- color: $white;
185
- background: $positive;
184
+ color: var(--color-contrast-positive);
185
+ background: var(--color-positive);
186
186
  &:hover,
187
187
  &:active,
188
188
  &:focus,
189
189
  &:visited {
190
- background: $positive !important;
190
+ background: var(--color-positive) !important;
191
191
  }
192
192
  }
193
193
  &.clickable {
194
194
  cursor: pointer;
195
- color: $company;
195
+ color: var(--color-company);
196
196
  white-space: nowrap;
197
197
  overflow: hidden;
198
198
  text-overflow: ellipsis;
@@ -238,7 +238,7 @@ cdk-table {
238
238
  cursor: pointer;
239
239
  font-size: 1.2em;
240
240
  padding: 0.5em;
241
- border-radius: 3px;
241
+ border-radius: var(--border-radius-sm, 3px);
242
242
  &.disabled {
243
243
  pointer-events: none;
244
244
  opacity: 0.7;
@@ -333,7 +333,7 @@ cdk-table {
333
333
  }
334
334
  &.bhi-box-yes,
335
335
  &.bhi-checkbox-filled {
336
- color: $positive;
336
+ color: var(--color-positive);
337
337
  }
338
338
  }
339
339
  }
@@ -358,7 +358,7 @@ novo-data-table {
358
358
  display: flex;
359
359
  align-items: center;
360
360
  flex-shrink: 0;
361
- border-bottom: 1px solid var(--border, $off-white);
361
+ border-bottom: 1px solid var(--border, $color-off-white);
362
362
  &.pagination-footer {
363
363
  justify-content: space-between;
364
364
  }
@@ -465,7 +465,7 @@ novo-data-table {
465
465
  display: flex;
466
466
  flex: 1;
467
467
  .novo-data-table-custom-filter {
468
- border-right: 1px solid var(--border, $off-white);
468
+ border-right: 1px solid var(--border, $color-off-white);
469
469
  novo-date-picker {
470
470
  .calendar {
471
471
  box-shadow: none;
@@ -515,7 +515,7 @@ novo-data-table {
515
515
  align-items: center;
516
516
  > div,
517
517
  div.novo-data-table-footer-cell {
518
- border-top: 1px solid var(--border, $off-white);
518
+ border-top: 1px solid var(--border, $color-off-white);
519
519
  flex: 1;
520
520
  min-width: 200px;
521
521
  display: flex;
@@ -553,7 +553,7 @@ novo-data-table {
553
553
  overflow-x: hidden;
554
554
  }
555
555
  .footer {
556
- border-top: 1px solid var(--border, $off-white);
556
+ border-top: 1px solid var(--border, $color-off-white);
557
557
  padding: 5px 10px;
558
558
  display: flex;
559
559
  justify-content: flex-end;
@@ -581,10 +581,10 @@ novo-data-table {
581
581
  height: 100%;
582
582
  min-height: 200px;
583
583
  width: 100%;
584
- background: #fff;
584
+ background: var(--background-bright);
585
585
  padding: 0 !important;
586
586
  .back-link {
587
- color: $positive;
587
+ color: var(--color-positive);
588
588
  line-height: 3em;
589
589
  font-size: 0.9em;
590
590
  padding-left: 5px;
@@ -603,17 +603,102 @@ novo-data-table {
603
603
  }
604
604
  }
605
605
  span.error-text {
606
- color: $negative;
606
+ color: var(--color-negative);
607
607
  position: relative;
608
608
  left: 10px;
609
609
  top: -17px;
610
610
  font-size: x-small;
611
611
  }
612
612
  .filter-null-results {
613
- background-color: $white;
613
+ background-color: var(--background-body);
614
614
  text-align: center;
615
- color: darken($light, 15%);
615
+ color: darkenLive('--color-light', 15);
616
616
  background: transparent;
617
617
  font-weight: 500;
618
618
  }
619
619
  }
620
+
621
+ // bh2026: banded rows, horizontal borders, modern spacing
622
+ [data-theme='bh2026'] {
623
+ .novo-data-table-header-cell,
624
+ .novo-data-table-header-cell > label {
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
+ background-color: var(--color-background-muted);
665
+ }
666
+ + .novo-data-table-detail-row {
667
+ background-color: var(--color-background-muted);
668
+ }
669
+ }
670
+ > .novo-data-table-row:nth-of-type(even) {
671
+ .novo-data-table-cell,
672
+ .novo-data-table-button-cell,
673
+ .novo-data-table-dropdown-cell,
674
+ .novo-data-table-expand-cell,
675
+ .novo-data-table-checkbox-cell {
676
+ background-color: var(--background-body);
677
+ }
678
+ + .novo-data-table-detail-row {
679
+ background-color: var(--background-body);
680
+ }
681
+ }
682
+ > .novo-data-table-row:hover {
683
+ .novo-data-table-cell,
684
+ .novo-data-table-button-cell,
685
+ .novo-data-table-dropdown-cell,
686
+ .novo-data-table-expand-cell,
687
+ .novo-data-table-checkbox-cell {
688
+ background-color: var(--color-background-subtle);
689
+ }
690
+ }
691
+ > .novo-data-table-row.active {
692
+ .novo-data-table-cell,
693
+ .novo-data-table-button-cell,
694
+ .novo-data-table-dropdown-cell,
695
+ .novo-data-table-expand-cell,
696
+ .novo-data-table-checkbox-cell {
697
+ background-color: var(--color-utility-blue-100);
698
+ }
699
+ + .novo-data-table-detail-row {
700
+ background-color: var(--color-utility-blue-100);
701
+ }
702
+ }
703
+ }
704
+ }
@@ -47,6 +47,7 @@ interface IDataTablePreferences {
47
47
  hasUnsavedChanges?: boolean;
48
48
  unsavedChanges?: any;
49
49
  useBooleanKeywords?: boolean;
50
+ cardView?: boolean;
50
51
  }
51
52
  interface AutobuildEntityData {
52
53
  id: number;
@@ -662,7 +663,7 @@ type ListInteractionDictionary = {
662
663
  [key: string]: ListInteraction[];
663
664
  };
664
665
 
665
- type DataTablePreferenceUpdateSrc = 'columndrag' | 'input' | 'statesortchange' | 'pagination';
666
+ type DataTablePreferenceUpdateSrc = 'columndrag' | 'input' | 'statesortchange' | 'pagination' | 'other';
666
667
  interface IDataTablePreferencesChangeEvent extends IDataTablePreferences {
667
668
  eventSrc: DataTablePreferenceUpdateSrc;
668
669
  }
@@ -67,7 +67,7 @@ $breakpoint: 1000px;
67
67
  }
68
68
  h5.rows {
69
69
  padding: 0;
70
- font-size: 12px;
70
+ font-size: var(--font-size-sm);
71
71
  opacity: 0.75;
72
72
  letter-spacing: 0.1px;
73
73
  }
@@ -105,24 +105,24 @@ $breakpoint: 1000px;
105
105
  width: 2.4rem;
106
106
  height: 2.4rem;
107
107
  font-size: var(--font-size-text);
108
- border-radius: 2px;
108
+ border-radius: var(--border-radius-xsm, 2px);
109
109
  list-style-type: none;
110
110
  cursor: pointer;
111
- color: $company;
111
+ color: var(--color-company);
112
112
  &.disabled {
113
113
  opacity: 0.3;
114
114
  pointer-events: none;
115
115
  }
116
116
  }
117
117
  .page.active {
118
- color: $company;
118
+ color: var(--color-company);
119
119
  background-color: rgba($black, 0.1);
120
120
  opacity: 1;
121
121
  }
122
122
  }
123
123
  .novo-data-table-of-total-amount {
124
- color: $slate;
125
- font-size: 12px;
124
+ color: var(--color-slate);
125
+ font-size: var(--font-size-sm);
126
126
  }
127
127
  }
128
128
  }