@limetech/lime-web-components 6.9.0 → 6.11.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,20 @@
1
+ ## [6.11.0](https://github.com/Lundalogik/lime-web-components/compare/v6.10.0...v6.11.0) (2026-02-20)
2
+
3
+
4
+ ### Features
5
+
6
+
7
+ * **problem:** add `getMetadataComponent` to `ProblemProvider` ([8b4b756](https://github.com/Lundalogik/lime-web-components/commit/8b4b756ec1bcdaaccd02e9a4f389efac4aebb18e))
8
+
9
+ ## [6.10.0](https://github.com/Lundalogik/lime-web-components/compare/v6.9.0...v6.10.0) (2026-02-13)
10
+
11
+
12
+ ### Features
13
+
14
+
15
+ * **ai-context:** add GatheredAIContext and update element registration ([e1ebb1d](https://github.com/Lundalogik/lime-web-components/commit/e1ebb1d51eb89290cbd64a252b1b42145c833d12))
16
+ * **ai-context:** allow getContext() to return null ([35209a4](https://github.com/Lundalogik/lime-web-components/commit/35209a4a6a456d2b3a7254b848d4af46d86cc380))
17
+
1
18
  ## [6.9.0](https://github.com/Lundalogik/lime-web-components/compare/v6.8.0...v6.9.0) (2026-01-28)
2
19
 
3
20
 
@@ -1,3 +1,5 @@
1
+ import { LimeWebComponent } from '../core/lime-web-component';
2
+ import { LimeWebComponentContext } from '../core/context';
1
3
  /**
2
4
  * A value that can be safely serialized to JSON via JSON.stringify().
3
5
  *
@@ -70,6 +72,28 @@ export interface AIContextContribution {
70
72
  */
71
73
  purpose?: string;
72
74
  }
75
+ /**
76
+ * A fully enriched context contribution ready for the AI.
77
+ *
78
+ * This is the "output" of context gathering — includes the provider's
79
+ * contribution plus UI context information added by the registry.
80
+ *
81
+ * @alpha
82
+ * @group AI Context
83
+ */
84
+ export interface GatheredAIContext extends AIContextContribution {
85
+ /**
86
+ * The component's LimeWebComponentContext at the time of gathering.
87
+ *
88
+ * Provides rich information about where this context originates:
89
+ * - `limetype`: What type of business object the component is working with
90
+ * - `id`: Which specific record (if any)
91
+ * - `parent`: Parent context for nested components
92
+ *
93
+ * Only present when the provider registered with an element reference.
94
+ */
95
+ componentContext?: LimeWebComponentContext;
96
+ }
73
97
  /**
74
98
  * A provider that contributes context information to the AI chat.
75
99
  *
@@ -89,6 +113,9 @@ export interface AIContextContribution {
89
113
  * ```typescript
90
114
  * @Component({ tag: 'my-custom-panel' })
91
115
  * export class MyCustomPanel {
116
+ * @Element()
117
+ * private host: HTMLElement & LimeWebComponent;
118
+ *
92
119
  * private unregisterContext: () => void;
93
120
  *
94
121
  * connectedCallback() {
@@ -103,7 +130,7 @@ export interface AIContextContribution {
103
130
  * selectionCount: this.selectedItems.length
104
131
  * }
105
132
  * })
106
- * });
133
+ * }, this.host);
107
134
  * }
108
135
  *
109
136
  * disconnectedCallback() {
@@ -138,9 +165,10 @@ export interface AIContextProvider {
138
165
  * The implementation should be fast and avoid expensive operations
139
166
  * since it's called on every message.
140
167
  *
141
- * @returns The context contribution.
168
+ * @returns The context contribution, or `null` if no context is available
169
+ * (e.g., required state hasn't loaded yet).
142
170
  */
143
- getContext(): AIContextContribution;
171
+ getContext(): AIContextContribution | null;
144
172
  }
145
173
  /**
146
174
  * Registry for AI context providers.
@@ -171,6 +199,10 @@ export interface AIContextRegistry {
171
199
  * gets a unique internal key.
172
200
  *
173
201
  * @param provider - The provider to register.
202
+ * @param element - Optional host element of the component registering this
203
+ * provider. When provided, enables the registry to:
204
+ * - Read the component's `LimeWebComponentContext` to enrich contributions
205
+ * - Skip providers whose elements are not currently connected to the DOM
174
206
  * @returns A function to unregister the provider. Call this when the
175
207
  * component is disconnected or the context is no longer relevant.
176
208
  *
@@ -187,13 +219,13 @@ export interface AIContextRegistry {
187
219
  * descriptive: this.deal.descriptive
188
220
  * }
189
221
  * })
190
- * });
222
+ * }, this.host);
191
223
  *
192
224
  * // Later, when component is disconnected:
193
225
  * unregister();
194
226
  * ```
195
227
  */
196
- register(provider: AIContextProvider): () => void;
228
+ register(provider: AIContextProvider, element?: HTMLElement & LimeWebComponent): () => void;
197
229
  /**
198
230
  * Get all registered providers.
199
231
  *
@@ -206,11 +238,15 @@ export interface AIContextRegistry {
206
238
  * Gather context from all registered providers.
207
239
  *
208
240
  * Calls `getContext()` on each provider and collects the results.
209
- * Providers that throw errors are skipped (with a warning logged).
241
+ * Providers that return `null` (indicating no context available) and
242
+ * providers that throw errors are skipped (errors log a warning).
243
+ *
244
+ * Each contribution is enriched with the component's `LimeWebComponentContext`
245
+ * if the provider was registered with an element reference.
210
246
  *
211
- * @returns An array of context contributions, one from each provider
212
- * that returned successfully.
247
+ * @returns An array of enriched context contributions, one from each
248
+ * provider that returned a non-null contribution.
213
249
  */
214
- gatherContext(): AIContextContribution[];
250
+ gatherContext(): GatheredAIContext[];
215
251
  }
216
252
  //# sourceMappingURL=ai-context-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-context-registry.d.ts","sourceRoot":"","sources":["../../src/ai-context/ai-context-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,GACf,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEjC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;;;;;;;;;;OAYG;IACH,UAAU,IAAI,qBAAqB,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAAC;IAElD;;;;;;OAMG;IACH,YAAY,IAAI,iBAAiB,EAAE,CAAC;IAEpC;;;;;;;;OAQG;IACH,aAAa,IAAI,qBAAqB,EAAE,CAAC;CAC5C"}
1
+ {"version":3,"file":"ai-context-registry.d.ts","sourceRoot":"","sources":["../../src/ai-context/ai-context-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,GACf,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEjC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB;IAC5D;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;CAC9C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;;;;;;;;OASG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;;;;;;;;;;;;OAaG;IACH,UAAU,IAAI,qBAAqB,GAAG,IAAI,CAAC;CAC9C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,QAAQ,CACJ,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,CAAC,EAAE,WAAW,GAAG,gBAAgB,GACzC,MAAM,IAAI,CAAC;IAEd;;;;;;OAMG;IACH,YAAY,IAAI,iBAAiB,EAAE,CAAC;IAEpC;;;;;;;;;;;;OAYG;IACH,aAAa,IAAI,iBAAiB,EAAE,CAAC;CACxC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Describes a web component to create and the properties to set on it.
3
+ *
4
+ * Used wherever the platform needs a component specified as data rather
5
+ * than instantiated directly — for example configuration UIs, metadata
6
+ * renderers, or slot content provided by plugins.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const descriptor: ComponentDescriptor = {
11
+ * name: 'customer-insights-config',
12
+ * props: { defaultView: 'monthly' },
13
+ * };
14
+ * ```
15
+ *
16
+ * @public
17
+ * @group Core
18
+ */
19
+ export interface ComponentDescriptor<V = unknown> {
20
+ /**
21
+ * Tag name of the web component to create.
22
+ */
23
+ name: string;
24
+ /**
25
+ * Properties to set on the created component.
26
+ */
27
+ props?: Record<string, V>;
28
+ }
29
+ //# sourceMappingURL=component-descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-descriptor.d.ts","sourceRoot":"","sources":["../../src/core/component-descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,OAAO;IAC5C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAC7B"}
@@ -5,6 +5,7 @@ export * from './plugin-loader';
5
5
  export * from './state';
6
6
  export type { StateDecoratorConfig } from './decorators';
7
7
  export * from './metadata';
8
+ export * from './component-descriptor';
8
9
  export * from './idle';
9
10
  export * from './icon';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { ComponentDescriptor } from './component-descriptor';
1
2
  import { Icon } from './icon';
2
3
  import { LimeWebComponentPlatform } from './platform';
3
4
  /**
@@ -90,21 +91,10 @@ export type ConfigMetadata = {
90
91
  * Specifies a web component that provides a configuration interface for
91
92
  * customizing the resource's behavior. This is typically used in admin
92
93
  * interfaces or setup wizards.
94
+ *
95
+ * @see {@link ComponentDescriptor}
93
96
  */
94
- configComponent?: {
95
- /**
96
- * Tag name of the configuration web component.
97
- *
98
- * Must be a registered web component that can receive the specified props.
99
- */
100
- name: string;
101
- /**
102
- * Initial properties to pass to the configuration component.
103
- *
104
- * These props configure the initial state of the configuration UI.
105
- */
106
- props?: Record<string, unknown>;
107
- };
97
+ configComponent?: ComponentDescriptor;
108
98
  };
109
99
  /**
110
100
  * Metadata describing a package or addon using Lime Web Components.
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/core/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAK9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE;QACd;;;;WAIG;QACH,IAAI,EAAE,MAAM,CAAC;QAEb;;;;WAIG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;CACL,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;CACvD"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/core/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAK9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACzC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;CACvD"}
@@ -1,5 +1,5 @@
1
1
  import { Action } from '../action';
2
- import { Icon } from '../core';
2
+ import { ComponentDescriptor, Icon } from '../core';
3
3
  import { Problem } from './problem';
4
4
  import { ProblemQueryOptions, ProblemStatus, ProblemType } from './query';
5
5
  /**
@@ -188,5 +188,38 @@ export interface ProblemProvider {
188
188
  * @see {@link Problem.status}
189
189
  */
190
190
  getStatus(status: string): ProblemStatus | undefined;
191
+ /**
192
+ * Returns a web component descriptor for rendering custom metadata
193
+ * in the problem detail dialog.
194
+ *
195
+ * The component is responsible for rendering the problem's
196
+ * {@link Problem.metadata}. Any properties specified in
197
+ * {@link ComponentDescriptor.props} are set on the created element.
198
+ *
199
+ * When this method is not implemented or returns `undefined`, the
200
+ * detail dialog renders without a metadata section.
201
+ *
202
+ * @param problem - The problem whose metadata should be rendered.
203
+ * @returns A component descriptor, or `undefined` if no custom
204
+ * metadata rendering is needed for this problem.
205
+ *
206
+ * @example
207
+ * ```typescript
208
+ * getMetadataComponent(problem: Problem): ComponentDescriptor | undefined {
209
+ * if (problem.type === 'delivery-failed') {
210
+ * return {
211
+ * name: 'email-delivery-metadata',
212
+ * props: { problem },
213
+ * };
214
+ * }
215
+ *
216
+ * return undefined;
217
+ * }
218
+ * ```
219
+ *
220
+ * @see {@link ComponentDescriptor}
221
+ * @see {@link Problem.metadata}
222
+ */
223
+ getMetadataComponent?(problem: Problem): ComponentDescriptor | undefined;
191
224
  }
192
225
  //# 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,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,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;CACxD"}
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,4 +1,4 @@
1
- import { LimeWebComponent } from '../core';
1
+ import { ComponentDescriptor, LimeWebComponent } from '../core';
2
2
  /**
3
3
  * The {@link RouteRegistry} service lets you register new locations in the
4
4
  * application specified by either a path or a path pattern. Once a location
@@ -71,16 +71,7 @@ export interface RouteRegistry {
71
71
  * @public
72
72
  * @group Registering routes
73
73
  */
74
- export type MatchedComponent = {
75
- /**
76
- * The name of the component.
77
- */
78
- name: string;
79
- /**
80
- * Matched path parameters.
81
- */
82
- props: Record<string, string | number | undefined>;
83
- };
74
+ export type MatchedComponent = Required<ComponentDescriptor<string | number | undefined>>;
84
75
  /**
85
76
  * Interface for components that are routed to and are registered with the
86
77
  * {@link RouteRegistry} service.
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/routeregistry/registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;;;;OAOG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5D;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;CAC7D;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;CACtD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACpD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,YAAY,CAAC,EAAE;QACX,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;KACxE,CAAC;CACL"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/routeregistry/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAA2B,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;;;;OAOG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5D;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;CAC7D;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CACnC,mBAAmB,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CACnD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACpD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,YAAY,CAAC,EAAE;QACX,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;KACxE,CAAC;CACL"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limetech/lime-web-components",
3
- "version": "6.9.0",
3
+ "version": "6.11.0",
4
4
  "description": "Lime Web Components",
5
5
  "author": "Lime Technologies",
6
6
  "license": "Apache-2.0",
@@ -35,13 +35,13 @@
35
35
  "tslib": "^2.8.1"
36
36
  },
37
37
  "devDependencies": {
38
- "@commitlint/config-conventional": "^20.3.1",
38
+ "@commitlint/config-conventional": "^20.4.2",
39
39
  "@limetech/eslint-config": "^4.0.0",
40
- "@microsoft/api-extractor": "^7.55.2",
40
+ "@microsoft/api-extractor": "^7.56.3",
41
41
  "eslint": "^9.39.2",
42
42
  "expect-type": "^1.3.0",
43
- "globals": "^17.2.0",
44
- "jsdom": "^27.4.0",
43
+ "globals": "^17.3.0",
44
+ "jsdom": "^28.1.0",
45
45
  "replace-in-file": "^8.4.0",
46
46
  "shelljs": "0.10.0",
47
47
  "typedoc": "^0.23.24",