@odx/ui 4.9.0 → 4.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/ag-grid-theme.css +1 -261
  3. package/charts-theme.css +1 -45
  4. package/core-theme.css +1 -7475
  5. package/package.json +9 -3
  6. package/scss/_application.scss +59 -0
  7. package/scss/_base.scss +31 -0
  8. package/scss/_breakpoints.scss +86 -0
  9. package/scss/_color-palettes-dark.scss +53 -0
  10. package/scss/_color-palettes.scss +96 -0
  11. package/scss/_colors-dark.scss +53 -0
  12. package/scss/_colors.scss +98 -0
  13. package/scss/_content.scss +25 -0
  14. package/scss/_controls.scss +57 -0
  15. package/scss/_description-list.scss +30 -0
  16. package/scss/_dimensions.scss +81 -0
  17. package/scss/_helpers.scss +85 -0
  18. package/scss/_index.scss +8 -0
  19. package/scss/_layout.scss +162 -0
  20. package/scss/_motion.scss +14 -0
  21. package/scss/_skeleton.scss +49 -0
  22. package/scss/_text-list.scss +18 -0
  23. package/scss/_typography.scss +21 -0
  24. package/scss/_utils.scss +131 -0
  25. package/scss/_vertical-rythm.scss +3 -0
  26. package/scss/_visuals.scss +27 -0
  27. package/scss/accordion-item.component.scss +56 -0
  28. package/scss/accordion.component.scss +3 -0
  29. package/scss/action-group.component.scss +29 -0
  30. package/scss/active-indicator.scss +25 -0
  31. package/scss/ag-grid/theme.scss +303 -0
  32. package/scss/area-header.component.scss +163 -0
  33. package/scss/autocomplete.component.scss +14 -0
  34. package/scss/avatar.component.scss +68 -0
  35. package/scss/badge.component.scss +49 -0
  36. package/scss/bar.component.scss +93 -0
  37. package/scss/brand-logo.component.scss +17 -0
  38. package/scss/breadcrumbs.component.scss +45 -0
  39. package/scss/button-group.component.scss +101 -0
  40. package/scss/button.component.scss +143 -0
  41. package/scss/calendar.component.scss +243 -0
  42. package/scss/card.component.scss +232 -0
  43. package/scss/cdk/connected-overlay.scss +4 -0
  44. package/scss/checkbox.component.scss +136 -0
  45. package/scss/chip-list.component.scss +23 -0
  46. package/scss/chip.component.scss +74 -0
  47. package/scss/circular-progress.component.scss +75 -0
  48. package/scss/components/card.component.scss +6 -6
  49. package/scss/components/table.component.scss +1 -0
  50. package/scss/connected-overlay.scss +63 -0
  51. package/scss/content-box.component.scss +46 -0
  52. package/scss/datepicker.component.scss +36 -0
  53. package/scss/daterangepicker.component.scss +45 -0
  54. package/scss/dropdown.component.scss +37 -0
  55. package/scss/error-page.component.scss +46 -0
  56. package/scss/expandable-list-item.component.scss +59 -0
  57. package/scss/footer.component.scss +86 -0
  58. package/scss/form-field.component.scss +264 -0
  59. package/scss/header-navigation.component.scss +35 -0
  60. package/scss/header.component.scss +73 -0
  61. package/scss/icon.component.scss +21 -0
  62. package/scss/inline-message.component.scss +34 -0
  63. package/scss/launch-tile.component.scss +119 -0
  64. package/scss/link.component.scss +28 -0
  65. package/scss/list-item.component.scss +119 -0
  66. package/scss/list.component.scss +27 -0
  67. package/scss/loading-spinner.component.scss +70 -0
  68. package/scss/logo.component.scss +33 -0
  69. package/scss/main-menu-button.component.scss +11 -0
  70. package/scss/main-menu-item.component.scss +55 -0
  71. package/scss/main-menu.component.scss +139 -0
  72. package/scss/mainfilter-group.component.scss +163 -0
  73. package/scss/menu.component.scss +51 -0
  74. package/scss/modal.component.scss +219 -0
  75. package/scss/navigation-back.component.scss +23 -0
  76. package/scss/notification-center.component.scss +74 -0
  77. package/scss/notification-item.component.scss +41 -0
  78. package/scss/option.component.scss +40 -0
  79. package/scss/paginator.component.scss +34 -0
  80. package/scss/progress.component.scss +41 -0
  81. package/scss/radio-button.component.scss +127 -0
  82. package/scss/radio-group.component.scss +14 -0
  83. package/scss/rail-navigation-item.component.scss +99 -0
  84. package/scss/rail-navigation.component.scss +53 -0
  85. package/scss/rich-list-item-header.component.scss +25 -0
  86. package/scss/rich-list-item.component.scss +59 -0
  87. package/scss/rich-list.component.scss +3 -0
  88. package/scss/search-bar.component.scss +47 -0
  89. package/scss/select.component.scss +75 -0
  90. package/scss/slider.component.scss +132 -0
  91. package/scss/spinbox.component.scss +128 -0
  92. package/scss/switch.component.scss +175 -0
  93. package/scss/tab-bar-item.component.scss +58 -0
  94. package/scss/tab-bar.component.scss +124 -0
  95. package/scss/table.component.scss +95 -0
  96. package/scss/theme.scss +303 -0
  97. package/scss/timepicker.component.scss +58 -0
  98. package/scss/toast-item.component.scss +79 -0
  99. package/scss/toast.component.scss +33 -0
  100. package/scss/toggle-button-group.component.scss +65 -0
  101. package/scss/toggle-button.component.scss +79 -0
  102. package/scss/tooltip.component.scss +37 -0
  103. package/scss/wizard-step.component.scss +256 -0
  104. package/scss/wizard.component.scss +18 -0
  105. package/24031beb1b96a58f519c.woff2 +0 -0
  106. package/323d385340fb9fee6450.svg +0 -6
  107. package/5eabf29514e9649c8c73.woff2 +0 -0
  108. package/eb2051d1f9da906e0b3e.woff2 +0 -0
