@feedlog-ai/webcomponents 0.0.35 → 0.0.37

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 (73) hide show
  1. package/README.md +9 -17
  2. package/dist/cjs/feedlog-badge.cjs.entry.js +3 -3
  3. package/dist/cjs/feedlog-button_3.cjs.entry.js +16 -1385
  4. package/dist/cjs/feedlog-card.cjs.entry.js +3 -3
  5. package/dist/cjs/feedlog-issues-client.cjs.entry.js +102 -74
  6. package/dist/cjs/feedlog-issues.cjs.entry.js +4 -11
  7. package/dist/cjs/feedlog-toolkit.cjs.js +2 -2
  8. package/dist/cjs/{index-CXKBwRlh.js → index-prPyjPBk.js} +1 -1
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/purify.es-ppGw41aq.js +1384 -0
  11. package/dist/collection/components/feedlog-badge/feedlog-badge.css +35 -45
  12. package/dist/collection/components/feedlog-badge/feedlog-badge.js +1 -1
  13. package/dist/collection/components/feedlog-button/feedlog-button.css +16 -66
  14. package/dist/collection/components/feedlog-button/feedlog-button.js +1 -1
  15. package/dist/collection/components/feedlog-card/feedlog-card.css +22 -24
  16. package/dist/collection/components/feedlog-card/feedlog-card.js +1 -1
  17. package/dist/collection/components/feedlog-card/feedlog-card.stories.js +1 -1
  18. package/dist/collection/components/feedlog-issue/feedlog-issue.css +99 -187
  19. package/dist/collection/components/feedlog-issue/feedlog-issue.js +1 -1
  20. package/dist/collection/components/feedlog-issue/feedlog-issue.stories.js +19 -19
  21. package/dist/collection/components/feedlog-issues/feedlog-issues.css +34 -63
  22. package/dist/collection/components/feedlog-issues/feedlog-issues.js +2 -14
  23. package/dist/collection/components/feedlog-issues/feedlog-issues.stories.js +72 -52
  24. package/dist/collection/components/feedlog-issues-client/feedlog-issues-client.js +22 -28
  25. package/dist/collection/components/feedlog-issues-list/feedlog-issues-list.js +3 -3
  26. package/dist/collection/utils/markdown.js +6 -1
  27. package/dist/components/feedlog-badge.js +1 -1
  28. package/dist/components/feedlog-button.js +1 -1
  29. package/dist/components/feedlog-card.js +1 -1
  30. package/dist/components/feedlog-issue.js +1 -1
  31. package/dist/components/feedlog-issues-client.js +1 -1
  32. package/dist/components/feedlog-issues-list.js +1 -1
  33. package/dist/components/feedlog-issues.js +1 -1
  34. package/dist/components/index.js +1 -1
  35. package/dist/components/p-BoxVrJId.js +1 -0
  36. package/dist/components/{p-BRjVS8bz.js → p-CvIMO_S7.js} +2 -2
  37. package/dist/components/p-DFD585IK.js +1 -0
  38. package/dist/components/p-I6NOP29P.js +1 -0
  39. package/dist/components/p-fDVosM5p.js +1 -0
  40. package/dist/esm/feedlog-badge.entry.js +3 -3
  41. package/dist/esm/feedlog-button_3.entry.js +15 -1384
  42. package/dist/esm/feedlog-card.entry.js +3 -3
  43. package/dist/esm/feedlog-issues-client.entry.js +102 -74
  44. package/dist/esm/feedlog-issues.entry.js +4 -11
  45. package/dist/esm/feedlog-toolkit.js +3 -3
  46. package/dist/esm/{index-CgNWSmzU.js → index-Cu1eYdKa.js} +1 -1
  47. package/dist/esm/loader.js +3 -3
  48. package/dist/esm/purify.es-Bow7VsVH.js +1381 -0
  49. package/dist/feedlog-toolkit/feedlog-toolkit.css +1 -1
  50. package/dist/feedlog-toolkit/feedlog-toolkit.esm.js +1 -1
  51. package/dist/feedlog-toolkit/p-001d7353.entry.js +1 -0
  52. package/dist/feedlog-toolkit/p-556062d0.entry.js +1 -0
  53. package/dist/feedlog-toolkit/p-62554649.entry.js +1 -0
  54. package/dist/feedlog-toolkit/p-Bow7VsVH.js +2 -0
  55. package/dist/feedlog-toolkit/p-Cu1eYdKa.js +2 -0
  56. package/dist/feedlog-toolkit/p-b558fc9f.entry.js +1 -0
  57. package/dist/feedlog-toolkit/p-ca90ade9.entry.js +1 -0
  58. package/dist/types/components/feedlog-issues/feedlog-issues.d.ts +0 -5
  59. package/dist/types/components/feedlog-issues-client/feedlog-issues-client.d.ts +1 -0
  60. package/dist/types/index.d.ts +1 -1
  61. package/hydrate/index.js +130 -101
  62. package/hydrate/index.mjs +130 -101
  63. package/package.json +4 -7
  64. package/dist/components/p-BBbiSGNf.js +0 -1
  65. package/dist/components/p-CuFKEckF.js +0 -1
  66. package/dist/components/p-DMdb-G26.js +0 -1
  67. package/dist/components/p-DzATWlAC.js +0 -1
  68. package/dist/feedlog-toolkit/p-32663f65.entry.js +0 -1
  69. package/dist/feedlog-toolkit/p-891c349f.entry.js +0 -3
  70. package/dist/feedlog-toolkit/p-CgNWSmzU.js +0 -2
  71. package/dist/feedlog-toolkit/p-b51c95a6.entry.js +0 -1
  72. package/dist/feedlog-toolkit/p-da0268a8.entry.js +0 -1
  73. package/dist/feedlog-toolkit/p-f22117ae.entry.js +0 -1
package/hydrate/index.mjs CHANGED
@@ -219,7 +219,7 @@ function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResu
219
219
  const NAMESPACE = 'feedlog-toolkit';
220
220
  const BUILD = /* feedlog-toolkit */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", slotRelocation: true, state: true, updatable: true};
221
221
 
222
- const globalStyles = ":root{--feedlog-font-size:16px;--feedlog-background:#ffffff;--feedlog-foreground:oklch(0.145 0 0);--feedlog-card:#ffffff;--feedlog-card-foreground:oklch(0.145 0 0);--feedlog-popover:oklch(1 0 0);--feedlog-popover-foreground:oklch(0.145 0 0);--feedlog-primary:#030213;--feedlog-primary-foreground:oklch(1 0 0);--feedlog-secondary:oklch(0.95 0.0058 264.53);--feedlog-secondary-foreground:#030213;--feedlog-muted:#ececf0;--feedlog-muted-foreground:#717182;--feedlog-accent:#e9ebef;--feedlog-accent-foreground:#030213;--feedlog-destructive:#d4183d;--feedlog-destructive-foreground:#ffffff;--feedlog-border:rgba(0, 0, 0, 0.1);--feedlog-input:transparent;--feedlog-input-background:#f3f3f5;--feedlog-switch-background:#cbced4;--feedlog-ring:oklch(0.708 0 0);--feedlog-radius:0.625rem;--feedlog-blue-100:oklch(0.932 0.032 255.585);--feedlog-blue-400:oklch(0.707 0.165 254.624);--feedlog-blue-500:oklch(0.623 0.214 259.815);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-blue-700:oklch(0.488 0.243 264.376);--feedlog-blue-900:oklch(0.379 0.146 265.522);--feedlog-font-family:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace}.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-popover:oklch(0.145 0 0);--feedlog-popover-foreground:oklch(0.985 0 0);--feedlog-primary:oklch(0.985 0 0);--feedlog-primary-foreground:oklch(0.205 0 0);--feedlog-secondary:oklch(0.269 0 0);--feedlog-secondary-foreground:oklch(0.985 0 0);--feedlog-muted:oklch(0.269 0 0);--feedlog-muted-foreground:oklch(0.708 0 0);--feedlog-accent:oklch(0.269 0 0);--feedlog-accent-foreground:oklch(0.985 0 0);--feedlog-destructive:oklch(0.396 0.141 25.723);--feedlog-destructive-foreground:oklch(0.637 0.237 25.331);--feedlog-border:oklch(0.269 0 0);--feedlog-input:oklch(0.269 0 0);--feedlog-ring:oklch(0.439 0 0)}";
222
+ const globalStyles = ":root{--feedlog-background:#ffffff;--feedlog-foreground:#09090b;--feedlog-card:#ffffff;--feedlog-card-foreground:#09090b;--feedlog-popover:#ffffff;--feedlog-popover-foreground:#09090b;--feedlog-primary:#18181b;--feedlog-primary-foreground:#fafafa;--feedlog-secondary:#f4f4f5;--feedlog-secondary-foreground:#18181b;--feedlog-muted:#f4f4f5;--feedlog-muted-foreground:#71717a;--feedlog-accent:#f4f4f5;--feedlog-accent-foreground:#18181b;--feedlog-destructive:#ef4444;--feedlog-destructive-foreground:#fafafa;--feedlog-success:#22c55e;--feedlog-success-foreground:#ffffff;--feedlog-warning:#f59e0b;--feedlog-warning-foreground:#ffffff;--feedlog-border:#f0f0f2;--feedlog-input:#e4e4e7;--feedlog-ring:#18181b;--feedlog-badge-enhancement-bg:#eef2ff;--feedlog-badge-enhancement-text:#4338ca;--feedlog-badge-secondary-bg:#f1f5f9;--feedlog-badge-secondary-text:#475569;--feedlog-badge-destructive-bg:#fef2f2;--feedlog-badge-destructive-text:#b91c1c;--feedlog-space-1:0.25rem;--feedlog-space-2:0.5rem;--feedlog-space-3:0.75rem;--feedlog-space-4:1rem;--feedlog-space-5:1.25rem;--feedlog-space-6:1.5rem;--feedlog-space-8:2rem;--feedlog-space-10:2.5rem;--feedlog-font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;--feedlog-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--feedlog-text-xs:0.75rem;--feedlog-text-sm:0.875rem;--feedlog-text-base:1rem;--feedlog-text-lg:1.125rem;--feedlog-text-xl:1.25rem;--feedlog-font-normal:400;--feedlog-font-medium:500;--feedlog-font-semibold:600;--feedlog-font-bold:700;--feedlog-radius-sm:0.25rem;--feedlog-radius:0.5rem;--feedlog-radius-lg:0.75rem;--feedlog-radius-full:9999px;--feedlog-shadow-sm:0 2px 8px -2px rgba(0, 0, 0, 0.05);--feedlog-shadow:0 4px 20px -2px rgba(0, 0, 0, 0.05);--feedlog-shadow-md:0 8px 30px -4px rgba(0, 0, 0, 0.06)}.dark{--feedlog-background:#09090b;--feedlog-foreground:#fafafa;--feedlog-card:#09090b;--feedlog-card-foreground:#fafafa;--feedlog-popover:#09090b;--feedlog-popover-foreground:#fafafa;--feedlog-primary:#fafafa;--feedlog-primary-foreground:#18181b;--feedlog-secondary:#27272a;--feedlog-secondary-foreground:#fafafa;--feedlog-muted:#27272a;--feedlog-muted-foreground:#a1a1aa;--feedlog-accent:#27272a;--feedlog-accent-foreground:#fafafa;--feedlog-destructive:#7f1d1d;--feedlog-destructive-foreground:#fafafa;--feedlog-success:#14532d;--feedlog-success-foreground:#fafafa;--feedlog-warning:#78350f;--feedlog-warning-foreground:#fafafa;--feedlog-border:#27272a;--feedlog-input:#27272a;--feedlog-ring:#d4d4d8;--feedlog-badge-enhancement-bg:rgba(67, 56, 202, 0.2);--feedlog-badge-enhancement-text:#c7d2fe;--feedlog-badge-secondary-bg:rgba(71, 85, 105, 0.2);--feedlog-badge-secondary-text:#cbd5e1;--feedlog-badge-destructive-bg:rgba(185, 28, 28, 0.2);--feedlog-badge-destructive-text:#fecaca}";
223
223
 
