@feedlog-ai/webcomponents 0.0.21 → 0.0.23

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 (48) hide show
  1. package/README.md +12 -12
  2. package/dist/cjs/{feedlog-button_2.cjs.entry.js → feedlog-button_3.cjs.entry.js} +32 -0
  3. package/dist/cjs/{feedlog-github-issues-client.cjs.entry.js → feedlog-issues-client.cjs.entry.js} +4 -4
  4. package/dist/cjs/feedlog-issues.cjs.entry.js +71 -0
  5. package/dist/cjs/feedlog-toolkit.cjs.js +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/collection-manifest.json +2 -2
  8. package/dist/collection/components/feedlog-issues/feedlog-issues.css +245 -0
  9. package/dist/collection/components/{feedlog-github-issues/feedlog-github-issues.js → feedlog-issues/feedlog-issues.js} +51 -12
  10. package/dist/collection/components/{feedlog-github-issues/feedlog-github-issues.stories.js → feedlog-issues/feedlog-issues.stories.js} +32 -18
  11. package/dist/collection/components/{feedlog-github-issues-client/feedlog-github-issues-client.js → feedlog-issues-client/feedlog-issues-client.js} +46 -8
  12. package/dist/collection/components/feedlog-issues-list/feedlog-issues-list.css +36 -0
  13. package/dist/collection/components/feedlog-issues-list/feedlog-issues-list.js +42 -1
  14. package/dist/collection/components/index.js +2 -2
  15. package/dist/components/{feedlog-github-issues.d.ts → feedlog-issues-client.d.ts} +4 -4
  16. package/dist/components/feedlog-issues-client.js +1 -0
  17. package/dist/components/feedlog-issues-list.js +1 -1
  18. package/dist/components/feedlog-issues.d.ts +11 -0
  19. package/dist/components/feedlog-issues.js +1 -0
  20. package/dist/components/p-BR3ookRG.js +1 -0
  21. package/dist/components/p-DJOCetIC.js +1 -0
  22. package/dist/esm/{feedlog-button_2.entry.js → feedlog-button_3.entry.js} +32 -1
  23. package/dist/esm/{feedlog-github-issues-client.entry.js → feedlog-issues-client.entry.js} +4 -4
  24. package/dist/esm/feedlog-issues.entry.js +69 -0
  25. package/dist/esm/feedlog-toolkit.js +1 -1
  26. package/dist/esm/loader.js +1 -1
  27. package/dist/feedlog-toolkit/feedlog-toolkit.esm.js +1 -1
  28. package/dist/feedlog-toolkit/p-4acededf.entry.js +1 -0
  29. package/dist/feedlog-toolkit/{p-70bf31c4.entry.js → p-6737a3f4.entry.js} +1 -1
  30. package/dist/feedlog-toolkit/{p-dad7b157.entry.js → p-f8e5e975.entry.js} +2 -2
  31. package/dist/types/components/{feedlog-github-issues/feedlog-github-issues.d.ts → feedlog-issues/feedlog-issues.d.ts} +13 -4
  32. package/dist/types/components/{feedlog-github-issues-client/feedlog-github-issues-client.d.ts → feedlog-issues-client/feedlog-issues-client.d.ts} +13 -5
  33. package/dist/types/components/feedlog-issues-list/feedlog-issues-list.d.ts +9 -0
  34. package/dist/types/components/index.d.ts +2 -2
  35. package/dist/types/components.d.ts +172 -124
  36. package/package.json +2 -2
  37. package/dist/cjs/feedlog-github-issues.cjs.entry.js +0 -70
  38. package/dist/cjs/feedlog-issues-list.cjs.entry.js +0 -33
  39. package/dist/collection/components/feedlog-github-issues/feedlog-github-issues.css +0 -104
  40. package/dist/components/feedlog-github-issues-client.d.ts +0 -11
  41. package/dist/components/feedlog-github-issues-client.js +0 -1
  42. package/dist/components/feedlog-github-issues.js +0 -1
  43. package/dist/components/p-CyaPkQyN.js +0 -1
  44. package/dist/esm/feedlog-github-issues.entry.js +0 -68
  45. package/dist/esm/feedlog-issues-list.entry.js +0 -31
  46. package/dist/feedlog-toolkit/p-3154bc80.entry.js +0 -1
  47. package/dist/feedlog-toolkit/p-5688651c.entry.js +0 -1
  48. /package/dist/types/components/{feedlog-github-issues/feedlog-github-issues.stories.d.ts → feedlog-issues/feedlog-issues.stories.d.ts} +0 -0
