@design-factory/styles 21.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 (242) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +13 -0
  3. package/assets/fonts/amadeus-bold/amadeus-bold.woff +0 -0
  4. package/assets/fonts/amadeus-bold/amadeus-bold.woff2 +0 -0
  5. package/assets/fonts/amadeus-full/amadeus-full-bold.woff +0 -0
  6. package/assets/fonts/amadeus-full/amadeus-full-bold.woff2 +0 -0
  7. package/assets/fonts/amadeus-full/amadeus-full-bolditalic.woff +0 -0
  8. package/assets/fonts/amadeus-full/amadeus-full-bolditalic.woff2 +0 -0
  9. package/assets/fonts/amadeus-full/amadeus-full-italic.woff +0 -0
  10. package/assets/fonts/amadeus-full/amadeus-full-italic.woff2 +0 -0
  11. package/assets/fonts/amadeus-full/amadeus-full-light.woff +0 -0
  12. package/assets/fonts/amadeus-full/amadeus-full-light.woff2 +0 -0
  13. package/assets/fonts/amadeus-full/amadeus-full-lightitalic.woff +0 -0
  14. package/assets/fonts/amadeus-full/amadeus-full-lightitalic.woff2 +0 -0
  15. package/assets/fonts/amadeus-full/amadeus-full-regular.woff +0 -0
  16. package/assets/fonts/amadeus-full/amadeus-full-regular.woff2 +0 -0
  17. package/assets/fonts/amadeus-full/amadeus-full-thin.woff +0 -0
  18. package/assets/fonts/amadeus-full/amadeus-full-thin.woff2 +0 -0
  19. package/assets/fonts/amadeus-full/amadeus-full-thinitalic.woff +0 -0
  20. package/assets/fonts/amadeus-full/amadeus-full-thinitalic.woff2 +0 -0
  21. package/assets/fonts/amadeus-neue/bold/AmadeusNeueWeb-Bold.woff +0 -0
  22. package/assets/fonts/amadeus-neue/bold/AmadeusNeueWeb-Bold.woff2 +0 -0
  23. package/assets/fonts/amadeus-neue/bold/AmadeusNeueWeb-BoldItalic.woff +0 -0
  24. package/assets/fonts/amadeus-neue/bold/AmadeusNeueWeb-BoldItalic.woff2 +0 -0
  25. package/assets/fonts/amadeus-neue/light/AmadeusNeueWeb-Light.woff +0 -0
  26. package/assets/fonts/amadeus-neue/light/AmadeusNeueWeb-Light.woff2 +0 -0
  27. package/assets/fonts/amadeus-neue/light/AmadeusNeueWeb-LightItalic.woff +0 -0
  28. package/assets/fonts/amadeus-neue/light/AmadeusNeueWeb-LightItalic.woff2 +0 -0
  29. package/assets/fonts/amadeus-neue/medium/AmadeusNeueWeb-Medium.woff +0 -0
  30. package/assets/fonts/amadeus-neue/medium/AmadeusNeueWeb-Medium.woff2 +0 -0
  31. package/assets/fonts/amadeus-neue/medium/AmadeusNeueWeb-MediumItalic.woff +0 -0
  32. package/assets/fonts/amadeus-neue/medium/AmadeusNeueWeb-MediumItalic.woff2 +0 -0
  33. package/assets/fonts/amadeus-neue/regular/AmadeusNeueWeb-Regular.woff +0 -0
  34. package/assets/fonts/amadeus-neue/regular/AmadeusNeueWeb-Regular.woff2 +0 -0
  35. package/assets/fonts/amadeus-neue/regular/AmadeusNeueWeb-RegularItalic.woff +0 -0
  36. package/assets/fonts/amadeus-neue/regular/AmadeusNeueWeb-RegularItalic.woff2 +0 -0
  37. package/assets/fonts/amadeus-regular/amadeus-regular.woff +0 -0
  38. package/assets/fonts/amadeus-regular/amadeus-regular.woff2 +0 -0
  39. package/assets/fonts/amadeus-thin/amadeus-thin.woff +0 -0
  40. package/assets/fonts/amadeus-thin/amadeus-thin.woff2 +0 -0
  41. package/assets/fonts/df-icons/df-icons-light.woff2 +0 -0
  42. package/assets/fonts/df-icons/df-icons-solid.woff2 +0 -0
  43. package/assets/fonts/font-awesome/fa-brands-400.woff2 +0 -0
  44. package/assets/fonts/font-awesome/fa-light-300.woff2 +0 -0
  45. package/assets/fonts/font-awesome/fa-solid-900.woff2 +0 -0
  46. package/assets/fonts/noto/notosans-bold.woff +0 -0
  47. package/assets/fonts/noto/notosans-bold.woff2 +0 -0
  48. package/assets/fonts/noto/notosans-bolditalic.woff +0 -0
  49. package/assets/fonts/noto/notosans-bolditalic.woff2 +0 -0
  50. package/assets/fonts/noto/notosans-italic.woff +0 -0
  51. package/assets/fonts/noto/notosans-italic.woff2 +0 -0
  52. package/assets/fonts/noto/notosans-light.woff +0 -0
  53. package/assets/fonts/noto/notosans-light.woff2 +0 -0
  54. package/assets/fonts/noto/notosans-lightitalic.woff +0 -0
  55. package/assets/fonts/noto/notosans-lightitalic.woff2 +0 -0
  56. package/assets/fonts/noto/notosans-regular.woff +0 -0
  57. package/assets/fonts/noto/notosans-regular.woff2 +0 -0
  58. package/assets/fonts/noto/notosans-thin.woff +0 -0
  59. package/assets/fonts/noto/notosans-thin.woff2 +0 -0
  60. package/assets/fonts/noto/notosans-thinitalic.woff +0 -0
  61. package/assets/fonts/noto/notosans-thinitalic.woff2 +0 -0
  62. package/assets/fonts/noto/notosansarabic-bold.woff +0 -0
  63. package/assets/fonts/noto/notosansarabic-bold.woff2 +0 -0
  64. package/assets/fonts/noto/notosansarabic-light.woff +0 -0
  65. package/assets/fonts/noto/notosansarabic-light.woff2 +0 -0
  66. package/assets/fonts/noto/notosansarabic-regular.woff +0 -0
  67. package/assets/fonts/noto/notosansarabic-regular.woff2 +0 -0
  68. package/assets/fonts/noto/notosansarabic-thin.woff +0 -0
  69. package/assets/fonts/noto/notosansarabic-thin.woff2 +0 -0
  70. package/assets/fonts/noto/notosansgeorgian-bold.woff +0 -0
  71. package/assets/fonts/noto/notosansgeorgian-bold.woff2 +0 -0
  72. package/assets/fonts/noto/notosansgeorgian-light.woff +0 -0
  73. package/assets/fonts/noto/notosansgeorgian-light.woff2 +0 -0
  74. package/assets/fonts/noto/notosansgeorgian-regular.woff +0 -0
  75. package/assets/fonts/noto/notosansgeorgian-regular.woff2 +0 -0
  76. package/assets/fonts/noto/notosansgeorgian-thin.woff +0 -0
  77. package/assets/fonts/noto/notosansgeorgian-thin.woff2 +0 -0
  78. package/assets/fonts/noto/notosanshebrew-bold.woff +0 -0
  79. package/assets/fonts/noto/notosanshebrew-bold.woff2 +0 -0
  80. package/assets/fonts/noto/notosanshebrew-light.woff +0 -0
  81. package/assets/fonts/noto/notosanshebrew-light.woff2 +0 -0
  82. package/assets/fonts/noto/notosanshebrew-regular.woff +0 -0
  83. package/assets/fonts/noto/notosanshebrew-regular.woff2 +0 -0
  84. package/assets/fonts/noto/notosanshebrew-thin.woff +0 -0
  85. package/assets/fonts/noto/notosanshebrew-thin.woff2 +0 -0
  86. package/assets/fonts/source-sans-pro-bold/source-sans-pro-bold.woff +0 -0
  87. package/assets/fonts/source-sans-pro-bold/source-sans-pro-bold.woff2 +0 -0
  88. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bold.woff +0 -0
  89. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bold.woff2 +0 -0
  90. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bolditalic.woff +0 -0
  91. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-bolditalic.woff2 +0 -0
  92. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-italic.woff +0 -0
  93. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-italic.woff2 +0 -0
  94. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-light.woff +0 -0
  95. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-light.woff2 +0 -0
  96. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-lightitalic.woff +0 -0
  97. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-lightitalic.woff2 +0 -0
  98. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-regular.woff +0 -0
  99. package/assets/fonts/source-sans-pro-full/sourcesanspro-full-regular.woff2 +0 -0
  100. package/assets/fonts/source-sans-pro-light/source-sans-pro-light.woff +0 -0
  101. package/assets/fonts/source-sans-pro-light/source-sans-pro-light.woff2 +0 -0
  102. package/assets/fonts/source-sans-pro-regular/source-sans-pro-regular.woff +0 -0
  103. package/assets/fonts/source-sans-pro-regular/source-sans-pro-regular.woff2 +0 -0
  104. package/assets/fonts/source-sans-pro-semibold/source-sans-pro-semibold.woff +0 -0
  105. package/assets/fonts/source-sans-pro-semibold/source-sans-pro-semibold.woff2 +0 -0
  106. package/bundle.css +13 -0
  107. package/package.json +31 -0
  108. package/scss/_common.mixins.scss +30 -0
  109. package/scss/_common.root.scss +36 -0
  110. package/scss/_common.scss +50 -0
  111. package/scss/_common.variables.scss +62 -0
  112. package/scss/_new-brand-common.variables.scss +7 -0
  113. package/scss/_variables.scss +46 -0
  114. package/scss/agnosui/_variables.scss +33 -0
  115. package/scss/bootstrap/_helpers.scss +12 -0
  116. package/scss/bootstrap/_maps.scss +68 -0
  117. package/scss/bootstrap/_mixins-override.scss +69 -0
  118. package/scss/bootstrap/_rtl-styles-override.scss +111 -0
  119. package/scss/bootstrap/_utilities-override.scss +127 -0
  120. package/scss/bootstrap/_variables-dark.scss +86 -0
  121. package/scss/bootstrap/_variables.scss +1118 -0
  122. package/scss/bootstrap/helpers/_color-bg.scss +14 -0
  123. package/scss/bundle.scss +120 -0
  124. package/scss/components/accordion/_accordion.mixin.scss +94 -0
  125. package/scss/components/accordion/_accordion.scss +201 -0
  126. package/scss/components/accordion/_accordion.variables.scss +14 -0
  127. package/scss/components/alert/_alert.mixin.scss +64 -0
  128. package/scss/components/alert/_alert.scss +142 -0
  129. package/scss/components/alert/_alert.variables.scss +3 -0
  130. package/scss/components/badge/_badge.mixins.scss +9 -0
  131. package/scss/components/badge/_badge.scss +250 -0
  132. package/scss/components/badge/_badge.variables.scss +4 -0
  133. package/scss/components/brand-color/_brand-color.mixins.scss +17 -0
  134. package/scss/components/brand-color/_brand-color.scss +13 -0
  135. package/scss/components/brand-color/_brand-color.variables.scss +146 -0
  136. package/scss/components/brand-color/_brand-color_container.scss +23 -0
  137. package/scss/components/breadcrumbs/_breadcrumbs.scss +110 -0
  138. package/scss/components/breadcrumbs/_breadcrumbs.variables.scss +7 -0
  139. package/scss/components/button/_button.mixins.scss +144 -0
  140. package/scss/components/button/_button.scss +178 -0
  141. package/scss/components/button/_button.variables.scss +8 -0
  142. package/scss/components/button/_button_container.scss +47 -0
  143. package/scss/components/card/_card.scss +167 -0
  144. package/scss/components/card/_card.variables.scss +12 -0
  145. package/scss/components/carousel/_carousel.scss +83 -0
  146. package/scss/components/carousel/_carousel.variables.scss +3 -0
  147. package/scss/components/checkbox/_checkbox.scss +155 -0
  148. package/scss/components/checkbox/_checkbox.variables.scss +23 -0
  149. package/scss/components/collapse/_collapse.scss +48 -0
  150. package/scss/components/datepicker/_datepicker.scss +223 -0
  151. package/scss/components/drawer/_drawer.scss +120 -0
  152. package/scss/components/dropdown/_dropdown.mixins.scss +24 -0
  153. package/scss/components/dropdown/_dropdown.scss +129 -0
  154. package/scss/components/dropdown/_dropdown.variables.scss +15 -0
  155. package/scss/components/fieldset/_fieldset.variables.scss +2 -0
  156. package/scss/components/fonts/_font-awesome-icons-brands.scss +1585 -0
  157. package/scss/components/fonts/_font-awesome-icons.scss +12886 -0
  158. package/scss/components/fonts/_font-faces.mixins.scss +579 -0
  159. package/scss/components/fonts/_fonts-family.scss +195 -0
  160. package/scss/components/fonts/_fonts.scss +50 -0
  161. package/scss/components/fonts/_fonts.variables.scss +68 -0
  162. package/scss/components/fonts/_icon-font.scss +97 -0
  163. package/scss/components/fonts/_multi-lang.mixins.scss +8 -0
  164. package/scss/components/fonts/multi-lang/_arabic.mixins.scss +9 -0
  165. package/scss/components/fonts/multi-lang/_chinese.mixins.scss +14 -0
  166. package/scss/components/fonts/multi-lang/_cyrillic-extended.mixins.scss +11 -0
  167. package/scss/components/fonts/multi-lang/_cyrillic.mixins.scss +10 -0
  168. package/scss/components/fonts/multi-lang/_georgian.mixins.scss +9 -0
  169. package/scss/components/fonts/multi-lang/_hebrew.mixins.scss +9 -0
  170. package/scss/components/fonts/multi-lang/_japanese.mixins.scss +25 -0
  171. package/scss/components/fonts/multi-lang/_korean.mixins.scss +12 -0
  172. package/scss/components/footer/_footer.mixins.scss +36 -0
  173. package/scss/components/footer/_footer.scss +49 -0
  174. package/scss/components/form/_form.scss +101 -0
  175. package/scss/components/form/_form.variables.scss +48 -0
  176. package/scss/components/icon/_amadeus-icon.scss +29 -0
  177. package/scss/components/image/_image.variables.scss +2 -0
  178. package/scss/components/inputs/_inputs.mixin.scss +45 -0
  179. package/scss/components/inputs/_inputs.scss +254 -0
  180. package/scss/components/inputs/_inputs.variables.scss +20 -0
  181. package/scss/components/link/_link.scss +150 -0
  182. package/scss/components/link/_link.variables.scss +5 -0
  183. package/scss/components/list/_list.scss +17 -0
  184. package/scss/components/list-group/_list-group.scss +81 -0
  185. package/scss/components/list-group/_list-group.variables.scss +21 -0
  186. package/scss/components/media/_media.scss +27 -0
  187. package/scss/components/modal/_modal.scss +154 -0
  188. package/scss/components/modal/_modal.variables.scss +13 -0
  189. package/scss/components/navbar/_navbar.mixins.scss +46 -0
  190. package/scss/components/navbar/_navbar.scss +287 -0
  191. package/scss/components/navbar/_navbar.variables.scss +14 -0
  192. package/scss/components/pagination/_pagination.mixins.scss +30 -0
  193. package/scss/components/pagination/_pagination.scss +189 -0
  194. package/scss/components/pagination/_pagination.variables.scss +20 -0
  195. package/scss/components/pagination/_pagination_container.scss +17 -0
  196. package/scss/components/popover/_popover.mixins.scss +13 -0
  197. package/scss/components/popover/_popover.scss +65 -0
  198. package/scss/components/popover/_popover.variables.scss +17 -0
  199. package/scss/components/popover/_popover_container.scss +214 -0
  200. package/scss/components/progressbar/_progressbar.scss +52 -0
  201. package/scss/components/progressbar/_progressbar.variables.scss +6 -0
  202. package/scss/components/radio/_radio.scss +63 -0
  203. package/scss/components/rating/_rating.mixins.scss +17 -0
  204. package/scss/components/rating/_rating.scss +51 -0
  205. package/scss/components/scrollspy/_scrollspy.scss +42 -0
  206. package/scss/components/select/_select.mixin.scss +7 -0
  207. package/scss/components/select/_select.scss +531 -0
  208. package/scss/components/select/_select.variables.scss +18 -0
  209. package/scss/components/separator/_separator.scss +8 -0
  210. package/scss/components/separator/_separator.variables.scss +5 -0
  211. package/scss/components/sidenav/_sidenav-deprecated.scss +165 -0
  212. package/scss/components/sidenav/_sidenav.scss +227 -0
  213. package/scss/components/slider/_slider.mixins.scss +82 -0
  214. package/scss/components/slider/_slider.scss +402 -0
  215. package/scss/components/speechbubble/_speechbubble.mixin.scss +28 -0
  216. package/scss/components/speechbubble/_speechbubble.scss +107 -0
  217. package/scss/components/spinner/_spinner.scss +68 -0
  218. package/scss/components/spinner/_spinner.variables.scss +5 -0
  219. package/scss/components/spinner/_spinner_container.scss +43 -0
  220. package/scss/components/stepper/_stepper.mixins.scss +22 -0
  221. package/scss/components/stepper/_stepper.scss +176 -0
  222. package/scss/components/table/_advancedtables.scss +285 -0
  223. package/scss/components/table/_table.scss +19 -0
  224. package/scss/components/table/_table.variables.scss +20 -0
  225. package/scss/components/tabs/_tabs.scss +163 -0
  226. package/scss/components/tabs/_tabs.variables.scss +19 -0
  227. package/scss/components/timepicker/_timepicker.scss +9 -0
  228. package/scss/components/toast/_toast.scss +79 -0
  229. package/scss/components/toast/_toast.variables.scss +7 -0
  230. package/scss/components/toggle/_toggle.scss +140 -0
  231. package/scss/components/toggle/_toggle.variables.scss +10 -0
  232. package/scss/components/tooltip/_tooltip.scss +24 -0
  233. package/scss/components/tooltip/_tooltip.variables.scss +7 -0
  234. package/scss/components/tooltip/_tooltip_container.scss +116 -0
  235. package/scss/components/typeahead/_typeahead.scss +44 -0
  236. package/scss/components/waves/waves.scss +19 -0
  237. package/scss/namespace.scss +160 -0
  238. package/scss/themes/brand2023/_variables.scss +315 -0
  239. package/scss/utilities/_common.utilities.scss +98 -0
  240. package/scss/utilities/_form.mixins.scss +26 -0
  241. package/scss/utilities/_rgb.scss +10 -0
  242. package/scss/utilities.scss +5 -0