224
224
  /*
225
225
  Stencil Hydrate Platform v4.40.1 | MIT Licensed | https://stenciljs.com
@@ -4971,7 +4971,7 @@ var setScopedSSR = (opts) => {
4971
4971
  var needsScopedSSR = () => scopedSSR;
4972
4972
  var scopedSSR = false;
4973
4973
 
4974
- const feedlogBadgeCss = () => `:host{display:inline-block;--feedlog-badge-font-size:0.75rem;--feedlog-badge-font-weight:500;--feedlog-badge-padding-x:0.625rem;--feedlog-badge-padding-y:0.125rem;--feedlog-badge-border-radius:9999px;--feedlog-blue-bg:#eff6ff;--feedlog-blue-text:#1e40af;--feedlog-blue-bg-hover:#dbeafe;--feedlog-red-bg:#fef2f2;--feedlog-red-text:#991b1b;--feedlog-red-bg-hover:#fee2e2;--feedlog-muted-bg:#f1f5f9;--feedlog-muted-text:#475569;--feedlog-muted-bg-hover:#e2e8f0}:host(.dark){--feedlog-blue-bg:rgba(37, 99, 235, 0.15);--feedlog-blue-text:#93c5fd;--feedlog-blue-bg-hover:rgba(37, 99, 235, 0.25);--feedlog-red-bg:rgba(220, 38, 38, 0.15);--feedlog-red-text:#fca5a5;--feedlog-red-bg-hover:rgba(220, 38, 38, 0.25);--feedlog-muted-bg:oklch(0.32 0.01 260);--feedlog-muted-text:oklch(0.8 0.02 260);--feedlog-muted-bg-hover:oklch(0.38 0.01 260)}.badge{display:inline-flex;align-items:center;justify-content:center;gap:0.25rem;font-size:var(--feedlog-badge-font-size);font-weight:var(--feedlog-badge-font-weight);padding:var(--feedlog-badge-padding-y) var(--feedlog-badge-padding-x);border-radius:var(--feedlog-badge-border-radius);white-space:nowrap;transition:background-color 0.2s ease, color 0.2s ease;font-family:inherit;border:1px solid transparent}.badge-default{background-color:var(--feedlog-blue-bg);color:var(--feedlog-blue-text)}.badge-default:hover{background-color:var(--feedlog-blue-bg-hover)}.badge-enhancement{background-color:var(--feedlog-blue-bg);color:var(--feedlog-blue-text)}.badge-enhancement:hover{background-color:var(--feedlog-blue-bg-hover)}.badge-destructive{background-color:var(--feedlog-red-bg);color:var(--feedlog-red-text)}.badge-destructive:hover{background-color:var(--feedlog-red-bg-hover)}.badge-secondary{background-color:var(--feedlog-muted-bg);color:var(--feedlog-muted-text)}.badge-secondary:hover{background-color:var(--feedlog-muted-bg-hover)}`;
4974
+ const feedlogBadgeCss = () => `:host{display:inline-block;--feedlog-badge-font-size:var(--feedlog-text-xs);--feedlog-badge-font-weight:var(--feedlog-font-medium);--feedlog-badge-padding-x:var(--feedlog-space-3);--feedlog-badge-padding-y:0.25rem;--feedlog-badge-border-radius:9999px;--feedlog-blue-bg:var(--feedlog-badge-enhancement-bg, #eef2ff);--feedlog-blue-text:var(--feedlog-badge-enhancement-text, #4338ca);--feedlog-blue-border:color-mix(in oklab, var(--feedlog-blue-text) 15%, transparent);--feedlog-red-bg:var(--feedlog-badge-destructive-bg, #fef2f2);--feedlog-red-text:var(--feedlog-badge-destructive-text, #b91c1c);--feedlog-red-border:color-mix(in oklab, var(--feedlog-red-text) 15%, transparent);--feedlog-muted-bg:var(--feedlog-badge-secondary-bg, #f1f5f9);--feedlog-muted-text:var(--feedlog-badge-secondary-text, #475569);--feedlog-muted-border:color-mix(in oklab, var(--feedlog-muted-text) 15%, transparent)}:host(.dark){}.badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--feedlog-space-1);font-size:var(--feedlog-badge-font-size);font-weight:var(--feedlog-badge-font-weight);padding:var(--feedlog-badge-padding-y) var(--feedlog-badge-padding-x);border-radius:var(--feedlog-badge-border-radius);white-space:nowrap;transition:background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;font-family:var(--feedlog-font-family);border:1px solid transparent}.badge-default{background-color:var(--feedlog-blue-bg);color:var(--feedlog-blue-text);border:1px solid var(--feedlog-blue-border)}.badge-default:hover{opacity:0.9}.badge-enhancement{background-color:var(--feedlog-blue-bg);color:var(--feedlog-blue-text);border:1px solid var(--feedlog-blue-border)}.badge-enhancement:hover{opacity:0.9}.badge-destructive{background-color:var(--feedlog-red-bg);color:var(--feedlog-red-text);border:1px solid var(--feedlog-red-border)}.badge-destructive:hover{opacity:0.9}.badge-secondary{background-color:var(--feedlog-muted-bg);color:var(--feedlog-muted-text);border:1px solid var(--feedlog-muted-border)}.badge-secondary:hover{opacity:0.9}`;
4975
4975
 
4976
4976
  /**
4977
4977
  * Feedlog Badge Component
@@ -4987,7 +4987,7 @@ class FeedlogBadge {
4987
4987
  this.variant = 'default';
4988
4988
  }
4989
4989
  render() {
4990
- return (hAsync("span", { key: '22e5d49e033459b4e3e409ffa0e76641457ad740', class: `badge badge-${this.variant}` }, hAsync("slot", { key: '8f986c5150aa39034f090a258231e45363f9cac9' })));
4990
+ return (hAsync("span", { key: '6ea83e77cecfa5589ba64b86d96053668407be8f', class: `badge badge-${this.variant}`, part: "base" }, hAsync("slot", { key: '292fba2dd5ca3ec6455c9114f883e21c74846695' })));
4991
4991
  }
4992
4992
  static get style() { return feedlogBadgeCss(); }
4993
4993
  static get cmpMeta() { return {
@@ -5002,7 +5002,7 @@ class FeedlogBadge {
5002
5002
  }; }
5003
5003
  }
5004
5004
 
5005
- const feedlogButtonCss = () => `:host{display:inline-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-primary:#030213;--feedlog-primary-foreground:oklch(1 0 0);--feedlog-secondary:oklch(0.95 0.0058 264.53);--feedlog-secondary-foreground:#030213;--feedlog-muted:#ececf0;--feedlog-accent:#e9ebef;--feedlog-accent-foreground:#030213;--feedlog-border:rgba(0, 0, 0, 0.1);--feedlog-input:transparent;--feedlog-ring:oklch(0.708 0 0);--feedlog-destructive:#d4183d;--feedlog-radius:0.625rem}:host(.dark){--feedlog-background:oklch(0.145 0 0);--feedlog-foreground:oklch(0.985 0 0);--feedlog-primary:oklch(0.985 0 0);--feedlog-primary-foreground:oklch(0.205 0 0);--feedlog-secondary:oklch(0.269 0 0);--feedlog-secondary-foreground:oklch(0.985 0 0);--feedlog-muted:oklch(0.269 0 0);--feedlog-accent:oklch(0.269 0 0);--feedlog-accent-foreground:oklch(0.985 0 0);--feedlog-border:oklch(0.269 0 0);--feedlog-input:oklch(0.269 0 0);--feedlog-ring:oklch(0.439 0 0);--feedlog-destructive:oklch(0.396 0.141 25.723)}button{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;white-space:nowrap;font-size:0.875rem;font-weight:500;border-radius:calc(var(--feedlog-radius) - 2px);border:1px solid transparent;cursor:pointer;transition:all 0.15s ease;outline:none;font-family:inherit}button:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}button:focus-visible{border-color:var(--feedlog-ring);box-shadow:0 0 0 3px color-mix(in oklab, var(--feedlog-ring) 50%, transparent)}.button-default{background-color:var(--feedlog-primary);color:var(--feedlog-primary-foreground);border-color:transparent}.button-default:hover:not(:disabled){background-color:color-mix(in oklab, var(--feedlog-primary) 90%, transparent)}.button-outline{background-color:var(--feedlog-background);color:var(--feedlog-foreground);border-color:var(--feedlog-border)}.button-outline:hover:not(:disabled){background-color:var(--feedlog-accent);color:var(--feedlog-accent-foreground)}:host(.dark) .button-outline{background-color:transparent;border-color:var(--feedlog-input)}:host(.dark) .button-outline:hover:not(:disabled){background-color:color-mix(in oklab, var(--feedlog-accent) 50%, transparent)}.button-ghost{background-color:transparent;color:var(--feedlog-foreground);border-color:transparent}.button-ghost:hover:not(:disabled){background-color:var(--feedlog-accent);color:var(--feedlog-accent-foreground)}.button-destructive{background-color:var(--feedlog-destructive);color:#ffffff;border-color:transparent}.button-destructive:hover:not(:disabled){background-color:color-mix(in oklab, var(--feedlog-destructive) 90%, transparent)}:host(.dark) .button-destructive{background-color:color-mix(in oklab, var(--feedlog-destructive) 60%, transparent)}.button-size-sm{height:2rem;padding:0 0.75rem;font-size:0.75rem}.button-size-sm:has(svg:only-child){width:2rem;padding:0}.button-size-default{height:2.25rem;padding:0.5rem 1rem}.button-size-lg{height:2.5rem;padding:0.625rem 1.5rem;font-size:1rem}button svg{pointer-events:none;flex-shrink:0;width:1rem;height:1rem}`;
5005
+ const feedlogButtonCss = () => `:host{display:inline-block}button{display:inline-flex;align-items:center;justify-content:center;gap:var(--feedlog-space-2);white-space:nowrap;font-size:var(--feedlog-text-sm);font-weight:var(--feedlog-font-medium);border-radius:var(--feedlog-radius);border:1px solid transparent;cursor:pointer;transition:all 0.15s ease;outline:none;font-family:var(--feedlog-font-family)}button:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}button:focus-visible{outline:2px solid var(--feedlog-ring);outline-offset:2px}.button-default{background-color:var(--feedlog-primary);color:var(--feedlog-primary-foreground)}.button-default:hover:not(:disabled){opacity:0.9}.button-outline{background-color:var(--feedlog-background);color:var(--feedlog-foreground);border-color:var(--feedlog-input)}.button-outline:hover:not(:disabled){background-color:var(--feedlog-accent);color:var(--feedlog-accent-foreground)}.button-ghost{background-color:transparent;color:var(--feedlog-foreground)}.button-ghost:hover:not(:disabled){background-color:var(--feedlog-accent);color:var(--feedlog-accent-foreground)}.button-destructive{background-color:var(--feedlog-destructive);color:var(--feedlog-destructive-foreground)}.button-destructive:hover:not(:disabled){opacity:0.9}.button-size-sm{height:2rem;padding:0 0.75rem;font-size:var(--feedlog-text-xs)}.button-size-sm:has(svg:only-child){width:2rem;padding:0}.button-size-default{height:2.5rem;padding:0.5rem 1rem}.button-size-lg{height:2.75rem;padding:0.5rem 1.5rem;font-size:var(--feedlog-text-base)}button svg{pointer-events:none;flex-shrink:0;width:1rem;height:1rem}`;
5006
5006
 
5007
5007
  /**
5008
5008
  * Feedlog Button Component
@@ -5037,7 +5037,7 @@ class FeedlogButton {
5037
5037
  }
5038
5038
  render() {
5039
5039
  const sizeClass = this.size === 'default' ? 'button-size-default' : `button-size-${this.size}`;
5040
- return (hAsync("button", { key: '6cdd8347def51592707b1fb9aab0dc565ca0f76f', type: this.type, class: `button button-${this.variant} ${sizeClass}`, disabled: this.disabled, onClick: this.handleClick }, hAsync("slot", { key: '3f3845195fa4b8a551473ecf1d5702321a31763e' })));
5040
+ return (hAsync("button", { key: 'f8f507c061284f630e36111ee671b29b6d3b20dd', type: this.type, class: `button button-${this.variant} ${sizeClass}`, disabled: this.disabled, onClick: this.handleClick, part: "base" }, hAsync("slot", { key: '48403bd46271b21a4eb54c94c9193dadcd32fdcf' })));
5041
5041
  }
5042
5042
  static get style() { return feedlogButtonCss(); }
5043
5043
  static get cmpMeta() { return {
@@ -5055,7 +5055,7 @@ class FeedlogButton {
5055
5055
  }; }
5056
5056
  }
5057
5057
 
5058
- 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}`;
5058
+ const feedlogCardCss = () => `:host{display:block;font-family:var(--feedlog-font-family)}.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-shadow-sm);transition:box-shadow 0.15s ease;position:relative;display:flex;flex-direction:column}.feedlog-card:hover{box-shadow:var(--feedlog-shadow)}.feedlog-card-header{padding:var(--feedlog-space-6);display:flex;flex-direction:column;gap:var(--feedlog-space-1)}.feedlog-card-content{padding:var(--feedlog-space-6);padding-top:0}.feedlog-card-footer{padding:var(--feedlog-space-6);padding-top:0;display:flex;align-items:center}::slotted([slot="header"]),::slotted([slot="content"]),::slotted([slot="footer"]){display:block}`;
5059
5059
 
5060
5060
  /**
5061
5061
  * Feedlog Card Component
@@ -5067,7 +5067,7 @@ class FeedlogCard {
5067
5067
  registerInstance(this, hostRef);
5068
5068
  }
5069
5069
  render() {
5070
- return (hAsync("div", { key: '293a80e66adedfc1af29daf72390a4f464321b96', class: "feedlog-card" }, hAsync("slot", { key: 'b7e5a827f89035e791d9c756db0f66198e6c5a38', name: "header" }), hAsync("slot", { key: 'da89fee0a01068c8438564848f218faa9c5d849e', name: "content" }), hAsync("slot", { key: '30b05e80e4189c0f73810a48f64e072dfac83267', name: "footer" })));
5070
+ return (hAsync("div", { key: 'c95d00e338fcf8d985407cda878f50d173c86c71', class: "feedlog-card", part: "base" }, hAsync("div", { key: '5001f2e08495d54abb59ddcada568c9ff4c6fb87', class: "feedlog-card-header", part: "header" }, hAsync("slot", { key: 'b6c6f18a458249aedfb4a95679d4592cfcac4187', name: "header" })), hAsync("div", { key: '99faa1bd9af52fb23cb304e0a87d35b8e14a6358', class: "feedlog-card-content", part: "content" }, hAsync("slot", { key: '44370b05b0c2335d6c7271f2807189a7a208be71', name: "content" })), hAsync("div", { key: 'e3876d4f589f9ecf917b5a9b5919363c19d08c93', class: "feedlog-card-footer", part: "footer" }, hAsync("slot", { key: 'be69074d341c8e88f9227d2f035f22838469b035', name: "footer" }))));
5071
5071
  }
5072
5072
  static get style() { return feedlogCardCss(); }
5073
5073
  static get cmpMeta() { return {
@@ -6527,6 +6527,11 @@ function createDOMPurify() {
6527
6527
  }
6528
6528
  var purify = createDOMPurify();
6529
6529
 
6530
+ var purify_es = /*#__PURE__*/Object.freeze({
6531
+ __proto__: null,
6532
+ default: purify
6533
+ });
6534
+
6530
6535
  /**
6531
6536
  * Parse markdown to sanitized HTML for safe rendering.
6532
6537
  * Uses marked for parsing and DOMPurify for XSS protection.
@@ -6535,10 +6540,15 @@ function parseMarkdown(markdown) {
6535
6540
  if (markdown == null || markdown === '') {
6536
6541
  return '';
6537
6542
  }
6538
- const html = g.parse(markdown, {
6543
+ const parsed = g.parse(markdown, {
6539
6544
  gfm: true,
6540
6545
  breaks: true,
6546
+ async: false,
6541
6547
  });
6548
+ if (typeof parsed !== 'string') {
6549
+ throw new Error('marked.parse returned a Promise; async markdown is not supported');
6550
+ }
6551
+ const html = parsed;
6542
6552
  return purify.sanitize(html, {
6543
6553
  ALLOWED_TAGS: [
6544
6554
  'p',
@@ -6574,7 +6584,7 @@ function parseMarkdown(markdown) {
6574
6584
  });
6575
6585
  }
6576
6586
 
6577
- const feedlogIssueCss = () => `:host{display:block;font-family:ui-sans-serif,\\n system-ui,\\n -apple-system,\\n BlinkMacSystemFont,\\n 'Segoe UI',\\n Roboto,\\n 'Helvetica Neue',\\n Arial,\\n sans-serif;--feedlog-background:#ffffff;--feedlog-foreground:oklch(0.145 0 0);--feedlog-card:#ffffff;--feedlog-card-foreground:oklch(0.145 0 0);--feedlog-muted:#f1f5f9;--feedlog-muted-foreground:#64748b;--feedlog-border:rgba(0, 0, 0, 0.08);--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-red-600:#db2777;--feedlog-radius:0.625rem;--feedlog-gap:0.5rem;--feedlog-card-padding:1.25rem;--feedlog-title-font-size:1.125rem;--feedlog-title-font-weight:600;--feedlog-body-font-size:0.875rem;--feedlog-body-line-height:1.6;--feedlog-timestamp-font-size:0.6875rem;--feedlog-timestamp-color:var(--feedlog-muted-foreground);--feedlog-card-radius:0.75rem;--feedlog-icon-color:var(--feedlog-muted-foreground);--feedlog-icon-color-muted:var(--feedlog-muted-foreground);--feedlog-pin-color:var(--feedlog-accent-color);--feedlog-upvote-icon-color:var(--feedlog-blue-600);--feedlog-upvote-icon-filled-color:var(--feedlog-red-600);--feedlog-shadow:0 1px 2px rgba(0, 0, 0, 0.04), 0 4px 12px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.5);--feedlog-shadow-hover-enhancement:0 8px 16px rgba(37, 99, 235, 0.08), 0 12px 24px rgba(37, 99, 235, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.6);--feedlog-shadow-hover-bug:0 8px 16px rgba(212, 24, 61, 0.08), 0 12px 24px rgba(212, 24, 61, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.6)}: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-300:oklch(0.78 0.12 255);--feedlog-blue-400:oklch(0.707 0.165 254.624);--feedlog-blue-600:oklch(0.546 0.245 262.881);--feedlog-upvote-icon-color:var(--feedlog-blue-400);--feedlog-upvote-icon-filled-color:var(--feedlog-red-600);--feedlog-shadow:0 1px 2px rgba(0, 0, 0, 0.2), 0 4px 12px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.05);--feedlog-shadow-hover-enhancement:0 8px 16px rgba(59, 130, 246, 0.15), 0 12px 24px rgba(59, 130, 246, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.08);--feedlog-shadow-hover-bug:0 8px 16px rgba(220, 38, 38, 0.15), 0 12px 24px rgba(220, 38, 38, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.08)}.issue-card{background:linear-gradient(180deg, var(--feedlog-card) 0%, color-mix(in oklab, var(--feedlog-card) 98%, var(--feedlog-muted) 2%) 100%);border:1px solid var(--feedlog-border);border-radius:var(--feedlog-card-radius, var(--feedlog-radius));box-shadow:var(--feedlog-shadow);transition:box-shadow 0.2s ease,\\n transform 0.2s ease;position:relative;overflow:hidden}.issue-card.issue-type-enhancement:hover{box-shadow:var(--feedlog-shadow-hover-enhancement)}.issue-card.issue-type-bug:hover{box-shadow:var(--feedlog-shadow-hover-bug)}.issue-media{display:none;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--feedlog-card-radius, var(--feedlog-radius)) var(--feedlog-card-radius, var(--feedlog-radius)) 0 0;background-color:var(--feedlog-muted);border-bottom:1px solid var(--feedlog-border)}.issue-media.has-media{display:block}.issue-media ::slotted(img),.issue-media ::slotted(video){width:100%;height:100%;object-fit:cover;display:block}.issue-content{padding:var(--feedlog-card-padding);display:flex;flex-direction:column;gap:0.875rem}.issue-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:0.875rem}.issue-badges{display:flex;align-items:center;gap:0.375rem;flex-wrap:wrap;margin-left:-0.25rem}.issue-meta-right{display:flex;align-items:center;gap:0.5rem}.pinned-indicator{display:flex;align-items:center;color:var(--feedlog-pin-color, var(--feedlog-accent-color));opacity:0.9}.pin-icon{width:0.875rem;height:0.875rem;color:inherit}.issue-timestamp{font-size:var(--feedlog-timestamp-font-size);color:var(--feedlog-timestamp-color);white-space:nowrap;flex-shrink:0;cursor:help}.issue-main{display:flex;flex-direction:column;gap:0}.issue-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:0.75rem;margin-top:0.75rem;padding-top:1rem;border-top:1px solid var(--feedlog-border);flex-wrap:wrap}.issue-footer-meta{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;color:var(--feedlog-muted-foreground);flex-wrap:wrap}.issue-title{color:var(--feedlog-card-foreground);font-size:var(--feedlog-title-font-size);font-weight:var(--feedlog-title-font-weight);margin:0 0 0.5rem 0;line-height:1.3;letter-spacing:-0.015em;word-break:break-word}.issue-body{color:var(--feedlog-muted-foreground);font-size:var(--feedlog-body-font-size);line-height:var(--feedlog-body-line-height);margin:0 0 0.75rem 0;word-break:break-word}.issue-body :first-child{margin-top:0}.issue-body :last-child{margin-bottom:0}.issue-body p{margin:0 0 0.75em 0}.issue-body p:last-child{margin-bottom:0}.issue-body a{color:var(--feedlog-accent-color);text-decoration:none}.issue-body a:hover{text-decoration:underline}.issue-body code{background-color:var(--feedlog-muted);padding:0.125em 0.375em;border-radius:0.25rem;font-size:0.9em}.issue-body pre{margin:0.5em 0;padding:0.75rem;background-color:var(--feedlog-muted);border-radius:0.25rem;overflow-x:auto;font-size:0.85em}.issue-body pre code{background:none;padding:0}.issue-body strong{font-weight:600}.issue-body ul,.issue-body ol{margin:0.5em 0;padding-left:1.25em}.issue-body li{margin:0.25em 0}.issue-body blockquote{margin:0.5em 0;padding-left:1em;border-left:3px solid var(--feedlog-muted);color:var(--feedlog-muted-foreground)}.repo-name{font-weight:500}.github-link{display:inline-flex;align-items:center;gap:0.25rem;color:var(--feedlog-muted-foreground);text-decoration:none;font-weight:500;font-size:0.75rem;padding:0.25rem 0.5rem;border-radius:0.375rem;transition:background-color 0.2s ease,\\n color 0.2s ease}.github-link:hover{color:var(--feedlog-card-foreground);background-color:var(--feedlog-muted)}.github-link-icon{flex-shrink:0;color:inherit}.github-link-text{white-space:nowrap}.github-number{color:var(--feedlog-blue-600);font-weight:600}:host(.dark) .github-number{color:var(--feedlog-blue-400)}.upvote-button{display:inline-flex;flex-direction:row;align-items:center;border-radius:9999px;background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);border:1px solid #e2e8f0;cursor:pointer;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);flex-shrink:0;box-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);overflow:hidden;padding:0.375rem 0.875rem;gap:0.5rem;font-family:inherit;line-height:1}.upvote-button:hover{background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.08),\\n 0 2px 4px -2px rgba(0, 0, 0, 0.04)}.upvote-button:active{transform:translateY(0);box-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05)}.upvote-button.upvoted{background:linear-gradient(180deg, #eff6ff 0%, #e0e7ff 100%);border-color:#bfdbfe}.upvote-button.upvoted:hover{background:linear-gradient(180deg, #dbeafe 0%, #c7d2fe 100%);border-color:#93c5fd}.upvote-action{display:flex;flex-direction:row;align-items:center;gap:0.375rem;color:#475569;font-size:0.875rem;font-weight:600;transition:color 0.2s ease}.upvote-button:hover .upvote-action{color:#0f172a}.upvote-button.upvoted .upvote-action{color:#2563eb}.upvote-button.upvoted:hover .upvote-action{color:#1d4ed8}.upvote-icon{width:1.125rem;height:1.125rem;min-width:1.125rem;min-height:1.125rem;color:inherit;flex-shrink:0;display:block;vertical-align:middle;transition:transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)}.upvote-button:hover .upvote-icon{transform:translateY(-2px)}.upvote-button:active .upvote-icon{transform:translateY(0) scale(0.9)}.upvote-icon.filled{color:inherit}.upvote-icon.outline{color:inherit}.reel-container{position:relative;display:inline-flex;align-items:center;height:1.25rem;overflow:hidden;border-left:1px solid #e2e8f0;padding-left:0.5rem;transition:border-color 0.2s ease}.upvote-button:hover .reel-container{border-color:#cbd5e1}.upvote-button.upvoted .reel-container{border-color:#bfdbfe}.upvote-button.upvoted:hover .reel-container{border-color:#93c5fd}.upvote-count{font-size:0.875rem;font-weight:600;color:#475569;transition:color 0.2s ease;line-height:1.25rem}.upvote-button:hover .upvote-count{color:#0f172a}.upvote-button.upvoted .upvote-count{color:#2563eb}.upvote-button.upvoted:hover .upvote-count{color:#1d4ed8}.reel-number{display:inline-block;animation:reelIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards}@keyframes reelIn{0%{transform:translateY(100%);opacity:0}100%{transform:translateY(0);opacity:1}}:host(.dark) .upvote-button{background:linear-gradient(180deg, var(--feedlog-card) 0%, color-mix(in oklab, var(--feedlog-card) 95%, var(--feedlog-muted) 5%) 100%);border-color:var(--feedlog-border)}:host(.dark) .upvote-button:hover{background:var(--feedlog-muted);border-color:var(--feedlog-muted-foreground)}:host(.dark) .upvote-button.upvoted{background:linear-gradient(180deg, rgba(37, 99, 235, 0.15) 0%, rgba(37, 99, 235, 0.2) 100%);border-color:rgba(37, 99, 235, 0.3)}:host(.dark) .upvote-button.upvoted:hover{background:linear-gradient(180deg, rgba(37, 99, 235, 0.25) 0%, rgba(37, 99, 235, 0.3) 100%);border-color:rgba(37, 99, 235, 0.4)}:host(.dark) .upvote-action,:host(.dark) .upvote-count{color:var(--feedlog-muted-foreground)}:host(.dark) .upvote-button:hover .upvote-action,:host(.dark) .upvote-button:hover .upvote-count{color:var(--feedlog-card-foreground)}:host(.dark) .upvote-button.upvoted .upvote-action,:host(.dark) .upvote-button.upvoted .upvote-count{color:var(--feedlog-blue-400)}:host(.dark) .upvote-button.upvoted:hover .upvote-action,:host(.dark) .upvote-button.upvoted:hover .upvote-count{color:var(--feedlog-blue-300)}:host(.dark) .reel-container{border-color:var(--feedlog-border)}:host(.dark) .upvote-button:hover .reel-container{border-color:var(--feedlog-muted-foreground)}:host(.dark) .upvote-button.upvoted .reel-container{border-color:rgba(37, 99, 235, 0.3)}:host(.dark) .upvote-button.upvoted:hover .reel-container{border-color:rgba(37, 99, 235, 0.4)}`;
6587
+ const feedlogIssueCss = () => `:host{display:block;font-family:var(--feedlog-font-family);--feedlog-card-padding:var(--feedlog-space-6);--feedlog-title-font-size:var(--feedlog-text-xl);--feedlog-title-font-weight:var(--feedlog-font-semibold);--feedlog-body-font-size:var(--feedlog-text-sm);--feedlog-body-line-height:1.6;--feedlog-timestamp-font-size:var(--feedlog-text-xs);--feedlog-timestamp-color:var(--feedlog-muted-foreground);--feedlog-card-radius:16px;--feedlog-icon-color:var(--feedlog-muted-foreground);--feedlog-icon-color-muted:var(--feedlog-muted-foreground);--feedlog-pin-color:var(--feedlog-primary);--feedlog-upvote-icon-color:var(--feedlog-primary);--feedlog-upvote-icon-filled-color:var(--feedlog-primary)}:host(.dark){}.issue-card{background-color:var(--feedlog-card);border:1px solid var(--feedlog-border);border-radius:var(--feedlog-card-radius, var(--feedlog-radius));box-shadow:var(--feedlog-shadow-sm);transition:box-shadow 0.2s ease,\\n transform 0.2s ease;position:relative;overflow:hidden}.issue-card:hover{box-shadow:var(--feedlog-shadow);transform:translateY(-2px)}.issue-media{display:none;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--feedlog-card-radius, var(--feedlog-radius)) var(--feedlog-card-radius, var(--feedlog-radius)) 0 0;background-color:var(--feedlog-muted);border-bottom:1px solid var(--feedlog-border)}.issue-media.has-media{display:block}.issue-media ::slotted(img),.issue-media ::slotted(video){width:100%;height:100%;object-fit:cover;display:block}.issue-content{padding:var(--feedlog-card-padding);display:flex;flex-direction:column;gap:var(--feedlog-space-3)}.issue-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--feedlog-space-4);margin-bottom:var(--feedlog-space-3)}.issue-badges{display:flex;align-items:center;gap:var(--feedlog-space-1);flex-wrap:wrap;margin-left:-0.25rem}.issue-meta-right{display:flex;align-items:center;gap:var(--feedlog-space-2)}.pinned-indicator{display:flex;align-items:center;color:var(--feedlog-pin-color, var(--feedlog-primary));opacity:0.9}.pin-icon{width:0.875rem;height:0.875rem;color:inherit}.issue-timestamp{font-size:var(--feedlog-timestamp-font-size);color:var(--feedlog-timestamp-color);white-space:nowrap;flex-shrink:0;cursor:help}.issue-main{display:flex;flex-direction:column;gap:0}.issue-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--feedlog-space-3);margin-top:var(--feedlog-space-3);padding-top:var(--feedlog-space-4);border-top:1px solid var(--feedlog-border);flex-wrap:wrap}.issue-footer-meta{display:flex;align-items:center;gap:var(--feedlog-space-2);font-size:var(--feedlog-text-xs);color:var(--feedlog-muted-foreground);flex-wrap:wrap}.issue-footer .upvote-button{margin-left:auto}.issue-title{color:var(--feedlog-card-foreground);font-size:var(--feedlog-title-font-size);font-weight:var(--feedlog-title-font-weight);margin:0 0 var(--feedlog-space-3) 0;line-height:1.3;letter-spacing:-0.02em;word-break:break-word}.issue-body{color:var(--feedlog-muted-foreground);font-size:var(--feedlog-body-font-size);line-height:var(--feedlog-body-line-height);margin:0 0 var(--feedlog-space-3) 0;word-break:break-word}.issue-body h1,.issue-body h2,.issue-body h3,.issue-body h4,.issue-body h5,.issue-body h6{color:var(--feedlog-card-foreground);margin-top:1.5em;margin-bottom:0.5em;font-weight:var(--feedlog-font-semibold);letter-spacing:-0.01em}.issue-body h1{font-size:1.5em}.issue-body h2{font-size:1.25em}.issue-body h3{font-size:1.125em}.issue-body :first-child{margin-top:0}.issue-body :last-child{margin-bottom:0}.issue-body p{margin:0 0 0.75em 0}.issue-body p:last-child{margin-bottom:0}.issue-body a{color:var(--feedlog-primary);text-decoration:none}.issue-body a:hover{text-decoration:underline}.issue-body code{background-color:var(--feedlog-muted);padding:0.125em 0.375em;border-radius:var(--feedlog-radius-sm);font-size:0.9em}.issue-body pre{margin:0.5em 0;padding:var(--feedlog-space-3);background-color:var(--feedlog-muted);border-radius:var(--feedlog-radius-sm);overflow-x:auto;font-size:0.85em}.issue-body pre code{background:none;padding:0}.issue-body strong{font-weight:var(--feedlog-font-semibold)}.issue-body ul,.issue-body ol{margin:0.5em 0;padding-left:1.25em}.issue-body li{margin:0.25em 0}.issue-body blockquote{margin:0.5em 0;padding-left:1em;border-left:3px solid var(--feedlog-muted);color:var(--feedlog-muted-foreground)}.repo-name{font-weight:var(--feedlog-font-medium)}.github-link{display:inline-flex;align-items:center;gap:var(--feedlog-space-1);color:var(--feedlog-muted-foreground);text-decoration:none;font-weight:var(--feedlog-font-medium);font-size:var(--feedlog-text-xs);padding:var(--feedlog-space-1) var(--feedlog-space-2);border-radius:var(--feedlog-radius-sm);transition:background-color 0.2s ease,\\n color 0.2s ease}.github-link:hover{color:var(--feedlog-card-foreground);background-color:var(--feedlog-muted)}.github-link-icon{flex-shrink:0;color:inherit}.github-link-text{white-space:nowrap}.github-number{color:var(--feedlog-primary);font-weight:var(--feedlog-font-semibold)}:host(.dark) .github-number{color:var(--feedlog-primary)}.upvote-button{display:inline-flex;flex-direction:row;align-items:center;border-radius:9999px;background-color:var(--feedlog-muted);border:1px solid transparent;cursor:pointer;transition:all 0.2s ease;flex-shrink:0;overflow:hidden;padding:var(--feedlog-space-1) var(--feedlog-space-3);gap:var(--feedlog-space-2);font-family:inherit;line-height:1}.upvote-button:hover{background-color:color-mix(in oklab, var(--feedlog-muted) 90%, var(--feedlog-foreground))}.upvote-button:active{transform:translateY(1px)}.upvote-button.upvoted{background-color:var(--feedlog-badge-enhancement-bg, #eef2ff);border-color:color-mix(in oklab, var(--feedlog-badge-enhancement-text, #4338ca) 15%, transparent)}.upvote-button.upvoted:hover{opacity:0.9}.upvote-action{display:flex;flex-direction:row;align-items:center;gap:var(--feedlog-space-1);color:var(--feedlog-muted-foreground);font-size:var(--feedlog-text-sm);font-weight:var(--feedlog-font-medium);transition:color 0.2s ease}.upvote-button:hover .upvote-action{color:var(--feedlog-foreground)}.upvote-button.upvoted .upvote-action{color:var(--feedlog-badge-enhancement-text, #4338ca)}.upvote-button.upvoted:hover .upvote-action{color:var(--feedlog-badge-enhancement-text, #4338ca)}.upvote-icon{width:1.125rem;height:1.125rem;min-width:1.125rem;min-height:1.125rem;color:inherit;flex-shrink:0;display:block;vertical-align:middle;transition:transform 0.2s ease}.upvote-button:hover .upvote-icon{transform:translateY(-1px)}.upvote-button:active .upvote-icon{transform:translateY(0) scale(0.95)}.upvote-icon.filled{color:inherit}.upvote-icon.outline{color:inherit}.reel-container{position:relative;display:inline-flex;align-items:center;height:1.25rem;overflow:hidden;border-left:1px solid var(--feedlog-border);padding-left:var(--feedlog-space-2);transition:border-color 0.2s ease}.upvote-button.upvoted .reel-container{border-color:color-mix(in oklab, var(--feedlog-badge-enhancement-text, #4338ca) 20%, transparent)}.upvote-count{font-size:var(--feedlog-text-sm);font-weight:var(--feedlog-font-medium);color:var(--feedlog-muted-foreground);transition:color 0.2s ease;line-height:1.25rem}.upvote-button:hover .upvote-count{color:var(--feedlog-foreground)}.upvote-button.upvoted .upvote-count{color:var(--feedlog-badge-enhancement-text, #4338ca)}.upvote-button.upvoted:hover .upvote-count{color:var(--feedlog-badge-enhancement-text, #4338ca)}.reel-number{display:inline-block;animation:reelIn 0.3s ease forwards}@keyframes reelIn{0%{transform:translateY(100%);opacity:0}100%{transform:translateY(0);opacity:1}}:host(.dark) .upvote-button{background-color:var(--feedlog-muted);border-color:transparent}:host(.dark) .upvote-button:hover{background-color:color-mix(in oklab, var(--feedlog-muted) 80%, var(--feedlog-foreground))}:host(.dark) .upvote-button.upvoted{background-color:var(--feedlog-badge-enhancement-bg);border-color:color-mix(in oklab, var(--feedlog-badge-enhancement-text) 15%, transparent)}`;
6578
6588
 
6579
6589
  /**
6580
6590
  * Feedlog Issue Component
@@ -6708,7 +6718,7 @@ class FeedlogIssueComponent {
6708
6718
  const statusBadgeLabel = this.getStatusBadgeLabel();
6709
6719
  const githubUrl = (_b = issue.githubIssueLink) !== null && _b !== void 0 ? _b : issueUrl;
6710
6720
  const showGithubButton = githubUrl != null && githubUrl !== '';
6711
- return (hAsync(Host, { class: this.theme === 'dark' ? 'dark' : '', "data-upvoted": issue.hasUpvoted ? 'true' : 'false' }, hAsync("div", { class: `issue-card issue-type-${issue.type}` }, hAsync("div", { class: "issue-media", part: "media" }, hAsync("slot", { name: "media" })), hAsync("div", { class: "issue-content" }, hAsync("div", { class: "issue-main" }, hAsync("div", { class: "issue-header-top" }, hAsync("div", { class: "issue-badges" }, issue.type === 'bug' ? (hAsync("feedlog-badge", { variant: "destructive" }, "Bug")) : (hAsync("feedlog-badge", { variant: "enhancement" }, "Enhancement")), statusBadgeLabel && (hAsync("feedlog-badge", { variant: "secondary" }, statusBadgeLabel))), hAsync("div", { class: "issue-meta-right" }, issue.pinnedAt && (hAsync("div", { class: "pinned-indicator", title: "Pinned issue" }, this.renderPinIcon())), hAsync("span", { class: "issue-timestamp", title: timestampTitle }, timestampLabel, " ", this.formatDate(timestampDate)))), hAsync("h3", { class: "issue-title" }, displayTitle), issue.body != null && issue.body !== '' && (hAsync("div", { class: "issue-body", innerHTML: parseMarkdown(issue.body) })), (repoName != null || showGithubButton || issue.type !== 'bug') && (hAsync("div", { class: "issue-footer" }, (repoName != null || showGithubButton) && (hAsync("div", { class: "issue-footer-meta" }, repoName != null && (hAsync("span", { class: "repo-name", title: repoTooltip }, repoName)), showGithubButton && (hAsync("a", { part: "github-link", class: "github-link", href: githubUrl, target: "_blank", rel: "noopener noreferrer", title: "View on GitHub" }, this.renderExternalLinkIcon(), hAsync("span", { class: "github-link-text" }, "View on GitHub"))))), issue.type !== 'bug' && (hAsync("button", { part: "upvote-button", class: `upvote-button ${issue.hasUpvoted ? 'upvoted' : ''}`, onClick: (e) => this.handleUpvote(e), title: issue.hasUpvoted ? 'Remove upvote' : 'Upvote this issue' }, hAsync("div", { class: "upvote-action" }, hAsync("slot", { name: "upvote-icon" }, this.renderUpvoteIcon(issue.hasUpvoted)), hAsync("span", { class: "upvote-label" }, "Upvote")), hAsync("div", { class: "reel-container" }, hAsync("span", { class: "upvote-count reel-number", key: issue.upvoteCount }, issue.upvoteCount)))))))))));
6721
+ return (hAsync(Host, { class: this.theme === 'dark' ? 'dark' : '', "data-upvoted": issue.hasUpvoted ? 'true' : 'false' }, hAsync("div", { class: `issue-card issue-type-${issue.type}`, part: "base" }, hAsync("div", { class: "issue-media", part: "media" }, hAsync("slot", { name: "media" })), hAsync("div", { class: "issue-content", part: "content" }, hAsync("div", { class: "issue-main", part: "main" }, hAsync("div", { class: "issue-header-top", part: "header-top" }, hAsync("div", { class: "issue-badges", part: "badges" }, issue.type === 'bug' ? (hAsync("feedlog-badge", { variant: "destructive", part: "badge badge-bug" }, "Bug")) : (hAsync("feedlog-badge", { variant: "enhancement", part: "badge badge-enhancement" }, "Enhancement")), statusBadgeLabel && (hAsync("feedlog-badge", { variant: "secondary", part: "badge badge-status" }, statusBadgeLabel))), hAsync("div", { class: "issue-meta-right", part: "meta-right" }, issue.pinnedAt && (hAsync("div", { class: "pinned-indicator", title: "Pinned issue", part: "pinned-indicator" }, this.renderPinIcon())), hAsync("span", { class: "issue-timestamp", title: timestampTitle, part: "timestamp" }, timestampLabel, " ", this.formatDate(timestampDate)))), hAsync("h3", { class: "issue-title", part: "title" }, displayTitle), issue.body != null && issue.body !== '' && (hAsync("div", { class: "issue-body", innerHTML: parseMarkdown(issue.body), part: "body" })), (repoName != null || showGithubButton || issue.type !== 'bug') && (hAsync("div", { class: "issue-footer", part: "footer" }, (repoName != null || showGithubButton) && (hAsync("div", { class: "issue-footer-meta", part: "footer-meta" }, repoName != null && (hAsync("span", { class: "repo-name", title: repoTooltip, part: "repo-name" }, repoName)), showGithubButton && (hAsync("a", { part: "github-link", class: "github-link", href: githubUrl, target: "_blank", rel: "noopener noreferrer", title: "View on GitHub" }, this.renderExternalLinkIcon(), hAsync("span", { class: "github-link-text", part: "github-link-text" }, "View on GitHub"))))), issue.type !== 'bug' && (hAsync("button", { part: `upvote-button ${issue.hasUpvoted ? 'upvoted' : ''}`, class: `upvote-button ${issue.hasUpvoted ? 'upvoted' : ''}`, onClick: (e) => this.handleUpvote(e), title: issue.hasUpvoted ? 'Remove upvote' : 'Upvote this issue' }, hAsync("div", { class: "upvote-action", part: "upvote-action" }, hAsync("slot", { name: "upvote-icon" }, this.renderUpvoteIcon(issue.hasUpvoted)), hAsync("span", { class: "upvote-label", part: "upvote-label" }, "Upvote")), hAsync("div", { class: "reel-container", part: "upvote-reel-container" }, hAsync("span", { class: "upvote-count reel-number", key: issue.upvoteCount, part: "upvote-count" }, issue.upvoteCount)))))))))));
6712
6722
  }
6713
6723
  get host() { return getElement(this); }
6714
6724
  static get style() { return feedlogIssueCss(); }
@@ -6726,7 +6736,7 @@ class FeedlogIssueComponent {
6726
6736
  }; }
6727
6737
  }
6728
6738
 
6729
- const feedlogIssuesCss = () => `:host{display:block;font-family:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;--feedlog-theme-bg:#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-min-height:100%;--feedlog-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.08), 0 1px 2px -1px rgba(0, 0, 0, 0.08)}:host(.dark){--feedlog-theme-bg: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-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.3)}.issues-container{min-height:var(--feedlog-min-height);background-color:var(--feedlog-background, var(--feedlog-theme-bg, #ffffff));padding:var(--feedlog-padding);margin:0 auto;border-radius:var(--feedlog-radius)}.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}.load-more-container{display:flex;justify-content:center;padding:2rem 0;gap:1rem}`;
6739
+ const feedlogIssuesCss = () => `:host{display:block;font-family:var(--feedlog-font-family);--feedlog-theme-bg:var(--feedlog-background);--feedlog-gap:var(--feedlog-space-2);--feedlog-padding:var(--feedlog-space-8);--feedlog-min-height:100%}:host(.dark){--feedlog-theme-bg:var(--feedlog-background)}.issues-container{min-height:var(--feedlog-min-height);background-color:var(--feedlog-background, var(--feedlog-theme-bg, #ffffff));padding:var(--feedlog-padding);margin:0 auto;border-radius:var(--feedlog-radius-lg)}.issues-header{margin-bottom:var(--feedlog-space-6);display:flex;align-items:flex-start;justify-content:space-between}.header-content{flex:1}.issues-title{color:var(--feedlog-foreground);margin:0 0 var(--feedlog-space-1) 0;font-size:var(--feedlog-text-xl);font-weight:var(--feedlog-font-semibold);line-height:1.5}.issues-subtitle{color:var(--feedlog-muted-foreground);font-size:var(--feedlog-text-sm);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-sm);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:var(--feedlog-space-5);padding-left:calc(var(--feedlog-space-5) + 3px);display:flex;flex-direction:column;gap:var(--feedlog-space-3)}.skeleton-header{display:flex;align-items:center;justify-content:space-between;gap:var(--feedlog-space-3)}.skeleton-badge{width:4.5rem;height:1.25rem;border-radius:var(--feedlog-radius-sm);background-color:var(--feedlog-muted);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-timestamp{width:3rem;height:0.75rem;border-radius:var(--feedlog-radius-sm);background-color:var(--feedlog-muted);animation:skeleton-pulse 1.5s ease-in-out infinite 0.2s}.skeleton-main{display:flex;flex-direction:column;gap:var(--feedlog-space-2)}.skeleton-title{height:0.9375rem;border-radius:var(--feedlog-radius-sm);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:var(--feedlog-space-1)}.skeleton-line{height:0.8125rem;border-radius:var(--feedlog-radius-sm);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:var(--feedlog-radius-sm);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:var(--feedlog-radius);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:var(--feedlog-space-10) var(--feedlog-space-8);min-height:12rem}.error-state-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:20rem;padding:var(--feedlog-space-8)}.error-icon{color:var(--feedlog-muted-foreground);opacity:0.8;margin-bottom:var(--feedlog-space-4)}.error-state-title{margin:0 0 var(--feedlog-space-2) 0;font-size:var(--feedlog-text-lg);font-weight:var(--feedlog-font-semibold);color:var(--feedlog-foreground);line-height:1.4}.error-state-message{margin:0 0 var(--feedlog-space-5) 0;font-size:var(--feedlog-text-sm);color:var(--feedlog-muted-foreground);line-height:1.5}.load-more-container{display:flex;justify-content:center;padding:var(--feedlog-space-8) 0;gap:var(--feedlog-space-4)}`;
6730
6740
 
6731
6741
  /**
6732
6742
  * Feedlog Issues Component
@@ -6767,10 +6777,6 @@ class FeedlogIssues {
6767
6777
  * Whether more issues are currently loading
6768
6778
  */
