@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
package/package.json CHANGED
@@ -2,22 +2,22 @@
2
2
  "name": "@design-factory/design-factory",
3
3
  "description": "Amadeus design system",
4
4
  "license": "BSD-3-Clause",
5
- "version": "19.1.2",
5
+ "version": "20.0.0-next.0",
6
6
  "dependencies": {
7
7
  "tslib": "^2.0.0"
8
8
  },
9
9
  "peerDependencies": {
10
- "@agnos-ui/angular-bootstrap": "~0.8.0",
11
- "@agnos-ui/core-bootstrap": "~0.8.0",
12
- "@angular/common": "^19.0.0",
13
- "@angular/core": "^19.0.0",
14
- "@angular/localize": "^19.0.0",
15
- "@angular/router": "^19.0.0",
16
- "@ng-bootstrap/ng-bootstrap": "~18.0.0",
17
- "@ng-select/ng-select": "^14.1.0",
10
+ "@agnos-ui/angular-bootstrap": "~0.9.0",
11
+ "@agnos-ui/core-bootstrap": "~0.9.0",
12
+ "@angular/common": "^20.0.0",
13
+ "@angular/core": "^20.0.0",
14
+ "@angular/localize": "^20.0.0",
15
+ "@angular/router": "^20.0.0",
16
+ "@ng-bootstrap/ng-bootstrap": "~19.0.0",
17
+ "@ng-select/ng-select": "^15.0.0",
18
18
  "ag-grid-angular": "^32.0.0",
19
19
  "ag-grid-community": "^32.0.0",
20
- "bootstrap": "5.3.3"
20
+ "bootstrap": "5.3.6"
21
21
  },
22
22
  "peerDependenciesMeta": {
23
23
  "@angular/router": {
@@ -42,12 +42,6 @@
42
42
  "./styles/scss/*": {
43
43
  "sass": "./styles/scss/*.scss"
44
44
  },
45
- ".": {
46
- "sass": "./design-factory.scss",
47
- "style": "./design-factory.css",
48
- "types": "./index.d.ts",
49
- "default": "./fesm2022/design-factory.mjs"
50
- },
51
45
  "./design-factory.scss": "./design-factory.scss",
52
46
  "./design-factory.css": "./design-factory.css",
53
47
  "./design-factory-initial-branding.scss": "./design-factory-initial-branding.scss",
@@ -58,6 +52,10 @@
58
52
  },
59
53
  "./package.json": {
60
54
  "default": "./package.json"
55
+ },
56
+ ".": {
57
+ "types": "./index.d.ts",
58
+ "default": "./fesm2022/design-factory.mjs"
61
59
  }
62
60
  },
