@design-factory/design-factory 19.1.2 → 20.0.0-next.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 (162) hide show
  1. package/design-factory-initial-branding.css +1 -1
  2. package/design-factory.css +2 -2
  3. package/fesm2022/design-factory.mjs +402 -273
  4. package/fesm2022/design-factory.mjs.map +1 -1
  5. package/index.d.ts +1883 -2
  6. package/package.json +14 -16
  7. package/schematics/migrations/20_0_0/navbar-toggler-logo-svg/index.d.ts +7 -0
  8. package/schematics/migrations/20_0_0/navbar-toggler-logo-svg/index.js +47 -0
  9. package/schematics/migrations/migration.json +6 -0
  10. package/styles/scss/_common.scss +1 -1
  11. package/styles/scss/_common.variables.scss +2 -1
  12. package/styles/scss/agnosui/_variables.scss +1 -1
  13. package/styles/scss/bootstrap/_variables.scss +13 -6
  14. package/styles/scss/components/accordion/_accordion.scss +5 -1
  15. package/styles/scss/components/alert/_alert.scss +6 -1
  16. package/styles/scss/components/badge/_badge.mixins.scss +2 -0
  17. package/styles/scss/components/badge/_badge.scss +157 -25
  18. package/styles/scss/components/breadcrumbs/_breadcrumbs.scss +8 -8
  19. package/styles/scss/components/breadcrumbs/_breadcrumbs.variables.scss +0 -2
  20. package/styles/scss/components/button/_button.scss +376 -59
  21. package/styles/scss/components/button/_button.variables.scss +1 -3
  22. package/styles/scss/components/checkbox/_checkbox.scss +11 -4
  23. package/styles/scss/components/dropdown/_dropdown.scss +3 -1
  24. package/styles/scss/components/dropdown/_dropdown.variables.scss +1 -0
  25. package/styles/scss/components/fieldset/_fieldset.scss +2 -2
  26. package/styles/scss/components/fieldset/_fieldset.variables.scss +1 -1
  27. package/styles/scss/components/fonts/_fonts-family.scss +8 -8
  28. package/styles/scss/components/fonts/multi-lang/_arabic.mixins.scss +5 -1
  29. package/styles/scss/components/fonts/multi-lang/_chinese.mixins.scss +13 -4
  30. package/styles/scss/components/fonts/multi-lang/_georgian.mixins.scss +5 -1
  31. package/styles/scss/components/fonts/multi-lang/_hebrew.mixins.scss +5 -1
  32. package/styles/scss/components/fonts/multi-lang/_japanese.mixins.scss +15 -5
  33. package/styles/scss/components/fonts/multi-lang/_korean.mixins.scss +12 -4
  34. package/styles/scss/components/footer/_footer.mixins.scss +36 -0
  35. package/styles/scss/components/footer/_footer.scss +49 -15
  36. package/styles/scss/components/footer/_footer.variables.scss +0 -1
  37. package/styles/scss/components/form/_form.scss +31 -1
  38. package/styles/scss/components/link/_link.mixins.scss +72 -75
  39. package/styles/scss/components/link/_link.scss +26 -32
  40. package/styles/scss/components/link/_link.variables.scss +3 -0
  41. package/styles/scss/components/list-group/_list-group.scss +30 -5
  42. package/styles/scss/components/list-group/_list-group.variables.scss +6 -2
  43. package/styles/scss/components/media/_media.scss +8 -1
  44. package/styles/scss/components/media/_media.variables.scss +2 -0
  45. package/styles/scss/components/navbar/_navbar.mixins.scss +55 -0
  46. package/styles/scss/components/navbar/_navbar.scss +180 -71
  47. package/styles/scss/components/navbar/_navbar.variables.scss +42 -13
  48. package/styles/scss/components/pagination/_pagination.scss +46 -2
  49. package/styles/scss/components/pagination/_pagination.variables.scss +3 -0
  50. package/styles/scss/components/popover/_popover.mixin.scss +1 -1
  51. package/styles/scss/components/popover/_popover.scss +1 -1
  52. package/styles/scss/components/popover/_popover.variables.scss +4 -0
  53. package/styles/scss/components/progressbar/_progressbar.scss +11 -0
  54. package/styles/scss/components/progressbar/_progressbar.variables.scss +5 -0
  55. package/styles/scss/components/radio/_radio.scss +11 -4
  56. package/styles/scss/components/radio/_radio.variables.scss +1 -0
  57. package/styles/scss/components/rating/_rating.scss +3 -1
  58. package/styles/scss/components/scrollspy/_scrollspy.scss +7 -0
  59. package/styles/scss/components/select/_select.mixin.scss +34 -0
  60. package/styles/scss/components/select/_select.scss +5 -19
  61. package/styles/scss/components/select/_select.variables.scss +2 -0
  62. package/styles/scss/components/speechbubble/_speechbubble.scss +19 -0
  63. package/styles/scss/components/speechbubble/_speechbubble.variables.scss +6 -0
  64. package/styles/scss/components/spinner/_spinner.scss +19 -0
  65. package/styles/scss/components/spinner/_spinner.variables.scss +6 -0
  66. package/styles/scss/components/stepper/_stepper.scss +29 -3
  67. package/styles/scss/components/stepper/_stepper.variables.scss +10 -1
  68. package/styles/scss/components/table/_advancedtables.scss +9 -5
  69. package/styles/scss/components/table/_table.scss +6 -0
  70. package/styles/scss/components/table/_table.variables.scss +3 -0
  71. package/styles/scss/components/tabs/_tabs.scss +7 -0
  72. package/styles/scss/components/toast/_toast.scss +31 -9
  73. package/styles/scss/components/tooltip/_tooltip.scss +7 -0
  74. package/styles/scss/themes/brand2023/_variables.scss +368 -447
  75. package/styles/scss/themes/brand2023/tokens/_figma.gen.scss +3028 -0
  76. package/styles/scss/themes/brand2023/tokens/_mapping.gen.scss +898 -0
  77. package/styles/scss/utilities/_common.utilities.scss +49 -1
  78. package/environment.d.ts +0 -4
  79. package/lib/angular/accessibility/accessibility.module.d.ts +0 -10
  80. package/lib/angular/accessibility/components/skip-links-container/skip-links-container.component.d.ts +0 -7
  81. package/lib/angular/accessibility/directives/skip-link.directive.d.ts +0 -9
  82. package/lib/angular/alert/alert.module.d.ts +0 -8
  83. package/lib/angular/animation/ngbTransition.d.ts +0 -16
  84. package/lib/angular/animation/util.d.ts +0 -14
  85. package/lib/angular/card/card-advanced.module.d.ts +0 -8
  86. package/lib/angular/card/manage-card-selection.directive.d.ts +0 -13
  87. package/lib/angular/datepicker/datepicker-keyboard-nav.service.d.ts +0 -7
  88. package/lib/angular/datepicker/datepicker-range.directive.d.ts +0 -30
  89. package/lib/angular/datepicker/datepicker-range.service.d.ts +0 -32
  90. package/lib/angular/datepicker/datepicker.module.d.ts +0 -10
  91. package/lib/angular/df.module.d.ts +0 -26
  92. package/lib/angular/footer/footer.module.d.ts +0 -8
  93. package/lib/angular/icon/amadeus-icon.d.ts +0 -5
  94. package/lib/angular/icon/icon.module.d.ts +0 -8
  95. package/lib/angular/icon/insert/insert-icon.directive.d.ts +0 -12
  96. package/lib/angular/icon/insert/insert-icon.module.d.ts +0 -8
  97. package/lib/angular/inputs/click/trigger-click.directive.d.ts +0 -9
  98. package/lib/angular/inputs/icon/inputicon.directive.d.ts +0 -29
  99. package/lib/angular/inputs/input-advanced.module.d.ts +0 -10
  100. package/lib/angular/mediaqueries/ifMedia.directive.d.ts +0 -25
  101. package/lib/angular/mediaqueries/media.module.d.ts +0 -8
  102. package/lib/angular/mediaqueries/media.service.d.ts +0 -24
  103. package/lib/angular/mediaqueries/mediaUtils.service.d.ts +0 -75
  104. package/lib/angular/modal/modal.service.d.ts +0 -17
  105. package/lib/angular/popover/config/popover.config.d.ts +0 -7
  106. package/lib/angular/popover/popover.module.d.ts +0 -7
  107. package/lib/angular/progressbar/progressbar.component.d.ts +0 -61
  108. package/lib/angular/progressbar/progressbar.module.d.ts +0 -9
  109. package/lib/angular/progressindicator/default/default-spinner.component.d.ts +0 -8
  110. package/lib/angular/progressindicator/progressindicator-backdrop.component.d.ts +0 -8
  111. package/lib/angular/progressindicator/progressindicator-config.d.ts +0 -54
  112. package/lib/angular/progressindicator/progressindicator-container.component.d.ts +0 -11
  113. package/lib/angular/progressindicator/progressindicator-ref.d.ts +0 -9
  114. package/lib/angular/progressindicator/progressindicator.directive.d.ts +0 -16
  115. package/lib/angular/progressindicator/progressindicator.module.d.ts +0 -15
  116. package/lib/angular/progressindicator/progressindicator.service.d.ts +0 -33
  117. package/lib/angular/right-to-left/directionDetection.service.d.ts +0 -12
  118. package/lib/angular/selects/events/manage-badge-events.directive.d.ts +0 -15
  119. package/lib/angular/selects/nav/manage-nav-select.directive.d.ts +0 -20
  120. package/lib/angular/selects/option-highlight.directive.d.ts +0 -14
  121. package/lib/angular/selects/select.model.d.ts +0 -1
  122. package/lib/angular/selects/select.module.d.ts +0 -13
  123. package/lib/angular/sidenav/dfSideNavAnimation.d.ts +0 -7
  124. package/lib/angular/sidenav/dfSideNavCollapse.d.ts +0 -46
  125. package/lib/angular/sidenav/dfSideNavCollapse.module.d.ts +0 -9
  126. package/lib/angular/sidenav/dfSideNavCollapse.service.d.ts +0 -24
  127. package/lib/angular/sidenav/dfSideNavCollapseConfig.d.ts +0 -17
  128. package/lib/angular/sidenav/excludeTrap.directive.d.ts +0 -30
  129. package/lib/angular/sidenav/manage-sidenav.directive.d.ts +0 -10
  130. package/lib/angular/sidenav/sidenav-config.d.ts +0 -17
  131. package/lib/angular/sidenav/sidenav.component.d.ts +0 -43
  132. package/lib/angular/sidenav/sidenav.module.d.ts +0 -14
  133. package/lib/angular/sidenav/sidenav.service.d.ts +0 -180
  134. package/lib/angular/sidenav/sidenavlist.component.d.ts +0 -25
  135. package/lib/angular/slider/direction/sliderdirection.directive.d.ts +0 -13
  136. package/lib/angular/slider/lib/change-context.d.ts +0 -6
  137. package/lib/angular/slider/lib/compatibility-helper.d.ts +0 -7
  138. package/lib/angular/slider/lib/event-listener-helper.d.ts +0 -13
  139. package/lib/angular/slider/lib/event-listener.d.ts +0 -7
  140. package/lib/angular/slider/lib/math-helper.d.ts +0 -6
  141. package/lib/angular/slider/lib/options.d.ts +0 -241
  142. package/lib/angular/slider/lib/pointer-type.d.ts +0 -7
  143. package/lib/angular/slider/lib/slider-element.directive.d.ts +0 -51
  144. package/lib/angular/slider/lib/slider-handle.directive.d.ts +0 -22
  145. package/lib/angular/slider/lib/slider-label.directive.d.ts +0 -14
  146. package/lib/angular/slider/lib/slider.component.d.ts +0 -193
  147. package/lib/angular/slider/lib/tooltip-wrapper.component.d.ts +0 -13
  148. package/lib/angular/slider/lib/value-helper.d.ts +0 -13
  149. package/lib/angular/slider/slider.module.d.ts +0 -16
  150. package/lib/angular/stepper/stepper.component.d.ts +0 -30
  151. package/lib/angular/stepper/stepper.directive.d.ts +0 -37
  152. package/lib/angular/stepper/stepper.module.d.ts +0 -8
  153. package/lib/angular/stepper/stepper.service.d.ts +0 -132
  154. package/lib/angular/toast/toast.module.d.ts +0 -8
  155. package/lib/angular/tooltip/tooltip.module.d.ts +0 -9
  156. package/lib/angular/tooltip/truncate/tooltipTruncate.directive.d.ts +0 -19
  157. package/lib/angular/utils/html-element-helper.d.ts +0 -15
  158. package/lib/angular/utils/scrollbar.service.d.ts +0 -46
  159. package/lib/angular/utils/titleTruncate.directive.d.ts +0 -15
  160. package/lib/angular/waves-of-progress/waves.directive.d.ts +0 -36
  161. package/lib/angular/waves-of-progress/waves.module.d.ts +0 -7
  162. package/lib/index.d.ts +0 -70
