@feedlog-ai/webcomponents 0.0.36 → 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
@@ -1,59 +1,30 @@
1
1
  :host {
2
2
  display: block;
3
- font-family:
4
- ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
3
+ font-family: var(--feedlog-font-family);
5
4
 
6
5
  /* Light theme defaults - use --feedlog-theme-bg so parent can override via --feedlog-background */
7
- --feedlog-theme-bg: #ffffff;
8
- --feedlog-foreground: oklch(0.145 0 0);
9
- --feedlog-card: #ffffff;
10
- --feedlog-card-foreground: oklch(0.145 0 0);
11
- --feedlog-muted: #ececf0;
12
- --feedlog-muted-foreground: #717182;
13
- --feedlog-border: rgba(0, 0, 0, 0.1);
14
- --feedlog-accent-color: #2563eb;
15
- --feedlog-destructive: #d4183d;
16
- --feedlog-blue-400: oklch(0.707 0.165 254.624);
17
- --feedlog-blue-600: oklch(0.546 0.245 262.881);
18
- --feedlog-blue-100: oklch(0.932 0.032 255.585);
19
- --feedlog-red-100: #fce7f3;
20
- --feedlog-red-400: #f472b6;
21
- --feedlog-red-600: #db2777;
22
- --feedlog-radius: 0.625rem;
23
- --feedlog-gap: 0.5rem;
24
- --feedlog-padding: 2rem;
6
+ --feedlog-theme-bg: var(--feedlog-background);
7
+ --feedlog-gap: var(--feedlog-space-2);
8
+ --feedlog-padding: var(--feedlog-space-8);
25
9
  --feedlog-min-height: 100%;
26
- --feedlog-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.08), 0 1px 2px -1px rgba(0, 0, 0, 0.08);
27
10
  }
28
11
 
29
12
  :host(.dark) {
30
13
  /* Dark theme values */
31
- --feedlog-theme-bg: oklch(0.18 0.01 260);
32
- --feedlog-foreground: oklch(0.985 0 0);
33
- --feedlog-card: oklch(0.24 0.01 260);
34
- --feedlog-card-foreground: oklch(0.985 0 0);
35
- --feedlog-muted: oklch(0.32 0.01 260);
36
- --feedlog-muted-foreground: oklch(0.72 0.02 260);
37
- --feedlog-border: oklch(0.34 0.01 260);
38
- --feedlog-accent-color: #3b82f6;
39
- --feedlog-destructive: oklch(0.396 0.141 25.723);
40
- --feedlog-blue-400: oklch(0.707 0.165 254.624);
41
- --feedlog-blue-600: oklch(0.546 0.245 262.881);
42
- --feedlog-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3);
14
+ --feedlog-theme-bg: var(--feedlog-background);
43
15
  }
44
16
 
