@db-ux/core-foundations 1.0.0-test-13b991d

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 (263) hide show
  1. package/README.md +351 -0
  2. package/assets/fonts/OFL.txt +93 -0
  3. package/assets/fonts/OpenSans-Bold-EU.woff2 +0 -0
  4. package/assets/fonts/OpenSans-Bold.ttf +0 -0
  5. package/assets/fonts/OpenSans-ExtraBold-EU.woff2 +0 -0
  6. package/assets/fonts/OpenSans-ExtraBold.ttf +0 -0
  7. package/assets/fonts/OpenSans-Light-EU.woff2 +0 -0
  8. package/assets/fonts/OpenSans-Light.ttf +0 -0
  9. package/assets/fonts/OpenSans-Medium-EU.woff2 +0 -0
  10. package/assets/fonts/OpenSans-Medium.ttf +0 -0
  11. package/assets/fonts/OpenSans-Regular-EU.woff2 +0 -0
  12. package/assets/fonts/OpenSans-Regular.ttf +0 -0
  13. package/assets/fonts/OpenSans-SemiBold-EU.woff2 +0 -0
  14. package/assets/fonts/OpenSans-SemiBold.ttf +0 -0
  15. package/assets/fonts/README.md +23 -0
  16. package/assets/fonts/generate-eu-fonts.ts +46 -0
  17. package/assets/fonts/unicode-eu.txt +14 -0
  18. package/assets/icons/DB_LICENSE +253 -0
  19. package/assets/icons/LICENCES.json +153 -0
  20. package/assets/icons/arrow_down.svg +1 -0
  21. package/assets/icons/arrow_left.svg +1 -0
  22. package/assets/icons/arrow_right.svg +1 -0
  23. package/assets/icons/arrow_up.svg +1 -0
  24. package/assets/icons/arrow_up_right.svg +1 -0
  25. package/assets/icons/brand.svg +1 -0
  26. package/assets/icons/calendar.svg +5 -0
  27. package/assets/icons/check-circle.svg +1 -0
  28. package/assets/icons/check.svg +1 -0
  29. package/assets/icons/check_circle.svg +1 -0
  30. package/assets/icons/chevron_down.svg +1 -0
  31. package/assets/icons/chevron_left.svg +1 -0
  32. package/assets/icons/chevron_right.svg +1 -0
  33. package/assets/icons/chevron_up.svg +1 -0
  34. package/assets/icons/circle.svg +1 -0
  35. package/assets/icons/clock.svg +1 -0
  36. package/assets/icons/cross.svg +1 -0
  37. package/assets/icons/cross_circle.svg +1 -0
  38. package/assets/icons/exclamation_mark_circle.svg +1 -0
  39. package/assets/icons/exclamation_mark_triangle.svg +1 -0
  40. package/assets/icons/fonts/all/db-ux.woff2 +0 -0
  41. package/assets/icons/fonts/default/db-ux.woff2 +0 -0
  42. package/assets/icons/fonts/default_12/db-ux.woff2 +0 -0
  43. package/assets/icons/fonts/default_14/db-ux.woff2 +0 -0
  44. package/assets/icons/fonts/default_16/db-ux.woff2 +0 -0
  45. package/assets/icons/fonts/default_20/db-ux.woff2 +0 -0
  46. package/assets/icons/fonts/default_24/db-ux.woff2 +0 -0
  47. package/assets/icons/fonts/default_28/db-ux.woff2 +0 -0
  48. package/assets/icons/fonts/default_32/db-ux.woff2 +0 -0
  49. package/assets/icons/fonts/default_48/db-ux.woff2 +0 -0
  50. package/assets/icons/fonts/default_64/db-ux.woff2 +0 -0
  51. package/assets/icons/fonts/filled/db-ux.woff2 +0 -0
  52. package/assets/icons/fonts/filled_12/db-ux.woff2 +0 -0
  53. package/assets/icons/fonts/filled_14/db-ux.woff2 +0 -0
  54. package/assets/icons/fonts/filled_16/db-ux.woff2 +0 -0
  55. package/assets/icons/fonts/filled_20/db-ux.woff2 +0 -0
  56. package/assets/icons/fonts/filled_24/db-ux.woff2 +0 -0
  57. package/assets/icons/fonts/filled_28/db-ux.woff2 +0 -0
  58. package/assets/icons/fonts/filled_32/db-ux.woff2 +0 -0
  59. package/assets/icons/fonts/filled_48/db-ux.woff2 +0 -0
  60. package/assets/icons/fonts/filled_64/db-ux.woff2 +0 -0
  61. package/assets/icons/information_circle.svg +1 -0
  62. package/assets/icons/magnifying_glass.svg +1 -0
  63. package/assets/icons/menu.svg +1 -0
  64. package/assets/icons/minus.svg +1 -0
  65. package/assets/icons/plus.svg +1 -0
  66. package/assets/icons/resize_handle_corner.svg +1 -0
  67. package/assets/icons/x_placeholder.svg +1 -0
  68. package/build/all-icons.d.ts +1 -0
  69. package/build/all-icons.js +28 -0
  70. package/build/base-icon-types.d.ts +1 -0
  71. package/build/base-icon-types.js +1 -0
  72. package/build/icon-types.d.ts +20 -0
  73. package/build/icon-types.js +1 -0
  74. package/build/ide/db.ide.css +1072 -0
  75. package/build/index.d.ts +3 -0
  76. package/build/index.js +3 -0
  77. package/build/styles/_absolute.assets-paths.scss +5 -0
  78. package/build/styles/_default.assets-paths.scss +2 -0
  79. package/build/styles/_normalize.scss +257 -0
  80. package/build/styles/_rollup.assets-paths.scss +5 -0
  81. package/build/styles/_screen-sizes.scss +49 -0
  82. package/build/styles/_variables.scss +80 -0
  83. package/build/styles/_webpack.assets-paths.scss +5 -0
  84. package/build/styles/absolute.css +1185 -0
  85. package/build/styles/absolute.scss +3 -0
  86. package/build/styles/animation/_animations.scss +109 -0
  87. package/build/styles/animation/_index.scss +2 -0
  88. package/build/styles/animation/_transitions.scss +14 -0
  89. package/build/styles/colors/_default-color-scheme.scss +2957 -0
  90. package/build/styles/colors/_default-palette.scss +2523 -0
  91. package/build/styles/colors/_index.scss +5 -0
  92. package/build/styles/colors/_placeholder.scss +203 -0
  93. package/build/styles/colors/_variables.additional-palette.scss +285 -0
  94. package/build/styles/colors/_variables.additional-speaking-colors.scss +9 -0
  95. package/build/styles/colors/_variables.additional.scss +2 -0
  96. package/build/styles/colors/_variables.palette.scss +225 -0
  97. package/build/styles/colors/_variables.scss +156 -0
  98. package/build/styles/colors/_variables.speaking-colors.scss +8 -0
  99. package/build/styles/colors/classes/_get-class.scss +23 -0
  100. package/build/styles/colors/classes/all.css +2320 -0
  101. package/build/styles/colors/classes/all.scss +18 -0
  102. package/build/styles/colors/classes/blue.css +151 -0
  103. package/build/styles/colors/classes/blue.scss +6 -0
  104. package/build/styles/colors/classes/brand.css +151 -0
  105. package/build/styles/colors/classes/brand.scss +6 -0
  106. package/build/styles/colors/classes/critical.css +151 -0
  107. package/build/styles/colors/classes/critical.scss +6 -0
  108. package/build/styles/colors/classes/cyan.css +151 -0
  109. package/build/styles/colors/classes/cyan.scss +6 -0
  110. package/build/styles/colors/classes/green.css +151 -0
  111. package/build/styles/colors/classes/green.scss +6 -0
  112. package/build/styles/colors/classes/informational.css +151 -0
  113. package/build/styles/colors/classes/informational.scss +6 -0
  114. package/build/styles/colors/classes/neutral.css +151 -0
  115. package/build/styles/colors/classes/neutral.scss +6 -0
  116. package/build/styles/colors/classes/orange.css +151 -0
  117. package/build/styles/colors/classes/orange.scss +6 -0
  118. package/build/styles/colors/classes/pink.css +151 -0
  119. package/build/styles/colors/classes/pink.scss +6 -0
  120. package/build/styles/colors/classes/red.css +151 -0
  121. package/build/styles/colors/classes/red.scss +6 -0
  122. package/build/styles/colors/classes/successful.css +151 -0
  123. package/build/styles/colors/classes/successful.scss +6 -0
  124. package/build/styles/colors/classes/turquoise.css +151 -0
  125. package/build/styles/colors/classes/turquoise.scss +6 -0
  126. package/build/styles/colors/classes/violet.css +151 -0
  127. package/build/styles/colors/classes/violet.scss +6 -0
  128. package/build/styles/colors/classes/warning.css +151 -0
  129. package/build/styles/colors/classes/warning.scss +6 -0
  130. package/build/styles/colors/classes/yellow.css +151 -0
  131. package/build/styles/colors/classes/yellow.scss +6 -0
  132. package/build/styles/colors/speaking-colors/additional/_blue.speaking-colors.scss +112 -0
  133. package/build/styles/colors/speaking-colors/additional/_cyan.speaking-colors.scss +112 -0
  134. package/build/styles/colors/speaking-colors/additional/_green.speaking-colors.scss +112 -0
  135. package/build/styles/colors/speaking-colors/additional/_orange.speaking-colors.scss +112 -0
  136. package/build/styles/colors/speaking-colors/additional/_pink.speaking-colors.scss +112 -0
  137. package/build/styles/colors/speaking-colors/additional/_red.speaking-colors.scss +112 -0
  138. package/build/styles/colors/speaking-colors/additional/_turquoise.speaking-colors.scss +136 -0
  139. package/build/styles/colors/speaking-colors/additional/_violet.speaking-colors.scss +112 -0
  140. package/build/styles/colors/speaking-colors/additional/_yellow.speaking-colors.scss +112 -0
  141. package/build/styles/colors/speaking-colors/semantic/_brand.speaking-colors.scss +112 -0
  142. package/build/styles/colors/speaking-colors/semantic/_critical.speaking-colors.scss +130 -0
  143. package/build/styles/colors/speaking-colors/semantic/_informational.speaking-colors.scss +136 -0
  144. package/build/styles/colors/speaking-colors/semantic/_neutral.speaking-colors.scss +130 -0
  145. package/build/styles/colors/speaking-colors/semantic/_successful.speaking-colors.scss +136 -0
  146. package/build/styles/colors/speaking-colors/semantic/_warning.speaking-colors.scss +130 -0
  147. package/build/styles/defaults/default-code.css +93 -0
  148. package/build/styles/defaults/default-code.scss +42 -0
  149. package/build/styles/defaults/default-elevation.css +1 -0
  150. package/build/styles/defaults/default-elevation.scss +22 -0
  151. package/build/styles/defaults/default-fonts.css +25 -0
  152. package/build/styles/defaults/default-fonts.scss +79 -0
  153. package/build/styles/defaults/default-icons.css +1 -0
  154. package/build/styles/defaults/default-icons.scss +57 -0
  155. package/build/styles/defaults/default-required.css +1 -0
  156. package/build/styles/defaults/default-required.scss +137 -0
  157. package/build/styles/defaults/default-root.css +93 -0
  158. package/build/styles/defaults/default-root.scss +9 -0
  159. package/build/styles/defaults/default-theme.css +93 -0
  160. package/build/styles/defaults/default-theme.scss +864 -0
  161. package/build/styles/density/_densities.scss +13 -0
  162. package/build/styles/density/_index.scss +5 -0
  163. package/build/styles/density/_scaling-placeholder.scss +57 -0
  164. package/build/styles/density/_typography-placeholder.scss +86 -0
  165. package/build/styles/density/_variables.scss +3 -0
  166. package/build/styles/density/classes/_get-class.scss +10 -0
  167. package/build/styles/density/classes/all.css +1033 -0
  168. package/build/styles/density/classes/all.scss +6 -0
  169. package/build/styles/density/classes/expressive.css +363 -0
  170. package/build/styles/density/classes/expressive.scss +6 -0
  171. package/build/styles/density/classes/functional.css +363 -0
  172. package/build/styles/density/classes/functional.scss +6 -0
  173. package/build/styles/density/classes/regular.css +363 -0
  174. package/build/styles/density/classes/regular.scss +6 -0
  175. package/build/styles/fonts/_font-sizes.scss +55 -0
  176. package/build/styles/fonts/_index.scss +1 -0
  177. package/build/styles/fonts/absolute.css +1 -0
  178. package/build/styles/fonts/absolute.scss +3 -0
  179. package/build/styles/fonts/classes/all.css +185 -0
  180. package/build/styles/fonts/classes/all.scss +13 -0
  181. package/build/styles/fonts/classes/body/2xl.css +16 -0
  182. package/build/styles/fonts/classes/body/2xl.scss +8 -0
  183. package/build/styles/fonts/classes/body/2xs.css +16 -0
  184. package/build/styles/fonts/classes/body/2xs.scss +8 -0
  185. package/build/styles/fonts/classes/body/3xl.css +16 -0
  186. package/build/styles/fonts/classes/body/3xl.scss +8 -0
  187. package/build/styles/fonts/classes/body/3xs.css +16 -0
  188. package/build/styles/fonts/classes/body/3xs.scss +8 -0
  189. package/build/styles/fonts/classes/body/all.css +104 -0
  190. package/build/styles/fonts/classes/body/all.scss +8 -0
  191. package/build/styles/fonts/classes/body/lg.css +16 -0
  192. package/build/styles/fonts/classes/body/lg.scss +8 -0
  193. package/build/styles/fonts/classes/body/md.css +16 -0
  194. package/build/styles/fonts/classes/body/md.scss +8 -0
  195. package/build/styles/fonts/classes/body/sm.css +16 -0
  196. package/build/styles/fonts/classes/body/sm.scss +8 -0
  197. package/build/styles/fonts/classes/body/xl.css +16 -0
  198. package/build/styles/fonts/classes/body/xl.scss +8 -0
  199. package/build/styles/fonts/classes/body/xs.css +16 -0
  200. package/build/styles/fonts/classes/body/xs.scss +8 -0
  201. package/build/styles/fonts/classes/headline/2xl.css +14 -0
  202. package/build/styles/fonts/classes/headline/2xl.scss +8 -0
  203. package/build/styles/fonts/classes/headline/2xs.css +14 -0
  204. package/build/styles/fonts/classes/headline/2xs.scss +8 -0
  205. package/build/styles/fonts/classes/headline/3xl.css +14 -0
  206. package/build/styles/fonts/classes/headline/3xl.scss +8 -0
  207. package/build/styles/fonts/classes/headline/3xs.css +14 -0
  208. package/build/styles/fonts/classes/headline/3xs.scss +8 -0
  209. package/build/styles/fonts/classes/headline/all.css +86 -0
  210. package/build/styles/fonts/classes/headline/all.scss +8 -0
  211. package/build/styles/fonts/classes/headline/lg.css +14 -0
  212. package/build/styles/fonts/classes/headline/lg.scss +8 -0
  213. package/build/styles/fonts/classes/headline/md.css +14 -0
  214. package/build/styles/fonts/classes/headline/md.scss +8 -0
  215. package/build/styles/fonts/classes/headline/sm.css +14 -0
  216. package/build/styles/fonts/classes/headline/sm.scss +8 -0
  217. package/build/styles/fonts/classes/headline/xl.css +14 -0
  218. package/build/styles/fonts/classes/headline/xl.scss +8 -0
  219. package/build/styles/fonts/classes/headline/xs.css +14 -0
  220. package/build/styles/fonts/classes/headline/xs.scss +8 -0
  221. package/build/styles/fonts/relative.css +1 -0
  222. package/build/styles/fonts/relative.scss +57 -0
  223. package/build/styles/fonts/rollup.css +1 -0
  224. package/build/styles/fonts/rollup.scss +3 -0
  225. package/build/styles/fonts/webpack.css +1 -0
  226. package/build/styles/fonts/webpack.scss +3 -0
  227. package/build/styles/helpers/_a11y.scss +17 -0
  228. package/build/styles/helpers/_clearfix.scss +5 -0
  229. package/build/styles/helpers/_divider.scss +50 -0
  230. package/build/styles/helpers/_focus.scss +23 -0
  231. package/build/styles/helpers/_functions.scss +44 -0
  232. package/build/styles/helpers/_index.scss +6 -0
  233. package/build/styles/helpers/_shadow-dom.scss +5 -0
  234. package/build/styles/helpers/classes/all.css +238 -0
  235. package/build/styles/helpers/classes/all.scss +2 -0
  236. package/build/styles/helpers/classes/divider.css +221 -0
  237. package/build/styles/helpers/classes/divider.scss +13 -0
  238. package/build/styles/helpers/classes/focus.css +24 -0
  239. package/build/styles/helpers/classes/focus.scss +6 -0
  240. package/build/styles/icons/_icon-helpers.scss +161 -0
  241. package/build/styles/icons/_index.scss +1 -0
  242. package/build/styles/icons/absolute.css +1 -0
  243. package/build/styles/icons/absolute.scss +3 -0
  244. package/build/styles/icons/relative.css +1 -0
  245. package/build/styles/icons/relative.scss +50 -0
  246. package/build/styles/icons/rollup.css +1 -0
  247. package/build/styles/icons/rollup.scss +3 -0
  248. package/build/styles/icons/webpack.css +1 -0
  249. package/build/styles/icons/webpack.scss +3 -0
  250. package/build/styles/index.css +1185 -0
  251. package/build/styles/index.scss +6 -0
  252. package/build/styles/relative.css +7344 -0
  253. package/build/styles/relative.scss +4 -0
  254. package/build/styles/rollup.css +1185 -0
  255. package/build/styles/rollup.scss +3 -0
  256. package/build/styles/webpack.css +1185 -0
  257. package/build/styles/webpack.scss +3 -0
  258. package/build/tailwind/tailwind-tokens.json +252 -0
  259. package/build/tailwind/tailwind.config.cjs +15 -0
  260. package/build/tailwind/tailwind.config.mjs +16 -0
  261. package/build/tailwind/theme/colors.css +154 -0
  262. package/build/tailwind/theme/index.css +176 -0
  263. package/package.json +64 -0
