@agentiffai/design 1.3.26 → 1.3.28
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.
- package/dist/{Window-DyRP81dS.d.cts → Window-Dm_I5m8i.d.cts} +5 -7
- package/dist/{Window-DyRP81dS.d.ts → Window-Dm_I5m8i.d.ts} +5 -7
- package/dist/copilotkit/index.cjs +73 -43
- package/dist/copilotkit/index.cjs.map +1 -1
- package/dist/copilotkit/index.d.cts +2 -2
- package/dist/copilotkit/index.d.ts +2 -2
- package/dist/copilotkit/index.js +73 -43
- package/dist/copilotkit/index.js.map +1 -1
- package/dist/index.cjs +1953 -656
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +227 -2
- package/dist/index.d.ts +227 -2
- package/dist/index.js +1826 -541
- package/dist/index.js.map +1 -1
- package/dist/layout/index.cjs +74 -14
- package/dist/layout/index.cjs.map +1 -1
- package/dist/layout/index.js +74 -14
- package/dist/layout/index.js.map +1 -1
- package/dist/workflow/index.cjs +88 -58
- package/dist/workflow/index.cjs.map +1 -1
- package/dist/workflow/index.js +88 -58
- package/dist/workflow/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -5,7 +5,7 @@ import React__default, { ReactNode } from 'react';
|
|
|
5
5
|
export { ActionButtons, ActionButtonsProps, BrandType, CategoryItem, CategoryNav, CategoryNavProps, CategorySubItem, Icon, IconName, IconNames, IconProps, Layout, LayoutProps, NavHorizontal, NavHorizontalProps, NavVertical, NavVerticalProps, OAuthConnectionData, PaneMenus, PaneMenusProps, PaneSectionHeader, PaneSectionHeaderProps, ServiceBrand, ServiceIcon, ServiceIconProps, WorkflowStatusCard, WorkflowStatusCardProps } from './layout/index.cjs';
|
|
6
6
|
import { AriaButtonProps } from '@react-aria/button';
|
|
7
7
|
export { GlobalStyle, darkTheme, lightTheme, tokens } from './theme/index.cjs';
|
|
8
|
-
export { A as Action, c as ActionVariant, d as Actions, a as ActionsLayout, b as ActionsProps, f as AgentState, e as AgentStateProps, t as AssistantMessage, o as AssistantMessageProps, k as Button, B as ButtonProps, i as ButtonSize, j as ButtonVariant, z as CopilotUserMessage, U as CopilotUserMessageProps, u as FileAttachment, p as FileAttachmentProps, l as Footer, F as FooterProps, m as Header, H as HeaderProps, n as Input, I as InputProps, M as Message, v as Messages, w as MessagesList, x as MessagesListContainer, y as MessagesListContent, q as MessagesListProps, s as MessagesProps, D as Response, C as ResponseProps, G as StreamErrorMessage, S as StreamErrorMessageProps, N as StreamStatusIndicator, L as StreamStatusIndicatorProps, K as StreamingText, J as StreamingTextProps, P as Suggestions, O as SuggestionsProps, Q as Window, W as WindowProps, h as clearToolCalls, r as registerToolCall } from './Window-
|
|
8
|
+
export { A as Action, c as ActionVariant, d as Actions, a as ActionsLayout, b as ActionsProps, f as AgentState, e as AgentStateProps, t as AssistantMessage, o as AssistantMessageProps, k as Button, B as ButtonProps, i as ButtonSize, j as ButtonVariant, z as CopilotUserMessage, U as CopilotUserMessageProps, u as FileAttachment, p as FileAttachmentProps, l as Footer, F as FooterProps, m as Header, H as HeaderProps, n as Input, I as InputProps, M as Message, v as Messages, w as MessagesList, x as MessagesListContainer, y as MessagesListContent, q as MessagesListProps, s as MessagesProps, D as Response, C as ResponseProps, G as StreamErrorMessage, S as StreamErrorMessageProps, N as StreamStatusIndicator, L as StreamStatusIndicatorProps, K as StreamingText, J as StreamingTextProps, P as Suggestions, O as SuggestionsProps, Q as Window, W as WindowProps, h as clearToolCalls, r as registerToolCall } from './Window-Dm_I5m8i.cjs';
|
|
9
9
|
export { FacebookIcon, FacebookIconProps, FacebookIconVariant, GmailIcon, GmailIconProps, GmailIconVariant, InstagramIcon, InstagramIconProps, InstagramVariant, LinkedInIcon, LinkedInIconProps, LinkedInIconVariant, PostizIcon, PostizIconProps, PostizIconVariant, RedditIcon, RedditIconProps, RedditIconVariant, SlackIcon, SlackIconProps, SlackIconVariant, TelegramIcon, TelegramIconProps, TelegramIconVariant, WhatsAppIcon, WhatsAppIconProps, WhatsAppIconVariant, XIcon, XIconProps, XIconVariant, YouTubeIcon, YouTubeIconProps, YouTubeIconVariant } from './icons/index.cjs';
|
|
10
10
|
export { WorkflowCard, WorkflowCardProps, WorkflowErrorAlert, WorkflowErrorAlertProps, WorkflowIntegration, WorkflowProgressBar, WorkflowProgressBarProps, WorkflowResultPanel, WorkflowResultPanelProps, WorkflowStatusBadge, WorkflowStatusBadgeProps } from './workflow/index.cjs';
|
|
11
11
|
import '@react-types/button';
|
|
@@ -99,6 +99,179 @@ interface ChatInputProps extends Omit<AriaTextFieldProps, 'onChange'> {
|
|
|
99
99
|
*/
|
|
100
100
|
declare const ChatInput: React__default.FC<ChatInputProps>;
|
|
101
101
|
|
|
102
|
+
/**
|
|
103
|
+
* TagInput Component
|
|
104
|
+
*
|
|
105
|
+
* A pill-based input for array values using React Aria's TagGroup.
|
|
106
|
+
* Users can add/remove items as interactive pills instead of comma-separated text.
|
|
107
|
+
*/
|
|
108
|
+
|
|
109
|
+
interface TagInputProps {
|
|
110
|
+
/** Current array of values */
|
|
111
|
+
value: string[];
|
|
112
|
+
/** Callback when values change */
|
|
113
|
+
onChange: (values: string[]) => void;
|
|
114
|
+
/** Field label */
|
|
115
|
+
label: string;
|
|
116
|
+
/** Whether the field is required */
|
|
117
|
+
required?: boolean;
|
|
118
|
+
/** Helper text / description */
|
|
119
|
+
description?: string;
|
|
120
|
+
/** Placeholder for the input */
|
|
121
|
+
placeholder?: string;
|
|
122
|
+
/** Default values to show as hint */
|
|
123
|
+
defaultHint?: string[];
|
|
124
|
+
/** Whether the field is disabled */
|
|
125
|
+
disabled?: boolean;
|
|
126
|
+
/** Error message to display */
|
|
127
|
+
error?: string | null;
|
|
128
|
+
/** Minimum number of items required */
|
|
129
|
+
minItems?: number;
|
|
130
|
+
/** Test ID prefix */
|
|
131
|
+
testId?: string;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* TagInput - A pill-based array input component
|
|
135
|
+
*
|
|
136
|
+
* Features:
|
|
137
|
+
* - Add items by typing and pressing Enter or clicking Add
|
|
138
|
+
* - Remove items by clicking the X on each pill
|
|
139
|
+
* - Visual feedback for selected/hover states
|
|
140
|
+
* - Keyboard accessible
|
|
141
|
+
*/
|
|
142
|
+
declare const TagInput: React__default.FC<TagInputProps>;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* WorkflowLoadingSkeleton Component
|
|
146
|
+
*
|
|
147
|
+
* Shows persistent skeleton during INITIALIZING and PROCESSING phases.
|
|
148
|
+
* Features:
|
|
149
|
+
* - Indeterminate progress bar for INITIALIZING phase
|
|
150
|
+
* - Determinate progress bar for PROCESSING phase (when steps are known)
|
|
151
|
+
* - Current activity message display
|
|
152
|
+
* - Step counter when totalSteps > 0
|
|
153
|
+
* - Divide-by-zero protection for percentage calculation
|
|
154
|
+
* - Minimum display duration (100ms delay) to prevent flash
|
|
155
|
+
*/
|
|
156
|
+
interface WorkflowLoadingSkeletonProps {
|
|
157
|
+
/** Current workflow phase (e.g. "INITIALIZING", "PROCESSING") */
|
|
158
|
+
phase: string;
|
|
159
|
+
/** Progress state with step tracking and percentage */
|
|
160
|
+
progress: {
|
|
161
|
+
currentStep: number;
|
|
162
|
+
totalSteps: number;
|
|
163
|
+
currentActivity: string;
|
|
164
|
+
percentage: number;
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* WorkflowLoadingSkeleton shows a persistent loading state during workflow execution.
|
|
169
|
+
* Adapts visual presentation based on current phase and available progress data.
|
|
170
|
+
*/
|
|
171
|
+
declare function WorkflowLoadingSkeleton({ phase, progress, }: WorkflowLoadingSkeletonProps): react_jsx_runtime.JSX.Element | null;
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* AuthButton Component
|
|
175
|
+
*
|
|
176
|
+
* Button component with primary/secondary variants, loading states, and disabled states
|
|
177
|
+
*/
|
|
178
|
+
|
|
179
|
+
interface AuthButtonProps {
|
|
180
|
+
children: React__default.ReactNode;
|
|
181
|
+
onClick?: () => void;
|
|
182
|
+
type?: "button" | "submit" | "reset";
|
|
183
|
+
variant?: "primary" | "secondary";
|
|
184
|
+
loading?: boolean;
|
|
185
|
+
loadingText?: string;
|
|
186
|
+
disabled?: boolean;
|
|
187
|
+
fullWidth?: boolean;
|
|
188
|
+
icon?: React__default.ReactNode;
|
|
189
|
+
className?: string;
|
|
190
|
+
"data-testid"?: string;
|
|
191
|
+
}
|
|
192
|
+
declare const AuthButton: React__default.FC<AuthButtonProps>;
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* AuthInput Component
|
|
196
|
+
*
|
|
197
|
+
* Reusable input field with validation states and error display
|
|
198
|
+
* Uses react-aria for accessibility and styled-components for styling
|
|
199
|
+
*/
|
|
200
|
+
|
|
201
|
+
interface AuthInputProps {
|
|
202
|
+
label: string;
|
|
203
|
+
name: string;
|
|
204
|
+
type?: "text" | "email" | "tel" | "password";
|
|
205
|
+
value?: string;
|
|
206
|
+
placeholder?: string;
|
|
207
|
+
error?: string;
|
|
208
|
+
required?: boolean;
|
|
209
|
+
disabled?: boolean;
|
|
210
|
+
autoFocus?: boolean;
|
|
211
|
+
autoComplete?: string;
|
|
212
|
+
/** Prevents browser autofill using readonly workaround (for OTP/verification codes) */
|
|
213
|
+
disableAutofill?: boolean;
|
|
214
|
+
/** Maximum number of characters allowed */
|
|
215
|
+
maxLength?: number;
|
|
216
|
+
/** Input mode for mobile keyboard (e.g., "numeric" for number pad) */
|
|
217
|
+
inputMode?: "text" | "numeric" | "tel" | "email" | "decimal";
|
|
218
|
+
className?: string;
|
|
219
|
+
onChange?: (value: string) => void;
|
|
220
|
+
onBlur?: () => void;
|
|
221
|
+
onValidate?: () => void;
|
|
222
|
+
validateOnBlur?: boolean;
|
|
223
|
+
"data-testid"?: string;
|
|
224
|
+
}
|
|
225
|
+
declare const AuthInput: React__default.FC<AuthInputProps>;
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* PasswordInput Component
|
|
229
|
+
*
|
|
230
|
+
* Password input with show/hide toggle icon
|
|
231
|
+
* Inherits from AuthInput with additional password-specific features
|
|
232
|
+
*/
|
|
233
|
+
|
|
234
|
+
interface PasswordInputProps extends Omit<AuthInputProps, "type"> {
|
|
235
|
+
clearOnError?: boolean;
|
|
236
|
+
minLength?: number;
|
|
237
|
+
hintText?: string;
|
|
238
|
+
}
|
|
239
|
+
declare const PasswordInput: React__default.FC<PasswordInputProps>;
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* SuccessToast Component
|
|
243
|
+
*
|
|
244
|
+
* Displays success notifications with auto-dismiss functionality
|
|
245
|
+
* Styled with green colors for positive feedback
|
|
246
|
+
*/
|
|
247
|
+
|
|
248
|
+
interface SuccessToastProps {
|
|
249
|
+
message: string | null;
|
|
250
|
+
onDismiss: () => void;
|
|
251
|
+
autoDismiss?: boolean;
|
|
252
|
+
autoDismissDelay?: number;
|
|
253
|
+
}
|
|
254
|
+
declare const SuccessToast: React__default.FC<SuccessToastProps>;
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* ErrorBanner Component
|
|
258
|
+
*
|
|
259
|
+
* Global connectivity error banner that appears at the top of the viewport
|
|
260
|
+
* Displays when the app is offline and automatically dismisses on reconnect
|
|
261
|
+
*/
|
|
262
|
+
|
|
263
|
+
interface ErrorBannerProps {
|
|
264
|
+
isOnline: boolean;
|
|
265
|
+
message?: string;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* ErrorBanner component displays connectivity errors
|
|
269
|
+
*
|
|
270
|
+
* @param isOnline - Network connectivity status
|
|
271
|
+
* @param message - Optional custom error message (defaults to "No internet connection")
|
|
272
|
+
*/
|
|
273
|
+
declare const ErrorBanner: React__default.FC<ErrorBannerProps>;
|
|
274
|
+
|
|
102
275
|
interface NotificationItem {
|
|
103
276
|
/** Unique identifier for the item */
|
|
104
277
|
id: string;
|
|
@@ -739,4 +912,56 @@ interface TokenUsageCardProps {
|
|
|
739
912
|
}
|
|
740
913
|
declare function TokenUsageCard({ currentUsage, maxLimit, transactions, periodLabel, onViewAll, className, loading, }: TokenUsageCardProps): React__default.ReactElement;
|
|
741
914
|
|
|
742
|
-
|
|
915
|
+
/**
|
|
916
|
+
* useLocalStorage Hook
|
|
917
|
+
*
|
|
918
|
+
* Generic hook for localStorage persistence with type safety
|
|
919
|
+
* Provides state management with automatic localStorage sync
|
|
920
|
+
*/
|
|
921
|
+
/**
|
|
922
|
+
* Custom hook for managing state with localStorage persistence
|
|
923
|
+
* @param key - localStorage key to store the value under
|
|
924
|
+
* @param initialValue - initial value to use if no stored value exists
|
|
925
|
+
* @returns tuple of [value, setValue] similar to useState
|
|
926
|
+
*/
|
|
927
|
+
declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T | ((prev: T) => T)) => void];
|
|
928
|
+
|
|
929
|
+
/**
|
|
930
|
+
* useNetworkStatus Hook - Detects network connectivity changes
|
|
931
|
+
*
|
|
932
|
+
* Uses two detection methods:
|
|
933
|
+
* 1. Browser online/offline events (instant, works on desktop)
|
|
934
|
+
* 2. Ping-based check (fallback for Android WebView where browser events don't fire)
|
|
935
|
+
*
|
|
936
|
+
* @param healthEndpoint - Optional URL to ping for connectivity checks (used in Tauri/WebView environments)
|
|
937
|
+
*/
|
|
938
|
+
declare function useNetworkStatus(healthEndpoint?: string): boolean;
|
|
939
|
+
|
|
940
|
+
/**
|
|
941
|
+
* Hook to detect mobile landscape orientation
|
|
942
|
+
* Returns true when device is in landscape mode with limited height (mobile)
|
|
943
|
+
*/
|
|
944
|
+
declare function useIsLandscape(): boolean;
|
|
945
|
+
|
|
946
|
+
/**
|
|
947
|
+
* Keyboard Detection Hook
|
|
948
|
+
* Implements keyboard visibility detection and height calculation
|
|
949
|
+
* Per spec section 3.3: Keyboard Detection & Override
|
|
950
|
+
*/
|
|
951
|
+
interface KeyboardState {
|
|
952
|
+
isVisible: boolean;
|
|
953
|
+
height: number;
|
|
954
|
+
viewportOffsetTop: number;
|
|
955
|
+
}
|
|
956
|
+
/**
|
|
957
|
+
* Hook to detect virtual keyboard visibility and height on mobile devices
|
|
958
|
+
* Uses Visual Viewport API where available, with fallback methods
|
|
959
|
+
*/
|
|
960
|
+
declare const useKeyboardDetection: () => KeyboardState;
|
|
961
|
+
/**
|
|
962
|
+
* Utility function to check if the device is mobile
|
|
963
|
+
* Checks for touch capability and mobile user agents
|
|
964
|
+
*/
|
|
965
|
+
declare const isMobileDevice: () => boolean;
|
|
966
|
+
|
|
967
|
+
export { type ApprovalStatus, AssistantThinking, type AssistantThinkingProps, AuthButton, type AuthButtonProps, AuthInput, type AuthInputProps, type BillingPeriod, BillingToggle, type BillingToggleProps, CATEGORY_CONFIGS, type CategoryConfig, ChatInput, type ChatInputProps, ConnectionStatusBadge, type ConnectionStatusBadgeProps, DarkNotificationCard, type EngagementOpportunity, type EngagementStatus, ErrorBanner, type ErrorBannerProps, IntegrationCard, type IntegrationCardProps, NotificationCard, type NotificationCardProps, type NotificationItem, type NotificationSection, PLATFORM_CONFIGS, PasswordInput, type PasswordInputProps, type Platform, PlatformCarousel, type PlatformCarouselProps, type PlatformConfig, PlatformGrid, type PlatformGridProps, PostApprovalControls, type PostApprovalControlsProps, PostPreviewCard, type PostPreviewCardProps, type PostViewMode, type ProgressCategory, type ProposedPost, RedditEngagementControls, type RedditEngagementControlsProps, RedditOpportunityCard, type RedditOpportunityCardProps, type ReplyTone, SecretInput, type SecretInputProps, SocialMediaCanvas, type SocialMediaCanvasProps, SuccessToast, type SuccessToastProps, TagInput, type TagInputProps, type TokenTransaction, TokenUsageCard, type TokenUsageCardProps, TrialPlanCard, type TrialPlanCardProps, UserMessage, type UserMessageProps, WorkflowLoadingSkeleton, type WorkflowLoadingSkeletonProps, categorizeProgress, getCategoryColor, getCategoryIcon, getCharacterCount, getCharacterLimitColor, getCharacterLimitPercentage, isMobileDevice, isWithinCharLimit, normalizePlatform, useIsLandscape, useKeyboardDetection, useLocalStorage, useNetworkStatus };
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import React__default, { ReactNode } from 'react';
|
|
|
5
5
|
export { ActionButtons, ActionButtonsProps, BrandType, CategoryItem, CategoryNav, CategoryNavProps, CategorySubItem, Icon, IconName, IconNames, IconProps, Layout, LayoutProps, NavHorizontal, NavHorizontalProps, NavVertical, NavVerticalProps, OAuthConnectionData, PaneMenus, PaneMenusProps, PaneSectionHeader, PaneSectionHeaderProps, ServiceBrand, ServiceIcon, ServiceIconProps, WorkflowStatusCard, WorkflowStatusCardProps } from './layout/index.js';
|
|
6
6
|
import { AriaButtonProps } from '@react-aria/button';
|
|
7
7
|
export { GlobalStyle, darkTheme, lightTheme, tokens } from './theme/index.js';
|
|
8
|
-
export { A as Action, c as ActionVariant, d as Actions, a as ActionsLayout, b as ActionsProps, f as AgentState, e as AgentStateProps, t as AssistantMessage, o as AssistantMessageProps, k as Button, B as ButtonProps, i as ButtonSize, j as ButtonVariant, z as CopilotUserMessage, U as CopilotUserMessageProps, u as FileAttachment, p as FileAttachmentProps, l as Footer, F as FooterProps, m as Header, H as HeaderProps, n as Input, I as InputProps, M as Message, v as Messages, w as MessagesList, x as MessagesListContainer, y as MessagesListContent, q as MessagesListProps, s as MessagesProps, D as Response, C as ResponseProps, G as StreamErrorMessage, S as StreamErrorMessageProps, N as StreamStatusIndicator, L as StreamStatusIndicatorProps, K as StreamingText, J as StreamingTextProps, P as Suggestions, O as SuggestionsProps, Q as Window, W as WindowProps, h as clearToolCalls, r as registerToolCall } from './Window-
|
|
8
|
+
export { A as Action, c as ActionVariant, d as Actions, a as ActionsLayout, b as ActionsProps, f as AgentState, e as AgentStateProps, t as AssistantMessage, o as AssistantMessageProps, k as Button, B as ButtonProps, i as ButtonSize, j as ButtonVariant, z as CopilotUserMessage, U as CopilotUserMessageProps, u as FileAttachment, p as FileAttachmentProps, l as Footer, F as FooterProps, m as Header, H as HeaderProps, n as Input, I as InputProps, M as Message, v as Messages, w as MessagesList, x as MessagesListContainer, y as MessagesListContent, q as MessagesListProps, s as MessagesProps, D as Response, C as ResponseProps, G as StreamErrorMessage, S as StreamErrorMessageProps, N as StreamStatusIndicator, L as StreamStatusIndicatorProps, K as StreamingText, J as StreamingTextProps, P as Suggestions, O as SuggestionsProps, Q as Window, W as WindowProps, h as clearToolCalls, r as registerToolCall } from './Window-Dm_I5m8i.js';
|
|
9
9
|
export { FacebookIcon, FacebookIconProps, FacebookIconVariant, GmailIcon, GmailIconProps, GmailIconVariant, InstagramIcon, InstagramIconProps, InstagramVariant, LinkedInIcon, LinkedInIconProps, LinkedInIconVariant, PostizIcon, PostizIconProps, PostizIconVariant, RedditIcon, RedditIconProps, RedditIconVariant, SlackIcon, SlackIconProps, SlackIconVariant, TelegramIcon, TelegramIconProps, TelegramIconVariant, WhatsAppIcon, WhatsAppIconProps, WhatsAppIconVariant, XIcon, XIconProps, XIconVariant, YouTubeIcon, YouTubeIconProps, YouTubeIconVariant } from './icons/index.js';
|
|
10
10
|
export { WorkflowCard, WorkflowCardProps, WorkflowErrorAlert, WorkflowErrorAlertProps, WorkflowIntegration, WorkflowProgressBar, WorkflowProgressBarProps, WorkflowResultPanel, WorkflowResultPanelProps, WorkflowStatusBadge, WorkflowStatusBadgeProps } from './workflow/index.js';
|
|
11
11
|
import '@react-types/button';
|
|
@@ -99,6 +99,179 @@ interface ChatInputProps extends Omit<AriaTextFieldProps, 'onChange'> {
|
|
|
99
99
|
*/
|
|
100
100
|
declare const ChatInput: React__default.FC<ChatInputProps>;
|
|
101
101
|
|
|
102
|
+
/**
|
|
103
|
+
* TagInput Component
|
|
104
|
+
*
|
|
105
|
+
* A pill-based input for array values using React Aria's TagGroup.
|
|
106
|
+
* Users can add/remove items as interactive pills instead of comma-separated text.
|
|
107
|
+
*/
|
|
108
|
+
|
|
109
|
+
interface TagInputProps {
|
|
110
|
+
/** Current array of values */
|
|
111
|
+
value: string[];
|
|
112
|
+
/** Callback when values change */
|
|
113
|
+
onChange: (values: string[]) => void;
|
|
114
|
+
/** Field label */
|
|
115
|
+
label: string;
|
|
116
|
+
/** Whether the field is required */
|
|
117
|
+
required?: boolean;
|
|
118
|
+
/** Helper text / description */
|
|
119
|
+
description?: string;
|
|
120
|
+
/** Placeholder for the input */
|
|
121
|
+
placeholder?: string;
|
|
122
|
+
/** Default values to show as hint */
|
|
123
|
+
defaultHint?: string[];
|
|
124
|
+
/** Whether the field is disabled */
|
|
125
|
+
disabled?: boolean;
|
|
126
|
+
/** Error message to display */
|
|
127
|
+
error?: string | null;
|
|
128
|
+
/** Minimum number of items required */
|
|
129
|
+
minItems?: number;
|
|
130
|
+
/** Test ID prefix */
|
|
131
|
+
testId?: string;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* TagInput - A pill-based array input component
|
|
135
|
+
*
|
|
136
|
+
* Features:
|
|
137
|
+
* - Add items by typing and pressing Enter or clicking Add
|
|
138
|
+
* - Remove items by clicking the X on each pill
|
|
139
|
+
* - Visual feedback for selected/hover states
|
|
140
|
+
* - Keyboard accessible
|
|
141
|
+
*/
|
|
142
|
+
declare const TagInput: React__default.FC<TagInputProps>;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* WorkflowLoadingSkeleton Component
|
|
146
|
+
*
|
|
147
|
+
* Shows persistent skeleton during INITIALIZING and PROCESSING phases.
|
|
148
|
+
* Features:
|
|
149
|
+
* - Indeterminate progress bar for INITIALIZING phase
|
|
150
|
+
* - Determinate progress bar for PROCESSING phase (when steps are known)
|
|
151
|
+
* - Current activity message display
|
|
152
|
+
* - Step counter when totalSteps > 0
|
|
153
|
+
* - Divide-by-zero protection for percentage calculation
|
|
154
|
+
* - Minimum display duration (100ms delay) to prevent flash
|
|
155
|
+
*/
|
|
156
|
+
interface WorkflowLoadingSkeletonProps {
|
|
157
|
+
/** Current workflow phase (e.g. "INITIALIZING", "PROCESSING") */
|
|
158
|
+
phase: string;
|
|
159
|
+
/** Progress state with step tracking and percentage */
|
|
160
|
+
progress: {
|
|
161
|
+
currentStep: number;
|
|
162
|
+
totalSteps: number;
|
|
163
|
+
currentActivity: string;
|
|
164
|
+
percentage: number;
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* WorkflowLoadingSkeleton shows a persistent loading state during workflow execution.
|
|
169
|
+
* Adapts visual presentation based on current phase and available progress data.
|
|
170
|
+
*/
|
|
171
|
+
declare function WorkflowLoadingSkeleton({ phase, progress, }: WorkflowLoadingSkeletonProps): react_jsx_runtime.JSX.Element | null;
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* AuthButton Component
|
|
175
|
+
*
|
|
176
|
+
* Button component with primary/secondary variants, loading states, and disabled states
|
|
177
|
+
*/
|
|
178
|
+
|
|
179
|
+
interface AuthButtonProps {
|
|
180
|
+
children: React__default.ReactNode;
|
|
181
|
+
onClick?: () => void;
|
|
182
|
+
type?: "button" | "submit" | "reset";
|
|
183
|
+
variant?: "primary" | "secondary";
|
|
184
|
+
loading?: boolean;
|
|
185
|
+
loadingText?: string;
|
|
186
|
+
disabled?: boolean;
|
|
187
|
+
fullWidth?: boolean;
|
|
188
|
+
icon?: React__default.ReactNode;
|
|
189
|
+
className?: string;
|
|
190
|
+
"data-testid"?: string;
|
|
191
|
+
}
|
|
192
|
+
declare const AuthButton: React__default.FC<AuthButtonProps>;
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* AuthInput Component
|
|
196
|
+
*
|
|
197
|
+
* Reusable input field with validation states and error display
|
|
198
|
+
* Uses react-aria for accessibility and styled-components for styling
|
|
199
|
+
*/
|
|
200
|
+
|
|
201
|
+
interface AuthInputProps {
|
|
202
|
+
label: string;
|
|
203
|
+
name: string;
|
|
204
|
+
type?: "text" | "email" | "tel" | "password";
|
|
205
|
+
value?: string;
|
|
206
|
+
placeholder?: string;
|
|
207
|
+
error?: string;
|
|
208
|
+
required?: boolean;
|
|
209
|
+
disabled?: boolean;
|
|
210
|
+
autoFocus?: boolean;
|
|
211
|
+
autoComplete?: string;
|
|
212
|
+
/** Prevents browser autofill using readonly workaround (for OTP/verification codes) */
|
|
213
|
+
disableAutofill?: boolean;
|
|
214
|
+
/** Maximum number of characters allowed */
|
|
215
|
+
maxLength?: number;
|
|
216
|
+
/** Input mode for mobile keyboard (e.g., "numeric" for number pad) */
|
|
217
|
+
inputMode?: "text" | "numeric" | "tel" | "email" | "decimal";
|
|
218
|
+
className?: string;
|
|
219
|
+
onChange?: (value: string) => void;
|
|
220
|
+
onBlur?: () => void;
|
|
221
|
+
onValidate?: () => void;
|
|
222
|
+
validateOnBlur?: boolean;
|
|
223
|
+
"data-testid"?: string;
|
|
224
|
+
}
|
|
225
|
+
declare const AuthInput: React__default.FC<AuthInputProps>;
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* PasswordInput Component
|
|
229
|
+
*
|
|
230
|
+
* Password input with show/hide toggle icon
|
|
231
|
+
* Inherits from AuthInput with additional password-specific features
|
|
232
|
+
*/
|
|
233
|
+
|
|
234
|
+
interface PasswordInputProps extends Omit<AuthInputProps, "type"> {
|
|
235
|
+
clearOnError?: boolean;
|
|
236
|
+
minLength?: number;
|
|
237
|
+
hintText?: string;
|
|
238
|
+
}
|
|
239
|
+
declare const PasswordInput: React__default.FC<PasswordInputProps>;
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* SuccessToast Component
|
|
243
|
+
*
|
|
244
|
+
* Displays success notifications with auto-dismiss functionality
|
|
245
|
+
* Styled with green colors for positive feedback
|
|
246
|
+
*/
|
|
247
|
+
|
|
248
|
+
interface SuccessToastProps {
|
|
249
|
+
message: string | null;
|
|
250
|
+
onDismiss: () => void;
|
|
251
|
+
autoDismiss?: boolean;
|
|
252
|
+
autoDismissDelay?: number;
|
|
253
|
+
}
|
|
254
|
+
declare const SuccessToast: React__default.FC<SuccessToastProps>;
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* ErrorBanner Component
|
|
258
|
+
*
|
|
259
|
+
* Global connectivity error banner that appears at the top of the viewport
|
|
260
|
+
* Displays when the app is offline and automatically dismisses on reconnect
|
|
261
|
+
*/
|
|
262
|
+
|
|
263
|
+
interface ErrorBannerProps {
|
|
264
|
+
isOnline: boolean;
|
|
265
|
+
message?: string;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* ErrorBanner component displays connectivity errors
|
|
269
|
+
*
|
|
270
|
+
* @param isOnline - Network connectivity status
|
|
271
|
+
* @param message - Optional custom error message (defaults to "No internet connection")
|
|
272
|
+
*/
|
|
273
|
+
declare const ErrorBanner: React__default.FC<ErrorBannerProps>;
|
|
274
|
+
|
|
102
275
|
interface NotificationItem {
|
|
103
276
|
/** Unique identifier for the item */
|
|
104
277
|
id: string;
|
|
@@ -739,4 +912,56 @@ interface TokenUsageCardProps {
|
|
|
739
912
|
}
|
|
740
913
|
declare function TokenUsageCard({ currentUsage, maxLimit, transactions, periodLabel, onViewAll, className, loading, }: TokenUsageCardProps): React__default.ReactElement;
|
|
741
914
|
|
|
742
|
-
|
|
915
|
+
/**
|
|
916
|
+
* useLocalStorage Hook
|
|
917
|
+
*
|
|
918
|
+
* Generic hook for localStorage persistence with type safety
|
|
919
|
+
* Provides state management with automatic localStorage sync
|
|
920
|
+
*/
|
|
921
|
+
/**
|
|
922
|
+
* Custom hook for managing state with localStorage persistence
|
|
923
|
+
* @param key - localStorage key to store the value under
|
|
924
|
+
* @param initialValue - initial value to use if no stored value exists
|
|
925
|
+
* @returns tuple of [value, setValue] similar to useState
|
|
926
|
+
*/
|
|
927
|
+
declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T | ((prev: T) => T)) => void];
|
|
928
|
+
|
|
929
|
+
/**
|
|
930
|
+
* useNetworkStatus Hook - Detects network connectivity changes
|
|
931
|
+
*
|
|
932
|
+
* Uses two detection methods:
|
|
933
|
+
* 1. Browser online/offline events (instant, works on desktop)
|
|
934
|
+
* 2. Ping-based check (fallback for Android WebView where browser events don't fire)
|
|
935
|
+
*
|
|
936
|
+
* @param healthEndpoint - Optional URL to ping for connectivity checks (used in Tauri/WebView environments)
|
|
937
|
+
*/
|
|
938
|
+
declare function useNetworkStatus(healthEndpoint?: string): boolean;
|
|
939
|
+
|
|
940
|
+
/**
|
|
941
|
+
* Hook to detect mobile landscape orientation
|
|
942
|
+
* Returns true when device is in landscape mode with limited height (mobile)
|
|
943
|
+
*/
|
|
944
|
+
declare function useIsLandscape(): boolean;
|
|
945
|
+
|
|
946
|
+
/**
|
|
947
|
+
* Keyboard Detection Hook
|
|
948
|
+
* Implements keyboard visibility detection and height calculation
|
|
949
|
+
* Per spec section 3.3: Keyboard Detection & Override
|
|
950
|
+
*/
|
|
951
|
+
interface KeyboardState {
|
|
952
|
+
isVisible: boolean;
|
|
953
|
+
height: number;
|
|
954
|
+
viewportOffsetTop: number;
|
|
955
|
+
}
|
|
956
|
+
/**
|
|
957
|
+
* Hook to detect virtual keyboard visibility and height on mobile devices
|
|
958
|
+
* Uses Visual Viewport API where available, with fallback methods
|
|
959
|
+
*/
|
|
960
|
+
declare const useKeyboardDetection: () => KeyboardState;
|
|
961
|
+
/**
|
|
962
|
+
* Utility function to check if the device is mobile
|
|
963
|
+
* Checks for touch capability and mobile user agents
|
|
964
|
+
*/
|
|
965
|
+
declare const isMobileDevice: () => boolean;
|
|
966
|
+
|
|
967
|
+
export { type ApprovalStatus, AssistantThinking, type AssistantThinkingProps, AuthButton, type AuthButtonProps, AuthInput, type AuthInputProps, type BillingPeriod, BillingToggle, type BillingToggleProps, CATEGORY_CONFIGS, type CategoryConfig, ChatInput, type ChatInputProps, ConnectionStatusBadge, type ConnectionStatusBadgeProps, DarkNotificationCard, type EngagementOpportunity, type EngagementStatus, ErrorBanner, type ErrorBannerProps, IntegrationCard, type IntegrationCardProps, NotificationCard, type NotificationCardProps, type NotificationItem, type NotificationSection, PLATFORM_CONFIGS, PasswordInput, type PasswordInputProps, type Platform, PlatformCarousel, type PlatformCarouselProps, type PlatformConfig, PlatformGrid, type PlatformGridProps, PostApprovalControls, type PostApprovalControlsProps, PostPreviewCard, type PostPreviewCardProps, type PostViewMode, type ProgressCategory, type ProposedPost, RedditEngagementControls, type RedditEngagementControlsProps, RedditOpportunityCard, type RedditOpportunityCardProps, type ReplyTone, SecretInput, type SecretInputProps, SocialMediaCanvas, type SocialMediaCanvasProps, SuccessToast, type SuccessToastProps, TagInput, type TagInputProps, type TokenTransaction, TokenUsageCard, type TokenUsageCardProps, TrialPlanCard, type TrialPlanCardProps, UserMessage, type UserMessageProps, WorkflowLoadingSkeleton, type WorkflowLoadingSkeletonProps, categorizeProgress, getCategoryColor, getCategoryIcon, getCharacterCount, getCharacterLimitColor, getCharacterLimitPercentage, isMobileDevice, isWithinCharLimit, normalizePlatform, useIsLandscape, useKeyboardDetection, useLocalStorage, useNetworkStatus };
|