@design-factory/design-factory 17.1.0 → 18.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/README.md +53 -3
  2. package/assets/fonts/df-icons/df-icons-light.woff2 +0 -0
  3. package/assets/fonts/df-icons/df-icons-solid.woff2 +0 -0
  4. package/assets/fonts/font-awesome/fa-brands-400.woff2 +0 -0
  5. package/assets/fonts/font-awesome/fa-light-300.woff2 +0 -0
  6. package/assets/fonts/font-awesome/fa-solid-900.woff2 +0 -0
  7. package/assets/waves_of_progress/arrowRight.svg +34 -0
  8. package/assets/waves_of_progress/arrowUp.svg +35 -0
  9. package/assets/waves_of_progress/circleDiagonal.svg +29 -0
  10. package/assets/waves_of_progress/circleUp.svg +24 -0
  11. package/design-factory-initial-branding.css +13 -1
  12. package/design-factory.css +13 -1
  13. package/design-factory.scss +3 -0
  14. package/esm2022/lib/angular/accessibility/accessibility.module.mjs +4 -4
  15. package/esm2022/lib/angular/accessibility/components/skip-links-container/skip-links-container.component.mjs +4 -4
  16. package/esm2022/lib/angular/accessibility/directives/skip-link.directive.mjs +4 -4
  17. package/esm2022/lib/angular/alert/alert.module.mjs +4 -4
  18. package/esm2022/lib/angular/animation/ngbTransition.mjs +1 -1
  19. package/esm2022/lib/angular/card/card-advanced.module.mjs +4 -4
  20. package/esm2022/lib/angular/card/manage-card-selection.directive.mjs +4 -4
  21. package/esm2022/lib/angular/datepicker/closedatepicker.directive.mjs +4 -4
  22. package/esm2022/lib/angular/datepicker/datepicker-keyboard-nav.service.mjs +4 -4
  23. package/esm2022/lib/angular/datepicker/datepicker-range.directive.mjs +12 -12
  24. package/esm2022/lib/angular/datepicker/datepicker-range.service.mjs +4 -4
  25. package/esm2022/lib/angular/datepicker/datepicker.module.mjs +4 -4
  26. package/esm2022/lib/angular/df.module.mjs +4 -4
  27. package/esm2022/lib/angular/footer/footer.module.mjs +4 -4
  28. package/esm2022/lib/angular/icon/amadeus-icon.mjs +3 -3
  29. package/esm2022/lib/angular/icon/icon.module.mjs +4 -4
  30. package/esm2022/lib/angular/icon/insert/insert-icon.directive.mjs +9 -9
  31. package/esm2022/lib/angular/icon/insert/insert-icon.module.mjs +4 -4
  32. package/esm2022/lib/angular/inputs/click/trigger-click.directive.mjs +3 -3
  33. package/esm2022/lib/angular/inputs/icon/inputicon.directive.mjs +4 -4
  34. package/esm2022/lib/angular/inputs/input-advanced.module.mjs +4 -4
  35. package/esm2022/lib/angular/mediaqueries/ifMedia.directive.mjs +4 -4
  36. package/esm2022/lib/angular/mediaqueries/media.module.mjs +4 -4
  37. package/esm2022/lib/angular/mediaqueries/media.service.mjs +4 -4
  38. package/esm2022/lib/angular/mediaqueries/mediaUtils.service.mjs +10 -10
  39. package/esm2022/lib/angular/modal/modal.service.mjs +4 -4
  40. package/esm2022/lib/angular/popover/config/popover.config.mjs +3 -3
  41. package/esm2022/lib/angular/popover/popover.module.mjs +4 -4
  42. package/esm2022/lib/angular/progressbar/progressbar.component.mjs +4 -4
  43. package/esm2022/lib/angular/progressbar/progressbar.module.mjs +4 -4
  44. package/esm2022/lib/angular/progressindicator/default/default-spinner.component.mjs +3 -3
  45. package/esm2022/lib/angular/progressindicator/progressindicator-backdrop.component.mjs +3 -3
  46. package/esm2022/lib/angular/progressindicator/progressindicator-container.component.mjs +4 -4
  47. package/esm2022/lib/angular/progressindicator/progressindicator.directive.mjs +4 -4
  48. package/esm2022/lib/angular/progressindicator/progressindicator.module.mjs +4 -4
  49. package/esm2022/lib/angular/progressindicator/progressindicator.service.mjs +4 -4
  50. package/esm2022/lib/angular/right-to-left/directionDetection.service.mjs +4 -4
  51. package/esm2022/lib/angular/selects/events/manage-badge-events.directive.mjs +3 -3
  52. package/esm2022/lib/angular/selects/nav/manage-nav-select.directive.mjs +4 -4
  53. package/esm2022/lib/angular/selects/option-highlight.directive.mjs +4 -4
  54. package/esm2022/lib/angular/selects/select.module.mjs +4 -4
  55. package/esm2022/lib/angular/sidenav/dfSideNavAnimation.mjs +1 -1
  56. package/esm2022/lib/angular/sidenav/dfSideNavCollapse.mjs +4 -4
  57. package/esm2022/lib/angular/sidenav/dfSideNavCollapse.module.mjs +4 -4
  58. package/esm2022/lib/angular/sidenav/dfSideNavCollapse.service.mjs +3 -3
  59. package/esm2022/lib/angular/sidenav/dfSideNavCollapseConfig.mjs +3 -3
  60. package/esm2022/lib/angular/sidenav/excludeTrap.directive.mjs +4 -4
  61. package/esm2022/lib/angular/sidenav/manage-sidenav.directive.mjs +4 -4
  62. package/esm2022/lib/angular/sidenav/sidenav-config.mjs +3 -3
  63. package/esm2022/lib/angular/sidenav/sidenav.component.mjs +12 -12
  64. package/esm2022/lib/angular/sidenav/sidenav.module.mjs +4 -4
  65. package/esm2022/lib/angular/sidenav/sidenav.service.mjs +4 -4
  66. package/esm2022/lib/angular/sidenav/sidenavlist.component.mjs +5 -5
  67. package/esm2022/lib/angular/slider/direction/sliderdirection.directive.mjs +7 -4
  68. package/esm2022/lib/angular/slider/lib/compatibility-helper.mjs +1 -1
  69. package/esm2022/lib/angular/slider/lib/event-listener-helper.mjs +1 -1
  70. package/esm2022/lib/angular/slider/lib/slider-element.directive.mjs +8 -5
  71. package/esm2022/lib/angular/slider/lib/slider-handle.directive.mjs +10 -7
  72. package/esm2022/lib/angular/slider/lib/slider-label.directive.mjs +7 -4
  73. package/esm2022/lib/angular/slider/lib/slider.component.mjs +103 -125
  74. package/esm2022/lib/angular/slider/lib/tooltip-wrapper.component.mjs +7 -4
  75. package/esm2022/lib/angular/slider/lib/value-helper.mjs +1 -1
  76. package/esm2022/lib/angular/slider/slider.module.mjs +16 -8
  77. package/esm2022/lib/angular/stepper/stepper.component.mjs +8 -8
  78. package/esm2022/lib/angular/stepper/stepper.directive.mjs +7 -7
  79. package/esm2022/lib/angular/stepper/stepper.module.mjs +4 -4
  80. package/esm2022/lib/angular/stepper/stepper.service.mjs +8 -8
  81. package/esm2022/lib/angular/toast/toast.module.mjs +4 -4
  82. package/esm2022/lib/angular/tooltip/tooltip.module.mjs +4 -4
  83. package/esm2022/lib/angular/tooltip/truncate/tooltipTruncate.directive.mjs +3 -3
  84. package/esm2022/lib/angular/utils/scrollbar.service.mjs +3 -3
  85. package/esm2022/lib/angular/utils/titleTruncate.directive.mjs +4 -4
  86. package/esm2022/lib/angular/waves-of-progress/waves.directive.mjs +88 -0
  87. package/esm2022/lib/angular/waves-of-progress/waves.module.mjs +16 -0
  88. package/esm2022/lib/index.mjs +4 -1
  89. package/fesm2022/design-factory.mjs +490 -390
  90. package/fesm2022/design-factory.mjs.map +1 -1
  91. package/lib/angular/slider/direction/sliderdirection.directive.d.ts +3 -0
  92. package/lib/angular/slider/lib/slider-element.directive.d.ts +3 -0
  93. package/lib/angular/slider/lib/slider-handle.directive.d.ts +4 -1
  94. package/lib/angular/slider/lib/slider-label.directive.d.ts +3 -0
  95. package/lib/angular/slider/lib/slider.component.d.ts +3 -0
  96. package/lib/angular/slider/lib/tooltip-wrapper.component.d.ts +3 -0
  97. package/lib/angular/slider/slider.module.d.ts +4 -0
  98. package/lib/angular/stepper/stepper.service.d.ts +2 -1
  99. package/lib/angular/waves-of-progress/waves.directive.d.ts +35 -0
  100. package/lib/angular/waves-of-progress/waves.module.d.ts +7 -0
  101. package/lib/index.d.ts +2 -0
  102. package/package.json +14 -13
  103. package/schematics/migrations/15_0_0/remove-ngx-slider/index.js +3 -2
  104. package/schematics/migrations/16_0_0/navbar-logo-dark/index.js +1 -1
  105. package/schematics/migrations/16_0_0/revert-to-old-brand/index.js +1 -1
  106. package/schematics/migrations/16_0_0/scss-var/index.js +1 -1
  107. package/schematics/migrations/16_0_0/stepper-classes/index.js +1 -1
  108. package/schematics/migrations/18_0_0/font-awesome-6/index.d.ts +11 -0
  109. package/schematics/migrations/18_0_0/font-awesome-6/index.js +748 -0
  110. package/schematics/migrations/18_0_0/media-object-border-0/index.d.ts +6 -0
  111. package/schematics/migrations/18_0_0/media-object-border-0/index.js +40 -0
  112. package/schematics/migrations/18_0_0/stepper-classes-18.0.0/index.d.ts +13 -0
  113. package/schematics/migrations/18_0_0/stepper-classes-18.0.0/index.js +59 -0
  114. package/schematics/migrations/helpers.js +1 -2
  115. package/schematics/migrations/migration.json +15 -0
  116. package/schematics/migrations/utils/component-resource-collector.js +2 -1
  117. package/schematics/migrations/utils/project_tsconfig_paths.js +1 -2
  118. package/schematics/migrations/utils/style-updater.js +2 -1
  119. package/schematics/migrations/utils/template-updater.js +2 -1
  120. package/schematics/migrations/utils/typescript/compiler_host.js +5 -5
  121. package/schematics/migrations/utils/typescript/decorators.js +4 -4
  122. package/schematics/migrations/utils/typescript/functions.js +3 -3
  123. package/schematics/migrations/utils/typescript/imports.js +3 -3
  124. package/schematics/migrations/utils/typescript/line-mappings.js +2 -3
  125. package/schematics/migrations/utils/typescript/parse_tsconfig.js +4 -4
  126. package/schematics/migrations/utils/typescript/property-name.js +4 -4
  127. package/schematics/ng-add/index.js +5 -6
  128. package/styles/scss/_common.mixins.scss +12 -1
  129. package/styles/scss/_common.root.scss +1 -0
  130. package/styles/scss/_common.variables.scss +10 -6
  131. package/styles/scss/_variables.scss +1 -0
  132. package/styles/scss/agnosui/_variables.scss +18 -59
  133. package/styles/scss/bootstrap/_maps.scss +7 -6
  134. package/styles/scss/bootstrap/_rtl-styles-override.scss +6 -4
  135. package/styles/scss/bootstrap/_variables.scss +93 -29
  136. package/styles/scss/components/accordion/_accordion.scss +76 -11
  137. package/styles/scss/components/accordion/_accordion.variables.scss +9 -0
  138. package/styles/scss/components/alert/_alert.scss +8 -10
  139. package/styles/scss/components/alert/_alert.variables.scss +0 -3
  140. package/styles/scss/components/badge/_badge.mixins.scss +13 -0
  141. package/styles/scss/components/badge/_badge.scss +130 -78
  142. package/styles/scss/components/badge/_badge.variables.scss +3 -0
  143. package/styles/scss/components/brand-color/_brand-color.mixins.scss +14 -1
  144. package/styles/scss/components/brand-color/_brand-color.scss +4 -0
  145. package/styles/scss/components/breadcrumbs/_breadcrumbs.scss +38 -17
  146. package/styles/scss/components/breadcrumbs/_breadcrumbs.variables.scss +8 -2
  147. package/styles/scss/components/button/_button.scss +125 -7
  148. package/styles/scss/components/button/_button.variables.scss +6 -0
  149. package/styles/scss/components/card/_card.scss +102 -31
  150. package/styles/scss/components/card/_card.variables.scss +13 -4
  151. package/styles/scss/components/checkbox/_checkbox.scss +14 -4
  152. package/styles/scss/components/checkbox/_checkbox.variables.scss +2 -1
  153. package/styles/scss/components/collapse/_collapse.scss +0 -5
  154. package/styles/scss/components/datepicker/_datepicker.scss +84 -28
  155. package/styles/scss/components/datepicker/_datepicker.variables.scss +8 -3
  156. package/styles/scss/components/dropdown/_dropdown.mixins.scss +2 -20
  157. package/styles/scss/components/dropdown/_dropdown.scss +70 -18
  158. package/styles/scss/components/dropdown/_dropdown.variables.scss +7 -3
  159. package/styles/scss/components/fonts/_font-awesome-icons-brands.scss +1585 -0
  160. package/styles/scss/components/fonts/_font-awesome-icons.scss +12886 -0
  161. package/styles/scss/components/fonts/_fonts-family.scss +106 -50
  162. package/styles/scss/components/fonts/_fonts.scss +4 -4
  163. package/styles/scss/components/fonts/_icon-font.scss +22 -5036
  164. package/styles/scss/components/footer/_footer.scss +3 -4
  165. package/styles/scss/components/form/_form.scss +4 -3
  166. package/styles/scss/components/inputs/_inputs.mixin.scss +7 -3
  167. package/styles/scss/components/inputs/_inputs.scss +9 -25
  168. package/styles/scss/components/inputs/_inputs.variables.scss +1 -4
  169. package/styles/scss/components/link/_link.mixins.scss +13 -6
  170. package/styles/scss/components/link/_link.scss +44 -28
  171. package/styles/scss/components/link/_link.variables.scss +7 -13
  172. package/styles/scss/components/list-group/_list-group.scss +26 -17
  173. package/styles/scss/components/media/_media.scss +52 -24
  174. package/styles/scss/components/media/_media.variables.scss +11 -3
  175. package/styles/scss/components/modal/_modal.scss +7 -3
  176. package/styles/scss/components/modal/_modal.variables.scss +6 -0
  177. package/styles/scss/components/navbar/_navbar.scss +22 -16
  178. package/styles/scss/components/pagination/_pagination.scss +26 -8
  179. package/styles/scss/components/pagination/_pagination.variables.scss +12 -5
  180. package/styles/scss/components/popover/_popover.mixin.scss +2 -0
  181. package/styles/scss/components/popover/_popover.scss +2 -0
  182. package/styles/scss/components/popover/_popover.variables.scss +3 -0
  183. package/styles/scss/components/radio/_radio.scss +15 -2
  184. package/styles/scss/components/scrollspy/_scrollspy.scss +68 -41
  185. package/styles/scss/components/scrollspy/_scrollspy.variables.scss +17 -6
  186. package/styles/scss/components/select/_select.scss +9 -7
  187. package/styles/scss/components/select/_select.variables.scss +5 -3
  188. package/styles/scss/components/sidenav/_sidenav.scss +93 -81
  189. package/styles/scss/components/sidenav/_sidenav.variables.scss +27 -11
  190. package/styles/scss/components/skip-links/_skip-links.scss +9 -8
  191. package/styles/scss/components/skip-links/_skip-links.variables.scss +2 -0
  192. package/styles/scss/components/slider/_slider.scss +15 -1
  193. package/styles/scss/components/stepper/_stepper.mixins.scss +40 -24
  194. package/styles/scss/components/stepper/_stepper.scss +15 -11
  195. package/styles/scss/components/stepper/_stepper.variables.scss +13 -3
  196. package/styles/scss/components/table/_advancedtables.scss +58 -10
  197. package/styles/scss/components/table/_table.scss +8 -2
  198. package/styles/scss/components/table/_table.variables.scss +9 -0
  199. package/styles/scss/components/tabs/_tabs.scss +78 -1
  200. package/styles/scss/components/tabs/_tabs.variables.scss +2 -0
  201. package/styles/scss/components/toast/_toast.scss +128 -58
  202. package/styles/scss/components/toast/_toast.variables.scss +7 -2
  203. package/styles/scss/components/toggle/_toggle.scss +23 -19
  204. package/styles/scss/components/toggle/_toggle.variables.scss +6 -4
  205. package/styles/scss/components/tooltip/_tooltip.scss +12 -0
  206. package/styles/scss/components/tooltip/_tooltip.variables.scss +2 -0
  207. package/styles/scss/components/typeahead/_typeahead.scss +5 -3
  208. package/styles/scss/components/typeahead/_typeahead.variables.scss +1 -0
  209. package/styles/scss/components/waves/_waves.scss +15 -0
  210. package/styles/scss/components/waves/_waves.variables.scss +86 -0
  211. package/styles/scss/df-styles-namespace.scss +1 -1
  212. package/styles/scss/df-styles.scss +4 -1
  213. package/styles/scss/themes/brand2023/_variables.scss +495 -73
  214. package/styles/scss/utilities/_common.utilities.scss +28 -14
  215. package/assets/fonts/amadeus-bold/amadeus-bold.svg +0 -5131
  216. package/assets/fonts/amadeus-bold/amadeus-bold.ttf +0 -0
  217. package/assets/fonts/amadeus-regular/amadeus-regular.svg +0 -5131
  218. package/assets/fonts/amadeus-regular/amadeus-regular.ttf +0 -0
  219. package/assets/fonts/amadeus-thin/amadeus-thin.svg +0 -5131
  220. package/assets/fonts/amadeus-thin/amadeus-thin.ttf +0 -0
  221. package/assets/fonts/icon-font/light/df-light-300.svg +0 -1709
  222. package/assets/fonts/icon-font/light/df-light-300.ttf +0 -0
  223. package/assets/fonts/icon-font/light/df-light-300.woff +0 -0
  224. package/assets/fonts/icon-font/light/df-light-300.woff2 +0 -0
  225. package/assets/fonts/icon-font/solid/df-solid-900.svg +0 -1709
  226. package/assets/fonts/icon-font/solid/df-solid-900.ttf +0 -0
  227. package/assets/fonts/icon-font/solid/df-solid-900.woff +0 -0
  228. package/assets/fonts/icon-font/solid/df-solid-900.woff2 +0 -0
  229. package/assets/fonts/source-sans-pro-bold/source-sans-pro-bold.svg +0 -19926
  230. package/assets/fonts/source-sans-pro-bold/source-sans-pro-bold.ttf +0 -0
  231. package/assets/fonts/source-sans-pro-light/source-sans-pro-light.svg +0 -19165
  232. package/assets/fonts/source-sans-pro-light/source-sans-pro-light.ttf +0 -0
  233. package/assets/fonts/source-sans-pro-regular/source-sans-pro-regular.svg +0 -20412
  234. package/assets/fonts/source-sans-pro-regular/source-sans-pro-regular.ttf +0 -0
  235. package/assets/fonts/source-sans-pro-semibold/source-sans-pro-semibold.svg +0 -20019
  236. package/assets/fonts/source-sans-pro-semibold/source-sans-pro-semibold.ttf +0 -0
