@odx/ui 4.10.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 (107) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/ag-grid-theme.css +1 -261
  3. package/charts-theme.css +1 -45
  4. package/core-theme.css +1 -7478
  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/checkbox.component.scss +136 -0
  44. package/scss/chip-list.component.scss +23 -0
  45. package/scss/chip.component.scss +74 -0
  46. package/scss/circular-progress.component.scss +75 -0
  47. package/scss/components/card.component.scss +6 -6
  48. package/scss/components/table.component.scss +1 -0
  49. package/scss/connected-overlay.scss +63 -0
  50. package/scss/content-box.component.scss +46 -0
  51. package/scss/datepicker.component.scss +36 -0
  52. package/scss/daterangepicker.component.scss +45 -0
  53. package/scss/dropdown.component.scss +37 -0
  54. package/scss/error-page.component.scss +46 -0
  55. package/scss/expandable-list-item.component.scss +59 -0
  56. package/scss/footer.component.scss +86 -0
  57. package/scss/form-field.component.scss +264 -0
  58. package/scss/header-navigation.component.scss +35 -0
  59. package/scss/header.component.scss +73 -0
  60. package/scss/icon.component.scss +21 -0
  61. package/scss/inline-message.component.scss +34 -0
  62. package/scss/launch-tile.component.scss +119 -0
  63. package/scss/link.component.scss +28 -0
  64. package/scss/list-item.component.scss +119 -0
  65. package/scss/list.component.scss +27 -0
  66. package/scss/loading-spinner.component.scss +70 -0
  67. package/scss/logo.component.scss +33 -0
  68. package/scss/main-menu-button.component.scss +11 -0
  69. package/scss/main-menu-item.component.scss +55 -0
  70. package/scss/main-menu.component.scss +139 -0
  71. package/scss/mainfilter-group.component.scss +163 -0
  72. package/scss/menu.component.scss +51 -0
  73. package/scss/modal.component.scss +219 -0
  74. package/scss/navigation-back.component.scss +23 -0
  75. package/scss/notification-center.component.scss +74 -0
  76. package/scss/notification-item.component.scss +41 -0
  77. package/scss/option.component.scss +40 -0
  78. package/scss/paginator.component.scss +34 -0
  79. package/scss/progress.component.scss +41 -0
  80. package/scss/radio-button.component.scss +127 -0
  81. package/scss/radio-group.component.scss +14 -0
  82. package/scss/rail-navigation-item.component.scss +99 -0
  83. package/scss/rail-navigation.component.scss +53 -0
  84. package/scss/rich-list-item-header.component.scss +25 -0
  85. package/scss/rich-list-item.component.scss +59 -0
  86. package/scss/rich-list.component.scss +3 -0
  87. package/scss/search-bar.component.scss +47 -0
  88. package/scss/select.component.scss +75 -0
  89. package/scss/slider.component.scss +132 -0
  90. package/scss/spinbox.component.scss +128 -0
  91. package/scss/switch.component.scss +175 -0
  92. package/scss/tab-bar-item.component.scss +58 -0
  93. package/scss/tab-bar.component.scss +124 -0
  94. package/scss/table.component.scss +95 -0
  95. package/scss/theme.scss +303 -0
  96. package/scss/timepicker.component.scss +58 -0
  97. package/scss/toast-item.component.scss +79 -0
  98. package/scss/toast.component.scss +33 -0
  99. package/scss/toggle-button-group.component.scss +65 -0
  100. package/scss/toggle-button.component.scss +79 -0
  101. package/scss/tooltip.component.scss +37 -0
  102. package/scss/wizard-step.component.scss +256 -0
  103. package/scss/wizard.component.scss +18 -0
  104. package/24031beb1b96a58f519c.woff2 +0 -0
  105. package/323d385340fb9fee6450.svg +0 -6
  106. package/5eabf29514e9649c8c73.woff2 +0 -0
  107. package/eb2051d1f9da906e0b3e.woff2 +0 -0
