@gitlab/ui 76.1.0 → 77.1.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 +24 -0
  2. package/dist/components/experimental/duo/chat/components/duo_chat_message/duo_chat_message.js +38 -3
  3. package/dist/components/experimental/duo/chat/duo_chat.js +1 -1
  4. package/dist/components/experimental/duo/user_feedback/user_feedback_modal.js +42 -25
  5. package/dist/index.css.map +1 -1
  6. package/dist/tokens/css/tokens.css +1 -1
  7. package/dist/tokens/css/tokens.dark.css +1 -1
  8. package/dist/tokens/js/tokens.dark.js +1 -1
  9. package/dist/tokens/js/tokens.js +1 -1
  10. package/dist/tokens/scss/_tokens.dark.scss +1 -1
  11. package/dist/tokens/scss/_tokens.scss +1 -1
  12. package/dist/utility_classes.css +1 -1
  13. package/dist/utility_classes.css.map +1 -1
  14. package/package.json +2 -2
  15. package/src/components/base/alert/alert.scss +7 -7
  16. package/src/components/base/badge/badge.scss +1 -1
  17. package/src/components/base/banner/banner.scss +3 -3
  18. package/src/components/base/button/button.scss +2 -2
  19. package/src/components/base/card/card.scss +1 -1
  20. package/src/components/base/datepicker/datepicker.scss +5 -5
  21. package/src/components/base/drawer/drawer.scss +10 -10
  22. package/src/components/base/dropdown/dropdown_item.scss +1 -1
  23. package/src/components/base/filtered_search/filtered_search_suggestion_list.scss +1 -1
  24. package/src/components/base/form/form_checkbox/form_checkbox.scss +3 -3
  25. package/src/components/base/label/label.scss +1 -1
  26. package/src/components/base/loading_icon/loading_icon.scss +1 -1
  27. package/src/components/base/modal/modal.scss +1 -1
  28. package/src/components/base/new_dropdowns/dropdown.scss +1 -1
  29. package/src/components/base/new_dropdowns/dropdown_item.scss +1 -1
  30. package/src/components/base/new_dropdowns/listbox/listbox.scss +3 -3
  31. package/src/components/base/path/path.scss +8 -8
  32. package/src/components/base/search_box_by_click/search_box_by_click.scss +7 -7
  33. package/src/components/base/search_box_by_type/search_box_by_type.scss +5 -5
  34. package/src/components/base/tabs/tabs/tabs.scss +5 -5
  35. package/src/components/base/toast/toast.scss +5 -5
  36. package/src/components/base/toggle/toggle.scss +4 -4
  37. package/src/components/charts/heatmap/heatmap.scss +1 -1
  38. package/src/components/charts/legend/legend.scss +3 -3
  39. package/src/components/charts/tooltip/tooltip.scss +1 -1
  40. package/src/components/experimental/duo/chat/components/duo_chat_message/duo_chat_message.scss +3 -3
  41. package/src/components/experimental/duo/chat/components/duo_chat_message/duo_chat_message.spec.js +15 -3
  42. package/src/components/experimental/duo/chat/components/duo_chat_message/duo_chat_message.vue +53 -1
  43. package/src/components/experimental/duo/chat/duo_chat.vue +2 -2
  44. package/src/components/experimental/duo/user_feedback/user_feedback.md +0 -5
  45. package/src/components/experimental/duo/user_feedback/user_feedback.spec.js +12 -4
  46. package/src/components/experimental/duo/user_feedback/user_feedback_modal.spec.js +49 -12
  47. package/src/components/experimental/duo/user_feedback/user_feedback_modal.vue +48 -31
  48. package/src/scss/tailwind.css +1 -0
  49. package/src/scss/utilities.scss +24 -430
  50. package/src/scss/utility-mixins/{appearance.scss → deprecated.scss} +9 -0
  51. package/src/scss/utility-mixins/index.scss +3 -2
  52. package/src/scss/utility-mixins/position.scss +0 -223
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "76.1.0",
3
+ "version": "77.1.0",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -136,7 +136,7 @@
136
136
  "cypress-real-events": "^1.11.0",
137
137
  "dompurify": "^3.0.0",
138
138
  "emoji-regex": "^10.0.0",