45
-
46
17
  .issues-container {
47
18
  min-height: var(--feedlog-min-height);
48
19
  /* Parent can override via --feedlog-background (e.g. transparent); fallback to theme default */
49
20
  background-color: var(--feedlog-background, var(--feedlog-theme-bg, #ffffff));
50
21
  padding: var(--feedlog-padding);
51
22
  margin: 0 auto;
52
- border-radius: var(--feedlog-radius);
23
+ border-radius: var(--feedlog-radius-lg);
53
24
  }
54
25
 
55
26
  .issues-header {
56
- margin-bottom: 1.5rem;
27
+ margin-bottom: var(--feedlog-space-6);
57
28
  display: flex;
58
29
  align-items: flex-start;
59
30
  justify-content: space-between;
@@ -65,15 +36,15 @@
65
36
 
66
37
  .issues-title {
67
38
  color: var(--feedlog-foreground);
68
- margin: 0 0 0.25rem 0;
69
- font-size: 1.5rem;
70
- font-weight: 500;
39
+ margin: 0 0 var(--feedlog-space-1) 0;
40
+ font-size: var(--feedlog-text-xl);
41
+ font-weight: var(--feedlog-font-semibold);
71
42
  line-height: 1.5;
72
43
  }
73
44
 
74
45
  .issues-subtitle {
75
46
  color: var(--feedlog-muted-foreground);
76
- font-size: 0.875rem;
47
+ font-size: var(--feedlog-text-sm);
77
48
  margin: 0;
78
49
  }
79
50
 
@@ -91,7 +62,7 @@
91
62
  background-color: var(--feedlog-card);
92
63
  border: 1px solid var(--feedlog-border);
93
64
  border-radius: var(--feedlog-radius);
94
- box-shadow: var(--feedlog-shadow);
65
+ box-shadow: var(--feedlog-shadow-sm);
95
66
  position: relative;
96
67
  overflow: hidden;
97
68
  }
@@ -107,24 +78,24 @@
107
78
  }
108
79
 
109
80
  .skeleton-content {
110
- padding: 1.25rem;
111
- padding-left: calc(1.25rem + 3px);
81
+ padding: var(--feedlog-space-5);
82
+ padding-left: calc(var(--feedlog-space-5) + 3px);
112
83
  display: flex;
113
84
  flex-direction: column;
114
- gap: 0.875rem;
85
+ gap: var(--feedlog-space-3);
115
86
  }
116
87
 
117
88
  .skeleton-header {
118
89
  display: flex;
119
90
  align-items: center;
120
91
  justify-content: space-between;
121
- gap: 0.75rem;
92
+ gap: var(--feedlog-space-3);
122
93
  }
123
94
 
124
95
  .skeleton-badge {
125
96
  width: 4.5rem;
126
97
  height: 1.25rem;
127
- border-radius: 0.375rem;
98
+ border-radius: var(--feedlog-radius-sm);
128
99
  background-color: var(--feedlog-muted);
129
100
  animation: skeleton-pulse 1.5s ease-in-out infinite;
130
101
  }
@@ -132,7 +103,7 @@
132
103
  .skeleton-timestamp {
133
104
  width: 3rem;
134
105
  height: 0.75rem;
135
- border-radius: 0.25rem;
106
+ border-radius: var(--feedlog-radius-sm);
136
107
  background-color: var(--feedlog-muted);
137
108
  animation: skeleton-pulse 1.5s ease-in-out infinite 0.2s;
138
109
  }
@@ -140,12 +111,12 @@
140
111
  .skeleton-main {
141
112
  display: flex;
142
113
  flex-direction: column;
143
- gap: 0.5rem;
114
+ gap: var(--feedlog-space-2);
144
115
  }
145
116
 
146
117
  .skeleton-title {
147
118
  height: 0.9375rem;
148
- border-radius: 0.25rem;
119
+ border-radius: var(--feedlog-radius-sm);
149
120
  background-color: var(--feedlog-muted);
150
121
  animation: skeleton-pulse 1.5s ease-in-out infinite 0.1s;
151
122
  width: 85%;
@@ -154,12 +125,12 @@
154
125
  .skeleton-body {
155
126
  display: flex;
156
127
  flex-direction: column;
157
- gap: 0.375rem;
128
+ gap: var(--feedlog-space-1);
158
129
  }
159
130
 
160
131
  .skeleton-line {
161
132
  height: 0.8125rem;
162
- border-radius: 0.25rem;
133
+ border-radius: var(--feedlog-radius-sm);
163
134
  background-color: var(--feedlog-muted);
164
135
  animation: skeleton-pulse 1.5s ease-in-out infinite 0.15s;
165
136
  width: 100%;
@@ -172,7 +143,7 @@
172
143
  .skeleton-repo {
173
144
  width: 6rem;
174
145
  height: 0.75rem;
175
- border-radius: 0.25rem;
146
+ border-radius: var(--feedlog-radius-sm);
176
147
  background-color: var(--feedlog-muted);
177
148
  animation: skeleton-pulse 1.5s ease-in-out infinite 0.25s;
178
149
  }
@@ -185,7 +156,7 @@
185
156
  .skeleton-upvote {
186
157
  width: 2.5rem;
187
158
  height: 2rem;
188
- border-radius: 0.5rem;
159
+ border-radius: var(--feedlog-radius);
189
160
  background-color: var(--feedlog-muted);
190
161
  animation: skeleton-pulse 1.5s ease-in-out infinite 0.3s;
191
162
  }
@@ -204,7 +175,7 @@
204
175
  display: flex;
205
176
  align-items: center;
206
177
  justify-content: center;
207
- padding: 3rem 2rem;
178
+ padding: var(--feedlog-space-10) var(--feedlog-space-8);
208
179
  min-height: 12rem;
209
180
  }
210
181
 
@@ -214,26 +185,26 @@
214
185
  align-items: center;
215
186
  text-align: center;
216
187
  max-width: 20rem;
217
- padding: 2rem;
188
+ padding: var(--feedlog-space-8);
218
189
  }
219
190
 
220
191
  .error-icon {
221
192
  color: var(--feedlog-muted-foreground);
222
193
  opacity: 0.8;
223
- margin-bottom: 1rem;
194
+ margin-bottom: var(--feedlog-space-4);
224
195
  }
225
196
 
226
197
  .error-state-title {
227
- margin: 0 0 0.5rem 0;
228
- font-size: 1.125rem;
229
- font-weight: 600;
198
+ margin: 0 0 var(--feedlog-space-2) 0;
199
+ font-size: var(--feedlog-text-lg);
200
+ font-weight: var(--feedlog-font-semibold);
230
201
  color: var(--feedlog-foreground);
231
202
  line-height: 1.4;
232
203
  }
233
204
 
234
205
  .error-state-message {
235
- margin: 0 0 1.25rem 0;
236
- font-size: 0.875rem;
206
+ margin: 0 0 var(--feedlog-space-5) 0;
207
+ font-size: var(--feedlog-text-sm);
237
208
  color: var(--feedlog-muted-foreground);
238
209
  line-height: 1.5;
239
210
  }
@@ -241,6 +212,6 @@
241
212
  .load-more-container {
242
213
  display: flex;
243
214
  justify-content: center;
244
- padding: 2rem 0;
245
- gap: 1rem;
215
+ padding: var(--feedlog-space-8) 0;
216
+ gap: var(--feedlog-space-4);
246
217
  }
@@ -35,10 +35,6 @@ export class FeedlogIssues {
35
35
  * Whether more issues are currently loading
36
36
  */
37
37
  this.isLoadingMore = false;
38
- /**
39
- * Internal state for theme
40
- */
41
- this.currentTheme = 'light';
42
38
  this.handleUpvote = (event) => {
43
39
  event.stopPropagation();
44
40
  this.feedlogUpvote.emit(event.detail);
@@ -47,21 +43,18 @@ export class FeedlogIssues {
47
43
  this.feedlogLoadMore.emit();
48
44
  };
49
45
  }
50
- componentWillLoad() {
51
- this.currentTheme = this.theme;
52
- }
53
46
  renderErrorIcon() {
54
47
  return (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" }, h("circle", { cx: "12", cy: "12", r: "10" }), h("line", { x1: "12", y1: "8", x2: "12", y2: "12" }), h("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })));