@@ -1,12 +1,12 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import type { FeedlogIssue as FeedlogIssueType, GetIssueUrlFn } from '@feedlog-ai/core';
3
3
  /**
4
- * Feedlog GitHub Issues Component
4
+ * Feedlog Issues Component
5
5
  *
6
- * Component for displaying GitHub issues with support for bugs and enhancements.
6
+ * Component for displaying issues with support for bugs and enhancements.
7
7
  * Includes full list rendering, loading/error states, and pagination support.
8
8
  */
9
- export declare class FeedlogGithubIssues {
9
+ export declare class FeedlogIssues {
10
10
  /**
11
11
  * Array of issues to display
12
12
  */
@@ -27,6 +27,14 @@ export declare class FeedlogGithubIssues {
27
27
  * Custom subtitle for the issues section
28
28
  */
29
29
  subtitle?: string;
30
+ /**
31
+ * Empty state title. Defaults to "No updates yet".
32
+ */
33
+ emptyStateTitle?: string;
34
+ /**
35
+ * Empty state message. Defaults to "Check back later for new updates.".
36
+ */
37
+ emptyStateMessage?: string;
30
38
  /**
31
39
  * Loading state - shows loading indicator when true
32
40
  */
@@ -44,7 +52,7 @@ export declare class FeedlogGithubIssues {
44
52
  */
45
53
  isLoadingMore: boolean;
46
54
  /**
47
- * Optional callback to resolve GitHub issue URL when githubIssueLink is not available.
55
+ * Optional callback to resolve issue URL when githubIssueLink is not available.
48
56
  * Required because repository.owner was removed from the API for privacy.
49
57
  */
50
58
  getIssueUrl?: GetIssueUrlFn;
@@ -67,6 +75,7 @@ export declare class FeedlogGithubIssues {
67
75
  componentWillLoad(): void;
68
76
  private handleUpvote;
69
77
  private handleLoadMore;
78
+ private renderErrorIcon;
70
79
  private renderIssuesList;
71
80
  render(): any;
72
81
  }
@@ -1,12 +1,12 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import type { FeedlogIssue as FeedlogIssueType, GetIssueUrlFn, SortBy } from '@feedlog-ai/core';
3
3
  /**
4
- * Feedlog GitHub Issues Client Component
4
+ * Feedlog Issues Client Component
5
5
  *
6
- * A component for displaying GitHub issues fetched using the Feedlog SDK.
7
- * This component uses the SDK internally to fetch data and delegates to feedlog-github-issues for rendering.
6
+ * A component for displaying issues fetched using the Feedlog SDK.
7
+ * This component uses the SDK internally to fetch data and delegates to feedlog-issues for rendering.
8
8
  */
9
- export declare class FeedlogGithubIssuesClient {
9
+ export declare class FeedlogIssuesClient {
10
10
  /**
11
11
  * API key for Feedlog authentication (required)
12
12
  * The API key determines which repositories' issues are fetched
@@ -45,7 +45,15 @@ export declare class FeedlogGithubIssuesClient {
45
45
  */
46
46
  subtitle?: string;
47
47
  /**
48
- * Optional callback to resolve GitHub issue URL when githubIssueLink is not available.
48
+ * Empty state title (e.g. "No updates yet")
49
+ */
50
+ emptyStateTitle?: string;
51
+ /**
52
+ * Empty state message (e.g. "Check back later for new updates.")
53
+ */
54
+ emptyStateMessage?: string;
55
+ /**
56
+ * Optional callback to resolve issue URL when githubIssueLink is not available.
49
57
  * Required because repository.owner was removed from the API for privacy.
50
58
  */
51
59
  getIssueUrl?: GetIssueUrlFn;
@@ -18,6 +18,14 @@ export declare class FeedlogIssuesList {
18
18
  * Optional callback to resolve GitHub issue URL when githubIssueLink is not available.
19
19
  */
20
20
  getIssueUrl?: GetIssueUrlFn;
21
+ /**
22
+ * Empty state title. When provided with emptyStateMessage, shows a richer empty state with illustration.
23
+ */
24
+ emptyStateTitle?: string;
25
+ /**
26
+ * Empty state message. When provided with emptyStateTitle, shows a richer empty state with illustration.
27
+ */
28
+ emptyStateMessage?: string;
21
29
  /**
22
30
  * Emitted when an issue is upvoted
23
31
  */
@@ -26,6 +34,7 @@ export declare class FeedlogIssuesList {
26
34
  currentUpvoted: boolean;
27
35
  currentCount: number;
28
36
  }>;
37
+ private renderEmptyStateIllustration;
29
38
  private handleUpvote;
30
39
  render(): any;
31
40
  }
@@ -1,7 +1,7 @@
1
1
  export * from './feedlog-card/feedlog-card';
2
2
  export * from './feedlog-badge/feedlog-badge';
3
3
  export * from './feedlog-button/feedlog-button';
4
- export * from './feedlog-github-issues/feedlog-github-issues';
5
- export * from './feedlog-github-issues-client/feedlog-github-issues-client';
4
+ export * from './feedlog-issues/feedlog-issues';
5
+ export * from './feedlog-issues-client/feedlog-issues-client';
6
6
  export * from './feedlog-issue/feedlog-issue';
7
7
  export * from './feedlog-issues-list/feedlog-issues-list';
@@ -52,18 +52,45 @@ export namespace Components {
52
52
  interface FeedlogCard {
53
53
  }
54
54
  /**
55
- * Feedlog GitHub Issues Component
56
- * Component for displaying GitHub issues with support for bugs and enhancements.
55
+ * Feedlog Issue Component
56
+ * A component for displaying a single GitHub issue.
57
+ */
58
+ interface FeedlogIssue {
59
+ /**
60
+ * The issue to display
61
+ */
62
+ "issue": FeedlogIssueType;
63
+ /**
64
+ * Optional URL for the GitHub issue. When provided along with githubIssueLink, shows a "View on GitHub" button. Required because owner is no longer in the API response.
65
+ */
66
+ "issueUrl"?: string | null;
67
+ /**
68
+ * Theme variant: 'light' or 'dark'
69
+ * @default 'light'
70
+ */
71
+ "theme": 'light' | 'dark';
72
+ }
73
+ /**
74
+ * Feedlog Issues Component
75
+ * Component for displaying issues with support for bugs and enhancements.
57
76
  * Includes full list rendering, loading/error states, and pagination support.
58
77
  */
59
- interface FeedlogGithubIssues {
78
+ interface FeedlogIssues {
79
+ /**
80
+ * Empty state message. Defaults to "Check back later for new updates.".
81
+ */
82
+ "emptyStateMessage"?: string;
83
+ /**
84
+ * Empty state title. Defaults to "No updates yet".
85
+ */
86
+ "emptyStateTitle"?: string;
60
87
  /**
61
88
  * Error message - shows error state when set
62
89
  * @default null
63
90
  */
64
91
  "error": string | null;
65
92
  /**
66
- * Optional callback to resolve GitHub issue URL when githubIssueLink is not available. Required because repository.owner was removed from the API for privacy.
93
+ * Optional callback to resolve issue URL when githubIssueLink is not available. Required because repository.owner was removed from the API for privacy.
67
94
  */
68
95
  "getIssueUrl"?: GetIssueUrlFn;
69
96
  /**
@@ -106,21 +133,29 @@ export namespace Components {
106
133
  "theme": 'light' | 'dark';
107
134
  }
108
135
  /**
109
- * Feedlog GitHub Issues Client Component
110
- * A component for displaying GitHub issues fetched using the Feedlog SDK.
111
- * This component uses the SDK internally to fetch data and delegates to feedlog-github-issues for rendering.
136
+ * Feedlog Issues Client Component
137
+ * A component for displaying issues fetched using the Feedlog SDK.
138
+ * This component uses the SDK internally to fetch data and delegates to feedlog-issues for rendering.
112
139
  */
113
- interface FeedlogGithubIssuesClient {
140
+ interface FeedlogIssuesClient {
114
141
  /**
115
142
  * API key for Feedlog authentication (required) The API key determines which repositories' issues are fetched
116
143
  */
117
144
  "apiKey": string;
145
+ /**
146
+ * Empty state message (e.g. "Check back later for new updates.")
147
+ */
148
+ "emptyStateMessage"?: string;
149
+ /**
150
+ * Empty state title (e.g. "No updates yet")
151
+ */
152
+ "emptyStateTitle"?: string;
118
153
  /**
119
154
  * Custom API endpoint
120
155
  */
121
156
  "endpoint"?: string;
122
157
  /**
123
- * Optional callback to resolve GitHub issue URL when githubIssueLink is not available. Required because repository.owner was removed from the API for privacy.
158
+ * Optional callback to resolve issue URL when githubIssueLink is not available. Required because repository.owner was removed from the API for privacy.
124
159
  */
125
160
  "getIssueUrl"?: GetIssueUrlFn;
126
161
  /**
@@ -155,29 +190,18 @@ export namespace Components {
155
190
  "type"?: 'bug' | 'enhancement';
156
191
  }
157
192
  /**
158
- * Feedlog Issue Component
159
- * A component for displaying a single GitHub issue.
193
+ * Feedlog Issues List Component
194
+ * A component for displaying a list of GitHub issues with support for bugs and enhancements.
160
195
  */
161
- interface FeedlogIssue {
162
- /**
163
- * The issue to display
164
- */
165
- "issue": FeedlogIssueType;
196
+ interface FeedlogIssuesList {
166
197
  /**
167
- * Optional URL for the GitHub issue. When provided along with githubIssueLink, shows a "View on GitHub" button. Required because owner is no longer in the API response.
198
+ * Empty state message. When provided with emptyStateTitle, shows a richer empty state with illustration.
168
199
  */
169
- "issueUrl"?: string | null;
200
+ "emptyStateMessage"?: string;
170
201
  /**
171
- * Theme variant: 'light' or 'dark'
172
- * @default 'light'
202
+ * Empty state title. When provided with emptyStateMessage, shows a richer empty state with illustration.
173
203
  */
174
- "theme": 'light' | 'dark';
175
- }
176
- /**
177
- * Feedlog Issues List Component
178
- * A component for displaying a list of GitHub issues with support for bugs and enhancements.
179
- */
180
- interface FeedlogIssuesList {
204
+ "emptyStateTitle"?: string;
181
205
  /**
182
206
  * Optional callback to resolve GitHub issue URL when githubIssueLink is not available.
183
207
  */
@@ -198,17 +222,17 @@ export interface FeedlogButtonCustomEvent<T> extends CustomEvent<T> {
198
222
  detail: T;
199
223
  target: HTMLFeedlogButtonElement;
200
224
  }
201
- export interface FeedlogGithubIssuesCustomEvent<T> extends CustomEvent<T> {
225
+ export interface FeedlogIssueCustomEvent<T> extends CustomEvent<T> {
202
226
  detail: T;
203
- target: HTMLFeedlogGithubIssuesElement;
227
+ target: HTMLFeedlogIssueElement;
204
228
  }
205
- export interface FeedlogGithubIssuesClientCustomEvent<T> extends CustomEvent<T> {
229
+ export interface FeedlogIssuesCustomEvent<T> extends CustomEvent<T> {
206
230
  detail: T;
207
- target: HTMLFeedlogGithubIssuesClientElement;
231
+ target: HTMLFeedlogIssuesElement;
208
232
  }
209
- export interface FeedlogIssueCustomEvent<T> extends CustomEvent<T> {
233
+ export interface FeedlogIssuesClientCustomEvent<T> extends CustomEvent<T> {
210
234
  detail: T;
211
- target: HTMLFeedlogIssueElement;
235
+ target: HTMLFeedlogIssuesClientElement;
212
236
  }
213
237
  export interface FeedlogIssuesListCustomEvent<T> extends CustomEvent<T> {
214
238
  detail: T;
@@ -256,80 +280,80 @@ declare global {
256
280
  prototype: HTMLFeedlogCardElement;
257
281
  new (): HTMLFeedlogCardElement;
258
282
  };
259
- interface HTMLFeedlogGithubIssuesElementEventMap {
283
+ interface HTMLFeedlogIssueElementEventMap {
260
284
  "feedlogUpvote": {
261
285
  issueId: string;
262
286
  currentUpvoted: boolean;
263
287
  currentCount: number;
264
288
  };
265
- "feedlogLoadMore": void;
266
289
  }
267
290
  /**
268
- * Feedlog GitHub Issues Component
269
- * Component for displaying GitHub issues with support for bugs and enhancements.
270
- * Includes full list rendering, loading/error states, and pagination support.
291
+ * Feedlog Issue Component
292
+ * A component for displaying a single GitHub issue.
271
293
  */
272
- interface HTMLFeedlogGithubIssuesElement extends Components.FeedlogGithubIssues, HTMLStencilElement {
273
- addEventListener<K extends keyof HTMLFeedlogGithubIssuesElementEventMap>(type: K, listener: (this: HTMLFeedlogGithubIssuesElement, ev: FeedlogGithubIssuesCustomEvent<HTMLFeedlogGithubIssuesElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
294
+ interface HTMLFeedlogIssueElement extends Components.FeedlogIssue, HTMLStencilElement {
295
+ addEventListener<K extends keyof HTMLFeedlogIssueElementEventMap>(type: K, listener: (this: HTMLFeedlogIssueElement, ev: FeedlogIssueCustomEvent<HTMLFeedlogIssueElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
274
296
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
275
297
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
276
298
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
277
- removeEventListener<K extends keyof HTMLFeedlogGithubIssuesElementEventMap>(type: K, listener: (this: HTMLFeedlogGithubIssuesElement, ev: FeedlogGithubIssuesCustomEvent<HTMLFeedlogGithubIssuesElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
299
+ removeEventListener<K extends keyof HTMLFeedlogIssueElementEventMap>(type: K, listener: (this: HTMLFeedlogIssueElement, ev: FeedlogIssueCustomEvent<HTMLFeedlogIssueElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
278
300
  removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
279
301
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
280
302
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
281
303
  }
282
- var HTMLFeedlogGithubIssuesElement: {
283
- prototype: HTMLFeedlogGithubIssuesElement;
284
- new (): HTMLFeedlogGithubIssuesElement;
304
+ var HTMLFeedlogIssueElement: {
305
+ prototype: HTMLFeedlogIssueElement;
306
+ new (): HTMLFeedlogIssueElement;
285
307
  };
286
- interface HTMLFeedlogGithubIssuesClientElementEventMap {
287
- "feedlogUpvote": { issueId: string; upvoted: boolean; upvoteCount: number };
288
- "feedlogError": { error: string; code?: number };
308
+ interface HTMLFeedlogIssuesElementEventMap {
309
+ "feedlogUpvote": {
310
+ issueId: string;
311
+ currentUpvoted: boolean;
312
+ currentCount: number;
313
+ };
314
+ "feedlogLoadMore": void;
289
315
  }
290
316
  /**
291
- * Feedlog GitHub Issues Client Component
292
- * A component for displaying GitHub issues fetched using the Feedlog SDK.
293
- * This component uses the SDK internally to fetch data and delegates to feedlog-github-issues for rendering.
317
+ * Feedlog Issues Component
318
+ * Component for displaying issues with support for bugs and enhancements.
319
+ * Includes full list rendering, loading/error states, and pagination support.
294
320
  */
295
- interface HTMLFeedlogGithubIssuesClientElement extends Components.FeedlogGithubIssuesClient, HTMLStencilElement {
296
- addEventListener<K extends keyof HTMLFeedlogGithubIssuesClientElementEventMap>(type: K, listener: (this: HTMLFeedlogGithubIssuesClientElement, ev: FeedlogGithubIssuesClientCustomEvent<HTMLFeedlogGithubIssuesClientElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
321
+ interface HTMLFeedlogIssuesElement extends Components.FeedlogIssues, HTMLStencilElement {
322
+ addEventListener<K extends keyof HTMLFeedlogIssuesElementEventMap>(type: K, listener: (this: HTMLFeedlogIssuesElement, ev: FeedlogIssuesCustomEvent<HTMLFeedlogIssuesElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
297
323
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
298
324
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
299
325
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
300
- removeEventListener<K extends keyof HTMLFeedlogGithubIssuesClientElementEventMap>(type: K, listener: (this: HTMLFeedlogGithubIssuesClientElement, ev: FeedlogGithubIssuesClientCustomEvent<HTMLFeedlogGithubIssuesClientElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
326
+ removeEventListener<K extends keyof HTMLFeedlogIssuesElementEventMap>(type: K, listener: (this: HTMLFeedlogIssuesElement, ev: FeedlogIssuesCustomEvent<HTMLFeedlogIssuesElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
301
327
  removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
302
328
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
303
329
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
304
330
  }
305
- var HTMLFeedlogGithubIssuesClientElement: {
306
- prototype: HTMLFeedlogGithubIssuesClientElement;
307
- new (): HTMLFeedlogGithubIssuesClientElement;
331
+ var HTMLFeedlogIssuesElement: {
332
+ prototype: HTMLFeedlogIssuesElement;
333
+ new (): HTMLFeedlogIssuesElement;
308
334
  };
309
- interface HTMLFeedlogIssueElementEventMap {
310
- "feedlogUpvote": {
311
- issueId: string;
312
- currentUpvoted: boolean;
313
- currentCount: number;
314
- };
335
+ interface HTMLFeedlogIssuesClientElementEventMap {
336
+ "feedlogUpvote": { issueId: string; upvoted: boolean; upvoteCount: number };
337
+ "feedlogError": { error: string; code?: number };
315
338
  }
316
339
  /**
317
- * Feedlog Issue Component
318
- * A component for displaying a single GitHub issue.
340
+ * Feedlog Issues Client Component
341
+ * A component for displaying issues fetched using the Feedlog SDK.
342
+ * This component uses the SDK internally to fetch data and delegates to feedlog-issues for rendering.
319
343
  */
320
- interface HTMLFeedlogIssueElement extends Components.FeedlogIssue, HTMLStencilElement {
321
- addEventListener<K extends keyof HTMLFeedlogIssueElementEventMap>(type: K, listener: (this: HTMLFeedlogIssueElement, ev: FeedlogIssueCustomEvent<HTMLFeedlogIssueElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
344
+ interface HTMLFeedlogIssuesClientElement extends Components.FeedlogIssuesClient, HTMLStencilElement {
345
+ addEventListener<K extends keyof HTMLFeedlogIssuesClientElementEventMap>(type: K, listener: (this: HTMLFeedlogIssuesClientElement, ev: FeedlogIssuesClientCustomEvent<HTMLFeedlogIssuesClientElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
322
346
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
323
347
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
324
348
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
325
- removeEventListener<K extends keyof HTMLFeedlogIssueElementEventMap>(type: K, listener: (this: HTMLFeedlogIssueElement, ev: FeedlogIssueCustomEvent<HTMLFeedlogIssueElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
349
+ removeEventListener<K extends keyof HTMLFeedlogIssuesClientElementEventMap>(type: K, listener: (this: HTMLFeedlogIssuesClientElement, ev: FeedlogIssuesClientCustomEvent<HTMLFeedlogIssuesClientElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
326
350
  removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
327
351
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
328
352
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
329
353
  }
330
- var HTMLFeedlogIssueElement: {
331
- prototype: HTMLFeedlogIssueElement;
332
- new (): HTMLFeedlogIssueElement;
354
+ var HTMLFeedlogIssuesClientElement: {
355
+ prototype: HTMLFeedlogIssuesClientElement;
356
+ new (): HTMLFeedlogIssuesClientElement;
333
357
  };
334
358
  interface HTMLFeedlogIssuesListElementEventMap {
335
359
  "feedlogUpvote": {
@@ -360,9 +384,9 @@ declare global {
360
384
  "feedlog-badge": HTMLFeedlogBadgeElement;
361
385
  "feedlog-button": HTMLFeedlogButtonElement;
362
386
  "feedlog-card": HTMLFeedlogCardElement;
363
- "feedlog-github-issues": HTMLFeedlogGithubIssuesElement;
364
- "feedlog-github-issues-client": HTMLFeedlogGithubIssuesClientElement;
365
387
  "feedlog-issue": HTMLFeedlogIssueElement;
388
+ "feedlog-issues": HTMLFeedlogIssuesElement;
389
+ "feedlog-issues-client": HTMLFeedlogIssuesClientElement;
366
390
  "feedlog-issues-list": HTMLFeedlogIssuesListElement;
367
391
  }
368
392
  }
@@ -415,18 +439,53 @@ declare namespace LocalJSX {
415
439
  interface FeedlogCard {
416
440
  }
417
441
  /**
418
- * Feedlog GitHub Issues Component
419
- * Component for displaying GitHub issues with support for bugs and enhancements.
442
+ * Feedlog Issue Component
443
+ * A component for displaying a single GitHub issue.
444
+ */
445
+ interface FeedlogIssue {
446
+ /**
447
+ * The issue to display
448
+ */
449
+ "issue": FeedlogIssueType;
450
+ /**
451
+ * Optional URL for the GitHub issue. When provided along with githubIssueLink, shows a "View on GitHub" button. Required because owner is no longer in the API response.
452
+ */
453
+ "issueUrl"?: string | null;
454
+ /**
455
+ * Event emitted when the issue is upvoted
456
+ */
457
+ "onFeedlogUpvote"?: (event: FeedlogIssueCustomEvent<{
458
+ issueId: string;
459
+ currentUpvoted: boolean;
460
+ currentCount: number;
461
+ }>) => void;
462
+ /**
463
+ * Theme variant: 'light' or 'dark'
464
+ * @default 'light'
465
+ */
466
+ "theme"?: 'light' | 'dark';
467
+ }
468
+ /**
469
+ * Feedlog Issues Component
470
+ * Component for displaying issues with support for bugs and enhancements.
420
471
  * Includes full list rendering, loading/error states, and pagination support.
421
472
  */
422
- interface FeedlogGithubIssues {
473
+ interface FeedlogIssues {
474
+ /**
475
+ * Empty state message. Defaults to "Check back later for new updates.".
476
+ */
477
+ "emptyStateMessage"?: string;
478
+ /**
479
+ * Empty state title. Defaults to "No updates yet".
480
+ */
481
+ "emptyStateTitle"?: string;
423
482
  /**
424
483
  * Error message - shows error state when set
425
484
  * @default null
426
485
  */
427
486
  "error"?: string | null;
428
487
  /**
429
- * Optional callback to resolve GitHub issue URL when githubIssueLink is not available. Required because repository.owner was removed from the API for privacy.
488
+ * Optional callback to resolve issue URL when githubIssueLink is not available. Required because repository.owner was removed from the API for privacy.
430
489
  */
431
490
  "getIssueUrl"?: GetIssueUrlFn;
432
491
  /**
@@ -461,11 +520,11 @@ declare namespace LocalJSX {
461
520
  /**
462
521
  * Event emitted to load more issues
463
522
  */
464
- "onFeedlogLoadMore"?: (event: FeedlogGithubIssuesCustomEvent<void>) => void;
523
+ "onFeedlogLoadMore"?: (event: FeedlogIssuesCustomEvent<void>) => void;
465
524
  /**
466
525
  * Event emitted when an issue is upvoted
467
526
  */
468
- "onFeedlogUpvote"?: (event: FeedlogGithubIssuesCustomEvent<{
527
+ "onFeedlogUpvote"?: (event: FeedlogIssuesCustomEvent<{
469
528
  issueId: string;
470
529
  currentUpvoted: boolean;
471
530
  currentCount: number;
@@ -481,21 +540,29 @@ declare namespace LocalJSX {
481
540
  "theme"?: 'light' | 'dark';
482
541
  }
483
542
  /**
484
- * Feedlog GitHub Issues Client Component
485
- * A component for displaying GitHub issues fetched using the Feedlog SDK.
486
- * This component uses the SDK internally to fetch data and delegates to feedlog-github-issues for rendering.
543
+ * Feedlog Issues Client Component
544
+ * A component for displaying issues fetched using the Feedlog SDK.
545
+ * This component uses the SDK internally to fetch data and delegates to feedlog-issues for rendering.
487
546
  */
488
- interface FeedlogGithubIssuesClient {
547
+ interface FeedlogIssuesClient {
489
548
  /**
490
549
  * API key for Feedlog authentication (required) The API key determines which repositories' issues are fetched
491
550
  */
492
551
  "apiKey": string;
552
+ /**
553
+ * Empty state message (e.g. "Check back later for new updates.")
554
+ */
555
+ "emptyStateMessage"?: string;
556
+ /**
557
+ * Empty state title (e.g. "No updates yet")
558
+ */
559
+ "emptyStateTitle"?: string;
493
560
  /**
494
561
  * Custom API endpoint
495
562
  */
496
563
  "endpoint"?: string;
497
564
  /**
498
- * Optional callback to resolve GitHub issue URL when githubIssueLink is not available. Required because repository.owner was removed from the API for privacy.
565
+ * Optional callback to resolve issue URL when githubIssueLink is not available. Required because repository.owner was removed from the API for privacy.
499
566
  */
500
567
  "getIssueUrl"?: GetIssueUrlFn;
501
568
  /**
@@ -514,11 +581,11 @@ declare namespace LocalJSX {
514
581
  /**
515
582
  * Event emitted on error
516
583
  */
517
- "onFeedlogError"?: (event: FeedlogGithubIssuesClientCustomEvent<{ error: string; code?: number }>) => void;
584
+ "onFeedlogError"?: (event: FeedlogIssuesClientCustomEvent<{ error: string; code?: number }>) => void;
518
585
  /**
519
586
  * Event emitted when an issue is upvoted
520
587
  */
521
- "onFeedlogUpvote"?: (event: FeedlogGithubIssuesClientCustomEvent<{ issueId: string; upvoted: boolean; upvoteCount: number }>) => void;
588
+ "onFeedlogUpvote"?: (event: FeedlogIssuesClientCustomEvent<{ issueId: string; upvoted: boolean; upvoteCount: number }>) => void;
522
589
  /**
523
590
  * Sort issues by field: 'createdAt' or 'updatedAt'
524
591
  */
@@ -538,37 +605,18 @@ declare namespace LocalJSX {
538
605
  "type"?: 'bug' | 'enhancement';
539
606
  }
540
607
  /**
541
- * Feedlog Issue Component
542
- * A component for displaying a single GitHub issue.
608
+ * Feedlog Issues List Component
609
+ * A component for displaying a list of GitHub issues with support for bugs and enhancements.
543
610
  */
544
- interface FeedlogIssue {
545
- /**
546
- * The issue to display
547
- */
548
- "issue": FeedlogIssueType;
549
- /**
550
- * Optional URL for the GitHub issue. When provided along with githubIssueLink, shows a "View on GitHub" button. Required because owner is no longer in the API response.
551
- */
552
- "issueUrl"?: string | null;
611
+ interface FeedlogIssuesList {
553
612
  /**
554
- * Event emitted when the issue is upvoted
613
+ * Empty state message. When provided with emptyStateTitle, shows a richer empty state with illustration.
555
614
  */
556
- "onFeedlogUpvote"?: (event: FeedlogIssueCustomEvent<{
557
- issueId: string;
558
- currentUpvoted: boolean;
559
- currentCount: number;
560
- }>) => void;
615
+ "emptyStateMessage"?: string;
561
616
  /**
562
- * Theme variant: 'light' or 'dark'
563
- * @default 'light'
617
+ * Empty state title. When provided with emptyStateMessage, shows a richer empty state with illustration.
564
618
  */
565
- "theme"?: 'light' | 'dark';
566
- }
567
- /**
568
- * Feedlog Issues List Component
569
- * A component for displaying a list of GitHub issues with support for bugs and enhancements.
570
- */
571
- interface FeedlogIssuesList {
619
+ "emptyStateTitle"?: string;
572
620
  /**
573
621
  * Optional callback to resolve GitHub issue URL when githubIssueLink is not available.
574
622
  */
@@ -596,9 +644,9 @@ declare namespace LocalJSX {
596
644
  "feedlog-badge": FeedlogBadge;
597
645
  "feedlog-button": FeedlogButton;
598
646
  "feedlog-card": FeedlogCard;
599
- "feedlog-github-issues": FeedlogGithubIssues;
600
- "feedlog-github-issues-client": FeedlogGithubIssuesClient;
601
647
  "feedlog-issue": FeedlogIssue;
648
+ "feedlog-issues": FeedlogIssues;
649
+ "feedlog-issues-client": FeedlogIssuesClient;
602
650
  "feedlog-issues-list": FeedlogIssuesList;
603
651
  }
604
652
  }
@@ -622,22 +670,22 @@ declare module "@stencil/core" {
622
670
  */
623
671
  "feedlog-card": LocalJSX.FeedlogCard & JSXBase.HTMLAttributes<HTMLFeedlogCardElement>;
624
672
  /**
625
- * Feedlog GitHub Issues Component
626
- * Component for displaying GitHub issues with support for bugs and enhancements.
627
- * Includes full list rendering, loading/error states, and pagination support.
673
+ * Feedlog Issue Component
674
+ * A component for displaying a single GitHub issue.
628
675
  */
629
- "feedlog-github-issues": LocalJSX.FeedlogGithubIssues & JSXBase.HTMLAttributes<HTMLFeedlogGithubIssuesElement>;
676
+ "feedlog-issue": LocalJSX.FeedlogIssue & JSXBase.HTMLAttributes<HTMLFeedlogIssueElement>;
630
677
  /**
631
- * Feedlog GitHub Issues Client Component
632
- * A component for displaying GitHub issues fetched using the Feedlog SDK.
633
- * This component uses the SDK internally to fetch data and delegates to feedlog-github-issues for rendering.
678
+ * Feedlog Issues Component
679
+ * Component for displaying issues with support for bugs and enhancements.
680
+ * Includes full list rendering, loading/error states, and pagination support.
634
681
  */
635
- "feedlog-github-issues-client": LocalJSX.FeedlogGithubIssuesClient & JSXBase.HTMLAttributes<HTMLFeedlogGithubIssuesClientElement>;
682
+ "feedlog-issues": LocalJSX.FeedlogIssues & JSXBase.HTMLAttributes<HTMLFeedlogIssuesElement>;
636
683
  /**
637
- * Feedlog Issue Component
638
- * A component for displaying a single GitHub issue.
684
+ * Feedlog Issues Client Component
685
+ * A component for displaying issues fetched using the Feedlog SDK.
686
+ * This component uses the SDK internally to fetch data and delegates to feedlog-issues for rendering.
639
687
  */
640
- "feedlog-issue": LocalJSX.FeedlogIssue & JSXBase.HTMLAttributes<HTMLFeedlogIssueElement>;
688
+ "feedlog-issues-client": LocalJSX.FeedlogIssuesClient & JSXBase.HTMLAttributes<HTMLFeedlogIssuesClientElement>;
641
689
  /**
642
690
  * Feedlog Issues List Component
643
691
  * A component for displaying a list of GitHub issues with support for bugs and enhancements.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feedlog-ai/webcomponents",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "description": "Stencil web components for Feedlog Toolkit - Data visualization components",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.js",
@@ -59,7 +59,7 @@
59
59
  "clean": "rm -rf dist loader"
60
60
  },
61
61
  "dependencies": {
62
- "@feedlog-ai/core": "^0.0.21",
62
+ "@feedlog-ai/core": "^0.0.23",
63
63
  "dompurify": "^3.3.1",
64
64
  "marked": "^17.0.2"
65
65
  },