@feedlog-ai/react 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 (34) hide show
  1. package/README.md +10 -30
  2. package/dist/components/domain/issue-list.d.ts +8 -0
  3. package/dist/components/domain/issue-list.d.ts.map +1 -0
  4. package/dist/components/domain/issue-list.js +16 -0
  5. package/dist/components/domain/issue-list.js.map +1 -0
  6. package/dist/components/domain/issue.d.ts +10 -0
  7. package/dist/components/domain/issue.d.ts.map +1 -0
  8. package/dist/components/domain/issue.js +16 -0
  9. package/dist/components/domain/issue.js.map +1 -0
  10. package/dist/components/stencil-generated/components.d.ts +59 -0
  11. package/dist/components/stencil-generated/components.d.ts.map +1 -0
  12. package/dist/components/stencil-generated/components.js +73 -0
  13. package/dist/components/stencil-generated/components.js.map +1 -0
  14. package/dist/components/ui/badge.d.ts +10 -0
  15. package/dist/components/ui/badge.d.ts.map +1 -0
  16. package/dist/components/ui/badge.js +21 -0
  17. package/dist/components/ui/badge.js.map +1 -0
  18. package/dist/components/ui/button.d.ts +11 -0
  19. package/dist/components/ui/button.d.ts.map +1 -0
  20. package/dist/components/ui/button.js +32 -0
  21. package/dist/components/ui/button.js.map +1 -0
  22. package/dist/components/ui/card.d.ts +9 -0
  23. package/dist/components/ui/card.d.ts.map +1 -0
  24. package/dist/components/ui/card.js +17 -0
  25. package/dist/components/ui/card.js.map +1 -0
  26. package/dist/index.d.ts +1 -77
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +1 -200
  29. package/dist/index.js.map +1 -1
  30. package/dist/lib/utils.d.ts +3 -0
  31. package/dist/lib/utils.d.ts.map +1 -0
  32. package/dist/lib/utils.js +6 -0
  33. package/dist/lib/utils.js.map +1 -0
  34. package/package.json +2 -2
package/README.md CHANGED
@@ -19,7 +19,7 @@ npm install @feedlog-ai/react
19
19
 
20
20
  ## Components
21
21
 
22
- ### FeedlogGithubIssuesClient
22
+ ### FeedlogIssuesClient
23
23
 
24
24
  The main component for displaying GitHub issues with built-in SDK integration.
25
25
 
@@ -31,24 +31,22 @@ The main component for displaying GitHub issues with built-in SDK integration.
31
31
  - `endpoint?`: Custom API endpoint
32
32
  - `maxWidth?`: Container max width (default: `'42rem'`)
33
33
  - `theme?`: Theme variant - `'light'` or `'dark'` (default: `'light'`)
34
- - `showThemeToggle?`: Show theme toggle button (default: `true`)
35
34
 
36
35
  **Events:**
37
36
 
38
37
  - `onFeedlogUpvote`: Called when an issue is upvoted
39
- - `onFeedlogThemeChange`: Called when theme changes
40
38
  - `onFeedlogError`: Called on errors
41
39
 
42
40
  ## Usage
43
41
 
44
42
  ```tsx
45
43
  import React from 'react';
46
- import { FeedlogGithubIssuesClient } from '@feedlog-ai/react';
44
+ import { FeedlogIssuesClient } from '@feedlog-ai/react';
47
45
 
48
46
  function App() {
49
47
  return (
50
48
  <div>
51
- <FeedlogGithubIssuesClient
49
+ <FeedlogIssuesClient
52
50
  apiKey="your-api-key"
53
51
  type="bug"
54
52
  limit={10}
@@ -58,9 +56,6 @@ function App() {
58
56
  console.log('Issue upvoted:', event.detail);
59
57
  // event.detail contains: { issueId, upvoted, upvoteCount }
60
58
  }}
61
- onFeedlogThemeChange={event => {
62
- console.log('Theme changed to:', event.detail); // 'light' or 'dark'
63
- }}
64
59
  onFeedlogError={event => {
65
60
  console.error('Error occurred:', event.detail);
66
61
  // event.detail contains: { error, code? }
@@ -171,7 +166,7 @@ For full SSR of the issues list (no flash of empty content), build a custom wrap
171
166
 
172
167
  ```tsx
173
168
  import React, { useCallback } from 'react';
174
- import { FeedlogGithubIssuesClient } from '@feedlog-ai/react';
169
+ import { FeedlogIssuesClient } from '@feedlog-ai/react';
175
170
 
