novo-elements 13.1.0 → 13.2.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.
Files changed (230) 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 +6 -5
  14. package/elements/button/styles/button-fab.scss +1 -1
  15. package/elements/button/styles/button-icon.scss +5 -5
  16. package/elements/button/styles/button-other.scss +5 -5
  17. package/elements/button/styles/button-primary.scss +11 -9
  18. package/elements/button/styles/button-secondary.scss +9 -9
  19. package/elements/button/styles/button-standard.scss +2 -2
  20. package/elements/button/styles/button.scss +18 -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 +47 -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 +14 -19
  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 +32 -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 +23 -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 +4 -4
  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 +14 -1
  59. package/elements/form/ControlGroup.scss +7 -7
  60. package/elements/form/Form.scss +40 -40
  61. package/elements/form/extras/address/Address.scss +6 -6
  62. package/elements/form/extras/file/FileInput.scss +4 -4
  63. package/elements/form/fieldset-header.scss +3 -3
  64. package/elements/form/index.d.ts +1 -1
  65. package/elements/header/Header.scss +17 -10
  66. package/elements/icon/Icon.scss +1 -1
  67. package/elements/layout/collapsible-nav/collapsible-nav.component.scss +20 -0
  68. package/elements/layout/index.d.ts +38 -5
  69. package/elements/list/list-item-content.scss +1 -1
  70. package/elements/list/list-item-header-avatar.scss +1 -1
  71. package/elements/list/list-item.scss +6 -6
  72. package/elements/loading/NovoSpinner.scss +1 -1
  73. package/elements/menu/menu-content.component.scss +7 -7
  74. package/elements/modal/modal.component.scss +16 -6
  75. package/elements/modal/notification.component.scss +26 -21
  76. package/elements/multi-picker/_MultiPicker.scss +2 -2
  77. package/elements/picker/Picker.scss +13 -13
  78. package/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.scss +14 -14
  79. package/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.scss +17 -17
  80. package/elements/picker/extras/picker-results/PickerResult.scss +1 -1
  81. package/elements/picker/extras/picker-results/PickerResults.scss +25 -21
  82. package/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.scss +3 -3
  83. package/elements/places/index.d.ts +24 -14
  84. package/elements/places/places.component.scss +3 -3
  85. package/elements/popover/PopOver.scss +2 -1
  86. package/elements/progress/Progress.scss +2 -2
  87. package/elements/progress/ProgressBar.scss +13 -3
  88. package/elements/query-builder/condition-builder/condition-builder.component.scss +1 -20
  89. package/elements/query-builder/index.d.ts +67 -35
  90. package/elements/radio/Radio.scss +8 -8
  91. package/elements/radio/radio-group.scss +2 -2
  92. package/elements/search/SearchBox.scss +8 -9
  93. package/elements/select/Select.scss +14 -14
  94. package/elements/select-search/select-search.component.scss +1 -1
  95. package/elements/simple-table/PaginationOld.scss +5 -5
  96. package/elements/simple-table/table.scss +15 -10
  97. package/elements/stepper/step-header.component.scss +9 -9
  98. package/elements/stepper/stepper.component.scss +25 -7
  99. package/elements/switch/Switch.scss +15 -7
  100. package/elements/tabbed-group-picker/TabbedGroupPicker.scss +17 -8
  101. package/elements/tabbed-group-picker/index.d.ts +27 -14
  102. package/elements/tabs/tab-nav.scss +3 -3
  103. package/elements/tabs/tab.scss +38 -5
  104. package/elements/tiles/Tiles.scss +10 -5
  105. package/elements/time-picker/TimePicker.scss +4 -4
  106. package/elements/time-picker/TimePickerInput.scss +1 -1
  107. package/elements/tip-well/TipWell.scss +5 -6
  108. package/elements/toast/Toast.scss +19 -18
  109. package/elements/toolbar/toolbar.component.scss +9 -6
  110. package/elements/tooltip/Tooltip.scss +6 -1
  111. package/elements/value/Value.scss +5 -4
  112. package/fesm2022/novo-elements-addons-ckeditor.mjs +22 -12
  113. package/fesm2022/novo-elements-addons-ckeditor.mjs.map +1 -1
  114. package/fesm2022/novo-elements-elements-agenda.mjs +8 -8
  115. package/fesm2022/novo-elements-elements-agenda.mjs.map +1 -1
  116. package/fesm2022/novo-elements-elements-aside.mjs +24 -9
  117. package/fesm2022/novo-elements-elements-aside.mjs.map +1 -1
  118. package/fesm2022/novo-elements-elements-autocomplete.mjs +2 -2
  119. package/fesm2022/novo-elements-elements-autocomplete.mjs.map +1 -1
  120. package/fesm2022/novo-elements-elements-avatar.mjs +4 -4
  121. package/fesm2022/novo-elements-elements-avatar.mjs.map +1 -1
  122. package/fesm2022/novo-elements-elements-breadcrumbs.mjs +4 -4
  123. package/fesm2022/novo-elements-elements-breadcrumbs.mjs.map +1 -1
  124. package/fesm2022/novo-elements-elements-button.mjs +2 -2
  125. package/fesm2022/novo-elements-elements-button.mjs.map +1 -1
  126. package/fesm2022/novo-elements-elements-calendar.mjs +8 -8
  127. package/fesm2022/novo-elements-elements-calendar.mjs.map +1 -1
  128. package/fesm2022/novo-elements-elements-card.mjs +8 -8
  129. package/fesm2022/novo-elements-elements-card.mjs.map +1 -1
  130. package/fesm2022/novo-elements-elements-category-dropdown.mjs +2 -2
  131. package/fesm2022/novo-elements-elements-category-dropdown.mjs.map +1 -1
  132. package/fesm2022/novo-elements-elements-checkbox.mjs +4 -4
  133. package/fesm2022/novo-elements-elements-checkbox.mjs.map +1 -1
  134. package/fesm2022/novo-elements-elements-chips.mjs +12 -8
  135. package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
  136. package/fesm2022/novo-elements-elements-color-picker.mjs +4 -4
  137. package/fesm2022/novo-elements-elements-color-picker.mjs.map +1 -1
  138. package/fesm2022/novo-elements-elements-common.mjs +61 -21
  139. package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
  140. package/fesm2022/novo-elements-elements-data-table.mjs +4 -4
  141. package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
  142. package/fesm2022/novo-elements-elements-date-picker.mjs +8 -8
  143. package/fesm2022/novo-elements-elements-date-picker.mjs.map +1 -1
  144. package/fesm2022/novo-elements-elements-date-time-picker.mjs +2 -2
  145. package/fesm2022/novo-elements-elements-date-time-picker.mjs.map +1 -1
  146. package/fesm2022/novo-elements-elements-divider.mjs +2 -2
  147. package/fesm2022/novo-elements-elements-divider.mjs.map +1 -1
  148. package/fesm2022/novo-elements-elements-dropdown.mjs +2 -2
  149. package/fesm2022/novo-elements-elements-dropdown.mjs.map +1 -1
  150. package/fesm2022/novo-elements-elements-expansion.mjs +2 -2
  151. package/fesm2022/novo-elements-elements-expansion.mjs.map +1 -1
  152. package/fesm2022/novo-elements-elements-field.mjs +6 -6
  153. package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
  154. package/fesm2022/novo-elements-elements-form.mjs +17 -15
  155. package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
  156. package/fesm2022/novo-elements-elements-header.mjs +2 -2
  157. package/fesm2022/novo-elements-elements-header.mjs.map +1 -1
  158. package/fesm2022/novo-elements-elements-icon.mjs +2 -2
  159. package/fesm2022/novo-elements-elements-icon.mjs.map +1 -1
  160. package/fesm2022/novo-elements-elements-layout.mjs +90 -9
  161. package/fesm2022/novo-elements-elements-layout.mjs.map +1 -1
  162. package/fesm2022/novo-elements-elements-list.mjs +10 -10
  163. package/fesm2022/novo-elements-elements-list.mjs.map +1 -1
  164. package/fesm2022/novo-elements-elements-loading.mjs +2 -2
  165. package/fesm2022/novo-elements-elements-loading.mjs.map +1 -1
  166. package/fesm2022/novo-elements-elements-menu.mjs +2 -2
  167. package/fesm2022/novo-elements-elements-menu.mjs.map +1 -1
  168. package/fesm2022/novo-elements-elements-modal.mjs +4 -4
  169. package/fesm2022/novo-elements-elements-modal.mjs.map +1 -1
  170. package/fesm2022/novo-elements-elements-multi-picker.mjs +2 -2
  171. package/fesm2022/novo-elements-elements-multi-picker.mjs.map +1 -1
  172. package/fesm2022/novo-elements-elements-picker.mjs +14 -14
  173. package/fesm2022/novo-elements-elements-picker.mjs.map +1 -1
  174. package/fesm2022/novo-elements-elements-places.mjs +195 -187
  175. package/fesm2022/novo-elements-elements-places.mjs.map +1 -1
  176. package/fesm2022/novo-elements-elements-popover.mjs +2 -2
  177. package/fesm2022/novo-elements-elements-popover.mjs.map +1 -1
  178. package/fesm2022/novo-elements-elements-progress.mjs +4 -4
  179. package/fesm2022/novo-elements-elements-progress.mjs.map +1 -1
  180. package/fesm2022/novo-elements-elements-query-builder.mjs +67 -19
  181. package/fesm2022/novo-elements-elements-query-builder.mjs.map +1 -1
  182. package/fesm2022/novo-elements-elements-radio.mjs +4 -4
  183. package/fesm2022/novo-elements-elements-radio.mjs.map +1 -1
  184. package/fesm2022/novo-elements-elements-search.mjs +2 -2
  185. package/fesm2022/novo-elements-elements-search.mjs.map +1 -1
  186. package/fesm2022/novo-elements-elements-select.mjs +2 -2
  187. package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
  188. package/fesm2022/novo-elements-elements-simple-table.mjs +6 -6
  189. package/fesm2022/novo-elements-elements-simple-table.mjs.map +1 -1
  190. package/fesm2022/novo-elements-elements-stepper.mjs +8 -8
  191. package/fesm2022/novo-elements-elements-stepper.mjs.map +1 -1
  192. package/fesm2022/novo-elements-elements-switch.mjs +2 -2
  193. package/fesm2022/novo-elements-elements-switch.mjs.map +1 -1
  194. package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs +70 -10
  195. package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
  196. package/fesm2022/novo-elements-elements-tabs.mjs +6 -6
  197. package/fesm2022/novo-elements-elements-tabs.mjs.map +1 -1
  198. package/fesm2022/novo-elements-elements-tiles.mjs +2 -2
  199. package/fesm2022/novo-elements-elements-tiles.mjs.map +1 -1
  200. package/fesm2022/novo-elements-elements-time-picker.mjs +4 -4
  201. package/fesm2022/novo-elements-elements-time-picker.mjs.map +1 -1
  202. package/fesm2022/novo-elements-elements-tip-well.mjs +2 -2
  203. package/fesm2022/novo-elements-elements-tip-well.mjs.map +1 -1
  204. package/fesm2022/novo-elements-elements-toast.mjs +2 -2
  205. package/fesm2022/novo-elements-elements-toast.mjs.map +1 -1
  206. package/fesm2022/novo-elements-elements-toolbar.mjs +2 -2
  207. package/fesm2022/novo-elements-elements-toolbar.mjs.map +1 -1
  208. package/fesm2022/novo-elements-elements-tooltip.mjs +2 -2
  209. package/fesm2022/novo-elements-elements-tooltip.mjs.map +1 -1
  210. package/fesm2022/novo-elements-elements-value.mjs +2 -2
  211. package/fesm2022/novo-elements-elements-value.mjs.map +1 -1
  212. package/fesm2022/novo-elements-services.mjs +1 -0
  213. package/fesm2022/novo-elements-services.mjs.map +1 -1
  214. package/fesm2022/novo-elements.mjs +14 -0
  215. package/fesm2022/novo-elements.mjs.map +1 -1
  216. package/index.d.ts +14 -0
  217. package/novo-elements.scss +7 -7
  218. package/package.json +2 -2
  219. package/services/index.d.ts +1 -0
  220. package/styles/base.scss +1 -0
  221. package/styles/content/code.scss +2 -2
  222. package/styles/content/forms.scss +2 -2
  223. package/styles/content/misc.scss +3 -3
  224. package/styles/content/range.scss +3 -3
  225. package/styles/iconography.scss +3 -3
  226. package/styles/themes/bh2026.scss +106 -0
  227. package/styles/themes/dark.scss +6 -1
  228. package/styles/themes/light.scss +4 -0
  229. package/styles/typography.scss +3 -3
  230. package/styles/variables.scss +6 -6
