@design-factory/styles 21.1.0 → 22.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.
package/package.json CHANGED
@@ -2,14 +2,14 @@
2
2
  "name": "@design-factory/styles",
3
3
  "description": "Amadeus design system styles",
4
4
  "license": "BSD-3-Clause",
5
- "version": "21.1.0",
5
+ "version": "22.0.0-next.0",
6
6
  "type": "module",
7
7
  "peerDependencies": {
8
8
  "bootstrap": "5.3.8",
9
- "@agnos-ui/core-bootstrap": "~0.10.0",
10
- "@design-factory/tokens": "21.1.0",
9
+ "@agnos-ui/core-bootstrap": "~0.11.0",
10
+ "@design-factory/tokens": "22.0.0-next.0",
11
11
  "ag-grid-community": "^35.0.0",
12
- "@ng-select/ng-select": "^21.0.0"
12
+ "@ng-select/ng-select": "^23.0.0"
13
13
  },
14
14
  "peerDependenciesMeta": {
15
15
  "bootstrap": {
package/scss/bundle.scss CHANGED
@@ -104,7 +104,6 @@
104
104
  @import 'components/breadcrumbs/breadcrumbs';
105
105
  @import 'components/stepper/stepper';
106
106
  @import 'components/carousel/carousel';
107
- @import 'components/sidenav/sidenav-deprecated';
108
107
  @import 'components/footer/footer';
109
108
  @import 'components/toast/toast';
110
109
  @import 'components/scrollspy/scrollspy';
@@ -9,7 +9,7 @@
9
9
  //10.5px
10
10
  'border-radius': var(--df-borderRadius-main-small)
11
11
  ),
12
- 'default': (
12
+ 'md': (
13
13
  'icon-width': var(--df-icons-sizing-default),
14
14
  'font-size': var(--df-typo-sizing-default),
15
15
  'padding-y': 0.75rem,
@@ -26,6 +26,11 @@
26
26
  &:hover {
27
27
  --df-inner-box-shadow-color: var(--df-color-primary-alt-hovered-background);
28
28
  --df-accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};
29
+
30
+ .df-subtitle {
31
+ color: var(--df-color-neutral-alt-hovered-foreground);
32
+ }
33
+
29
34
  background-color: var(--df-color-primary-alt-hovered-background);
30
35
  color: var(--df-color-neutral-alt-default-foreground);
31
36
 
@@ -36,10 +41,6 @@
36
41
  &::after {
37
42
  background-color: var(--df-color-primary-alt-hovered-foreground);
38
43
  }
39
-
40
- .df-subtitle {
41
- color: var(--df-color-neutral-alt-hovered-foreground);
42
- }
43
44
  }
44
45
 
45
46
  &:active {
@@ -61,8 +62,7 @@
61
62
  opacity: 1;
62
63
  cursor: not-allowed;
63
64
 
64
- .df-subtitle,
65
- .df-accordion-number {
65
+ .df-subtitle {
66
66
  color: var(--df-color-disabled-main-foreground);
67
67
  }
68
68
 
@@ -72,7 +72,7 @@
72
72
  }
73
73
 
74
74
  .df-accordion-number {
75
- color: var(--df-color-subtext-foreground);
75
+ color: var(--df-color-inert-neutral-main-foreground);
76
76
  font-weight: var(--df-typo-weight-regular);
77
77
  }
78
78
 
@@ -151,12 +151,6 @@
151
151
  inset 0 calc(-1 * var(--df-accordion-border-width)) 0 var(--df-accordion-border-color);
152
152
  }
153
153
  }
154
-
155
- &:focus-visible {
156
- box-shadow:
157
- var(--df-accordion-btn-focus-box-shadow),
158
- inset 0 calc(-1 * var(--df-accordion-border-width)) 0 var(--df-accordion-border-color);
159
- }
160
154
  }
161
155
  }
162
156
 
@@ -219,7 +213,7 @@
219
213
  }
220
214
 
221
215
  //sizing
222
- @include accordion-mixin.df-sizes('default');
216
+ @include accordion-mixin.df-sizes('md');
223
217
 
