@itwin/itwinui-css 0.59.1 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +945 -0
  2. package/LICENSE.md +9 -0
  3. package/README.md +1 -1
  4. package/css/alert.css +2 -2
  5. package/css/all.css +376 -198
  6. package/css/anchor.css +1 -1
  7. package/css/backdrop.css +24 -0
  8. package/css/badge.css +1 -1
  9. package/css/blockquote.css +1 -1
  10. package/css/breadcrumbs.css +5 -5
  11. package/css/button.css +13 -13
  12. package/css/carousel.css +2 -2
  13. package/css/code.css +3 -6
  14. package/css/color-picker.css +1 -1
  15. package/css/date-picker.css +6 -6
  16. package/css/dialog.css +64 -97
  17. package/css/expandable-block.css +1 -1
  18. package/css/fieldset.css +2 -2
  19. package/css/footer.css +1 -1
  20. package/css/global.css +1 -1
  21. package/css/header.css +3 -3
  22. package/css/inputs.css +201 -5
  23. package/css/keyboard.css +1 -1
  24. package/css/location-marker.css +1 -1
  25. package/css/menu.css +1 -1
  26. package/css/radio-tile.css +2 -2
  27. package/css/table.css +1 -1
  28. package/css/tabs.css +31 -27
  29. package/css/tag.css +4 -11
  30. package/css/text.css +1 -1
  31. package/css/time-picker.css +2 -2
  32. package/css/toast-notification.css +2 -2
  33. package/css/tooltip.css +1 -1
  34. package/package.json +24 -55
  35. package/scss/backdrop/backdrop.scss +27 -0
  36. package/scss/backdrop/classes.scss +7 -0
  37. package/scss/backdrop/index.scss +3 -0
  38. package/scss/classes.scss +1 -0
  39. package/scss/code/codeblock.scss +0 -4
  40. package/scss/dialog/classes.scss +7 -6
  41. package/scss/dialog/dialog.scss +95 -125
  42. package/scss/index.scss +1 -0
  43. package/scss/inputs/classes.scss +20 -0
  44. package/scss/inputs/select.scss +66 -0
  45. package/scss/style/variables.scss +1 -1
  46. package/scss/tabs/borderless.scss +3 -4
  47. package/scss/tabs/classes.scss +4 -0
  48. package/scss/tabs/default.scss +3 -4
  49. package/scss/tabs/pill.scss +1 -1
  50. package/scss/tabs/tabs.scss +14 -13
  51. package/scss/tag/tag.scss +2 -2
  52. package/src/index.scss +46 -0
package/scss/classes.scss CHANGED
@@ -5,6 +5,7 @@
5
5
  @import './alert/classes';
6
6
  @import './anchor/classes';
7
7
  @import './badge/classes';
8
+ @import './backdrop/classes';
8
9
  @import './blockquote/classes';
9
10
  @import './breadcrumbs/classes';
10
11
  @import './button/classes';
@@ -26,10 +26,6 @@
26
26
  }
27
27
  }
28
28
 