63
61
  "ng-update": {
@@ -0,0 +1,7 @@
1
+ import { type Rule } from '@angular-devkit/schematics';
2
+ /**
3
+ * This migration updates templates to use inline svg instead of navbar span for the toggler icon.
4
+ *
5
+ * @returns the Rule to migrate the navbar logo
6
+ */
7
+ export default function navbarTogglerLogo(): Rule;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = navbarTogglerLogo;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const project_tsconfig_paths_1 = require("../../utils/project_tsconfig_paths");
6
+ const compiler_host_1 = require("../../utils/typescript/compiler_host");
7
+ const template_updater_1 = require("../../utils/template-updater");
8
+ function replaceHtmlContentFactory(loggingContext) {
9
+ function replaceHtmlContent(content) {
10
+ content = content.replace(/<span\s+class="navbar-toggler-icon"><\/span>/g, `<svg class="navbar-toggler-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"/></svg>`);
11
+ loggingContext.foundComplexCase =
12
+ loggingContext.foundComplexCase || /([ \t]*<span[^>]+navbar-toggler-icon)/g.test(content);
13
+ content = content.replace(/([ \t]*<span[^>]+navbar-toggler-icon)/g, '<!-- TODO Avoid using spans with navbar-toggler-icon and replace with inline svgs. -->\n' +
14
+ '<!-- You can check an example of the inline svg in the SideNav example: https://design-factory.amadeus.net/components/sidenav/examples#basic -->\n$1');
15
+ return content;
16
+ }
17
+ return replaceHtmlContent;
18
+ }
19
+ /**
20
+ * This migration updates templates to use inline svg instead of navbar span for the toggler icon.
21
+ *
22
+ * @returns the Rule to migrate the navbar logo
23
+ */
24
+ function navbarTogglerLogo() {
25
+ return async (tree, context) => {
26
+ const { buildPaths, testPaths } = await (0, project_tsconfig_paths_1.getProjectTsConfigPaths)(tree);
27
+ const basePath = process.cwd();
28
+ const allPaths = [...buildPaths, ...testPaths];
29
+ if (!allPaths.length) {
30
+ throw new schematics_1.SchematicsException('Could not find any tsconfig file. Cannot run the `Font Awesome 6` migration.');
31
+ }
32
+ const loggingContext = { foundComplexCase: false };
33
+ const templateUpdater = new template_updater_1.TemplateUpdater(tree, replaceHtmlContentFactory(loggingContext));
34
+ for (const tsconfigPath of allPaths) {
35
+ const program = (0, compiler_host_1.createMigrationProgram)(tree, tsconfigPath, basePath);
36
+ const sourceFiles = program
37
+ .getSourceFiles()
38
+ .filter((sourceFile) => (0, compiler_host_1.canMigrateFile)(basePath, sourceFile, program));
39
+ for (const sourceFile of sourceFiles) {
40
+ templateUpdater.update(sourceFile, program.getTypeChecker());
41
+ }
42
+ }
43
+ if (loggingContext.foundComplexCase) {
44
+ context.logger.warn('Found a more complex case of span with navbar-toggler-icon. Please check the comments in the code and replace it with an inline svg.');
45
+ }
46
+ };
47
+ }
@@ -42,6 +42,12 @@
42
42
  "description": "As of Design Factory version 18, in-house icons are separated from the Font Awesome ones. FW6 has renamed some icons to better depict their meaning.",
43
43
  "version": "18.0.0",
44
44
  "factory": "./18_0_0/font-awesome-6"
45
+ },
46
+ "navbar-toggler-logo-svg": {
47
+ "description": "Use inline svg for navbar toggler logo instead of span. Recommended for apps using the new amadeus branding.",
48
+ "version": "20.0.0",
49
+ "factory": "./20_0_0/navbar-toggler-logo-svg",
50
+ "optional": true
45
51
  }
46
52
  }
47
53
  }
@@ -13,7 +13,7 @@
13
13
 
14
14
  @each $extension, $ratio in $df-size-ratios {
15
15
  .df-font-#{$extension} {
16
- --#{$prefix}body-font-size: #{$font-size-base * $ratio};
16
+ --#{$prefix}body-font-size: #{get-sizing-brand2023($extension, $ratio)};
17
17
  font-size: var(--#{$prefix}body-font-size);
18
18
  }
19
19
  }
@@ -13,7 +13,8 @@ $df-mandatory-indicator-font-weight: 700 !default;
13
13
  $df-mandatory-indicator-margin: 0.125rem !default;
14
14
  $df-subtitle-color: $gray-600 !default;
15
15
  $df-zindex-topmost: 10000 !default;
16
-
16
+ $df-font-size-xs: $font-size-sm !default;
17
+ $df-form-placeholder-font-style: italic !default;
17
18
  // Merge DF Spacer with BS ones
18
19
  // stylelint-disable-next-line scss/dollar-variable-pattern, scss/dollar-variable-default
19
20
  $spacers: map.merge(
@@ -15,7 +15,7 @@
15
15
  0 0 0 4px #{shades-css-var('primary', 'text-hover-color')}
16
16
  )
17
17
  !default,
