@knime/product-features 2.0.2 → 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.
Files changed (41) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/ai.css +151 -52
  3. package/dist/ai.js +480 -32
  4. package/dist/ai.js.map +1 -1
  5. package/dist/dataTransfer.js +2 -2
  6. package/dist/{dist-BrNh9vG-.js → dist-D6REgugT.js} +104 -15
  7. package/dist/dist-D6REgugT.js.map +1 -0
  8. package/dist/{rfcErrors-Dw7NLSDp.js → rfcErrors-DZsECPcA.js} +2 -2
  9. package/dist/{rfcErrors-Dw7NLSDp.js.map → rfcErrors-DZsECPcA.js.map} +1 -1
  10. package/dist/rfcErrors.js +1 -1
  11. package/dist/src/ai/KdsPromptInput/AttachableSurface.vue.d.ts +29 -0
  12. package/dist/src/ai/KdsPromptInput/AttachableSurface.vue.d.ts.map +1 -0
  13. package/dist/src/ai/KdsPromptInput/InlineStatusBanner.vue.d.ts.map +1 -1
  14. package/dist/src/ai/KdsPromptInput/KdsPromptInput.vue.d.ts +3 -1
  15. package/dist/src/ai/KdsPromptInput/KdsPromptInput.vue.d.ts.map +1 -1
  16. package/dist/src/ai/KdsPromptInput/enums.d.ts +5 -0
  17. package/dist/src/ai/KdsPromptInput/enums.d.ts.map +1 -1
  18. package/dist/src/ai/KdsPromptInput/inquiries/InquiryStack.vue.d.ts +27 -0
  19. package/dist/src/ai/KdsPromptInput/inquiries/InquiryStack.vue.d.ts.map +1 -0
  20. package/dist/src/ai/KdsPromptInput/inquiries/PermissionCard.vue.d.ts +12 -0
  21. package/dist/src/ai/KdsPromptInput/inquiries/PermissionCard.vue.d.ts.map +1 -0
  22. package/dist/src/ai/KdsPromptInput/inquiries/QuestionCard.vue.d.ts +32 -0
  23. package/dist/src/ai/KdsPromptInput/inquiries/QuestionCard.vue.d.ts.map +1 -0
  24. package/dist/src/ai/KdsPromptInput/inquiries/index.d.ts +2 -0
  25. package/dist/src/ai/KdsPromptInput/inquiries/index.d.ts.map +1 -0
  26. package/dist/src/ai/KdsPromptInput/inquiries/usePermissionPhase.d.ts +20 -0
  27. package/dist/src/ai/KdsPromptInput/inquiries/usePermissionPhase.d.ts.map +1 -0
  28. package/dist/src/ai/KdsPromptInput/inquiries/useQuestionPhase.d.ts +26 -0
  29. package/dist/src/ai/KdsPromptInput/inquiries/useQuestionPhase.d.ts.map +1 -0
  30. package/dist/src/ai/KdsPromptInput/types.d.ts +96 -1
  31. package/dist/src/ai/KdsPromptInput/types.d.ts.map +1 -1
  32. package/dist/src/versions/VersionHistory/CurrentState.vue.d.ts.map +1 -1
  33. package/dist/src/versions/VersionHistory/VersionHistory.vue.d.ts +2 -2
  34. package/dist/src/versions/VersionHistory/VersionItem.vue.d.ts.map +1 -1
  35. package/dist/src/versions/VersionHistory/VersionLimitInfo.vue.d.ts.map +1 -1
  36. package/dist/toasts.js +1 -1
  37. package/dist/versions.css +3 -9
  38. package/dist/versions.js +5 -5
  39. package/dist/versions.js.map +1 -1
  40. package/package.json +6 -6
  41. package/dist/dist-BrNh9vG-.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # @knime/product-features
2
2
 
3
+ ## 2.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [e2b5bfe]
8
+ - Updated dependencies [bd4a10e]
9
+ - @knime/kds-components@4.0.0
10
+ - @knime/kds-styles@4.0.0
11
+
12
+ ## 2.1.0
13
+
14
+ ### Minor Changes
15
+
16
+ - b027fcc: `KdsPromptInput`: added permission and question inquiries. New optional `permissions` and `questions` props render pending inquiries as cards attached above the input (permissions first, resolved as a stack; questions paginated with "Back" / "Skip" / "Next") while the input is disabled, and a new `respond` event emits every decision (`KdsPromptInputInquiryResponse`) once all inquiries are resolved. Permission cards show a `title` and optional `description` with an optional "remember choice" checkbox; permissions sharing a `remember.group` are auto-decided together when remembered. Question cards offer single- or multi-choice options plus a trailing "Type your own answer" option that reveals a freeform input.
17
+
18
+ ### Patch Changes
19
+
20
+ - Updated dependencies [13cbb42]
21
+ - Updated dependencies [356af93]
22
+ - Updated dependencies [356af93]
23
+ - Updated dependencies [e366f77]
24
+ - Updated dependencies [e26e15d]
25
+ - @knime/kds-styles@3.0.0
26
+ - @knime/kds-components@3.0.0
27
+
3
28
  ## 2.0.2