package/package.json CHANGED
@@ -1,15 +1,21 @@
1
1
  {
2
2
  "name": "@odx/ui",
3
- "version": "4.9.0",
3
+ "version": "4.10.1",
4
4
  "author": "Drägerwerk AG & Co.KGaA",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "peerDependencies": {
7
7
  "@odx/icons": "*"
8
8
  },
9
+ "devDependencies": {
10
+ "autoprefixer": "10.4.20",
11
+ "cssnano": "7.0.6",
12
+ "postcss-hover-media-feature": "1.0.2",
13
+ "sass": "1.83.4",
14
+ "vite": "6.0.11",
15
+ "vite-plugin-static-copy": "2.2.0"
16
+ },
9
17
  "files": [
10
18
  "*.css",
11
- "*.woff2",
12
- "*.svg",
13
19
  "CHANGELOG.md",
14
20
  "scss"
15
21
  ],
@@ -0,0 +1,59 @@
1
+ @use '../abstract/breakpoints';
2
+ @use '../abstract/dimensions';
3
+ @use '../components/icon.component';
4
+ @use './typography';
5
+
6
+ .odx-app-root,
7
+ .odx-app {
8
+ display: flex;
9
+ flex-direction: column;
10
+ overflow: hidden;
11
+ }
12
+
13
+ .odx-app-root {
14
+ height: 100dvh;
15
+ }
16
+
17
+ .odx-app {
18
+ flex: 1 1 0;
19
+ }
20
+
21
+ .odx-app-main,
22
+ .odx-app-page {
23
+ display: flex;
24
+ flex: 1 1 auto;
25
+ }
26
+
27
+ .odx-app-main {
28
+ flex-direction: row;
29
+ overflow: hidden;
30
+ }
31
+
32
+ .odx-app-page {
33
+ flex-direction: column;
34
+ max-height: 100%;
35
+
36
+ &__content {
37
+ flex: 1 1 0;
38
+ overflow-x: hidden;
39
+ overflow-y: auto;
40
+ scroll-behavior: smooth;
41
+
42
+ @include dimensions.padding(0.5, (bottom, left, right));
43
+
44
+ @include breakpoints.up(phone) {
45
+ @include dimensions.padding(1, (bottom, left, right));
46
+ @include dimensions.padding(0.5, top);
47
+ }
48
+ }
49
+ }
50
+
51
+ .odx-app-content {
52
+ margin: 0 auto;
53
+ max-width: breakpoints.get-breakpoint-value(desktop);
54
+ width: 100%;
55
+
56
+ &--left-align {
57
+ margin-left: 0;
58
+ }
59
+ }
@@ -0,0 +1,31 @@
1
+ @use '../abstract/utils';
2
+
3
+ html,
4
+ body,
5
+ .odx-root {
6
+ background-color: var(--odx-c-background);
7
+ }
8
+
9
+ ::-webkit-scrollbar {
10
+ appearance: none;
11
+ width: var(--odx-v-scrollbar-width);
12
+ }
13
+
14
+ ::-webkit-scrollbar-track,
15
+ ::-webkit-scrollbar-thumb {
16
+ border: 3px solid transparent;
17
+ }
18
+
19
+ ::-webkit-scrollbar-track {
20
+ background-color: var(--odx-v-scrollbar-track-color);
21
+ }
22
+
23
+ ::-webkit-scrollbar-thumb {
24
+ background-clip: content-box;
25
+ background-color: var(--odx-v-scrollbar-thumb-color);
26
+ border-radius: var(--odx-v-border-radius);
27
+
28
+ &:hover {
29
+ background-color: var(--odx-v-scrollbar-thumb-color-hover);
30
+ }
31
+ }
@@ -0,0 +1,86 @@
1
+ /* stylelint-disable block-closing-brace-newline-after */
2
+ @use 'sass:list';
3
+ @use 'sass:map';
4
+
5
+ $breakpoints: (
6
+ 'phone-s': 360px,
7
+ 'phone': 480px,
8
+ 'tablet': 768px,
9
+ 'desktop-s': 960px,
10
+ 'desktop': 1200px,
11
+ ) !default;
12
+
13
+ @function get-breakpoint-names() {
14
+ @return map.keys($breakpoints);
15
+ }
16
+
17
+ @function get-breakpoint-value($breakpoint) {
18
+ @if $breakpoint and not map.has-key($breakpoints, $breakpoint) {
19
+ @error "Invalid breakpoint, `#{$breakpoint}` doesn't exist.";
20
+ }
21
+
22
+ @return map.get($breakpoints, $breakpoint);
23
+ }
24
+
25
+ @function _get-next-value($breakpoint) {
26
+ @if $breakpoint and not map.has-key($breakpoints, $breakpoint) {
27
+ @error "Invalid breakpoint, `#{$breakpoint}` doesn't exist.";
28
+ }
29
+
30
+ $keys: get-breakpoint-names();
31
+ $index: list.index($keys, $breakpoint);
32
+
33
+ @return if($index < list.length($keys), list.nth($keys, $index + 1), null);
34
+ }
35
+
36
+ @function _get-min-value($breakpoint) {
37
+ $value: get-breakpoint-value($breakpoint);
38
+
39
+ @return if($value != 0, $value, null);
40
+ }
41
+
42
+ @function _get-max-value($breakpoint) {
43
+ $value: get-breakpoint-value($breakpoint);
44
+
45
+ @return if($value > 0, $value - 1, null);
46
+ }
47
+
48
+ @mixin up($breakpoint) {
49
+ $min: _get-min-value($breakpoint);
50
+
51
+ @if $min {
52
+ @media (min-width: $min) {
53
+ @content;
54
+ }
55
+ } @else {
56
+ @content;
57
+ }
58
+ }
59
+
60
+ @mixin down($breakpoint) {
61
+ $max: _get-max-value($breakpoint);
62
+
63
+ @if $max {
64
+ @media (max-width: $max) {
65
+ @content;
66
+ }
67
+ } @else {
68
+ @content;
69
+ }
70
+ }
71
+
72
+ @mixin only($breakpoint) {
73
+ $min: _get-min-value($breakpoint);
74
+ $next: _get-next-value($breakpoint);
75
+ $max: _get-max-value($breakpoint);
76
+
77
+ @if $min != null and $max != null {
78
+ @media (min-width: $min) and (max-width: $max) {
79
+ @content;
80
+ }
81
+ } @else if $max == null {
82
+ @include up($token) {
83
+ @content;
84
+ }
85
+ }
86
+ }
@@ -0,0 +1,53 @@
1
+ @use '../abstract/utils';
2
+
3
+ @include utils.theme-selector(dark) {
4
+ --white: #293642;
5
+ --white-dark: #060a12;
6
+ --black: #ffffff;
7
+ --black-20: #{rgba(#000000, 60%)};
8
+
9
+ --focus-bg: #284e68;
10
+
11
+ --white-60: #{rgba(var(--white), 0.6)};
12
+
13
+ --gray-50: #2e3d49;
14
+ --gray-100: #344351;
15
+ --gray-200: #3e5160;
16
+ --gray-300: #495e6e;
17
+ --gray-400: #556c7c;
18
+ --gray-500: #607a8a;
19
+ --gray-600: #6d8797;
20
+ --gray-700: #7d94a1;
21
+ --gray-800: #e9eef4;
22
+ --gray-900: #9cacb4;
23
+
24
+ --blue-50: #455e85;
25
+ --blue-50-5: #{rgba(#455e85, 0.1)};
26
+ --blue-100: #043c95;
27
+ --blue-600: #a8c4f0;
28
+ --blue-700: #cbe9ff;
29
+ --blue-700-5: #{rgba(#cbe9ff, 0.1)};
30
+ --blue-700-10: #{rgba(#cbe9ff, 0.2)};
31
+ --blue-900: #d5e2f6;
32
+
33
+ --cyan-50: #002766;
34
+ --cyan-100: #003c66;
35
+ --cyan-200: #00508a;
36
+ --cyan-300: #0065ad;
37
+ --cyan-400: #007ad1;
38
+ --cyan-600: #1fa2ff;
39
+ --cyan-700: #47b3ff;
40
+ --cyan-800: #70c4ff;
41
+ --cyan-900: #9dd7ff;
42
+
43
+ --red-00: #4b3138;
44
+ --red-50: #724956;
45
+ --red-100: #bc0000;
46
+ --red-700: #ff9898;
47
+ --red-800: #ffb4b4;
48
+ --red-900: #ffe0e3;
49
+
50
+ --yellow-50: #5f5439;
51
+
52
+ --green-00: #355e54;
53
+ }
@@ -0,0 +1,96 @@
1
+ :root {
2
+ --white: #ffffff;
3
+ --black: #00060f;
4
+ --black-20: #{rgba(#000000, 20%)};
5
+
6
+ --white-5: #{rgba(#ffffff, 5%)};
7
+ --white-60: #{rgba(#ffffff, 60%)};
8
+
9
+ --gray-50: #f5f7fa;
10
+ --gray-100: #e9eef4;
11
+ --gray-200: #dde5ee;
12
+ --gray-300: #c7d3e0;
13
+ --gray-400: #b2c1d2;
14
+ --gray-500: #9eb0c2;
15
+ --gray-600: #8b9fb1;
16
+ --gray-700: #798ea0;
17
+ --gray-800: #697c8c;
18
+ --gray-900: #5d6a74;
19
+
20
+ --blue-50: #d5e2f6;
21
+ --blue-100: #a8c4f0;
22
+ --blue-200: #79a5ec;
23
+ --blue-300: #4786eb;
24
+ --blue-400: #1f65d7;
25
+ --blue-500: #0a51c2;
26
+ --blue-600: #043c95;
27
+ --blue-700: #002766;
28
+ --blue-800: #001433;
29
+ --blue-900: #000205;
30
+
31
+ --blue-700-5: #{rgba(#002766, 5%)};
32
+ --blue-700-10: #{rgba(#002766, 10%)};
33
+ --blue-700-15: #{rgba(#002766, 15%)};
34
+ --blue-800-30: #{rgba(#001433, 30%)};
35
+
36
+ --cyan-50: #cbe9ff;
37
+ --cyan-100: #9dd7ff;
38
+ --cyan-200: #70c4ff;
39
+ --cyan-300: #47b3ff;
40
+ --cyan-400: #1fa2ff;
41
+ --cyan-500: #0091f7;
42
+ --cyan-600: #007ad1;
43
+ --cyan-700: #0065ad;
44
+ --cyan-800: #00508a;
45
+ --cyan-900: #003c66;
46
+
47
+ --cyan-500-5: #{rgba(#0091f7, 5%)};
48
+ --cyan-500-15: #{rgba(#0091f7, 15%)};
49
+ --cyan-500-20: #{rgba(#0091f7, 20%)};
50
+
51
+ --red-00: #ffe0e3;
52
+ --red-50: #ffb4b4;
53
+ --red-100: #ff9898;
54
+ --red-200: #ff7b7b;
55
+ --red-300: #ff5c5c;
56
+ --red-400: #ff2020;
57
+ --red-500: #f30303;
58
+ --red-600: #d70202;
59
+ --red-700: #bc0000;
60
+ --red-800: #970000;
61
+ --red-900: #700000;
62
+
63
+ --yellow-50: #fffad7;
64
+ --yellow-100: #fff7b8;
65
+ --yellow-200: #fff18a;
66
+ --yellow-300: #ffed72;
67
+ --yellow-400: #ffea46;
68
+ --yellow-500: #ffe300;
69
+ --yellow-600: #e7cc00;
70
+ --yellow-700: #bea800;
71
+ --yellow-800: #988600;
72
+ --yellow-900: #7c6d00;
73
+
74
+ --green-00: #d1ffdf;
75
+ --green-50: #b7ffc6;
76
+ --green-100: #93ffaa;
77
+ --green-200: #6aff8b;
78
+ --green-300: #36ff62;
79
+ --green-400: #0bf23e;
80
+ --green-500: #00dd31;
81
+ --green-600: #00c92c;
82
+ --green-700: #00aa25;
83
+ --green-800: #00851d;
84
+ --green-900: #006616;
85
+
86
+ --orange-50: #fff6ed;
87
+ --orange-100: #ffebd6;
88
+ --orange-200: #ffd4a8;
89
+ --orange-300: #ffd4a8;
90
+ --orange-400: #ffa64d;
91
+ --orange-500: #ff8f1f;
92
+ --orange-600: #f57a00;
93
+ --orange-700: #cc6600;
94
+ --orange-800: #a35200;
95
+ --orange-900: #7a3d00;
96
+ }
@@ -0,0 +1,53 @@
1
+ @use '../abstract/utils';
2
+
3
+ @include utils.theme-selector(dark) {
4
+ --odx-c-display: var(--blue-900);
5
+ --odx-c-headline: var(--blue-900); // deprecated. Use --odx-c-display instead
6
+
7
+ --odx-c-text: var(--blue-900);
8
+ --odx-c-text-inverse: var(--black);
9
+
10
+ --odx-c-link: var(--cyan-700);
11
+ --odx-c-link-hover: var(--cyan-800);
12
+ --odx-c-link-active: var(--cyan-900);
13
+ --odx-c-link-disabled: var(--gray-400);
14
+
15
+ --odx-c-error: var(--red-00);
16
+ --odx-c-error-outline: var(--red-50);
17
+ --odx-c-error-outline-hover: var(--red-100);
18
+ --odx-c-error-text: var(--red-700);
19
+
20
+ --odx-c-focus: var(--focus-bg);
21
+ --odx-c-focus-outline: var(--cyan-800);
22
+ --odx-c-focus-outline-dark: var(--blue-900);
23
+
24
+ --odx-c-ghost-hover: var(--blue-50-5);
25
+ --odx-c-ghost-text-disabled: var(--gray-400);
26
+
27
+ --odx-c-highlight-text: var(--black);
28
+
29
+ --odx-c-primary: var(--blue-900);
30
+ --odx-c-primary-hover: var(--blue-600);
31
+ --odx-c-primary-active: var(--blue-200);
32
+
33
+ --odx-c-primary-text: var(--white);
34
+
35
+ --odx-c-primary-text-disabled: var(--gray-100);
36
+
37
+ --odx-c-secondary-text-disabled: var(--gray-100);
38
+
39
+ --odx-c-highlight-hover: var(--cyan-400);
40
+ --odx-c-highlight-active: var(--cyan-300);
41
+ --odx-c-highlight-text-disabled: var(--gray-100);
42
+
43
+ --odx-c-danger-active: var(--red-100);
44
+ --odx-c-danger-text-disabled: var(--gray-100);
45
+
46
+ --odx-c-success-text: var(--cyan-50);
47
+ --odx-c-success-text-disabled: var(--gray-100);
48
+
49
+ --odx-c-confirmation-text: var(--cyan-50);
50
+ --odx-c-confirmation-text-disabled: var(--gray-100);
51
+
52
+ --odx-c-warning-text: var(--cyan-50);
53
+ }
@@ -0,0 +1,98 @@
1
+ :root {
2
+ --odx-c-display: var(--blue-700);
3
+ --odx-c-headline: var(--blue-700); // deprecated. Use --odx-c-display instead
4
+
5
+ --odx-c-text: var(--blue-700);
6
+ --odx-c-text-inverse: var(--white);
7
+ --odx-c-text-disabled: var(--gray-500);
8
+
9
+ --odx-c-link: var(--odx-c-highlight);
10
+ --odx-c-link-hover: var(--odx-c-highlight-hover);
11
+ --odx-c-link-active: var(--odx-c-highlight-active);
12
+ --odx-c-link-disabled: var(--odx-c-text-disabled);
13
+
14
+ --odx-c-error: var(--red-00);
15
+ --odx-c-error-outline: var(--red-50);
16
+ --odx-c-error-outline-hover: var(--red-100);
17
+ --odx-c-error-text: var(--red-600);
18
+
19
+ --odx-c-error-warning: var(--orange-100);
20
+ --odx-c-error-warning-outline: var(--orange-200);
21
+ --odx-c-error-warning-outline-hover: var(--orange-300);
22
+ --odx-c-error-warning-text: var(--orange-500);
23
+
24
+ --odx-c-focus: var(--cyan-500-15);
25
+ --odx-c-focus-outline: var(--cyan-200);
26
+ --odx-c-focus-outline-dark: var(--blue-700);
27
+
28
+ --odx-c-selected-hover: var(--cyan-500-20);
29
+ --odx-c-selected: var(--cyan-500-15);
30
+
31
+ --odx-c-selection: var(--cyan-300);
32
+
33
+ --odx-c-backdrop: var(--white-60);
34
+ --odx-c-backdrop-dark: var(--blue-800-30);
35
+
36
+ --odx-c-box-shadow: var(--black-20);
37
+
38
+ --odx-c-separator: var(--gray-200);
39
+
40
+ --odx-c-background: var(--gray-50);
41
+ --odx-c-background-content: var(--white);
42
+
43
+ --odx-c-highlight: var(--cyan-500);
44
+ --odx-c-highlight-hover: var(--cyan-600);
45
+ --odx-c-highlight-active: var(--cyan-700);
46
+ --odx-c-highlight-disabled: var(--gray-300);
47
+ --odx-c-highlight-text: var(--odx-c-text-inverse);
48
+ --odx-c-highlight-text-disabled: var(--gray-700);
49
+
50
+ --odx-c-primary: var(--blue-700);
51
+ --odx-c-primary-hover: var(--blue-800);
52
+ --odx-c-primary-active: var(--blue-900);
53
+ --odx-c-primary-disabled: var(--gray-300);
54
+ --odx-c-primary-text: var(--odx-c-text-inverse);
55
+ --odx-c-primary-text-disabled: var(--gray-700);
56
+
57
+ --odx-c-secondary: var(--gray-300);
58
+ --odx-c-secondary-hover: var(--gray-400);
59
+ --odx-c-secondary-active: var(--gray-500);
60
+ --odx-c-secondary-disabled: var(--gray-300);
61
+ --odx-c-secondary-text: var(--odx-c-text);
62
+ --odx-c-secondary-text-disabled: var(--gray-700);
63
+
64
+ --odx-c-success: var(--green-500);
65
+ --odx-c-success-hover: var(--green-600);
66
+ --odx-c-success-active: var(--green-700);
67
+ --odx-c-success-disabled: var(--gray-300);
68
+ --odx-c-success-text: var(--odx-c-text);
69
+ --odx-c-success-text-disabled: var(--gray-700);
70
+
71
+ --odx-c-warning: var(--yellow-500);
72
+ --odx-c-warning-hover: var(--yellow-600);
73
+ --odx-c-warning-active: var(--yellow-700);
74
+ --odx-c-warning-disabled: var(--yellow-500);
75
+ --odx-c-warning-text: var(--odx-c-text);
76
+ --odx-c-warning-text-disabled: var(--yellow-800);
77
+
78
+ --odx-c-danger: var(--red-500);
79
+ --odx-c-danger-hover: var(--red-600);
80
+ --odx-c-danger-active: var(--red-700);
81
+ --odx-c-danger-disabled: var(--gray-300);
82
+ --odx-c-danger-text: var(--odx-c-text-inverse);
83
+ --odx-c-danger-text-disabled: var(--gray-700);
84
+
85
+ --odx-c-confirmation: var(--orange-500);
86
+ --odx-c-confirmation-hover: var(--orange-600);
87
+ --odx-c-confirmation-active: var(--orange-700);
88
+ --odx-c-confirmation-disabled: var(--gray-300);
89
+ --odx-c-confirmation-text: var(--odx-c-text);
90
+ --odx-c-confirmation-text-disabled: var(--gray-700);
91
+
92
+ --odx-c-ghost: transparent;
93
+ --odx-c-ghost-hover: var(--blue-700-5);
94
+ --odx-c-ghost-active: var(--cyan-500-15);
95
+ --odx-c-ghost-disabled: transparent;
96
+ --odx-c-ghost-text: var(--cyan-500);
97
+ --odx-c-ghost-text-disabled: var(--gray-500);
98
+ }
@@ -0,0 +1,25 @@
1
+ @use './typography' as *;
2
+ @use './text-list' as *;
3
+ @use './description-list' as *;
4
+
5
+ .odx-content {
6
+ @for $i from 1 through 6 {
7
+ h#{$i} {
8
+ @extend .odx-heading;
9
+ @extend .odx-heading-#{$i};
10
+ }
11
+ }
12
+
13
+ p {
14
+ @extend .odx-text;
15
+ }
16
+
17
+ ol,
18
+ ul {
19
+ @extend .odx-text-list;
20
+ }
21
+
22
+ dl {
23
+ @extend .odx-description-list;
24
+ }
25
+ }
@@ -0,0 +1,57 @@
1
+ :root {
2
+ --odx-control-color: var(--odx-c-text);
3
+ --odx-control-background-color: var(--gray-200);
4
+ --odx-control-outline-color: var(--gray-300);
5
+
6
+ --odx-control-color-hover: var(--odx-c-text);
7
+ --odx-control-background-color-hover: var(--gray-300);
8
+ --odx-control-outline-color-hover: var(--gray-400);
9
+
10
+ --odx-control-color-selected: var(--odx-c-highlight-text);
11
+ --odx-control-background-color-selected: var(--odx-c-highlight);
12
+ --odx-control-outline-color-selected: var(--odx-c-highlight);
13
+
14
+ --odx-control-color-disabled: var(--gray-500);
15
+ --odx-control-background-color-disabled: var(--gray-100);
16
+ --odx-control-outline-color-disabled: transparent;
17
+
18
+ --odx-control-color-readonly: var(--odx-control-color);
19
+ --odx-control-background-color-readonly: transparent;
20
+ --odx-control-outline-color-readonly: var(--odx-control-color);
21
+
22
+ --odx-control-color-error: var(--odx-c-error-text);
23
+ --odx-control-background-color-error: var(--odx-c-error);
24
+ --odx-control-outline-color-error: var(--odx-c-error-outline);
25
+ --odx-control-outline-color-error-hover: var(--odx-c-error-outline-hover);
26
+
27
+ --odx-control-color-warning: var(--odx-c-error-warning-text);
28
+ --odx-control-background-color-warning: var(--odx-c-error-warning);
29
+ --odx-control-outline-color-warning: var(--odx-c-error-warning-outline);
30
+ --odx-control-outline-color-warning-hover: var(--odx-c-error-warning-outline-hover);
31
+
32
+ --odx-input-control-color: var(--odx-c-text);
33
+ --odx-input-control-background-color: var(--gray-100);
34
+ --odx-input-control-outline-color: var(--gray-200);
35
+
36
+ --odx-input-control-color-hover: var(--odx-c-text);
37
+ --odx-input-control-background-color-hover: var(--gray-200);
38
+ --odx-input-control-outline-color-hover: var(--gray-300);
39
+
40
+ --odx-input-control-color-disabled: var(--gray-500);
41
+ --odx-input-control-background-color-disabled: var(--gray-50);
42
+ --odx-input-control-outline-color-disabled: transparent;
43
+
44
+ --odx-input-control-color-readonly: var(--odx-control-color);
45
+ --odx-input-control-background-color-readonly: transparent;
46
+ --odx-input-control-outline-color-readonly: var(--odx-control-outline-color);
47
+
48
+ --odx-input-control-color-error: var(--odx-c-error-text);
49
+ --odx-input-control-background-color-error: var(--odx-c-error);
50
+ --odx-input-control-outline-color-error: var(--odx-c-error-outline);
51
+ --odx-input-control-outline-color-error-hover: var(--odx-c-error-outline-hover);
52
+
53
+ --odx-input-control-color-warning: var(--odx-c-error-warning-text);
54
+ --odx-input-control-background-color-warning: var(--odx-c-error-warning);
55
+ --odx-input-control-outline-color-warning: var(--odx-c-error-warning-outline);
56
+ --odx-input-control-outline-color-warning-hover: var(--odx-c-error-warning-outline-hover);
57
+ }
@@ -0,0 +1,30 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/typography';
4
+
5
+ .odx-description-list {
6
+ $gap: dimensions.get-size(math.div(8, 24));
7
+
8
+ @include dimensions.margin-y(0.5);
9
+
10
+ column-gap: $gap;
11
+ display: flex;
12
+ flex: 0 0 100%;
13
+ flex-wrap: wrap;
14
+ row-gap: calc(#{$gap} / 2);
15
+
16
+ dt,
17
+ dd {
18
+ align-items: flex-end;
19
+ display: inline-flex;
20
+ flex: 0 0 calc(50% - #{$gap} / 2);
21
+ }
22
+
23
+ dt {
24
+ @include typography.font-size(-1);
25
+ }
26
+
27
+ dd {
28
+ @include typography.font-weight(medium);
29
+ }
30
+ }
@@ -0,0 +1,81 @@
1
+ @use 'sass:math';
2
+
3
+ @function _get-line-height-factor($factor, $line-height-factor) {
4
+ @if not $line-height-factor {
5
+ @return $factor;
6
+ }
7
+
8
+ @return $line-height-factor;
9
+ }
10
+
11
+ @mixin _vertical-rythm-dimension($factor, $line-height-factor, $properties) {
12
+ $line-height-factor: _get-line-height-factor($factor, $line-height-factor);
13
+
14
+ @include margin-y(calc(($factor - $line-height-factor) / 2));
15
+
16
+ @each $property in $properties {
17
+ #{$property}: get-size($line-height-factor);
18
+ }
19
+ }
20
+
21
+ @function get-size($factor) {
22
+ $factor: math.div(math.ceil($factor * 1e4), 1e4);
23
+
24
+ @return calc(var(--odx-vertical-rythm-base-size) * $factor);
25
+ }
26
+
27
+ @mixin margin($factor, $directions: ('top', 'right', 'bottom', 'left')) {
28
+ @each $side in $directions {
29
+ margin-#{$side}: get-size($factor);
30
+ }
31
+ }
32
+
33
+ @mixin margin-x($factor: 1) {
34
+ $spacing: calc(var(--odx-vertical-rythm-base-size) * $factor);
35
+
36
+ @include margin($factor, ('right', 'left'));
37
+ }
38
+
39
+ @mixin margin-y($factor: 1) {
40
+ $spacing: calc(var(--odx-vertical-rythm-base-size) * $factor);
41
+
42
+ @include margin($factor, ('top', 'bottom'));
43
+ }
44
+
45
+ @mixin padding($factor, $directions: ('top', 'right', 'bottom', 'left')) {
46
+ @each $side in $directions {
47
+ padding-#{$side}: get-size($factor);
48
+ }
49
+ }
50
+
51
+ @mixin padding-x($factor: 1) {
52
+ $spacing: calc(var(--odx-vertical-rythm-base-size) * $factor);
53
+
54
+ @include padding($factor, ('right', 'left'));
55
+ }
56
+
57
+ @mixin padding-y($factor: 1) {
58
+ $spacing: calc(var(--odx-vertical-rythm-base-size) * $factor);
59
+
60
+ @include padding($factor, ('top', 'bottom'));
61
+ }
62
+
63
+ @mixin container($factor: 1, $line-height-factor: null) {
64
+ @include _vertical-rythm-dimension($factor, $line-height-factor, (height, width));
65
+ }
66
+
67
+ @mixin min-height($factor: 1, $line-height-factor: null) {
68
+ @include _vertical-rythm-dimension($factor, $line-height-factor, min-height);
69
+ }
70
+
71
+ @mixin height($factor: 1, $line-height-factor: null) {
72
+ @include _vertical-rythm-dimension($factor, $line-height-factor, height);
73
+ }
74
+
75
+ @mixin line-height($factor: 1, $line-height-factor: null) {
76
+ $line-height-factor: _get-line-height-factor($factor, $line-height-factor);
77
+
78
+ @include padding-y(calc(($factor - $line-height-factor) / 2));
79
+
80
+ line-height: get-size($line-height-factor);
81
+ }