224
218
  &.df-accordion-sm {
225
219
  @include accordion-mixin.df-sizes('sm');
@@ -1,6 +1,6 @@
1
1
  @use '../../common.variables' as df;
2
2
 
3
- $btn-font-family: var(--df-typo-font-primaryFamily), sans-serif !default;
3
+ $btn-font-family: var(--df-typo-font-primaryFamily), var(--df-typo-font-secondaryFamily) !default;
4
4
  $btn-font-weight: var(--df-typo-weight-medium) !default;
5
5
  $btn-disabled-opacity: 1 !default;
6
6
  $btn-link-focus-shadow-rgb: unset !default;
@@ -25,15 +25,11 @@
25
25
  margin-block-end: var(--df-spacing-5);
26
26
  }
27
27
 
28
- &.border-0 {
29
- box-shadow: none;
30
- }
31
-
32
28
  &.btn.btn-outline-primary {
33
29
  display: block;
34
30
  text-align: start;
35
31
  color: var(--df-color-neutral-alt-default-foreground);
36
- border: none;
32
+ border: 1px solid var(--df-color-inert-neutral-main-border);
37
33
  border-radius: var(--df-borderRadius-main-small);
38
34
  height: inherit;
39
35
 
@@ -42,6 +38,7 @@
42
38
 
43
39
  &:not(:hover):not(:active) {
44
40
  color: var(--df-color-neutral-alt-default-foreground);
41
+ border-color: var(--df-color-inert-neutral-main-border);
45
42
  }
46
43
  }
47
44
 
@@ -52,16 +49,16 @@
52
49
 
53
50
  &:hover {
54
51
  background-color: var(--df-color-primary-alt-hovered-background);
55
- border: none;
52
+ border-color: var(--df-color-inert-neutral-main-border);
56
53
 
57
54
  &:active {
58
55
  background-color: var(--df-btn-active-bg);
59
- border: none;
56
+ border-color: var(--df-color-inert-neutral-main-border);
60
57
  }
61
58
  }
62
59
 
63
60
  &:active {
64
- border: none;
61
+ border-color: var(--df-color-inert-neutral-main-border);
65
62
  }
66
63
  }
67
64
 
@@ -136,7 +133,6 @@
136
133
  border-radius: var(--df-card-border-radius);
137
134
 
