@feedlog-ai/webcomponents 0.0.20 → 0.0.22

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 (67) hide show
  1. package/README.md +20 -5
  2. package/dist/cjs/feedlog-badge.cjs.entry.js +3 -3
  3. package/dist/cjs/feedlog-button_2.cjs.entry.js +1547 -8
  4. package/dist/cjs/feedlog-card.cjs.entry.js +1 -1
  5. package/dist/cjs/feedlog-github-issues-client.cjs.entry.js +24 -18
  6. package/dist/cjs/feedlog-github-issues.cjs.entry.js +14 -4
  7. package/dist/cjs/feedlog-issues-list.cjs.entry.js +8 -37
  8. package/dist/cjs/feedlog-toolkit.cjs.js +2 -2
  9. package/dist/cjs/{index-5lluu_3h.js → index-DnsqTPII.js} +0 -37
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/collection/components/feedlog-badge/feedlog-badge.css +15 -3
  12. package/dist/collection/components/feedlog-badge/feedlog-badge.js +3 -3
  13. package/dist/collection/components/feedlog-github-issues/feedlog-github-issues.css +202 -13
  14. package/dist/collection/components/feedlog-github-issues/feedlog-github-issues.js +73 -2
  15. package/dist/collection/components/feedlog-github-issues/feedlog-github-issues.stories.js +56 -6
  16. package/dist/collection/components/feedlog-github-issues-client/feedlog-github-issues-client.js +63 -2
  17. package/dist/collection/components/feedlog-issue/feedlog-issue.css +196 -46
  18. package/dist/collection/components/feedlog-issue/feedlog-issue.js +71 -6
  19. package/dist/collection/components/feedlog-issue/feedlog-issue.stories.js +115 -3
  20. package/dist/collection/components/feedlog-issues-list/feedlog-issues-list.css +3 -209
  21. package/dist/collection/components/feedlog-issues-list/feedlog-issues-list.js +29 -35
  22. package/dist/collection/utils/markdown.js +48 -0
  23. package/dist/components/feedlog-badge.js +1 -1
  24. package/dist/components/feedlog-github-issues-client.js +1 -1
  25. package/dist/components/feedlog-github-issues.js +1 -1
  26. package/dist/components/feedlog-issue.js +1 -1
  27. package/dist/components/feedlog-issues-list.js +1 -1
  28. package/dist/components/index.js +1 -1
  29. package/dist/components/p-BBPFf6g7.js +3 -0
  30. package/dist/components/p-Chc3XZ5Y.js +1 -0
  31. package/dist/components/p-cag4iyHV.js +1 -0
  32. package/dist/esm/feedlog-badge.entry.js +3 -3
  33. package/dist/esm/feedlog-button_2.entry.js +1547 -8
  34. package/dist/esm/feedlog-card.entry.js +1 -1
  35. package/dist/esm/feedlog-github-issues-client.entry.js +24 -18
  36. package/dist/esm/feedlog-github-issues.entry.js +14 -4
  37. package/dist/esm/feedlog-issues-list.entry.js +8 -37
  38. package/dist/esm/feedlog-toolkit.js +3 -3
  39. package/dist/esm/{index-CkB6Yzeb.js → index-rs_66Oq4.js} +0 -37
  40. package/dist/esm/loader.js +3 -3
  41. package/dist/feedlog-toolkit/feedlog-toolkit.esm.js +1 -1
  42. package/dist/feedlog-toolkit/p-13773ed6.entry.js +1 -0
  43. package/dist/feedlog-toolkit/{p-cdb2b098.entry.js → p-4e90285c.entry.js} +1 -1
  44. package/dist/feedlog-toolkit/p-9b515728.entry.js +1 -0
  45. package/dist/feedlog-toolkit/p-da51c7fd.entry.js +1 -0
  46. package/dist/feedlog-toolkit/p-dad7b157.entry.js +3 -0
  47. package/dist/feedlog-toolkit/p-e5ba7dd7.entry.js +1 -0
  48. package/dist/feedlog-toolkit/p-rs_66Oq4.js +2 -0
  49. package/dist/types/components/feedlog-badge/feedlog-badge.d.ts +1 -1
  50. package/dist/types/components/feedlog-github-issues/feedlog-github-issues.d.ts +16 -1
  51. package/dist/types/components/feedlog-github-issues/feedlog-github-issues.stories.d.ts +1 -0
  52. package/dist/types/components/feedlog-github-issues-client/feedlog-github-issues-client.d.ts +14 -1
  53. package/dist/types/components/feedlog-issue/feedlog-issue.d.ts +19 -2
  54. package/dist/types/components/feedlog-issue/feedlog-issue.stories.d.ts +10 -0
  55. package/dist/types/components/feedlog-issues-list/feedlog-issues-list.d.ts +5 -5
  56. package/dist/types/components.d.ts +68 -4
  57. package/dist/types/utils/markdown.d.ts +5 -0
  58. package/package.json +4 -2
  59. package/dist/components/p-Bu_AsIay.js +0 -1
  60. package/dist/components/p-CHtSMTyP.js +0 -1
  61. package/dist/components/p-Cp7B8xwh.js +0 -1
  62. package/dist/feedlog-toolkit/p-2401f510.entry.js +0 -1
  63. package/dist/feedlog-toolkit/p-5df44120.entry.js +0 -1
  64. package/dist/feedlog-toolkit/p-95fea2f4.entry.js +0 -1
  65. package/dist/feedlog-toolkit/p-CkB6Yzeb.js +0 -2
  66. package/dist/feedlog-toolkit/p-b4b631f3.entry.js +0 -1
  67. package/dist/feedlog-toolkit/p-c19a4d1b.entry.js +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-5lluu_3h.js');
3
+ var index = require('./index-DnsqTPII.js');
4
4
 
5
5
  const feedlogCardCss = () => `:host{display:block;font-family:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;--feedlog-card:#ffffff;--feedlog-card-foreground:oklch(0.145 0 0);--feedlog-border:rgba(0, 0, 0, 0.1);--feedlog-radius:0.625rem;--feedlog-card-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);--feedlog-card-hover-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)}:host(.dark){--feedlog-card:oklch(0.145 0 0);--feedlog-card-foreground:oklch(0.985 0 0);--feedlog-border:oklch(0.269 0 0);--feedlog-card-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -2px rgba(0, 0, 0, 0.3);--feedlog-card-hover-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -4px rgba(0, 0, 0, 0.3)}.feedlog-card{background-color:var(--feedlog-card);color:var(--feedlog-card-foreground);border:1px solid var(--feedlog-border);border-radius:var(--feedlog-radius);box-shadow:var(--feedlog-card-shadow);transition:box-shadow 0.15s ease;position:relative}.feedlog-card:hover{box-shadow:var(--feedlog-card-hover-shadow)}::slotted([slot="header"]){display:block}::slotted([slot="content"]){display:block}::slotted([slot="footer"]){display:block}`;
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-5lluu_3h.js');
3
+ var index = require('./index-DnsqTPII.js');
4
4
 
