@limetech/lime-web-components 6.11.0 → 6.13.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,19 @@
1
+ ## [6.13.0](https://github.com/Lundalogik/lime-web-components/compare/v6.12.0...v6.13.0) (2026-02-25)
2
+
3
+
4
+ ### Features
5
+
6
+
7
+ * **problem:** add `getBulkActions` to `ProblemProvider` ([c5292a8](https://github.com/Lundalogik/lime-web-components/commit/c5292a85f4546c3a3538e3a5df3acb9aae42a741))
8
+
9
+ ## [6.12.0](https://github.com/Lundalogik/lime-web-components/compare/v6.11.0...v6.12.0) (2026-02-23)
10
+
11
+
12
+ ### Features
13
+
14
+
15
+ * **problem:** add `getViews` to `ProblemProvider` ([54b8190](https://github.com/Lundalogik/lime-web-components/commit/54b8190bddd742f6e251dbc06fce216270d81839))
16
+
1
17
  ## [6.11.0](https://github.com/Lundalogik/lime-web-components/compare/v6.10.0...v6.11.0) (2026-02-20)
2
18
 
3
19
 
@@ -1,3 +1,4 @@
1
+ export * from './view';
1
2
  export * from './problem';
2
3
  export * from './query';
3
4
  export * from './provider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/problem/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/problem/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Action } from '../action';
2
2
  import { ComponentDescriptor, Icon } from '../core';
3
+ import { ProblemView } from './view';
3
4
  import { Problem } from './problem';
4
5
  import { ProblemQueryOptions, ProblemStatus, ProblemType } from './query';
5
6
  /**
@@ -137,6 +138,48 @@ export interface ProblemProvider {
137
138
  * @see {@link Action}
138
139
  */
139
140
  getActions(problem: Problem): Action[];
141
+ /**
142
+ * Returns available actions for a selection of problems.
143
+ *
144
+ * Bulk actions let users act on multiple problems at once (e.g., retry
145
+ * all failed imports in a single operation). The provider decides which
146
+ * actions make sense across a set of problems and constructs the command
147
+ * payload accordingly.
148
+ *
149
+ * When this method is not implemented, the platform does not offer bulk
150
+ * actions for this provider.
151
+ *
152
+ * @param problems - The selected problems to get bulk actions for.
153
+ * @returns An array of actions available for the selection. Return an
154
+ * empty array `[]` if no bulk actions apply.
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * getBulkActions(problems: Problem[]): Action[] {
159
+ * const messageIds = problems
160
+ * .map(p => p.id);
161
+ *
162
+ * if (messageIds.length === 0) {
163
+ * return [];
164
+ * }
165
+ *
166
+ * const command = new BulkRetryImportCommand();
167
+ * command.messageIds = messageIds;
168
+ *
169
+ * return [
170
+ * {
171
+ * label: 'Retry import',
172
+ * icon: 'refresh',
173
+ * command: command,
174
+ * },
175
+ * ];
176
+ * }
177
+ * ```
178
+ *
179
+ * @see {@link Action}
180
+ * @see {@link ProblemProvider.getActions}
181
+ */
182
+ getBulkActions?(problems: Problem[]): Action[];
140
183
  /**
141
184
  * Returns all problem types supported by this provider.
142
185
  *
@@ -221,5 +264,49 @@ export interface ProblemProvider {
221
264
  * @see {@link Problem.metadata}
222
265
  */
223
266
  getMetadataComponent?(problem: Problem): ComponentDescriptor | undefined;
267
+ /**
268
+ * Returns additional views to display in the problem detail dialog.
269
+ *
270
+ * Each view appears alongside the default detail panel. The provider
271
+ * controls the label and rendered component for every view; the
272
+ * platform decides how to present them (tabs, panels, etc.).
273
+ *
274
+ * When this method is not implemented or returns an empty array, the
275
+ * detail dialog renders without additional views.
276
+ *
277
+ * @param problem - The problem being viewed in the detail dialog.
278
+ * @returns An array of view descriptors. Return an empty array `[]`
279
+ * if no additional views are needed for this problem.
280
+ *
281
+ * @example
282
+ * ```typescript
283
+ * getViews(problem: Problem): ProblemView[] {
284
+ * return [
285
+ * {
286
+ * id: 'raw-email',
287
+ * label: 'Raw Email',
288
+ * icon: 'email',
289
+ * component: {
290
+ * name: 'email-raw-content',
291
+ * props: { problem },
292
+ * },
293
+ * },
294
+ * {
295
+ * id: 'audit-log',
296
+ * label: 'Audit Log',
297
+ * icon: { name: 'history', color: 'gray' },
298
+ * component: {
299
+ * name: 'email-audit-log',
300
+ * props: { problemId: problem.id },
301
+ * },
302
+ * },
303
+ * ];
304
+ * }
305
+ * ```
306
+ *
307
+ * @see {@link ProblemView}
308
+ * @see {@link ComponentDescriptor}
309
+ */
310
+ getViews?(problem: Problem): ProblemView[];
224
311
  }
225
312
  //# sourceMappingURL=provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/problem/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,MAAM,WAAW,eAAe;IAC5B;;;;;;;;;OASG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB;;;;;;;;;;;OAWG;IACH,WAAW,CACP,OAAO,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;IAE1C;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC;IAElE;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAEvC;;;;;;;;;;OAUG;IACH,QAAQ,IAAI,WAAW,EAAE,CAAC;IAE1B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IAE/C;;;;;;;;;;;OAWG;IACH,WAAW,IAAI,aAAa,EAAE,CAAC;IAE/B;;;;;;;;;OASG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,oBAAoB,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAAC;CAC5E"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/problem/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,MAAM,WAAW,eAAe;IAC5B;;;;;;;;;OASG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB;;;;;;;;;;;OAWG;IACH,WAAW,CACP,OAAO,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;IAE1C;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC;IAElE;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,cAAc,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IAE/C;;;;;;;;;;OAUG;IACH,QAAQ,IAAI,WAAW,EAAE,CAAC;IAE1B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IAE/C;;;;;;;;;;;OAWG;IACH,WAAW,IAAI,aAAa,EAAE,CAAC;IAE/B;;;;;;;;;OASG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,oBAAoB,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAAC;IAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,QAAQ,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAAC;CAC9C"}
@@ -0,0 +1,52 @@
1
+ import { ComponentDescriptor, Icon } from '../core';
2
+ /**
3
+ * Describes additional content a provider contributes to the problem
4
+ * detail dialog.
5
+ *
6
+ * Providers return an array of these from {@link ProblemProvider.getViews}
7
+ * to supply extra sections alongside the default detail panel. The platform
8
+ * decides how to present them (tabs, panels, etc.).
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const view: ProblemView = {
13
+ * id: 'raw-email',
14
+ * label: 'Raw Email',
15
+ * icon: 'email',
16
+ * component: {
17
+ * name: 'email-raw-content',
18
+ * props: { messageId: 'msg-123' },
19
+ * },
20
+ * };
21
+ * ```
22
+ *
23
+ * @see {@link ProblemProvider.getViews}
24
+ * @see {@link ComponentDescriptor}
25
+ *
26
+ * @alpha
27
+ * @group Problem
28
+ */
29
+ export interface ProblemView {
30
+ /**
31
+ * Stable identifier for this view.
32
+ *
33
+ * Used by the platform to persist user state (e.g. last selected view)
34
+ * and for deep-linking. Must be unique within a single provider.
35
+ */
36
+ id: string;
37
+ /**
38
+ * Label identifying this view.
39
+ */
40
+ label: string;
41
+ /**
42
+ * Icon for this view.
43
+ *
44
+ * @see {@link Icon}
45
+ */
46
+ icon?: string | Icon;
47
+ /**
48
+ * Descriptor for the web component rendered inside this view.
49
+ */
50
+ component: ComponentDescriptor;
51
+ }
52
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/problem/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,WAAW;IACxB;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,SAAS,EAAE,mBAAmB,CAAC;CAClC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limetech/lime-web-components",
3
- "version": "6.11.0",
3
+ "version": "6.13.0",
4
4
  "description": "Lime Web Components",
5
5
  "author": "Lime Technologies",
6
6
  "license": "Apache-2.0",
@@ -37,7 +37,7 @@
37
37
  "devDependencies": {
38
38
  "@commitlint/config-conventional": "^20.4.2",
39
39
  "@limetech/eslint-config": "^4.0.0",
40
- "@microsoft/api-extractor": "^7.56.3",
40
+ "@microsoft/api-extractor": "^7.57.4",
41
41
  "eslint": "^9.39.2",
42
42
  "expect-type": "^1.3.0",
43
43
  "globals": "^17.3.0",