package/README.md ADDED
@@ -0,0 +1,351 @@
1
+ # @db-ux/core-foundations
2
+
3
+ ![Apache 2.0 license badge](https://img.shields.io/badge/License-Apache_2.0-blue.svg)
4
+ [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
5
+ [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)
6
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://makeapullrequest.com)
7
+
8
+ A library containing all tokens (colors, spacings, font formatting, etc.) and assets (icons) of [DB UX Design System v3](https://github.com/db-ux-design-system/core-web).
9
+
10
+ We currently support:
11
+
12
+ - [CSS](https://db-ux-design-system.github.io/core-web/review/main/foundations/readme?current=css)
13
+ - [SCSS](https://db-ux-design-system.github.io/core-web/review/main/foundations/readme?current=scss)
14
+ - [Tailwind](https://db-ux-design-system.github.io/core-web/review/main/foundations/readme?current=tailwind)
15
+
16
+ ## Install
17
+
18
+ ```shell
19
+ npm i @db-ux/core-foundations
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ You use this library if you need some colors, spacings etc.
25
+
26
+ > **tl;dr:** Use the default theme and the bundled styles by importing [relative|absolute|rollup|webpack].css`.
27
+
28
+ ---
29
+
30
+ First of all you need to import a theme which contains all tokens (css-properties). We provide a `default-theme.css` which handles dark/light mode as well.
31
+
32
+ Afterward, you may import helper classes / placeholders to easily consume the tokens from your theme. There are some categories:
33
+
34
+ - **init**: Global styles which apply to all or a large group of selectors. Make sure to import `inits/required.css` to normalize tags like `body` etc. Furthermore, we provide some default styles.
35
+ - **icons**: Icons classes to load **woff2** files and adds `[data-icon]` and `[data-icon-after]` to enable icons for all tags and components.
36
+ - **helpers**: Use dividers or focus border
37
+ - **fonts**: Overwrite default `font-size`, `line-height` and `icon-size`
38
+ - **density**: Overwrite default density to scale adaptive components inside container using density
39
+ - **colors**: Sets an adaptive color to a container, which passes all required css-properties to children
40
+
41
+ You can import the complete **init** styles with `[relative|absolute|rollup|webpack].css` which apply the default:
42
+
43
+ - [Density](https://marketingportal.extranet.deutschebahn.com/marketingportal/Design-Anwendungen/db-ux-design-system/version-3/principles/adaptive#:~:text=und%20Textfarben%20sicherstellt.-,Sizing,-Adaptive%20Sizing%20ist): `regular`
44
+ - [Adaptive Coloring](https://marketingportal.extranet.deutschebahn.com/marketingportal/Design-Anwendungen/db-ux-design-system/version-3/principles/adaptive#:~:text=Akzeptieren-,Coloring,-Adaptive%20Coloring%20bezieht): `neutral-bg-lvl-1`
45
+
46
+ ### CSS
47
+
48
+ Default assets path for `relative.css` is `../assets`. Make sure to copy all used resources like icons and fonts into your `public` folder before build. **Or** you use a modern bundler which handles bundling for you. In this case use `[rollup|webpack].css`.
49
+
50
+ #### Import
51
+
52
+ Import the styles in your main `.js | .ts` file or in your main `.css` file.
53
+
54
+ CSS:
55
+
56
+ ```css
57
+ /* index.css */
58
+ @import "@db-ux/core-foundations/build/styles/relative.css";
59
+
60
+ /* Optional: Use [data-divider] & [data-focus] everywhere */
61
+ @import "@db-ux/core-foundations/build/styles/helpers/classes/all.css";
62
+ /* Optional: Use [data-density] everywhere */
63
+ @import "@db-ux/core-foundations/build/styles/density/classes/all.css";
64
+ /* Optional: Use [data-font-size] everywhere */
65
+ @import "@db-ux/core-foundations/build/styles/fonts/classes/all.css";
66
+ /* Optional: Use [data-color] everywhere */
67
+ @import "@db-ux/core-foundations/build/styles/colors/classes/all.css";
68
+ ```
69
+
70
+ JS/TS:
71
+
72
+ ```ts
73
+ // main.[js|ts]
74
+ /* index.css */
75
+ import "@db-ux/core-foundations/build/styles/relative.css";
76
+
77
+ /* Optional: Use [data-divider] & [data-focus] everywhere */
78
+ import "@db-ux/core-foundations/build/styles/helpers/classes/all.css";
79
+ /* Optional: Use [data-density] everywhere */
80
+ import "@db-ux/core-foundations/build/styles/density/classes/all.css";
81
+ /* Optional: Use [data-font-size] everywhere */
82
+ import "@db-ux/core-foundations/build/styles/fonts/classes/all.css";
83
+ /* Optional: Use [data-color] everywhere */
84
+ import "@db-ux/core-foundations/build/styles/colors/classes/all.css";
85
+ ```
86
+
87
+ #### Use
88
+
89
+ In CSS:
90
+
91
+ ```css
92
+ .my-container {
93
+ padding: var(--db-spacing-fixed-md);
94
+ }
95
+ ```
96
+
97
+ In HTML:
98
+
99
+ ```html
100
+ <!-- With classes-->
101
+ <div
102
+ data-density="functional"
103
+ class="db-successful-bg-lvl-1 my-container"
104
+ ></div>
105
+
106
+ <!-- With data attributes-->
107
+ <div
108
+ class="my-container"
109
+ data-density="functional"
110
+ data-color="successful-bg-lvl-1"
111
+ ></div>
112
+ ```
113
+
114
+ > **Note:** In CSS you might to use the classes or data-attributes even more because you cannot use placeholders or mixins like we have it in **scss**. If you use a 3rd party library and cannot apply classes or data-attributes you might want to copy the content of our helper classes to apply it to the 3rd party class.
115
+
116
+ ### SCSS
117
+
118
+ Default assets path for `relative.scss` is `../assets`. Make sure to copy all used resources like icons and fonts into your `public` folder before build. **Or** you use a modern bundler which handles bundling for you. In this case use `[rollup|webpack].scss`.
119
+
120
+ #### Import
121
+
122
+ Import the styles in your main `.js | .ts` file or in your main `.scss` file.
123
+
124
+ SCSS:
125
+
126
+ ```scss
127
+ /* index.css */
128
+ @forward "@db-ux/core-foundations/build/styles/relative";
129
+
130
+ /* Optional: Use [data-divider] & [data-focus] everywhere */
131
+ @forward "@db-ux/core-foundations/build/styles/helpers/classes/all";
132
+ /* Optional: Use [data-density] everywhere */
133
+ @forward "@db-ux/core-foundations/build/styles/density/classes/all";
134
+ /* Optional: Use [data-font-size] everywhere */
135
+ @forward "@db-ux/core-foundations/build/styles/fonts/classes/all";
136
+ /* Optional: Use [data-color] everywhere */
137
+ @forward "@db-ux/core-foundations/build/styles/colors/classes/all";
138
+ ```
139
+
140
+ > **Note:** Besides of forwarding the classes you can use placeholders to include only some specific styles.
141
+
142
+ JS/TS:
143
+
144
+ ```ts
145
+ // main.[js|ts]
146
+ import "@db-ux/core-foundations/build/styles/relative.scss";
147
+
148
+ /* Optional: Use [data-divider] & [data-focus] everywhere */
149
+ import "@db-ux/core-foundations/build/styles/helpers/classes/all.scss";
150
+ /* Optional: Use [data-density] everywhere */
151
+ import "@db-ux/core-foundations/build/styles/density/classes/all.scss";
152
+ /* Optional: Use [data-font-size] everywhere */
153
+ import "@db-ux/core-foundations/build/styles/fonts/classes/all.scss";
154
+ /* Optional: Use [data-color] everywhere */
155
+ import "@db-ux/core-foundations/build/styles/colors/classes/all.scss";
156
+ ```
157
+
158
+ #### Use
159
+
160
+ In SCSS:
161
+
162
+ ```scss
163
+ @use "@db-ux/core-foundations/build/styles/variables";
164
+
165
+ .my-container {
166
+ padding: variables.$db-spacing-fixed-md;
167
+ }
168
+ ```
169
+
170
+ In SCSS with placeholder:
171
+
172
+ ```scss
173
+ @use "@db-ux/core-foundations/build/styles/fonts";
174
+ @use "@db-ux/core-foundations/build/styles/colors";
175
+
176
+ .placeholder-container {
177
+ @extend %db-overwrite-font-size-sm;
178
+ @extend %db-successful-bg-lvl-1;
179
+ }
180
+ ```
181
+
182
+ In HTML:
183
+
184
+ ```html
185
+ <!-- With classes-->
186
+ <div
187
+ data-density="functional"
188
+ class="db-successful-bg-lvl-1 my-container"
189
+ ></div>
190
+
191
+ <!-- With data attributes-->
192
+ <div
193
+ class="my-container"
194
+ data-density="functional"
195
+ data-color="successful-bg-lvl-1"
196
+ ></div>
197
+ ```
198
+
199
+ ### Tailwind
200
+
201
+ Check the required imports for [CSS](https://db-ux-design-system.github.io/core-web/review/main/foundations/readme?current=css) to enable all tokens and defaults.
202
+
203
+ #### Tailwind v4
204
+
205
+ ```css
206
+ @import "tailwindcss";
207
+ @import "@db-ux/core-foundations/build/tailwind/theme/index.css";
208
+ ```
209
+
210
+ #### Tailwind v3
211
+
212
+ > **Note:** In Tailwind v4 you can use the config with `@config "tailwind.config.[js|ts]";` inside your `.css` file as well.
213
+
214
+ After this you can extend your tailwind config like this:
215
+
216
+ ##### Javascript
217
+
218
+ ```javascript
219
+ //tailwind.config.js
220
+ /** @type {import('tailwindcss').Config} */
221
+ import tokens from "@db-ux/core-foundations/build/tailwind/tailwind-tokens.json";
222
+
223
+ export default {
224
+ content: ["./index.html", "./src/**/*.{js,jsx,ts,tsx}"],
225
+ plugins: [],
226
+ theme: {
227
+ ...tokens,
228
+ gap: ({ theme }) => ({
229
+ ...theme("spacing")
230
+ }),
231
+ space: ({ theme }) => ({
232
+ ...theme("spacing")
233
+ })
234
+ }
235
+ };
236
+ ```
237
+
238
+ ##### Typescript
239
+
240
+ ```typescript
241
+ //tailwind.config.ts
242
+ import type { Config } from "tailwindcss";
243
+ import { CustomThemeConfig } from "tailwindcss/types/config";
244
+ import tokens from "@db-ux/core-foundations/build/tailwind/tailwind-tokens.json";
245
+ const customThemeConfig: CustomThemeConfig = tokens as any;
246
+
247
+ export default {
248
+ content: [],
249
+ theme: {
250
+ ...customThemeConfig,
251
+ gap: ({ theme }) => ({
252
+ ...theme("spacing")
253
+ }),
254
+ space: ({ theme }) => ({
255
+ ...theme("spacing")
256
+ })
257
+ },
258
+ plugins: []
259
+ } satisfies Config;
260
+ ```
261
+
262
+ In your `tailwind.css` add this to enable default headlines:
263
+
264
+ ```css
265
+ @layer base {
266
+ h1 {
267
+ @apply text-head-xl font-head;
268
+ }
269
+ h2 {
270
+ @apply text-head-lg font-head;
271
+ }
272
+ h3 {
273
+ @apply text-head-md font-head;
274
+ }
275
+ h4 {
276
+ @apply text-head-sm font-head;
277
+ }
278
+ h5 {
279
+ @apply text-head-xs font-head;
280
+ }
281
+ h6 {
282
+ @apply text-head-2xs font-head;
283
+ }
284
+ }
285
+ ```
286
+
287
+ #### Use
288
+
289
+ ```html
290
+ <div class="grid gap-fix-sm p-res-md"></div>
291
+ ```
292
+
293
+ ## Optimize dependencies
294
+
295
+ If you want to optimize the size of the loaded styles, you might want to skip loading `@db-ux/core-foundations/build/styles/[relative|absolute|rollup|webpack].css`. But there are some required styles for this Design System to work properly.
296
+
297
+ ### Theme, Assets & Init
298
+
299
+ ```css
300
+ /* The theme contains all prop required for components like spacings, colors, etc. You can replace it with your own theme. */
301
+ @import "@db-ux/core-foundations/build/styles/default-theme.css";
302
+ /* The font include uses default font families based on your bundling paths (relative, absolute, webpack, rollup). You can replace it with your own fonts. */
303
+ @import "@db-ux/core-foundations/build/styles/fonts/relative.css";
304
+ /* The icon include uses default icons based on your bundling paths (relative, absolute, webpack, rollup). You can replace it with your own icons. */
305
+ @import "@db-ux/core-foundations/build/styles/icons/relative.css";
306
+ /* The index file will add some additional styles to normalize html defaults and add some default settings like default density, etc. */
307
+ @import "@db-ux/core-foundations/build/styles/index.css";
308
+ ```
309
+
310
+ #### Optimize index
311
+
312
+ You are able to optimize the initial settings as well:
313
+
314
+ ```css
315
+ /* The required styles will normalize css and add focus and default font to body */
316
+ @import "@db-ux/core-foundations/build/styles/defaults/default-required.css";
317
+ /* The default setting for :root, adds a color space (neutral-bg-basic-level-1) and a density (regular). */
318
+ @import "@db-ux/core-foundations/build/styles/defaults/default-root.css";
319
+ /* Adds font-sizes & line-heights to headlines and paragraph tags. You probably need this, but you might strip some styles if you don't need the range of h1-h6. */
320
+ @import "@db-ux/core-foundations/build/styles/defaults/default-fonts.css";
321
+ /* Adds "[data-icon]" and other icon related styles. If you don't need icons in your application you could skip this. */
322
+ @import "@db-ux/core-foundations/build/styles/defaults/default-icons.css";
323
+ /* Adds "[data-elevation]" and other icon related styles. If you don't need elevation in your application you could skip this. */
324
+ @import "@db-ux/core-foundations/build/styles/defaults/default-elevation.css";
325
+ /* Adds defaults for `blockquote`, `code` and `pre`. If you don't need them in your application you could skip this. */
326
+ @import "@db-ux/core-foundations/build/styles/defaults/default-code.css";
327
+ ```
328
+
329
+ ## Migration
330
+
331
+ We provide a [CLI tool](https://github.com/db-ux-design-system/core-web/blob/main/packages/migration/README.md) to auto migrate your source code.
332
+
333
+ ## Deutsche Bahn brand
334
+
335
+ As we'd like to perfectly support our users and customers on their digital journey, the usage of Deutsche Bahn brand and trademarks are bound of clear guidelines and restrictions even when being used with the code that we're provide with this product; Deutsche Bahn fully reserves all rights regarding the Deutsche Bahn brand, even though that we're providing the code of DB UX Design System products free to use and release it under the Apache 2.0 license.
336
+ Please have a look at our brand portal at <https://marketingportal.extranet.deutschebahn.com/> for any further questions and whom to contact on any brand issues.
337
+
338
+ You must remove or replace any Deutsche Bahn brand and design assets as well as protected characteristics and trademarks. We're even also planning to provide a neutral theme that would make it much easier for you to use our product without the trademarks by Deutsche Bahn.
339
+
340
+ ## Contributions
341
+
342
+ Contributions are very welcome, please refer to the [contribution guide](https://github.com/db-ux-design-system/core-web/blob/main/CONTRIBUTING.md).
343
+
344
+ ## Code of conduct
345
+
346
+ We as members, contributors, and leaders pledge to make participation in our
347
+ community a harassment-free experience for everyone – have a look at our [Contributor Covenant Code of Conduct](https://github.com/db-ux-design-system/core-web/blob/main/CODE-OF-CONDUCT.md).
348
+
349
+ ## License
350
+
351
+ This project is licensed under [Apache-2.0](LICENSE).
@@ -0,0 +1,93 @@
1
+ Copyright 2020 The Open Sans Project Authors (https://github.com/googlefonts/opensans)
2
+
3
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+ This license is copied below, and is also available with a FAQ at:
5
+ https://openfontlicense.org
6
+
7
+
8
+ -----------------------------------------------------------
9
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+ -----------------------------------------------------------
11
+
12
+ PREAMBLE
13
+ The goals of the Open Font License (OFL) are to stimulate worldwide
14
+ development of collaborative font projects, to support the font creation
15
+ efforts of academic and linguistic communities, and to provide a free and
16
+ open framework in which fonts may be shared and improved in partnership
17
+ with others.
18
+
19
+ The OFL allows the licensed fonts to be used, studied, modified and
20
+ redistributed freely as long as they are not sold by themselves. The
21
+ fonts, including any derivative works, can be bundled, embedded,
22
+ redistributed and/or sold with any software provided that any reserved
23
+ names are not used by derivative works. The fonts and derivatives,
24
+ however, cannot be released under any other type of license. The
25
+ requirement for fonts to remain under this license does not apply
26
+ to any document created using the fonts or their derivatives.
27
+
28
+ DEFINITIONS
29
+ "Font Software" refers to the set of files released by the Copyright
30
+ Holder(s) under this license and clearly marked as such. This may
31
+ include source files, build scripts and documentation.
32
+
33
+ "Reserved Font Name" refers to any names specified as such after the
34
+ copyright statement(s).
35
+
36
+ "Original Version" refers to the collection of Font Software components as
37
+ distributed by the Copyright Holder(s).
38
+
39
+ "Modified Version" refers to any derivative made by adding to, deleting,
40
+ or substituting -- in part or in whole -- any of the components of the
41
+ Original Version, by changing formats or by porting the Font Software to a
42
+ new environment.
43
+
44
+ "Author" refers to any designer, engineer, programmer, technical
45
+ writer or other person who contributed to the Font Software.
46
+
47
+ PERMISSION & CONDITIONS
48
+ Permission is hereby granted, free of charge, to any person obtaining
49
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+ redistribute, and sell modified and unmodified copies of the Font
51
+ Software, subject to the following conditions:
52
+
53
+ 1) Neither the Font Software nor any of its individual components,
54
+ in Original or Modified Versions, may be sold by itself.
55
+
56
+ 2) Original or Modified Versions of the Font Software may be bundled,
57
+ redistributed and/or sold with any software, provided that each copy
58
+ contains the above copyright notice and this license. These can be
59
+ included either as stand-alone text files, human-readable headers or
60
+ in the appropriate machine-readable metadata fields within text or
61
+ binary files as long as those fields can be easily viewed by the user.
62
+
63
+ 3) No Modified Version of the Font Software may use the Reserved Font
64
+ Name(s) unless explicit written permission is granted by the corresponding
65
+ Copyright Holder. This restriction only applies to the primary font name as
66
+ presented to the users.
67
+
68
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+ Software shall not be used to promote, endorse or advertise any
70
+ Modified Version, except to acknowledge the contribution(s) of the
71
+ Copyright Holder(s) and the Author(s) or with their explicit written
72
+ permission.
73
+
74
+ 5) The Font Software, modified or unmodified, in part or in whole,
75
+ must be distributed entirely under this license, and must not be
76
+ distributed under any other license. The requirement for fonts to
77
+ remain under this license does not apply to any document created
78
+ using the Font Software.
79
+
80
+ TERMINATION
81
+ This license becomes null and void if any of the above conditions are
82
+ not met.
83
+
84
+ DISCLAIMER
85
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+ OTHER DEALINGS IN THE FONT SOFTWARE.
Binary file
Binary file
Binary file
@@ -0,0 +1,23 @@
1
+ # Generate fonts
2
+
3
+ To generate optimal fonts we use [fonttools](https://github.com/fonttools/fonttools). To use the tools you need python installed:
4
+
5
+ 1. Install [python](https://docs.python-guide.org/starting/installation/#installation) and [ensure that you can run Python from the command line](https://packaging.python.org/en/latest/tutorials/installing-packages/#ensure-you-can-run-python-from-the-command-line)
6
+ 2. Install fonttools: `pip3 install fonttools`
7
+ 3. Install brotli: `pip3 install brotli`
8
+
9
+ Afterward, you can generate a font by running the following command:
10
+
11
+ ```shell
12
+ pyftsubset OpenSans-Regular.ttf --layout-features=* --flavor=woff2 --unicodes-file=unicode-eu.txt --output-file=OpenSans-Regular-EU.woff2
13
+ ```
14
+
15
+ ## Local development
16
+
17
+ You can use `packages/foundations/assets/fonts/generate-eu-fonts.ts` to generate all fonts inside this directory. To do so, run the following command:
18
+
19
+ ```shell
20
+ tsx packages/foundations/assets/fonts/generate-eu-fonts.ts
21
+ ```
22
+
23
+ To check if everything works fine you can check all glyphs with an [opentype.js.org glyph inspector tool](https://opentype.js.org/glyph-inspector.html).
@@ -0,0 +1,46 @@
1
+ import { exec } from 'node:child_process';
2
+ import { promisify } from 'node:util';
3
+ import { glob } from 'glob';
4
+
5
+ import { dirname } from 'path';
6
+ import { fileURLToPath } from 'url';
7
+
8
+ const __filename = fileURLToPath(import.meta.url);
9
+ const __dirname = dirname(__filename).replaceAll('\\', '/');
10
+
11
+ const execAsync = promisify(exec);
12
+
13
+ const generateFonts = async () => {
14
+ console.log('Generating EU fonts...');
15
+ try {
16
+ await execAsync('pyftsubset --help');
17
+ } catch (e) {
18
+ console.warn(
19
+ 'You need to install pyftsubset. Check packages/foundations/assets/fonts/README.md for more information.'
20
+ );
21
+ }
22
+
23
+ try {
24
+ const files = await glob(`${__dirname}/*.ttf`);
25
+ const commands = files.map((file) =>
26
+ [
27
+ 'pyftsubset',
28
+ file,
29
+ '--layout-features=*',
30
+ '--flavor=woff2',
31
+ `--unicodes-file=${__dirname}/unicode-eu.txt`,
32
+ `--output-file=${file.replace('.ttf', '-EU.woff2')}`
33
+ ].join(' ')
34
+ );
35
+
36
+ for (const command of commands) {
37
+ const { stdout, stderr } = await execAsync(command);
38
+ if (stdout) console.log(`stdout: ${stdout}`);
39
+ if (stderr) console.error(`stderr: ${stderr}`);
40
+ }
41
+ } catch (error) {
42
+ console.error(`Error: ${error.message}`);
43
+ }
44
+ };
45
+
46
+ void generateFonts();
@@ -0,0 +1,14 @@
1
+ # compare to https://symbl.cc/de/unicode-table/
2
+ U+0000-024F # Latin (all)
3
+ U+0020,U+0009,U+000A,U+000D # white space characters
4
+ U+00E4,U+00F6,U+00FC,U+00DF # German characters
5
+ U+00E9, U+00E8, U+00EA, U+00E0, U+00E7, U+0153 # French characters
6
+ U+00E0, U+00E8, U+00E9, U+00F2, U+00F9, U+00EC, U+00C0, U+00C8, U+00C9, U+00D2, U+00D9, U+00CC # Italian characters
7
+ U+FB00, U+FB01, U+FB02, U+FB03, U+FB04, U+FB05, U+FB06 # ligatures
8
+ U+00E1, U+00E9, U+00ED, U+00F3, U+00FA, U+00F1, U+00BF, U+00A1 # Spanish characters
9
+ U+00E5, U+00F8, U+00E6, U+00C5, U+00D8, U+00C6 # Scandinavian characters
10
+ U+0104, U+0105, U+0106, U+0107, U+0118, U+0119, U+0141, U+0142, U+0143, U+0144, U+015A, U+015B, U+0179, U+017A, U+017B, U+017C # Polish characters
11
+ U+010C, U+010D, U+010E, U+010F, U+011A, U+011B, U+0147, U+0148, U+0158, U+0159, U+0160, U+0161, U+0164, U+0165, U+016E, U+016F, U+017D, U+017E # Czech characters
12
+ U+00E9, U+00E8, U+00EB, U+00E4, U+00FC, U+00F6, U+00EF, U+00C9, U+00C8, U+00CB, U+00C4, U+00DC, U+00D6, U+00CF # Netherlands characters
13
+ U+0391-03A9, U+03B1-03C9 # Greek characters
14
+ U+0410-042F, U+0430-044F # Cyrillic characters