55
48
  }
56
49
  renderIssuesList() {
57
50
  var _a, _b;
58
- return (h("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) }));
51
+ return (h("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" }, h("slot", { name: "empty-state", slot: "empty-state" })));
59
52
  }
60
53
  render() {
61
54
  const containerStyle = {
62
55
  maxWidth: this.maxWidth,
63
56
  };
64
- return (h(Host, { key: '96686863c5eb831e64993c681c7780e035c0e2b2', class: this.currentTheme === 'dark' ? 'dark' : '' }, h("div", { key: '54d01678053f4fe58eb547f9954f497402495a83', class: "issues-container", style: containerStyle }, (this.heading || this.subtitle) && (h("header", { key: '889aa47cb4ceea60ca4a5615f512793d726059d9', class: "issues-header" }, h("div", { key: '8b4ac6a9ed0c6120ec838a1329416f3471cd2751', class: "header-content" }, this.heading && h("h1", { key: 'cfc52f28bc5131715a5c7a0b9231e440b4c0b67c', class: "issues-title" }, this.heading), this.subtitle && h("p", { key: '8b4488546ceb6e807d689b8fca2b2fd85722f824', class: "issues-subtitle" }, this.subtitle)))), this.loading && (h("div", { key: '35c382f4417893c17951b73dedb12452e805668c', class: "loading-state", role: "status", "aria-label": "Loading issues" }, h("div", { key: '2d83dd9d40bf7b2a14744ee4a715108a9cdebd60', class: "loading-skeletons" }, [1, 2, 3].map(i => (h("div", { key: i, class: "skeleton-card" }, h("div", { class: "skeleton-content" }, h("div", { class: "skeleton-header" }, h("div", { class: "skeleton-badge" }), h("div", { class: "skeleton-timestamp" })), h("div", { class: "skeleton-main" }, h("div", { class: "skeleton-title" }), h("div", { class: "skeleton-body" }, h("div", { class: "skeleton-line" }), h("div", { class: "skeleton-line short" })), h("div", { class: "skeleton-repo" })), h("div", { class: "skeleton-footer" }, h("div", { class: "skeleton-upvote" }))))))))), this.error && (h("div", { key: '43efd42ce0d213131ba97d42d1f98c52515ea9fd', class: "error-state", role: "alert" }, h("div", { key: 'ad22b0378e290556c896c628dadabf6091bbf972', class: "error-state-content" }, this.renderErrorIcon(), h("h2", { key: '9a9779f52de12aa2241ba9ddda6cf8297a4af84d', class: "error-state-title" }, "Something went wrong"), h("p", { key: 'c697040d37909d882730e5d9ab3a3b147061fc51', class: "error-state-message" }, this.error)))), !this.loading && !this.error && (h("div", { key: 'afc12552ff7ccc808c7191c1dd1e26d3b95bf2fd' }, this.renderIssuesList(), this.hasMore && (h("div", { key: '0f6c84bdeda386e4eec439fb80f4ee1606b9b559', class: "load-more-container" }, h("feedlog-button", { key: 'e6983bd889a6cdfd4a4b8a06f3a6a97c2d276243', onFeedlogClick: this.handleLoadMore, disabled: this.isLoadingMore, variant: "outline" }, this.isLoadingMore ? 'Loading...' : 'Load More Issues'))))))));
57
+ return (h(Host, { key: '79835dd61383b41124f48d204977951236a7f8ce', class: this.theme === 'dark' ? 'dark' : '' }, h("div", { key: '62228927cba9bd4cf58d8b4f3ec2751ba423dd67', class: "issues-container", style: containerStyle, part: "base" }, h("slot", { key: 'c57d46adc472c2b03857db3e07cc5b549bd110f1', name: "header" }, (this.heading || this.subtitle) && (h("header", { key: '080059a002a373d76bee863b368a12ffdba59384', class: "issues-header", part: "header" }, h("div", { key: 'db85f995fb6f1f9fe961ea6726cf82da17fc9c2d', class: "header-content", part: "header-content" }, this.heading && (h("h1", { key: 'e7b510ecd2039072b384d6dcb531ebf0b091010b', class: "issues-title", part: "title" }, this.heading)), this.subtitle && (h("p", { key: '323f9a635b6a1c2ca9d955d12dc1925c0be59cf8', class: "issues-subtitle", part: "subtitle" }, this.subtitle)))))), this.loading && (h("slot", { key: 'ba63923aa7cac4b3ab050b423d5f65dcbbe81677', name: "loading" }, h("div", { key: '4bf1fc0d367acb0285eb124875c42e541939d388', class: "loading-state", role: "status", "aria-label": "Loading issues", part: "loading-state" }, h("div", { key: 'fa369824bd1cb8e3b5c393613952611658e6919a', class: "loading-skeletons", part: "loading-skeletons" }, [1, 2, 3].map(i => (h("div", { key: i, class: "skeleton-card", part: "skeleton-card" }, h("div", { class: "skeleton-content", part: "skeleton-content" }, h("div", { class: "skeleton-header", part: "skeleton-header" }, h("div", { class: "skeleton-badge", part: "skeleton-badge" }), h("div", { class: "skeleton-timestamp", part: "skeleton-timestamp" })), h("div", { class: "skeleton-main", part: "skeleton-main" }, h("div", { class: "skeleton-title", part: "skeleton-title" }), h("div", { class: "skeleton-body", part: "skeleton-body" }, h("div", { class: "skeleton-line", part: "skeleton-line" }), h("div", { class: "skeleton-line short", part: "skeleton-line short" })), h("div", { class: "skeleton-repo", part: "skeleton-repo" })), h("div", { class: "skeleton-footer", part: "skeleton-footer" }, h("div", { class: "skeleton-upvote", part: "skeleton-upvote" })))))))))), this.error && (h("slot", { key: '5ad8c400e465213de6e9d1f2a4d5e70c86a7ca2d', name: "error" }, h("div", { key: '0a1a62f25e9ccac249ea7426cc7839e95a24b60f', class: "error-state", role: "alert", part: "error-state" }, h("div", { key: '3286f0ab99dbead8e7949317de510e643bfbc897', class: "error-state-content", part: "error-state-content" }, this.renderErrorIcon(), h("h2", { key: '78319f0bbc6cc972bb2a4478134194b0592c13ba', class: "error-state-title", part: "error-title" }, "Something went wrong"), h("p", { key: 'ba262bf4d991326d36a04667b1109fed008d7cfd', class: "error-state-message", part: "error-message" }, this.error))))), !this.loading && !this.error && (h("div", { key: 'adc09c9a78afb9c163d23813eebb23a4c031be52', part: "list-container" }, this.renderIssuesList(), this.hasMore && (h("slot", { key: '26010e848f5fc2976f0ab0c1d7f134efb023f173', name: "load-more" }, h("div", { key: 'adbfb37d368383405dc9edd136ed7c0003b8cb67', class: "load-more-container", part: "load-more-container" }, h("feedlog-button", { key: '8d00e17e29dd9148e71e86cb178b9e058f50ce32', onFeedlogClick: this.handleLoadMore, disabled: this.isLoadingMore, variant: "outline", part: "load-more-btn" }, this.isLoadingMore ? 'Loading...' : 'Load More Issues')))))))));
65
58
  }
66
59
  static get is() { return "feedlog-issues"; }
67
60
  static get encapsulation() { return "shadow"; }
@@ -341,11 +334,6 @@ export class FeedlogIssues {
341
334
  }
342
335
  };