176
171
  function IssuesComponent() {
177
172
  const handleUpvote = useCallback((event: CustomEvent) => {
@@ -180,11 +175,6 @@ function IssuesComponent() {
180
175
  console.log(`New upvote count: ${upvoteCount}`);
181
176
  }, []);
182
177
 
183
- const handleThemeChange = useCallback((event: CustomEvent<'light' | 'dark'>) => {
184
- console.log(`Theme changed to: ${event.detail}`);
185
- // Update your app's theme state here
186
- }, []);
187
-
188
178
  const handleError = useCallback((event: CustomEvent) => {
189
179
  const { error, code } = event.detail;
190
180
  console.error(`Feedlog error (${code}):`, error);
@@ -192,10 +182,9 @@ function IssuesComponent() {
192
182
  }, []);
193
183
 
194
184
  return (
195
- <FeedlogGithubIssuesClient
185
+ <FeedlogIssuesClient
196
186
  apiKey="your-api-key"
197
187
  onFeedlogUpvote={handleUpvote}
198
- onFeedlogThemeChange={handleThemeChange}
199
188
  onFeedlogError={handleError}
200
189
  />
201
190
  );
@@ -206,16 +195,12 @@ function IssuesComponent() {
206
195
 
207
196
  ```tsx
208
197
  import React, { useState, useCallback } from 'react';
209
- import { FeedlogGithubIssuesClient } from '@feedlog-ai/react';
198
+ import { FeedlogIssuesClient } from '@feedlog-ai/react';
210
199
 
211
200
  function IssuesWithState() {
212
201
  const [theme, setTheme] = useState<'light' | 'dark'>('light');
213
202
  const [error, setError] = useState<string | null>(null);
214
203
 
215
- const handleThemeChange = useCallback((event: CustomEvent<'light' | 'dark'>) => {
216
- setTheme(event.detail);
217
- }, []);
218
-
219
204
  const handleError = useCallback((event: CustomEvent) => {
220
205
  setError(event.detail.error);
221
206
  // Clear error after 5 seconds
@@ -226,12 +211,7 @@ function IssuesWithState() {
226
211
  <div>
227
212
  {error && <div className="error-banner">Error: {error}</div>}
228
213
 
229
- <FeedlogGithubIssuesClient
230
- apiKey="your-api-key"
231
- theme={theme}
232
- onFeedlogThemeChange={handleThemeChange}
233
- onFeedlogError={handleError}
234
- />
214
+ <FeedlogIssuesClient apiKey="your-api-key" theme={theme} onFeedlogError={handleError} />
235
215
  </div>
236
216
  );
237
217
  }
@@ -246,12 +226,12 @@ import {
246
226
  FeedlogBadge,
247
227
  FeedlogButton,
248
228
  FeedlogCard,
249
- FeedlogGithubIssues,
229
+ FeedlogIssues,
250
230
  FeedlogIssuesList
251
231
  } from '@feedlog-ai/react';
252
232
 
253
233
  // Badge component
254
- <FeedlogBadge variant="primary" text="New" />
234
+ <FeedlogBadge variant="enhancement">New</FeedlogBadge>
255
235
 
256
236
  // Button component
257
237
  <FeedlogButton variant="primary" size="lg" onFeedlogClick={handleClick}>
@@ -271,7 +251,7 @@ All components are fully typed. Import types from the core package if needed:
271
251
 
272
252
  ```tsx
273
253
  import { FeedlogIssue } from '@feedlog-ai/core';
274
- import { FeedlogGithubIssuesClient } from '@feedlog-ai/react';
254
+ import { FeedlogIssuesClient } from '@feedlog-ai/react';
275
255
 
276
256
  // Type-safe event handling
277
257
  const handleUpvote = (
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ declare const IssueList: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
3
+ declare const IssueListHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const IssueListTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
5
+ declare const IssueListContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
6
+ declare const IssueListEmpty: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
7
+ export { IssueList, IssueListHeader, IssueListTitle, IssueListContent, IssueListEmpty };
8
+ //# sourceMappingURL=issue-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-list.d.ts","sourceRoot":"","sources":["../../../src/components/domain/issue-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,QAAA,MAAM,SAAS,6GAQd,CAAA;AAGD,QAAA,MAAM,eAAe,6GAIpB,CAAA;AAGD,QAAA,MAAM,cAAc,qHAInB,CAAA;AAGD,QAAA,MAAM,gBAAgB,6GAIrB,CAAA;AAGD,QAAA,MAAM,cAAc,6GAInB,CAAA;AAGD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "../../lib/utils";
4
+ const IssueListContext = React.createContext({});
5
+ const IssueList = React.forwardRef(({ className, children, ...props }, ref) => (_jsx(IssueListContext.Provider, { value: {}, children: _jsx("div", { ref: ref, className: cn("flex flex-col space-y-4", className), ...props, children: children }) })));
6
+ IssueList.displayName = "IssueList";
7
+ const IssueListHeader = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("flex items-center justify-between pb-4 border-b", className), ...props })));
8
+ IssueListHeader.displayName = "IssueListHeader";
9
+ const IssueListTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx("h2", { ref: ref, className: cn("text-lg font-semibold tracking-tight", className), ...props })));
10
+ IssueListTitle.displayName = "IssueListTitle";
11
+ const IssueListContent = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("flex flex-col space-y-2", className), ...props })));
12
+ IssueListContent.displayName = "IssueListContent";
13
+ const IssueListEmpty = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("flex flex-col items-center justify-center p-8 text-center text-muted-foreground", className), ...props })));
14
+ IssueListEmpty.displayName = "IssueListEmpty";
15
+ export { IssueList, IssueListHeader, IssueListTitle, IssueListContent, IssueListEmpty };
16
+ //# sourceMappingURL=issue-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-list.js","sourceRoot":"","sources":["../../../src/components/domain/issue-list.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAEpC,MAAM,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAK,EAAE,CAAC,CAAA;AAEpD,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAChC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC1C,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,YAClC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,KAAM,KAAK,YAC1E,QAAQ,GACL,GACoB,CAC7B,CACF,CAAA;AACD,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAEnC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CACtC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,iDAAiD,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAC1G,CACF,CAAA;AACD,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAA;AAE/C,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,aAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAC9F,CACF,CAAA;AACD,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAE7C,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CACvC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAClF,CACF,CAAA;AACD,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAA;AAEjD,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,iFAAiF,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAC1I,CACF,CAAA;AACD,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAE7C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ export interface IssueProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ title: string;
4
+ status?: "open" | "closed" | "in-progress" | "resolved";
5
+ author?: string;
6
+ date?: string;
7
+ }
8
+ declare const Issue: React.ForwardRefExoticComponent<IssueProps & React.RefAttributes<HTMLDivElement>>;
9
+ export { Issue };
10
+ //# sourceMappingURL=issue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../../src/components/domain/issue.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtE,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,UAAU,CAAA;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AASD,QAAA,MAAM,KAAK,mFAgCV,CAAA;AAGD,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "../../lib/utils";
4
+ import { Badge } from "../ui/badge";
5
+ const statusVariantMap = {
6
+ open: "default",
7
+ closed: "secondary",
8
+ "in-progress": "outline",
9
+ resolved: "default",
10
+ };
11
+ const Issue = React.forwardRef(({ className, title, status = "open", author, date, children, ...props }, ref) => {
12
+ return (_jsxs("div", { ref: ref, className: cn("flex flex-col gap-2 rounded-lg border bg-card p-4 text-card-foreground shadow-sm transition-colors hover:bg-muted/50", className), ...props, children: [_jsxs("div", { className: "flex items-start justify-between gap-4", children: [_jsxs("div", { className: "space-y-1", children: [_jsx("h4", { className: "font-medium leading-none tracking-tight", children: title }), (author || date) && (_jsxs("p", { className: "text-sm text-muted-foreground", children: [author && _jsx("span", { children: author }), author && date && _jsx("span", { className: "mx-2", children: "\u2022" }), date && _jsx("span", { children: date })] }))] }), status && (_jsx(Badge, { variant: statusVariantMap[status] || "default", children: status }))] }), children && _jsx("div", { className: "mt-2 text-sm text-muted-foreground", children: children })] }));
13
+ });
14
+ Issue.displayName = "Issue";
15
+ export { Issue };
16
+ //# sourceMappingURL=issue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../src/components/domain/issue.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AASnC,MAAM,gBAAgB,GAAwE;IAC5F,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,WAAW;IACnB,aAAa,EAAE,SAAS;IACxB,QAAQ,EAAE,SAAS;CACpB,CAAA;AAED,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAC5B,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/E,OAAO,CACL,eACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,sHAAsH,EACtH,SAAS,CACV,KACG,KAAK,aAET,eAAK,SAAS,EAAC,wCAAwC,aACrD,eAAK,SAAS,EAAC,WAAW,aACxB,aAAI,SAAS,EAAC,yCAAyC,YAAE,KAAK,GAAM,EACnE,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CACnB,aAAG,SAAS,EAAC,+BAA+B,aACzC,MAAM,IAAI,yBAAO,MAAM,GAAQ,EAC/B,MAAM,IAAI,IAAI,IAAI,eAAM,SAAS,EAAC,MAAM,uBAAS,EACjD,IAAI,IAAI,yBAAO,IAAI,GAAQ,IAC1B,CACL,IACG,EACL,MAAM,IAAI,CACT,KAAC,KAAK,IAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,SAAS,YAClD,MAAM,GACD,CACT,IACG,EACL,QAAQ,IAAI,cAAK,SAAS,EAAC,oCAAoC,YAAE,QAAQ,GAAO,IAC7E,CACP,CAAA;AACH,CAAC,CACF,CAAA;AACD,KAAK,CAAC,WAAW,GAAG,OAAO,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * This file was automatically generated by the Stencil React Output Target.
3
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
+ */
5
+ import { type FeedlogButtonCustomEvent, type FeedlogIssueCustomEvent, type FeedlogIssuesClientCustomEvent, type FeedlogIssuesCustomEvent, type FeedlogIssuesListCustomEvent } from "@feedlog-ai/webcomponents";
6
+ import { FeedlogBadge as FeedlogBadgeElement } from "@feedlog-ai/webcomponents/dist/components/feedlog-badge.js";
7
+ import { FeedlogButton as FeedlogButtonElement } from "@feedlog-ai/webcomponents/dist/components/feedlog-button.js";
8
+ import { FeedlogCard as FeedlogCardElement } from "@feedlog-ai/webcomponents/dist/components/feedlog-card.js";
9
+ import { FeedlogIssue as FeedlogIssueElement } from "@feedlog-ai/webcomponents/dist/components/feedlog-issue.js";
10
+ import { FeedlogIssuesClient as FeedlogIssuesClientElement } from "@feedlog-ai/webcomponents/dist/components/feedlog-issues-client.js";
11
+ import { FeedlogIssuesList as FeedlogIssuesListElement } from "@feedlog-ai/webcomponents/dist/components/feedlog-issues-list.js";
12
+ import { FeedlogIssues as FeedlogIssuesElement } from "@feedlog-ai/webcomponents/dist/components/feedlog-issues.js";
13
+ import type { EventName, StencilReactComponent } from '@stencil/react-output-target/runtime';
14
+ export type FeedlogBadgeEvents = NonNullable<unknown>;
15
+ export declare const FeedlogBadge: StencilReactComponent<FeedlogBadgeElement, FeedlogBadgeEvents>;
16
+ export type FeedlogButtonEvents = {
17
+ onFeedlogClick: EventName<FeedlogButtonCustomEvent<MouseEvent>>;
18
+ };
19
+ export declare const FeedlogButton: StencilReactComponent<FeedlogButtonElement, FeedlogButtonEvents>;
20
+ export type FeedlogCardEvents = NonNullable<unknown>;
21
+ export declare const FeedlogCard: StencilReactComponent<FeedlogCardElement, FeedlogCardEvents>;
22
+ export type FeedlogIssueEvents = {
23
+ onFeedlogUpvote: EventName<FeedlogIssueCustomEvent<{
24
+ issueId: string;
25
+ currentUpvoted: boolean;
26
+ currentCount: number;
27
+ }>>;
28
+ };
29
+ export declare const FeedlogIssue: StencilReactComponent<FeedlogIssueElement, FeedlogIssueEvents>;
30
+ export type FeedlogIssuesEvents = {
31
+ onFeedlogUpvote: EventName<FeedlogIssuesCustomEvent<{
32
+ issueId: string;
33
+ currentUpvoted: boolean;
34
+ currentCount: number;
35
+ }>>;
36
+ onFeedlogLoadMore: EventName<FeedlogIssuesCustomEvent<void>>;
37
+ };
38
+ export declare const FeedlogIssues: StencilReactComponent<FeedlogIssuesElement, FeedlogIssuesEvents>;
39
+ export type FeedlogIssuesClientEvents = {
40
+ onFeedlogUpvote: EventName<FeedlogIssuesClientCustomEvent<{
41
+ issueId: string;
42
+ upvoted: boolean;
43
+ upvoteCount: number;
44
+ }>>;
45
+ onFeedlogError: EventName<FeedlogIssuesClientCustomEvent<{
46
+ error: string;
47
+ code?: number;
48
+ }>>;
49
+ };
50
+ export declare const FeedlogIssuesClient: StencilReactComponent<FeedlogIssuesClientElement, FeedlogIssuesClientEvents>;
51
+ export type FeedlogIssuesListEvents = {
52
+ onFeedlogUpvote: EventName<FeedlogIssuesListCustomEvent<{
53
+ issueId: string;
54
+ currentUpvoted: boolean;
55
+ currentCount: number;
56
+ }>>;
57
+ };
58
+ export declare const FeedlogIssuesList: StencilReactComponent<FeedlogIssuesListElement, FeedlogIssuesListEvents>;
59
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/components/stencil-generated/components.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ 'use client';
2
+ import { FeedlogBadge as FeedlogBadgeElement, defineCustomElement as defineFeedlogBadge } from "@feedlog-ai/webcomponents/dist/components/feedlog-badge.js";
3
+ import { FeedlogButton as FeedlogButtonElement, defineCustomElement as defineFeedlogButton } from "@feedlog-ai/webcomponents/dist/components/feedlog-button.js";
4
+ import { FeedlogCard as FeedlogCardElement, defineCustomElement as defineFeedlogCard } from "@feedlog-ai/webcomponents/dist/components/feedlog-card.js";
5
+ import { FeedlogIssue as FeedlogIssueElement, defineCustomElement as defineFeedlogIssue } from "@feedlog-ai/webcomponents/dist/components/feedlog-issue.js";
6
+ import { FeedlogIssuesClient as FeedlogIssuesClientElement, defineCustomElement as defineFeedlogIssuesClient } from "@feedlog-ai/webcomponents/dist/components/feedlog-issues-client.js";
7
+ import { FeedlogIssuesList as FeedlogIssuesListElement, defineCustomElement as defineFeedlogIssuesList } from "@feedlog-ai/webcomponents/dist/components/feedlog-issues-list.js";
8
+ import { FeedlogIssues as FeedlogIssuesElement, defineCustomElement as defineFeedlogIssues } from "@feedlog-ai/webcomponents/dist/components/feedlog-issues.js";
9
+ import { createComponent } from '@stencil/react-output-target/runtime';
10
+ import React from 'react';
11
+ export const FeedlogBadge = /*@__PURE__*/ createComponent({
12
+ tagName: 'feedlog-badge',
13
+ elementClass: FeedlogBadgeElement,
14
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
15
+ react: React,
16
+ events: {},
17
+ defineCustomElement: defineFeedlogBadge
18
+ });
19
+ export const FeedlogButton = /*@__PURE__*/ createComponent({
20
+ tagName: 'feedlog-button',
21
+ elementClass: FeedlogButtonElement,
22
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
23
+ react: React,
24
+ events: { onFeedlogClick: 'feedlogClick' },
25
+ defineCustomElement: defineFeedlogButton
26
+ });
27
+ export const FeedlogCard = /*@__PURE__*/ createComponent({
28
+ tagName: 'feedlog-card',
29
+ elementClass: FeedlogCardElement,
30
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
31
+ react: React,
32
+ events: {},
33
+ defineCustomElement: defineFeedlogCard
34
+ });
35
+ export const FeedlogIssue = /*@__PURE__*/ createComponent({
36
+ tagName: 'feedlog-issue',
37
+ elementClass: FeedlogIssueElement,
38
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
39
+ react: React,
40
+ events: { onFeedlogUpvote: 'feedlogUpvote' },
41
+ defineCustomElement: defineFeedlogIssue
42
+ });
43
+ export const FeedlogIssues = /*@__PURE__*/ createComponent({
44
+ tagName: 'feedlog-issues',
45
+ elementClass: FeedlogIssuesElement,
46
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
47
+ react: React,
48
+ events: {
49
+ onFeedlogUpvote: 'feedlogUpvote',
50
+ onFeedlogLoadMore: 'feedlogLoadMore'
51
+ },
52
+ defineCustomElement: defineFeedlogIssues
53
+ });
54
+ export const FeedlogIssuesClient = /*@__PURE__*/ createComponent({
55
+ tagName: 'feedlog-issues-client',
56
+ elementClass: FeedlogIssuesClientElement,
57
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
58
+ react: React,
59
+ events: {
60
+ onFeedlogUpvote: 'feedlogUpvote',
61
+ onFeedlogError: 'feedlogError'
62
+ },
63
+ defineCustomElement: defineFeedlogIssuesClient
64
+ });
65
+ export const FeedlogIssuesList = /*@__PURE__*/ createComponent({
66
+ tagName: 'feedlog-issues-list',
67
+ elementClass: FeedlogIssuesListElement,
68
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
69
+ react: React,
70
+ events: { onFeedlogUpvote: 'feedlogUpvote' },
71
+ defineCustomElement: defineFeedlogIssuesList
72
+ });
73
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../src/components/stencil-generated/components.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const badgeVariants: (props?: {
4
+ variant?: "default" | "secondary" | "destructive" | "outline";
5
+ } & import("class-variance-authority/types").ClassProp) => string;
6
+ export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
7
+ }
8
+ declare function Badge({ className, variant, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
9
+ export { Badge, badgeVariants };
10
+ //# sourceMappingURL=badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../src/components/ui/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,QAAA,MAAM,aAAa;;iEAkBlB,CAAA;AAED,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,aAAa,CAAC;CAAG;AAEzC,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAI1D;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cva } from "class-variance-authority";
3
+ import { cn } from "../../lib/utils";
4
+ const badgeVariants = cva("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", {
5
+ variants: {
6
+ variant: {
7
+ default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
8
+ secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
9
+ destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
10
+ outline: "text-foreground",
11
+ },
12
+ },
13
+ defaultVariants: {
14
+ variant: "default",
15
+ },
16
+ });
17
+ function Badge({ className, variant, ...props }) {
18
+ return (_jsx("div", { className: cn(badgeVariants({ variant }), className), ...props }));
19
+ }
20
+ export { Badge, badgeVariants };
21
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/components/ui/badge.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAEpC,MAAM,aAAa,GAAG,GAAG,CACvB,wKAAwK,EACxK;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACL,2EAA2E;YAC7E,SAAS,EACP,iFAAiF;YACnF,WAAW,EACT,uFAAuF;YACzF,OAAO,EAAE,iBAAiB;SAC3B;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;KACnB;CACF,CACF,CAAA;AAMD,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAc;IACzD,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACzE,CAAA;AACH,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const buttonVariants: (props?: {
4
+ variant?: "default" | "link" | "secondary" | "destructive" | "outline" | "ghost";
5
+ size?: "default" | "sm" | "lg" | "icon";
6
+ } & import("class-variance-authority/types").ClassProp) => string;
7
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
8
+ }
9
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
10
+ export { Button, buttonVariants };
11
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,QAAA,MAAM,cAAc;;;iEA2BnB,CAAA;AAED,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,YAAY,CAAC,OAAO,cAAc,CAAC;CAAG;AAE1C,QAAA,MAAM,MAAM,uFAUX,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cva } from "class-variance-authority";
4
+ import { cn } from "../../lib/utils";
5
+ const buttonVariants = cva("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", {
6
+ variants: {
7
+ variant: {
8
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
9
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
10
+ outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
11
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
12
+ ghost: "hover:bg-accent hover:text-accent-foreground",
13
+ link: "text-primary underline-offset-4 hover:underline",
14
+ },
15
+ size: {
16
+ default: "h-10 px-4 py-2",
17
+ sm: "h-9 rounded-md px-3",
18
+ lg: "h-11 rounded-md px-8",
19
+ icon: "h-10 w-10",
20
+ },
21
+ },
22
+ defaultVariants: {
23
+ variant: "default",
24
+ size: "default",
25
+ },
26
+ });
27
+ const Button = React.forwardRef(({ className, variant, size, ...props }, ref) => {
28
+ return (_jsx("button", { className: cn(buttonVariants({ variant, size, className })), ref: ref, ...props }));
29
+ });
30
+ Button.displayName = "Button";
31
+ export { Button, buttonVariants };
32
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAEpC,MAAM,cAAc,GAAG,GAAG,CACxB,wRAAwR,EACxR;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,wDAAwD;YACjE,WAAW,EACT,oEAAoE;YACtE,OAAO,EACL,gFAAgF;YAClF,SAAS,EACP,8DAA8D;YAChE,KAAK,EAAE,8CAA8C;YACrD,IAAI,EAAE,iDAAiD;SACxD;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,gBAAgB;YACzB,EAAE,EAAE,qBAAqB;YACzB,EAAE,EAAE,sBAAsB;YAC1B,IAAI,EAAE,WAAW;SAClB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAA;AAMD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC7B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC9C,OAAO,CACL,iBACE,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAC3D,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAA;AACH,CAAC,CACF,CAAA;AACD,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA"}
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
3
+ declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>>;
5
+ declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
6
+ declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
7
+ declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
8
+ export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
9
+ //# sourceMappingURL=card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,QAAA,MAAM,IAAI,6GAQT,CAAA;AAGD,QAAA,MAAM,UAAU,6GAIf,CAAA;AAGD,QAAA,MAAM,SAAS,uHAId,CAAA;AAGD,QAAA,MAAM,eAAe,yHAIpB,CAAA;AAGD,QAAA,MAAM,WAAW,6GAIhB,CAAA;AAGD,QAAA,MAAM,UAAU,6GAIf,CAAA;AAGD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "../../lib/utils";
4
+ const Card = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className), ...props })));
5
+ Card.displayName = "Card";
6
+ const CardHeader = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })));
7
+ CardHeader.displayName = "CardHeader";
8
+ const CardTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx("h3", { ref: ref, className: cn("font-semibold leading-none tracking-tight", className), ...props })));
9
+ CardTitle.displayName = "CardTitle";
10
+ const CardDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx("p", { ref: ref, className: cn("text-sm text-muted-foreground", className), ...props })));
11
+ CardDescription.displayName = "CardDescription";
12
+ const CardContent = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("p-6 pt-0", className), ...props })));
13
+ CardContent.displayName = "CardContent";
14
+ const CardFooter = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("flex items-center p-6 pt-0", className), ...props })));
15
+ CardFooter.displayName = "CardFooter";
16
+ export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
17
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../../../src/components/ui/card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAEpC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAC3B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,0DAA0D,EAAE,SAAS,CAAC,KAChF,KAAK,GACT,CACH,CACF,CAAA;AACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;AAEzB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACxF,CACF,CAAA;AACD,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAChC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,aAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,2CAA2C,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACnG,CACF,CAAA;AACD,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAEnC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CACtC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,YAAG,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACtF,CACF,CAAA;AACD,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAA;AAE/C,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAClC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACnE,CACF,CAAA;AACD,WAAW,CAAC,WAAW,GAAG,aAAa,CAAA;AAEvC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACrF,CACF,CAAA;AACD,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAA"}
package/dist/index.d.ts CHANGED
@@ -5,82 +5,6 @@
5
5
  * Components properly handle complex props (objects/arrays) by setting them