6769
6779
  this.isLoadingMore = false;
6770
- /**
6771
- * Internal state for theme
6772
- */
6773
- this.currentTheme = 'light';
6774
6780
  this.handleUpvote = (event) => {
6775
6781
  event.stopPropagation();
6776
6782
  this.feedlogUpvote.emit(event.detail);
@@ -6779,25 +6785,22 @@ class FeedlogIssues {
6779
6785
  this.feedlogLoadMore.emit();
6780
6786
  };
6781
6787
  }
6782
- componentWillLoad() {
6783
- this.currentTheme = this.theme;
6784
- }
6785
6788
  renderErrorIcon() {
6786
6789
  return (hAsync("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" }, hAsync("circle", { cx: "12", cy: "12", r: "10" }), hAsync("line", { x1: "12", y1: "8", x2: "12", y2: "12" }), hAsync("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })));
6787
6790
  }
6788
6791
  renderIssuesList() {
6789
6792
  var _a, _b;
6790
- return (hAsync("feedlog-issues-list", { issues: this.issues, limit: this.limit, theme: this.currentTheme, getIssueUrl: this.getIssueUrl, emptyStateTitle: (_a = this.emptyStateTitle) !== null && _a !== void 0 ? _a : 'No updates yet', emptyStateMessage: (_b = this.emptyStateMessage) !== null && _b !== void 0 ? _b : 'Check back later for new updates.', onFeedlogUpvote: (e) => this.handleUpvote(e) }));
6793
+ return (hAsync("feedlog-issues-list", { issues: this.issues, limit: this.limit, theme: this.theme, getIssueUrl: this.getIssueUrl, emptyStateTitle: (_a = this.emptyStateTitle) !== null && _a !== void 0 ? _a : 'No updates yet', emptyStateMessage: (_b = this.emptyStateMessage) !== null && _b !== void 0 ? _b : 'Check back later for new updates.', onFeedlogUpvote: (e) => this.handleUpvote(e), part: "issues-list" }, hAsync("slot", { name: "empty-state", slot: "empty-state" })));
6791
6794
  }
6792
6795
  render() {
6793
6796
  const containerStyle = {
6794
6797
  maxWidth: this.maxWidth,
6795
6798
  };
6796
- return (hAsync(Host, { key: '96686863c5eb831e64993c681c7780e035c0e2b2', class: this.currentTheme === 'dark' ? 'dark' : '' }, hAsync("div", { key: '54d01678053f4fe58eb547f9954f497402495a83', class: "issues-container", style: containerStyle }, (this.heading || this.subtitle) && (hAsync("header", { key: '889aa47cb4ceea60ca4a5615f512793d726059d9', class: "issues-header" }, hAsync("div", { key: '8b4ac6a9ed0c6120ec838a1329416f3471cd2751', class: "header-content" }, this.heading && hAsync("h1", { key: 'cfc52f28bc5131715a5c7a0b9231e440b4c0b67c', class: "issues-title" }, this.heading), this.subtitle && hAsync("p", { key: '8b4488546ceb6e807d689b8fca2b2fd85722f824', class: "issues-subtitle" }, this.subtitle)))), this.loading && (hAsync("div", { key: '35c382f4417893c17951b73dedb12452e805668c', class: "loading-state", role: "status", "aria-label": "Loading issues" }, hAsync("div", { key: '2d83dd9d40bf7b2a14744ee4a715108a9cdebd60', class: "loading-skeletons" }, [1, 2, 3].map(i => (hAsync("div", { key: i, class: "skeleton-card" }, hAsync("div", { class: "skeleton-content" }, hAsync("div", { class: "skeleton-header" }, hAsync("div", { class: "skeleton-badge" }), hAsync("div", { class: "skeleton-timestamp" })), hAsync("div", { class: "skeleton-main" }, hAsync("div", { class: "skeleton-title" }), hAsync("div", { class: "skeleton-body" }, hAsync("div", { class: "skeleton-line" }), hAsync("div", { class: "skeleton-line short" })), hAsync("div", { class: "skeleton-repo" })), hAsync("div", { class: "skeleton-footer" }, hAsync("div", { class: "skeleton-upvote" }))))))))), this.error && (hAsync("div", { key: '43efd42ce0d213131ba97d42d1f98c52515ea9fd', class: "error-state", role: "alert" }, hAsync("div", { key: 'ad22b0378e290556c896c628dadabf6091bbf972', class: "error-state-content" }, this.renderErrorIcon(), hAsync("h2", { key: '9a9779f52de12aa2241ba9ddda6cf8297a4af84d', class: "error-state-title" }, "Something went wrong"), hAsync("p", { key: 'c697040d37909d882730e5d9ab3a3b147061fc51', class: "error-state-message" }, this.error)))), !this.loading && !this.error && (hAsync("div", { key: 'afc12552ff7ccc808c7191c1dd1e26d3b95bf2fd' }, this.renderIssuesList(), this.hasMore && (hAsync("div", { key: '0f6c84bdeda386e4eec439fb80f4ee1606b9b559', class: "load-more-container" }, hAsync("feedlog-button", { key: 'e6983bd889a6cdfd4a4b8a06f3a6a97c2d276243', onFeedlogClick: this.handleLoadMore, disabled: this.isLoadingMore, variant: "outline" }, this.isLoadingMore ? 'Loading...' : 'Load More Issues'))))))));
6799
+ return (hAsync(Host, { key: '79835dd61383b41124f48d204977951236a7f8ce', class: this.theme === 'dark' ? 'dark' : '' }, hAsync("div", { key: '62228927cba9bd4cf58d8b4f3ec2751ba423dd67', class: "issues-container", style: containerStyle, part: "base" }, hAsync("slot", { key: 'c57d46adc472c2b03857db3e07cc5b549bd110f1', name: "header" }, (this.heading || this.subtitle) && (hAsync("header", { key: '080059a002a373d76bee863b368a12ffdba59384', class: "issues-header", part: "header" }, hAsync("div", { key: 'db85f995fb6f1f9fe961ea6726cf82da17fc9c2d', class: "header-content", part: "header-content" }, this.heading && (hAsync("h1", { key: 'e7b510ecd2039072b384d6dcb531ebf0b091010b', class: "issues-title", part: "title" }, this.heading)), this.subtitle && (hAsync("p", { key: '323f9a635b6a1c2ca9d955d12dc1925c0be59cf8', class: "issues-subtitle", part: "subtitle" }, this.subtitle)))))), this.loading && (hAsync("slot", { key: 'ba63923aa7cac4b3ab050b423d5f65dcbbe81677', name: "loading" }, hAsync("div", { key: '4bf1fc0d367acb0285eb124875c42e541939d388', class: "loading-state", role: "status", "aria-label": "Loading issues", part: "loading-state" }, hAsync("div", { key: 'fa369824bd1cb8e3b5c393613952611658e6919a', class: "loading-skeletons", part: "loading-skeletons" }, [1, 2, 3].map(i => (hAsync("div", { key: i, class: "skeleton-card", part: "skeleton-card" }, hAsync("div", { class: "skeleton-content", part: "skeleton-content" }, hAsync("div", { class: "skeleton-header", part: "skeleton-header" }, hAsync("div", { class: "skeleton-badge", part: "skeleton-badge" }), hAsync("div", { class: "skeleton-timestamp", part: "skeleton-timestamp" })), hAsync("div", { class: "skeleton-main", part: "skeleton-main" }, hAsync("div", { class: "skeleton-title", part: "skeleton-title" }), hAsync("div", { class: "skeleton-body", part: "skeleton-body" }, hAsync("div", { class: "skeleton-line", part: "skeleton-line" }), hAsync("div", { class: "skeleton-line short", part: "skeleton-line short" })), hAsync("div", { class: "skeleton-repo", part: "skeleton-repo" })), hAsync("div", { class: "skeleton-footer", part: "skeleton-footer" }, hAsync("div", { class: "skeleton-upvote", part: "skeleton-upvote" })))))))))), this.error && (hAsync("slot", { key: '5ad8c400e465213de6e9d1f2a4d5e70c86a7ca2d', name: "error" }, hAsync("div", { key: '0a1a62f25e9ccac249ea7426cc7839e95a24b60f', class: "error-state", role: "alert", part: "error-state" }, hAsync("div", { key: '3286f0ab99dbead8e7949317de510e643bfbc897', class: "error-state-content", part: "error-state-content" }, this.renderErrorIcon(), hAsync("h2", { key: '78319f0bbc6cc972bb2a4478134194b0592c13ba', class: "error-state-title", part: "error-title" }, "Something went wrong"), hAsync("p", { key: 'ba262bf4d991326d36a04667b1109fed008d7cfd', class: "error-state-message", part: "error-message" }, this.error))))), !this.loading && !this.error && (hAsync("div", { key: 'adc09c9a78afb9c163d23813eebb23a4c031be52', part: "list-container" }, this.renderIssuesList(), this.hasMore && (hAsync("slot", { key: '26010e848f5fc2976f0ab0c1d7f134efb023f173', name: "load-more" }, hAsync("div", { key: 'adbfb37d368383405dc9edd136ed7c0003b8cb67', class: "load-more-container", part: "load-more-container" }, hAsync("feedlog-button", { key: '8d00e17e29dd9148e71e86cb178b9e058f50ce32', onFeedlogClick: this.handleLoadMore, disabled: this.isLoadingMore, variant: "outline", part: "load-more-btn" }, this.isLoadingMore ? 'Loading...' : 'Load More Issues')))))))));
6797
6800
  }
6798
6801
  static get style() { return feedlogIssuesCss(); }
6799
6802
  static get cmpMeta() { return {
6800
- "$flags$": 9,
6803
+ "$flags$": 265,
6801
6804
  "$tagName$": "feedlog-issues",
6802
6805
  "$members$": {
6803
6806
  "issues": [16],
@@ -6812,8 +6815,7 @@ class FeedlogIssues {
6812
6815
  "error": [1],
6813
6816
  "hasMore": [4, "has-more"],
6814
6817
  "isLoadingMore": [4, "is-loading-more"],
6815
- "getIssueUrl": [16],
6816
- "currentTheme": [32]
6818
+ "getIssueUrl": [16]
6817
6819
  },
6818
6820
  "$listeners$": undefined,
6819
6821
  "$lazyBundleId$": "-",
@@ -6821,37 +6823,64 @@ class FeedlogIssues {
6821
6823
  }; }
6822
6824
  }
6823
6825
 
6826
+ function getDefaultExportFromCjs (x) {
6827
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
6828
+ }
6829
+
6830
+ function getAugmentedNamespace(n) {
6831
+ if (n.__esModule) return n;
6832
+ var f = n.default;
6833
+ if (typeof f == "function") {
6834
+ var a = function a () {
6835
+ if (this instanceof a) {
6836
+ return Reflect.construct(f, arguments, this.constructor);
6837
+ }
6838
+ return f.apply(this, arguments);
6839
+ };
6840
+ a.prototype = f.prototype;
6841
+ } else a = {};
6842
+ Object.defineProperty(a, '__esModule', {value: true});
6843
+ Object.keys(n).forEach(function (k) {
6844
+ var d = Object.getOwnPropertyDescriptor(n, k);
6845
+ Object.defineProperty(a, k, d.get ? d : {
6846
+ enumerable: true,
6847
+ get: function () {
6848
+ return n[k];
6849
+ }
6850
+ });
6851
+ });
6852
+ return a;
6853
+ }
6854
+
6855
+ var require$$0 = /*@__PURE__*/getAugmentedNamespace(purify_es);
6856
+
6857
+ var browser;
6858
+ var hasRequiredBrowser;
6859
+
6860
+ function requireBrowser () {
6861
+ if (hasRequiredBrowser) return browser;
6862
+ hasRequiredBrowser = 1;
6863
+ browser = self.DOMPurify || (self.DOMPurify = require$$0.default || require$$0);
6864
+ return browser;
6865
+ }
6866
+
6867
+ var browserExports = requireBrowser();
6868
+ var DOMPurify = /*@__PURE__*/getDefaultExportFromCjs(browserExports);
6869
+
6824
6870
  /**
6825
6871
  * HTML and XSS sanitization utilities
6826
6872
  */
6827
6873
  /**
6828
- * Basic HTML entity escaping to prevent XSS
6829
- * This is a lightweight alternative to DOMPurify
6830
- */
6831
- /**
6832
- * Sanitize HTML by removing dangerous tags and attributes
6833
- * Removes script tags, event handlers, and other potentially malicious content
6874
+ * Sanitize HTML using DOMPurify (safe for untrusted content).
6875
+ * Removes scripts, dangerous URLs, and unsafe attributes.
6834
6876
  */
6835
6877
  function sanitizeHtml(html) {
6836
6878
  if (typeof html !== 'string') {
6837
6879
  return '';
6838
6880
  }
6839
- // Remove script tags and content
6840
- let sanitized = html.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '');
6841
- // Remove on* event handlers
6842
- sanitized = sanitized.replace(/\s*on\w+\s*=\s*["'][^"']*["']/gi, '');
6843
- sanitized = sanitized.replace(/\s*on\w+\s*=\s*[^\s>]*/gi, '');
6844
- // Remove iframe tags
6845
- sanitized = sanitized.replace(/<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi, '');
6846
- // Remove style tags
6847
- sanitized = sanitized.replace(/<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/gi, '');
6848
- // Remove embed and object tags
6849
- sanitized = sanitized.replace(/<(embed|object)\b[^<]*>/gi, '');
6850
- // Remove javascript: protocol
6851
- sanitized = sanitized.replace(/javascript:/gi, '');
6852
- // Remove data: protocol for potentially dangerous mime types
6853
- sanitized = sanitized.replace(/data:(?!image\/(?:png|jpg|jpeg|gif|webp);)/gi, '');
6854
- return sanitized;
6881
+ return DOMPurify.sanitize(html, {
6882
+ USE_PROFILES: { html: true },
6883
+ });
6855
6884
  }
6856
6885
 
6857
6886
  /**
@@ -6932,13 +6961,7 @@ class FeedlogSDK {
6932
6961
  return this.validateIssuesResponse(data);
6933
6962
  }
6934
6963
  catch (error) {
6935
- if (error instanceof FeedlogError) {
6936
- throw error;
6937
- }
6938
- if (error instanceof TypeError && error.message.includes('fetch')) {
6939
- throw new FeedlogNetworkError('Network error: Unable to reach API', undefined, error);
6940
- }
6941
- throw new FeedlogError(`Failed to fetch issues: ${error instanceof Error ? error.message : 'Unknown error'}`, undefined, error);
6964
+ this.wrapFetchError(error, 'Failed to fetch issues');
6942
6965
  }
6943
6966
  }
6944
6967
  /**
@@ -6973,13 +6996,7 @@ class FeedlogSDK {
6973
6996
  return this.validateUpvoteResponse(data);
6974
6997
  }
6975
6998
  catch (error) {
6976
- if (error instanceof FeedlogError) {
6977
- throw error;
6978
- }
6979
- if (error instanceof TypeError && error.message.includes('fetch')) {
6980
- throw new FeedlogNetworkError('Network error: Unable to reach API', undefined, error);
6981
- }
6982
- throw new FeedlogError(`Failed to toggle upvote: ${error instanceof Error ? error.message : 'Unknown error'}`, undefined, error);
6999
+ this.wrapFetchError(error, 'Failed to toggle upvote');
6983
7000
  }
6984
7001
  }
6985
7002
  /**
@@ -7006,7 +7023,9 @@ class FeedlogSDK {
7006
7023
  url.searchParams.set('cursor', params.cursor);
7007
7024
  }
7008
7025
  if (params.limit !== undefined) {
7009
- url.searchParams.set('limit', params.limit.toString());
7026
+ const n = Number(params.limit);
7027
+ const clamped = Number.isFinite(n) ? Math.max(1, Math.min(100, Math.floor(n))) : 10;
7028
+ url.searchParams.set('limit', String(clamped));
7010
7029
  }
7011
7030
  return url.toString();
7012
7031
  }
@@ -7014,13 +7033,19 @@ class FeedlogSDK {
7014
7033
  * Get request headers
7015
7034
  */
7016
7035
  getAuthHeaders() {
7017
- const headers = {
7036
+ return {
7018
7037
  'Content-Type': 'application/json',
7038
+ 'x-api-key': this.apiKey,
7019
7039
  };
7020
- if (this.apiKey) {
7021
- headers['x-api-key'] = this.apiKey;
7040
+ }
7041
+ wrapFetchError(error, context) {
7042
+ if (error instanceof FeedlogError) {
7043
+ throw error;
7022
7044
  }
7023
- return headers;
7045
+ if (error instanceof TypeError && error.message.includes('fetch')) {
7046
+ throw new FeedlogNetworkError('Network error: Unable to reach API', undefined, error);
7047
+ }
7048
+ throw new FeedlogError(`${context}: ${error instanceof Error ? error.message : 'Unknown error'}`, undefined, error);
7024
7049
  }
7025
7050
  /**
7026
7051
  * Fetch with timeout support using AbortController
@@ -7105,13 +7130,23 @@ class FeedlogSDK {
7105
7130
  const repoName = rawRepoName != null && rawRepoName !== '' ? String(rawRepoName) : null;
7106
7131
  const rawRepoDesc = repo.description;
7107
7132
  const repoDescription = rawRepoDesc != null && rawRepoDesc !== '' ? sanitizeHtml(String(rawRepoDesc)) : null;
7133
+ const revision = typeof issue.revision === 'number' && Number.isFinite(issue.revision) ? issue.revision : 1;
7134
+ const upvoteCount = typeof issue.upvoteCount === 'number' && Number.isFinite(issue.upvoteCount)
7135
+ ? issue.upvoteCount
7136
+ : 0;
7137
+ const updatedAt = typeof issue.updatedAt === 'string' && issue.updatedAt.length > 0
7138
+ ? issue.updatedAt
7139
+ : new Date().toISOString();
7140
+ const createdAt = typeof issue.createdAt === 'string' && issue.createdAt.length > 0
7141
+ ? issue.createdAt
7142
+ : new Date().toISOString();
7108
7143
  return {
7109
7144
  id: String(issue.id),
7110
7145
  githubIssueLink,
7111
7146
  type: issue.type || 'bug',
7112
7147
  status: issue.status || 'open',
7113
7148
  pinnedAt: issue.pinnedAt ? String(issue.pinnedAt) : null,
7114
- revision: Number(issue.revision) || 1,
7149
+ revision,
7115
7150
  title: sanitizedTitle,
7116
7151
  body: sanitizedBody,
7117
7152
  repository: {
@@ -7119,9 +7154,9 @@ class FeedlogSDK {
7119
7154
  name: repoName,
7120
7155
  description: repoDescription,
7121
7156
  },
7122
- updatedAt: String(issue.updatedAt) || new Date().toISOString(),
7123
- createdAt: String(issue.createdAt) || new Date().toISOString(),
7124
- upvoteCount: Number(issue.upvoteCount) || 0,
7157
+ updatedAt,
7158
+ createdAt,
7159
+ upvoteCount,
7125
7160
  hasUpvoted: Boolean(issue.hasUpvoted),
7126
7161
  };
7127
7162
  }
@@ -7262,7 +7297,9 @@ class FeedlogIssuesClient {
7262
7297
  this.cursor = null;
7263
7298
  this.hasMore = false;
7264
7299
  this.issues = [];
7265
- this.fetchIssues();
7300
+ void this.fetchIssues().catch(() => {
7301
+ /* errors handled inside fetchIssues */
7302
+ });
7266
7303
  this.previousType = this.type;
7267
7304
  this.previousLimit = this.limit;
7268
7305
  this.previousSortBy = this.sortBy;
@@ -7282,6 +7319,22 @@ class FeedlogIssuesClient {
7282
7319
  this.feedlogError.emit({ error: errorMsg });
7283
7320
  }
7284
7321
  }
7322
+ buildFetchParams() {
7323
+ const params = {};
7324
+ if (this.type) {
7325
+ params.type = this.type;
7326
+ }
7327
+ if (this.sortBy) {
7328
+ params.sortBy = this.sortBy;
7329
+ }
7330
+ if (this.limit) {
7331
+ params.limit = this.limit;
7332
+ }
7333
+ if (this.cursor) {
7334
+ params.cursor = this.cursor;
7335
+ }
7336
+ return params;
7337
+ }
7285
7338
  async fetchIssues() {
7286
7339
  if (!this.sdk) {
7287
7340
  return;
@@ -7291,19 +7344,7 @@ class FeedlogIssuesClient {
7291
7344
  try {
7292
7345
  this.loading = true;
7293
7346
  this.error = null;
7294
- const params = {};
7295
- if (this.type) {
7296
- params.type = this.type;
7297
- }
7298
- if (this.sortBy) {
7299
- params.sortBy = this.sortBy;
7300
- }
7301
- if (this.limit) {
7302
- params.limit = this.limit;
7303
- }
7304
- if (this.cursor) {
7305
- params.cursor = this.cursor;
7306
- }
7347
+ const params = this.buildFetchParams();
7307
7348
  const response = await this.sdk.fetchIssues(params);
7308
7349
  // Ignore response if component disconnected or a newer request was made
7309
7350
  if (this.isDisconnected || currentRequestId !== this.fetchRequestId) {
@@ -7342,19 +7383,7 @@ class FeedlogIssuesClient {
7342
7383
  const currentRequestId = this.fetchRequestId;
7343
7384
  this.isLoadingMore = true;
7344
7385
  try {
7345
- const params = {};
7346
- if (this.type) {
7347
- params.type = this.type;
7348
- }
7349
- if (this.sortBy) {
7350
- params.sortBy = this.sortBy;
7351
- }
7352
- if (this.limit) {
7353
- params.limit = this.limit;
7354
- }
7355
- if (this.cursor) {
7356
- params.cursor = this.cursor;
7357
- }
7386
+ const params = this.buildFetchParams();
7358
7387
  const response = await this.sdk.fetchIssues(params);
7359
7388
  // Ignore response if component disconnected or a newer request was made
7360
7389
  if (this.isDisconnected || currentRequestId !== this.fetchRequestId) {
@@ -7389,11 +7418,11 @@ class FeedlogIssuesClient {
7389
7418
  const style = hostBg
7390
7419
  ? { '--feedlog-background': hostBg }
7391
7420
  : undefined;
7392
- return (hAsync("feedlog-issues", { key: '0528f8bbb5f1e735c3b50a4325221ee8bfdfadda', style: style, issues: this.issues, limit: this.limit, 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() }));
7421
+ return (hAsync("feedlog-issues", { key: '2d9528bb33630664824ab584e10208359d579eb6', style: style, issues: this.issues, limit: this.limit, 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(), part: "base" }, hAsync("slot", { key: 'efe89b9fd0f337af7930823762296487ebcb758e', name: "header", slot: "header" }), hAsync("slot", { key: 'ffebd688ebf25bb464ceefd6a161f7140e03933b', name: "loading", slot: "loading" }), hAsync("slot", { key: 'b59010966b6f7768814ba838c05ffd62cfd1c26a', name: "error", slot: "error" }), hAsync("slot", { key: '99b1abfcbb62703b3642fb02d79d8d1488421ee3', name: "empty-state", slot: "empty-state" }), hAsync("slot", { key: 'c47c1dc83e8434b8f66d1b42b65e812aa5e1f8ee', name: "load-more", slot: "load-more" })));
7393
7422
  }
7394
7423
  get el() { return getElement(this); }
7395
7424
  static get cmpMeta() { return {
7396
- "$flags$": 9,
7425
+ "$flags$": 265,
7397
7426
  "$tagName$": "feedlog-issues-client",
7398
7427
  "$members$": {
7399
7428
  "apiKey": [1, "api-key"],
@@ -7490,13 +7519,13 @@ class FeedlogIssuesList {
7490
7519
  return null;
7491
7520
  const totalPages = Math.ceil(this.issues.length / this.limit);
7492
7521
  const pageNumbers = this.getPageNumbers();
7493
- return (hAsync("nav", { class: "pagination", "aria-label": "Issues pagination" }, hAsync("button", { type: "button", class: "pagination-btn pagination-arrow", "aria-label": "Previous page", disabled: this.currentPage <= 1, onClick: () => this.goToPage(this.currentPage - 1) }, "\u2039"), pageNumbers.map((p, i) => p === 'ellipsis' ? (hAsync("span", { key: i, class: "pagination-ellipsis", "aria-hidden": "true" }, "\u2026")) : (hAsync("button", { key: i, type: "button", class: "pagination-btn", "aria-current": p === this.currentPage ? 'page' : undefined, onClick: () => this.goToPage(p) }, p))), hAsync("button", { type: "button", class: "pagination-btn pagination-arrow", "aria-label": "Next page", disabled: this.currentPage >= totalPages, onClick: () => this.goToPage(this.currentPage + 1) }, "\u203A")));
7522
+ return (hAsync("nav", { class: "pagination", "aria-label": "Issues pagination", part: "pagination" }, hAsync("button", { type: "button", class: "pagination-btn pagination-arrow", "aria-label": "Previous page", disabled: this.currentPage <= 1, onClick: () => this.goToPage(this.currentPage - 1), part: "pagination-btn pagination-arrow" }, "\u2039"), pageNumbers.map((p, i) => p === 'ellipsis' ? (hAsync("span", { key: `ellipsis-${i}`, class: "pagination-ellipsis", "aria-hidden": "true", part: "pagination-ellipsis" }, "\u2026")) : (hAsync("button", { key: `page-${p}`, type: "button", class: "pagination-btn", "aria-current": p === this.currentPage ? 'page' : undefined, onClick: () => this.goToPage(p), part: `pagination-btn ${p === this.currentPage ? 'pagination-btn-active' : ''}` }, p))), hAsync("button", { type: "button", class: "pagination-btn pagination-arrow", "aria-label": "Next page", disabled: this.currentPage >= totalPages, onClick: () => this.goToPage(this.currentPage + 1), part: "pagination-btn pagination-arrow" }, "\u203A")));
7494
7523
  }
7495
7524
  render() {
7496
7525
  const visibleIssues = this.getVisibleIssues();
7497
- return (hAsync(Host, { key: '474f5ca0d8edc94a8e9a03d83c6a977270391d65', class: this.theme === 'dark' ? 'dark' : '' }, hAsync("div", { key: '8f2f8125653ec5f80b167945a33cefe483c1a001', class: "issues-list" }, visibleIssues.length === 0 ? (hAsync("div", { class: "empty-state" }, this.emptyStateTitle && this.emptyStateMessage ? (hAsync("div", { class: "empty-state-content" }, this.renderEmptyStateIllustration(), hAsync("h2", { class: "empty-state-title" }, this.emptyStateTitle), hAsync("p", { class: "empty-state-message" }, this.emptyStateMessage))) : (hAsync("p", null, "No issues found")))) : (visibleIssues.map(issue => {
7526
+ return (hAsync(Host, { key: 'cfbc683e096ad29327539323e1db97aba4bba373', class: this.theme === 'dark' ? 'dark' : '' }, hAsync("div", { key: 'fb342265514ab879e37136955cb0dc444f381646', class: "issues-list", part: "base" }, visibleIssues.length === 0 ? (hAsync("div", { class: "empty-state", part: "empty-state" }, this.emptyStateTitle && this.emptyStateMessage ? (hAsync("div", { class: "empty-state-content", part: "empty-state-content" }, this.renderEmptyStateIllustration(), hAsync("h2", { class: "empty-state-title", part: "empty-state-title" }, this.emptyStateTitle), hAsync("p", { class: "empty-state-message", part: "empty-state-message" }, this.emptyStateMessage))) : (hAsync("slot", { name: "empty-state" }, hAsync("p", null, "No issues found"))))) : (visibleIssues.map(issue => {
7498
7527
  var _a, _b;
7499
- return (hAsync("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) }));
7528
+ return (hAsync("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), part: "issue" }));
7500
7529
  }))), this.renderPagination()));
7501
7530
  }
7502
7531
  static get watchers() { return {
@@ -7509,7 +7538,7 @@ class FeedlogIssuesList {
7509
7538
  }; }
7510
7539
  static get style() { return feedlogIssuesListCss(); }
7511
7540
  static get cmpMeta() { return {
7512
- "$flags$": 9,
7541
+ "$flags$": 265,
7513
7542
  "$tagName$": "feedlog-issues-list",
7514
7543
  "$members$": {
7515
7544
  "issues": [16],