@@ -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,5 @@ $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;
85
-
86
- [dir="rtl"] & {
87
- margin-left: $margin;
88
- margin-right: 0;
89
- }
84
+ margin-inline-end: calc(var(--menu-side-padding) / 2);
90
85
  }
@@ -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,26 @@ 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: stronger, subtler column headers
622
+ [data-theme='bh2026'] {
623
+ .novo-data-table-header-cell,
624
+ .novo-data-table-header-cell > label {
625
+ font-weight: 600;
626
+ color: var(--color-content-subtle, #8ca1b9);
627
+ }
628
+ }
@@ -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
  }
@@ -3,7 +3,7 @@
3
3
  :host {
4
4
  display: block;
5
5
  .date-picker-container {
6
- border-radius: 4px;
6
+ border-radius: var(--border-radius-default, 4px);
7
7
  width: min-content;
8
8
  text-align: center;
9
9
  background: var(--background-main);
@@ -15,23 +15,23 @@
15
15
 
16
16
  .month-view + .month-view {
17
17
  border-collapse: unset;
18
- border-left: 1px solid $light;
19
- margin-left: 0.5rem;
20
- padding-left: 0.5rem;
18
+ border-left: 1px solid var(--border);
19
+ margin-left: var(--spacing-sm);
20
+ padding-left: var(--spacing-sm);
21
21
  }
22
22
 
23
23
  .calendar-top {
24
24
  display: flex;
25
25
  flex-flow: column;
26
- background: $positive;
27
- color: #fff;
26
+ background: var(--color-positive);
27
+ color: var(--color-contrast-positive);
28
28
  font-size: 14px;
29
29
  border-top-right-radius: 4px;
30
30
  border-top-left-radius: 4px;
31
31
  h1 {
32
32
  font-weight: 600;
33
33
  font-size: 4.2em;
34
- color: #fff;
34
+ color: var(--color-contrast-positive);
35
35
  margin: 0;
36
36
  padding: 0;
37
37
  }
@@ -55,7 +55,7 @@
55
55
  }
56
56
  }
57
57
  .date-range-tabs {
58
- border-bottom: 1px solid $off-white;
58
+ border-bottom: 1px solid var(--border-2);
59
59
  display: flex;
60
60
  align-items: center;
61
61
  justify-content: space-between;
@@ -73,7 +73,7 @@
73
73
  }
74
74
  }