6
6
  * as DOM properties rather than HTML attributes.
7
7
  */
8
- import React from 'react';
9
- import type { FeedlogIssue as FeedlogIssueType } from '@feedlog-ai/core';
10
- import '@feedlog-ai/webcomponents/components/feedlog-issues-client';
11
- import '@feedlog-ai/webcomponents/components/feedlog-issues';
12
- import '@feedlog-ai/webcomponents/components/feedlog-issue';
13
- import '@feedlog-ai/webcomponents/components/feedlog-issues-list';
14
- import '@feedlog-ai/webcomponents/components/feedlog-badge';
15
- import '@feedlog-ai/webcomponents/components/feedlog-button';
16
- import '@feedlog-ai/webcomponents/components/feedlog-card';
17
8
  export type { FeedlogIssue } from '@feedlog-ai/core';
18
- export declare const FeedlogBadge: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
19
- variant?: string;
20
- } & React.RefAttributes<HTMLElement>>;
21
- export declare const FeedlogButton: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
22
- size?: string;
23
- variant?: string;
24
- disabled?: boolean;
25
- type?: string;
26
- onFeedlogClick?: (event: CustomEvent<MouseEvent>) => void;
27
- } & React.RefAttributes<HTMLElement>>;
28
- export declare const FeedlogCard: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & React.RefAttributes<HTMLElement>>;
29
- export interface FeedlogIssuesProps extends React.HTMLAttributes<HTMLElement> {
30
- issues?: FeedlogIssueType[];
31
- maxWidth?: string;
32
- theme?: 'light' | 'dark';
33
- heading?: string;
34
- subtitle?: string;
35
- loading?: boolean;
36
- error?: string | null;
37
- hasMore?: boolean;
38
- isLoadingMore?: boolean;
39
- onFeedlogUpvote?: (event: CustomEvent<{
40
- issueId: string;
41
- currentUpvoted: boolean;
42
- currentCount: number;
43
- }>) => void;
44
- onFeedlogLoadMore?: (event: CustomEvent<void>) => void;
45
- }
46
- export declare const FeedlogIssues: React.ForwardRefExoticComponent<FeedlogIssuesProps & React.RefAttributes<HTMLElement>>;
47
- export interface FeedlogIssuesClientProps extends React.HTMLAttributes<HTMLElement> {
48
- apiKey: string;
49
- endpoint?: string;
50
- type?: 'bug' | 'enhancement';
51
- limit?: number;
52
- maxWidth?: string;
53
- theme?: 'light' | 'dark';
54
- heading?: string;
55
- subtitle?: string;
56
- onFeedlogUpvote?: (event: CustomEvent<{
57
- issueId: string;
58
- upvoted: boolean;
59
- upvoteCount: number;
60
- }>) => void;
61
- onFeedlogError?: (event: CustomEvent<{
62
- error: string;
63
- code?: number;
64
- }>) => void;
65
- }
66
- export declare const FeedlogIssuesClient: React.ForwardRefExoticComponent<FeedlogIssuesClientProps & React.RefAttributes<HTMLElement>>;
67
- export interface FeedlogIssuesListProps extends React.HTMLAttributes<HTMLElement> {
68
- issues?: FeedlogIssueType[];
69
- onFeedlogUpvote?: (event: CustomEvent<{
70
- issueId: string;
71
- currentUpvoted: boolean;
72
- currentCount: number;
73
- }>) => void;
74
- }
75
- export declare const FeedlogIssuesList: React.ForwardRefExoticComponent<FeedlogIssuesListProps & React.RefAttributes<HTMLElement>>;
76
- export interface FeedlogIssueProps extends React.HTMLAttributes<HTMLElement> {
77
- issue: FeedlogIssueType;
78
- theme?: 'light' | 'dark';
79
- onFeedlogUpvote?: (event: CustomEvent<{
80
- issueId: string;
81
- currentUpvoted: boolean;
82
- currentCount: number;
83
- }>) => void;
84
- }
85
- export declare const FeedlogIssueComponent: React.ForwardRefExoticComponent<FeedlogIssueProps & React.RefAttributes<HTMLElement>>;
9
+ export * from './components/stencil-generated/components';
86
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,cAAc,2CAA2C,CAAC"}
package/dist/index.js CHANGED
@@ -5,204 +5,5 @@
5
5
  * Components properly handle complex props (objects/arrays) by setting them