139
- "eslint": "8.56.0",
139
+ "eslint": "8.57.0",
140
140
  "eslint-import-resolver-jest": "3.0.2",
141
141
  "eslint-plugin-cypress": "2.15.1",
142
142
  "eslint-plugin-storybook": "0.8.0",
@@ -10,7 +10,7 @@ $gl-alert-padding-x: var(--gl-alert-padding-x, 0px);
10
10
 
11
11
  .gl-alert {
12
12
  @include gl-font-base;
13
- @include gl-relative;
13
+ position: relative;
14
14
  padding-inline: calc(#{$gl-spacing-scale-9} + #{$gl-alert-padding-x});
15
15
  @include gl-py-5;
16
16
 
@@ -33,8 +33,8 @@ $gl-alert-padding-x: var(--gl-alert-padding-x, 0px);
33
33
  }
34
34
 
35
35
  .gl-alert-sticky {
36
- @include gl-sticky;
37
- @include gl-top-0;
36
+ position: sticky;
37
+ top: 0;
38
38
  }
39
39
 
40
40
  .gl-alert-title {
@@ -43,8 +43,8 @@ $gl-alert-padding-x: var(--gl-alert-padding-x, 0px);
43
43
  }
44
44
 
45
45
  .gl-alert-icon-container {
46
- @include gl-absolute;
47
- @include gl-top-5;
46
+ position: absolute;
47
+ top: $gl-spacing-scale-5;
48
48
  left: calc(#{$gl-spacing-scale-5} + #{$gl-alert-padding-x});
49
49
  @include gl-display-flex;
50
50
  @include gl-align-items-center;
@@ -77,8 +77,8 @@ $gl-alert-padding-x: var(--gl-alert-padding-x, 0px);
77
77
 
78
78
  // This is the replacement for .gl-alert-dismiss
79
79
  .gl-dismiss-btn {
80
- @include gl-absolute;
81
- @include gl-top-4;
80
+ position: absolute;
81
+ top: $gl-spacing-scale-4;
82
82
  right: calc(#{$gl-spacing-scale-4} + #{$gl-alert-padding-x});
83
83
  }
84
84
 
@@ -89,7 +89,7 @@
89
89
  @include gl-h-5;
90
90
  @include gl-w-5;
91
91
  @include gl-flex-shrink-0;
92
- @include gl-top-auto;
92
+ top: auto;
93
93
  }
94
94
  }
95
95
 
@@ -17,9 +17,9 @@
17
17
  }
18
18
 
19
19
  .gl-banner-close {
20
- @include gl-absolute;
21
- @include gl-top-3;
22
- @include gl-right-3;
20
+ position: absolute;
21
+ top: $gl-spacing-scale-3;
22
+ right: $gl-spacing-scale-3;
23
23
  }
24
24
 
25
25
  // Introduction variant
@@ -50,12 +50,12 @@
50
50
  @include gl-w-5;
51
51
  @include gl-flex-shrink-0;
52
52
  @include gl-mr-2;
53
- @include gl-top-auto;
53
+ top: auto;
54
54
  }
55
55
 
56
56
  gl-emoji {
57
57
  @include gl-mr-2;
58
- @include gl-relative;
58
+ position: relative;
59
59
  @include gl-font-lg;
60
60
  }
61
61
 
@@ -4,7 +4,7 @@
4
4
  @include gl-display-flex;
5
5
  @include gl-flex-direction-column;
6
6
  @include gl-overflow-wrap-break;
7
- @include gl-relative;
7
+ position: relative;
8
8
  @include gl-rounded-base;
9
9
  @include gl-font-base;
10
10
  }
@@ -22,10 +22,10 @@ $pd-week-color: $gray-500;
22
22
 
23
23
  .gl-datepicker-actions {
24
24
  @include gl-font-sm;
25
- @include gl-absolute;
26
- @include gl-top-0;
27
- @include gl-bottom-0;
28
- @include gl-right-0;
25
+ position: absolute;
26
+ top: 0;
27
+ bottom: 0;
28
+ right: 0;
29
29
  @include gl-display-flex;
30
30
  @include gl-justify-content-center;
31
31
  @include gl-align-items-center;
@@ -99,7 +99,7 @@ $pd-week-color: $gray-500;
99
99
  }
100
100
 