18
- $au-slider-label-now-font-weight: 500 !default,
18
+ $au-slider-label-now-font-weight: var(--#{$prefix}typo-weight-medium) !default,
19
19
  $au-slider-label-vertical-min-top: calc(100% - 0.5rem) !default,
20
20
  $au-slider-label-vertical-max-top: 0.25rem !default,
21
21
  $au-slider-disabled-color: var(--#{$prefix}disabled-color) !default,
@@ -1,6 +1,8 @@
1
1
  @use 'sass:math';
2
2
  @use 'sass:map';
3
3
  @use 'sass:color';
4
+ @use 'sass:meta';
5
+
4
6
  // stylelint-disable scss/dollar-variable-pattern
5
7
  // Variables
6
8
  //
@@ -1037,13 +1039,16 @@ $cyans-mapping: (
1037
1039
  $links-mapping: (
1038
1040
  'text-color': var(--#{$prefix}primary-500),
1039
1041
  'bg-color': transparent,
1042
+ 'box-shadow-color': var(--#{$prefix}primary-500),
1040
1043
  'text-hover-color': var(--#{$prefix}primary-500),
1044
+ 'box-shadow-hover-color': var(--#{$prefix}primary-500),
1041
1045
  'bg-hover-color': var(--#{$prefix}primary-100),
1042
1046
  'text-active-color': var(--#{$prefix}primary-800),
1047
+ 'box-shadow-active-color': var(--#{$prefix}primary-800),
1043
1048
  'bg-active-color': transparent,
1044
1049
  'text-visited-color': var(--#{$prefix}purple-500),
1045
1050
  'text-visited-hover-color': var(--#{$prefix}purple-500),
1046
- 'bg-visisted-hover-color': var(--#{$prefix}primary-100),
1051
+ 'bg-visited-hover-color': var(--#{$prefix}primary-100),
1047
1052
  'text-visited-active-color': var(--#{$prefix}primary-800),
1048
1053
  'bg-visited-active-color': transparent
1049
1054
  ) !default;
@@ -1057,12 +1062,9 @@ $shade-maps: map.set($shade-maps, 'blue', $blues-mapping);
1057
1062
  $shade-maps: map.set($shade-maps, 'cyan', $cyans-mapping);
1058
1063
  $shade-maps: map.set($shade-maps, 'teal', $teals-mapping);
1059
1064
  $shade-maps: map.set($shade-maps, 'green', $greens-mapping);
1060
- $shade-maps: map.set($shade-maps, 'yellow', $yellows-mapping);
1061
1065
  $shade-maps: map.set($shade-maps, 'orange', $oranges-mapping);
1062
1066
  $shade-maps: map.set($shade-maps, 'red', $reds-mapping);
1063
1067
  $shade-maps: map.set($shade-maps, 'pink', $pinks-mapping);
1064
- $shade-maps: map.set($shade-maps, 'love', $loves-mapping);
1065
- $shade-maps: map.set($shade-maps, 'mystery', $mysteries-mapping);
1066
1068
  $shade-maps: map.set($shade-maps, 'info', $infos-mapping);
1067
1069
  $shade-maps: map.set($shade-maps, 'success', $successes-mapping);
1068
1070
  $shade-maps: map.set($shade-maps, 'warning', $warnings-mapping);
@@ -1072,12 +1074,17 @@ $shade-maps: map.set($shade-maps, 'indigo', $indigos-mapping);
1072
1074
  $shade-maps: map.set($shade-maps, 'primary', $primaries-mapping);
1073
1075
  $shade-maps: map.set($shade-maps, 'white', $whites-mapping);
1074
1076
  $shade-maps: map.set($shade-maps, 'light', $lights-mapping);
1075
- $shade-maps: map.set($shade-maps, 'dark', $darks-mapping);
1076
1077
  $shade-maps: map.set($shade-maps, 'pacific', $pacifics-mapping);
1077
1078
  $shade-maps: map.set($shade-maps, 'gray', $grays-mapping);
1078
1079
  $shade-maps: map.set($shade-maps, 'secondary', $secondaries-mapping);
1080
+ $shade-maps: map.set($shade-maps, 'dark', $darks-mapping);
1079
1081
  $shade-maps: map.set($shade-maps, 'links', $links-mapping);
1080
1082
 
1083
+ // TODO: Brand2023 - these colors are for the old branding only, to be removed
1084
+ $shade-maps: map.set($shade-maps, 'mystery', $mysteries-mapping);
1085
+ $shade-maps: map.set($shade-maps, 'yellow', $yellows-mapping);
1086
+ $shade-maps: map.set($shade-maps, 'love', $loves-mapping);
1087
+
1081
1088
  $shade-colors: map.merge(
1082
1089
  $map1: $shade-colors,
1083
1090
  $map2: $infos
@@ -1337,7 +1344,7 @@ $link-color: shades-css-var('primary') !default;
1337
1344
  $link-decoration: none !default;
1338
1345
  // $link-shade-percentage: 20% !default;
1339
1346
  $link-hover-color: $link-color !default;
1340
- $link-hover-decoration: underline !default;
1347
+ $link-hover-decoration: none !default;
1341
1348
 
1342
1349
  // $stretched-link-pseudo-element: after !default;
1343
1350
  // $stretched-link-z-index: 1 !default;
@@ -174,7 +174,7 @@
174
174
  .accordion-button {
175
175
  padding: calc(#{$ratio} * var(--#{$prefix}accordion-button-padding-y))
176
176
  calc(#{$ratio} * var(--#{$prefix}accordion-button-padding-x));
177
- font-size: $ratio * $font-size-base;
177
+ font-size: get-sizing-brand2023($extension, $ratio);
178
178
 
179
179
  &::after {
180
180
  width: $icon-with;
@@ -183,6 +183,10 @@
183
183
  }
184
184
  }
185
185
 
186
+ .accordion-body {
187
+ font-size: get-sizing-brand2023($extension, $ratio, $font-size-base, true);
188
+ }
189
+
186
190
  &.df-accordion-reverse {
187
191
  .accordion-button {
188
192
  &::before {
@@ -23,6 +23,7 @@
23
23
  --#{$prefix}alert-collapse-link-hover-bg: #{$df-alert-collapse-link-hover-bg};
24
24
 
25
25
  --#{$prefix}alert-collapse-icon-margin-start: #{$df-alert-collapse-icon-margin-start};
26
+ --#{$prefix}alert-font-size: #{$font-size-base};
26
27
 
27
28
  color: var(--#{$prefix}alert-color);
28
29
  background-color: var(--#{$prefix}alert-bg-color);
@@ -175,7 +176,11 @@
175
176
  border-bottom-color: var(--#{$prefix}alert-border-bottom-color);
176
177
  @each $state, $value in $theme-colors {
177
178
  &.alert-#{$state} {
178
- --#{$prefix}alert-border-bottom-color: #{shades-css-var($state, 'border-color')};
179
+ --#{$prefix}alert-border-bottom-color: #{shades-css-var-brand2023(
180
+ 'color-#{$state}-main-default-border',
181
+ $state,
182
+ 'border-color'
183
+ )};
179
184
  }
180
185
  }
181
186
  &.alert-tip {
@@ -1,3 +1,5 @@
1
+ @use 'sass:meta';
2
+
1
3
  @mixin df-disable-badge($color, $bg-color, $changeBorder: false) {
2
4
  cursor: var(--#{$prefix}disabled-cursor);
3
5
  color: $color !important;
@@ -1,7 +1,29 @@
1
+ @use 'sass:meta';
1
2
  @use 'sass:map';
2
3
  @import 'badge.mixins';
3
4
 
5
+ $df-solidMappedColors: () !default;
6
+ $df-lightMappedColors: () !default;
7
+ @each $color, $value in $utilities-bg-colors {
8
+ $df-solidMappedColors: map.set($df-solidMappedColors, $color, $color);
9
+ $df-lightMappedColors: map.set($df-lightMappedColors, $color, $color + '-light');
10
+ }
11
+
12
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
13
+ /* stylelint-disable-next-line scss/dollar-variable-default */
14
+ $df-solidMappedColors: map.set($df-solidMappedColors, 'white', 'neutral-alt');
15
+
16
+ /* stylelint-disable-next-line scss/dollar-variable-default */
17
+ $df-solidMappedColors: map.set($df-solidMappedColors, 'light', 'neutral');
18
+
19
+ /* stylelint-disable-next-line scss/dollar-variable-default */
20
+ $df-lightMappedColors: map.set($df-lightMappedColors, 'light', 'light');
21
+ }
22
+
4
23
  %bg-badge-common {
24
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
25
+ background-color: var(--#{$prefix}badge-background-color) !important;
26
+ }
5
27
  &:not(.rounded-pill):not(.df-badge-dot) {
6
28
  &:not(.df-closable) {
7
29
  &:hover:not([disabled]):not(.disabled) {
@@ -22,6 +44,14 @@
22
44
  color: var(--#{$prefix}badge-hover-color);
23
45
  background-color: var(--#{$prefix}badge-hover-background-color);
24
46
  }
47
+
48
+ &:not(.disabled) {
49
+ button:active,
50
+ span[role='button']:active {
51
+ color: var(--#{$prefix}badge-active-color);
52
+ background-color: var(--#{$prefix}badge-active-background-color);
53
+ }
54
+ }
25
55
  }
26
56
 
27
57
  &[disabled],
@@ -98,27 +128,79 @@
98
128
  }
99
129
 
100
130
  @each $color, $value in $utilities-bg-colors {
101
- &.bg-#{$color} {
102
- // in this case we also handle the .badge.bg-light
103
- // TODO: Check if the tokens fixes the issue
104
- --#{$prefix}body-bg: unset; // need it to fix the focus internal box-shadow color
105
- --#{$prefix}badge-color: #{shades-css-var($color, 'bg-color', true)};
106
- --#{$prefix}badge-hover-background-color: #{shades-css-var($color, 'bg-hover-color')};
107
- --#{$prefix}badge-hover-color: #{shades-css-var($color, 'bg-hover-color', true)};
108
- --#{$prefix}badge-active-background-color: #{shades-css-var($color, 'bg-active-color')};
109
- --#{$prefix}badge-active-color: #{shades-css-var($color, 'bg-active-color', true)};
110
- --#{$prefix}badge-dot-background-color: #{shades-css-var($color, 'bg-color')};
111
- --#{$prefix}badge-disabled-color: var(--#{$prefix}disabled-color);
112
- @extend %bg-badge-common;
131
+ $mappedColor: map.get($df-solidMappedColors, $color);
132
+ @if not meta.variable-exists($name: 'df-enableBranding2023') or not $df-enableBranding2023 or $color != 'light' {
133
+ &.bg-#{$color} {
134
+ // in this case we also handle the .badge.bg-light
135
+ // TODO: Check if the tokens fixes the issue
136
+ --#{$prefix}body-bg: unset; // need it to fix the focus internal box-shadow color
137
+ --#{$prefix}badge-color: #{shades-css-var-brand2023(
138
+ 'badge-solid-color-' + #{$mappedColor} + '-default-foreground',
139
+ $color,
140
+ 'bg-color',
141
+ true
142
+ )};
143
+ --#{$prefix}badge-background-color: var(--#{$prefix}badge-solid-color-#{$mappedColor}-default-background);
144
+ --#{$prefix}badge-hover-background-color: #{shades-css-var-brand2023(
145
+ 'badge-solid-color-' + #{$mappedColor} + '-hovered-background',
146
+ $color,
147
+ 'bg-hover-color'
148
+ )};
149
+ --#{$prefix}badge-hover-color: #{shades-css-var-brand2023(
150
+ 'badge-solid-color-' + #{$mappedColor} + '-hovered-foreground',
151
+ $color,
152
+ 'bg-hover-color',
153
+ true
154
+ )};
155
+ --#{$prefix}badge-active-background-color: #{shades-css-var-brand2023(
156
+ 'badge-solid-color-' + #{$mappedColor} + '-pressed-background',
157
+ $color,
158
+ 'bg-active-color'
159
+ )};
160
+ --#{$prefix}badge-active-color: #{shades-css-var-brand2023(
161
+ 'badge-solid-color-' + #{$mappedColor} + '-pressed-foreground',
162
+ $color,
163
+ 'bg-active-color',
164
+ true
165
+ )};
166
+ --#{$prefix}badge-dot-background-color: #{shades-css-var-brand2023(
167
+ 'badge-solid-color-' + #{$mappedColor} + '-default-background',
168
+ $color,
169
+ 'bg-color'
170
+ )};
171
+ --#{$prefix}badge-disabled-color: var(--#{$prefix}disabled-color);
172
+
173
+ @extend %bg-badge-common;
174
+ }
113
175
  }
114
176
 
115
177
  &.df-badge-outline-#{$color} {
116
- --#{$prefix}badge-color: #{shades-css-var($color, 'text-color')};
178
+ --#{$prefix}badge-color: #{shades-css-var-brand2023(
179
+ 'badge-outline-color-' + #{$color} + '-default-foreground',
180
+ $color,
181
+ 'text-color'
182
+ )};
117
183
  --#{$prefix}badge-background-color: transparent;
118
- --#{$prefix}badge-border-color: #{shades-css-var($color, 'border-color')};
119
- --#{$prefix}badge-hover-background-color: #{shades-css-var($color, 'bg-hover-alt-color')};
120
- --#{$prefix}badge-hover-color: #{shades-css-var($color, 'text-hover-color')};
121
- --#{$prefix}badge-hover-border-color: #{shades-css-var($color, 'border-hover-color')};
184
+ --#{$prefix}badge-border-color: #{shades-css-var-brand2023(
185
+ 'badge-outline-color-' + #{$color} + '-default-border',
186
+ $color,
187
+ 'border-color'
188
+ )};
189
+ --#{$prefix}badge-hover-background-color: #{shades-css-var-brand2023(
190
+ 'badge-outline-color-' + #{$color} + '-hovered-background',
191
+ $color,
192
+ 'bg-hover-alt-color'
193
+ )};
194
+ --#{$prefix}badge-hover-color: #{shades-css-var-brand2023(
195
+ 'badge-outline-color-' + #{$color} + '-hovered-foreground',
196
+ $color,
197
+ 'text-hover-color'
198
+ )};
199
+ --#{$prefix}badge-hover-border-color: #{shades-css-var-brand2023(
200
+ 'badge-outline-color-' + #{$color} + '-hovered-border',
201
+ $color,
202
+ 'border-hover-color'
203
+ )};
122
204
  background-color: var(--#{$prefix}badge-background-color);
123
205
  color: var(--#{$prefix}badge-color);
124
206
  border: var(--#{$prefix}border-width) solid var(--#{$prefix}badge-border-color);
@@ -160,17 +242,67 @@
160
242
  }
161
243
  }
162
244
 
163
- &.bg-#{$color}-light {
245
+ $lightClassname: map.get($df-lightMappedColors, $color);
246
+ &.bg-#{$lightClassname} {
164
247
  --#{$prefix}body-bg: unset; // need it to fix the focus internal box-shadow color
165
- --#{$prefix}badge-color: #{shades-css-var($color, 'text-light-color')};
166
- --#{$prefix}badge-hover-background-color: #{shades-css-var($color, 'bg-light-hover-color')};
167
- --#{$prefix}badge-hover-color: #{shades-css-var($color, 'text-light-hover-color')};
168
- --#{$prefix}badge-active-background-color: #{shades-css-var($color, 'bg-light-active-color')};
169
- --#{$prefix}badge-active-color: #{shades-css-var($color, 'bg-light-active-color', true)};
170
- --#{$prefix}badge-dot-background-color: #{shades-css-var($color, 'bg-light-color')};
171
- background-color: #{shades-css-var($color, 'bg-light-color')};
248
+ --#{$prefix}badge-background-color: var(--#{$prefix}badge-soft-color-#{$mappedColor}-default-background);
249
+ --#{$prefix}badge-color: #{shades-css-var-brand2023(
250
+ 'badge-soft-color-' + #{$mappedColor} + '-default-foreground',
251
+ $color,
252
+ 'text-light-color'
253
+ )};
254
+ --#{$prefix}badge-hover-background-color: #{shades-css-var-brand2023(
255
+ 'badge-soft-color-' + #{$mappedColor} + '-hovered-background',
256
+ $color,
257
+ 'bg-light-hover-color'
258
+ )};
259
+ --#{$prefix}badge-hover-color: #{shades-css-var-brand2023(
260
+ 'badge-soft-color-' + #{$mappedColor} + '-hovered-foreground',
261
+ $color,
262
+ 'text-light-hover-color'
263
+ )};
264
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
265
+ --#{$prefix}badge-hover-border-color: var(--#{$prefix}badge-soft-color-#{$mappedColor}-hovered-border);
266
+ }
267
+ --#{$prefix}badge-active-background-color: #{shades-css-var-brand2023(
268
+ 'badge-soft-color-' + #{$mappedColor} + '-pressed-background',
269
+ $color,
270
+ 'bg-light-active-color'
271
+ )};
272
+ --#{$prefix}badge-active-color: #{shades-css-var-brand2023(
273
+ 'badge-soft-color-' + #{$mappedColor} + '-pressed-foreground',
274
+ $color,
275
+ 'bg-light-active-color',
276
+ true
277
+ )};
278
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
279
+ --#{$prefix}badge-active-border-color: var(--#{$prefix}badge-soft-color-#{$color}-pressed-border);
280
+ }
281
+ --#{$prefix}badge-dot-background-color: #{shades-css-var-brand2023(
282
+ 'badge-soft-color-' + #{$mappedColor} + '-default-background',
283
+ $color,
284
+ 'bg-light-color'
285
+ )};
286
+ background-color: #{shades-css-var-brand2023('', $color, 'bg-light-color')};
287
+
288
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
289
+ &:not(.df-badge-dot) {
290
+ --#{$prefix}badge-border-color: var(--#{$prefix}badge-soft-color-#{$mappedColor}-default-border);
291
+ }
292
+ }
293
+
294
+ border: var(--#{$prefix}border-width) solid var(--#{$prefix}badge-border-color);
172
295
  @extend %bg-badge-common;
173
296
  }
