@odx/ui 1.0.4 → 2.1.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.
@@ -0,0 +1,256 @@
1
+ @use 'sass:math';
2
+ @use 'sass:color';
3
+ @use '../abstract/dimensions';
4
+ @use '../abstract/utils';
5
+ @use '../abstract/motion';
6
+ @use '../abstract/typography';
7
+
8
+ .odx-wizard-step {
9
+ $root: &;
10
+ $parent-root: odx-wizard;
11
+ $step-size: dimensions.get-size(math.div(20, 24));
12
+ $icon-size: dimensions.get-size(math.div(13, 24));
13
+ $border-width: dimensions.get-size(math.div(2, 24));
14
+
15
+ cursor: pointer;
16
+ display: none;
17
+ flex: 1;
18
+ flex-direction: column;
19
+ overflow: hidden;
20
+
21
+ .#{$parent-root}:not(.#{$parent-root}--vertical) & {
22
+ gap: dimensions.get-size(math.div(8, 24));
23
+ min-width: var(--odx-horizontal-wizzard-width);
24
+ }
25
+
26
+ &.is-disabled {
27
+ @include utils.non-interactive();
28
+ }
29
+
30
+ &--visible {
31
+ display: inline-flex;
32
+ }
33
+
34
+ &__label {
35
+ @include typography.prevent-text-overflow();
36
+ @include utils.with-outline();
37
+ @include motion.transition(background-color, outline-color);
38
+
39
+ align-self: center;
40
+ border-radius: var(--odx-v-border-radius-controls);
41
+ color: var(--odx-c-secondary-disabled);
42
+ margin: 0 auto;
43
+ padding: dimensions.get-size(math.div(4, 24));
44
+ user-select: none;
45
+
46
+ #{$root}--valid & {
47
+ color: var(--odx-control-color-disabled);
48
+ }
49
+
50
+ #{$root}--passed & {
51
+ color: var(--odx-c-primary);
52
+ }
53
+
54
+ #{$root}--active & {
55
+ font-weight: var(--odx-typography-font-weight-medium);
56
+ }
57
+
58
+ #{$root}:focus-visible & {
59
+ background-color: var(--odx-c-focus);
60
+ outline-color: var(--odx-c-focus-outline);
61
+ }
62
+
63
+ #{$root}:hover & {
64
+ background-color: var(--blue-700-5);
65
+ }
66
+
67
+ .#{$parent-root}--vertical & {
68
+ margin: unset;
69
+ }
70
+ }
71
+
72
+ &__line-before,
73
+ &__line-after,
74
+ &__dotted-line {
75
+ flex: 1;
76
+
77
+ .#{$parent-root}:not(.#{$parent-root}--vertical) & {
78
+ border-bottom: $border-width solid var(--odx-c-secondary-disabled);
79
+ height: 0;
80
+ }
81
+
82
+ .#{$parent-root}--vertical & {
83
+ border-left: $border-width solid var(--odx-c-secondary-disabled);
84
+ width: 0;
85
+ }
86
+ }
87
+
88
+ &__dotted-line {
89
+ &:not(.odx-wizard-step__dotted-line--active) {
90
+ display: none;
91
+ }
92
+
93
+ .#{$parent-root}:not(.#{$parent-root}--vertical) & {
94
+ align-self: flex-end;
95
+ border-style: dashed;
96
+ height: 0;
97
+ margin-bottom: calc(#{$step-size} / 2 - #{$border-width} / 2);
98
+ min-width: var(--odx-horizontal-wizzard-width);
99
+ }
100
+
101
+ .#{$parent-root}.#{$parent-root}--vertical & {
102
+ border-style: dashed;
103
+ margin-left: calc(#{$step-size} / 2 - #{$border-width} / 2);
104
+ padding-bottom: var(--odx-verticalal-wizzard-heigth);
105
+ }
106
+
107
+ #{$root}:first-of-type + & {
108
+ .#{$parent-root}.#{$parent-root}--vertical & {
109
+ border-left-color: var(--odx-c-primary);
110
+ }
111
+
112
+ .#{$parent-root}:not(.#{$parent-root}--vertical) & {
113
+ border-bottom-color: var(--odx-c-primary);
114
+ }
115
+ }
116
+
117
+ .#{$parent-root}:not(.#{$parent-root}--vertical):has(#{$root}:last-of-type#{$root}--touched) & {
118
+ &:last-of-type {
119
+ border-bottom-color: var(--odx-control-color-disabled);
120
+ }
121
+ }
122
+
123
+ .#{$parent-root}--vertical:has(#{$root}:last-of-type#{$root}--touched) & {
124
+ &:last-of-type {
125
+ border-left-color: var(--odx-control-color-disabled);
126
+ }
127
+ }
128
+ }
129
+
130
+ &__line-before {
131
+ #{$root}:first-of-type & {
132
+ .#{$parent-root}:not(.#{$parent-root}--vertical) & {
133
+ border-bottom-color: transparent;
134
+ }
135
+
136
+ .#{$parent-root}--vertical & {
137
+ border-left-color: transparent;
138
+ }
139
+ }
140
+
141
+ #{$root}--touched & {
142
+ .#{$parent-root}:not(.#{$parent-root}--vertical) & {
143
+ border-bottom-color: var(--odx-control-color-disabled);
144
+ }
145
+
146
+ .#{$parent-root}--vertical & {
147
+ border-left-color: var(--odx-control-color-disabled);
148
+ }
149
+ }
150
+
151
+ #{$root}--passed & {
152
+ .#{$parent-root}:not(.#{$parent-root}--vertical) & {
153
+ border-bottom-color: var(--odx-c-primary);
154
+ }
155
+
156
+ .#{$parent-root}--vertical & {
157
+ border-left-color: var(--odx-c-primary);
158
+ }
159
+ }
160
+ }
161
+
162
+ &__line-after {
163
+ #{$root}--touched:not(#{$root}--is-last-touched) & {
164
+ .#{$parent-root}:not(.#{$parent-root}--vertical) & {
165
+ border-bottom-color: var(--odx-control-color-disabled);
166
+ }
167
+
168
+ .#{$parent-root}--vertical & {
169
+ border-left-color: var(--odx-control-color-disabled);
170
+ }
171
+ }
172
+
173
+ #{$root}:last-of-type & {
174
+ .#{$parent-root}:not(.#{$parent-root}--vertical) & {
175
+ border-bottom-color: transparent;
176
+ }
177
+
178
+ .#{$parent-root}--vertical & {
179
+ border-left-color: transparent;
180
+ }
181
+ }
182
+
183
+ #{$root}--passed:not(#{$root}--active) & {
184
+ .#{$parent-root}:not(.#{$parent-root}--vertical) & {
185
+ border-bottom-color: var(--odx-c-primary);
186
+ }
187
+
188
+ .#{$parent-root}--vertical & {
189
+ border-left-color: var(--odx-c-primary);
190
+ }
191
+ }
192
+ }
193
+
194
+ &__holder {
195
+ align-items: center;
196
+ display: flex;
197
+
198
+ .#{$parent-root}--vertical & {
199
+ flex-direction: column;
200
+ height: 100%;
201
+ }
202
+ }
203
+
204
+ &__circle {
205
+ @include motion.transition(background-color, color);
206
+
207
+ align-items: center;
208
+ border: $border-width solid var(--odx-c-secondary-disabled);
209
+ border-radius: 50%;
210
+ color: var(--odx-c-secondary-disabled);
211
+ display: flex;
212
+ height: $step-size;
213
+ justify-content: center;
214
+ width: $step-size;
215
+
216
+ #{$root}--touched & {
217
+ border-color: var(--odx-control-color-disabled);
218
+ color: var(--odx-control-color-disabled);
219
+ }
220
+
221
+ #{$root}--active & {
222
+ background-color: var(--odx-c-primary);
223
+ border-color: var(--odx-c-primary);
224
+ color: var(--odx-c-primary);
225
+ }
226
+
227
+ #{$root}--active#{$root}--valid & {
228
+ color: var(--white);
229
+ }
230
+
231
+ #{$root}--passed & {
232
+ border-color: var(--odx-c-primary);
233
+ color: var(--odx-c-primary);
234
+ }
235
+ }
236
+
237
+ &__icon {
238
+ font-size: $icon-size;
239
+ font-weight: var(--odx-typography-font-weight-bold);
240
+ height: $icon-size;
241
+ visibility: hidden;
242
+ width: $icon-size;
243
+
244
+ #{$root}--valid & {
245
+ visibility: visible;
246
+ }
247
+ }
248
+
249
+ .#{$parent-root}--vertical & {
250
+ align-items: center;
251
+ flex: 0 0 var(--odx-vertical-wizzard-heigth);
252
+ flex-direction: row-reverse;
253
+ gap: dimensions.get-size(math.div(12, 24));
254
+ justify-content: start;
255
+ }
256
+ }
@@ -0,0 +1,18 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/breakpoints';
4
+
5
+ .odx-wizard {
6
+ --odx-horizontal-wizzard-width: #{dimensions.get-size(math.div(100, 24))};
7
+ --odx-vertical-wizzard-heigth: #{dimensions.get-size(math.div(70, 24))};
8
+
9
+ display: flex;
10
+
11
+ &--vertical {
12
+ flex-direction: column;
13
+ }
14
+
15
+ &--overflow:not(&--vertical) {
16
+ min-width: calc(var(--odx-horizontal-wizzard-width) * 7);
17
+ }
18
+ }
package/scss/core.scss CHANGED
@@ -6,12 +6,13 @@ Layout
6
6
  */