29
- .iui-button {
30
- gap: 0;
31
- }
32
-
33
29
  > .iui-codeblock-content {
34
30
  margin: 0;
35
31
  overflow-x: auto;
@@ -2,12 +2,8 @@
2
2
  // See LICENSE.md in the project root for license terms and full copyright notice.
3
3
  @import './index';
4
4
 
5
- .iui-dialog-backdrop {
6
- @include iui-dialog-backdrop;
7
-
8
- &.iui-dialog-backdrop-relative {
9
- @include iui-dialog-backdrop-relative;
10
- }
5
+ .iui-dialog-wrapper {
6
+ @include iui-dialog-wrapper;
11
7
  }
12
8
 
13
9
  .iui-dialog {
@@ -16,6 +12,7 @@
16
12
 
17
13
  .iui-dialog-default {
18
14
  @include iui-dialog-default;
15
+ @include iui-dialog-placement;
19
16
  }
20
17
 
21
18
  .iui-dialog-full-page {
@@ -34,6 +31,10 @@
34
31
  @include iui-dialog-title-bar;
35
32
  }
36
33
 
34
+ .iui-dialog-title-bar-filled {
35
+ @include iui-dialog-title-bar-filled;
36
+ }
37
+
37
38
  .iui-dialog-content {
38
39
  @include iui-dialog-content;
39
40
  }
@@ -3,144 +3,137 @@
3
3
  @import '../style/index';
4
4
  @import '../icon/index';
5
5
 
6
- @mixin iui-dialog-backdrop {
7
- @include iui-reset;
8
- z-index: 999;
9
- isolation: isolate;
10
- position: fixed;
6
+ $iui-dialog-width: 380px;
7
+
8
+ @mixin iui-dialog-wrapper {
9
+ position: relative;
10
+ overflow: hidden;
11
11
  top: 0;
12
12
  left: 0;
13
13
  width: 100%;
14
14
  height: 100%;
15
- @include themed {
16
- background-color: rgba(0, 0, 0, t(iui-opacity-4));
17
- }
18
-
19
- // Small/Resizable Dialog Animations for CSS
20
- visibility: hidden;
21
- opacity: 0;
22
- transition: visibility $iui-speed-instant linear $iui-speed-fast, opacity $iui-speed-fast ease-out;
23
-
24
- &.iui-dialog-visible {
25
- visibility: visible;
26
- opacity: 1;
27
- // remove delay for entry animation so dialog is instantly visible
28
- transition-delay: $iui-speed-instant;
29
- }
30
- }
31
-
32
- @mixin iui-dialog-backdrop-relative {
33
- position: relative;
34
- overflow: hidden;
15
+ pointer-events: none;
16
+ transform: translateX(0); // creates containing block for position: fixed
35
17
  }
36
18
 
37
19
  @mixin iui-dialog {
20
+ z-index: 999;
21
+ isolation: isolate;
38
22
  border-radius: $iui-border-radius;
39
23
  box-shadow: $iui-elevation-24;
40
24
  box-sizing: border-box;
41
- position: absolute;
25
+ position: fixed;
42
26
  padding: $iui-baseline $iui-m;
43
27
  box-sizing: border-box;
44
28
  padding: $iui-baseline $iui-m;
45
29
  overflow: hidden;
46
- @include themed {
47
- background-color: t(iui-color-background-1);
48
- }
30
+ pointer-events: auto;
31
+ background-color: #FFF; // IE fallback
32
+ background-color: var(--iui-color-background-1);
49
33
  @media (forced-colors: active) {
50
34
  border: 1px solid;
51
35
  }
36
+
37
+ &:not(.iui-dialog-visible) {
38
+ visibility: hidden;
39
+ opacity: 0;
40
+ }
41
+
42
+ transition: visibility $iui-speed-instant linear, opacity $iui-speed-fast ease-out;
43
+ transition-delay: $iui-speed-fast, $iui-speed-instant;
44
+
45
+ &.iui-dialog-visible {
46
+ transition-delay: $iui-speed-instant; // remove delay for entry animation
47
+ }
52
48
  }
53
49
 
54
50
  @mixin iui-dialog-default {
55
- .iui-dialog {
51
+ max-width: Max(50%, $iui-dialog-width);
52
+ min-width: $iui-dialog-width;
53
+ max-height: 100vh;
54
+ }
55
+
56
+ @mixin iui-dialog-placement {
57
+ &:not([data-iui-placement]) {
56
58
  left: 50%;
57
59
  top: 33%;
58
60
  transform: translate(-50%, -33%);
59
- max-width: 50%;
60
- min-width: 380px;
61
- max-height: 100vh;
62
-
63
- @media screen and (max-width: 400px) {
64
- max-width: 95%;
65
- width: 95%;
66
- min-width: 95%;
67
- }
68
61
  }
69
- }
70
62
 
71
- @mixin iui-dialog-full-page {
72
- @media (prefers-reduced-motion: no-preference) {
73
- transition: visibility $iui-speed-instant linear $iui-speed-slow, opacity $iui-speed ease-out $iui-speed-fast;
63
+ &[data-iui-placement='top-left'] {
64
+ top: 0;
65
+ left: 0;
66
+ margin-left: $iui-baseline;
67
+ margin-top: $iui-m;
74
68
  }
75
69
 
76
- .iui-dialog {
77
- border-radius: 0;
78
- height: 100vh;
79
- width: 100vw;
70
+ &[data-iui-placement='top-right'] {
80
71
  top: 0;
72
+ right: 0;
73
+ margin-right: $iui-baseline;
74
+ margin-top: $iui-m;
75
+ }
76
+
77
+ &[data-iui-placement='bottom-left'] {
78
+ bottom: 0;
81
79
  left: 0;
82
- max-width: initial;
83
- min-width: initial;
84
- display: flex;
85
- flex-direction: column;
86
- will-change: transform;
87
- @media (prefers-reduced-motion: no-preference) {
88
- transform: translateY(100%);
89
- transition: visibility $iui-speed-instant linear $iui-speed, opacity $iui-speed-instant linear $iui-speed,
90
- transform $iui-speed-fast ease-in;
91
- }
80
+ margin-left: $iui-baseline;
81
+ margin-bottom: $iui-m;
92
82
  }
93
83
 
94
- &.iui-dialog-visible .iui-dialog {
95
- transform: translateY(0);
96
- @media (prefers-reduced-motion: no-preference) {
84
+ &[data-iui-placement='bottom-right'] {
85
+ bottom: 0;
86
+ right: 0;
87
+ margin-right: $iui-baseline;
88
+ margin-bottom: $iui-m;
89
+ }
90
+ }
91
+
92
+ @mixin iui-dialog-full-page {
93
+ border-radius: 0;
94
+ height: 100vh;
95
+ height: 100dvh;
96
+ width: 100vw;
97
+ top: 0;
98
+ left: 0;
99
+ display: flex;
100
+ flex-direction: column;
101
+ will-change: transform;
102
+
103
+ &:not(.iui-dialog-visible) {
104
+ transform: translateY(100%);
105
+ }
106
+
107
+ @media (prefers-reduced-motion: no-preference) {
108
+ transition: visibility $iui-speed-instant linear $iui-speed, opacity $iui-speed-instant linear $iui-speed,
109
+ transform $iui-speed-fast ease-in;
110
+
111
+ &.iui-dialog-visible {
97
112
  transition: transform $iui-speed ease-out;
98
113
  }
99
114
  }
100
115
  }
101
116
 
102
117
  @mixin iui-dialog-draggable {
103
- background-color: transparent;
104
- pointer-events: none;
105
- z-index: 998;
106
-
107
- .iui-dialog {
108
- pointer-events: initial;
109
- max-width: 100vw;
110
- max-height: 100vh;
111
- min-width: 380px;
112
- min-height: 144px;
113
- display: flex;
114
- flex-direction: column;
115
- padding: 0;
116
- @include themed {
117
- border: 1px solid t(iui-color-background-border);
118
- }
119
- }
118
+ max-width: 100%;
119
+ max-height: 100vh;
120
+ min-width: $iui-dialog-width;
121
+ min-height: 144px;
122
+ display: flex;
123
+ flex-direction: column;
124
+ border: 1px solid var(--iui-color-background-border);
120
125
  }
121
126
 
122
127
  @mixin iui-dialog-animation {
123
- // Full Page Dialog Animations for React
124
- &-enter .iui-dialog-full-page .iui-dialog {
128
+ &-enter {
125
129
  transform: translateY(100%);
126
130
  opacity: 0;
127
131
  }
128
132
 
129
- &-enter-active .iui-dialog-full-page .iui-dialog {
133
+ &-enter-active {
130
134
  transform: translateY(0);
131
135
  opacity: 1;
132
136
  }
133
-
134
- // Small Dialog Animations for React
135
- &-enter .iui-dialog-backdrop {
136
- visibility: hidden;
137
- opacity: 0;
138
- }
139
-
140
- &-enter-active .iui-dialog-backdrop {
141
- visibility: visible;
142
- opacity: 1;
143
- }
144
137
  }
145
138
 
146
139
  @mixin iui-dialog-title {
@@ -158,20 +151,18 @@
158
151
  justify-content: space-between;
159
152
  box-sizing: border-box;
160
153
  font-size: $iui-font-size-subheading;
154
+ }
161
155
 
162
- @at-root .iui-dialog-draggable & {
163
- user-select: none;
164
- font-size: $iui-font-size-leading;
165
- padding: round($iui-baseline * 0.5) $iui-m;
166
- cursor: grab;
167
- @include themed {
168
- background-color: t(iui-color-background-3);
169
- border-bottom: 1px solid t(iui-color-background-border);
170
- }
156
+ @mixin iui-dialog-title-bar-filled {
157
+ font-size: $iui-font-size-leading;
158
+ padding: round($iui-baseline * 0.5) $iui-m;
159
+ margin: -#{$iui-baseline} -#{$iui-m} $iui-baseline -#{$iui-m}; // negative margin to counteract dialog padding
160
+ cursor: grab;
161
+ background-color: var(--iui-color-background-3);
162
+ border-bottom: 1px solid var(--iui-color-background-border);
171
163
 
172
- &:active {
173
- cursor: grabbing;
174
- }
164
+ &:active {
165
+ cursor: grabbing;
175
166
  }
176
167
  }
177
168
 
@@ -181,10 +172,6 @@
181
172
  padding: 0 $iui-m;
182
173
  overflow-y: auto;
183
174
  overflow-y: overlay;
184
-
185
- @at-root .iui-dialog-draggable & {
186
- margin: 0;
187
- }
188
175
  }
189
176
 
190
177
  @mixin iui-dialog-button-bar {
@@ -192,22 +179,5 @@
192
179
  display: flex;
193
180
  align-items: center;
194
181
  justify-content: flex-end;
195
-
196
- @at-root .iui-dialog-draggable & {
197
- padding: 0 $iui-m $iui-baseline $iui-m;
198
- }
199
-
200
- // #region IE support
201
- > .iui-button:not(:last-child) {
202
- margin-right: $iui-s;
203
- }
204
-
205
- @supports (column-gap: $iui-s) {
206
- column-gap: $iui-s;
207
-
208
- > .iui-button:not(:last-child) {
209
- margin-right: 0;
210
- }
211
- }
212
- // #endregion IE support
182
+ gap: $iui-s;
213
183
  }
package/scss/index.scss CHANGED
@@ -4,6 +4,7 @@
4
4
  @import './alert/index';
5
5
  @import './anchor/index';
6
6
  @import './badge/index';
7
+ @import './backdrop/index';
7
8
  @import './blockquote/index';
8
9
  @import './breadcrumbs/index';
9
10
  @import './button/index';
@@ -46,6 +46,26 @@
46
46
  @include iui-select-button;
47
47
  }
48
48
 
49
+ .iui-select-tag-container {
50
+ @include iui-select-tag-container;
51
+ }
52
+
53
+ .iui-select-tag {
54
+ @include iui-select-tag;
55
+ }
56
+
57
+ .iui-select-tag-label {
58
+ @include iui-select-tag-label;
59
+ }
60
+
61
+ .iui-select-tag-button {
62
+ @include iui-select-tag-button;
63
+ }
64
+
65
+ .iui-select-tag-button-icon {
66
+ @include iui-select-tag-button-icon;
67
+ }
68
+
49
69
  .iui-textarea {
50
70
  @include iui-textarea;
51
71
  }
@@ -2,6 +2,8 @@
2
2
  // See LICENSE.md in the project root for license terms and full copyright notice.
3
3
  @import '../style/index';
4
4
  @import '../menu/index';
5
+ @import '../tag/index';
6
+ @import '../button/index';
5
7
 
6
8
  @mixin iui-select-button {
7
9
  @include iui-focus($offset: -2px, $thickness: 2px);
@@ -64,3 +66,67 @@
64
66
  }
65
67
  }
66
68
  }
69
+
70
+ @mixin iui-select-tag-container {
71
+ position: absolute;
72
+ // align wth Select's padding
73
+ inset: 0 $iui-icons-default + $iui-l 0 $iui-sm;
74
+ height: 100%;
75
+ display: flex;
76
+ align-items: center;
77
+ gap: $iui-xs;
78
+ overflow: hidden;
79
+
80
+ > * + * {
81
+ margin-left: $iui-xs;
82
+ @supports (gap: $iui-xs) {
83
+ margin-left: 0;
84
+ }
85
+ }
86
+ }
87
+
88
+ @mixin iui-select-tag {
89
+ @include iui-tag;
90
+ // Override hardcoded Tag margin
91
+ margin-top: 0;
92
+ margin-bottom: 0;
93
+ display: inline-flex;
94
+ align-items: center;
95
+ height: 80%;
96
+ max-height: $iui-baseline * 3;
97
+ }
98
+
99
+ @mixin iui-select-tag-label {
100
+ @include iui-tag-label;
101
+ display: inline-flex;
102
+ align-items: center;
103
+
104
+ @at-root .iui-select-button.iui-small & {
105
+ font-size: $iui-font-size-small;
106
+ line-height: floor($iui-baseline * 1.5);
107
+ }
108
+ }
109
+
110
+ @mixin iui-select-tag-button {
111
+ @include iui-button;
112
+ @include iui-button-borderless;
113
+ @include iui-tag-button;
114
+ padding: 0 $iui-xs;
115
+ height: 100%;
116
+ aspect-ratio: 1 / 1;
117
+
118
+ @at-root .iui-select-button.iui-small & {
119
+ font-size: $iui-font-size-small;
120
+ line-height: floor($iui-baseline * 1.5);
121
+ }
122
+ }
123
+
124
+ @mixin iui-select-tag-button-icon {
125
+ @include iui-button-icon;
126
+ flex-shrink: 0;
127
+
128
+ @at-root .iui-select-button.iui-small & {
129
+ width: $iui-icons-small;
130
+ height: $iui-icons-small;
131
+ }
132
+ }
@@ -4,7 +4,7 @@
4
4
  @import './baseline';
5
5
  @import '../icon/variables';
6
6
 
7
- $iui-border-radius: 3px;
7
+ $iui-border-radius: 4px;
8
8
  $iui-border-radius-round: 9999px;
9
9
  $iui-blur-filter: blur(5px);
10
10
 
@@ -5,8 +5,7 @@
5
5
 
6
6
  @mixin iui-tabs-borderless {
7
7
  .iui-tab {
8
- height: $iui-component-height;
9
- padding: 0 ($iui-component-padding-horizontal * 2);
8
+ padding: $iui-xs ($iui-component-padding-horizontal * 2);
10
9
  background-color: transparent;
11
10
 
12
11
  &::after {
@@ -56,11 +55,11 @@
56
55
 
57
56
  &.iui-large {
58
57
  .iui-tab {
59
- height: $iui-component-height-large;
58
+ min-height: $iui-component-height-large;
60
59
  }
61
60
 
62
61
  .iui-tab-description {
63
- display: block;
62
+ display: -webkit-box; /* stylelint-disable-line */
64
63
  }
65
64
  }
66
65
 
@@ -38,3 +38,7 @@
38
38
  @include iui-tab-not-animated;
39
39
  }
40
40
  }
41
+
42
+ .iui-tab-label {
43
+ @include iui-tab-label;
44
+ }
@@ -7,8 +7,7 @@
7
7
  @include iui-tab-not-animated;
8
8
 
9
9
  .iui-tab {
10
- height: $iui-component-height;
11
- padding: 0 $iui-m;
10
+ padding: $iui-xs $iui-m;
12
11
  box-sizing: border-box;
13
12
  @include themed {
14
13
  background-color: t(iui-color-background-2);
@@ -78,11 +77,11 @@
78
77
 
79
78
  &.iui-large {
80
79
  .iui-tab {
81
- height: $iui-component-height-large;
80
+ min-height: $iui-component-height-large;
82
81
  }
83
82
 
84
83
  .iui-tab-description {
85
- display: block;
84
+ display: -webkit-box; /* stylelint-disable-line */
86
85
  }
87
86
  }
88
87
 
@@ -22,7 +22,7 @@
22
22
  }
23
23
 
24
24
  .iui-tab {
25
- height: $iui-component-height;
25
+ padding: $iui-xs;
26
26
  background-color: transparent;
27
27
  width: 100%;
28
28
  justify-content: center;
@@ -5,7 +5,6 @@
5
5
  @mixin iui-tabs {
6
6
  @include iui-reset;
7
7
  position: relative;
8
- align-items: center;
9
8
  list-style: none;
10
9
  user-select: none;
11
10
 
@@ -16,10 +15,10 @@
16
15
  display: flex;
17
16
  align-items: center;
18
17
  font-size: $iui-font-size;
18
+ min-height: $iui-component-height;
19
+ height: 100%;
19
20
  cursor: pointer;
20
- @media (prefers-reduced-motion: no-preference) {
21
- transition: background-color $iui-speed-fast ease-out;
22
- }
21
+ transition: background-color $iui-speed-fast ease-out;
23
22
  @include themed {
24
23
  color: t(iui-text-color);
25
24
  }
@@ -61,9 +60,8 @@
61
60
  .iui-tab-icon {
62
61
  width: $iui-icons-default;
63
62
  height: $iui-icons-default;
64
- @media (prefers-reduced-motion: no-preference) {
65
- transition: fill $iui-speed-fast ease-out;
66
- }
63
+ flex-shrink: 0;
64
+ transition: fill $iui-speed-fast ease-out;
67
65
  @include themed {
68
66
  fill: t(iui-icons-color-actionable);
69
67
  }
@@ -73,10 +71,6 @@
73
71
  }
74
72
  }
75
73
 
76
- .iui-tab-label {
77
- text-align: left;
78
- }
79
-
80
74
  .iui-tab-description {
81
75
  display: none;
82
76
  font-size: $iui-font-size-small;
@@ -110,6 +104,15 @@
110
104
  }
111
105
  }
112
106
 
107
+ @mixin iui-tab-label {
108
+ text-align: left;
109
+ max-width: 60ch;
110
+
111
+ > * {
112
+ @include iui-line-clamp(3);
113
+ }
114
+ }
115
+
113
116
  @mixin iui-tabs-horizontal {
114
117
  flex-direction: column;
115
118
 
@@ -131,8 +134,6 @@
131
134
 
132
135
  @mixin iui-tabs-vertical {
133
136
  .iui-tabs {
134
- flex-direction: column;
135
-
136
137
  li,
137
138
  .iui-tab {
138
139
  width: 100%;
package/scss/tag/tag.scss CHANGED
@@ -5,7 +5,6 @@
5
5
  @import '../button/index';
6
6
 
7
7
  @mixin iui-tag-base {
8
- @include iui-reset;
9
8
  user-select: all;
10
9
  text-transform: lowercase;
11
10
  display: inline-flex;
@@ -24,7 +23,8 @@
24
23
  @mixin iui-tag {
25
24
  @include iui-tag-base;
26
25
  height: $iui-baseline * 3;
27
- margin: $iui-component-offset 0;
26
+ margin-top: $iui-component-offset;
27
+ margin-bottom: $iui-component-offset;
28
28
  border-radius: $iui-border-radius-round;
29
29
  box-sizing: border-box;
30
30
  padding: 0 $iui-xxs;
package/src/index.scss ADDED
@@ -0,0 +1,46 @@
1
+ // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
+ // See LICENSE.md in the project root for license terms and full copyright notice.
3
+ @import './style/index';
4
+ @import './alert/index';
5
+ @import './anchor/index';
6
+ @import './badge/index';
7
+ @import './backdrop/index';
8
+ @import './blockquote/index';
9
+ @import './breadcrumbs/index';
10
+ @import './button/index';
11
+ @import './carousel/index';
12
+ @import './code/index';
13
+ @import './color-picker/index';
14
+ @import './date-picker/index';
15
+ @import './dialog/index';
16
+ @import './expandable-block/index';
17
+ @import './file-upload/index';
18
+ @import './footer/index';
19
+ @import './header/index';
20
+ @import './icon/index';
21
+ @import './information-panel/index';
22
+ @import './inputs/index';
23
+ @import './keyboard/index';
24
+ @import './location-marker/index';
25
+ @import './menu/index';
26
+ @import './non-ideal-state/index';
27
+ @import './notification-marker/index';
28
+ @import './popover/index';
29
+ @import './progress-indicator/index';
30
+ @import './radio-tile/index';
31
+ @import './side-navigation/index';
32
+ @import './skip-to-content/index';
33
+ @import './slider/index';
34
+ @import './surface/index';
35
+ @import './table/index';
36
+ @import './tabs/index';
37
+ @import './tag/index';
38
+ @import './text/index';
39
+ @import './tile/index';
40
+ @import './time-picker/index';
41
+ @import './toast-notification/index';
42
+ @import './toggle-switch/index';
43
+ @import './tooltip/index';
44
+ @import './tree/index';
45
+ @import './user-icon/index';
46
+ @import './wizard/index';