5
5
  /**
6
6
  * HTML and XSS sanitization utilities
@@ -260,29 +260,35 @@ class FeedlogSDK {
260
260
  if (typeof issue.id !== 'string') {
261
261
  throw new FeedlogValidationError('Invalid issue: id is required and must be a string');
262
262
  }
263
- if (typeof issue.title !== 'string') {
264
- throw new FeedlogValidationError('Invalid issue: title is required and must be a string');
265
- }
266
263
  if (!['bug', 'enhancement'].includes(String(issue.type))) {
267
264
  throw new FeedlogValidationError('Invalid issue: type must be "bug" or "enhancement"');
268
265
  }
269
- if (!['open', 'closed'].includes(String(issue.status))) {
270
- throw new FeedlogValidationError('Invalid issue: status must be "open" or "closed"');
266
+ if (!['open', 'in_progress', 'closed'].includes(String(issue.status))) {
267
+ throw new FeedlogValidationError('Invalid issue: status must be "open", "in_progress", or "closed"');
271
268
  }
272
269
  if (!issue.repository || typeof issue.repository !== 'object') {
273
270
  throw new FeedlogValidationError('Invalid issue: repository is required');
274
271
  }
275
272
  const repo = issue.repository;
276
- if (typeof repo.id !== 'string' ||
277
- typeof repo.name !== 'string' ||
278
- typeof repo.owner !== 'string') {
279
- throw new FeedlogValidationError('Invalid issue: repository must have id, name, and owner');
280
- }
281
- // Sanitize string fields to prevent XSS
282
- const sanitizedTitle = sanitizeHtml(String(issue.title));
283
- const sanitizedBody = sanitizeHtml(String(issue.body || ''));
273
+ if (typeof repo.id !== 'string') {
274
+ throw new FeedlogValidationError('Invalid issue: repository must have id');
275
+ }
276
+ // githubIssueLink: string | null (null for private repos)
277
+ const githubIssueLink = issue.githubIssueLink !== null && typeof issue.githubIssueLink === 'string'
278
+ ? String(issue.githubIssueLink)
279
+ : null;
280
+ // Sanitize string fields to prevent XSS (handle null)
281
+ const rawTitle = issue.title;
282
+ const sanitizedTitle = rawTitle != null && rawTitle !== '' ? sanitizeHtml(String(rawTitle)) : null;
283
+ const rawBody = issue.body;
284
+ const sanitizedBody = rawBody != null && rawBody !== '' ? sanitizeHtml(String(rawBody)) : null;
285
+ const rawRepoName = repo.name;
286
+ const repoName = rawRepoName != null && rawRepoName !== '' ? String(rawRepoName) : null;
287
+ const rawRepoDesc = repo.description;
288
+ const repoDescription = rawRepoDesc != null && rawRepoDesc !== '' ? sanitizeHtml(String(rawRepoDesc)) : null;
284
289
  return {
285
290
  id: String(issue.id),
291
+ githubIssueLink,
286
292
  type: issue.type || 'bug',
287
293
  status: issue.status || 'open',
288
294
  pinnedAt: issue.pinnedAt ? String(issue.pinnedAt) : null,
@@ -291,8 +297,8 @@ class FeedlogSDK {
291
297
  body: sanitizedBody,
292
298
  repository: {
293
299
  id: String(repo.id),
294
- name: String(repo.name),
295
- owner: String(repo.owner),
300
+ name: repoName,
301
+ description: repoDescription,
296
302
  },
297
303
  updatedAt: String(issue.updatedAt) || new Date().toISOString(),
298
304
  createdAt: String(issue.createdAt) || new Date().toISOString(),
@@ -482,7 +488,7 @@ const FeedlogGithubIssuesClient = class {
482
488
  if (this.isDisconnected || currentRequestId !== this.fetchRequestId) {
483
489
  return;
484
490
  }
485
- const errorMsg = err instanceof Error ? err.message : 'Failed to fetch issues';
491
+ const errorMsg = err instanceof Error ? err.message : "Couldn't load updates";
486
492
  this.error = errorMsg;
487
493
  this.issues = [];
488
494
  this.feedlogError.emit({
@@ -547,7 +553,7 @@ const FeedlogGithubIssuesClient = class {
547
553
  }
548
554
  }
549
555
  render() {
550
- return (index.h("feedlog-github-issues", { key: '77a441edc78e0797deac65e2705adff880056e56', issues: this.issues, maxWidth: this.maxWidth, theme: this.theme, heading: this.heading, subtitle: this.subtitle, loading: this.loading, error: this.error, hasMore: this.hasMore, isLoadingMore: this.isLoadingMore, onFeedlogUpvote: this.handleUpvote, onFeedlogLoadMore: async () => this.loadMore() }));
556
+ return (index.h("feedlog-github-issues", { key: '4bc46e4f2622d4c2c5080835ae436ae9fc37c991', issues: this.issues, maxWidth: this.maxWidth, theme: this.theme, heading: this.heading, subtitle: this.subtitle, emptyStateTitle: this.emptyStateTitle, emptyStateMessage: this.emptyStateMessage, getIssueUrl: this.getIssueUrl, loading: this.loading, error: this.error, hasMore: this.hasMore, isLoadingMore: this.isLoadingMore, onFeedlogUpvote: this.handleUpvote, onFeedlogLoadMore: async () => this.loadMore() }));
551
557
  }
552
558
  };
553
559
 
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-5lluu_3h.js');
3
+ var index = require('./index-DnsqTPII.js');
4
4
 
5
- const feedlogGithubIssuesCss = () => `:host{display:block;font-family:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;--feedlog-background:#ffffff;--feedlog-foreground:oklch(0.145 0 0);--feedlog-card:#ffffff;--feedlog-card-foreground:oklch(0.145 0 0);--feedlog-muted:#ececf0;--feedlog-muted-foreground:#717182;--feedlog-border:rgba(0, 0, 0, 0.1);--feedlog-accent-color:#2563eb;--feedlog-destructive:#d4183d;--feedlog-blue-400:oklch(0.707 0.165 254.624);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-blue-100:oklch(0.932 0.032 255.585);--feedlog-red-100:#fce7f3;--feedlog-red-400:#f472b6;--feedlog-red-600:#db2777;--feedlog-radius:0.625rem;--feedlog-gap:0.5rem;--feedlog-padding:2rem}:host(.dark){--feedlog-background:oklch(0.145 0 0);--feedlog-foreground:oklch(0.985 0 0);--feedlog-card:oklch(0.145 0 0);--feedlog-card-foreground:oklch(0.985 0 0);--feedlog-muted:oklch(0.269 0 0);--feedlog-muted-foreground:oklch(0.708 0 0);--feedlog-border:oklch(0.269 0 0);--feedlog-accent-color:#3b82f6;--feedlog-destructive:oklch(0.396 0.141 25.723);--feedlog-blue-400:oklch(0.707 0.165 254.624);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-blue-900-30:color-mix(in oklab, oklch(0.379 0.146 265.522) 30%, transparent);--feedlog-red-900-30:color-mix(in oklab, oklch(0.396 0.141 25.723) 30%, transparent)}.github-issues-container{min-height:100vh;background-color:var(--feedlog-background);padding:var(--feedlog-padding);margin:0 auto}.issues-header{margin-bottom:1.5rem;display:flex;align-items:flex-start;justify-content:space-between}.header-content{flex:1}.issues-title{color:var(--feedlog-foreground);margin:0 0 0.25rem 0;font-size:1.5rem;font-weight:500;line-height:1.5}.issues-subtitle{color:var(--feedlog-muted-foreground);font-size:0.875rem;margin:0}.loading-state,.error-state{padding:2rem;text-align:center;color:var(--feedlog-muted-foreground)}.error-state{color:var(--feedlog-destructive)}.issues-list{display:flex;flex-direction:column;gap:var(--feedlog-gap)}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--feedlog-muted-foreground);font-size:0.875rem}.load-more-container{display:flex;justify-content:center;padding:2rem 0;gap:1rem}`;
5
+ const feedlogGithubIssuesCss = () => `:host{display:block;font-family:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;--feedlog-background:#ffffff;--feedlog-foreground:oklch(0.145 0 0);--feedlog-card:#ffffff;--feedlog-card-foreground:oklch(0.145 0 0);--feedlog-muted:#ececf0;--feedlog-muted-foreground:#717182;--feedlog-border:rgba(0, 0, 0, 0.1);--feedlog-accent-color:#2563eb;--feedlog-destructive:#d4183d;--feedlog-blue-400:oklch(0.707 0.165 254.624);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-blue-100:oklch(0.932 0.032 255.585);--feedlog-red-100:#fce7f3;--feedlog-red-400:#f472b6;--feedlog-red-600:#db2777;--feedlog-radius:0.625rem;--feedlog-gap:0.5rem;--feedlog-padding:2rem;--feedlog-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.08), 0 1px 2px -1px rgba(0, 0, 0, 0.08);--feedlog-empty-illustration-bg:oklch(0.96 0.01 260);--feedlog-empty-illustration-stroke:oklch(0.75 0.02 260);--feedlog-empty-illustration-muted:oklch(0.82 0.01 260)}:host(.dark){--feedlog-background:oklch(0.18 0.01 260);--feedlog-foreground:oklch(0.985 0 0);--feedlog-card:oklch(0.24 0.01 260);--feedlog-card-foreground:oklch(0.985 0 0);--feedlog-muted:oklch(0.32 0.01 260);--feedlog-muted-foreground:oklch(0.72 0.02 260);--feedlog-border:oklch(0.34 0.01 260);--feedlog-accent-color:#3b82f6;--feedlog-destructive:oklch(0.396 0.141 25.723);--feedlog-blue-400:oklch(0.707 0.165 254.624);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-blue-900-30:color-mix(in oklab, oklch(0.379 0.146 265.522) 30%, transparent);--feedlog-red-900-30:color-mix(in oklab, oklch(0.396 0.141 25.723) 30%, transparent);--feedlog-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.3);--feedlog-empty-illustration-bg:oklch(0.28 0.02 260);--feedlog-empty-illustration-stroke:oklch(0.45 0.02 260);--feedlog-empty-illustration-muted:oklch(0.38 0.02 260)}.github-issues-container{min-height:100vh;background-color:var(--feedlog-background);padding:var(--feedlog-padding);margin:0 auto}.issues-header{margin-bottom:1.5rem;display:flex;align-items:flex-start;justify-content:space-between}.header-content{flex:1}.issues-title{color:var(--feedlog-foreground);margin:0 0 0.25rem 0;font-size:1.5rem;font-weight:500;line-height:1.5}.issues-subtitle{color:var(--feedlog-muted-foreground);font-size:0.875rem;margin:0}.loading-state{padding:0}.loading-skeletons{display:flex;flex-direction:column;gap:var(--feedlog-gap)}.skeleton-card{background-color:var(--feedlog-card);border:1px solid var(--feedlog-border);border-radius:var(--feedlog-radius);box-shadow:var(--feedlog-shadow);position:relative;overflow:hidden}.skeleton-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--feedlog-muted)}.skeleton-content{padding:1.25rem;padding-left:calc(1.25rem + 3px);display:flex;flex-direction:column;gap:0.875rem}.skeleton-header{display:flex;align-items:center;justify-content:space-between;gap:0.75rem}.skeleton-badge{width:4.5rem;height:1.25rem;border-radius:0.375rem;background-color:var(--feedlog-muted);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-timestamp{width:3rem;height:0.75rem;border-radius:0.25rem;background-color:var(--feedlog-muted);animation:skeleton-pulse 1.5s ease-in-out infinite 0.2s}.skeleton-main{display:flex;flex-direction:column;gap:0.5rem}.skeleton-title{height:0.9375rem;border-radius:0.25rem;background-color:var(--feedlog-muted);animation:skeleton-pulse 1.5s ease-in-out infinite 0.1s;width:85%}.skeleton-body{display:flex;flex-direction:column;gap:0.375rem}.skeleton-line{height:0.8125rem;border-radius:0.25rem;background-color:var(--feedlog-muted);animation:skeleton-pulse 1.5s ease-in-out infinite 0.15s;width:100%}.skeleton-line.short{width:70%}.skeleton-repo{width:6rem;height:0.75rem;border-radius:0.25rem;background-color:var(--feedlog-muted);animation:skeleton-pulse 1.5s ease-in-out infinite 0.25s}.skeleton-footer{display:flex;justify-content:flex-end}.skeleton-upvote{width:2.5rem;height:2rem;border-radius:0.5rem;background-color:var(--feedlog-muted);animation:skeleton-pulse 1.5s ease-in-out infinite 0.3s}@keyframes skeleton-pulse{0%,100%{opacity:1}50%{opacity:0.5}}.error-state{display:flex;align-items:center;justify-content:center;padding:3rem 2rem;min-height:12rem}.error-state-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:20rem;padding:2rem}.error-icon{color:var(--feedlog-muted-foreground);opacity:0.8;margin-bottom:1rem}.error-state-title{margin:0 0 0.5rem 0;font-size:1.125rem;font-weight:600;color:var(--feedlog-foreground);line-height:1.4}.error-state-message{margin:0 0 1.25rem 0;font-size:0.875rem;color:var(--feedlog-muted-foreground);line-height:1.5}.issues-list{display:flex;flex-direction:column;gap:var(--feedlog-gap)}.empty-state{display:flex;align-items:center;justify-content:center;padding:4rem 2rem;min-height:16rem}.empty-state-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:20rem}.empty-state-illustration{margin-bottom:1.5rem;opacity:0.9}.empty-state-title{margin:0 0 0.5rem 0;font-size:1.125rem;font-weight:600;color:var(--feedlog-foreground);line-height:1.4}.empty-state-message{margin:0;font-size:0.875rem;color:var(--feedlog-muted-foreground);line-height:1.5}.load-more-container{display:flex;justify-content:center;padding:2rem 0;gap:1rem}`;
6
6
 
7
7
  const FeedlogGithubIssues = class {
8
8
  constructor(hostRef) {
@@ -52,14 +52,24 @@ const FeedlogGithubIssues = class {
52
52
  componentWillLoad() {
53
53
  this.currentTheme = this.theme;
54
54
  }
55
+ renderEmptyStateIllustration() {
56
+ return (index.h("svg", { class: "empty-state-illustration", xmlns: "http://www.w3.org/2000/svg", width: "120", height: "96", viewBox: "0 0 120 96", fill: "none", "aria-hidden": "true" }, index.h("path", { d: "M20 36h80v44c0 4.4-3.6 8-8 8H28c-4.4 0-8-3.6-8-8V36z", fill: "var(--feedlog-empty-illustration-bg)", stroke: "var(--feedlog-empty-illustration-stroke)", "stroke-width": "1.5", "stroke-linejoin": "round" }), index.h("path", { d: "M20 36l20-24h40l20 24", fill: "none", stroke: "var(--feedlog-empty-illustration-stroke)", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), index.h("path", { d: "M44 52h32M44 60h24M44 68h28", stroke: "var(--feedlog-empty-illustration-muted)", "stroke-width": "1.25", "stroke-linecap": "round" })));
57
+ }
58
+ renderErrorIcon() {
59
+ return (index.h("svg", { class: "error-icon", xmlns: "http://www.w3.org/2000/svg", width: "48", height: "48", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, index.h("circle", { cx: "12", cy: "12", r: "10" }), index.h("line", { x1: "12", y1: "8", x2: "12", y2: "12" }), index.h("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })));
60
+ }
55
61
  renderIssuesList() {
56
- return (index.h("div", { class: "issues-list" }, this.issues.length === 0 ? (index.h("div", { class: "empty-state" }, index.h("p", null, "No issues found"))) : (this.issues.map(issue => (index.h("feedlog-issue", { key: issue.id, issue: issue, theme: this.currentTheme, onFeedlogUpvote: (e) => this.handleUpvote(e) }))))));
62
+ var _a, _b;
63
+ return (index.h("div", { class: "issues-list" }, this.issues.length === 0 ? (index.h("div", { class: "empty-state" }, index.h("div", { class: "empty-state-content" }, this.renderEmptyStateIllustration(), index.h("h2", { class: "empty-state-title" }, (_a = this.emptyStateTitle) !== null && _a !== void 0 ? _a : 'No updates yet'), index.h("p", { class: "empty-state-message" }, (_b = this.emptyStateMessage) !== null && _b !== void 0 ? _b : 'Check back later for new updates.')))) : (this.issues.map(issue => {
64
+ var _a, _b;
65
+ return (index.h("feedlog-issue", { key: issue.id, issue: issue, issueUrl: (_b = (_a = this.getIssueUrl) === null || _a === void 0 ? void 0 : _a.call(this, issue)) !== null && _b !== void 0 ? _b : undefined, theme: this.currentTheme, onFeedlogUpvote: (e) => this.handleUpvote(e) }));
66
+ }))));
57
67
  }
58
68
  render() {
59
69
  const containerStyle = {
60
70
  maxWidth: this.maxWidth,
61
71
  };
62
- return (index.h(index.Host, { key: '3d3f6aaaf7efc9bf81476e1ff793d68a8fc46db1', class: this.currentTheme === 'dark' ? 'dark' : '' }, index.h("div", { key: 'b3114878ce3b649bb1dbec9eb2502bad2c2dfe27', class: "github-issues-container", style: containerStyle }, (this.heading || this.subtitle) && (index.h("header", { key: '3effa7137e3138b8709f12442beaaf58f7873e91', class: "issues-header" }, index.h("div", { key: '7904676ced41f4c738c265a571d2a447155f13f3', class: "header-content" }, this.heading && index.h("h1", { key: 'f139c2087642ede74542be0064273d92f27938d7', class: "issues-title" }, this.heading), this.subtitle && index.h("p", { key: 'c3af89d4abfb48ba225f362031705a14833f0ab7', class: "issues-subtitle" }, this.subtitle)))), this.loading && (index.h("div", { key: '1ed8c88a52808bbfb3a1ac86c9535cb87f32773a', class: "loading-state" }, index.h("p", { key: 'd093c2edcfaba2c136c6915bfe183f7e8f25de8b' }, "Loading issues..."))), this.error && (index.h("div", { key: '05ab37ee5c061a321fc7a8c407af04cae269f304', class: "error-state" }, index.h("p", { key: '7388ef1b66265953f30b65618f2b96c519702bdb' }, "Error: ", this.error))), !this.loading && !this.error && (index.h("div", { key: '5968b7ad6c13c7d0edf0a497eb51bd88978def9c' }, this.renderIssuesList(), this.hasMore && (index.h("div", { key: '7cfe136735f497f239a5be2befa6c3add99c7bcb', class: "load-more-container" }, index.h("feedlog-button", { key: '6fcdaf69873d51518d58baa9c3f8dba8a705ad5f', onFeedlogClick: this.handleLoadMore, disabled: this.isLoadingMore, variant: "outline" }, this.isLoadingMore ? 'Loading...' : 'Load More Issues'))))))));
72
+ return (index.h(index.Host, { key: 'fbd1890061b47db8b850a8d993e2ac5432c4b3f6', class: this.currentTheme === 'dark' ? 'dark' : '' }, index.h("div", { key: '5ce9267da314ebb69ed8ee00f28015fdad73ab8a', class: "github-issues-container", style: containerStyle }, (this.heading || this.subtitle) && (index.h("header", { key: '461c707df1e5dc7eaab15462de975fafdce872df', class: "issues-header" }, index.h("div", { key: 'e6972c2f0cfe5630cc73fb41a2103c9b0118179c', class: "header-content" }, this.heading && index.h("h1", { key: 'd74e89c1ad981da6c4287e5b75256bfb831f1172', class: "issues-title" }, this.heading), this.subtitle && index.h("p", { key: 'c820d8e3beaa57c0c193ceaace1d13e94a2a6290', class: "issues-subtitle" }, this.subtitle)))), this.loading && (index.h("div", { key: '959be24cb77b257fba5197302448f78af553817e', class: "loading-state", role: "status", "aria-label": "Loading issues" }, index.h("div", { key: 'e69594f18e3268208634a3ad82cb2ae0bc552c11', class: "loading-skeletons" }, [1, 2, 3].map(i => (index.h("div", { key: i, class: "skeleton-card" }, index.h("div", { class: "skeleton-content" }, index.h("div", { class: "skeleton-header" }, index.h("div", { class: "skeleton-badge" }), index.h("div", { class: "skeleton-timestamp" })), index.h("div", { class: "skeleton-main" }, index.h("div", { class: "skeleton-title" }), index.h("div", { class: "skeleton-body" }, index.h("div", { class: "skeleton-line" }), index.h("div", { class: "skeleton-line short" })), index.h("div", { class: "skeleton-repo" })), index.h("div", { class: "skeleton-footer" }, index.h("div", { class: "skeleton-upvote" }))))))))), this.error && (index.h("div", { key: '93e82b0beca0b96c23803b1abfc3d50fe099fa6a', class: "error-state", role: "alert" }, index.h("div", { key: '9276d85925d02bd4c81d5ee44a5d6a8af986c4c9', class: "error-state-content" }, this.renderErrorIcon(), index.h("h2", { key: '6f5762740f908712a46cddeafae675294d3bcc40', class: "error-state-title" }, "Something went wrong"), index.h("p", { key: 'f1587bd9a2abe250aa730d64498a5105a412d657', class: "error-state-message" }, this.error)))), !this.loading && !this.error && (index.h("div", { key: '22c68553352358a9a408ea763af1e63c9c84eabd' }, this.renderIssuesList(), this.hasMore && (index.h("div", { key: '231ec6f4680b4b114ba72c657f9801d84951a6d6', class: "load-more-container" }, index.h("feedlog-button", { key: '18fa475708fe233f3f9d0ec85bf0f8daea9a4a0a', onFeedlogClick: this.handleLoadMore, disabled: this.isLoadingMore, variant: "outline" }, this.isLoadingMore ? 'Loading...' : 'Load More Issues'))))))));
63
73
  }
64
74
  };
65
75
  FeedlogGithubIssues.style = feedlogGithubIssuesCss();
@@ -1,13 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-5lluu_3h.js');
3
+ var index = require('./index-DnsqTPII.js');
4
4
 
5
- const feedlogIssuesListCss = () => `:host{display:block;font-family:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;--feedlog-background:#ffffff;--feedlog-foreground:oklch(0.145 0 0);--feedlog-card:#ffffff;--feedlog-card-foreground:oklch(0.145 0 0);--feedlog-muted:#ececf0;--feedlog-muted-foreground:#717182;--feedlog-border:rgba(0, 0, 0, 0.1);--feedlog-accent-color:#2563eb;--feedlog-destructive:#d4183d;--feedlog-blue-400:oklch(0.707 0.165 254.624);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-blue-100:oklch(0.932 0.032 255.585);--feedlog-red-100:#fce7f3;--feedlog-red-400:#f472b6;--feedlog-red-600:#db2777;--feedlog-radius:0.625rem;--feedlog-gap:0.5rem}:host(.dark){--feedlog-background:oklch(0.145 0 0);--feedlog-foreground:oklch(0.985 0 0);--feedlog-card:oklch(0.145 0 0);--feedlog-card-foreground:oklch(0.985 0 0);--feedlog-muted:oklch(0.269 0 0);--feedlog-muted-foreground:oklch(0.708 0 0);--feedlog-border:oklch(0.269 0 0);--feedlog-accent-color:#3b82f6;--feedlog-destructive:oklch(0.396 0.141 25.723);--feedlog-blue-400:oklch(0.707 0.165 254.624);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-blue-900-30:color-mix(in oklab, oklch(0.379 0.146 265.522) 30%, transparent);--feedlog-red-900-30:color-mix(in oklab, oklch(0.396 0.141 25.723) 30%, transparent)}.issues-list{display:flex;flex-direction:column;gap:var(--feedlog-gap)}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--feedlog-muted-foreground);font-size:0.875rem}.issue-card{background-color:var(--feedlog-card);border:1px solid var(--feedlog-border);border-radius:var(--feedlog-radius);box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);transition:box-shadow 0.15s ease;position:relative}.issue-card:hover{box-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)}.issue-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.issue-header{display:flex;align-items:center;gap:0.5rem;justify-content:space-between}.issue-type-badge{width:fit-content}.pinned-indicator{font-size:1rem;opacity:0.7}.issue-main{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.issue-details{flex:1;min-width:0}.issue-title{margin:0 0 0.5rem 0;font-size:1rem;font-weight:600;color:var(--feedlog-card-foreground);line-height:1.5;word-wrap:break-word}.issue-body{margin:0 0 0.75rem 0;font-size:0.875rem;color:var(--feedlog-muted-foreground);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-wrap:break-word}.issue-repository{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;color:var(--feedlog-muted-foreground)}.repo-name{font-weight:500}.github-number{background-color:var(--feedlog-muted);padding:0.125rem 0.375rem;border-radius:0.25rem;font-family:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace}.upvote-button{display:flex;align-items:center;gap:0.375rem;padding:0.5rem 0.75rem;background-color:var(--feedlog-muted);border:1px solid var(--feedlog-border);border-radius:var(--feedlog-radius);color:var(--feedlog-muted-foreground);font-size:0.875rem;font-weight:500;cursor:pointer;transition:all 0.15s ease;white-space:nowrap}.upvote-button:hover{background-color:var(--feedlog-accent-color);color:white}.upvote-button.upvoted{background-color:var(--feedlog-destructive);color:white;border-color:var(--feedlog-destructive)}.upvote-button.upvoted:hover{background-color:var(--feedlog-red-600);border-color:var(--feedlog-red-600)}.upvote-icon{width:1rem;height:1rem;flex-shrink:0}.upvote-icon.filled{color:currentColor}.upvote-icon.outline{stroke:currentColor}.upvote-count{font-variant-numeric:tabular-nums}.issue-footer{display:flex;align-items:center;gap:1rem;font-size:0.75rem;color:var(--feedlog-muted-foreground)}.issue-date{white-space:nowrap}@media (max-width: 640px){.issue-content{padding:1rem;gap:0.75rem}.issue-main{flex-direction:column;align-items:stretch;gap:0.75rem}.upvote-button{align-self:flex-start}.issue-footer{flex-direction:column;align-items:flex-start;gap:0.25rem}}`;
5
+ const feedlogIssuesListCss = () => `:host{display:block;--feedlog-muted-foreground:#64748b}:host(.dark){--feedlog-muted-foreground:oklch(0.72 0.02 260)}.issues-list{display:flex;flex-direction:column;gap:0.5rem}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--feedlog-muted-foreground);font-size:0.875rem}`;
6
6
 
7
- /**
8
- * Heart icon SVG component - renders filled or outline based on prop
9
- */
10
- const HeartIcon = ({ filled }) => (index.h("svg", { class: `upvote-icon ${filled ? 'filled' : 'outline'}`, xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: filled ? 'currentColor' : 'none', stroke: filled ? 'none' : 'currentColor', "stroke-width": filled ? undefined : '2', "stroke-linecap": filled ? undefined : 'round', "stroke-linejoin": filled ? undefined : 'round' }, index.h("path", { d: "M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" })));
11
7
  const FeedlogIssuesList = class {
12
8
  constructor(hostRef) {
13
9
  index.registerInstance(this, hostRef);
@@ -20,41 +16,16 @@ const FeedlogIssuesList = class {
20
16
  * Theme variant: 'light' or 'dark'
21
17
  */
22
18
  this.theme = 'light';
23
- this.handleUpvote = (event, issue) => {
19
+ this.handleUpvote = (event) => {
24
20
  event.stopPropagation();
25
- this.feedlogUpvote.emit({
26
- issueId: issue.id,
27
- currentUpvoted: issue.hasUpvoted,
28
- currentCount: issue.upvoteCount,
29
- });
21
+ this.feedlogUpvote.emit(event.detail);
30
22
  };
31
23
  }
32
- /**
33
- * Format an ISO date string to a relative time string
34
- */
35
- formatDate(dateString) {
36
- try {
37
- const date = new Date(dateString);
38
- const now = new Date();
39
- const seconds = Math.floor((now.getTime() - date.getTime()) / 1000);
40
- if (seconds < 60)
41
- return 'just now';
42
- if (seconds < 3600)
43
- return `${Math.floor(seconds / 60)}m ago`;
44
- if (seconds < 86400)
45
- return `${Math.floor(seconds / 3600)}h ago`;
46
- if (seconds < 604800)
47
- return `${Math.floor(seconds / 86400)}d ago`;
48
- if (seconds < 2592000)
49
- return `${Math.floor(seconds / 604800)}w ago`;
50
- return date.toLocaleDateString();
51
- }
52
- catch (_a) {
53
- return 'unknown date';
54
- }
55
- }
56
24
  render() {
57
- return (index.h(index.Host, { key: 'ca131697a47a0e062454d7ec3b8b29d112d50e4b', class: this.theme === 'dark' ? 'dark' : '' }, index.h("div", { key: 'e5738dadb712834eedb6a1508c1049e8ae5328f7', class: "issues-list" }, this.issues.length === 0 ? (index.h("div", { class: "empty-state" }, index.h("p", null, "No issues found"))) : (this.issues.map(issue => (index.h("div", { key: issue.id, class: "issue-card" }, index.h("div", { class: "issue-content" }, index.h("div", { class: "issue-header" }, index.h("div", { class: "issue-type-badge" }, issue.type === 'bug' ? (index.h("feedlog-badge", { variant: "destructive" }, "Bug")) : (index.h("feedlog-badge", { variant: "enhancement" }, "Enhancement"))), issue.pinnedAt && (index.h("div", { class: "pinned-indicator", title: "Pinned issue" }, "\uD83D\uDCCC"))), index.h("div", { class: "issue-main" }, index.h("div", { class: "issue-details" }, index.h("h3", { class: "issue-title" }, issue.title), index.h("p", { class: "issue-body" }, issue.body), index.h("div", { class: "issue-repository" }, index.h("span", { class: "repo-name" }, issue.repository.owner, "/", issue.repository.name))), index.h("button", { class: `upvote-button ${issue.hasUpvoted ? 'upvoted' : ''}`, onClick: e => this.handleUpvote(e, issue), title: issue.hasUpvoted ? 'Remove upvote' : 'Upvote this issue' }, index.h(HeartIcon, { filled: issue.hasUpvoted }), index.h("span", { class: "upvote-count" }, issue.upvoteCount))), index.h("div", { class: "issue-footer" }, index.h("span", { class: "issue-date", title: `Updated: ${issue.updatedAt}` }, "Updated ", this.formatDate(issue.updatedAt)), index.h("span", { class: "issue-date", title: `Created: ${issue.createdAt}` }, "Created ", this.formatDate(issue.createdAt)))))))))));
25
+ return (index.h(index.Host, { key: '005de8cf99383128f6973be57d84499c8ca9afd3', class: this.theme === 'dark' ? 'dark' : '' }, index.h("div", { key: '60edc37014f6703b9400dc8bf06726c9a8428a3b', class: "issues-list" }, this.issues.length === 0 ? (index.h("div", { class: "empty-state" }, index.h("p", null, "No issues found"))) : (this.issues.map(issue => {
26
+ var _a, _b;
27
+ return (index.h("feedlog-issue", { key: issue.id, issue: issue, issueUrl: (_b = (_a = this.getIssueUrl) === null || _a === void 0 ? void 0 : _a.call(this, issue)) !== null && _b !== void 0 ? _b : undefined, theme: this.theme, onFeedlogUpvote: (e) => this.handleUpvote(e) }));
28
+ })))));
58
29
  }
59
30
  };
60
31
  FeedlogIssuesList.style = feedlogIssuesListCss();
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-5lluu_3h.js');
3
+ var index = require('./index-DnsqTPII.js');
4
4
 
5
5
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
6
6
  /*
@@ -18,7 +18,7 @@ var patchBrowser = () => {
18
18
 
19
19
  patchBrowser().then(async (options) => {
20
20
  await index.globalScripts();
21
- return index.bootstrapLazy([["feedlog-issues-list.cjs",[[1,"feedlog-issues-list",{"issues":[16],"theme":[1]}]]],["feedlog-card.cjs",[[257,"feedlog-card"]]],["feedlog-badge.cjs",[[257,"feedlog-badge",{"variant":[1]}]]],["feedlog-button_2.cjs",[[1,"feedlog-issue",{"issue":[16],"theme":[1]}],[257,"feedlog-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1]}]]],["feedlog-github-issues.cjs",[[1,"feedlog-github-issues",{"issues":[16],"maxWidth":[1,"max-width"],"theme":[1025],"heading":[1],"subtitle":[1],"loading":[4],"error":[1],"hasMore":[4,"has-more"],"isLoadingMore":[4,"is-loading-more"],"currentTheme":[32]}]]],["feedlog-github-issues-client.cjs",[[1,"feedlog-github-issues-client",{"apiKey":[1,"api-key"],"type":[1],"limit":[2],"sortBy":[1,"sort-by"],"endpoint":[1],"maxWidth":[1,"max-width"],"theme":[1],"heading":[1],"subtitle":[1],"issues":[32],"loading":[32],"error":[32],"cursor":[32],"hasMore":[32],"isLoadingMore":[32]}]]]], options);
21
+ return index.bootstrapLazy([["feedlog-issues-list.cjs",[[1,"feedlog-issues-list",{"issues":[16],"theme":[1],"getIssueUrl":[16]}]]],["feedlog-card.cjs",[[257,"feedlog-card"]]],["feedlog-badge.cjs",[[257,"feedlog-badge",{"variant":[1]}]]],["feedlog-button_2.cjs",[[257,"feedlog-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1]}],[257,"feedlog-issue",{"issue":[16],"issueUrl":[1,"issue-url"],"theme":[1]}]]],["feedlog-github-issues.cjs",[[1,"feedlog-github-issues",{"issues":[16],"maxWidth":[1,"max-width"],"theme":[1025],"heading":[1],"subtitle":[1],"emptyStateTitle":[1,"empty-state-title"],"emptyStateMessage":[1,"empty-state-message"],"loading":[4],"error":[1],"hasMore":[4,"has-more"],"isLoadingMore":[4,"is-loading-more"],"getIssueUrl":[16],"currentTheme":[32]}]]],["feedlog-github-issues-client.cjs",[[1,"feedlog-github-issues-client",{"apiKey":[1,"api-key"],"type":[1],"limit":[2],"sortBy":[1,"sort-by"],"endpoint":[1],"maxWidth":[1,"max-width"],"theme":[1],"heading":[1],"subtitle":[1],"emptyStateTitle":[1,"empty-state-title"],"emptyStateMessage":[1,"empty-state-message"],"getIssueUrl":[16],"issues":[32],"loading":[32],"error":[32],"cursor":[32],"hasMore":[32],"isLoadingMore":[32]}]]]], options);
22
22
  });
23
23
 
24
24
  exports.setNonce = index.setNonce;
@@ -2042,13 +2042,6 @@ var h = (nodeName, vnodeData, ...children) => {
2042
2042
  }
2043
2043
  }
2044
2044
  }
2045
- if (typeof nodeName === "function") {
2046
- return nodeName(
2047
- vnodeData === null ? {} : vnodeData,
2048
- vNodeChildren,
2049
- vdomFnUtils
2050
- );
2051
- }
2052
2045
  const vnode = newVNode(nodeName, null);
2053
2046
  vnode.$attrs$ = vnodeData;
2054
2047
  if (vNodeChildren.length > 0) {
@@ -2077,36 +2070,6 @@ var newVNode = (tag, text) => {
2077
2070
  };
2078
2071
  var Host = {};
2079
2072
  var isHost = (node) => node && node.$tag$ === Host;
2080
- var vdomFnUtils = {
2081
- forEach: (children, cb) => children.map(convertToPublic).forEach(cb),
2082
- map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate)
2083
- };
2084
- var convertToPublic = (node) => ({
2085
- vattrs: node.$attrs$,
2086
- vchildren: node.$children$,
2087
- vkey: node.$key$,
2088
- vname: node.$name$,
2089
- vtag: node.$tag$,
2090
- vtext: node.$text$
2091
- });
2092
- var convertToPrivate = (node) => {
2093
- if (typeof node.vtag === "function") {
2094
- const vnodeData = { ...node.vattrs };
2095
- if (node.vkey) {
2096
- vnodeData.key = node.vkey;
2097
- }
2098
- if (node.vname) {
2099
- vnodeData.name = node.vname;
2100
- }
2101
- return h(node.vtag, vnodeData, ...node.vchildren || []);
2102
- }
2103
- const vnode = newVNode(node.vtag, node.vtext);
2104
- vnode.$attrs$ = node.vattrs;
2105
- vnode.$children$ = node.vchildren;
2106
- vnode.$key$ = node.vkey;
2107
- vnode.$name$ = node.vname;
2108
- return vnode;
2109
- };
2110
2073
  var createSupportsRuleRe = (selector) => {
2111
2074
  const safeSelector2 = escapeRegExpSpecialCharacters(selector);
2112
2075
  return new RegExp(
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-5lluu_3h.js');
3
+ var index = require('./index-DnsqTPII.js');
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await index.globalScripts();
8
- return index.bootstrapLazy([["feedlog-issues-list.cjs",[[1,"feedlog-issues-list",{"issues":[16],"theme":[1]}]]],["feedlog-card.cjs",[[257,"feedlog-card"]]],["feedlog-badge.cjs",[[257,"feedlog-badge",{"variant":[1]}]]],["feedlog-button_2.cjs",[[1,"feedlog-issue",{"issue":[16],"theme":[1]}],[257,"feedlog-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1]}]]],["feedlog-github-issues.cjs",[[1,"feedlog-github-issues",{"issues":[16],"maxWidth":[1,"max-width"],"theme":[1025],"heading":[1],"subtitle":[1],"loading":[4],"error":[1],"hasMore":[4,"has-more"],"isLoadingMore":[4,"is-loading-more"],"currentTheme":[32]}]]],["feedlog-github-issues-client.cjs",[[1,"feedlog-github-issues-client",{"apiKey":[1,"api-key"],"type":[1],"limit":[2],"sortBy":[1,"sort-by"],"endpoint":[1],"maxWidth":[1,"max-width"],"theme":[1],"heading":[1],"subtitle":[1],"issues":[32],"loading":[32],"error":[32],"cursor":[32],"hasMore":[32],"isLoadingMore":[32]}]]]], options);
8
+ return index.bootstrapLazy([["feedlog-issues-list.cjs",[[1,"feedlog-issues-list",{"issues":[16],"theme":[1],"getIssueUrl":[16]}]]],["feedlog-card.cjs",[[257,"feedlog-card"]]],["feedlog-badge.cjs",[[257,"feedlog-badge",{"variant":[1]}]]],["feedlog-button_2.cjs",[[257,"feedlog-button",{"variant":[1],"size":[1],"disabled":[4],"type":[1]}],[257,"feedlog-issue",{"issue":[16],"issueUrl":[1,"issue-url"],"theme":[1]}]]],["feedlog-github-issues.cjs",[[1,"feedlog-github-issues",{"issues":[16],"maxWidth":[1,"max-width"],"theme":[1025],"heading":[1],"subtitle":[1],"emptyStateTitle":[1,"empty-state-title"],"emptyStateMessage":[1,"empty-state-message"],"loading":[4],"error":[1],"hasMore":[4,"has-more"],"isLoadingMore":[4,"is-loading-more"],"getIssueUrl":[16],"currentTheme":[32]}]]],["feedlog-github-issues-client.cjs",[[1,"feedlog-github-issues-client",{"apiKey":[1,"api-key"],"type":[1],"limit":[2],"sortBy":[1,"sort-by"],"endpoint":[1],"maxWidth":[1,"max-width"],"theme":[1],"heading":[1],"subtitle":[1],"emptyStateTitle":[1,"empty-state-title"],"emptyStateMessage":[1,"empty-state-message"],"getIssueUrl":[16],"issues":[32],"loading":[32],"error":[32],"cursor":[32],"hasMore":[32],"isLoadingMore":[32]}]]]], options);
9
9
  };
10
10
 
11
11
  exports.setNonce = index.setNonce;
@@ -1,18 +1,18 @@
1
1
  :host {
2
2
  display: inline-block;
3
-
3
+
4
4
  /* Light theme defaults */
5
5
  --feedlog-badge-font-size: 0.75rem;
6
6
  --feedlog-badge-font-weight: 500;
7
7
  --feedlog-badge-padding-x: 0.5rem;
8
8
  --feedlog-badge-padding-y: 0.125rem;
9
9
  --feedlog-badge-border-radius: calc(0.625rem - 2px);
10
-
10
+
11
11
  /* Default/Enhancement variant colors */
12
12
  --feedlog-blue-500: oklch(0.623 0.214 259.815);
13
13
  --feedlog-blue-600: oklch(0.546 0.245 262.881);
14
14
  --feedlog-blue-700: oklch(0.488 0.243 264.376);
15
-
15
+
16
16
  /* Destructive variant colors */
17
17
  --feedlog-destructive: #d4183d;
18
18
  --feedlog-destructive-hover: #b91c1c;
@@ -30,6 +30,7 @@
30
30
  display: inline-flex;
31
31
  align-items: center;
32
32
  justify-content: center;
33
+ gap: 0.25rem;
33
34
  font-size: var(--feedlog-badge-font-size);
34
35
  font-weight: var(--feedlog-badge-font-weight);
35
36
  padding: var(--feedlog-badge-padding-y) var(--feedlog-badge-padding-x);
@@ -84,3 +85,14 @@
84
85
  .badge-destructive:hover {
85
86
  background-color: var(--feedlog-destructive-hover);
86
87
  }
88
+
89
+ /* Secondary variant - muted styling for status badges */
90
+ .badge-secondary {
91
+ background-color: var(--feedlog-muted, #f1f5f9);
92
+ color: var(--feedlog-muted-foreground, #64748b);
93
+ }
94
+
95
+ :host(.dark) .badge-secondary {
96
+ background-color: var(--feedlog-muted, oklch(0.32 0.01 260));
97
+ color: var(--feedlog-muted-foreground, oklch(0.72 0.02 260));
98
+ }
@@ -12,7 +12,7 @@ export class FeedlogBadge {
12
12
  this.variant = 'default';
13
13
  }
14
14
  render() {
15
- return (h("span", { key: '482a74feb8d254a75383c30c7b39790edd04a05b', class: `badge badge-${this.variant}` }, h("slot", { key: '8d2db3fe0c2bc58e17829db4de7d0233189bb101' })));
15
+ return (h("span", { key: '22e5d49e033459b4e3e409ffa0e76641457ad740', class: `badge badge-${this.variant}` }, h("slot", { key: '8f986c5150aa39034f090a258231e45363f9cac9' })));
16
16
  }
17
17
  static get is() { return "feedlog-badge"; }
18
18
  static get encapsulation() { return "shadow"; }
@@ -32,8 +32,8 @@ export class FeedlogBadge {
32
32
  "type": "string",
33
33
  "mutable": false,
34
34
  "complexType": {
35
- "original": "'default' | 'destructive' | 'enhancement'",
36
- "resolved": "\"default\" | \"destructive\" | \"enhancement\"",
35
+ "original": "'default' | 'destructive' | 'enhancement' | 'secondary'",
36
+ "resolved": "\"default\" | \"destructive\" | \"enhancement\" | \"secondary\"",
37
37
  "references": {}
38
38
  },
39
39
  "required": false,