@@ -1,5 +1,7 @@
1
1
  @use 'sass:map';
2
2
  @use 'sass:meta';
3
+ @import 'navbar.mixins';
4
+
3
5
  // We could add this to allow people to get the superheader height from anywhere in the page.
4
6
  // .df-superheader {
5
7
  // --#{$prefix}navbar-height: #{$df-navbar-superheader-height};
@@ -11,6 +13,7 @@
11
13
  --#{$prefix}navbar-height: #{$df-navbar-superheader-height};
12
14
  }
13
15
  }
16
+
14
17
  // CSS for nav
15
18
  .navbar {
16
19
  --#{$prefix}active-border-width: #{$df-active-border-width};
@@ -65,16 +68,18 @@
65
68
  --#{$prefix}navbar-color: var(--#{$prefix}navbar-light-text-color);
66
69
  --#{$prefix}navbar-hover-color: var(--#{$prefix}navbar-light-text-hover-color);
67
70
  --#{$prefix}navbar-active-color: var(--#{$prefix}navbar-light-text-active-color);
68
- --#{$prefix}navbar-brand-color: var(--#{$prefix}navbar-light-text-color);
71
+ --#{$prefix}navbar-brand-color: #{$df-navbar-light-brand-color};
72
+ --#{$prefix}navbar-brand-hover-color: #{$df-navbar-light-brand-hover-color};
69
73
  --#{$prefix}bg-color-opacity: #{$df-navbar-nav-link-box-shadow-opacity};
70
74
  --#{$prefix}box-shadow-color: #{$df-navbar-nav-link-box-shadow-color};
71
75
 
72
- // Is it still used ?
73
- --#{$prefix}navbar-nav-link-box-shadow-color-rgb: #{shades-rgb-css-var('primary', 'bg-color')};
74
-
75
76
  @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
76
77
  --#{$prefix}inner-box-shadow-color: #{$body-bg};
77
78
  --#{$prefix}box-shadow-color: var(--#{$prefix}navbar-color);
79
+ --#{$prefix}navbar-toggler-icon-bg: none;
80
+ --#{$prefix}navbar-nav-link-bg-hover-color: var(--#{$prefix}navbar-color-alt-hovered-background);
81
+ --#{$prefix}navbar-nav-link-border-hover-color: var(--#{$prefix}navbar-color-alt-hovered-border);
82
+ background-color: var(--#{$prefix}navbar-color-inert-alt-background);
78
83
  }
79
84
 
80
85
  --#{$prefix}navbar-toggle-box-shadow: #{$df-navbar-toggle-focused-box-shadow};
@@ -82,15 +87,14 @@
82
87
 
83
88
  font-size: var(--#{$prefix}navbar-nav-font-size);
84
89
  box-shadow: var(--#{$prefix}navbar-boxshadow);
90
+
85
91
  .navbar-text {
86
92
  white-space: var(--#{$prefix}navbartext-white-space);
87
93
  overflow: var(--#{$prefix}navbartext-overflow);
88
94
  text-overflow: var(--#{$prefix}navbartext-text-overflow);
89
- @include ltr {
90
- margin-left: var(--#{$prefix}navbartext-margin-start);
91
- }
92
- @include rtl {
93
- margin-right: var(--#{$prefix}navbartext-margin-start);
95
+ margin-inline-start: var(--#{$prefix}navbartext-margin-start);
96
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
97
+ color: var(--#{$prefix}navbar-color-inert-subtext-foreground);
94
98
  }
95
99
  }
96
100
 
@@ -111,9 +115,11 @@
111
115
  }
112
116
 
113
117
  .navbar-brand {
118
+ border-bottom: 0;
114
119
  position: relative;
115
120
  display: flex;
116
121
  align-items: center;
122
+ font-weight: $df-navbar-brand-font-weight;
117
123
  padding-right: var(--#{$prefix}navbarbrand-padding-right); // add
118
124
  padding-left: var(--#{$prefix}navbarbrand-padding-left); // add
119
125
  padding-top: var(--#{$prefix}navbarbrand-padding-top); // override
@@ -122,80 +128,144 @@
122
128
  min-height: var(--#{$prefix}navbarbrand-min-height);
123
129
  outline: var(--#{$prefix}navbar-nav-link-outline);
124
130
 
125
- &:focus {
131
+ &:focus-visible {
126
132
  box-shadow: var(--#{$prefix}navbar-nav-link-box-shadow);
127
133
  }
134
+
135
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
136
+ background-color: var(--#{$prefix}navbar-color-productName-alt-default-background);
137
+ @include navlink(--#{$prefix}navbar-color-productName-alt);
138
+ } @else {
139
+ &:hover {
140
+ background-color: inherit;
141
+ }
142
+ }
128
143
  }
129
144
 
130
- @each $color, $value in $utilities-bg {
131
- &.bg-#{$color} {
132
- $colorvalue: color-contrast(from-rgb($value));
133
- --#{$prefix}navbar-toggler-icon-bg: #{escape-svg(
134
- url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$colorvalue}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>")
135
- )};
136
- $text-color: shades-css-var($color, 'bg-color', true);
137
- $text-hover-color: shades-css-var($color, 'bg-hover-color', true);
138
- $text-active-color: shades-css-var($color, 'bg-active-color', true);
139
- --#{$prefix}navbar-color: #{$text-color};
140
- --#{$prefix}navbar-hover-color: #{$text-hover-color};
141
- --#{$prefix}navbar-active-color: #{$text-active-color};
142
- --#{$prefix}navbar-brand-color: #{$text-color};
143
- --#{$prefix}navbar-brand-hover-color: #{$text-hover-color};
144
-
145
- // override default theme
146
- --#{$prefix}navbar-nav-link-focus-color: #{$text-color};
147
- --#{$prefix}navbar-nav-link-bg-focus-color: #{shades-css-var($color, 'bg-color')};
148
- // TODo check if still needed
149
- --#{$prefix}navbar-nav-link-box-shadow-color-rgb: #{shades-rgb-css-var($color, 'bg-color')};
150
- --#{$prefix}navbar-light-toggler-hover-bg: #{shades-css-var($color, 'bg-subtle-hover-color')};
151
- --#{$prefix}navbar-nav-link-bg-hover-color: #{shades-css-var(
152
- $color,
153
- 'bg-hover-color'
154
- )}; // custom this with 2 shades le
155
- // plus add the color of the text plus the color of the focus
156
- @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
157
- --#{$prefix}inner-box-shadow-color: #{shades-css-var($color, 'bg-color')};
158
- --#{$prefix}box-shadow-color: var(--#{$prefix}navbar-color);
159
- } @else {
160
- --#{$prefix}box-shadow-color: #{shades-rgba-css-var-with-opacity($color, 'bg-color', true)};
145
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
146
+ // in DF 21 we will only support main and alt variants, not bg-success and stuff
147
+ &.bg-dark-primary {
148
+ --#{$prefix}navbar-color: var(--#{$prefix}navbar-color-inert-main-foreground);
149
+ --#{$prefix}navbar-hover-color: var(--#{$prefix}navbar-color-inert-main-foreground);
150
+ --#{$prefix}navbar-active-color: var(--#{$prefix}navbar-color-inert-main-foreground);
151
+ --#{$prefix}navbar-brand-color: var(--#{$prefix}navbar-color-productName-main-default-foreground);
152
+ --#{$prefix}navbar-brand-hover-color: var(--#{$prefix}navbar-color-productName-main-hovered-foreground);
153
+ --#{$prefix}navbar-nav-link-bg-hover-color: var(--#{$prefix}navbar-color-main-hovered-background);
154
+ --#{$prefix}navbar-nav-link-border-hover-color: var(--#{$prefix}navbar-color-main-hovered-border);
155
+ --#{$prefix}navbar-nav-link-bg-focus-color: var(--#{$prefix}navbar-color-inert-main-background);
156
+ --#{$prefix}inner-box-shadow-color: var(--#{$prefix}navbar-color-inert-main-background);
157
+ background-color: var(--#{$prefix}navbar-color-inert-main-background) !important;
158
+
159
+ .navbar-text {
160
+ color: var(--#{$prefix}navbar-color-inert-main-foreground);
161
+ }
162
+
163
+ .navbar-brand {
164
+ background-color: var(--#{$prefix}navbar-color-inert-main-background);
165
+ @include navlink(--#{$prefix}navbar-color-productName-main);
161
166
  }
162
- --#{$prefix}navbar-nav-link-box-shadow: #{$df-navbar-nav-link-box-shadow};
163
167
 
164
168
  .navbar-nav {
165
169
  .nav-link {
166
- &:hover {
167
- // add
168
- background: var(--#{$prefix}navbar-nav-link-bg-hover-color); // add
170
+ &.dropdown-toggle {
171
+ @include navlink(--#{$prefix}navbar-color-dropdown-main);
172
+ }
173
+
174
+ &:not(.dropdown-toggle) {
175
+ @include navlink(--#{$prefix}navbar-color-main);
176
+ }
177
+ }
178
+
179
+ .show > .nav-link,
180
+ .active > .nav-link,
181
+ .nav-link.show,
182
+ .nav-link.active {
183
+ &.dropdown-toggle {
184
+ @include navlink-active(--#{$prefix}navbar-color-dropdown-main);
185
+ }
186
+
187
+ &:not(.dropdown-toggle) {
188
+ @include navlink-active(--#{$prefix}navbar-color-main);
169
189
  }
170
190
  }
171
191
  }
172
- // Should we custom this. See with UX
173
- // .navbar-text {
174
- // color: var(--#{$prefix}navbar-light-text-color);
175
- // }
192
+
176
193
  .navbar-toggler {
177
194
  &:focus {
178
- @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
179
- --#{$prefix}inner-box-shadow-color: #{shades-css-var($color, 'bg-color')};
180
- --#{$prefix}box-shadow-color: var(--#{$prefix}navbar-color);
181
- } @else {
182
- --#{$prefix}box-shadow-color: #{shades-rgba-css-var-with-opacity($color, 'bg-color', true)};
195
+ box-shadow: none;
196
+ }
197
+
198
+ @include navlink(--#{$prefix}navbar-color-main);
199
+ }
200
+ }
201
+ } @else {
202
+ @each $color, $value in $utilities-bg {
203
+ &.bg-#{$color} {
204
+ $colorvalue: color-contrast(from-rgb($value));
205
+ --#{$prefix}navbar-toggler-icon-bg: #{escape-svg(
206
+ url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$colorvalue}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>")
207
+ )};
208
+ $text-color: shades-css-var($color, 'bg-color', true);
209
+ $text-hover-color: shades-css-var($color, 'bg-hover-color', true);
210
+ $text-active-color: shades-css-var($color, 'bg-active-color', true);
211
+ --#{$prefix}navbar-color: #{$text-color};
212
+ --#{$prefix}navbar-hover-color: #{$text-hover-color};
213
+ --#{$prefix}navbar-active-color: #{$text-active-color};
214
+ --#{$prefix}navbar-brand-color: #{$text-color};
215
+ --#{$prefix}navbar-brand-hover-color: #{$text-hover-color};
216
+
217
+ // override default theme
218
+ --#{$prefix}navbar-nav-link-focus-color: #{$text-color};
219
+ --#{$prefix}navbar-nav-link-bg-focus-color: #{shades-css-var($color, 'bg-color')};
220
+ --#{$prefix}navbar-light-toggler-hover-bg: #{shades-css-var($color, 'bg-subtle-hover-color')};
221
+ --#{$prefix}navbar-nav-link-bg-hover-color: #{shades-css-var(
222
+ $color,
223
+ 'bg-hover-color'
224
+ )}; // custom this with 2 shades le
225
+ // plus add the color of the text plus the color of the focus
226
+ --#{$prefix}box-shadow-color: #{shades-rgba-css-var-with-opacity($color, 'bg-color', true)};
227
+ --#{$prefix}navbar-nav-link-box-shadow: #{$df-navbar-nav-link-box-shadow};
228
+
229
+ .navbar-nav {
230
+ .nav-link {
231
+ &:hover {
232
+ // add
233
+ background: var(--#{$prefix}navbar-nav-link-bg-hover-color); // add
234
+ }
183
235
  }
184
- --#{$prefix}navbar-toggle-box-shadow: #{$df-navbar-toggle-focused-box-shadow};
185
236
  }
186
- &:hover {
187
- background-color: #{shades-css-var($color, 'bg-hover-color')};
237
+
238
+ // Should we custom this. See with UX
239
+ // .navbar-text {
240
+ // color: var(--#{$prefix}navbar-light-text-color);
241
+ // }
242
+ .navbar-toggler {
188
243
  &:focus {
189
- // verify the bg color change
190
- @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
191
- --#{$prefix}inner-box-shadow-color: #{shades-css-var($color, 'bg-hover-color')};
192
- --#{$prefix}box-shadow-color: var(--#{$prefix}navbar-hover-color);
193
- --#{$prefix}navbar-toggle-box-shadow: #{$df-navbar-toggle-focused-box-shadow};
194
- }
244
+ box-shadow: none;
245
+ }
246
+
247
+ &:focus-visible {
248
+ --#{$prefix}box-shadow-color: #{shades-rgba-css-var-with-opacity($color, 'bg-color', true)};
249
+ --#{$prefix}navbar-toggle-box-shadow: #{$df-navbar-toggle-focused-box-shadow};
250
+ }
251
+
252
+ &:hover {
253
+ background-color: #{shades-css-var($color, 'bg-hover-color')};
195
254
  }
196
255
  }
197
256
  }
198
257
  }
258
+
259
+ //Override link behaviour since tokens are missing
260
+ .nav-link {
261
+ color: var(--#{$prefix}nav-link-color);
262
+ }
263
+ .navbar-brand {
264
+ color: var(--#{$prefix}navbar-brand-color);
265
+ &:hover {
266
+ color: var(--#{$prefix}navbar-brand-hover-color);
267
+ }
268
+ }
199
269
  }
200
270
 
201
271
  // default without bg-X class
@@ -214,7 +284,7 @@
214
284
  border-color: var(--#{$prefix}navbar-nav-link-border-color);
215
285
  box-shadow: none;
216
286
 
217
- &:focus {
287
+ &:focus-visible {
218
288
  // add
219
289
  color: var(--#{$prefix}navbar-nav-link-focus-color); // override
220
290
  background: var(--#{$prefix}navbar-nav-link-bg-focus-color); // add
@@ -234,7 +304,7 @@
234
304
  color: var(--#{$prefix}navbar-hover-color); // override
235
305
  background: var(--#{$prefix}navbar-nav-link-bg-hover-color); // add
236
306
  border-color: var(--#{$prefix}navbar-nav-link-border-hover-color); // add
237
- &:focus {
307
+ &:focus-visible {
238
308
  //add
239
309
  color: var(--#{$prefix}navbar-hover-color); //override
240
310
  @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
@@ -245,6 +315,15 @@
245
315
  }
246
316
  }
247
317
 
318
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
319
+ &.dropdown-toggle {
320
+ @include navlink(--#{$prefix}navbar-color-dropdown-alt);
321
+ }
322
+ &:not(.dropdown-toggle) {
323
+ @include navlink(--#{$prefix}navbar-color-alt);
324
+ }
325
+ }
326
+
248
327
  // Reinitialize border of nav-link button
249
328
  &.btn {
250
329
  border-top: inherit;
@@ -253,10 +332,12 @@
253
332
  border-radius: inherit;
254
333
  }
255
334
  }
335
+
256
336
  .active > .nav-link,
257
337
  .nav-link.active {
258
- &:focus {
338
+ &:focus-visible {
259
339
  border-bottom: none;
340
+
260
341
  &:before {
261
342
  bottom: var(--#{$prefix}active-border-width);
262
343
  }
@@ -272,13 +353,24 @@
272
353
  // todo add the before with a border 1px white
273
354
  font-weight: var(--#{$prefix}active-font-weight); // add
274
355
  }
275
- &:hover {
276
- color: var(--#{$prefix}navbar-hover-color); // override
277
- &:focus {
356
+
357
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
358
+ &.dropdown-toggle {
359
+ @include navlink-active(--#{$prefix}navbar-color-dropdown-alt);
360
+ }
361
+ &:not(.dropdown-toggle) {
362
+ @include navlink-active(--#{$prefix}navbar-color-alt);
363
+ }
364
+ } @else {
365
+ &:hover {
278
366
  color: var(--#{$prefix}navbar-hover-color); // override
367
+ &:focus-visible {
368
+ color: var(--#{$prefix}navbar-hover-color); // override
369
+ }
279
370
  }
280
371
  }
281
372
  }
373
+
282
374
  // end of added
283
375
  }
284
376
  }
@@ -289,13 +381,23 @@
289
381
  border: var(--#{$prefix}navbar-toggle-border);
290
382
  min-width: var(--#{$prefix}navbar-toggle-icon-width);
291
383
  min-height: var(--#{$prefix}navbar-toggle-icon-height);
384
+
292
385
  &:focus {
386
+ box-shadow: none;
387
+ }
388
+
389
+ &:focus-visible {
293
390
  outline: var(--#{$prefix}navbar-nav-link-outline);
294
391
  box-shadow: var(--#{$prefix}navbar-toggle-box-shadow);
295
392
  }
393
+
296
394
  &:hover {
297
395
  background-color: var(--#{$prefix}navbar-light-toggler-hover-bg);
298
396
  }
397
+
398
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
399
+ @include navlink(--#{$prefix}navbar-color-alt);
400
+ }
299
401
  // TODO extend if for the closing button of the side nav ??
300
402
  }
301
403
 
@@ -312,10 +414,11 @@
312
414
  .navbar-nav {
313
415
  .active > .nav-link,
314
416
  .nav-link.active {
315
- &:focus:before {
417
+ &:focus-visible:before {
316
418
  bottom: 0;
317
419
  left: calc(var(--#{$prefix}active-border-width));
318
420
  }
421
+
319
422
  &:after {
320
423
  content: '';
321
424
  position: absolute;
@@ -327,6 +430,7 @@
327
430
  border-bottom: none;
328
431
  }
329
432
  }
433
+
330
434
  .nav-link {
331
435
  padding-bottom: var(--#{$prefix}navbar-nav-link-expanded-padding-bottom);
332
436
 
@@ -338,6 +442,7 @@
338
442
  justify-content: inherit;
339
443
  }
340
444
  }
445
+
341
446
  .nav-item.dropdown {
342
447
  .dropdown-menu {
343
448
  margin: var(--#{$prefix}navbar-dropdown-menu-collapse-margin);
@@ -345,6 +450,7 @@
345
450
  box-shadow: var(--#{$prefix}navbar-dropdown-menu-collapse-box-shadow);
346
451
  }
347
452
  }
453
+
348
454
  &:last-of-type {
349
455
  .nav-item.dropdown:last-of-type {
350
456
  .dropdown-menu {
@@ -362,13 +468,15 @@
362
468
  padding-right: var(--#{$prefix}navbar-nav-link-padding-right);
363
469
  padding-left: var(--#{$prefix}navbar-nav-link-padding-left);
364
470
  }
471
+
365
472
  .active > .nav-link,
366
473
  .nav-link.active {
367
- &:focus:before {
474
+ &:focus-visible:before {
368
475
  &:before {
369
476
  bottom: var(--#{$prefix}active-border-width);
370
477
  }
371
478
  }
479
+
372
480
  &:after {
373
481
  content: '';
374
482
  position: absolute;
@@ -417,6 +525,7 @@
417
525
  .navbar {
418
526
  box-shadow: var(--#{$prefix}superheader-navbar-boxshadow); // override above settings
419
527
  }
528
+
420
529
  header:first-of-type {
421
530
  //add
422
531
  border-bottom: var(--#{$prefix}superheader-border-bottom);
@@ -1,24 +1,48 @@
1
- @use 'sass:math';
2
-
3
1
  $df-active-border-width: 0.1875rem !default; // 3px
4
- $df-navbar-link-active-border: $df-active-border-width solid var(--#{$prefix}navbar-color, #{shades-css-var('primary', 'bg-color')}) !default;
2
+ $df-navbar-link-active-border: $df-active-border-width solid
3
+ var(--#{$prefix}navbar-color, #{shades-css-var('primary', 'bg-color')}) !default;
5
4
  $df-active-font-weight: bold !default;
6
5
  $df-navbar-boxshadow: var(--#{$prefix}box-shadow) !default;
7
6
  $df-navbar-height: 3.5rem !default; // 56px to be define at root level
8
7
  $df-navbarbrand-padding-right: 1rem !default;
9
8
  $df-navbarbrand-padding-left: 1rem !default;
10
- $df-navbarbrand-padding-top: math.div($df-navbar-height - ($navbar-brand-font-size * $line-height-base), 2) !default;
11
- $df-navbarbrand-padding-bottom: math.div($df-navbar-height - ($navbar-brand-font-size * $line-height-base), 2) !default;
12
- $df-navbarbrand-min-height:
13
- $df-navbarbrand-padding-top + $df-navbarbrand-padding-bottom + $navbar-brand-font-size * $line-height-base !default;
14
- $df-navbar-light-text-color: shades-css-var('primary', 'bg-color') !default;
15
- $df-navbar-light-text-hover-color: shades-css-var('primary', 'bg-hover-color') !default;
16
- $df-navbar-light-text-active-color: shades-css-var('primary', 'bg-active-color') !default;
9
+ $df-navbarbrand-padding-top: calc(($df-navbar-height - ($navbar-brand-font-size * $line-height-base)) / 2) !default;
10
+ $df-navbarbrand-padding-bottom: calc(($df-navbar-height - ($navbar-brand-font-size * $line-height-base)) / 2) !default;
11
+ $df-navbarbrand-min-height: calc(
12
+ $df-navbarbrand-padding-top + $df-navbarbrand-padding-bottom + $navbar-brand-font-size * $line-height-base
13
+ ) !default;
14
+ $df-navbar-light-text-color: shades-css-var-brand2023(
15
+ 'navbar-color-inert-alt-foreground',
16
+ 'primary',
17
+ 'bg-color'
18
+ ) !default;
19
+ $df-navbar-light-text-hover-color: shades-css-var-brand2023(
20
+ 'navbar-color-inert-alt-foreground',
21
+ 'primary',
22
+ 'bg-hover-color'
23
+ ) !default;
24
+ $df-navbar-light-text-active-color: shades-css-var-brand2023(
25
+ 'navbar-color-inert-alt-foreground',
26
+ 'primary',
27
+ 'bg-active-color'
28
+ ) !default;
29
+ $df-navbar-light-brand-color: shades-css-var-brand2023(
30
+ 'navbar-color-productName-alt-default-foreground',
31
+ 'primary',
32
+ 'bg-color'
33
+ ) !default;
34
+ $df-navbar-light-brand-hover-color: shades-css-var-brand2023(
35
+ 'navbar-color-productName-alt-hovered-foreground',
36
+ 'primary',
37
+ 'bg-hover-color'
38
+ ) !default;
17
39
  $df-navbar-nav-link-bg-hover-color: $df-hover-bg-color !default; // removing $df-hover-bg-color everywhere for this ?
18
40
  $df-navbar-nav-link-padding-right: $df-navbarbrand-padding-right !default;
19
41
  $df-navbar-nav-link-padding-left: $df-navbarbrand-padding-left !default;
20
42
  $df-navbar-nav-font-size: $font-size-base !default;
21
- $df-navbar-nav-link-padding-top: math.div($df-navbar-height - ($df-navbar-nav-font-size * $line-height-base), 2) !default;
43
+ $df-navbar-nav-link-padding-top: calc(
44
+ ($df-navbar-height - ($df-navbar-nav-font-size * $line-height-base)) / 2
45
+ ) !default;
22
46
  $df-navbar-nav-link-padding-bottom: $df-navbar-nav-link-padding-top !default;
23
47
  $df-navbar-nav-link-expanded-padding-bottom: $df-navbar-nav-link-padding-top !default;
24
48
  $df-navbar-nav-link-border-hover-color: transparent !default;
@@ -50,14 +74,18 @@ $df-navbar-toggle-border: 0 !default;
50
74
  $df-navbar-nav-link-bg-focus-color: $body-bg !default;
51
75
  $df-navbar-nav-link-focus-color: $navbar-light-color !default;
52
76
  $df-navbar-dark-toggler-hover-bg: shades-css-var('primary', 'bg-hover-color') !default;
53
- $df-navbar-light-toggler-hover-bg: shades-css-var('primary', 'bg-subtle-hover-color') !default;
77
+ $df-navbar-light-toggler-hover-bg: shades-css-var-brand2023(
78
+ 'navbar-color-alt-hovered-background',
79
+ 'primary',
80
+ 'bg-subtle-hover-color'
81
+ ) !default;
54
82
  $df-navbar-dropdown-menu-collapse-margin: 0 $df-navbar-nav-link-padding-right 0 $df-navbar-nav-link-padding-left !default;
55
83
  $df-navbar-dropdown-menu-collapse-box-shadow: none !default;
56
84
  $df-navbar-dropdown-menu-collapse-last-item-margin-bottom: $df-navbar-nav-link-padding-bottom !default;
57
85
  $df-navbar-dropdown-btn-bg: transparent !default;
58
86
 
59
87
  $df-navbar-superheader-height: calc(
60
- #{$df-navbarbrand-min-height + 2 * $df-superheader-firstnav-padding-y + $df-navbar-height} + #{$border-width}
88
+ calc($df-navbarbrand-min-height + 2 * $df-superheader-firstnav-padding-y + $df-navbar-height) + #{$border-width}
61
89
  ) !default;
62
90
 
63
91
  $df-navbar-nav-link-focus-box-shadow-width: $input-btn-focus-width !default;
@@ -65,6 +93,7 @@ $df-navbar-toggle-focused-box-shadow: $df-focused-box-shadow !default;
65
93
  $df-navbar-nav-link-box-shadow: $df-focused-inset-box-shadow !default;
66
94
  $df-navbar-nav-link-box-shadow-opacity: $input-btn-focus-color-opacity !default;
67
95
  $df-navbar-nav-link-box-shadow-color: shades-rgba-css-var-with-opacity('primary', 'bg-color') !default;
96
+ $df-navbar-brand-font-weight: inherit !default;
68
97
 
69
98
  // CSS var for navbar height
70
99
  // Can't be wrapped as used elsewhere