6
6
  * as DOM properties rather than HTML attributes.
7
7
  */
8
- import React, { useEffect, useRef } from 'react';
9
- // Import custom element components - each import auto-registers the component
10
- // and its dependencies. This uses the dist-custom-elements output which works
11
- // correctly with modern bundlers (Vite, webpack, etc.), unlike the lazy-loading
12
- // defineCustomElements() approach that causes 404s in production builds.
13
- import '@feedlog-ai/webcomponents/components/feedlog-issues-client';
14
- import '@feedlog-ai/webcomponents/components/feedlog-issues';
15
- import '@feedlog-ai/webcomponents/components/feedlog-issue';
16
- import '@feedlog-ai/webcomponents/components/feedlog-issues-list';
17
- import '@feedlog-ai/webcomponents/components/feedlog-badge';
18
- import '@feedlog-ai/webcomponents/components/feedlog-button';
19
- import '@feedlog-ai/webcomponents/components/feedlog-card';
20
- /**
21
- * Helper to merge refs
22
- */
23
- function mergeRefs(...refs) {
24
- return (value) => {
25
- refs.forEach(ref => {
26
- if (typeof ref === 'function') {
27
- ref(value);
28
- }
29
- else if (ref && typeof ref === 'object') {
30
- ref.current = value;
31
- }
32
- });
33
- };
34
- }
35
- /**
36
- * Converts camelCase prop names to kebab-case for custom element HTML attributes.
37
- * Stencil SSR outputs kebab-case attributes; React uses camelCase. This ensures
38
- * server and client output match for hydration.
39
- */
40
- function toKebabCase(str) {
41
- return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
42
- }
43
- /**
44
- * Converts primitive props to kebab-case attribute names for custom elements.
45
- * Preserves ref, style, className, children, and suppressHydrationWarning as-is.
46
- */
47
- function primitivePropsToAttributes(props) {
48
- const passthrough = new Set([
49
- 'ref',
50
- 'style',
51
- 'className',
52
- 'children',
53
- 'suppressHydrationWarning',
54
- ]);
55
- const result = {};
56
- for (const [key, value] of Object.entries(props)) {
57
- if (value === undefined)
58
- continue;
59
- const attrName = passthrough.has(key) ? key : toKebabCase(key);
60
- result[attrName] = value;
61
- }
62
- return result;
63
- }
64
- /**
65
- * Helper to separate primitive props (strings, booleans, numbers) from complex props.
66
- * Primitive props can be passed as HTML attributes, complex props must be set as DOM properties.
67
- */
68
- function separateProps(props) {
69
- const primitiveProps = {};
70
- const complexProps = {};
71
- const eventProps = {};
72
- Object.entries(props).forEach(([key, value]) => {
73
- if (key === 'children' ||
74
- key === 'ref' ||
75
- key === 'style' ||
76
- key === 'className' ||
77
- key === 'suppressHydrationWarning') {
78
- primitiveProps[key] = value;
79
- }
80
- else if (key.startsWith('on') && key[2] === key[2].toUpperCase()) {
81
- // Event handlers
82
- eventProps[key] = value;
83
- }
84
- else {
85
- const type = typeof value;
86
- if (type === 'string' || type === 'boolean' || type === 'number' || value === undefined) {
87
- primitiveProps[key] = value;
88
- }
89
- else {
90
- // Objects, arrays, functions
91
- complexProps[key] = value;
92
- }
93
- }
94
- });
95
- return { primitiveProps, complexProps, eventProps };
96
- }
97
- /**
98
- * Hook to sync complex props and events to a web component element
99
- */
100
- function useWebComponentProps(elementRef, complexProps, eventProps) {
101
- // Track registered event listeners for cleanup
102
- const eventListenersRef = useRef(new Map());
103
- useEffect(() => {
104
- const element = elementRef.current;
105
- if (!element)
106
- return;
107
- // Set complex props as DOM properties
108
- Object.entries(complexProps).forEach(([key, value]) => {
109
- element[key] = value;
110
- });
111
- // eslint-disable-next-line react-hooks/exhaustive-deps
112
- }, [complexProps]);
113
- useEffect(() => {
114
- const element = elementRef.current;
115
- if (!element)
116
- return;
117
- const currentListeners = eventListenersRef.current;
118
- // Remove old listeners
119
- currentListeners.forEach((listener, eventName) => {
120
- element.removeEventListener(eventName, listener);
121
- });
122
- currentListeners.clear();
123
- // Add new listeners
124
- Object.entries(eventProps).forEach(([key, handler]) => {
125
- if (typeof handler === 'function') {
126
- // Convert onFeedlogUpvote -> feedlogUpvote
127
- const eventName = key.substring(2);
128
- const eventNameLc = eventName[0].toLowerCase() + eventName.substring(1);
129
- const listener = handler;
130
- element.addEventListener(eventNameLc, listener);
131
- currentListeners.set(eventNameLc, listener);
132
- }
133
- });
134
- return () => {
135
- currentListeners.forEach((listener, eventName) => {
136
- element.removeEventListener(eventName, listener);
137
- });
138
- currentListeners.clear();
139
- };
140
- // eslint-disable-next-line react-hooks/exhaustive-deps
141
- }, [eventProps]);
142
- }
143
- // Simple React wrappers for web components that only have primitive props
144
- export const FeedlogBadge = React.forwardRef(({ children, ...props }, ref) => React.createElement('feedlog-badge', { ...props, ref }, children));
145
- FeedlogBadge.displayName = 'FeedlogBadge';
146
- export const FeedlogButton = React.forwardRef(({ children, onFeedlogClick, ...props }, ref) => {
147
- const internalRef = useRef(null);
148
- useEffect(() => {
149
- const element = internalRef.current;
150
- if (!element || !onFeedlogClick)
151
- return;
152
- const handler = onFeedlogClick;
153
- element.addEventListener('feedlogClick', handler);
154
- return () => element.removeEventListener('feedlogClick', handler);
155
- }, [onFeedlogClick]);
156
- return React.createElement('feedlog-button', { ...props, ref: mergeRefs(ref, internalRef) }, children);
157
- });
158
- FeedlogButton.displayName = 'FeedlogButton';
159
- export const FeedlogCard = React.forwardRef(({ children, ...props }, ref) => React.createElement('feedlog-card', { ...props, ref }, children));
160
- FeedlogCard.displayName = 'FeedlogCard';
161
- export const FeedlogIssues = React.forwardRef(({ children, ...props }, ref) => {
162
- const internalRef = useRef(null);
163
- const { primitiveProps, complexProps, eventProps } = separateProps(props);
164
- useWebComponentProps(internalRef, complexProps, eventProps);
165
- return React.createElement('feedlog-issues', {
166
- ...primitivePropsToAttributes(primitiveProps),
167
- ref: mergeRefs(ref, internalRef),
168
- suppressHydrationWarning: true,
169
- }, children);
170
- });
171
- FeedlogIssues.displayName = 'FeedlogIssues';
172
- export const FeedlogIssuesClient = React.forwardRef(({ children, ...props }, ref) => {
173
- const internalRef = useRef(null);
174
- const { primitiveProps, complexProps, eventProps } = separateProps(props);
175
- useWebComponentProps(internalRef, complexProps, eventProps);
176
- return React.createElement('feedlog-issues-client', {
177
- ...primitivePropsToAttributes(primitiveProps),
178
- ref: mergeRefs(ref, internalRef),
179
- suppressHydrationWarning: true,
180
- }, children);
181
- });
182
- FeedlogIssuesClient.displayName = 'FeedlogIssuesClient';
183
- export const FeedlogIssuesList = React.forwardRef(({ children, ...props }, ref) => {
184
- const internalRef = useRef(null);
185
- const { primitiveProps, complexProps, eventProps } = separateProps(props);
186
- useWebComponentProps(internalRef, complexProps, eventProps);
187
- return React.createElement('feedlog-issues-list', {
188
- ...primitivePropsToAttributes(primitiveProps),
189
- ref: mergeRefs(ref, internalRef),
190
- suppressHydrationWarning: true,
191
- }, children);
192
- });
193
- FeedlogIssuesList.displayName = 'FeedlogIssuesList';
194
- export const FeedlogIssueComponent = React.forwardRef(({ children, ...props }, ref) => {
195
- const internalRef = useRef(null);
196
- const { primitiveProps, complexProps, eventProps } = separateProps(props);
197
- useWebComponentProps(internalRef, complexProps, eventProps);
198
- return React.createElement('feedlog-issue', {
199
- ...primitivePropsToAttributes(primitiveProps),
200
- ref: mergeRefs(ref, internalRef),
201
- suppressHydrationWarning: true,
202
- }, children);
203
- });
204
- FeedlogIssueComponent.displayName = 'FeedlogIssue';
205
- // Custom elements are auto-defined via the import of '@feedlog-ai/webcomponents/custom-elements' above.
206
- // No need for defineCustomElements() - the dist-custom-elements bundle handles registration
207
- // automatically when imported, and works correctly with modern bundlers like Vite.
8
+ export * from './components/stencil-generated/components';
208
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,cAAc,2CAA2C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAG5C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -0,0 +1,6 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
6
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAC9B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feedlog-ai/react",
3
- "version": "0.0.36",
3
+ "version": "0.0.37",
4
4
  "description": "React bindings for Feedlog Toolkit Web Components",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -48,7 +48,7 @@
48
48
  "react-dom": ">=17.0.0"
49
49
  },
50
50
  "dependencies": {
51
- "@feedlog-ai/webcomponents": "^0.0.36"
51
+ "@feedlog-ai/webcomponents": "^0.0.37"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@jest/test-sequencer": "^29.7.0",