101
101
  .pika-select {
102
- @include gl-top-0;
102
+ top: 0;
103
103
  @include gl-h-5;
104
104
  }
105
105
 
@@ -3,9 +3,9 @@ $gl-sidebar-width: 290px;
3
3
  $gl-drawer-scrim-gradient: linear-gradient(to bottom, $transparent-rgba, $white);
4
4
 
5
5
  .gl-drawer {
6
- @include gl-right-0;
6
+ right: 0;
7
7
  @include gl-transition-medium;
8
- @include gl-fixed;
8
+ position: fixed;
9
9
  @include gl-h-full;
10
10
  @include gl-w-full;
11
11
  @include gl-overflow-y-auto;
@@ -17,8 +17,8 @@ $gl-drawer-scrim-gradient: linear-gradient(to bottom, $transparent-rgba, $white)
17
17
 
18
18
  .gl-drawer-header-sticky {
19
19
  @include gl-bg-white;
20
- @include gl-top-0;
21
- @include gl-sticky;
20
+ top: 0;
21
+ position: sticky;
22
22
  }
23
23
  }
24
24
 
@@ -67,8 +67,8 @@ $gl-drawer-scrim-gradient: linear-gradient(to bottom, $transparent-rgba, $white)
67
67
  top: -$gl-border-size-1;
68
68
  @include gl-translate-y-n100;
69
69
  content: '';
70
- @include gl-left-0;
71
- @include gl-absolute;
70
+ left: 0;
71
+ position: absolute;
72
72
  @include gl-pointer-events-none;
73
73
  @include gl-w-full;
74
74
  @include gl-h-7;
@@ -77,8 +77,8 @@ $gl-drawer-scrim-gradient: linear-gradient(to bottom, $transparent-rgba, $white)
77
77
 
78
78
  .gl-drawer-footer-sticky {
79
79
  @include gl-bg-white;
80
- @include gl-bottom-0;
81
- @include gl-sticky;
80
+ bottom: 0;
81
+ position: sticky;
82
82
  }
83
83
 
84
84
  .gl-drawer-header {
@@ -116,10 +116,10 @@ $gl-drawer-scrim-gradient: linear-gradient(to bottom, $transparent-rgba, $white)
116
116
  &::after {
117
117
  background: $gl-drawer-scrim-gradient;
118
118
  content: '';
119
- @include gl-bottom-0;
119
+ bottom: 0;
120
120
  @include gl-pointer-events-none;
121
121
  @include gl-w-full;
122
- @include gl-fixed;
122
+ position: fixed;
123
123
  @include gl-h-7;
124
124
  }
125
125
  }
@@ -8,7 +8,7 @@
8
8
  @include gl-line-height-normal;
9
9
  @include gl-px-5;
10
10
  @include gl-py-0;
11
- @include gl-relative;
11
+ position: relative;
12
12
  @include gl-rounded-0;
13
13
  @include gl-shadow-none;
14
14
  @include gl-text-gray-900;
@@ -7,7 +7,7 @@
7
7
  }
8
8
 
9
9
  .gl-filtered-search-suggestion-list {
10
- @include gl-absolute;
10
+ position: absolute;
11
11
  @include gl-overflow-y-auto;
12
12
  max-height: $gl-max-dropdown-max-height;
13
13
 
@@ -2,7 +2,7 @@
2
2
  @include gl-mt-1;
3
3
  @include gl-ml-0;
4
4
  @include gl-align-self-start;
5
- @include gl-static;
5
+ position: static;
6
6
  @include gl-h-auto;
7
7
  @include gl-mr-0;
8
8
  }
@@ -60,8 +60,8 @@
60
60
 
61
61
  &::before,
62
62
  &::after {
63
- @include gl-top-0;
64
- @include gl-left-n5;
63
+ top: 0;
64
+ left: -$gl-spacing-scale-5;
65
65
  }
66
66
 
67
67
  &::before {
@@ -7,7 +7,7 @@ $label-close-button: '.gl-label-close.gl-button';
7
7
  @include gl-overflow-hidden;
8
8
  @include gl-display-inline-flex;
9
9
  @include gl-rounded-pill;
10
- @include gl-relative;
10
+ position: relative;
11
11
  @include gl-max-w-full;
12
12
  @include gl-font-base;
13
13
  box-shadow: var(--label-inset-border) !important;
@@ -39,7 +39,7 @@ $gl-loader-dots-size-xl: 1rem;
39
39
  }