75
75
  & > span {
76
- color: $positive;
76
+ color: var(--color-positive);
77
77
  text-align: center;
78
78
  flex: 1;
79
79
  cursor: pointer;
@@ -90,7 +90,7 @@
90
90
  height: 2px;
91
91
  bottom: 0;
92
92
  left: 0;
93
- background: $positive;
93
+ background: var(--color-positive);
94
94
  transition: transform 200ms ease-in-out;
95
95
  }
96
96
  }
@@ -103,7 +103,7 @@
103
103
  -webkit-user-select: none;
104
104
  justify-content: space-between;
105
105
  cursor: default;
106
- border-bottom: 1px solid $off-white;
106
+ border-bottom: 1px solid var(--border-2);
107
107
  .previous {
108
108
  width: 30px;
109
109
  height: 15px;
@@ -120,7 +120,7 @@
120
120
  width: 0;
121
121
  }
122
122
  &:hover:after {
123
- border-right: 4px solid $positive;
123
+ border-right: 4px solid var(--color-positive);
124
124
  cursor: pointer;
125
125
  }
126
126
  }
@@ -128,22 +128,22 @@
128
128
  flex: 1;
129
129
  display: inline-block;
130
130
  vertical-align: middle;
131
- color: $positive;
131
+ color: var(--color-positive);
132
132
  font-weight: 600;