4
29
 
5
30
  ### Patch Changes
package/dist/ai.css CHANGED
@@ -1,60 +1,61 @@
1
1
 
2
+ .attachable-surface {
3
+ &[data-v-4cf4affc] {
4
+ margin-bottom: calc(-1 * var(--kds-spacing-container-0-25x));
5
+ background-color: var(--surface-background);
6
+ border: var(--surface-border);
7
+ border-bottom: none;
8
+ border-top-left-radius: var(--kds-border-radius-container-0-50x);
9
+ border-top-right-radius: var(--kds-border-radius-container-0-50x);
10
+ }
11
+ &.neutral[data-v-4cf4affc] {
12
+ --surface-background: var(--kds-color-background-input-initial);
13
+ --surface-border: var(--kds-border-action-default);
14
+ }
15
+ &.danger[data-v-4cf4affc] {
16
+ --surface-background: var(--kds-color-background-static-danger-muted);
17
+ --surface-border: var(--kds-border-base-danger);
18
+ }
19
+ &.info[data-v-4cf4affc] {
20
+ --surface-background: var(--kds-color-background-static-info-muted);
21
+ --surface-border: var(--kds-border-base-info);
22
+ }
23
+ }
24
+
2
25
  .inline-status-banner {
3
- &[data-v-506380c6] {
26
+ &[data-v-df3926bc] {
4
27
  display: flex;
5
28
  gap: var(--kds-spacing-container-0-37x);
6
29
  align-items: center;
7
30
 
8
31
  /*
9
- * The banner extends 0.25x behind the input below so the input's
10
- * rounded top corners carve out of the banner's bottom edge.
11
- * The extra 0.25x of bottom padding keeps the
12
- * content visually centered against the visible portion of the box.
13
- * Top and horizontal padding subtract the border width so the box
14
- * matches Figma (where the border is drawn outside the layout box).
15
- * Bottom has no border, so no subtraction is needed there.
32
+ * Horizontal / top padding subtract the surface's border width so the
33
+ * content box matches the design (where the border is drawn outside the
34
+ * layout box). The bottom adds an extra 0.25x to compensate for the 0.25x
35
+ * the surface tucks behind whatever sits below it, keeping the content
36
+ * vertically centered against the visible portion of the banner.
16
37
  */
17
38
  padding: calc(
18
39
  var(--kds-spacing-container-0-5x) - var(--kds-core-border-width-xs)
19
40
  )
20
41
  calc(var(--kds-spacing-container-0-5x) - var(--kds-core-border-width-xs))
21
42
  calc(var(--kds-spacing-container-0-5x) + var(--kds-spacing-container-0-25x));
22
- margin-bottom: calc(-1 * var(--kds-spacing-container-0-25x));
23
43
  font: var(--kds-font-base-body-small);
24
44
  color: var(--kds-color-text-and-icon-neutral);
25
- border-style: solid;
26
- border-width: var(--kds-core-border-width-xs);
27
- border-bottom: none;
28
- border-top-left-radius: var(--kds-border-radius-container-0-50x);
29
- border-top-right-radius: var(--kds-border-radius-container-0-50x);
30
45
  }
31
- .icon[data-v-506380c6],
32
- .action[data-v-506380c6] {
46
+ .icon[data-v-df3926bc],
47
+ .action[data-v-df3926bc] {
33
48
  flex-shrink: 0;
34
49
  }
35
- &.error {
36
- &[data-v-506380c6] {
37
- background-color: var(--kds-color-background-static-danger-muted);
38
- border: var(--kds-border-base-danger);
39
- border-bottom: none;
40
- }
41
- .icon[data-v-506380c6] {
42
- color: var(--kds-color-text-and-icon-danger);
43
- }
44
- }
45
- &.note {
46
- &[data-v-506380c6] {
47
- background-color: var(--kds-color-background-static-info-muted);
48
- border: var(--kds-border-base-info);
49
- border-bottom: none;
50
- }
51
- .icon[data-v-506380c6] {
52
- color: var(--kds-color-text-and-icon-info);
50
+ &.error .icon[data-v-df3926bc] {
51
+ color: var(--kds-color-text-and-icon-danger);
53
52
  }
53
+ &.note .icon[data-v-df3926bc] {
54
+ color: var(--kds-color-text-and-icon-info);
54
55
  }
55
56
  }
56
57
  .text {
57
- &[data-v-506380c6] {
58
+ &[data-v-df3926bc] {
58
59
  flex: 1 0 0;
59
60
  min-width: 0;
60
61
 
@@ -64,19 +65,117 @@
64
65
  overflow-wrap: anywhere;
65
66
  scrollbar-width: thin;
66
67
  }
67
- &[data-v-506380c6]:focus-visible {
68
+ &[data-v-df3926bc]:focus-visible {
68
69
  outline: var(--kds-border-action-focused);
69
70
  outline-offset: var(--kds-spacing-offset-focus);
70
71
  }
71
72
  }
72
73
 
73
- .prompt-input[data-v-e6b41a78] {
74
+ .inquiry-card {
75
+ &[data-v-495449c9] {
76
+ display: flex;
77
+ flex-direction: column;
78
+ gap: var(--kds-spacing-container-0-25x);
79
+ }
80
+ & .title[data-v-495449c9] {
81
+ font: var(--kds-font-base-title-medium-strong);
82
+ color: var(--kds-color-text-and-icon-neutral);
83
+ overflow-wrap: anywhere;
84
+ }
85
+ & .content {
86
+ &[data-v-495449c9] {
87
+ display: flex;
88
+ flex-direction: column;
89
+ gap: var(--kds-spacing-container-0-5x);
90
+ }
91
+ & .description[data-v-495449c9] {
92
+ margin: 0;
93
+ font: var(--kds-font-base-body-small);
94
+ color: var(--kds-color-text-and-icon-subtle);
95
+ overflow-wrap: anywhere;
96
+ }
97
+ & .action-buttons[data-v-495449c9] {
98
+ display: flex;
99
+ gap: var(--kds-spacing-container-0-5x);
100
+ justify-content: end;
101
+ }
102
+ }
103
+ }
104
+
105
+ .inquiry-card {
106
+ &[data-v-3293effe] {
107
+ display: flex;
108
+ flex-direction: column;
109
+ gap: var(--kds-spacing-container-0-25x);
110
+ }
111
+ & .title-row {
112
+ &[data-v-3293effe] {
113
+ display: flex;
114
+ gap: var(--kds-spacing-container-1x);
115
+ align-items: center;
116
+ }
117
+ & .title {
118
+ &[data-v-3293effe] {
119
+ flex: 1 1 0;
120
+ min-width: 0;
121
+ font: var(--kds-font-base-title-medium-strong);
122
+ color: var(--kds-color-text-and-icon-neutral);
123
+ overflow-wrap: anywhere;
124
+ }
125
+ & .skipped-tag[data-v-3293effe] {
126
+ margin-left: var(--kds-spacing-container-0-25x);
127
+ font: var(--kds-font-base-title-medium);
128
+ color: var(--kds-color-text-and-icon-subtle);
129
+ }
130
+ }
131
+ & .pagination[data-v-3293effe] {
132
+ flex-shrink: 0;
133
+ font: var(--kds-font-base-title-medium);
134
+ color: var(--kds-color-text-and-icon-neutral);
135
+ white-space: nowrap;
136
+ }
137
+ }
138
+ & .content {
139
+ &[data-v-3293effe] {
140
+ display: flex;
141
+ flex-direction: column;
142
+ gap: var(--kds-spacing-container-0-5x);
143
+ }
144
+ & .description[data-v-3293effe] {
145
+ margin: 0;
146
+ font: var(--kds-font-base-body-small);
147
+ color: var(--kds-color-text-and-icon-subtle);
148
+ overflow-wrap: anywhere;
149
+ }
150
+ & .action-buttons {
151
+ &[data-v-3293effe] {
152
+ display: flex;
153
+ gap: var(--kds-spacing-container-0-5x);
154
+ justify-content: space-between;
155
+ }
156
+ & .nav-primary[data-v-3293effe] {
157
+ display: flex;
158
+ gap: var(--kds-spacing-container-0-5x);
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+ .inquiry-stack[data-v-fa0d07a4] {
165
+ padding: calc(
166
+ var(--kds-spacing-container-1x) - var(--kds-core-border-width-xs)
167
+ )
168
+ calc(var(--kds-spacing-container-1x) - var(--kds-core-border-width-xs))
169
+ var(--kds-spacing-container-1x);
170
+ }
171
+
172
+ .prompt-input[data-v-92a6ac4b] {
74
173
  display: flex;
75
174
  flex-direction: column;
76
175
  width: 100%;
77
176
  }
78
177
  .input-container {
79
- &[data-v-e6b41a78] {
178
+ &[data-v-92a6ac4b] {
80
179
  position: relative;
81
180
  display: flex;
82
181
  gap: var(--kds-spacing-container-0-5x);
@@ -90,19 +189,19 @@
90
189
  border: var(--kds-border-action-input);
91
190
  border-radius: var(--kds-border-radius-container-0-37x);
92
191
  }
93
- &[data-v-e6b41a78]:has(textarea:focus:not(:disabled)) {
192
+ &[data-v-92a6ac4b]:has(textarea:focus:not(:disabled)) {
94
193
  outline: var(--kds-border-action-focused);
95
194
  outline-offset: var(--kds-spacing-offset-focus);
96
195
  }
97
- &[data-v-e6b41a78]:has(textarea:hover:not(:disabled, :focus)) {
196
+ &[data-v-92a6ac4b]:has(textarea:hover:not(:disabled, :focus)) {
98
197
  background: var(--kds-color-background-input-hover);
99
198
  }
100
- &.disabled[data-v-e6b41a78] {
199
+ &.disabled[data-v-92a6ac4b] {
101
200
  cursor: default;
102
201
  border: var(--kds-border-action-disabled);
103
202
  }
104
203
  }
105
- .text-input-wrapper[data-v-e6b41a78] {
204
+ .text-input-wrapper[data-v-92a6ac4b] {
106
205
  display: flex;
107
206
  flex: 1 0 0;
108
207
  align-items: center;
@@ -116,7 +215,7 @@
116
215
  padding-left: var(--kds-spacing-container-0-37x);
117
216
  }
118
217
  .text-input {
119
- &[data-v-e6b41a78] {
218
+ &[data-v-92a6ac4b] {
120
219
  width: 100%;
121
220
  min-width: 0;
122
221
 
@@ -132,32 +231,32 @@
132
231
  background: transparent;
133
232
  border: none;
134
233
  }
135
- &[data-v-e6b41a78]::placeholder {
234
+ &[data-v-92a6ac4b]::placeholder {
136
235
  color: var(--kds-color-text-and-icon-subtle);
137
236
  }
138
237
  &:disabled {
139
- &[data-v-e6b41a78] {
238
+ &[data-v-92a6ac4b] {
140
239
  color: var(--kds-color-text-and-icon-disabled);
141
240
  cursor: default;
142
241
  }
143
- &[data-v-e6b41a78]::placeholder {
242
+ &[data-v-92a6ac4b]::placeholder {
144
243
  color: var(--kds-color-text-and-icon-disabled);
145
244
  }
146
245
  }
147
- &[data-v-e6b41a78]::-webkit-scrollbar {
246
+ &[data-v-92a6ac4b]::-webkit-scrollbar {
148
247
  display: none;
149
248
  }
150
249
  }
151
- .action[data-v-e6b41a78] {
250
+ .action[data-v-92a6ac4b] {
152
251
  display: flex;
153
252
  flex-shrink: 0;
154
253
  align-items: flex-end;
155
254
  }
156
- .progress-bar[data-v-e6b41a78] {
255
+ .progress-bar[data-v-92a6ac4b] {
157
256
  position: absolute;
158
257
  inset: -1px 0 auto;
159
258
  }
160
- .subtext[data-v-e6b41a78] {
259
+ .subtext[data-v-92a6ac4b] {
161
260
  display: flex;
162
261
  flex-wrap: wrap;
163
262
  gap: var(--kds-spacing-container-0-25x) var(--kds-spacing-container-0-5x);
@@ -167,7 +266,7 @@
167
266
  font: var(--kds-font-base-subtext-small);
168
267
  color: var(--kds-color-text-and-icon-neutral);
169
268
  }
170
- .subtext-left[data-v-e6b41a78] {
269
+ .subtext-left[data-v-92a6ac4b] {
171
270
  /*
172
271
  * Take all remaining inline space so the right block is pushed to the
173
272
  * end. `min-width: 0` lets the ellipsis kick in when the right block
@@ -179,7 +278,7 @@
179
278
  text-overflow: ellipsis;
180
279
  white-space: nowrap;
181
280
  }
182
- .subtext-right[data-v-e6b41a78] {
281
+ .subtext-right[data-v-92a6ac4b] {
183
282
  /*
184
283
  * On row 1 (alongside .subtext-left) the right block stays at its
185
284
  * intrinsic width — line-breaking in flex layout is decided from