@@ -1,3 +1,4 @@
1
+ @use 'sass:meta';
1
2
  // Work around due to the use of a namespace design-factory
2
3
  .form-inline .form-select {
3
4
  width: 100%;
@@ -15,6 +16,30 @@
15
16
  }
16
17
  }
17
18
 
19
+ %dot-highlight {
20
+ position: relative;
21
+
22
+ &:before {
23
+ content: '.';
24
+ font-weight: bold;
25
+ display: inline-block;
26
+
27
+ /* position the dot underneath the character */
28
+ position: absolute;
29
+ bottom: 0;
30
+ @include ltr {
31
+ left: 0;
32
+ }
33
+ @include rtl {
34
+ right: 0;
35
+ }
36
+
37
+ /* center the dot horizontally */
38
+ text-align: center;
39
+ width: 100%;
40
+ }
41
+ }
42
+
18
43
  .ngb-dp-arrow {
19
44
  justify-content: var(--#{$prefix}datepicker-navigation-arrow-justify-contents);
20
45
 
@@ -24,16 +49,19 @@
24
49
  min-width: var(--#{$prefix}datepicker-arrow-width);
25
50
  height: var(--#{$prefix}datepicker-arrow-height);
26
51
  border-radius: var(--#{$prefix}datepicker-arrow-border-radius);
27
- @extend %df-icon-style;
52
+
28
53
  &:focus {
29
54
  outline: $df-datepicker-focused-outline;
30
55
  box-shadow: $df-datepicker-focused-box-shadow;
31
56
  }
57
+
32
58
  text-decoration: none;
59
+
33
60
  &:not(:disabled):not(.disabled):active {
34
61
  text-decoration: none;
35
62
  color: $df-font-icon-color;
36
63
  }
64
+
37
65
  &:disabled,
38
66
  &.disabled {
39
67
  color: var(--#{$prefix}datepicker-arrow-disabled-color);
@@ -42,18 +70,20 @@
42
70
 
43
71
  &.ngb-dp-arrow-prev {
44
72
  .ngb-dp-arrow-btn {
45
- @extend .icon-chevron-left;
73
+ font-family: $df-font-awesome-font-family;
74
+ @extend .fa-chevron-left;
46
75
  @include rtl {
47
- @extend .icon-chevron-right;
76
+ @extend .fa-chevron-right;
48
77
  }
49
78
  }
50
79
  }
51
80
 
52
81
  &.ngb-dp-arrow-next {
53
82
  .ngb-dp-arrow-btn {
54
- @extend .icon-chevron-right;
83
+ font-family: $df-font-awesome-font-family;
84
+ @extend .fa-chevron-right;
55
85
  @include rtl {
56
- @extend .icon-chevron-left;
86
+ @extend .fa-chevron-left;
57
87
  }
58
88
  }
59
89
  }
@@ -117,9 +147,14 @@ ngb-datepicker {
117
147
  --#{$prefix}datepicker-arrow-height: #{$df-datepicker-arrow-height};
118
148
  --#{$prefix}datepicker-arrow-border-radius: #{$df-datepicker-arrow-border-radius};
119
149
  --#{$prefix}datepicker-arrow-disabled-color: #{$df-datepicker-arrow-disabled-color};
150
+ --#{$prefix}datepicker-border-radius: #{$df-datepicker-border-radius};
151
+ --#{$prefix}datepicker-today-border: #{$df-datepicker-today-border};
120
152
 
153
+ border-radius: var(--#{$prefix}datepicker-border-radius) !important;
121
154
  border: var(--#{$prefix}datepicker-panel-border) !important;
122
155
  padding: var(--#{$prefix}datepicker-padding);
156
+ box-shadow: var(--#{$prefix}datepicker-box-shadow);
157
+
123
158
  &.dropdown-menu.show {
124
159
  padding: var(--#{$prefix}datepicker-padding);
125
160
  box-shadow: var(--#{$prefix}datepicker-box-shadow);
@@ -131,6 +166,7 @@ ngb-datepicker {
131
166
  background-color: inherit;
132
167
  padding-top: var(--#{$prefix}datepicker-padding-deactivate);
133
168
  }
169
+
134
170
  .ngb-dp-month {
135
171
  &:first-child .ngb-dp-week {
136
172
  @include ltr {
@@ -140,6 +176,7 @@ ngb-datepicker {
140
176
  padding-right: var(--#{$prefix}datepicker-padding-deactivate);
141
177
  }
142
178
  }
179
+
143
180
  &:last-child .ngb-dp-week {
144
181
  @include ltr {
145
182
  padding-right: var(--#{$prefix}datepicker-padding-deactivate);
@@ -148,10 +185,12 @@ ngb-datepicker {
148
185
  padding-left: var(--#{$prefix}datepicker-padding-deactivate);
149
186
  }
150
187
  }
188
+
151
189
  .ngb-dp-week:last-child {
152
190
  padding-bottom: var(--#{$prefix}datepicker-padding-deactivate);
153
191
  }
154
192
  }
193
+
155
194
  .ngb-dp-month-name {
156
195
  background-color: inherit;
157
196
  font-size: var(--#{$prefix}datepicker-navigation-literal-font-size);
@@ -163,6 +202,7 @@ ngb-datepicker {
163
202
  flex: var(--#{$prefix}datepicker-navigation-arrow-flex);
164
203
  width: var(--#{$prefix}datepicker-day-size);
165
204
  height: var(--#{$prefix}datepicker-day-size);
205
+
166
206
  button.btn {
167
207
  color: var(--#{$prefix}datepicker-navigation-arrow-color);
168
208
  }
@@ -184,6 +224,7 @@ ngb-datepicker {
184
224
  width: var(--#{$prefix}datepicker-day-side);
185
225
  height: var(--#{$prefix}datepicker-day-side);
186
226
  outline: var(--#{$prefix}datepicker-day-focus-outline);
227
+
187
228
  &.disabled {
188
229
  // override the default look
189
230
  cursor: initial;
@@ -191,6 +232,7 @@ ngb-datepicker {
191
232
  }
192
233
  }
193
234
  }
235
+
194
236
  .df-datepicker-date {
195
237
  height: var(--#{$prefix}datepicker-day-size);
196
238
  width: var(--#{$prefix}datepicker-day-size);
@@ -201,9 +243,16 @@ ngb-datepicker {
201
243
  justify-content: var(--#{$prefix}datepicker-day-justify-content);
202
244
 
203
245
  &.holiday {
204
- // important is needed because of the view encapsulation of ng-bootstrap
205
- color: #{shades-css-var('orange', 'bg-color', true)} !important;
206
- background-color: #{shades-css-var('orange', 'bg-color')} !important;
246
+ @if meta.variable-exists($name: 'df-initialBranding') and $df-initialBranding {
247
+ // important is needed because of the view encapsulation of ng-bootstrap
248
+ color: #{shades-css-var('orange', 'bg-color', true)} !important;
249
+ background-color: #{shades-css-var('orange', 'bg-color')} !important;
250
+ } @else if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
251
+ @extend %dot-highlight;
252
+ color: #{shades-css-var('white', 'bg-color', true)} !important;
253
+ background-color: #{shades-css-var('white', 'bg-color')} !important;
254
+ // TODO: add the disabled state?
255
+ }
207
256
  }
208
257
 
209
258
  &.df-datepicker-date-disabled {
@@ -211,15 +260,18 @@ ngb-datepicker {
211
260
  opacity: var(--#{$prefix}datepicker-day-disabled-opacity);
212
261
  cursor: var(--#{$prefix}datepicker-day-disabled-cursor);
213
262
  }
263
+
214
264
  &.df-datepicker-date-selected {
215
265
  background-color: var(--#{$prefix}datepicker-day-active-bg-color);
216
266
  color: var(--#{$prefix}datepicker-day-active-color);
217
267
  font-weight: var(--#{$prefix}datepicker-day-font-weight);
218
268
  }
269
+
219
270
  &.df-datepicker-date-focused,
220
271
  .ngb-dp-arrow button:focus {
221
272
  border: 0px none;
222
273
  position: relative;
274
+
223
275
  &:after {
224
276
  content: '';
225
277
  display: block;
@@ -228,7 +280,9 @@ ngb-datepicker {
228
280
  bottom: calc(-1 * var(--#{$prefix}datepicker-day-focus-outline-width));
229
281
  left: calc(-1 * var(--#{$prefix}datepicker-day-focus-outline-width));
230
282
  right: calc(-1 * var(--#{$prefix}datepicker-day-focus-outline-width));
231
- border-radius: var(--#{$prefix}datepicker-day-border-radius) + var(--#{$prefix}datepicker-day-focus-outline-width);
283
+ border-radius: calc(
284
+ var(--#{$prefix}datepicker-day-border-radius) + var(--#{$prefix}datepicker-day-focus-outline-width)
285
+ );
232
286
  border: var(--#{$prefix}datepicker-day-focus-border);
233
287
  }
234
288
  }
@@ -241,6 +295,7 @@ ngb-datepicker {
241
295
 
242
296
  &.df-datepicker-date-from {
243
297
  border-radius: var(--#{$prefix}datepicker-day-border-radius) 0 0 var(--#{$prefix}datepicker-day-border-radius);
298
+
244
299
  &.df-datepicker-date-focused:after {
245
300
  border-radius: var(--#{$prefix}datepicker-day-border-radius) 0 0 var(--#{$prefix}datepicker-day-border-radius);
246
301
  }
@@ -248,6 +303,7 @@ ngb-datepicker {
248
303
 
249
304
  &.df-datepicker-date-to {
250
305
  border-radius: 0 var(--#{$prefix}datepicker-day-border-radius) var(--#{$prefix}datepicker-day-border-radius) 0;
306
+
251
307
  &.df-datepicker-date-focused:after {
252
308
  border-radius: 0 var(--#{$prefix}datepicker-day-border-radius) var(--#{$prefix}datepicker-day-border-radius) 0;
253
309
  }
@@ -255,9 +311,11 @@ ngb-datepicker {
255
311
 
256
312
  &.df-datepicker-date-between {
257
313
  border-radius: 0;
314
+
258
315
  &.df-datepicker-date-focused:after {
259
316
  border-radius: 0;
260
317
  }
318
+
261
319
  background-color: var(--#{$prefix}datepicker-day-range-bg-color);
262
320
  color: var(--#{$prefix}datepicker-day-range-color);
263
321
  font-weight: var(--#{$prefix}datepicker-day-font-weight);
@@ -265,25 +323,11 @@ ngb-datepicker {
265
323
  }
266
324
 
267
325
  .ngb-dp-today .df-datepicker-date {
268
- font-weight: var(--#{$prefix}datepicker-day-font-weight);
269
- position: relative;
270
- &:before {
271
- content: '.';
272
- display: inline-block;
273
-
274
- /* position the dot underneath the character */
275
- position: absolute;
276
- bottom: 0;
277
- @include ltr {
278
- left: 0;
279
- }
280
- @include rtl {
281
- right: 0;
282
- }
283
-
284
- /* center the dot horizontally */
285
- text-align: center;
286
- width: 100%;
326
+ @if meta.variable-exists($name: 'df-initialBranding') and $df-initialBranding {
327
+ font-weight: var(--#{$prefix}datepicker-day-font-weight);
328
+ @extend %dot-highlight;
329
+ } @else if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
330
+ border: var(--#{$prefix}datepicker-today-border);
287
331
  }
288
332
  }
289
333
 
@@ -293,12 +337,24 @@ ngb-datepicker {
293
337
  }
294
338
 
295
339
  .df-input-datepicker-range {
340
+ --#{$prefix}input-datepicker-range-border: #{$df-input-datepicker-range-border};
341
+ --#{$prefix}input-datepicker-range-white-space: #{$df-input-datepicker-range-white-space};
342
+ --#{$prefix}input-datepicker-range-padding: #{$df-input-datepicker-range-padding};
343
+ --#{$prefix}input-datepicker-range-after-display: #{$df-input-datepicker-range-after-display};
344
+
296
345
  &.df-focused {
346
+ --#{$prefix}box-shadow-color: #{$df-input-datepicker-range-box-shadow-color};
297
347
  border: var(--#{$prefix}input-datepicker-range-border);
348
+
349
+ .input-group {
350
+ --#{$prefix}iwi-dpr-focus-border: #{$df-input-datepicker-range-focus-border};
351
+ }
298
352
  }
353
+
299
354
  .dropdown-toggle {
300
355
  white-space: var(--#{$prefix}input-datepicker-range-white-space);
301
356
  padding: var(--#{$prefix}input-datepicker-range-padding) !important;
357
+
302
358
  &:after {
303
359
  // TODO remove this when it is possible to remove the arrow from ng-bootstrap feature
304
360
  display: var(--#{$prefix}input-datepicker-range-after-display);
@@ -31,13 +31,14 @@ $df-datepicker-day-hover-bg-color: $df-hover-bg-color !default;
31
31
  $df-datepicker-day-hover-color: color-contrast($df-datepicker-day-hover-bg-color) !default;
32
32
  $df-datepicker-day-hover-text-decoration: underline !default; // why underline here add the reason with UX
33
33
  $df-datepicker-day-focus-outline-width: 0.2rem !default;
34
- $df-datepicker-day-focus-border: ($df-datepicker-day-focus-outline-width + 0.05rem) solid
35
- rgba(to-rgb($input-focus-border-color), 0.5) !default;
34
+ $df-datepicker-day-focus-border-width: $df-datepicker-day-focus-outline-width + 0.05rem !default;
35
+ $df-datepicker-day-focus-border-color: rgba(to-rgb($input-focus-border-color), 0.5) !default;
36
+ $df-datepicker-day-focus-border: $df-datepicker-day-focus-border-width solid $df-datepicker-day-focus-border-color !default;
36
37
  $df-datepicker-day-focus-active-z-index: 0 !default;
37
38
  $df-datepicker-day-focus-active-border-color: rgba($white, 0.5) !default;
38
39
  $df-datepicker-day-focus-active-border-z-index: -1 !default;
39
40
  $df-datepicker-day-range-bg-color: $df-primary-lighten-60 !default;
40
- $df-datepicker-day-range-color: shades-css-var('primary', 'bg-color') !default;
41
+ $df-datepicker-day-range-color: var(--#{prefix}cloud-100-color) !default;
41
42
  $df-datepicker-input-invalid-color: $danger !default;
42
43
  $df-datepicker-input-invalid-z-index: 3 !default;
43
44
  $df-datepicker-menu-border: $border-width solid $border-color !default;
@@ -47,6 +48,8 @@ $df-datepicker-panel-border: $df-datepicker-menu-border !default;
47
48
  $df-datepicker-range-dropdown-padding: 0 !default;
48
49
  $df-datepicker-range-dropdown-border: none !default;
49
50
  $df-input-datepicker-range-border: none !default;
51
+ $df-input-datepicker-range-box-shadow-color: inherit !default;
52
+ $df-input-datepicker-range-focus-border: $df-focused-border !default;
50
53
  $df-input-datepicker-range-white-space: initial !default;
51
54
  $df-input-datepicker-range-padding: 0 !default;
52
55
  $df-input-datepicker-range-after-display: none !default;
@@ -57,3 +60,5 @@ $df-datepicker-arrow-border-radius: 50% !default;
57
60
  $df-datepicker-arrow-disabled-color: var(--#{$prefix}disabled-color) !default;
58
61
  $df-datepicker-focused-box-shadow: $df-focused-box-shadow !default;
59
62
  $df-datepicker-focused-outline: var(--#{$prefix}focus-outline) !default;
63
+ $df-datepicker-border-radius: 0.25rem !default; // ng-bootstrap default
64
+ $df-datepicker-today-border: none !default;
@@ -1,26 +1,8 @@
1
1
  @mixin df-dropdown-toggle($up, $down) {
2
2
  &#{$up} .dropdown-toggle:after {
3
- content: '\ea38'; // icon-chevron-up
3
+ content: '\f077'; // fa-chevron-up
4
4
  }
5
5
  &#{$down} .dropdown-toggle:after {
6
- content: '\ea31'; // icon-chevron-down
7
- }
8
- }
9
-
10
- @mixin df-dropdown-orientation($ltr-right, $ltr-left) {
11
- .dropdown-toggle:not(.df-standalone-dropdown-toggle) {
12
- padding-#{$ltr-right}: var(--#{$prefix}dropdown-toggle-padding);
13
- &:after {
14
- margin-#{$ltr-left}: var(--#{$prefix}dropdown-toggle-margin);
15
- }
16
- & > [class*='icon-']:before {
17
- margin-#{$ltr-right}: var(--#{$prefix}dropdown-toggle-margin);
18
- }
19
- }
20
- .dropdown-menu {
21
- text-align: #{$ltr-left};
22
- }
23
- .btn-primary.dropdown-toggle-split {
24
- border-#{$ltr-left}-color: var(--#{$prefix}dropdown-toggle-border-color-primary);
6
+ content: '\f078'; // fa-chevron-down
25
7
  }
26
8
  }
@@ -1,3 +1,5 @@
1
+ @use 'sass:meta';
2
+
1
3
  @import 'dropdown.mixins';
2
4
 
3
5
  .dropdown,
@@ -5,6 +7,7 @@ body {
5
7
  //Dropdown is default
6
8
  @include df-dropdown-toggle('.show', '');
7
9
  }
10
+
8
11
  .dropup {
9
12
  @include df-dropdown-toggle('', '.show');
10
13
  }
@@ -18,6 +21,7 @@ body,
18
21
  --#{$prefix}dropdown-item-focus-text-decoration: #{$df-dropdown-item-focus-text-decoration};
19
22
  --#{$prefix}dropdown-item-focus-border-radius: #{$df-dropdown-item-focus-border-radius};
20
23
  --#{$prefix}dropdown-item-border-width: #{$df-dropdown-item-border-width};
24
+ --#{$prefix}dropdown-item-focus-bg: #{$df-dropdown-item-focus-bg};
21
25
  --#{$prefix}dropdown-toggle-font: #{$df-dropdown-toggle-font};
22
26
  --#{$prefix}dropdown-toggle-font-weight: #{$df-dropdown-toggle-font-weight};
23
27
  --#{$prefix}dropdown-toggle-padding: #{$df-dropdown-toggle-padding};
@@ -28,58 +32,108 @@ body,
28
32
  --#{$prefix}dropdown-disabled-pointer: #{$df-dropdown-disabled-pointer};
29
33
  --#{$prefix}dropdown-disabled-color: #{$df-dropdown-disabled-color};
30
34
 
31
- @include ltr {
32
- @include df-dropdown-orientation('right', 'left');
35
+ .btn-primary.dropdown-toggle-split {
36
+ border-inline-start-color: var(--#{$prefix}dropdown-toggle-border-color-primary);
33
37
  }
34
- @include rtl {
35
- @include df-dropdown-orientation('left', 'right');
38
+
39
+ .show > .btn:not(:disabled):not(.disabled).dropdown-toggle:not(.nav-link) {
40
+ &:focus-visible {
41
+ --#{$prefix}box-shadow-color: var(--#{$prefix}btn-active-bg);
42
+ --#{$prefix}btn-focus-only-border-color: var(--#{$prefix}btn-active-bg);
43
+ }
44
+
45
+ &:hover:not(.btn-outline-primary) {
46
+ --#{$prefix}btn-active-bg: var(--#{$prefix}btn-hover-bg);
47
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}btn-hover-bg);
48
+ }
49
+
50
+ &.btn-outline-primary {
51
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}btn-hover-color);
52
+ &:hover {
53
+ --#{$prefix}btn-active-bg: var(--#{$prefix}btn-hover-bg);
54
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}btn-hover-border-color);
55
+ --#{$prefix}btn-active-color: var(--#{$prefix}btn-hover-color);
56
+ }
57
+ &:focus-visible {
58
+ --#{$prefix}box-shadow-color: var(--#{$prefix}btn-hover-color);
59
+ --#{$prefix}btn-focus-only-border-color: var(--#{$prefix}btn-hover-color);
60
+ }
61
+ }
36
62
  }
37
- .dropdown-toggle {
63
+
64
+ .dropdown-toggle:not(.df-standalone-dropdown-toggle) {
65
+ padding-inline-end: var(--#{$prefix}dropdown-toggle-padding);
66
+
38
67
  &:after {
68
+ font-family: $df-font-awesome-font-family;
39
69
  border: none;
40
- font-family: var(--#{$prefix}dropdown-toggle-font);
70
+ margin-inline-start: var(--#{$prefix}dropdown-toggle-margin);
41
71
  line-height: var(--#{$prefix}dropdown-toggle-line-height); //Fix Chrome bug
42
72
  font-weight: var(--#{$prefix}dropdown-toggle-font-weight); // Fix IE11 bug
43
73
  }
44
- &.df-standalone-dropdown-toggle:after{
45
- content: none; //remove chevron icon
74
+
75
+ & > [class*='icon-']:before {
76
+ margin-inline-end: var(--#{$prefix}dropdown-toggle-margin);
46
77
  }
47
78
  }
48
- .dropdown-toggle-split.dropdown-toggle-split {
79
+
80
+ .dropdown-toggle.df-standalone-dropdown-toggle:after {
81
+ content: none; //remove chevron icon
82
+ }
83
+
84
+ .dropdown-toggle-split {
85
+ --#{$prefix}dropdown-toggle-padding: var(--#{$prefix}dropdown-toggle-split-padding-x);
49
86
  padding-left: var(--#{$prefix}dropdown-toggle-split-padding-x);
50
87
  padding-right: var(--#{$prefix}dropdown-toggle-split-padding-x);
88
+
51
89
  &:after {
52
- margin: 0;
90
+ --#{$prefix}dropdown-toggle-margin: 0;
53
91
  }
54
92
  }
55
93
  }
56
94
 
57
95
  .dropdown-menu {
96
+ text-align: start;
97
+
58
98
  hr {
59
99
  margin-top: var(--#{$prefix}dropdown-separator-margin-y);
60
100
  margin-bottom: var(--#{$prefix}dropdown-separator-margin-y);
61
101
  border-color: var(--#{$prefix}dropdown-separator-color);
62
102
  }
103
+
63
104
  box-shadow: $df-box-shadow;
64
105
  }
106
+
65
107
  .dropdown-item {
66
108
  border: var(--#{$prefix}dropdown-item-border-width) solid transparent;
109
+
67
110
  &:focus,
68
111
  &.focus {
69
- @if variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
112
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
70
113
  --#{$prefix}box-shadow-color: #{shades-css-var('primary', 'bg-subtle-active-color', true)};
71
114
  }
72
- box-shadow: $df-focused-box-shadow;
115
+ box-shadow: $df-focused-inset-box-shadow;
73
116
  border: $df-dropdown-item-focused-border;
74
117
  outline: var(--#{$prefix}focus-outline);
75
118
  border-radius: var(--#{$prefix}dropdown-item-focus-border-radius);
119
+
76
120
  &:not(:hover) {
77
121
  text-decoration: var(--#{$prefix}dropdown-item-focus-text-decoration);
122
+ background-color: var(--#{$prefix}dropdown-item-focus-bg);
123
+ }
124
+
125
+ &.active,
126
+ &:active {
127
+ background-color: var(--#{$prefix}dropdown-link-active-bg);
128
+ --#{$prefix}inner-box-shadow-color: var(--#{$prefix}dropdown-link-active-bg);
78
129
  }
79
130
  }
131
+
80
132
  &:hover {
81
133
  text-decoration: var(--#{$prefix}dropdown-item-hover-text-decoration);
134
+ --#{$prefix}inner-box-shadow-color: var(--#{$prefix}dropdown-link-hover-bg);
82
135
  }
136
+
83
137
  &.disabled,
84
138
  &:disabled {
85
139
  cursor: var(--#{$prefix}dropdown-disabled-pointer);
@@ -90,12 +144,10 @@ body,
90
144
  }
91
145
 
92
146
  // Flag Angular
93
- // This style is needed due to a discrepancy between ngbootstrap and bootstrap split dropdown
94
- // Only LTR is needed as the RTL case is already properly handled by the global override
147
+ // This style is needed due to a drop-start feature of bootstrap where the first child of the
148
+ // btn-group with dropdown-toggle-split class has no rounded corners
95
149
  .btn-group.dropdown[ngbdropdown] {
96
- .dropdown-toggle-split.dropdown-toggle-split {
97
- @include ltr {
98
- @include border-end-radius($btn-border-radius);
99
- }
150
+ .dropdown-toggle-split {
151
+ @include border-end-radius($btn-border-radius);
100
152
  }
101
153
  }
@@ -2,17 +2,21 @@
2
2
 
3
3
  $df-dropdown-separator-margin-y: 0.5rem !default;
4
4
  $df-dropdown-separator-color: var(--#{$prefix}gray-500) !default; // TODO aligned with separator ?
5
- $df-dropdown-item-hover-text-decoration: underline !default;
5
+ $df-dropdown-item-hover-text-decoration: unset !default;
6
6
  $df-dropdown-item-focus-text-decoration: $df-dropdown-item-hover-text-decoration !default;
7
7
  $df-dropdown-item-focus-border-radius: 0 !default;
8
8
  $df-dropdown-item-border-width: $border-width !default;
9
- $df-dropdown-toggle-font: Design-Factory-icon !default;
9
+ $df-dropdown-item-focus-bg: var(--#{$prefix}gray-100) !default;
10
+ $df-dropdown-toggle-font: Font Awesome 6 Pro !default;
10
11
  $df-dropdown-toggle-font-weight: $font-weight-base !default;
11
12
  $df-dropdown-toggle-padding: 0.75em !default;
12
13
  $df-dropdown-toggle-split-padding-x: 0.5em !default;
13
14
  $df-dropdown-toggle-margin: $df-dropdown-toggle-padding !default;
14
15
  $df-dropdown-toggle-line-height: 1rem !default;
15
- $df-dropdown-toggle-border-color-primary: color.adjust(color.adjust($primary, $saturation: -44.17%), $lightness: 31.96%) !default;
16
+ $df-dropdown-toggle-border-color-primary: color.adjust(
17
+ color.adjust($primary, $saturation: -44.17%),
18
+ $lightness: 31.96%
19
+ ) !default;
16
20
  $df-dropdown-disabled-pointer: var(--#{$prefix}disabled-cursor) !default;
17
21
  $df-dropdown-disabled-color: $df-btn-outline-disabled-text-color !default;
18
22
  $df-dropdown-item-focused-border: $df-focused-border !default;