138
135
  .card {
139
- box-shadow: none;
140
136
  border-radius: 0;
141
137
 
142
138
  &:not(:last-of-type) {
@@ -3,9 +3,10 @@
3
3
  $card-spacer-y: var(--df-spacing-5) !default;
4
4
  $card-spacer-x: var(--df-spacing-5) !default;
5
5
  $card-title-spacer-y: var(--df-spacing-5) !default;
6
- $card-border-width: 0 !default;
6
+ $card-border-width: 1px !default;
7
7
  $card-border-radius: var(--df-border-radius-lg) !default;
8
- $card-box-shadow: df.$df-box-shadow !default;
8
+ $card-border-color: var(--df-color-inert-neutral-main-border) !default;
9
+ $card-box-shadow: none !default;
9
10
  $card-inner-border-radius: var(--df-borderRadius-main-medium) !default;
10
11
  $card-cap-padding-y: var(--df-spacing-3) !default;
11
12
  $card-cap-padding-x: var(--df-spacing-5) !default;
@@ -52,6 +52,7 @@
52
52
 
53
53
  ngb-datepicker {
54
54
  border-radius: var(--df-borderRadius-main-medium);
55
+ border: 1px solid var(--df-color-inert-neutral-main-border) !important; // override ng-bootstrap default border
55
56
  padding: var(--df-spacing-5);
56
57
  box-shadow: df.$df-box-shadow;
57
58
  background-color: var(--df-color-inert-neutral-main-background);
@@ -1,6 +1,7 @@
1
1
  @use '../../common.variables' as df;
2
2
 
3
- $dropdown-border-width: 0 !default;
3
+ $dropdown-border-width: 1px !default;
4
+ $dropdown-border-color: var(--df-color-inert-neutral-main-border) !default;
4
5
  $dropdown-link-hover-bg: var(--df-color-primary-alt-hovered-background) !default;
5
6
  $dropdown-link-hover-color: var(--df-color-neutral-alt-hovered-foreground) !default;
6
7
  $dropdown-link-active-bg: var(--df-color-primary-alt-active-background) !default;
@@ -10,7 +10,7 @@ $lead-font-size: var(--df-typo-sizing-2xlarge) !default;
10
10
 
11
11
  $headings-margin-bottom: var(--df-spacing-3) !default;
12
12
  $headings-font-weight: var(--df-typo-weight-medium) !default;
13
- $headings-font-family: var(--df-typo-font-primaryFamily), sans-serif !default;
13
+ $headings-font-family: var(--df-typo-font-primaryFamily), var(--df-typo-font-secondaryFamily) !default;
14
14
  $headings-line-height: 1.5 !default;
15
15
 
16
16
  $font-size-base: var(--df-typo-sizing-default) !default; // Assumes the browser default, typically `16px`
@@ -65,4 +65,4 @@ $display-line-height: 1.1 !default;
65
65
 
66
66
  $small-font-size: $font-size-sm !default;
67
67
 
68
- $font-family-sans-serif: var(--df-typo-font-primaryFamily), sans-serif !default;
68
+ $font-family-sans-serif: var(--df-typo-font-primaryFamily), var(--df-typo-font-secondaryFamily) !default;
@@ -48,6 +48,7 @@
48
48
  font-family: 'Font Awesome 6 Pro', sans-serif;
49
49
  font-weight: 300;
50
50
  margin-inline-end: var(--df-spacing-2);
51
+ display: inline-block;
51
52
  }
52
53
 
53
54
  .form-control-sm {
@@ -85,6 +86,10 @@
85
86
  .warning-feedback {
86
87
  font-size: var(--df-typo-sizing-xsmall);
87
88
  }
89
+
90
+ .form-text {
91
+ font-size: var(--df-typo-sizing-xsmall);
92
+ }
88
93
  }
89
94
 
90
95
  // forms size large
@@ -101,6 +106,16 @@
101
106
  .input-group:has(input.df-input-withicon):has(.input-group-prepend) .input-group-prepend {
102
107
  border-radius: var(--df-border-radius-lg);
103
108
  }
109
+
110
+ .invalid-feedback,
111
+ .valid-feedback,
112
+ .warning-feedback {
113
+ font-size: var(--df-typo-sizing-default);
114
+ }
115
+
116
+ .form-text {
117
+ font-size: var(--df-typo-sizing-default);
118
+ }
104
119
  }
105
120
 
106
121
  .ng-invalid.ng-touched {
@@ -18,7 +18,6 @@ $form-file-button-hover-bg: var(--df-button-outline-basic-color-primary-hovered-
18
18
 
19
19
  $form-feedback-valid-color: var(--df-color-success-alt-default-foreground) !default;
20
20
  $form-feedback-invalid-color: var(--df-color-danger-alt-default-foreground) !default;
21
- $form-feedback-font-style: var(--df-typo-sizing-small) !default;
22
21
 
23
22
  $form-validation-states: (
24
23
  'valid': (
@@ -38,15 +37,6 @@ $form-validation-states: (
38
37
  'tooltip-bg-color': var(--df-color-danger-main-default-background),
39
38
  'focus-box-shadow': df.$df-focus-box-shadow,
40
39
  'border-color': var(--df-color-danger-alt-default-border)
41
- ),
42
- 'warning': (
43
- 'color': var(--df-color-warning-alt-default-foreground),
44
- // not used as we set $enable-validation-icons to false
45
- 'icon': '',
46
- 'tooltip-color': var(--df-color-warning-main-default-foreground),
47
- 'tooltip-bg-color': var(--df-color-warning-main-default-background),
48
- 'focus-box-shadow': df.$df-focus-box-shadow,
49
- 'border-color': var(--df-color-warning-alt-default-border)
50
40
  )
51
41
  ) !default;
52
42
 
@@ -87,19 +87,27 @@ a {
87
87
  box-shadow 0.15s ease-in-out
88
88
  );
89
89
 
90
- &[href*='//'],
91
- &[href*='mailto'],
92
- &.df-link-external {
90
+ &:is([href*='//'], [href*='mailto'], &.df-link-external) {
93
91
  .fa-external-link {
94
92
  display: none;
95
93
  }
96
94
 
97
- &:not(.df-link-icononly):after {
95
+ &:not(.df-link-icononly):not(.df-btn-icononly):after {
98
96
  content: '\00a0\f08e'; // Empty space + .fa-external-link
99
97
  font-family: 'Font Awesome 6 Pro', sans-serif;
100
98
  position: relative;
101
99
  bottom: -0.08em;
102
100
  }
101
+ // no need of empty space when inside a layout with gap provided (.btn, .df-btn, .df-sidenav-button)
102
+ &:not(.df-btn-icononly).df-btn:after {
103
+ content: '\f08e'; // .fa-external-link
104
+ }
105
+ &:not(.df-link-icononly).btn:after {
106
+ content: '\f08e'; // .fa-external-link
107
+ }
108
+ &:not(.df-link-icononly).df-sidenav-button:after {
109
+ content: '\f08e'; // .fa-external-link
110
+ }
103
111
  }
104
112
  }
105
113
 
@@ -1,9 +1,9 @@
1
1
  $modal-backdrop-bg: var(--df-color-backdrop-background) !default;
2
2
  $modal-backdrop-opacity: 1 !default;
3
3
  $modal-content-bg: var(--df-color-inert-neutral-main-background) !default;
4
- $modal-content-border-color: none !default;
4
+ $modal-content-border-color: var(--df-color-inert-neutral-main-border) !default;
5
5
  $modal-content-border-radius: var(--df-borderRadius-main-large) !default;
6
- $modal-content-border-width: 0 !default;
6
+ $modal-content-border-width: 1px !default;
7
7
  $modal-content-inner-border-radius: var(--df-borderRadius-main-large) !default;
8
8
  $modal-footer-margin-between: 0 !default;
9
9
  $modal-header-border-width: 0px !default;
@@ -47,7 +47,7 @@
47
47
  font-weight: var(--df-typo-weight-medium);
48
48
  padding: calc((3.5rem - var(--df-typo-sizing-large) * $line-height-base) / 2) var(--df-spacing-5);
49
49
 
50
- font-family: var(--df-typo-font-primaryFamily), sans-serif;
50
+ font-family: var(--df-typo-font-primaryFamily), var(--df-typo-font-secondaryFamily);
51
51
  outline: none;
52
52
 
53
53
  &:focus-visible {
@@ -5,7 +5,9 @@ fieldset[role='radiogroup'] > legend {
5
5
  }
6
6
 
7
7
  .form-check-input[type='radio'] {
8
- --df-box-shadow-color: var(--df-color-primary-main-default-border);
8
+ &:not(.is-invalid):not(.ng-invalid.ng-touched) {
9
+ --df-box-shadow-color: var(--df-color-primary-main-default-border);
10
+ }
9
11
 
10
12
  &:checked {
11
13
  background-image: none;
@@ -11,7 +11,6 @@
11
11
  padding-bottom: 0.28125rem; // 4.5px not a token in Figma
12
12
  margin-block-end: 1px;
13
13
  font-size: var(--df-typo-sizing-small);
14
- display: flex;
15
14
 
16
15
  &.active {
17
16
  --df-inner-box-shadow-color: var(--df-color-primary-alt-active-background);
@@ -420,6 +420,7 @@ html:root[data-df-theme='dark'] {
420
420
  .ng-dropdown-panel {
421
421
  background-color: var(--df-color-inert-neutral-main-background);
422
422
  border-radius: var(--df-borderRadius-main-medium);
423
+ border: 1px solid var(--df-color-inert-neutral-main-border);
423
424
  box-shadow: df.$df-box-shadow;
424
425
  overflow: auto;
425
426
  width: initial;
@@ -24,10 +24,10 @@
24
24
  }
25
25
 
26
26
  li {
27
- padding: 0.125em;
28
- line-height: 1.5;
27
+ padding: 0.375em var(--df-spacing-5);
29
28
  border-radius: var(--df-borderRadius-main-medium);
30
29
  margin: #{$df-speech-gap} #{2 * $df-speech-gap};
30
+ line-height: 1.25;
31
31
 
32
32
  &:last-child {
33
33
  position: relative;
@@ -42,11 +42,6 @@
42
42
  }
43
43
  }
44
44
 
45
- p {
46
- padding: 0.375em var(--df-spacing-5);
47
- margin-bottom: 0;
48
- }
49
-
50
45
  &.df-speech-left {
51
46
  @include ltr {
52
47
  @include speechbubble-mixin.speech-orientation('left', $df-speech-tail-factor, $df-speech-gap, $df-speech-size);
@@ -44,7 +44,7 @@
44
44
  --ag-header-height: 42px;
45
45
  --ag-row-height: 44px;
46
46
  --ag-data-color: var(--df-color-neutral-alt-default-foreground);
47
- --ag-font-family: var(--df-typo-font-primaryFamily), sans-serif;
47
+ --ag-font-family: var(--df-typo-font-primaryFamily), var(--df-typo-font-secondaryFamily);
48
48
  --ag-header-background-color: var(--df-color-primary-subtle-background);
49
49
  --ag-header-cell-hover-background-color: var(--df-color-primary-alt-hovered-background);
50
50
  --ag-selected-row-background-color: var(--df-color-primary-alt-active-background);
package/scss/core.scss CHANGED
@@ -11,7 +11,7 @@
11
11
  // Global page baseline.
12
12
  body {
13
13
  margin: 0;
14
- font-family: var(--df-typo-font-primaryFamily);
14
+ font-family: var(--df-typo-font-primaryFamily), var(--df-typo-font-secondaryFamily);
15
15
  font-size: var(--df-typo-sizing-default);
16
16
  font-weight: var(--df-typo-weight-regular);
17
17
  line-height: 1.5;
@@ -113,7 +113,6 @@ $df-css-namespace-selector: '.design-factory-v2' !default;
113
113
  @import 'components/breadcrumbs/breadcrumbs';
114
114
  @import 'components/stepper/stepper';
115
115
  @import 'components/carousel/carousel';
116
- @import 'components/sidenav/sidenav-deprecated';
117
116
  @import 'components/footer/footer';
118
117
  @import 'components/toast/toast';
119
118
  @import 'components/scrollspy/scrollspy';
@@ -180,6 +179,5 @@ $df-css-namespace-selector: '.design-factory-v2' !default;
180
179
  @import 'components/spinner/spinner.namespace';
181
180
  @import 'components/tooltip/tooltip.namespace';
182
181
  @import 'components/typeahead/typeahead.namespace';
183
-
184
182
  @import 'bootstrap/rtl-styles-override';
185
183
  /* stylelint-enable no-invalid-position-at-import-rule */
@@ -1,165 +0,0 @@
1
- @use '../../common.variables.scss' as df;
2
-
3
- .df-sidenav-toggler {
4
- @extend .navbar-toggler;
5
- }
6
-
7
- .df-sidenav-toggler-icon {
8
- line-height: 1.5rem;
9
- display: block;
10
- width: 1.5rem;
11
- height: 1.5rem;
12
- }
13
-
14
- .df-sidenav-light {
15
- width: 16.875rem;
16
- background-color: var(--df-color-inert-neutral-main-background);
17
- overflow-x: hidden;
18
- border-inline-end: 1px solid var(--df-color-inert-neutral-main-border);
19
-
20
- & > .df-scroll-content {
21
- padding-top: var(--df-spacing-5);
22
- padding-inline: var(--df-spacing-3);
23
- }
24
-
25
- // Three level of sidenav setup
26
- .df-sidenav-list {
27
- padding-inline: 0;
28
-
29
- li {
30
- list-style-type: none;
31
- }
32
-
33
- > .df-sidenav-list-withactivated > :is(button, a) {
34
- font-weight: var(--df-typo-weight-bold);
35
- }
36
-
37
- .df-sidenav-list {
38
- .df-sidenav-item {
39
- // Second level override
40
- padding-inline-start: calc(var(--df-spacing-5) + 0.5rem);
41
- }
42
-
43
- .df-sidenav-list {
44
- font-size: var(--df-typo-sizing-small);
45
-
46
- .df-sidenav-item {
47
- // Third level override
48
- padding-inline-start: calc(var(--df-spacing-5) + 1.25rem);
49
- }
50
- }
51
- }
52
-
53
- .df-sidenav-item {
54
- .df-sidenav-collapse-icon {
55
- color: var(--df-color-primary-alt-default-foreground);
56
- }
57
-
58
- width: 100%;
59
- color: var(--df-color-inert-neutral-main-foreground);
60
- position: relative; // mandatory for the focus shadow
61
- border: none; // reset the default border
62
- margin: 0 0 1px 0;
63
- padding-top: 0;
64
- padding-bottom: 0;
65
- text-align: start;
66
- padding-inline: var(--df-spacing-5);
67
- background-color: var(--df-color-inert-neutral-main-background);
68
- height: 2.5rem;
69
- border-radius: var(--df-borderRadius-main-medium);
70
-
71
- &:hover {
72
- .df-sidenav-collapse-icon {
73
- color: var(--df-color-primary-alt-hovered-foreground);
74
- }
75
- }
76
- &:active {
77
- .df-sidenav-collapse-icon {
78
- color: var(--df-color-primary-alt-pressed-foreground);
79
- }
80
- }
81
-
82
- &:not(.df-sidenav-title):hover {
83
- background-color: var(--df-color-primary-alt-hovered-background);
84
- &:active {
85
- background-color: var(--df-color-primary-alt-pressed-background);
86
- }
87
- }
88
-
89
- &:is(:focus-visible, .focus) {
90
- // Title can never be focus
91
- --df-box-shadow-color: var(--df-color-focus-main-border);
92
- box-shadow: df.$df-focus-box-shadow;
93
- outline: none;
94
- z-index: 2;
95
- }
96
-
97
- &.active {
98
- // Title are never active
99
- background-color: var(--df-color-primary-alt-active-background);
100
- color: var(--df-color-primary-alt-active-foreground);
101
- font-weight: var(--df-typo-weight-bold);
102
- }
103
-
104
- &.df-sidenav-title {
105
- height: 2.75rem;
106
- font-size: var(--df-typo-sizing-small);
107
- }
108
- }
109
- }
110
-
111
- &.df-collapsing {
112
- position: absolute;
113
- height: 100%;
114
- width: 0;
115
- overflow: hidden;
116
- @include transition(width 0.5s ease);
117
- }
118
-
119
- &.df-minimizing {
120
- position: absolute;
121
- width: 50px;
122
- overflow: hidden;
123
- @include transition(width 0.5s ease);
124
- }
125
-
126
- &.df-sidenav-menu-overlay {
127
- position: absolute;
128
- height: 100%;
129
- z-index: $zindex-fixed + 7;
130
- }
131
-
132
- .df-sidenav-icon {
133
- font-size: 1.25rem;
134
- width: 1.5rem;
135
- padding: 2px 2px 2px 2px;
136
- margin-inline: -0.28125rem 0.5rem;
137
- }
138
- }
139
-
140
- .df-main-content {
141
- width: calc(100vw - 16.875rem);
142
- }
143
-
144
- .df-sidenav-wrapper {
145
- position: relative;
146
- max-width: 100%;
147
- overflow: hidden; // in case the content can not be reduced more than the screen.
148
- }
149
-
150
- df-sidenav.df-collapse:not(.df-show) {
151
- display: none !important;
152
- }
153
-
154
- .df-sidenav-overlay {
155
- position: absolute;
156
- background-color: var(--df-color-backdrop-background);
157
- opacity: 0.5;
158
- width: 100%;
159
- height: 100%;
160
- z-index: $zindex-fixed + 6;
161
- }
162
-
163
- .df-minimized:not(.df-show) {
164
- width: 50px;
165
- }