297
+
298
+ @if meta.variable-exists($name: 'df-enableBranding2023') and $df-enableBranding2023 {
299
+ // Additional colors mix (light grey background with colored icon)
300
+ &.bg-light {
301
+ .df-badge-icon.text-#{$color} {
302
+ color: var(--#{$prefix}badge-solid-color-#{$color}-default-background) !important;
303
+ }
304
+ }
305
+ }
174
306
  }
175
307
  }
176
308
 
@@ -1,3 +1,5 @@
1
+ @use 'sass:meta';
2
+
1
3
  .breadcrumb {
2
4
  --#{$prefix}breadcrumb-item-before-padding: #{$df-breadcrumb-item-before-padding};
3
5
  --#{$prefix}breadcrumb-item-active-font-weight: #{$df-breadcrumb-item-active-font-weight};
@@ -40,14 +42,12 @@
40
42
  }
41
43
 
42
44
  a {
43
- &:focus-visible {
44
- box-shadow: $df-breadcrumb-item-link-focus-box-shadow;
45
- outline: $df-breadcrumb-item-link-outline;
46
- }
47
-
48
- &:hover:not([aria-disabled='true']) {
49
- border-bottom-style: solid;
50
- @include df-link-hover;
45
+ border-bottom: 0;
46
+ @if (not meta.variable-exists($name: 'df-enableBranding2023')) {
47
+ &:hover {
48
+ border-bottom: var(--#{$prefix}link-border-bottom);
49
+ border-bottom-width: var(--#{$prefix}link-hover-border-bottom-width);
50
+ }
51
51
  }
52
52
  }
53
53
 
@@ -15,7 +15,5 @@ $df-breadcrumb-icon-color: shades-css-var('primary', 'inert-color') !default;
15
15
  $df-breadcrumb-icon-margin: 0rem 0.5rem !default;
16
16
  $df-breadcrumb-icon-angle-left-content: '\f104' !default; // fa-angle-left
17
17
  $df-breadcrumb-icon-angle-right-content: '\f105' !default; // fa-angle-right
18
- $df-breadcrumb-item-link-focus-box-shadow: var(--#{$prefix}link-focus-box-shadow) !default;
19
- $df-breadcrumb-item-link-outline: none !default;
20
18
 
21
19
  $df-breadcrumb-separator-font: Font Awesome 6 Pro !default;