@automattic/agenttic-ui 0.1.0 → 0.1.1

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 (112) hide show
  1. package/README.md +23 -5
  2. package/dist/components/AgentUI.d.ts +65 -0
  3. package/dist/components/AgentUI.d.ts.map +1 -0
  4. package/dist/components/animations/index.d.ts +22 -0
  5. package/dist/components/animations/index.d.ts.map +1 -0
  6. package/dist/components/chat/Chat.d.ts +3 -0
  7. package/dist/components/chat/Chat.d.ts.map +1 -0
  8. package/dist/components/chat/Chat.stories.d.ts +38 -0
  9. package/dist/components/chat/Chat.stories.d.ts.map +1 -0
  10. package/dist/components/chat/ChatFooter.d.ts +20 -0
  11. package/dist/components/chat/ChatFooter.d.ts.map +1 -0
  12. package/dist/components/chat/ChatHeader.d.ts +6 -0
  13. package/dist/components/chat/ChatHeader.d.ts.map +1 -0
  14. package/dist/components/chat/ChatHeader.stories.d.ts +20 -0
  15. package/dist/components/chat/ChatHeader.stories.d.ts.map +1 -0
  16. package/dist/components/chat/ChatInput.d.ts +18 -0
  17. package/dist/components/chat/ChatInput.d.ts.map +1 -0
  18. package/dist/components/chat/ChatInput.stories.d.ts +15 -0
  19. package/dist/components/chat/ChatInput.stories.d.ts.map +1 -0
  20. package/dist/components/chat/MarkdownExamples.stories.d.ts +23 -0
  21. package/dist/components/chat/MarkdownExamples.stories.d.ts.map +1 -0
  22. package/dist/components/chat/Message.d.ts +11 -0
  23. package/dist/components/chat/Message.d.ts.map +1 -0
  24. package/dist/components/chat/Message.stories.d.ts +24 -0
  25. package/dist/components/chat/Message.stories.d.ts.map +1 -0
  26. package/dist/components/chat/MessageActions.d.ts +7 -0
  27. package/dist/components/chat/MessageActions.d.ts.map +1 -0
  28. package/dist/components/chat/MessageActions.stories.d.ts +23 -0
  29. package/dist/components/chat/MessageActions.stories.d.ts.map +1 -0
  30. package/dist/components/chat/Messages.d.ts +15 -0
  31. package/dist/components/chat/Messages.d.ts.map +1 -0
  32. package/dist/components/chat/Messages.stories.d.ts +41 -0
  33. package/dist/components/chat/Messages.stories.d.ts.map +1 -0
  34. package/dist/components/chat/Notice.d.ts +14 -0
  35. package/dist/components/chat/Notice.d.ts.map +1 -0
  36. package/dist/components/chat/Notice.stories.d.ts +18 -0
  37. package/dist/components/chat/Notice.stories.d.ts.map +1 -0
  38. package/dist/components/chat/Suggestions.d.ts +9 -0
  39. package/dist/components/chat/Suggestions.d.ts.map +1 -0
  40. package/dist/components/chat/ThinkingMessage.d.ts +6 -0
  41. package/dist/components/chat/ThinkingMessage.d.ts.map +1 -0
  42. package/dist/components/chat/ThinkingMessage.stories.d.ts +14 -0
  43. package/dist/components/chat/ThinkingMessage.stories.d.ts.map +1 -0
  44. package/dist/components/chat/index.d.ts +13 -0
  45. package/dist/components/chat/index.d.ts.map +1 -0
  46. package/dist/components/icons/ArrowUpIcon.d.ts +7 -0
  47. package/dist/components/icons/ArrowUpIcon.d.ts.map +1 -0
  48. package/dist/components/icons/BigSkyIcon.d.ts +7 -0
  49. package/dist/components/icons/BigSkyIcon.d.ts.map +1 -0
  50. package/dist/components/icons/ChevronDownIcon.d.ts +7 -0
  51. package/dist/components/icons/ChevronDownIcon.d.ts.map +1 -0
  52. package/dist/components/icons/ChevronUpIcon.d.ts +7 -0
  53. package/dist/components/icons/ChevronUpIcon.d.ts.map +1 -0
  54. package/dist/components/icons/CopyIcon.d.ts +7 -0
  55. package/dist/components/icons/CopyIcon.d.ts.map +1 -0
  56. package/dist/components/icons/Icons.stories.d.ts +40 -0
  57. package/dist/components/icons/Icons.stories.d.ts.map +1 -0
  58. package/dist/components/icons/StopIcon.d.ts +7 -0
  59. package/dist/components/icons/StopIcon.d.ts.map +1 -0
  60. package/dist/components/icons/StylesIcon.d.ts +7 -0
  61. package/dist/components/icons/StylesIcon.d.ts.map +1 -0
  62. package/dist/components/icons/ThumbsDownIcon.d.ts +7 -0
  63. package/dist/components/icons/ThumbsDownIcon.d.ts.map +1 -0
  64. package/dist/components/icons/ThumbsUpIcon.d.ts +7 -0
  65. package/dist/components/icons/ThumbsUpIcon.d.ts.map +1 -0
  66. package/dist/components/icons/XIcon.d.ts +7 -0
  67. package/dist/components/icons/XIcon.d.ts.map +1 -0
  68. package/dist/components/index.d.ts +17 -0
  69. package/dist/components/index.d.ts.map +1 -0
  70. package/dist/components/ui/button.d.ts +10 -0
  71. package/dist/components/ui/button.d.ts.map +1 -0
  72. package/dist/components/ui/button.stories.d.ts +17 -0
  73. package/dist/components/ui/button.stories.d.ts.map +1 -0
  74. package/dist/components/ui/textarea.d.ts +5 -0
  75. package/dist/components/ui/textarea.d.ts.map +1 -0
  76. package/dist/components/ui/textarea.stories.d.ts +44 -0
  77. package/dist/components/ui/textarea.stories.d.ts.map +1 -0
  78. package/dist/components/views/ChatViews.stories.d.ts +33 -0
  79. package/dist/components/views/ChatViews.stories.d.ts.map +1 -0
  80. package/dist/components/views/CollapsedView.d.ts +10 -0
  81. package/dist/components/views/CollapsedView.d.ts.map +1 -0
  82. package/dist/components/views/CompactView.d.ts +17 -0
  83. package/dist/components/views/CompactView.d.ts.map +1 -0
  84. package/dist/components/views/ConversationView.d.ts +31 -0
  85. package/dist/components/views/ConversationView.d.ts.map +1 -0
  86. package/dist/hooks/useChat.d.ts +3 -0
  87. package/dist/hooks/useChat.d.ts.map +1 -0
  88. package/dist/hooks/useInput.d.ts +17 -0
  89. package/dist/hooks/useInput.d.ts.map +1 -0
  90. package/dist/index.css +1 -1
  91. package/dist/index.d.ts +17 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +1270 -1221
  94. package/dist/index.test.d.ts +2 -0
  95. package/dist/index.test.d.ts.map +1 -0
  96. package/dist/stories/charts/BarChart.stories.d.ts +26 -0
  97. package/dist/stories/charts/BarChart.stories.d.ts.map +1 -0
  98. package/dist/stories/charts/LineChart.stories.d.ts +26 -0
  99. package/dist/stories/charts/LineChart.stories.d.ts.map +1 -0
  100. package/dist/stories/gfm/GithubFlavoredMarkdown.stories.d.ts +36 -0
  101. package/dist/stories/gfm/GithubFlavoredMarkdown.stories.d.ts.map +1 -0
  102. package/dist/stories/mocks/messageActions.d.ts +20 -0
  103. package/dist/stories/mocks/messageActions.d.ts.map +1 -0
  104. package/dist/types/index.d.ts +85 -0
  105. package/dist/types/index.d.ts.map +1 -0
  106. package/dist/utils/classNames.d.ts +11 -0
  107. package/dist/utils/classNames.d.ts.map +1 -0
  108. package/dist/utils/message-helpers.d.ts +64 -0
  109. package/dist/utils/message-helpers.d.ts.map +1 -0
  110. package/dist/utils/theme.d.ts +8 -0
  111. package/dist/utils/theme.d.ts.map +1 -0
  112. package/package.json +101 -100
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { ChartBlock } from '@automattic/agenttic-client';
3
+ declare const meta: Meta<typeof ChartBlock>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ /**
7
+ * Default bar chart showing item comparison data
8
+ */
9
+ export declare const Default: Story;
10
+ /**
11
+ * Time comparison bar chart showing data over time periods
12
+ */
13
+ export declare const TimeComparison: Story;
14
+ /**
15
+ * Bar chart with currency formatting
16
+ */
17
+ export declare const WithCurrency: Story;
18
+ /**
19
+ * Bar chart without title demonstration
20
+ */
21
+ export declare const NoTitle: Story;
22
+ /**
23
+ * Error state demonstration with invalid data structure
24
+ */
25
+ export declare const ErrorState: Story;
26
+ //# sourceMappingURL=BarChart.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChart.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/charts/BarChart.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,UAAU,CAoBE,CAAC;AAEtC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAE,OAAO,IAAI,CAAE,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAoCrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAoC5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAuC1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAiCrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAuBxB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { ChartBlock } from '@automattic/agenttic-client';
3
+ declare const meta: Meta<typeof ChartBlock>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof meta>;
6
+ /**
7
+ * Default line chart showing time-series data
8
+ */
9
+ export declare const Default: Story;
10
+ /**
11
+ * Multi-series line chart with revenue and visitors
12
+ */
13
+ export declare const MultiSeries: Story;
14
+ /**
15
+ * Line chart with currency formatting
16
+ */
17
+ export declare const WithCurrency: Story;
18
+ /**
19
+ * Line chart without title
20
+ */
21
+ export declare const NoTitle: Story;
22
+ /**
23
+ * Error state demonstration
24
+ */
25
+ export declare const ErrorState: Story;
26
+ //# sourceMappingURL=LineChart.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineChart.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/charts/LineChart.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAE,OAAO,UAAU,CAoBE,CAAC;AAEtC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAE,OAAO,IAAI,CAAE,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAoCrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAiDzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAyC1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAmCrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAuBxB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { Messages } from '../../components/chat/Messages';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Messages;
6
+ parameters: {
7
+ layout: string;
8
+ docs: {
9
+ description: {
10
+ component: string;
11
+ };
12
+ };
13
+ };
14
+ tags: string[];
15
+ argTypes: {
16
+ messages: {
17
+ control: false;
18
+ description: string;
19
+ };
20
+ isProcessing: {
21
+ control: "boolean";
22
+ description: string;
23
+ };
24
+ messageRenderer: {
25
+ control: false;
26
+ description: string;
27
+ };
28
+ };
29
+ };
30
+ export default meta;
31
+ type Story = StoryObj<typeof meta>;
32
+ export declare const Tables: Story;
33
+ export declare const Strikethrough: Story;
34
+ export declare const TaskLists: Story;
35
+ export declare const CompleteExample: Story;
36
+ //# sourceMappingURL=GithubFlavoredMarkdown.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GithubFlavoredMarkdown.stories.d.ts","sourceRoot":"","sources":["../../../src/stories/gfm/GithubFlavoredMarkdown.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAG1D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDyB,CAAC;AAEpC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAE,OAAO,IAAI,CAAE,CAAC;AASrC,eAAO,MAAM,MAAM,EAAE,KAgDpB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAuC3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAwDvB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KA2D7B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Message, MessageAction } from '../../types';
2
+ export declare const mockAgentMessage: Message;
3
+ export declare const mockUserMessage: Message;
4
+ export declare const mockLongAgentMessage: Message;
5
+ export declare const mockHandlers: {
6
+ onCopy: (message: Message) => Promise<void>;
7
+ onFeedback: (messageId: string, feedback: "up" | "down") => Promise<void>;
8
+ onShare: (message: Message) => Promise<void>;
9
+ onEdit: (message: Message) => Promise<void>;
10
+ onRetry: (message: Message) => Promise<void>;
11
+ };
12
+ export declare const copyAction: MessageAction;
13
+ export declare const shareAction: MessageAction;
14
+ export declare const editAction: MessageAction;
15
+ export declare const retryAction: MessageAction;
16
+ export declare function createMessageWithActions(base: Message, actions: MessageAction[]): Message;
17
+ export declare function createMessageWithFeedback(base: Message, feedbackState?: 'up' | 'down'): Message;
18
+ export declare function createCustomIcon(letter: string, color?: string): import("react/jsx-runtime").JSX.Element;
19
+ export declare const mockMessageThread: Message[];
20
+ //# sourceMappingURL=messageActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageActions.d.ts","sourceRoot":"","sources":["../../../src/stories/mocks/messageActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI1D,eAAO,MAAM,gBAAgB,EAAE,OAY9B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAY7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,OAiClC,CAAC;AAGF,eAAO,MAAM,YAAY;sBACC,OAAO;4BAUD,MAAM,YAAY,IAAI,GAAG,MAAM;uBAKpC,OAAO;sBAKR,OAAO;uBAKN,OAAO;CAIjC,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,aAMxB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,aA8BzB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,aA6BxB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,aA6BzB,CAAC;AAGF,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,aAAa,EAAE,GACtB,OAAO,CAKT;AAGD,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,OAAO,EACb,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,GAC3B,OAAO,CA0BT;AAGD,wBAAgB,gBAAgB,CAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAkB,2CAmB1E;AAGD,eAAO,MAAM,iBAAiB,EAAE,OAAO,EAkBtC,CAAC"}
@@ -0,0 +1,85 @@
1
+ import type { ComponentType } from 'react';
2
+ export interface Suggestion {
3
+ id: string;
4
+ label: string;
5
+ prompt: string;
6
+ }
7
+ export interface Message {
8
+ id: string;
9
+ role: 'user' | 'agent';
10
+ content: Array<{
11
+ type: 'text' | 'image_url' | 'component';
12
+ text?: string;
13
+ image_url?: string;
14
+ component?: React.ComponentType;
15
+ componentProps?: any;
16
+ }>;
17
+ timestamp: number;
18
+ archived: boolean;
19
+ showIcon: boolean;
20
+ icon?: string;
21
+ actions?: MessageAction[];
22
+ }
23
+ export interface MessageAction {
24
+ id: string;
25
+ icon: React.ReactNode;
26
+ label: string;
27
+ onClick: (message: Message) => void | Promise<void>;
28
+ tooltip?: string;
29
+ disabled?: boolean;
30
+ }
31
+ export declare const DEFAULT_PLACEHOLDER: import("@wordpress/i18n").TranslatableText<"Ask anything">;
32
+ export interface AgentUIProps {
33
+ messages: Message[];
34
+ isProcessing: boolean;
35
+ error?: string | null;
36
+ onSubmit: (message: string) => void;
37
+ className?: string;
38
+ style?: React.CSSProperties;
39
+ variant?: 'floating' | 'embedded';
40
+ triggerIcon?: React.ReactNode;
41
+ placeholder?: string;
42
+ notice?: NoticeConfig;
43
+ onOpen?: () => void;
44
+ onExpand?: () => void;
45
+ onClose?: () => void;
46
+ emptyView?: React.ReactNode;
47
+ floatingChatState?: ChatState;
48
+ suggestions?: Suggestion[];
49
+ clearSuggestions?: () => void;
50
+ messageRenderer?: ComponentType<{
51
+ children: string;
52
+ }>;
53
+ }
54
+ export interface NoticeConfig {
55
+ icon?: React.ReactNode;
56
+ message: string;
57
+ action?: {
58
+ label: string;
59
+ onClick: () => void;
60
+ };
61
+ dismissible?: boolean;
62
+ onDismiss?: () => void;
63
+ }
64
+ export interface ChatProps extends AgentUIProps {
65
+ floatingChatState?: ChatState;
66
+ }
67
+ export type ChatState = 'collapsed' | 'compact' | 'expanded';
68
+ export interface UseChatReturn {
69
+ state: ChatState;
70
+ initialState: ChatState;
71
+ setState: (state: ChatState) => void;
72
+ isOpen: boolean;
73
+ open: () => void;
74
+ close: () => void;
75
+ toggle: () => void;
76
+ }
77
+ export interface UseInputReturn {
78
+ value: string;
79
+ setValue: (value: string) => void;
80
+ clear: () => void;
81
+ textareaRef: React.RefObject<HTMLTextAreaElement>;
82
+ handleKeyDown: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void;
83
+ adjustHeight: () => void;
84
+ }
85
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Utility for combining class names, similar to clsx
3
+ * Supports strings, objects, arrays, and conditional classes
4
+ * @param {...any} inputs
5
+ */
6
+ export declare function cn(...inputs: ClassValue[]): string;
7
+ type ClassValue = string | number | null | undefined | ClassValue[] | {
8
+ [key: string]: boolean | null | undefined;
9
+ };
10
+ export {};
11
+ //# sourceMappingURL=classNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../src/utils/classNames.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,EAAE,CAAE,GAAG,MAAM,EAAE,UAAU,EAAE,GAAI,MAAM,CAsBpD;AAED,KAAK,UAAU,GACZ,MAAM,GACN,MAAM,GACN,IAAI,GACJ,SAAS,GACT,UAAU,EAAE,GACZ;IAAE,CAAE,GAAG,EAAE,MAAM,GAAI,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,CAAC"}
@@ -0,0 +1,64 @@
1
+ import type { Message } from '../types';
2
+ /**
3
+ * Format a timestamp for display
4
+ * @param timestamp
5
+ */
6
+ export declare const formatTimestamp: (timestamp: number) => string;
7
+ /**
8
+ * Extract text content from a message
9
+ * @param message
10
+ */
11
+ export declare const getMessageText: (message: Message) => string;
12
+ /**
13
+ * Check if a message has image content
14
+ * @param message
15
+ */
16
+ export declare const hasImageContent: (message: Message) => boolean;
17
+ /**
18
+ * Get image URLs from a message
19
+ * @param message
20
+ */
21
+ export declare const getImageUrls: (message: Message) => string[];
22
+ /**
23
+ * Check if a message has component content
24
+ * @param message
25
+ */
26
+ export declare const hasComponentContent: (message: Message) => boolean;
27
+ /**
28
+ * Get React components from a message
29
+ * @param message
30
+ */
31
+ export declare const getComponents: (message: Message) => React.ComponentType[];
32
+ /**
33
+ * Check if a message is a thinking message
34
+ * @param message
35
+ */
36
+ export declare const isThinkingMessage: (message: Message) => boolean;
37
+ /**
38
+ * Check if a message is a completed plan message
39
+ * @param message
40
+ */
41
+ export declare const isCompletedPlanMessage: (message: Message) => boolean;
42
+ /**
43
+ * Create a user message
44
+ * @param text
45
+ * @param imageUrls
46
+ */
47
+ export declare const createUserMessage: (text: string, imageUrls?: string[]) => Message;
48
+ /**
49
+ * Create an agent message
50
+ * @param text
51
+ * @param additionalProps
52
+ */
53
+ export declare const createAgentMessage: (text: string, additionalProps?: Partial<Message>) => Message;
54
+ /**
55
+ * Sort messages by creation time
56
+ * @param messages
57
+ */
58
+ export declare const sortMessagesByTime: (messages: Message[]) => Message[];
59
+ /**
60
+ * Filter out archived messages
61
+ * @param messages
62
+ */
63
+ export declare const getActiveMessages: (messages: Message[]) => Message[];
64
+ //# sourceMappingURL=message-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/message-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAK,WAAW,MAAM,KAAI,MAMrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAK,SAAS,OAAO,KAAI,MAKnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAK,SAAS,OAAO,KAAI,OAEpD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAK,SAAS,OAAO,KAAI,MAAM,EAKvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAK,SAAS,OAAO,KAAI,OAExD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAK,SAAS,OAAO,KAAI,KAAK,CAAC,aAAa,EAKrE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAK,SAAS,OAAO,KAAI,OAGtD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAK,SAAS,OAAO,KAAI,OAG3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAC7B,MAAM,MAAM,EACZ,YAAW,MAAM,EAAO,KACtB,OAeF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC9B,MAAM,MAAM,EACZ,kBAAiB,OAAO,CAAE,OAAO,CAAO,KACtC,OAUF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAK,UAAU,OAAO,EAAE,KAAI,OAAO,EAEjE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAK,UAAU,OAAO,EAAE,KAAI,OAAO,EAEhE,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Utility to get CSS variable values
3
+ * Note: OKLCH colors are automatically converted to RGB by the browser
4
+ * @param variableName
5
+ * @param fallback
6
+ */
7
+ export declare const getCSSVariable: (variableName: string, fallback?: string) => string;
8
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/utils/theme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAC1B,cAAc,MAAM,EACpB,WAAU,MAAW,KACnB,MAYF,CAAC"}
package/package.json CHANGED
@@ -1,101 +1,102 @@
1
1
  {
2
- "name": "@automattic/agenttic-ui",
3
- "version": "0.1.0",
4
- "type": "module",
5
- "description": "UI components for the Agenttic framework",
6
- "main": "dist/index.js",
7
- "module": "dist/index.js",
8
- "types": "dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "types": "./dist/index.d.ts",
12
- "import": "./dist/index.js"
13
- },
14
- "./index.css": "./dist/index.css"
15
- },
16
- "files": [
17
- "dist",
18
- "README.md"
19
- ],
20
- "keywords": [
21
- "agenttic",
22
- "ui",
23
- "components",
24
- "react",
25
- "typescript",
26
- "ai",
27
- "agent"
28
- ],
29
- "author": "Automattic",
30
- "license": "MIT",
31
- "engines": {
32
- "node": ">=18.0.0"
33
- },
34
- "devDependencies": {
35
- "@automattic/charts": "^0.14.0",
36
- "@mdx-js/react": "^3.1.0",
37
- "@storybook/addon-a11y": "^9.0.18",
38
- "@storybook/addon-docs": "^9.0.18",
39
- "@storybook/addon-essentials": "9.0.0-alpha.12",
40
- "@storybook/addon-links": "^9.0.18",
41
- "@storybook/addon-onboarding": "^9.0.18",
42
- "@storybook/blocks": "9.0.0-alpha.17",
43
- "@storybook/manager-api": "^8.6.14",
44
- "@storybook/react": "^9.0.18",
45
- "@storybook/react-vite": "^9.0.18",
46
- "@storybook/test": "9.0.0-alpha.2",
47
- "@types/node": "^20.0.0",
48
- "@types/react": "^18.0.0",
49
- "@types/react-dom": "^18.0.0",
50
- "@wordpress/prettier-config": "^4.2.0",
51
- "@wordpress/scripts": "^27.9.0",
52
- "autoprefixer": "^10.4.0",
53
- "eslint-import-resolver-typescript": "^4.4.4",
54
- "jsdom": "^24.0.0",
55
- "postcss": "^8.4.0",
56
- "storybook": "^9.0.18",
57
- "typescript": "^5.0.0",
58
- "vite": "^5.0.0",
59
- "vite-plugin-lib-inject-css": "^2.2.2",
60
- "vitest": "^1.0.0"
61
- },
62
- "dependencies": {
63
- "@radix-ui/react-scroll-area": "^1.2.9",
64
- "@radix-ui/react-slot": "^1.2.3",
65
- "@visx/xychart": "^3.12.0",
66
- "@wordpress/data": "^10.0.0",
67
- "@wordpress/element": "^6.24.0",
68
- "@wordpress/i18n": "^6.1.0",
69
- "class-variance-authority": "^0.7.1",
70
- "clsx": "^2.1.1",
71
- "framer-motion": "^12.23.0",
72
- "lucide-react": "^0.525.0",
73
- "react": "^18.0.0",
74
- "react-dom": "^18.0.0",
75
- "react-markdown": "^10.1.0",
76
- "react-textarea-autosize": "^8.5.9",
77
- "@automattic/agenttic-client": "0.1.0"
78
- },
79
- "peerDependencies": {
80
- "@automattic/charts": "^0.14.0",
81
- "react": "^18.0.0",
82
- "react-dom": "^18.0.0"
83
- },
84
- "publishConfig": {
85
- "access": "public",
86
- "branch": "trunk"
87
- },
88
- "scripts": {
89
- "build": "pnpm run clean && vite build && tsc --emitDeclarationOnly",
90
- "dev": "vite",
91
- "clean": "rm -rf dist",
92
- "type-check": "tsc --noEmit",
93
- "lint": "wp-scripts lint-js src --ext .ts,.tsx",
94
- "lint:fix": "wp-scripts lint-js src --ext .ts,.tsx --fix",
95
- "test": "vitest run",
96
- "storybook": "storybook dev -p 6006",
97
- "build-storybook": "storybook build -o storybook-static",
98
- "i18n:extract": "npx --no-install @wordpress/i18n-command make-pot src --output=languages/a8c-agenttic.pot --domain=a8c-agenttic",
99
- "i18n:update": "npx --no-install @wordpress/i18n-command make-json languages --domain=a8c-agenttic"
100
- }
101
- }
2
+ "name": "@automattic/agenttic-ui",
3
+ "version": "0.1.1",
4
+ "type": "module",
5
+ "description": "UI components for the Agenttic framework",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ },
14
+ "./index.css": "./dist/index.css"
15
+ },
16
+ "files": [
17
+ "dist",
18
+ "README.md"
19
+ ],
20
+ "scripts": {
21
+ "build": "pnpm run clean && vite build && tsc --project tsconfig.json --emitDeclarationOnly",
22
+ "dev": "vite",
23
+ "clean": "rm -rf dist",
24
+ "type-check": "tsc --noEmit",
25
+ "lint": "wp-scripts lint-js src --ext .ts,.tsx",
26
+ "lint:fix": "wp-scripts lint-js src --ext .ts,.tsx --fix",
27
+ "test": "vitest run",
28
+ "prepublishOnly": "pnpm run build",
29
+ "storybook": "storybook dev -p 6006",
30
+ "build-storybook": "storybook build -o storybook-static",
31
+ "i18n:extract": "npx --no-install @wordpress/i18n-command make-pot src --output=languages/a8c-agenttic.pot --domain=a8c-agenttic",
32
+ "i18n:update": "npx --no-install @wordpress/i18n-command make-json languages --domain=a8c-agenttic"
33
+ },
34
+ "keywords": [
35
+ "agenttic",
36
+ "ui",
37
+ "components",
38
+ "react",
39
+ "typescript",
40
+ "ai",
41
+ "agent"
42
+ ],
43
+ "author": "Automattic",
44
+ "license": "MIT",
45
+ "engines": {
46
+ "node": ">=18.0.0"
47
+ },
48
+ "devDependencies": {
49
+ "@automattic/charts": "^0.14.0",
50
+ "@mdx-js/react": "^3.1.0",
51
+ "@storybook/addon-a11y": "^9.0.18",
52
+ "@storybook/addon-docs": "^9.0.18",
53
+ "@storybook/addon-essentials": "9.0.0-alpha.12",
54
+ "@storybook/addon-links": "^9.0.18",
55
+ "@storybook/addon-onboarding": "^9.0.18",
56
+ "@storybook/blocks": "9.0.0-alpha.17",
57
+ "@storybook/manager-api": "^8.6.14",
58
+ "@storybook/react": "^9.0.18",
59
+ "@storybook/react-vite": "^9.0.18",
60
+ "@storybook/test": "9.0.0-alpha.2",
61
+ "@types/node": "^20.0.0",
62
+ "@types/react": "^18.0.0",
63
+ "@types/react-dom": "^18.0.0",
64
+ "@wordpress/prettier-config": "^4.2.0",
65
+ "@wordpress/scripts": "^27.9.0",
66
+ "autoprefixer": "^10.4.0",
67
+ "eslint-import-resolver-typescript": "^4.4.4",
68
+ "jsdom": "^24.0.0",
69
+ "postcss": "^8.4.0",
70
+ "storybook": "^9.0.18",
71
+ "typescript": "^5.0.0",
72
+ "vite": "^5.0.0",
73
+ "vite-plugin-lib-inject-css": "^2.2.2",
74
+ "vitest": "^1.0.0"
75
+ },
76
+ "dependencies": {
77
+ "@automattic/agenttic-client": "workspace:*",
78
+ "@radix-ui/react-scroll-area": "^1.2.9",
79
+ "@radix-ui/react-slot": "^1.2.3",
80
+ "@visx/xychart": "^3.12.0",
81
+ "@wordpress/data": "^10.0.0",
82
+ "@wordpress/element": "^6.24.0",
83
+ "@wordpress/i18n": "^6.1.0",
84
+ "class-variance-authority": "^0.7.1",
85
+ "clsx": "^2.1.1",
86
+ "framer-motion": "^12.23.0",
87
+ "lucide-react": "^0.525.0",
88
+ "react": "^18.0.0",
89
+ "react-dom": "^18.0.0",
90
+ "react-markdown": "^10.1.0",
91
+ "react-textarea-autosize": "^8.5.9"
92
+ },
93
+ "peerDependencies": {
94
+ "@automattic/charts": "^0.14.0",
95
+ "react": "^18.0.0",
96
+ "react-dom": "^18.0.0"
97
+ },
98
+ "publishConfig": {
99
+ "access": "public",
100
+ "branch": "trunk"
101
+ }
102
+ }