@@ -0,0 +1,101 @@
1
+ .form-inline {
2
+ .form-group {
3
+ label {
4
+ margin-bottom: 0;
5
+ }
6
+ }
7
+ }
8
+
9
+ .form-control {
10
+ --df-box-shadow-color: var(--df-color-input-border);
11
+ outline: none;
12
+
13
+ &:disabled {
14
+ cursor: not-allowed;
15
+
16
+ &::placeholder {
17
+ color: var(--df-color-disabled-main-foreground);
18
+ }
19
+ }
20
+
21
+ &::placeholder {
22
+ font-style: var(--df-typo-style-italic);
23
+ }
24
+
25
+ &[readonly] {
26
+ background-color: var(--df-color-disabled-main-background);
27
+ border-color: var(--df-color-disabled-main-border);
28
+ // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
29
+ opacity: 1;
30
+ }
31
+
32
+ @each $state, $name in ('valid': 'success', 'invalid': 'danger', 'warning': 'warning') {
33
+ &.is-#{$state} {
34
+ --df-box-shadow-color: var(--df-color-#{$name}-main-default-border);
35
+ }
36
+ }
37
+ }
38
+
39
+ // TODO see how to add CSS var for this globally
40
+ .invalid-feedback,
41
+ .valid-feedback,
42
+ .warning-feedback {
43
+ font-size: var(--df-typo-sizing-small);
44
+ }
45
+
46
+ .form-control-sm {
47
+ & ~ .invalid-feedback,
48
+ & ~ .valid-feedback,
49
+ & ~ .warning-feedback {
50
+ font-size: var(--df-typo-sizing-xsmall);
51
+ }
52
+ }
53
+
54
+ .form-row {
55
+ // add
56
+ & ~ .invalid-feedback {
57
+ display: block;
58
+ }
59
+ }
60
+
61
+ // forms size small
62
+ .form-sm {
63
+ .form-control,
64
+ .ng-select {
65
+ @extend .form-control-sm;
66
+ }
67
+
68
+ label {
69
+ font-size: var(--df-typo-sizing-small);
70
+ }
71
+
72
+ .input-group:has(input.df-input-withicon):has(.input-group-prepend) .input-group-prepend {
73
+ border-radius: var(--df-border-radius-sm); //needed to override common bootstrap file
74
+ }
75
+
76
+ .invalid-feedback,
77
+ .valid-feedback,
78
+ .warning-feedback {
79
+ font-size: var(--df-typo-sizing-xsmall);
80
+ }
81
+ }
82
+
83
+ // forms size large
84
+ .form-lg {
85
+ .form-control,
86
+ .ng-select {
87
+ @extend .form-control-lg;
88
+ }
89
+
90
+ label {
91
+ font-size: var(--df-typo-sizing-large);
92
+ }
93
+
94
+ .input-group:has(input.df-input-withicon):has(.input-group-prepend) .input-group-prepend {
95
+ border-radius: var(--df-border-radius-lg);
96
+ }
97
+ }
98
+
99
+ .ng-invalid.ng-touched {
100
+ @extend .is-invalid;
101
+ }
@@ -0,0 +1,48 @@
1
+ // we don't support boostrap form-range but have to set this variable to avoid sass compilation error
2
+ $form-range-thumb-active-bg: tint-color($primary, 70%) !default;
3
+
4
+ $form-text-margin-top: var(--df-spacing-3) !default;
5
+ $form-text-color: var(--df-color-neutral-alt-default-foreground) !default;
6
+
7
+ $form-label-margin-bottom: var(--df-spacing-3) !default;
8
+
9
+ // Putting stuff for bootstrap file upload but it is not part of our examples...
10
+ $form-file-button-color: var(--df-button-outline-basic-color-primary-default-foreground) !default;
11
+ $form-file-button-bg: var(--df-button-outline-basic-color-primary-default-background) !default;
12
+ $form-file-button-hover-bg: var(--df-button-outline-basic-color-primary-hovered-background) !default;
13
+
14
+ $form-feedback-valid-color: var(--df-color-success-alt-default-foreground) !default;
15
+ $form-feedback-invalid-color: var(--df-color-danger-alt-default-foreground) !default;
16
+
17
+ $form-validation-states: (
18
+ 'valid': (
19
+ 'color': var(--df-color-success-alt-default-foreground),
20
+ // not used as we set $enable-validation-icons to false
21
+ 'icon': '',
22
+ 'tooltip-color': var(--df-color-success-main-default-foreground),
23
+ 'tooltip-bg-color': var(--df-color-success-main-default-background),
24
+ 'focus-box-shadow': $input-btn-focus-box-shadow,
25
+ 'border-color': var(--df-color-success-alt-default-border)
26
+ ),
27
+ 'invalid': (
28
+ 'color': var(--df-color-danger-alt-default-foreground),
29
+ // not used as we set $enable-validation-icons to false
30
+ 'icon': '',
31
+ 'tooltip-color': var(--df-color-danger-main-default-foreground),
32
+ 'tooltip-bg-color': var(--df-color-danger-main-default-background),
33
+ 'focus-box-shadow': $input-btn-focus-box-shadow,
34
+ 'border-color': var(--df-color-danger-alt-default-border)
35
+ ),
36
+ 'warning': (
37
+ 'color': var(--df-color-warning-alt-default-foreground),
38
+ // not used as we set $enable-validation-icons to false
39
+ 'icon': '',
40
+ 'tooltip-color': var(--df-color-warning-main-default-foreground),
41
+ 'tooltip-bg-color': var(--df-color-warning-main-default-background),
42
+ 'focus-box-shadow': $input-btn-focus-box-shadow,
43
+ 'border-color': var(--df-color-warning-alt-default-border)
44
+ )
45
+ ) !default;
46
+
47
+ // cannot set css var here due to how it is used in bootstrap floating-label
48
+ $form-floating-padding-x: $df-spacing-3 !default;
@@ -0,0 +1,29 @@
1
+ @use '../../new-brand-common.variables' as df;
2
+
3
+ .df-logo-dim {
4
+ height: 0.8125rem;
5
+ width: 6.125rem;
6
+ }
7
+
8
+ .df-rond-icon-only-focusable {
9
+ outline: none;
10
+
11
+ &:focus-visible {
12
+ &::before {
13
+ --df-box-shadow-color: var(--df-color-neutral-alt-default-border);
14
+ box-shadow: df.$df-focus-box-shadow;
15
+ border-radius: 50%;
16
+ }
17
+ }
18
+ }
19
+
20
+ .df-square-icon-only-focusable {
21
+ outline: none;
22
+
23
+ &:focus-visible {
24
+ &::before {
25
+ --df-box-shadow-color: var(--df-color-neutral-alt-default-border);
26
+ box-shadow: df.$df-focus-box-shadow;
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,2 @@
1
+ $figure-caption-font-size: var(--df-typo-sizing-small) !default;
2
+ $figure-caption-color: var(--df-color-subtext-foreground) !default;
@@ -0,0 +1,45 @@
1
+ @use 'sass:map';
2
+ @use 'sass:selector';
3
+
4
+ @mixin df-input-with-icon-validation-state($state, $color, $position) {
5
+ $df-form-validation-states-names: (
6
+ 'valid': 'success',
7
+ 'invalid': 'danger',
8
+ 'warning': 'warning'
9
+ );
10
+ $border-side: if($position == 'append', 'end', 'start');
11
+
12
+ &.is-#{$state} {
13
+ $colorName: map.get($df-form-validation-states-names, $state);
14
+ $box-shadow-color: var(--df-color-#{$colorName}-alt-default-border);
15
+ --df-box-shadow-color: #{$box-shadow-color};
16
+
17
+ .input-group-#{$position} {
18
+ border-color: var(--df-color-#{$colorName}-alt-default-border);
19
+ border-inline-#{$border-side}: 1px solid $color;
20
+ }
21
+
22
+ input.df-input-withicon {
23
+ border-color: var(--df-color-#{$colorName}-alt-default-border);
24
+ border-inline-#{$border-side}-color: transparent; // override mandatory
25
+ }
26
+
27
+ &.df-focused {
28
+ .input-group-#{$position} {
29
+ border-color: var(--df-color-#{$colorName}-alt-default-border) !important;
30
+ }
31
+ }
32
+ }
33
+ }
34
+
35
+ @mixin df-iwi-root-start($parent) {
36
+ @at-root #{selector.replace(&, '.input-group', $parent + '> div.input-group:first-of-type')} {
37
+ @content;
38
+ }
39
+ }
40
+
41
+ @mixin df-iwi-root-end($parent) {
42
+ @at-root #{selector.replace(&, '.input-group', $parent + '> div.input-group:last-of-type')} {
43
+ @content;
44
+ }
45
+ }
@@ -0,0 +1,254 @@
1
+ @use 'sass:map';
2
+ @use 'sass:string';
3
+ @use '../../new-brand-common.variables' as df;
4
+ @use 'inputs.mixin' as input-mixins;
5
+
6
+ .df-disabled {
7
+ background-color: var(--df-color-disabled-main-background);
8
+ cursor: not-allowed;
9
+ color: var(--df-color-disabled-main-foreground);
10
+ border-color: var(--df-color-disabled-main-border);
11
+
12
+ .input-group-text {
13
+ background-color: var(--df-color-disabled-main-background);
14
+ cursor: not-allowed;
15
+ color: var(--df-color-disabled-main-foreground);
16
+ border-color: var(--df-color-disabled-main-border);
17
+ }
18
+ }
19
+
20
+ %input-group-common {
21
+ @include transition($input-transition); // default bootstrap input has this property
22
+
23
+ align-items: center;
24
+ border-block: 1px solid var(--df-color-input-border);
25
+ min-width: $input-border-radius;
26
+ background-color: var(--df-color-neutral-alt-default-background);
27
+
28
+ // This class is to be able to remove the icon in an input with icon and to come back to a normal input look
29
+ // even if the html of the input group is staying.
30
+ &.df-is-empty {
31
+ padding-inline: 1px;
32
+
33
+ .input-group-text {
34
+ display: none;
35
+ }
36
+ }
37
+
38
+ button.input-group-text {
39
+ &:not(:disabled):not(.disabled) {
40
+ color: var(--df-color-primary-alt-default-foreground);
41
+ cursor: pointer;
42
+
43
+ &:hover {
44
+ &:before {
45
+ color: var(--df-color-primary-alt-hovered-foreground);
46
+ background-color: var(--df-color-primary-alt-hovered-background);
47
+ }
48
+ }
49
+
50
+ &:active {
51
+ &:before {
52
+ color: var(--df-color-primary-alt-pressed-foreground);
53
+ background-color: var(--df-color-primary-alt-pressed-background);
54
+ }
55
+ }
56
+ }
57
+ &:is(:disabled, .disabled) {
58
+ cursor: not-allowed;
59
+ color: var(--df-color-disabled-main-foreground);
60
+ background-color: var(--df-color-disabled-main-background);
61
+ }
62
+ }
63
+
64
+ .input-group-text {
65
+ height: 100%;
66
+ width: 100%;
67
+ border: none;
68
+ padding: 0;
69
+ background-color: var(--df-color-neutral-alt-default-background); // overrides bootstrap addon color
70
+
71
+ &:before {
72
+ font-size: 1rem;
73
+ height: 1.5rem;
74
+ width: 1.5rem;
75
+ border-radius: 50%;
76
+ line-height: 1.5rem;
77
+ }
78
+
79
+ &:focus-visible {
80
+ outline: none; // override mandatory
81
+ &:before {
82
+ background-color: var(--df-color-neutral-alt-default-background); // set bg to avoid anti-aliasing issue
83
+ box-shadow: df.$df-focus-box-shadow;
84
+ }
85
+ }
86
+ }
87
+ }
88
+
89
+ input[type='search']::-webkit-search-cancel-button,
90
+ input[type='search']::-webkit-search-decoration {
91
+ display: none;
92
+ }
93
+
94
+ .input-group {
95
+ --df-box-shadow-color: var(--df-color-input-border);
96
+ color: var(--df-color-neutral-alt-default-foreground);
97
+
98
+ $validation-messages: '';
99
+ @each $state in map.keys($form-validation-states) {
100
+ $validation-messages: $validation-messages +
101
+ ':not(.' +
102
+ string.unquote($state) +
103
+ '-tooltip)' +
104
+ ':not(.' +
105
+ string.unquote($state) +
106
+ '-feedback)';
107
+ }
108
+
109
+ > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {
110
+ margin-inline-start: -1px;
111
+ }
112
+
113
+ // TODO - Remove it when ngbootstrap dropdown will be compliant with Bootstrap
114
+ &:not(.has-validation) {
115
+ > .dropdown:not(:last-child) {
116
+ > .dropdown-toggle {
117
+ border-start-end-radius: 0;
118
+ border-end-end-radius: 0;
119
+ }
120
+ }
121
+ }
122
+ > .dropdown:not(:first-child) {
123
+ > .dropdown-toggle {
124
+ border-start-start-radius: 0;
125
+ border-end-start-radius: 0;
126
+ }
127
+ }
128
+
129
+ > .form-control + .form-control {
130
+ margin-inline-start: -2px;
131
+ }
132
+ }
133
+
134
+ :is(.input-group.df-input-append, .input-group:has(input.df-input-withicon):has(.input-group-append)) {
135
+ :is(input.df-input-withicon.append, .df-input-withicon:has(~ .input-group-append)) {
136
+ border-inline-end-color: transparent; // override mandatory
137
+
138
+ @include input-mixins.df-iwi-root-end('.df-input-datepicker-range') {
139
+ border-left: none !important;
140
+ border-start-start-radius: 0;
141
+ border-end-start-radius: 0;
142
+ }
143
+ @include input-mixins.df-iwi-root-start('.df-input-datepicker-range.df-focused') {
144
+ border-inline-start: var(--df-color-primary-main-default-border) !important;
145
+ }
146
+
147
+ @include input-mixins.df-iwi-root-start('.df-input-datepicker-range.df-focused') {
148
+ border-block: var(--df-color-primary-main-default-border) !important;
149
+ }
150
+
151
+ @include input-mixins.df-iwi-root-end('.df-input-datepicker-range.df-focused') {
152
+ border-block: var(--df-color-primary-main-default-border) !important;
153
+ }
154
+
155
+ box-shadow: none; // override mandatory
156
+ &:focus-visible {
157
+ border-inline-end-color: transparent; // override mandatory
158
+ box-shadow: none; // override mandatory
159
+ }
160
+ }
161
+
162
+ @each $state, $data in $form-validation-states {
163
+ @include input-mixins.df-input-with-icon-validation-state($state, map.get($data, color), 'append');
164
+ }
165
+
166
+ .input-group-append {
167
+ @extend %input-group-common;
168
+
169
+ margin-inline-start: -2px;
170
+ border-inline-end: 1px solid var(--df-color-input-border);
171
+ border-radius: var(--df-borderRadius-main-medium);
172
+ border-start-start-radius: 0;
173
+ border-end-start-radius: 0;
174
+ padding-inline: var(--df-spacing-3);
175
+
176
+ @include input-mixins.df-iwi-root-start('.df-input-datepicker-range') {
177
+ border-start-end-radius: 0;
178
+ border-end-end-radius: 0;
179
+ border-inline-end: none;
180
+ }
181
+
182
+ @include input-mixins.df-iwi-root-end('.df-input-datepicker-range.df-focused') {
183
+ border-inline-end: #{$df-focused-border} !important;
184
+ }
185
+
186
+ @include input-mixins.df-iwi-root-start('.df-input-datepicker-range.df-focused') {
187
+ border-top: #{$df-focused-border} !important;
188
+ border-bottom: #{$df-focused-border} !important;
189
+ }
190
+
191
+ @include input-mixins.df-iwi-root-end('.df-input-datepicker-range.df-focused') {
192
+ border-top: #{$df-focused-border} !important;
193
+ border-bottom: #{$df-focused-border} !important;
194
+ }
195
+ }
196
+
197
+ &.df-focused .input-group-append {
198
+ border-color: #{$input-focus-border-color};
199
+ border-inline-start-color: transparent;
200
+ }
201
+ }
202
+
203
+ :is(.input-group.df-input-prepend, .input-group:has(input.df-input-withicon):has(.input-group-prepend)) {
204
+ :is(input.df-input-withicon.prepend, .input-group-prepend ~ .df-input-withicon) {
205
+ border-inline-start-color: transparent; // override mandatory
206
+ box-shadow: none; // override mandatory
207
+ padding-left: 0px; // override mandatory
208
+
209
+ &:focus-visible {
210
+ border-inline-start-color: transparent; // override mandatory
211
+ box-shadow: none; // override mandatory
212
+ }
213
+ }
214
+
215
+ @each $state, $data in $form-validation-states {
216
+ @include input-mixins.df-input-with-icon-validation-state($state, map.get($data, color), 'prepend');
217
+ }
218
+
219
+ .input-group-prepend {
220
+ @extend %input-group-common;
221
+
222
+ border-inline-start: 1px solid var(--df-color-input-border);
223
+ border-radius: var(--df-borderRadius-main-medium);
224
+ margin-inline-end: -2px;
225
+ padding-inline: var(--df-spacing-3);
226
+ border-start-end-radius: 0;
227
+ border-end-end-radius: 0;
228
+ }
229
+
230
+ &.df-focused .input-group-prepend {
231
+ border-color: #{$input-focus-border-color};
232
+ border-inline-end-color: transparent;
233
+ }
234
+
235
+ &:has(input.df-input-withicon.prepend:focus-visible) {
236
+ @extend .df-focused;
237
+ }
238
+ }
239
+
240
+ .input-group:has(input.df-input-withicon) {
241
+ &:has(input.df-input-withicon:focus-visible) {
242
+ @extend .df-focused;
243
+ }
244
+ .df-input-withicon:disabled ~ .input-group-append {
245
+ @extend .df-disabled;
246
+ }
247
+ .input-group-prepend:has(~ .df-input-withicon:disabled) {
248
+ @extend .df-disabled;
249
+ }
250
+ }
251
+
252
+ .input-group.df-focused {
253
+ border: none;
254
+ }
@@ -0,0 +1,20 @@
1
+ $input-padding-x: var(--df-spacing-3) !default;
2
+ $input-padding-x-sm: var(--df-spacing-3) !default;
3
+ $input-padding-x-lg: var(--df-spacing-3) !default;
4
+
5
+ $input-bg: var(--df-color-neutral-alt-default-background) !default;
6
+ $input-disabled-color: var(--df-color-disabled-main-foreground) !default;
7
+ $input-disabled-bg: var(--df-color-disabled-main-background) !default;
8
+ $input-disabled-border-color: var(--df-color-disabled-main-border) !default;
9
+
10
+ $input-color: var(--df-color-neutral-alt-default-foreground) !default;
11
+ $input-border-color: var(--df-color-input-border) !default;
12
+
13
+ $input-border-radius: var(--df-borderRadius-main-medium) !default;
14
+ $input-focus-border-color: var(--df-color-input-border) !default;
15
+
16
+ $input-placeholder-color: var(--df-color-subtext-foreground) !default;
17
+ $input-plaintext-color: var(--df-color-neutral-alt-default-foreground) !default;
18
+
19
+ $input-group-addon-bg: var(--df-color-addon-background) !default;
20
+ $input-group-addon-padding-x: var(--df-spacing-3) !default;
@@ -0,0 +1,150 @@
1
+ @use '../../new-brand-common.variables' as df;
2
+
3
+ a {
4
+ color: var(--df-link-color-primary-default-foreground);
5
+ border-bottom: 1px solid var(--df-link-color-primary-default-foreground);
6
+
7
+ &:focus-visible {
8
+ --df-box-shadow-color: var(--df-link-color-primary-default-border);
9
+ box-shadow: df.$df-focus-box-shadow;
10
+ outline: none;
11
+ }
12
+
13
+ &:hover {
14
+ --df-box-shadow-color: var(--df-link-color-primary-hovered-border);
15
+ color: var(--df-link-color-primary-hovered-foreground);
16
+ border-bottom-color: var(--df-link-color-primary-hovered-foreground);
17
+ background-color: var(--df-link-color-primary-hovered-background);
18
+ text-decoration: none;
19
+ }
20
+
21
+ &:active {
22
+ --df-box-shadow-color: var(--df-link-color-primary-pressed-border);
23
+ color: var(--df-link-color-primary-pressed-foreground);
24
+ border-bottom-color: var(--df-link-color-primary-pressed-foreground);
25
+ background-color: var(--df-link-color-primary-pressed-background);
26
+ }
27
+
28
+ &:visited {
29
+ color: var(--df-link-color-visited-default-foreground);
30
+ border-bottom-color: var(--df-link-color-visited-default-foreground);
31
+
32
+ &:hover {
33
+ color: var(--df-link-color-visited-hovered-foreground);
34
+ background-color: var(--df-link-color-visited-hovered-background);
35
+ border-bottom-color: var(--df-link-color-visited-hovered-foreground);
36
+ }
37
+
38
+ &:active {
39
+ color: var(--df-link-color-visited-pressed-foreground);
40
+ background-color: var(--df-link-color-visited-pressed-background);
41
+ border-bottom-color: var(--df-link-color-visited-pressed-foreground);
42
+ }
43
+ }
44
+
45
+ // Disabled Link
46
+ &[aria-disabled='true'],
47
+ &.df-link-icononly[aria-disabled='true'] {
48
+ &,
49
+ &:is(:hover, :active, :visited, :visited:hover) {
50
+ color: var(--df-link-color-disabled-foreground);
51
+ border-bottom-color: var(--df-link-color-disabled-foreground);
52
+ background: unset;
53
+ cursor: not-allowed;
54
+ outline: none;
55
+ box-shadow: none;
56
+ }
57
+ }
58
+
59
+ // Link styled as button
60
+ &.btn {
61
+ &:visited {
62
+ color: var(--df-btn-color);
63
+ border-color: var(--df-btn-border-color);
64
+
65
+ &:hover {
66
+ color: var(--df-btn-hover-color);
67
+ background-color: var(--df-btn-hover-bg);
68
+ border-color: var(--df-btn-hover-border-color);
69
+ }
70
+
71
+ &:active {
72
+ color: var(--df-btn-active-color);
73
+ background-color: var(--df-btn-active-bg);
74
+ border-color: var(--df-btn-active-border-color);
75
+ }
76
+ }
77
+
78
+ &:is(:hover, :active) {
79
+ border-width: var(--df-btn-border-width);
80
+ }
81
+ }
82
+
83
+ @include transition(
84
+ color 0.15s ease-in-out,
85
+ background-color 0.15s ease-in-out,
86
+ border-color 0.15s ease-in-out,
87
+ box-shadow 0.15s ease-in-out
88
+ );
89
+
90
+ &[href*='//'],
91
+ &[href*='mailto'],
92
+ &.df-link-external {
93
+ .fa-external-link {
94
+ display: none;
95
+ }
96
+
97
+ &:not(.df-link-icononly):after {
98
+ content: '\00a0\f08e'; // Empty space + .fa-external-link
99
+ font-family: 'Font Awesome 6 Pro', sans-serif;
100
+ position: relative;
101
+ bottom: -0.08em;
102
+ }
103
+ }
104
+ }
105
+
106
+ a.df-link-icononly {
107
+ border-bottom: 0;
108
+ text-decoration: none;
109
+ border-radius: var(--df-borderRadius-main-medium);
110
+ text-align: center;
111
+ display: flex;
112
+ color: var(--df-link-color-neutral-default-foreground);
113
+ align-items: center;
114
+ justify-content: center;
115
+ //overridden by sizing sm and lg
116
+ font-size: var(--df-typo-sizing-2xlarge);
117
+ line-height: 2.25rem;
118
+ height: 2.25rem;
119
+ width: 2.25rem;
120
+
121
+ &:hover {
122
+ color: var(--df-link-color-neutral-hovered-foreground);
123
+ background-color: var(--df-link-color-neutral-hovered-background);
124
+ text-decoration: none;
125
+ }
126
+
127
+ &:focus-visible {
128
+ --df-box-shadow-color: var(--df-link-color-neutral-default-foreground);
129
+ box-shadow: df.$df-focus-box-shadow;
130
+ }
131
+
132
+ &:active {
133
+ color: var(--df-link-color-neutral-pressed-foreground);
134
+ background-color: var(--df-link-color-neutral-pressed-background);
135
+ }
136
+
137
+ &.df-link-sm {
138
+ line-height: 1.875rem;
139
+ height: 1.875rem;
140
+ width: 1.875rem;
141
+ font-size: var(--df-typo-sizing-large);
142
+ }
143
+
144
+ &.df-link-lg {
145
+ line-height: 3rem;
146
+ height: 3rem;
147
+ width: 3rem;
148
+ font-size: var(--df-typo-sizing-3xlarge);
149
+ }
150
+ }
@@ -0,0 +1,5 @@
1
+ // Links
2
+ $link-color: var(--df-link-color-primary-default-foreground) !default;
3
+ $link-decoration: none !default;
4
+ $link-hover-color: var(--df-link-color-primary-hovered-foreground) !default;
5
+ $link-hover-decoration: none !default;
@@ -0,0 +1,17 @@
1
+ ol {
2
+ counter-reset: df-ol-counter;
3
+ list-style-type: none;
4
+ padding-left: 2.5rem;
5
+
6
+ & > li {
7
+ counter-increment: df-ol-counter;
8
+ position: relative;
9
+
10
+ &:before {
11
+ content: counter(df-ol-counter) '.' '\00a0 ';
12
+ font-weight: var(--df-typo-weight-bold);
13
+ position: absolute;
14
+ left: -1.75rem;
15
+ }
16
+ }
17
+ }