343
336
  }
344
- static get states() {
345
- return {
346
- "currentTheme": {}
347
- };
348
- }
349
337
  static get events() {
350
338
  return [{
351
339
  "method": "feedlogUpvote",
@@ -1,98 +1,118 @@
1
1
  import { h } from "@stencil/core";
2
+ /** API-shaped sample issues (matches FetchIssuesResponse) plus bug examples for badge coverage */
2
3
  const sampleIssues = [
3
4
  {
4
- id: 'issue-1',
5
- githubIssueLink: 'https://github.com/feedlog/feedlog-toolkit/issues/24',
6
- title: 'Add dark mode support',
7
- body: 'It would be great to have a dark mode option for the dashboard.',
5
+ id: 'iss_365sfvyqb434',
6
+ githubIssueLink: null,
8
7
  type: 'enhancement',
9
8
  status: 'open',
10
9
  pinnedAt: null,
11
- revision: 1,
10
+ title: 'Add support for native GitHub Issue Types',
11
+ body: "## Motivation\nGitHub has introduced a native 'Issue Type' field at the organization level to provide a structured way to categorize work, replacing the inconsistent use of labels or project-specific custom fields.\n\n## What’s Changing\nThe system will now support the native GitHub 'Issue Type' property as the primary source of truth for categorizing issues. Integration will be updated to read the 'issue.type' field from webhooks and API responses.\n\n## Expected Behavior\n1. The system will prioritize the 'issue.type.name' field to determine the issue category.\n2. Existing label-based categorization will be maintained as a fallback mechanism for issues where the native type is not defined.\n3. The application will correctly ignore project-level 'Type' fields to avoid data conflicts.",
12
+ revision: 2,
12
13
  repository: {
13
- id: 'repo-1',
14
- name: 'feedlog-toolkit',
15
- description: 'Monorepo for Feedlog Toolkit',
14
+ id: 'rep_755dtvwg9d6r',
15
+ name: 'Infrastructure',
16
+ description: null,
16
17
  },
17
- updatedAt: new Date(Date.now() - 2 * 60 * 60 * 1000).toISOString(), // 2 hours ago
18
- createdAt: new Date(Date.now() - 2 * 60 * 60 * 1000).toISOString(),
19
- upvoteCount: 24,
18
+ updatedAt: '2026-03-23T16:42:40.555Z',
19
+ createdAt: '2026-03-23T16:41:06.302Z',
20
+ upvoteCount: 0,
20
21
  hasUpvoted: false,
21
22
  },
22
23
  {
23
- id: 'issue-2',
24
- githubIssueLink: 'https://github.com/feedlog/feedlog-toolkit/issues/15',
25
- title: 'Charts not rendering on mobile',
26
- body: 'The chart components are not properly responsive on smaller screens.',
27
- type: 'bug',
24
+ id: 'iss_9k1ums2a23s1',
25
+ githubIssueLink: null,
26
+ type: 'enhancement',
28
27
  status: 'open',
29
28
  pinnedAt: null,
30
- revision: 1,
29
+ title: 'Introduce Release issue type for hierarchical task management',
30
+ body: '## Motivation\nUsers currently lack a native way to group related enhancements and bug fixes under a single release umbrella, making it difficult to track progress across multiple smaller tasks.\n\n## What’s Changing\nA new "Release" parent issue type is being introduced to allow for the nesting of enhancement and bug issues as sub-tasks.\n\n## Expected Behavior\n1. Users can create a parent Release issue without requiring specific labels.\n2. Enhancement and bug issues can be linked as children to a parent Release issue by leveraging existing GitHub sub-issue functionality.\n3. The interface will display all associated sub-issues directly under the parent Release issue for improved visibility.',
31
+ revision: 4,
31
32
  repository: {
32
- id: 'repo-1',
33
- name: 'feedlog-toolkit',
34
- description: 'Monorepo for Feedlog Toolkit',
33
+ id: 'rep_755dtvwg9d6r',
34
+ name: 'Infrastructure',
35
+ description: null,
35
36
  },
36
- updatedAt: new Date(Date.now() - 5 * 60 * 60 * 1000).toISOString(), // 5 hours ago
37
- createdAt: new Date(Date.now() - 5 * 60 * 60 * 1000).toISOString(),
37
+ updatedAt: '2026-03-21T17:01:16.642Z',
38
+ createdAt: '2026-03-21T16:57:19.826Z',
38
39
  upvoteCount: 0,
39
40
  hasUpvoted: false,
40
41
  },
41
42
  {
42
- id: 'issue-3',
43
- githubIssueLink: 'https://github.com/feedlog/feedlog-toolkit/issues/8',
44
- title: 'Export data to CSV',
45
- body: 'Add functionality to export chart data as CSV files.',
43
+ id: 'iss_zwhnnqy38zmi',
44
+ githubIssueLink: null,
46
45
  type: 'enhancement',
47
46
  status: 'open',
48
47
  pinnedAt: null,
49
- revision: 1,
48
+ title: 'Implement structured user feedback collection via forms',
49
+ body: '## Motivation\nCurrent feedback mechanisms are limited to simple upvote buttons, which lack the granularity required to understand specific user preferences or pain points. \n\n## What’s Changing\nThis update introduces a structured feedback collection system supporting checkboxes, radio buttons, and custom form fields. Feedback data submitted by users will be automatically aggregated and posted directly to the corresponding GitHub issue. \n\n## Expected Behavior\n1. Users can select multiple options via checkboxes or single options via radio buttons within a feedback form.\n2. Submitted feedback responses are automatically compiled and displayed as a summary within the relevant GitHub issue.',
50
+ revision: 3,
50
51
  repository: {
51
- id: 'repo-1',
52
- name: 'feedlog-toolkit',
53
- description: 'Monorepo for Feedlog Toolkit',
52
+ id: 'rep_755dtvwg9d6r',
53
+ name: 'Infrastructure',
54
+ description: null,
54
55
  },
55
- updatedAt: new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString(), // 1 day ago
56
- createdAt: new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString(),
57
- upvoteCount: 15,
56
+ updatedAt: '2026-03-21T16:47:18.550Z',
57
+ createdAt: '2026-03-21T16:41:04.709Z',
58
+ upvoteCount: 0,
58
59
  hasUpvoted: false,
59
60
  },
60
61
  {
61
- id: 'issue-4',
62
- githubIssueLink: 'https://github.com/feedlog/feedlog-toolkit/issues/12',
63
- title: 'Memory leak in real-time updates',
64
- body: 'When leaving the dashboard open for extended periods, memory usage increases significantly.',
62
+ id: 'iss_w5nhudiz7udm',
63
+ githubIssueLink: null,
64
+ type: 'enhancement',
65
+ status: 'open',
66
+ pinnedAt: null,
67
+ title: 'Enable media support for card components',
68
+ body: '## Motivation\nCard components currently lack the ability to display visual content, limiting the ability to effectively illustrate issues or provide context.\n\n## What’s Changing\nSupport for embedded media, including images and videos, is being integrated into card components using standard Markdown syntax.\n\n## Expected Behavior\n1. Images and videos included in the Markdown content will render correctly within the card component.\n2. Media rendering will mirror the display behavior currently utilized in issue bodies.',
69
+ revision: 6,
70
+ repository: {
71
+ id: 'rep_755dtvwg9d6r',
72
+ name: 'Infrastructure',
73
+ description: null,
74
+ },
75
+ updatedAt: '2026-03-21T07:37:58.605Z',
76
+ createdAt: '2026-03-20T15:18:47.674Z',
77
+ upvoteCount: 1,
78
+ hasUpvoted: false,
79
+ },
80
+ {
81
+ id: 'iss_bug_charts_mobile',
82
+ githubIssueLink: null,
65
83
  type: 'bug',
66
84
  status: 'open',
67
85
  pinnedAt: null,
86
+ title: 'Charts not rendering on mobile',
87
+ body: 'The chart components are not properly responsive on smaller screens.',
68
88
  revision: 1,
69
89
  repository: {
70
- id: 'repo-1',
71
- name: 'feedlog-toolkit',
72
- description: 'Monorepo for Feedlog Toolkit',
90
+ id: 'rep_755dtvwg9d6r',
91
+ name: 'Infrastructure',
92
+ description: null,
73
93
  },
74
- updatedAt: new Date(Date.now() - 2 * 24 * 60 * 60 * 1000).toISOString(), // 2 days ago
75
- createdAt: new Date(Date.now() - 2 * 24 * 60 * 60 * 1000).toISOString(),
94
+ updatedAt: '2026-03-19T12:00:00.000Z',
95
+ createdAt: '2026-03-19T10:00:00.000Z',
76
96
  upvoteCount: 0,
77
97
  hasUpvoted: false,
78
98
  },
79
99
  {
80
- id: 'issue-5',
100
+ id: 'iss_bug_memory_leak',
81
101
  githubIssueLink: null,
82
- title: 'Custom color themes',
83
- body: 'Allow users to customize the color palette for charts and UI elements.',
84
- type: 'enhancement',
102
+ type: 'bug',
85
103
  status: 'open',
86
104
  pinnedAt: null,
105
+ title: 'Memory leak in real-time updates',
106
+ body: 'When leaving the dashboard open for extended periods, memory usage increases significantly.',
87
107
  revision: 1,
88
108
  repository: {
89
- id: 'repo-1',
90
- name: 'feedlog-toolkit',
91
- description: 'Monorepo for Feedlog Toolkit',
109
+ id: 'rep_755dtvwg9d6r',
110
+ name: 'Infrastructure',
111
+ description: null,
92
112
  },
93
- updatedAt: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString(), // 1 week ago
94
- createdAt: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString(),
95
- upvoteCount: 8,
113
+ updatedAt: '2026-03-18T09:30:00.000Z',
114
+ createdAt: '2026-03-17T14:00:00.000Z',
115
+ upvoteCount: 0,
96
116
  hasUpvoted: false,
97
117
  },
98
118
  ];
@@ -97,7 +97,9 @@ export class FeedlogIssuesClient {
97
97
  this.cursor = null;
98
98
  this.hasMore = false;
99
99
  this.issues = [];
100
- this.fetchIssues();
100
+ void this.fetchIssues().catch(() => {
101
+ /* errors handled inside fetchIssues */
102
+ });
101
103
  this.previousType = this.type;
102
104
  this.previousLimit = this.limit;
103
105
  this.previousSortBy = this.sortBy;
@@ -117,6 +119,22 @@ export class FeedlogIssuesClient {
117
119
  this.feedlogError.emit({ error: errorMsg });
118
120
  }
119
121
  }
122
+ buildFetchParams() {
123
+ const params = {};
124
+ if (this.type) {
125
+ params.type = this.type;
126
+ }
127
+ if (this.sortBy) {
128
+ params.sortBy = this.sortBy;
129
+ }
130
+ if (this.limit) {
131
+ params.limit = this.limit;
132
+ }
133
+ if (this.cursor) {
134
+ params.cursor = this.cursor;
135
+ }
136
+ return params;
137
+ }
120
138
  async fetchIssues() {
121
139
  if (!this.sdk) {
122
140
  return;
@@ -126,19 +144,7 @@ export class FeedlogIssuesClient {
126
144
  try {
127
145
  this.loading = true;
128
146
  this.error = null;
129
- const params = {};
130
- if (this.type) {
131
- params.type = this.type;
132
- }
133
- if (this.sortBy) {
134
- params.sortBy = this.sortBy;
135
- }
136
- if (this.limit) {
137
- params.limit = this.limit;
138
- }
139
- if (this.cursor) {
140
- params.cursor = this.cursor;
141
- }
147
+ const params = this.buildFetchParams();
142
148
  const response = await this.sdk.fetchIssues(params);
143
149
  // Ignore response if component disconnected or a newer request was made
144
150
  if (this.isDisconnected || currentRequestId !== this.fetchRequestId) {
@@ -177,19 +183,7 @@ export class FeedlogIssuesClient {
177
183
  const currentRequestId = this.fetchRequestId;
178
184
  this.isLoadingMore = true;
179
185
  try {
180
- const params = {};
181
- if (this.type) {
182
- params.type = this.type;
183
- }
184
- if (this.sortBy) {
185
- params.sortBy = this.sortBy;
186
- }
187
- if (this.limit) {
188
- params.limit = this.limit;
189
- }
190
- if (this.cursor) {
191
- params.cursor = this.cursor;
192
- }
186
+ const params = this.buildFetchParams();
193
187
  const response = await this.sdk.fetchIssues(params);
194
188
  // Ignore response if component disconnected or a newer request was made
195
189
  if (this.isDisconnected || currentRequestId !== this.fetchRequestId) {
@@ -224,7 +218,7 @@ export class FeedlogIssuesClient {
224
218
  const style = hostBg
225
219
  ? { '--feedlog-background': hostBg }
226
220
  : undefined;
227
- return (h("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() }));
221
+ return (h("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" }, h("slot", { key: 'efe89b9fd0f337af7930823762296487ebcb758e', name: "header", slot: "header" }), h("slot", { key: 'ffebd688ebf25bb464ceefd6a161f7140e03933b', name: "loading", slot: "loading" }), h("slot", { key: 'b59010966b6f7768814ba838c05ffd62cfd1c26a', name: "error", slot: "error" }), h("slot", { key: '99b1abfcbb62703b3642fb02d79d8d1488421ee3', name: "empty-state", slot: "empty-state" }), h("slot", { key: 'c47c1dc83e8434b8f66d1b42b65e812aa5e1f8ee', name: "load-more", slot: "load-more" })));
228
222
  }
229
223
  static get is() { return "feedlog-issues-client"; }
230
224
  static get encapsulation() { return "shadow"; }
@@ -64,13 +64,13 @@ export class FeedlogIssuesList {
64
64
  return null;
65
65
  const totalPages = Math.ceil(this.issues.length / this.limit);
66
66
  const pageNumbers = this.getPageNumbers();
67
- return (h("nav", { class: "pagination", "aria-label": "Issues pagination" }, h("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' ? (h("span", { key: i, class: "pagination-ellipsis", "aria-hidden": "true" }, "\u2026")) : (h("button", { key: i, type: "button", class: "pagination-btn", "aria-current": p === this.currentPage ? 'page' : undefined, onClick: () => this.goToPage(p) }, p))), h("button", { type: "button", class: "pagination-btn pagination-arrow", "aria-label": "Next page", disabled: this.currentPage >= totalPages, onClick: () => this.goToPage(this.currentPage + 1) }, "\u203A")));
67
+ return (h("nav", { class: "pagination", "aria-label": "Issues pagination", part: "pagination" }, h("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' ? (h("span", { key: `ellipsis-${i}`, class: "pagination-ellipsis", "aria-hidden": "true", part: "pagination-ellipsis" }, "\u2026")) : (h("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))), h("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")));
68
68
  }
69
69
  render() {
70
70
  const visibleIssues = this.getVisibleIssues();
71
- return (h(Host, { key: '474f5ca0d8edc94a8e9a03d83c6a977270391d65', class: this.theme === 'dark' ? 'dark' : '' }, h("div", { key: '8f2f8125653ec5f80b167945a33cefe483c1a001', class: "issues-list" }, visibleIssues.length === 0 ? (h("div", { class: "empty-state" }, this.emptyStateTitle && this.emptyStateMessage ? (h("div", { class: "empty-state-content" }, this.renderEmptyStateIllustration(), h("h2", { class: "empty-state-title" }, this.emptyStateTitle), h("p", { class: "empty-state-message" }, this.emptyStateMessage))) : (h("p", null, "No issues found")))) : (visibleIssues.map(issue => {
71
+ return (h(Host, { key: 'cfbc683e096ad29327539323e1db97aba4bba373', class: this.theme === 'dark' ? 'dark' : '' }, h("div", { key: 'fb342265514ab879e37136955cb0dc444f381646', class: "issues-list", part: "base" }, visibleIssues.length === 0 ? (h("div", { class: "empty-state", part: "empty-state" }, this.emptyStateTitle && this.emptyStateMessage ? (h("div", { class: "empty-state-content", part: "empty-state-content" }, this.renderEmptyStateIllustration(), h("h2", { class: "empty-state-title", part: "empty-state-title" }, this.emptyStateTitle), h("p", { class: "empty-state-message", part: "empty-state-message" }, this.emptyStateMessage))) : (h("slot", { name: "empty-state" }, h("p", null, "No issues found"))))) : (visibleIssues.map(issue => {
72
72
  var _a, _b;
73
- return (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) }));
73
+ return (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), part: "issue" }));
74
74
  }))), this.renderPagination()));
75
75
  }
76
76
  static get is() { return "feedlog-issues-list"; }
@@ -8,10 +8,15 @@ export function parseMarkdown(markdown) {
8
8
  if (markdown == null || markdown === '') {
9
9
  return '';
10
10
  }
11
- const html = marked.parse(markdown, {
11
+ const parsed = marked.parse(markdown, {
12
12
  gfm: true,
13
13
  breaks: true,
14
+ async: false,
14
15
  });
16
+ if (typeof parsed !== 'string') {
17
+ throw new Error('marked.parse returned a Promise; async markdown is not supported');
18
+ }
19
+ const html = parsed;
15
20
  return DOMPurify.sanitize(html, {
16
21
  ALLOWED_TAGS: [
17
22
  'p',
@@ -1 +1 @@
1
- import{F as o,d as s}from"./p-DzATWlAC.js";const p=o,r=s;export{p as FeedlogBadge,r as defineCustomElement}
1
+ import{F as o,d as s}from"./p-DFD585IK.js";const p=o,r=s;export{p as FeedlogBadge,r as defineCustomElement}
@@ -1 +1 @@
1
- import{F as o,d as s}from"./p-DMdb-G26.js";const p=o,r=s;export{p as FeedlogButton,r as defineCustomElement}
1
+ import{F as o,d as s}from"./p-I6NOP29P.js";const p=o,r=s;export{p as FeedlogButton,r as defineCustomElement}
@@ -1 +1 @@
1
- import{t as e,p as o,H as d,h as a}from"./index.js";const r=o(class extends d{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow()}render(){return a("div",{key:"293a80e66adedfc1af29daf72390a4f464321b96",class:"feedlog-card"},a("slot",{key:"b7e5a827f89035e791d9c756db0f66198e6c5a38",name:"header"}),a("slot",{key:"da89fee0a01068c8438564848f218faa9c5d849e",name:"content"}),a("slot",{key:"30b05e80e4189c0f73810a48f64e072dfac83267",name:"footer"}))}static get style(){return':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}'}},[257,"feedlog-card"]);function l(){"undefined"!=typeof customElements&&["feedlog-card"].forEach((o=>{"feedlog-card"===o&&(customElements.get(e(o))||customElements.define(e(o),r))}))}l();const s=r,f=l;export{s as FeedlogCard,f as defineCustomElement}
1
+ import{t as e,p as d,H as o,h as a}from"./index.js";const r=d(class extends o{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow()}render(){return a("div",{key:"c95d00e338fcf8d985407cda878f50d173c86c71",class:"feedlog-card",part:"base"},a("div",{key:"5001f2e08495d54abb59ddcada568c9ff4c6fb87",class:"feedlog-card-header",part:"header"},a("slot",{key:"b6c6f18a458249aedfb4a95679d4592cfcac4187",name:"header"})),a("div",{key:"99faa1bd9af52fb23cb304e0a87d35b8e14a6358",class:"feedlog-card-content",part:"content"},a("slot",{key:"44370b05b0c2335d6c7271f2807189a7a208be71",name:"content"})),a("div",{key:"e3876d4f589f9ecf917b5a9b5919363c19d08c93",class:"feedlog-card-footer",part:"footer"},a("slot",{key:"be69074d341c8e88f9227d2f035f22838469b035",name:"footer"})))}static get style(){return':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}'}},[257,"feedlog-card"]);function t(){"undefined"!=typeof customElements&&["feedlog-card"].forEach((d=>{"feedlog-card"===d&&(customElements.get(e(d))||customElements.define(e(d),r))}))}t();const c=r,f=t;export{c as FeedlogCard,f as defineCustomElement}
@@ -1 +1 @@
1
- import{F as o,d as s}from"./p-BRjVS8bz.js";const p=o,r=s;export{p as FeedlogIssue,r as defineCustomElement}
1
+ import{F as o,d as s}from"./p-CvIMO_S7.js";const p=o,r=s;export{p as FeedlogIssue,r as defineCustomElement}