40
40
 
41
41
  .gl-spinner {
42
- @include gl-relative;
42
+ position: relative;
43
43
  @include gl-display-inline-flex;
44
44
  @include gl-rounded-full;
45
45
  @include gl-border-solid;
@@ -65,7 +65,7 @@ body.modal-open {
65
65
  min-height: $modal-body-height;
66
66
  line-height: $modal-body-line-height;
67
67
  @include gl-bg-white;
68
- @include gl-relative;
68
+ position: relative;
69
69
  @include gl-p-5;
70
70
  @include gl-py-3;
71
71
  @include gl-text-left;
@@ -34,7 +34,7 @@
34
34
  }
35
35
 
36
36
  .gl-new-dropdown-contents {
37
- @include gl-relative;
37
+ position: relative;
38
38
  @include gl-flex-grow-1;
39
39
  @include gl-overflow-y-auto;
40
40
  @include gl-pl-0;
@@ -81,7 +81,7 @@
81
81
  @include gl-line-height-normal;
82
82
  @include gl-px-3;
83
83
  @include gl-py-0;
84
- @include gl-relative;
84
+ position: relative;
85
85
  @include gl-rounded-base;
86
86
  @include gl-text-decoration-none;
87
87
  @include gl-text-gray-900;
@@ -2,7 +2,7 @@ $search-icon-size: 12px;
2
2
  $clear-button-size: 24px;
3
3
 
4
4
  .gl-listbox-search {
5
- @include gl-relative;
5
+ position: relative;
6
6
 
7
7
  .gl-listbox-search-input {
8
8
  @include gl-w-full;
@@ -39,14 +39,14 @@ $clear-button-size: 24px;
39
39
  }
40
40
 
41
41
  .gl-listbox-search-icon {
42
- @include gl-absolute;
42
+ position: absolute;
43
43
  top: calc(50% - #{$search-icon-size} / 2);
44
44
  left: $gl-spacing-scale-4;
45
45
  @include gl-text-gray-500;
46
46
  }
47
47
 
48
48
  .gl-listbox-search-clear-button {
49
- @include gl-absolute;
49
+ position: absolute;
50
50
  top: calc(50% - #{$clear-button-size} / 2);
51
51
  right: $gl-spacing-scale-3;
52
52
  }
@@ -23,7 +23,7 @@ $path-chevron-right-margin: px-to-rem(14px);
23
23
 
24
24
  @mixin gl-path-chevron {
25
25
  content: '';
26
- @include gl-absolute;
26
+ position: absolute;
27
27
  @include gl-reset-bg;
28
28
  top: $path-chevron-top;
29
29
  right: $path-chevron-right;
@@ -37,13 +37,13 @@ $path-chevron-right-margin: px-to-rem(14px);
37
37
  }
38
38
 
39
39
  .gl-path-nav {
40
- @include gl-relative;
40
+ position: relative;
41
41
  @include gl-display-flex;
42
42
 
43
43
  .gl-path-nav-list {
44
44
  @include gl-p-1;
45
45
  @include gl-m-0;
46
- @include gl-relative;
46
+ position: relative;
47
47
  @include gl-list-style-none;
48
48
  @include gl-display-inline-flex;
49
49
  @include gl-overflow-hidden;
@@ -65,7 +65,7 @@ $path-chevron-right-margin: px-to-rem(14px);
65
65
  @include gl-pl-5;
66
66
  @include gl-py-3;
67
67
  @include gl-display-flex;
68
- @include gl-relative;
68
+ position: relative;
69
69
  @include gl-font-base;
70
70
  @include gl-z-index-0;
71
71
  @include gl-border-none;
@@ -122,18 +122,18 @@ $path-chevron-right-margin: px-to-rem(14px);
122
122
  .gl-path-fade {
123
123
  @include gl-w-8;
124
124
  @include gl-h-full;
125
- @include gl-bottom-0;
126
- @include gl-absolute;
125
+ bottom: 0;
126
+ position: absolute;
127
127
  @include gl-z-index-2;
128
128
  @include gl-text-gray-500;
129
129
 
130
130
  &-left {
131
- @include gl-left-0;
131
+ left: 0;
132
132
  @include gl-bg-gradient-blur(left, var(--path-bg-color));
133
133
  }
134
134
 
135
135
  &-right {
136
- @include gl-right-0;
136
+ right: 0;
137
137
  @include gl-text-right;
138
138
  @include gl-bg-gradient-blur(right, var(--path-bg-color));
139
139
  }
@@ -19,9 +19,9 @@
19
19
  }
20
20
 
21
21
  .gl-search-box-by-click-close-history-button {
22
- @include gl-absolute;
23
- @include gl-top-0;
24
- @include gl-right-2;
22
+ position: absolute;
23
+ top: 0;
24
+ right: $gl-spacing-scale-2;
25
25
  @include gl-line-height-0;
26
26
  @include gl-shadow-none;
27
27
  @include gl-w-auto;
@@ -60,9 +60,9 @@
60
60
  }
61
61
 
62
62
  .gl-search-box-by-click-clear-button {
63
- @include gl-absolute;
64
- @include gl-top-2;
65
- @include gl-right-2;
63
+ position: absolute;
64
+ top: $gl-spacing-scale-2;
65
+ right: $gl-spacing-scale-2;
66
66
  @include gl-mr-2;
67
67
  @include gl-z-index-3;
68
68
  }
@@ -79,6 +79,6 @@
79
79
  }
80
80
 
81
81
  .gl-search-box-by-click-clear-button {
82
- @include gl-right-7;
82
+ right: $gl-spacing-scale-7;
83
83
  }
84
84
  }
@@ -4,14 +4,14 @@ $gl-search-box-by-type-input-padding: 3.5 * $grid-size;
4
4
  .gl-search-box-by-type-search-icon {
5
5
  @include gl-text-gray-500;
6
6
  @include gl-w-5;
7
- @include gl-absolute;
8
- @include gl-left-3;
7
+ position: absolute;
8
+ left: $gl-spacing-scale-3;
9
9
  top: calc(50% - #{$gl-search-box-by-type-search-icon-size} / 2);
10
10
  }
11
11
 
12
12
  .gl-search-box-by-type {
13
13
  @include gl-display-flex;
14
- @include gl-relative;
14
+ position: relative;
15
15
  }
16
16
 
17
17
  .gl-search-box-by-type-loading-icon {
@@ -65,7 +65,7 @@ $gl-search-box-by-type-input-padding: 3.5 * $grid-size;
65
65
  @include gl-display-flex;
66
66
  @include gl-align-items-center;
67
67
  @include gl-line-height-0;
68
- @include gl-right-2;
69
- @include gl-absolute;
68
+ right: $gl-spacing-scale-2;
69
+ position: absolute;
70
70
  @include gl-h-full;
71
71
  }
@@ -94,19 +94,19 @@
94
94
 
95
95
  .gl-tabs-fade {
96
96
  @include gl-w-8;
97
- @include gl-bottom-0;
98
- @include gl-sticky;
97
+ bottom: 0;
98
+ position: sticky;
99
99
  @include gl-text-gray-500;
100
100
  @include gl-p-2;
101
101
  }
102
102
 
103
103
  .gl-tabs-fade-left {
104
- @include gl-left-0;
104
+ left: 0;
105
105
  @include gl-bg-gradient-blur(left, $white);
106
106
  }
107
107
 
108
108
  .gl-tabs-fade-right {
109
- @include gl-right-0;
109
+ right: 0;
110
110
  @include gl-bg-gradient-blur(right, $white);
111
111
  }
112
112
 
@@ -120,6 +120,6 @@
120
120
 
121
121
  .gl-scrollable-tabs-nav {
122
122
  @include gl-overflow-hidden;
123
- @include gl-relative;
123
+ position: relative;
124
124
  @include gl-flex-nowrap;
125
125
  }
@@ -5,15 +5,15 @@
5
5
  .b-toaster {
6
6
  &.b-toaster-bottom-left {
7
7
  .b-toaster-slot {
8
- @include gl-bottom-6;
9
- @include gl-left-6;
10
- @include gl-right-auto;
8
+ bottom: $gl-spacing-scale-6;
9
+ left: $gl-spacing-scale-6;
10
+ right: auto;
11
11
  @include gl-w-auto;
12
12
 
13
13
  @include media-breakpoint-down(xs) {
14
14
  @include gl-w-full;
15
- @include gl-left-0;
16
- @include gl-right-0;
15
+ left: 0;
16
+ right: 0;
17
17
  }
18
18
  }
19
19
  }
@@ -84,7 +84,7 @@
84
84
  @include gl-cursor-pointer;
85
85
  @include gl-bg-gray-600;
86
86
  @include gl-p-1;
87
- @include gl-relative;
87
+ position: relative;
88
88
  @include gl-w-9;
89
89
  @include gl-h-6;
90
90
  @include gl-outline-none;
@@ -119,11 +119,11 @@
119
119
  .toggle-icon {
120
120
  @include gl-rounded-full;
121
121
  @include gl-bg-white;
122
- @include gl-absolute;
122
+ position: absolute;
123
123
  @include gl-display-inline-flex;
124
124
  @include gl-align-items-center;
125
- @include gl-left-1;
126
- @include gl-top-1;
125
+ left: $gl-spacing-scale-1;
126
+ top: $gl-spacing-scale-1;
127
127
  @include gl-transition-medium;
128
128
  @include gl-justify-content-center;
129
129
  @include gl-p-1;
@@ -1,5 +1,5 @@
1
1
  .gl-heatmap {
2
- @include gl-relative;
2
+ position: relative;
3
3
 
4
4
  .gl-legend-inline-series {
5
5
  @include gl-pointer-events-none;
@@ -3,7 +3,7 @@
3
3
  $legend-body-h: $gl-spacing-scale-13 - $gl-spacing-scale-4;
4
4
 
5
5
  .gl-legend {
6
- @include gl-relative;
6
+ position: relative;
7
7
  }
8
8
 
9
9
  .gl-chart-h-auto {
@@ -18,11 +18,11 @@ $legend-body-h: $gl-spacing-scale-13 - $gl-spacing-scale-4;
18
18
  .gl-chart-h-auto .gl-legend-inline {
19
19
  &::after {
20
20
  background-image: linear-gradient(to bottom, $transparent-rgba, var(--white, #{$white}));
21
- @include gl-bottom-0;
21
+ bottom: 0;
22
22
  content: '';
23
23
  @include gl-display-block;
24
24
  @include gl-h-4;
25
- @include gl-absolute;
25
+ position: absolute;
26
26
  @include gl-w-full;
27
27
  }
28
28
  }
@@ -1,5 +1,5 @@
1
1
  .gl-chart-tooltip {
2
- @include gl-absolute;
2
+ position: absolute;
3
3
 
4
4
  > .popover {
5
5
  @include gl-min-w-0;
@@ -17,11 +17,11 @@
17
17
  }
18
18
 
19
19
  copy-code {
20
- @include gl-absolute;
20
+ position: absolute;
21
21
  @include gl-transition-medium;
22
22
  @include gl-opacity-0;
23
- @include gl-right-4;
24
- @include gl-top-3;
23
+ right: $gl-spacing-scale-4;
24
+ top: $gl-spacing-scale-3;
25
25
  }
26
26
 
27
27
  .js-markdown-code.markdown-code-block:hover {
@@ -107,9 +107,21 @@ describe('DuoChatMessage', () => {
107
107
  expect(findUserFeedback().exists()).toBe(true);
108
108
  });
109
109
 
110
- it('proxies the emitted event from the User Feedback component', () => {
111
- findUserFeedback().vm.$emit('feedback', 'foo');
112
- expect(wrapper.emitted('track-feedback')).toEqual([['foo']]);
110
+ it('proxies and enhances the emitted event from the User Feedback component', () => {
111
+ findUserFeedback().vm.$emit('feedback', {
112
+ feedbackChoices: ['incorrect'],
113
+ extendedTextFeedback: 'exampleText',
114
+ });
115
+ expect(wrapper.emitted('track-feedback')).toEqual([
116
+ [
117
+ {
118
+ feedbackChoices: ['incorrect'],
119
+ extendedTextFeedback: 'exampleText',
120
+ didWhat: '',
121
+ improveWhat: '',
122
+ },
123
+ ],
124
+ ]);
113
125
  });
114
126
  });
115
127