133
133
  .month {
134
- border-radius: 2px;
134
+ border-radius: var(--border-radius-xsm, 2px);
135
135
  padding: 3px 8px;
136
136
  &:hover {
137
- background: $positive;
137
+ background: var(--color-positive);
138
138
  color: #fff;
139
139
  cursor: pointer;
140
140
  }
141
141
  }
142
142
  .year {
143
- border-radius: 2px;
143
+ border-radius: var(--border-radius-xsm, 2px);
144
144
  padding: 3px 8px;
145
145
  &:hover {
146
- background: $positive;
146
+ background: var(--color-positive);
147
147
  color: #fff;
148
148
  cursor: pointer;
149
149
  }
@@ -166,7 +166,7 @@
166
166
  }
167
167
  &:hover:before {
168
168
  opacity: 1;
169
- border-left: 4px solid $positive;
169
+ border-left: 4px solid var(--color-positive);
170
170
  cursor: pointer;
171
171
  }
172
172
  }
@@ -219,3 +219,8 @@
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
+ }
@@ -11,7 +11,7 @@
11
11
  input {
12
12
  font-size: 1em;
13
13
  border: none;
14
- border-bottom: 1px solid $light;
14
+ border-bottom: 1px solid var(--color-border);
15
15
  background: transparent !important;
16
16
  border-radius: 0;
17
17
  outline: none;
@@ -22,13 +22,13 @@
22
22
  box-shadow: none;
23
23
  box-sizing: content-box;
24
24
  transition: all 300ms;
25
- color: $dark;
25
+ color: var(--font-color-base);
26
26
  &:focus {
27
- border-bottom: 1px solid $ocean;
27
+ border-bottom: 1px solid var(--color-positive);
28
28
  }
29
29
  }
30
30
  span.error-text {
31
- color: $negative;
31
+ color: var(--color-negative);
32
32
  padding-top: 10px;
33
33
  flex: 1;
34
34
  display: flex;
@@ -40,7 +40,7 @@
40
40
  position: absolute;
41
41
  right: 0;
42
42
  top: 0px;
43
- font-size: 1.2rem;
43
+ font-size: var(--font-size-sm);
44
44
  cursor: pointer;
45
45
  }
46
46
  }
@@ -38,7 +38,7 @@
38
38
  transition: all 300ms;
39
39
  color: var(--text-main);
40
40
  &:focus {
41
- border-bottom: 1px solid $ocean;
41
+ border-bottom: 1px solid var(--color-positive);
42
42
  }
43
43
  }
44
44
  novo-icon {
@@ -14,7 +14,7 @@
14
14
  margin: 0px;
15
15
  }
16
16
  &.selected {
17
- background: $light;
17
+ background: var(--background-main, $light);
18
18
  border-radius: 50%;
19
19
  }
20
20
  }
@@ -44,4 +44,4 @@
44
44
  text-transform: capitalize;
45
45
  }
46
46
  }
47
- }
47
+ }