@@ -0,0 +1,128 @@
1
+ @use 'sass:math';
2
+ @use '../layout/helpers';
3
+ @use '../abstract/dimensions';
4
+ @use '../abstract/typography';
5
+ @use '../abstract/utils';
6
+ @use '../abstract/motion';
7
+
8
+ .odx-form-field__control:has(.odx-spinbox) {
9
+ background-color: transparent !important;
10
+ outline-color: transparent !important;
11
+
12
+ .odx-form-field-control {
13
+ padding: 0;
14
+ }
15
+
16
+ &::after {
17
+ content: none;
18
+ }
19
+
20
+ &.has-error & {
21
+ background-color: transparent;
22
+ outline-color: transparent;
23
+
24
+ &:hover {
25
+ background-color: transparent;
26
+ }
27
+ }
28
+ }
29
+
30
+ .odx-spinbox {
31
+ $root: &;
32
+
33
+ align-items: stretch;
34
+ display: flex;
35
+ flex: 1;
36
+ gap: 1px;
37
+
38
+ &__input {
39
+ @include typography.font-weight(medium);
40
+ @include dimensions.padding-x(math.div(8, 24));
41
+
42
+ appearance: textfield;
43
+ text-align: center;
44
+ width: 100%;
45
+
46
+ &::placeholder {
47
+ @include typography.font-weight(normal);
48
+
49
+ color: var(--odx-input-control-color);
50
+ opacity: 0.65;
51
+ }
52
+
53
+ &::-webkit-inner-spin-button {
54
+ appearance: none;
55
+ }
56
+ }
57
+
58
+ &__input,
59
+ &__action {
60
+ @include motion.transition(background-color border-color color);
61
+
62
+ background-color: var(--odx-input-control-background-color);
63
+ border: 1px solid var(--odx-input-control-outline-color);
64
+
65
+ #{$root}.has-error & {
66
+ background-color: var(--odx-input-control-background-color-error);
67
+ border-color: var(--odx-input-control-outline-color-error) !important;
68
+ }
69
+
70
+ #{$root} &:hover {
71
+ background-color: var(--odx-input-control-background-color-hover);
72
+ border-color: var(--odx-input-control-outline-color-hover);
73
+ }
74
+
75
+ #{$root} &:active {
76
+ background-color: var(--odx-input-control-outline-color-hover);
77
+ border-color: var(--odx-input-control-outline-color-hover);
78
+ }
79
+
80
+ #{$root}.is-readonly & {
81
+ background-color: var(--odx-input-control-outline-color-disabled);
82
+ border-color: var(--odx-input-control-outline-color-readonly) !important;
83
+ }
84
+
85
+ #{$root} &:focus-visible {
86
+ background-color: var(--odx-c-focus);
87
+ border-color: var(--odx-c-focus-outline) !important;
88
+ }
89
+
90
+ #{$root}.is-disabled & {
91
+ @include utils.non-interactive();
92
+
93
+ background-color: var(--odx-input-control-background-color-disabled);
94
+ border-color: var(--odx-input-control-outline-color-disabled) !important;
95
+ color: var(--odx-input-control-color-disabled);
96
+ }
97
+ }
98
+
99
+ &__action {
100
+ border-radius: var(--odx-v-border-radius-controls);
101
+ flex: 0 0 dimensions.get-size(math.div(36, 24));
102
+ height: 100%;
103
+ margin: 0;
104
+ outline: none;
105
+
106
+ &::before {
107
+ position: static;
108
+ }
109
+
110
+ &:first-child {
111
+ border-bottom-right-radius: 0;
112
+ border-right: unset;
113
+ border-top-right-radius: 0;
114
+ }
115
+
116
+ &:last-child {
117
+ border-bottom-left-radius: 0;
118
+ border-left: unset;
119
+ border-top-left-radius: 0;
120
+ }
121
+
122
+ #{$root}.is-readonly & {
123
+ @include utils.non-interactive();
124
+
125
+ color: var(--odx-input-control-color-disabled);
126
+ }
127
+ }
128
+ }
@@ -0,0 +1,175 @@
1
+ @use 'sass:math';
2
+ @use '../layout/helpers';
3
+ @use '../abstract/dimensions';
4
+ @use '../abstract/typography';
5
+ @use '../abstract/utils';
6
+ @use '../abstract/motion';
7
+
8
+ @mixin indicator-color($background, $stroke: null) {
9
+ background-color: $background;
10
+
11
+ @if $stroke {
12
+ border-color: $stroke;
13
+ } @else {
14
+ border-color: $background;
15
+ }
16
+ }
17
+
18
+ .odx-switch {
19
+ $root: &;
20
+
21
+ color: var(--odx-c-text);
22
+ display: inline-block;
23
+
24
+ &.is-disabled {
25
+ color: var(--odx-control-color-disabled);
26
+ }
27
+
28
+ &.is-readonly {
29
+ @include utils.non-interactive();
30
+ }
31
+
32
+ &__label {
33
+ @include dimensions.line-height(1);
34
+ @include motion.transition(background-color color outline-color);
35
+ @include typography.font-size(0);
36
+ @include utils.interactive($focus-within: true);
37
+
38
+ align-items: center;
39
+ border-radius: dimensions.get-size(0.5);
40
+ color: inherit;
41
+ display: inline-flex;
42
+ min-height: dimensions.get-size(1);
43
+ padding: 0 2px;
44
+ user-select: auto;
45
+ user-select: none;
46
+ vertical-align: top;
47
+
48
+ #{$root}.is-disabled & {
49
+ cursor: default;
50
+ }
51
+
52
+ &:has(#{$root}__content:not(:empty)) {
53
+ border-bottom-right-radius: var(--odx-v-border-radius-controls);
54
+ border-top-right-radius: var(--odx-v-border-radius-controls);
55
+ }
56
+ }
57
+
58
+ &__input {
59
+ @include utils.visually-hidden();
60
+
61
+ &:focus-visible {
62
+ ~ #{$root}__indicator:before {
63
+ box-shadow: 0 0 0 1px var(--odx-c-background-content);
64
+ outline-color: var(--odx-c-focus);
65
+ }
66
+ }
67
+ }
68
+
69
+ &__indicator {
70
+ $indicator-width: dimensions.get-size(1.5);
71
+ $indicator-height: dimensions.get-size(math.div(1, 6));
72
+ $track-size: dimensions.get-size(math.div(20, 24));
73
+ $border: 1px solid var(--odx-control-outline-color);
74
+
75
+ @include motion.transition(background-color color outline-color);
76
+
77
+ background-color: var(--odx-control-background-color);
78
+ border: $border;
79
+ border-radius: calc(#{$indicator-height} / 2);
80
+ color: var(--odx-control-color-selected);
81
+ height: $indicator-height;
82
+ position: relative;
83
+ width: $indicator-width;
84
+
85
+ &::before {
86
+ @include motion.transition(background-color transform border-color outline-color);
87
+
88
+ background-color: var(--odx-control-background-color);
89
+ border: $border;
90
+ border-radius: 50%;
91
+ box-sizing: border-box;
92
+ content: '';
93
+ display: block;
94
+ height: $track-size;
95
+ outline: 1px solid var(--odx-c-background-content);
96
+ position: absolute;
97
+ top: calc(#{$track-size} / -2 + 50%);
98
+ transform: translateX(-1px);
99
+ width: $track-size;
100
+ }
101
+
102
+ #{$root}:hover &::before {
103
+ background-color: var(--odx-control-background-color-hover);
104
+ }
105
+
106
+ #{$root}.is-active:not(.is-disabled):hover &::before {
107
+ @include indicator-color(var(--odx-c-highlight-hover));
108
+ }
109
+
110
+ #{$root}.is-active &,
111
+ #{$root}__input:indeterminate ~ &,
112
+ #{$root}__input:checked ~ & {
113
+ @include indicator-color(var(--odx-control-background-color-selected));
114
+
115
+ &::before {
116
+ @include indicator-color(var(--odx-control-background-color-selected));
117
+
118
+ transform: translateX(calc((#{$indicator-width} - #{$track-size}) - 1px));
119
+ }
120
+ }
121
+
122
+ #{$root}.has-error & {
123
+ @include indicator-color(var(--odx-control-background-color-error));
124
+
125
+ &::before {
126
+ @include indicator-color(var(--odx-control-background-color-error));
127
+ }
128
+ }
129
+
130
+ #{$root}.has-error:hover & {
131
+ outline-color: var(--odx-control-outline-color-error-hover);
132
+ }
133
+
134
+ #{$root}.is-disabled & {
135
+ @include indicator-color(var(--odx-c-secondary-disabled));
136
+
137
+ &::before {
138
+ @include indicator-color(var(--odx-c-secondary-disabled));
139
+
140
+ outline-color: transparent;
141
+ }
142
+ }
143
+
144
+ #{$root}.is-disabled:not(.is-active) & {
145
+ @include indicator-color(var(--odx-control-background-color-disabled));
146
+
147
+ &::before {
148
+ @include indicator-color(var(--odx-control-background-color-disabled));
149
+ }
150
+ }
151
+ }
152
+
153
+ &__content {
154
+ @include dimensions.margin(0.5, left);
155
+
156
+ padding-left: 2px;
157
+
158
+ &:empty {
159
+ margin: 0;
160
+ padding: 0;
161
+ }
162
+ }
163
+
164
+ &__required {
165
+ @include typography.font-size(0);
166
+
167
+ color: var(--odx-c-error-text);
168
+ margin-left: 2px;
169
+ vertical-align: top;
170
+
171
+ #{$root}.is-disabled & {
172
+ color: var(--odx-control-color-disabled);
173
+ }
174
+ }
175
+ }
@@ -0,0 +1,58 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/typography';
5
+ @use '../abstract//utils';
6
+
7
+ .odx-tab-bar-item {
8
+ @include dimensions.height(2, math.div(32, 24));
9
+ @include dimensions.padding-x(math.div(4, 24));
10
+ @include utils.vertical-center-content();
11
+ @include utils.with-outline();
12
+ @include motion.transition(background-color outline-color);
13
+
14
+ align-items: center;
15
+ background-color: transparent;
16
+ border-radius: var(--odx-v-border-radius-controls);
17
+ cursor: pointer;
18
+ min-inline-size: dimensions.get-size(math.div(72, 24));
19
+ user-select: none;
20
+
21
+ &__label {
22
+ flex: 1;
23
+ }
24
+
25
+ &:hover {
26
+ background-color: var(--blue-700-5);
27
+ }
28
+
29
+ .odx-icon {
30
+ @include dimensions.container(1, 1);
31
+ @include dimensions.margin-x(math.div(4, 24));
32
+
33
+ font-size: dimensions.get-size(1);
34
+
35
+ &:first-child {
36
+ margin-inline-start: 0;
37
+ }
38
+
39
+ &:last-child:not(:first-child) {
40
+ @include motion.transition(color);
41
+
42
+ margin-inline-end: 0;
43
+
44
+ &:hover {
45
+ color: var(--odx-c-highlight);
46
+ }
47
+ }
48
+ }
49
+
50
+ &.is-disabled {
51
+ color: var(--odx-c-text-disabled);
52
+ pointer-events: none;
53
+
54
+ .odx-tab-bar-item__label {
55
+ pointer-events: none;
56
+ }
57
+ }
58
+ }
@@ -0,0 +1,124 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/utils';
5
+
6
+ .odx-tab-bar {
7
+ $root: &;
8
+
9
+ @include dimensions.height(2);
10
+
11
+ border-bottom: 1px solid;
12
+ border-bottom-color: var(--odx-control-outline-color-hover);
13
+ display: flex;
14
+ overflow: hidden;
15
+ position: relative;
16
+
17
+ &__inner {
18
+ $gradient-start: dimensions.get-size(1);
19
+ $gradient-end: dimensions.get-size(3);
20
+ $mask-color: #000000;
21
+
22
+ display: flex;
23
+ width: 100%;
24
+
25
+ #{$root}--overflow-left & {
26
+ mask-image: linear-gradient(to right, transparent $gradient-start, $mask-color $gradient-end);
27
+ }
28
+
29
+ #{$root}--overflow-right & {
30
+ mask-image: linear-gradient(to right, $mask-color calc(100% - $gradient-end), transparent calc(100% - $gradient-start));
31
+ }
32
+
33
+ #{$root}--overflow-left#{$root}--overflow-right & {
34
+ mask-image: linear-gradient(
35
+ to right,
36
+ transparent $gradient-start,
37
+ $mask-color $gradient-end,
38
+ $mask-color calc(100% - $gradient-end),
39
+ transparent calc(100% - $gradient-start)
40
+ );
41
+ }
42
+ }
43
+
44
+ &__panel {
45
+ @include motion.transition(transform);
46
+ @include dimensions.padding-x(math.div(12, 24));
47
+
48
+ display: flex;
49
+ flex: 0 0 auto;
50
+ gap: dimensions.get-size(math.div(8, 24));
51
+ position: relative;
52
+ }
53
+
54
+ &__action {
55
+ @include dimensions.height(2);
56
+ @include motion.transition(opacity width padding);
57
+ @include utils.center-content();
58
+
59
+ background-color: transparent;
60
+ cursor: pointer;
61
+ opacity: 0;
62
+ overflow: hidden;
63
+ padding: 0;
64
+ pointer-events: none;
65
+ position: absolute;
66
+ top: 0;
67
+ user-select: none;
68
+ width: 0;
69
+ z-index: var(--odx-v-layer-1);
70
+
71
+ &.is-active {
72
+ @include dimensions.padding(math.div(8, 24), (right, left));
73
+
74
+ opacity: 1;
75
+ pointer-events: all;
76
+ transform: scaleX(1);
77
+ width: dimensions.get-size(1.5);
78
+ }
79
+
80
+ .odx-icon {
81
+ @include dimensions.container(1, 1);
82
+
83
+ align-items: center;
84
+ color: var(--odx-c-highlight);
85
+ display: flex;
86
+ font-size: dimensions.get-size(math.div(32, 24));
87
+ justify-content: center;
88
+ }
89
+
90
+ &--prev {
91
+ justify-content: flex-start;
92
+ left: 0;
93
+ transform-origin: center left;
94
+ }
95
+
96
+ &--next {
97
+ justify-content: flex-end;
98
+ right: 0;
99
+ transform-origin: center right;
100
+ }
101
+
102
+ &:hover {
103
+ .odx-icon {
104
+ color: var(--odx-c-highlight-hover);
105
+ }
106
+ }
107
+ }
108
+
109
+ .odx-tab-bar__indicator {
110
+ @include dimensions.margin(math.div(8, 24), left);
111
+
112
+ background-color: var(--odx-c-highlight);
113
+ bottom: 0;
114
+ height: dimensions.get-size(math.div(4, 24));
115
+ width: dimensions.get-size(2) !important;
116
+ }
117
+
118
+ &:focus-visible {
119
+ .odx-tab-bar-item.is-active {
120
+ background-color: var(--odx-c-focus);
121
+ outline-color: var(--odx-c-focus-outline);
122
+ }
123
+ }
124
+ }
@@ -0,0 +1,95 @@
1
+ @use 'sass:math';
2
+ @use '../layout/helpers';
3
+ @use '../abstract/dimensions';
4
+ @use '../abstract/typography';
5
+ @use '../abstract/utils';
6
+ @use '../abstract/motion';
7
+
8
+ .odx-table {
9
+ --odx-table-background-color: var(--white);
10
+ --odx-table-head-border-color: var(--gray-900);
11
+ --odx-table-cell-border-color: var(--gray-200);
12
+ --odx-table-cell-background-color-hover: var(--blue-700-5);
13
+ --odx-table-cell-background-color-striped: var(--gray-50);
14
+ --odx-table-cell-background-color-active: var(--cyan-500-15);
15
+
16
+ $root: &;
17
+
18
+ background: var(--odx-table-background-color);
19
+ border: 0;
20
+ border-spacing: 0;
21
+ min-width: 100%;
22
+ table-layout: auto;
23
+ white-space: normal;
24
+
25
+ &__header-cell,
26
+ &__cell {
27
+ @include dimensions.padding-x(0.5);
28
+
29
+ border-bottom-style: solid;
30
+ border-bottom-width: 1px;
31
+ text-align: left;
32
+ }
33
+
34
+ &__cell {
35
+ border-bottom-color: var(--odx-table-cell-border-color);
36
+ height: dimensions.get-size(2);
37
+ vertical-align: middle;
38
+ }
39
+
40
+ &__header-cell-title {
41
+ align-items: center;
42
+ display: flex;
43
+ gap: dimensions.get-size(math.div(8, 24));
44
+ height: dimensions.get-size(2);
45
+ user-select: none;
46
+
47
+ &.sortable {
48
+ cursor: pointer;
49
+
50
+ > svg {
51
+ display: inline-block;
52
+ height: auto;
53
+ width: dimensions.get-size(math.div(16, 24));
54
+ }
55
+ }
56
+ }
57
+
58
+ &__header-cell {
59
+ @include typography.font-weight(medium);
60
+
61
+ border-bottom-color: var(--odx-table-head-border-color);
62
+ vertical-align: top;
63
+
64
+ .odx-form-field {
65
+ height: dimensions.get-size(2);
66
+ justify-content: center;
67
+ padding: 0;
68
+
69
+ &__info {
70
+ display: none;
71
+ }
72
+ }
73
+ }
74
+
75
+ &--striped {
76
+ .odx-table__row:nth-child(odd) {
77
+ background-color: var(--odx-table-cell-background-color-striped);
78
+ }
79
+ }
80
+
81
+ &__body {
82
+ /* stylelint-disable-next-line no-descending-specificity */
83
+ .odx-table__row {
84
+ @include motion.transition(background-color);
85
+
86
+ &:hover {
87
+ background-color: var(--odx-table-cell-background-color-hover);
88
+ }
89
+
90
+ &:focus-visible {
91
+ background-color: var(--odx-table-cell-background-color-active);
92
+ }
93
+ }
94
+ }
95
+ }