7
7
 
8
8
  @use 'layout/base';
9
+ @use 'layout/content';
9
10
  @use 'layout/description-list';
10
11
  @use 'layout/layout';
11
12
  @use 'layout/helpers';
12
13
  @use 'layout/typography';
13
14
  @use 'layout/text-list';
14
- @use 'layout/content';
15
+ @use 'layout/application';
15
16
 
16
17
  /*
17
18
  CDK
@@ -32,6 +33,7 @@ Layout
32
33
  @use 'components/accordion-item.component';
33
34
  @use 'components/action-group.component';
34
35
  @use 'components/area-header.component';
36
+ @use 'components/autocomplete.component';
35
37
  @use 'components/avatar.component';
36
38
  @use 'components/badge.component';
37
39
  @use 'components/bar.component';
@@ -41,6 +43,7 @@ Layout
41
43
  @use 'components/card.component';
42
44
  @use 'components/checkbox.component';
43
45
  @use 'components/chip.component';
46
+ @use 'components/chip-list.component';
44
47
  @use 'components/circular-progress.component';
45
48
  @use 'components/content-box.component';
46
49
  @use 'components/dropdown.component';
@@ -59,6 +62,7 @@ Layout
59
62
  @use 'components/menu.component';
60
63
  @use 'components/modal.component';
61
64
  @use 'components/navigation-back.component';
65
+ @use 'components/option.component';
62
66
  @use 'components/progress.component';
63
67
  @use 'components/radio-button.component';
64
68
  @use 'components/radio-group.component';
@@ -70,8 +74,11 @@ Layout
70
74
  @use 'components/switch.component';
71
75
  @use 'components/tab-bar-item.component';
72
76
  @use 'components/tab-bar.component';
77
+ @use 'components/table.component';
73
78
  @use 'components/toast.component';
74
79
  @use 'components/toast-item.component';
75
80
  @use 'components/toggle-button.component';
76
81
  @use 'components/toggle-button-group.component';
77
82
  @use 'components/tooltip.component';
83
+ @use 'components/wizard.component';
84
+ @use 'components/wizard-step.component';
@@ -0,0 +1,75 @@
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
+ height: 100dvh;
9
+ overflow: hidden;
10
+ }
11
+
12
+ .odx-app {
13
+ display: flex;
14
+ flex-direction: column;
15
+ }
16
+
17
+ .odx-app-main,
18
+ .odx-app-page {
19
+ display: flex;
20
+ flex: 1 1 auto;
21
+ }
22
+
23
+ .odx-app-main {
24
+ flex-direction: row;
25
+ }
26
+
27
+ .odx-app-page {
28
+ flex-direction: column;
29
+ max-height: 100%;
30
+
31
+ &__content {
32
+ flex: 1 1 0;
33
+ overflow-x: hidden;
34
+ overflow-y: auto;
35
+ scroll-behavior: smooth;
36
+
37
+ @include dimensions.padding(0.5, (bottom, left, right));
38
+
39
+ @include breakpoints.up(phone) {
40
+ @include dimensions.padding(1, (bottom, left, right));
41
+ @include dimensions.padding(0.5, top);
42
+ }
43
+ }
44
+ }
45
+
46
+ .odx-app-content {
47
+ margin: 0 auto;
48
+ max-width: breakpoints.get-breakpoint-value(desktop);
49
+ width: 100%;
50
+
51
+ &--left-align {
52
+ margin-left: 0;
53
+ }
54
+ }
55
+
56
+ .odx-error-page {
57
+ align-self: center;
58
+ text-align: center;
59
+
60
+ @include dimensions.padding(2, top);
61
+
62
+ &__icon {
63
+ @extend .odx-icon--xlarge;
64
+ }
65
+
66
+ &__title {
67
+ @extend .odx-title;
68
+ @extend .odx-title-3;
69
+ }
70
+
71
+ &__description {
72
+ @extend .odx-subtitle;
73
+ @extend .odx-subtitle-5;
74
+ }
75
+ }
@@ -57,10 +57,10 @@ html body {
57
57
  }
58
58
 
59
59
  hr,
60
- .odx-seperator {
60
+ .odx-separator {
61
61
  @include dimensions.height(1, math.div(1, 24));
62
62
 
63
- background-color: var(--odx-c-seperator);
63
+ background-color: var(--odx-c-separator);
64
64
  border: 0;
65
65
  }
66
66
 
@@ -69,9 +69,9 @@ $columns: 12 !default;
69
69
  order: $columns;
70
70
  }
71
71
 
72
- #{create-selector(seperator)} {
72
+ #{create-selector(separator)} {
73
73
  background-clip: content-box;
74
- border-color: var(--odx-c-seperator);
74
+ border-color: var(--odx-c-separator);
75
75
  border-style: solid;
76
76
 
77
77
  @each $side in (right, left) {
@@ -35,7 +35,7 @@ body {
35
35
 
36
36
  --odx-c-box-shadow: var(--blue-800-30);
37
37
 
38
- --odx-c-seperator: var(--gray-200);
38
+ --odx-c-separator: var(--gray-200);
39
39
 
40
40
  --odx-c-background: var(--gray-50);
41
41
  --odx-c-background-content: var(--white);