@thisispamela/react 1.0.2 → 1.0.4
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/README.md +12 -0
- package/dist/CallButton.d.ts +1 -1
- package/dist/CallButton.d.ts.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.esm.js +5 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -42,6 +42,10 @@ function MyComponent() {
|
|
|
42
42
|
<CallButton
|
|
43
43
|
to="+1234567890"
|
|
44
44
|
task="Schedule a meeting for next week"
|
|
45
|
+
max_duration_seconds={299}
|
|
46
|
+
voice="female"
|
|
47
|
+
agent_name="Pamela"
|
|
48
|
+
caller_name="John from Acme"
|
|
45
49
|
onCallStart={(id) => setCallId(id)}
|
|
46
50
|
onCallComplete={(call) => console.log('Call completed:', call)}
|
|
47
51
|
>
|
|
@@ -72,6 +76,10 @@ A button component that initiates a call when clicked.
|
|
|
72
76
|
country="US"
|
|
73
77
|
locale="en-US"
|
|
74
78
|
instructions="Be professional and concise"
|
|
79
|
+
max_duration_seconds={299}
|
|
80
|
+
voice="female"
|
|
81
|
+
agent_name="Pamela"
|
|
82
|
+
caller_name="John from Acme"
|
|
75
83
|
metadata={{ customer_id: "12345" }}
|
|
76
84
|
variant="primary"
|
|
77
85
|
size="md"
|
|
@@ -93,6 +101,10 @@ A button component that initiates a call when clicked.
|
|
|
93
101
|
- `country`: ISO country code (optional)
|
|
94
102
|
- `locale`: Locale string (optional, e.g., "en-US")
|
|
95
103
|
- `instructions`: Additional instructions (optional)
|
|
104
|
+
- `max_duration_seconds`: Maximum call duration in seconds (optional)
|
|
105
|
+
- `voice`: Voice preference `"male" | "female" | "auto"` (optional)
|
|
106
|
+
- `agent_name`: Agent name override (optional)
|
|
107
|
+
- `caller_name`: Name of who the agent is calling on behalf of (optional)
|
|
96
108
|
- `metadata`: Custom metadata object (optional)
|
|
97
109
|
- `variant`: Button style - `"primary"` | `"secondary"` | `"danger"` (default: `"primary"`)
|
|
98
110
|
- `size`: Button size - `"sm"` | `"md"` | `"lg"` (default: `"md"`)
|
package/dist/CallButton.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { CallButtonProps } from './types';
|
|
3
|
-
export declare function CallButton({ to, task, country, locale, instructions, end_user_id, metadata, tools, webhooks, onCallStart, onCallComplete, onError, variant, size, pollInterval, pollTimeout, disabled, className, children, }: CallButtonProps): React.JSX.Element;
|
|
3
|
+
export declare function CallButton({ to, task, country, locale, instructions, max_duration_seconds, voice, agent_name, caller_name, end_user_id, metadata, tools, webhooks, onCallStart, onCallComplete, onError, variant, size, pollInterval, pollTimeout, disabled, className, children, }: CallButtonProps): React.JSX.Element;
|
|
4
4
|
//# sourceMappingURL=CallButton.d.ts.map
|
package/dist/CallButton.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallButton.d.ts","sourceRoot":"","sources":["../src/CallButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,IAAI,EACJ,OAAO,EACP,MAAM,EACN,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,OAAmB,EACnB,IAAW,EACX,YAAmB,EACnB,WAA2B,EAC3B,QAAgB,EAChB,SAAc,EACd,QAAQ,GACT,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"CallButton.d.ts","sourceRoot":"","sources":["../src/CallButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,IAAI,EACJ,OAAO,EACP,MAAM,EACN,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,OAAmB,EACnB,IAAW,EACX,YAAmB,EACnB,WAA2B,EAC3B,QAAgB,EAChB,SAAc,EACd,QAAQ,GACT,EAAE,eAAe,qBAyHjB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,10 @@ interface CallButtonProps {
|
|
|
11
11
|
country?: string;
|
|
12
12
|
locale?: string;
|
|
13
13
|
instructions?: string;
|
|
14
|
+
max_duration_seconds?: number;
|
|
15
|
+
voice?: CreateCallRequest['voice'];
|
|
16
|
+
agent_name?: string;
|
|
17
|
+
caller_name?: string;
|
|
14
18
|
end_user_id?: string;
|
|
15
19
|
metadata?: Record<string, any>;
|
|
16
20
|
tools?: CreateCallRequest["tools"];
|
|
@@ -66,7 +70,7 @@ interface PamelaProviderProps {
|
|
|
66
70
|
declare function PamelaProvider({ config, children }: PamelaProviderProps): React.JSX.Element;
|
|
67
71
|
declare function usePamela(): PamelaContextValue;
|
|
68
72
|
|
|
69
|
-
declare function CallButton({ to, task, country, locale, instructions, end_user_id, metadata, tools, webhooks, onCallStart, onCallComplete, onError, variant, size, pollInterval, pollTimeout, disabled, className, children, }: CallButtonProps): React.JSX.Element;
|
|
73
|
+
declare function CallButton({ to, task, country, locale, instructions, max_duration_seconds, voice, agent_name, caller_name, end_user_id, metadata, tools, webhooks, onCallStart, onCallComplete, onError, variant, size, pollInterval, pollTimeout, disabled, className, children, }: CallButtonProps): React.JSX.Element;
|
|
70
74
|
|
|
71
75
|
declare function CallStatus({ callId, pollInterval, onStatusChange, showTranscript, showSummary, compact, className, }: CallStatusProps): React.JSX.Element;
|
|
72
76
|
|
package/dist/index.esm.js
CHANGED
|
@@ -47,7 +47,7 @@ function usePamela() {
|
|
|
47
47
|
return context;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
function CallButton({ to, task, country, locale, instructions, end_user_id, metadata, tools, webhooks, onCallStart, onCallComplete, onError, variant = 'primary', size = 'md', pollInterval = 2000, pollTimeout = 5 * 60 * 1000, disabled = false, className = '', children, }) {
|
|
50
|
+
function CallButton({ to, task, country, locale, instructions, max_duration_seconds, voice, agent_name, caller_name, end_user_id, metadata, tools, webhooks, onCallStart, onCallComplete, onError, variant = 'primary', size = 'md', pollInterval = 2000, pollTimeout = 5 * 60 * 1000, disabled = false, className = '', children, }) {
|
|
51
51
|
const { client } = usePamela();
|
|
52
52
|
const [loading, setLoading] = useState(false);
|
|
53
53
|
const [callId, setCallId] = useState(null);
|
|
@@ -86,6 +86,10 @@ function CallButton({ to, task, country, locale, instructions, end_user_id, meta
|
|
|
86
86
|
country,
|
|
87
87
|
locale,
|
|
88
88
|
instructions,
|
|
89
|
+
max_duration_seconds,
|
|
90
|
+
voice,
|
|
91
|
+
agent_name,
|
|
92
|
+
caller_name,
|
|
89
93
|
end_user_id,
|
|
90
94
|
metadata,
|
|
91
95
|
tools,
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/PamelaProvider.tsx","../src/CallButton.tsx","../src/TranscriptViewer.tsx","../src/CallStatus.tsx","../src/CallHistory.tsx","../src/VoiceOrb.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React, { createContext, useContext, ReactNode, useMemo } from 'react';\nimport { PamelaClient, PamelaClientConfig } from '@thisispamela/sdk';\nimport { PamelaConfig } from './types';\n\ninterface PamelaContextValue {\n client: PamelaClient;\n}\n\nconst PamelaContext = createContext<PamelaContextValue | null>(null);\n\nexport interface PamelaProviderProps {\n config: PamelaConfig;\n children: ReactNode;\n}\n\nexport function PamelaProvider({ config, children }: PamelaProviderProps) {\n const client = useMemo(\n () =>\n new PamelaClient({\n apiKey: config.apiKey,\n baseUrl: config.baseUrl,\n }),\n [config.apiKey, config.baseUrl]\n );\n\n return (\n <PamelaContext.Provider value={{ client }}>\n {children}\n </PamelaContext.Provider>\n );\n}\n\nexport function usePamela(): PamelaContextValue {\n const context = useContext(PamelaContext);\n if (!context) {\n throw new Error('usePamela must be used within a PamelaProvider');\n }\n return context;\n}\n\n","import React, { useState, useRef, useEffect } from 'react';\nimport { usePamela } from './PamelaProvider';\nimport { CallButtonProps } from './types';\n\nexport function CallButton({\n to,\n task,\n country,\n locale,\n instructions,\n end_user_id,\n metadata,\n tools,\n webhooks,\n onCallStart,\n onCallComplete,\n onError,\n variant = 'primary',\n size = 'md',\n pollInterval = 2000,\n pollTimeout = 5 * 60 * 1000,\n disabled = false,\n className = '',\n children,\n}: CallButtonProps) {\n const { client } = usePamela();\n const [loading, setLoading] = useState(false);\n const [callId, setCallId] = useState<string | null>(null);\n const pollIntervalRef = useRef<NodeJS.Timeout | null>(null);\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n };\n }, []);\n\n const handleClick = async () => {\n if (loading || disabled) return;\n\n // Clear any existing intervals/timeouts\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n\n setLoading(true);\n try {\n const call = await client.createCall({\n to,\n task,\n country,\n locale,\n instructions,\n end_user_id,\n metadata,\n tools,\n webhooks,\n });\n\n setCallId(call.id);\n onCallStart?.(call.id);\n\n // Poll for call completion\n pollIntervalRef.current = setInterval(async () => {\n try {\n const status = await client.getCall(call.id);\n if (status.status === 'completed' || status.status === 'failed' || status.status === 'cancelled') {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n setLoading(false);\n onCallComplete?.(status);\n }\n } catch (error) {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n setLoading(false);\n onError?.(error as Error);\n }\n }, pollInterval);\n\n // Timeout after 5 minutes\n timeoutRef.current = setTimeout(() => {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n setLoading(false);\n }, pollTimeout);\n } catch (error) {\n setLoading(false);\n onError?.(error as Error);\n }\n };\n\n const variantClass =\n variant === 'secondary'\n ? 'pamela-call-button--secondary'\n : variant === 'danger'\n ? 'pamela-call-button--danger'\n : 'pamela-call-button--primary';\n const sizeClass =\n size === 'sm'\n ? 'pamela-call-button--sm'\n : size === 'lg'\n ? 'pamela-call-button--lg'\n : 'pamela-call-button--md';\n\n return (\n <button\n onClick={handleClick}\n disabled={loading || disabled}\n className={`pamela-call-button ${variantClass} ${sizeClass} ${className}`}\n >\n {loading ? 'Calling...' : children || 'Call Now'}\n </button>\n );\n}\n\n","import React, { useEffect, useRef } from 'react';\nimport { TranscriptViewerProps } from './types';\n\nexport function TranscriptViewer({\n transcript,\n maxHeight = 400,\n autoScroll = true,\n className = '',\n}: TranscriptViewerProps) {\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (!autoScroll || !containerRef.current) return;\n containerRef.current.scrollTop = containerRef.current.scrollHeight;\n }, [autoScroll, transcript]);\n\n const getMessageStyle = (speaker: string) => {\n if (speaker === 'pamela' || speaker === 'agent') {\n // Pamela messages: white background with beige border\n return {\n backgroundColor: 'var(--bubble-pamela, #ffffff)',\n border: '1px solid var(--bubble-border, rgba(231, 171, 132, 0.3))',\n color: 'var(--text-primary, #1f2937)',\n className: 'pamela-transcript-bubble pamela-transcript-bubble--pamela',\n };\n } else if (speaker === 'user' || speaker === 'caller') {\n // User messages: orange background\n return {\n backgroundColor: 'var(--bubble-user, #FA931C)',\n border: 'none',\n color: '#ffffff',\n className: 'pamela-transcript-bubble pamela-transcript-bubble--user',\n };\n } else {\n // Call recipient: blue background\n return {\n backgroundColor: 'var(--bubble-recipient, #4b4bea)',\n border: 'none',\n color: '#ffffff',\n className: 'pamela-transcript-bubble pamela-transcript-bubble--recipient',\n };\n }\n };\n\n return (\n <div\n className={`pamela-transcript-viewer ${className}`}\n style={{\n fontFamily: 'Poppins, Inter, -apple-system, BlinkMacSystemFont, sans-serif',\n }}\n >\n <h3\n style={{\n marginBottom: '16px',\n fontSize: '18px',\n fontWeight: '600',\n color: 'var(--text-primary, #1f2937)',\n }}\n >\n Transcript\n </h3>\n <div\n className=\"pamela-transcript-container\"\n style={{\n maxHeight: typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n overflowY: 'auto',\n borderRadius: 'var(--radius-sm, 0.5rem)',\n padding: '16px',\n background: 'var(--surface, #F7F4ED)',\n }}\n ref={containerRef}\n >\n {transcript.map((entry, index) => {\n const style = getMessageStyle(entry.speaker);\n const { className: bubbleClassName, ...bubbleStyle } = style;\n return (\n <div\n key={index}\n className={bubbleClassName}\n style={{\n marginBottom: '12px',\n ...bubbleStyle,\n borderRadius: 'var(--radius-md, 0.75rem)',\n maxWidth: '75%',\n marginLeft: entry.speaker === 'pamela' || entry.speaker === 'agent' ? '0' : 'auto',\n marginRight: entry.speaker === 'pamela' || entry.speaker === 'agent' ? 'auto' : '0',\n }}\n >\n <div\n style={{\n fontSize: '12px',\n fontWeight: '600',\n color: style.color === '#ffffff' ? 'rgba(255, 255, 255, 0.9)' : 'var(--text-muted, #6b7280)',\n marginBottom: '6px',\n textTransform: 'capitalize',\n }}\n >\n {entry.speaker === 'pamela' || entry.speaker === 'agent'\n ? 'Pamela'\n : entry.speaker === 'user' || entry.speaker === 'caller'\n ? 'You'\n : 'Call Recipient'}\n </div>\n <div\n style={{\n fontSize: '14px',\n lineHeight: '1.6',\n color: style.color,\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n }}\n >\n {entry.text}\n </div>\n {entry.timestamp && (\n <div\n style={{\n fontSize: '11px',\n color: style.color === '#ffffff' ? 'rgba(255, 255, 255, 0.7)' : 'var(--text-muted, #9ca3af)',\n marginTop: '6px',\n }}\n >\n {new Date(entry.timestamp).toLocaleTimeString()}\n </div>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\n","import React, { useState, useEffect } from 'react';\nimport { usePamela } from './PamelaProvider';\nimport { CallStatusProps } from './types';\nimport { CallStatus as CallStatusType } from '@thisispamela/sdk';\nimport { TranscriptViewer } from './TranscriptViewer';\n\n// Status indicator component matching your 3-color system\nfunction StatusIndicator({ status }: { status: string }) {\n const getStatusConfig = () => {\n switch (status) {\n case 'queued':\n case 'initiating':\n return {\n dots: [\n { color: 'var(--status-warning, #eab308)', pulse: true },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n ],\n text: 'Queued...',\n textColor: 'var(--status-warning, #eab308)',\n };\n case 'ringing':\n return {\n dots: [\n { color: 'var(--status-success, #10b981)', pulse: true },\n { color: 'var(--status-warning, #eab308)', pulse: true },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n ],\n text: 'Ringing...',\n textColor: 'var(--status-warning, #eab308)',\n };\n case 'in_progress':\n case 'in-progress':\n return {\n dots: [\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: true },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n ],\n text: 'In progress',\n textColor: 'var(--status-success, #10b981)',\n };\n case 'completed':\n return {\n dots: [\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false, icon: true },\n ],\n text: 'Completed',\n textColor: 'var(--status-success, #10b981)',\n };\n case 'failed':\n return {\n dots: [],\n text: 'Failed',\n textColor: 'var(--status-error, #ef4444)',\n };\n case 'cancelled':\n return {\n dots: [],\n text: 'Cancelled',\n textColor: 'var(--status-error, #ef4444)',\n };\n default:\n return {\n dots: [],\n text: status,\n textColor: '#6b7280', // gray-500\n };\n }\n };\n\n const config = getStatusConfig();\n\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: '6px' }}>\n {config.dots.length > 0 && (\n <div style={{ display: 'flex', alignItems: 'center', gap: '4px' }}>\n {config.dots.map((dot, idx) => (\n <div key={idx}>\n {dot.icon ? (\n <svg\n style={{ width: '12px', height: '12px', color: dot.color }}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n ) : (\n <div\n style={{\n width: '8px',\n height: '8px',\n borderRadius: '50%',\n backgroundColor: dot.color,\n animation: dot.pulse ? 'pamela-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite' : 'none',\n }}\n />\n )}\n </div>\n ))}\n </div>\n )}\n <span\n style={{\n fontSize: '12px',\n fontWeight: '500',\n color: config.textColor,\n fontStyle: 'italic',\n fontFamily: 'Poppins, Inter, sans-serif',\n }}\n >\n {config.text}\n </span>\n </div>\n );\n}\n\nexport function CallStatus({\n callId,\n pollInterval = 5000,\n onStatusChange,\n showTranscript = true,\n showSummary = true,\n compact = false,\n className = '',\n}: CallStatusProps) {\n const { client } = usePamela();\n const [status, setStatus] = useState<CallStatusType | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n if (!callId) return;\n\n const fetchStatus = async () => {\n try {\n const callStatus = await client.getCall(callId);\n setStatus(callStatus);\n setLoading(false);\n onStatusChange?.(callStatus);\n } catch (err) {\n setError(err as Error);\n setLoading(false);\n }\n };\n\n fetchStatus();\n\n const interval = setInterval(fetchStatus, pollInterval);\n return () => clearInterval(interval);\n }, [callId, pollInterval, client, onStatusChange]);\n\n if (loading) {\n return (\n <div className={`pamela-call-status ${className}`}>\n <div style={{ color: 'var(--text-muted, #6b7280)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Loading call status...\n </div>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className={`pamela-call-status ${className}`}>\n <div style={{ color: 'var(--status-error, #ef4444)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Error: {error.message}\n </div>\n </div>\n );\n }\n\n if (!status) {\n return (\n <div className={`pamela-call-status ${className}`}>\n <div style={{ color: 'var(--text-muted, #6b7280)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Call not found\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`pamela-call-status ${className}`}\n style={{\n fontFamily: 'Poppins, Inter, -apple-system, BlinkMacSystemFont, sans-serif',\n }}\n >\n <div\n style={{\n marginBottom: compact ? '8px' : '16px',\n padding: compact ? '12px' : '16px',\n background: 'var(--surface-liquid-strong, #ffffff)',\n borderRadius: 'var(--radius-md, 0.75rem)',\n border: '1px solid var(--surface-border-strong, rgba(231, 171, 132, 0.3))',\n boxShadow: 'var(--shadow-soft, 0 1px 3px rgba(0, 0, 0, 0.1))',\n }}\n >\n <div style={{ marginBottom: '12px' }}>\n <StatusIndicator status={status.status} />\n </div>\n <div style={{ fontSize: compact ? '12px' : '14px', color: 'var(--text-primary, #1f2937)', lineHeight: '1.6' }}>\n <div style={{ marginBottom: compact ? '6px' : '8px' }}>\n <span style={{ fontWeight: '600', color: 'var(--text-secondary, #6b7280)' }}>To:</span>{' '}\n <span style={{ color: 'var(--text-primary, #1f2937)' }}>{status.to}</span>\n </div>\n <div style={{ marginBottom: compact ? '6px' : '8px' }}>\n <span style={{ fontWeight: '600', color: 'var(--text-secondary, #6b7280)' }}>From:</span>{' '}\n <span style={{ color: 'var(--text-primary, #1f2937)' }}>{status.from_}</span>\n </div>\n {status.duration_seconds && !compact && (\n <div style={{ marginBottom: '8px' }}>\n <span style={{ fontWeight: '600', color: 'var(--text-secondary, #6b7280)' }}>Duration:</span>{' '}\n <span style={{ color: 'var(--text-primary, #1f2937)' }}>{status.duration_seconds}s</span>\n </div>\n )}\n </div>\n {showSummary && status.summary && (\n <div\n style={{\n marginTop: compact ? '12px' : '16px',\n padding: compact ? '12px' : '16px',\n background: 'var(--cta-bg, linear-gradient(to right, rgba(250, 147, 28, 0.1), rgba(253, 139, 116, 0.1)))',\n border: 'var(--cta-border, 1px solid rgba(250, 147, 28, 0.3))',\n borderRadius: 'var(--radius-md, 0.75rem)',\n }}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n marginBottom: compact ? '6px' : '8px',\n }}\n >\n <svg\n style={{ width: '20px', height: '20px', color: 'var(--accent, #FA931C)' }}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n />\n </svg>\n <h4 style={{ fontWeight: '600', color: 'var(--text-primary, #1f2937)', fontSize: compact ? '12px' : '14px' }}>\n Call Summary\n </h4>\n </div>\n <p style={{ fontSize: compact ? '12px' : '14px', color: 'var(--text-primary, #1f2937)', lineHeight: '1.6' }}>\n {status.summary}\n </p>\n </div>\n )}\n </div>\n {showTranscript && status.transcript && status.transcript.length > 0 && (\n <TranscriptViewer transcript={status.transcript as Array<{ speaker: string; text: string; timestamp: string }>} />\n )}\n </div>\n );\n}\n\n","import React, { useState, useEffect } from 'react';\nimport { usePamela } from './PamelaProvider';\nimport { CallHistoryProps } from './types';\nimport { CallStatus } from '@thisispamela/sdk';\n\nexport function CallHistory({\n limit = 10,\n onCallSelect,\n className = '',\n}: CallHistoryProps) {\n const { client } = usePamela();\n const [calls, setCalls] = useState<CallStatus[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n let isMounted = true;\n const fetchCalls = async () => {\n try {\n const response = await client.listCalls({ limit });\n if (!isMounted) {\n return;\n }\n setCalls(response.items || []);\n setLoading(false);\n } catch (err) {\n if (!isMounted) {\n return;\n }\n setError(err as Error);\n setLoading(false);\n }\n };\n\n fetchCalls();\n\n return () => {\n isMounted = false;\n };\n }, [client, limit]);\n\n if (loading) {\n return (\n <div className={`pamela-call-history ${className}`}>\n <div style={{ color: 'var(--text-muted, #6b7280)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Loading call history...\n </div>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className={`pamela-call-history ${className}`}>\n <div style={{ color: 'var(--status-error, #ef4444)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Error: {error.message}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`pamela-call-history ${className}`}\n style={{\n fontFamily: 'Poppins, Inter, -apple-system, BlinkMacSystemFont, sans-serif',\n }}\n >\n <h3\n style={{\n marginBottom: '16px',\n fontSize: '18px',\n fontWeight: '600',\n color: 'var(--text-primary, #1f2937)',\n }}\n >\n Call History\n </h3>\n {calls.length === 0 ? (\n <div style={{ color: 'var(--text-muted, #6b7280)', fontSize: '14px' }}>No calls yet</div>\n ) : (\n <div>\n {calls.map((call) => (\n <div\n key={call.id}\n onClick={() => onCallSelect?.(call.id)}\n style={{\n padding: '12px',\n marginBottom: '8px',\n border: '1px solid var(--surface-border-strong, rgba(231, 171, 132, 0.3))',\n borderRadius: 'var(--radius-sm, 0.5rem)',\n cursor: onCallSelect ? 'pointer' : 'default',\n background: 'var(--surface-liquid-strong, #ffffff)',\n transition: 'background-color 0.2s',\n ...(onCallSelect && {\n ':hover': {\n backgroundColor: 'var(--surface, #F7F4ED)',\n },\n }),\n }}\n onMouseEnter={(e) => {\n if (onCallSelect) {\n e.currentTarget.style.backgroundColor = 'var(--surface, #F7F4ED)';\n }\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'var(--surface-liquid-strong, #ffffff)';\n }}\n >\n <div style={{ fontWeight: '600', color: 'var(--text-primary, #1f2937)', marginBottom: '4px' }}>\n {call.to}\n </div>\n <div style={{ fontSize: '14px', color: 'var(--text-secondary, #6b7280)' }}>\n {call.status} • {new Date(call.created_at).toLocaleString()}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { VoiceOrbProps } from './types';\n\nconst sizeMap: Record<'small' | 'medium' | 'large', string> = {\n small: 'var(--pamela-orb-size-small, 96px)',\n medium: 'var(--pamela-orb-size-medium, 128px)',\n large: 'var(--pamela-orb-size-large, 192px)',\n};\n\nexport function VoiceOrb({ isActive = false, size = 'large', className = '' }: VoiceOrbProps) {\n const [pulsePhase, setPulsePhase] = useState(0);\n const [idlePhase, setIdlePhase] = useState(Math.floor(Math.random() * 720)); // Random initial phase to avoid sync\n\n // Continuous animation for idle mode - runs once on mount\n // Remove modulo to allow continuous rotation (can go beyond 360 degrees for seamless loop)\n useEffect(() => {\n const interval = setInterval(() => {\n setIdlePhase(prev => prev + 1); // Continuous growth - no reset for fluid animation\n }, 16); // ~60fps\n\n return () => clearInterval(interval);\n }, []); // Empty deps - only run once\n\n // Fast animation for active mode\n useEffect(() => {\n if (!isActive) return;\n \n const interval = setInterval(() => {\n setPulsePhase(prev => (prev + 1) % 360);\n }, 16); // ~60fps\n\n return () => clearInterval(interval);\n }, [isActive]);\n\n const orbSize = sizeMap[size];\n\n // Multiple breathing layers for idle mode (more organic) - reduced by 10%\n const baseTime = idlePhase * 0.05;\n const idleBreath1 = Math.sin(baseTime) * 0.072; // 7.2% primary breath (was 8%)\n const idleBreath2 = Math.sin(baseTime * 1.3) * 0.045; // 4.5% secondary breath (was 5%)\n const idleBreath3 = Math.sin(baseTime * 0.7) * 0.027; // 2.7% tertiary breath (was 3%)\n \n // Calculate pulse scale - multi-layer breathing when idle, faster pulse when active - reduced by 10%\n const pulseScale = isActive \n ? 1 + Math.sin((pulsePhase * Math.PI) / 180) * 0.135 // 13.5% pulse variation (was 15%)\n : 1 + idleBreath1 + idleBreath2 + idleBreath3; // Layered breathing when idle\n\n // Floating/levitation effect (idle only) - reduced by 10%\n const floatY = isActive ? 0 : Math.sin(baseTime * 0.4) * 7.2; // 7.2px float movement (was 8px)\n\n // Continuous gradient rotation - slower when idle, faster when active\n const gradientRotation = isActive \n ? pulsePhase * 0.5 \n : idlePhase * 0.15; // Slow, continuous rotation when idle\n\n // Subtle color shift for idle mode - reduced by 10%\n const colorShift = isActive ? 0 : Math.sin(baseTime * 0.3) * 9; // 9deg color shift (was 10deg)\n\n const orbSizeStyle: React.CSSProperties = {\n width: orbSize,\n height: orbSize,\n };\n\n return (\n <div \n className={className}\n style={{\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transform: `translateY(${floatY}px)`,\n transition: isActive ? 'transform 0.3s ease-out' : 'none',\n }}\n >\n {/* Outer glow ring - animated - reduced opacity by 10% */}\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n filter: 'blur(24px)', // blur-xl\n background: `radial-gradient(circle, \n hsla(${25 + colorShift}, 75%, 55%, 0.54), \n hsla(${11 + colorShift}, 97%, 72%, 0.54))`,\n transform: `scale(${pulseScale * 1.125})`,\n opacity: isActive ? 0.315 : 0.225,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n \n {/* Middle glow ring - slightly different timing - reduced opacity by 10% */}\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n filter: 'blur(16px)', // blur-lg\n background: `radial-gradient(circle, \n hsla(${25 + colorShift * 0.7}, 75%, 55%, 0.45), \n hsla(${11 + colorShift * 0.7}, 97%, 72%, 0.45))`,\n transform: `scale(${pulseScale * 1.035}) rotate(${gradientRotation * 0.3}deg)`,\n opacity: isActive ? 0.405 : 0.315,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n\n {/* Additional subtle glow layer for depth (idle only) - reduced by 10% */}\n {!isActive && (\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n filter: 'blur(40px)', // blur-2xl\n background: `radial-gradient(circle, \n hsla(${25 + colorShift * 0.5}, 70%, 50%, 0.27), \n hsla(${11 + colorShift * 0.5}, 97%, 72%, 0.27))`,\n transform: `scale(${(1 + idleBreath1) * 1.26})`,\n opacity: 0.18,\n }}\n />\n )}\n \n {/* Main orb */}\n <div\n style={{\n ...orbSizeStyle,\n position: 'relative',\n borderRadius: '50%',\n background: `linear-gradient(${gradientRotation + colorShift}deg, \n hsl(${25 + colorShift}, 75%, 55%), \n hsl(${11 + colorShift}, 97%, 72%), \n hsl(${25 + colorShift}, 75%, 55%))`,\n backgroundSize: '200% 200%',\n transform: `scale(${pulseScale}) rotate(${gradientRotation * 0.1}deg)`,\n boxShadow: isActive \n ? '0 0 54px rgba(250,147,28,0.45), 0 0 90px rgba(253,139,116,0.27), inset 0 0 36px rgba(255,255,255,0.09)'\n : `0 0 72px hsla(${25 + colorShift}, 60%, 50%, 0.36), \n 0 0 108px hsla(${11 + colorShift}, 97%, 72%, 0.225), \n inset 0 0 45px rgba(255,255,255,0.135)`,\n transition: 'box-shadow 0.3s ease-out',\n }}\n >\n {/* Inner highlight - moving slightly - reduced opacity by 10% */}\n <div\n style={{\n position: 'absolute',\n inset: 0,\n borderRadius: '50%',\n background: `radial-gradient(circle at ${30 + Math.sin(baseTime * 0.2) * 5}% ${30 + Math.cos(baseTime * 0.2) * 5}%, \n rgba(255,255,255,${isActive ? 0.36 : 0.315}), transparent 60%)`,\n opacity: isActive ? 0.54 : 0.63,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n \n {/* Shimmer effect - always on, but more subtle when idle - reduced by 10% */}\n <div\n style={{\n position: 'absolute',\n inset: 0,\n borderRadius: '50%',\n background: `linear-gradient(${45 + gradientRotation * 0.2}deg, \n transparent 30%, \n rgba(255,255,255,${isActive ? 0.45 : 0.225}) 50%, \n transparent 70%)`,\n animation: isActive ? 'shimmer 3s infinite' : 'shimmer 6s infinite',\n opacity: isActive ? 0.27 : 0.18,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n\n {/* Inner glow particles (idle only) - reduced opacity by 10% */}\n {!isActive && (\n <>\n <div\n style={{\n position: 'absolute',\n borderRadius: '50%',\n backgroundColor: 'white',\n width: '8px',\n height: '8px',\n top: `${25 + Math.sin(baseTime * 0.5) * 15}%`,\n left: `${35 + Math.cos(baseTime * 0.5) * 15}%`,\n opacity: 0.36 + Math.sin(baseTime * 0.8) * 0.18,\n filter: 'blur(2px)',\n transform: `scale(${0.8 + Math.sin(baseTime * 1.2) * 0.36})`,\n }}\n />\n <div\n style={{\n position: 'absolute',\n borderRadius: '50%',\n backgroundColor: 'white',\n width: '6px',\n height: '6px',\n top: `${60 + Math.sin(baseTime * 0.7 + 2) * 12}%`,\n left: `${65 + Math.cos(baseTime * 0.7 + 2) * 12}%`,\n opacity: 0.27 + Math.sin(baseTime * 0.9) * 0.135,\n filter: 'blur(1.5px)',\n transform: `scale(${0.7 + Math.sin(baseTime * 1.4) * 0.27})`,\n }}\n />\n </>\n )}\n </div>\n\n {/* Audio wave rings when active */}\n {isActive && (\n <>\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '2px solid #FA931C',\n opacity: 0,\n animation: 'ripple 2s infinite ease-in-out',\n animationDelay: '0s',\n }}\n />\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '2px solid #fd8b74',\n opacity: 0,\n animation: 'ripple 2s infinite ease-in-out',\n animationDelay: '0.7s',\n }}\n />\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '2px solid #FA931C',\n opacity: 0,\n animation: 'ripple 2s infinite ease-in-out',\n animationDelay: '1.4s',\n }}\n />\n </>\n )}\n\n {/* Subtle idle ripples - very gentle - reduced opacity by 10% */}\n {!isActive && (\n <>\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '1px solid #FA931C',\n opacity: 0.135 + Math.sin(baseTime * 0.25) * 0.045,\n transform: `scale(${1 + Math.sin(baseTime * 0.25) * 0.27})`,\n animation: 'ripple 8s infinite ease-in-out',\n animationDelay: '0s',\n }}\n />\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '1px solid #fd8b74',\n opacity: 0.09 + Math.sin(baseTime * 0.25 + 3) * 0.027,\n transform: `scale(${1 + Math.sin(baseTime * 0.25 + 3) * 0.225})`,\n animation: 'ripple 8s infinite ease-in-out',\n animationDelay: '2.5s',\n }}\n />\n </>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/PamelaProvider.tsx","../src/CallButton.tsx","../src/TranscriptViewer.tsx","../src/CallStatus.tsx","../src/CallHistory.tsx","../src/VoiceOrb.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React, { createContext, useContext, ReactNode, useMemo } from 'react';\nimport { PamelaClient, PamelaClientConfig } from '@thisispamela/sdk';\nimport { PamelaConfig } from './types';\n\ninterface PamelaContextValue {\n client: PamelaClient;\n}\n\nconst PamelaContext = createContext<PamelaContextValue | null>(null);\n\nexport interface PamelaProviderProps {\n config: PamelaConfig;\n children: ReactNode;\n}\n\nexport function PamelaProvider({ config, children }: PamelaProviderProps) {\n const client = useMemo(\n () =>\n new PamelaClient({\n apiKey: config.apiKey,\n baseUrl: config.baseUrl,\n }),\n [config.apiKey, config.baseUrl]\n );\n\n return (\n <PamelaContext.Provider value={{ client }}>\n {children}\n </PamelaContext.Provider>\n );\n}\n\nexport function usePamela(): PamelaContextValue {\n const context = useContext(PamelaContext);\n if (!context) {\n throw new Error('usePamela must be used within a PamelaProvider');\n }\n return context;\n}\n\n","import React, { useState, useRef, useEffect } from 'react';\nimport { usePamela } from './PamelaProvider';\nimport { CallButtonProps } from './types';\n\nexport function CallButton({\n to,\n task,\n country,\n locale,\n instructions,\n max_duration_seconds,\n voice,\n agent_name,\n caller_name,\n end_user_id,\n metadata,\n tools,\n webhooks,\n onCallStart,\n onCallComplete,\n onError,\n variant = 'primary',\n size = 'md',\n pollInterval = 2000,\n pollTimeout = 5 * 60 * 1000,\n disabled = false,\n className = '',\n children,\n}: CallButtonProps) {\n const { client } = usePamela();\n const [loading, setLoading] = useState(false);\n const [callId, setCallId] = useState<string | null>(null);\n const pollIntervalRef = useRef<NodeJS.Timeout | null>(null);\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n };\n }, []);\n\n const handleClick = async () => {\n if (loading || disabled) return;\n\n // Clear any existing intervals/timeouts\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n\n setLoading(true);\n try {\n const call = await client.createCall({\n to,\n task,\n country,\n locale,\n instructions,\n max_duration_seconds,\n voice,\n agent_name,\n caller_name,\n end_user_id,\n metadata,\n tools,\n webhooks,\n });\n\n setCallId(call.id);\n onCallStart?.(call.id);\n\n // Poll for call completion\n pollIntervalRef.current = setInterval(async () => {\n try {\n const status = await client.getCall(call.id);\n if (status.status === 'completed' || status.status === 'failed' || status.status === 'cancelled') {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n setLoading(false);\n onCallComplete?.(status);\n }\n } catch (error) {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n setLoading(false);\n onError?.(error as Error);\n }\n }, pollInterval);\n\n // Timeout after 5 minutes\n timeoutRef.current = setTimeout(() => {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n setLoading(false);\n }, pollTimeout);\n } catch (error) {\n setLoading(false);\n onError?.(error as Error);\n }\n };\n\n const variantClass =\n variant === 'secondary'\n ? 'pamela-call-button--secondary'\n : variant === 'danger'\n ? 'pamela-call-button--danger'\n : 'pamela-call-button--primary';\n const sizeClass =\n size === 'sm'\n ? 'pamela-call-button--sm'\n : size === 'lg'\n ? 'pamela-call-button--lg'\n : 'pamela-call-button--md';\n\n return (\n <button\n onClick={handleClick}\n disabled={loading || disabled}\n className={`pamela-call-button ${variantClass} ${sizeClass} ${className}`}\n >\n {loading ? 'Calling...' : children || 'Call Now'}\n </button>\n );\n}\n\n","import React, { useEffect, useRef } from 'react';\nimport { TranscriptViewerProps } from './types';\n\nexport function TranscriptViewer({\n transcript,\n maxHeight = 400,\n autoScroll = true,\n className = '',\n}: TranscriptViewerProps) {\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (!autoScroll || !containerRef.current) return;\n containerRef.current.scrollTop = containerRef.current.scrollHeight;\n }, [autoScroll, transcript]);\n\n const getMessageStyle = (speaker: string) => {\n if (speaker === 'pamela' || speaker === 'agent') {\n // Pamela messages: white background with beige border\n return {\n backgroundColor: 'var(--bubble-pamela, #ffffff)',\n border: '1px solid var(--bubble-border, rgba(231, 171, 132, 0.3))',\n color: 'var(--text-primary, #1f2937)',\n className: 'pamela-transcript-bubble pamela-transcript-bubble--pamela',\n };\n } else if (speaker === 'user' || speaker === 'caller') {\n // User messages: orange background\n return {\n backgroundColor: 'var(--bubble-user, #FA931C)',\n border: 'none',\n color: '#ffffff',\n className: 'pamela-transcript-bubble pamela-transcript-bubble--user',\n };\n } else {\n // Call recipient: blue background\n return {\n backgroundColor: 'var(--bubble-recipient, #4b4bea)',\n border: 'none',\n color: '#ffffff',\n className: 'pamela-transcript-bubble pamela-transcript-bubble--recipient',\n };\n }\n };\n\n return (\n <div\n className={`pamela-transcript-viewer ${className}`}\n style={{\n fontFamily: 'Poppins, Inter, -apple-system, BlinkMacSystemFont, sans-serif',\n }}\n >\n <h3\n style={{\n marginBottom: '16px',\n fontSize: '18px',\n fontWeight: '600',\n color: 'var(--text-primary, #1f2937)',\n }}\n >\n Transcript\n </h3>\n <div\n className=\"pamela-transcript-container\"\n style={{\n maxHeight: typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n overflowY: 'auto',\n borderRadius: 'var(--radius-sm, 0.5rem)',\n padding: '16px',\n background: 'var(--surface, #F7F4ED)',\n }}\n ref={containerRef}\n >\n {transcript.map((entry, index) => {\n const style = getMessageStyle(entry.speaker);\n const { className: bubbleClassName, ...bubbleStyle } = style;\n return (\n <div\n key={index}\n className={bubbleClassName}\n style={{\n marginBottom: '12px',\n ...bubbleStyle,\n borderRadius: 'var(--radius-md, 0.75rem)',\n maxWidth: '75%',\n marginLeft: entry.speaker === 'pamela' || entry.speaker === 'agent' ? '0' : 'auto',\n marginRight: entry.speaker === 'pamela' || entry.speaker === 'agent' ? 'auto' : '0',\n }}\n >\n <div\n style={{\n fontSize: '12px',\n fontWeight: '600',\n color: style.color === '#ffffff' ? 'rgba(255, 255, 255, 0.9)' : 'var(--text-muted, #6b7280)',\n marginBottom: '6px',\n textTransform: 'capitalize',\n }}\n >\n {entry.speaker === 'pamela' || entry.speaker === 'agent'\n ? 'Pamela'\n : entry.speaker === 'user' || entry.speaker === 'caller'\n ? 'You'\n : 'Call Recipient'}\n </div>\n <div\n style={{\n fontSize: '14px',\n lineHeight: '1.6',\n color: style.color,\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n }}\n >\n {entry.text}\n </div>\n {entry.timestamp && (\n <div\n style={{\n fontSize: '11px',\n color: style.color === '#ffffff' ? 'rgba(255, 255, 255, 0.7)' : 'var(--text-muted, #9ca3af)',\n marginTop: '6px',\n }}\n >\n {new Date(entry.timestamp).toLocaleTimeString()}\n </div>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\n","import React, { useState, useEffect } from 'react';\nimport { usePamela } from './PamelaProvider';\nimport { CallStatusProps } from './types';\nimport { CallStatus as CallStatusType } from '@thisispamela/sdk';\nimport { TranscriptViewer } from './TranscriptViewer';\n\n// Status indicator component matching your 3-color system\nfunction StatusIndicator({ status }: { status: string }) {\n const getStatusConfig = () => {\n switch (status) {\n case 'queued':\n case 'initiating':\n return {\n dots: [\n { color: 'var(--status-warning, #eab308)', pulse: true },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n ],\n text: 'Queued...',\n textColor: 'var(--status-warning, #eab308)',\n };\n case 'ringing':\n return {\n dots: [\n { color: 'var(--status-success, #10b981)', pulse: true },\n { color: 'var(--status-warning, #eab308)', pulse: true },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n ],\n text: 'Ringing...',\n textColor: 'var(--status-warning, #eab308)',\n };\n case 'in_progress':\n case 'in-progress':\n return {\n dots: [\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: true },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n ],\n text: 'In progress',\n textColor: 'var(--status-success, #10b981)',\n };\n case 'completed':\n return {\n dots: [\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false, icon: true },\n ],\n text: 'Completed',\n textColor: 'var(--status-success, #10b981)',\n };\n case 'failed':\n return {\n dots: [],\n text: 'Failed',\n textColor: 'var(--status-error, #ef4444)',\n };\n case 'cancelled':\n return {\n dots: [],\n text: 'Cancelled',\n textColor: 'var(--status-error, #ef4444)',\n };\n default:\n return {\n dots: [],\n text: status,\n textColor: '#6b7280', // gray-500\n };\n }\n };\n\n const config = getStatusConfig();\n\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: '6px' }}>\n {config.dots.length > 0 && (\n <div style={{ display: 'flex', alignItems: 'center', gap: '4px' }}>\n {config.dots.map((dot, idx) => (\n <div key={idx}>\n {dot.icon ? (\n <svg\n style={{ width: '12px', height: '12px', color: dot.color }}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n ) : (\n <div\n style={{\n width: '8px',\n height: '8px',\n borderRadius: '50%',\n backgroundColor: dot.color,\n animation: dot.pulse ? 'pamela-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite' : 'none',\n }}\n />\n )}\n </div>\n ))}\n </div>\n )}\n <span\n style={{\n fontSize: '12px',\n fontWeight: '500',\n color: config.textColor,\n fontStyle: 'italic',\n fontFamily: 'Poppins, Inter, sans-serif',\n }}\n >\n {config.text}\n </span>\n </div>\n );\n}\n\nexport function CallStatus({\n callId,\n pollInterval = 5000,\n onStatusChange,\n showTranscript = true,\n showSummary = true,\n compact = false,\n className = '',\n}: CallStatusProps) {\n const { client } = usePamela();\n const [status, setStatus] = useState<CallStatusType | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n if (!callId) return;\n\n const fetchStatus = async () => {\n try {\n const callStatus = await client.getCall(callId);\n setStatus(callStatus);\n setLoading(false);\n onStatusChange?.(callStatus);\n } catch (err) {\n setError(err as Error);\n setLoading(false);\n }\n };\n\n fetchStatus();\n\n const interval = setInterval(fetchStatus, pollInterval);\n return () => clearInterval(interval);\n }, [callId, pollInterval, client, onStatusChange]);\n\n if (loading) {\n return (\n <div className={`pamela-call-status ${className}`}>\n <div style={{ color: 'var(--text-muted, #6b7280)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Loading call status...\n </div>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className={`pamela-call-status ${className}`}>\n <div style={{ color: 'var(--status-error, #ef4444)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Error: {error.message}\n </div>\n </div>\n );\n }\n\n if (!status) {\n return (\n <div className={`pamela-call-status ${className}`}>\n <div style={{ color: 'var(--text-muted, #6b7280)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Call not found\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`pamela-call-status ${className}`}\n style={{\n fontFamily: 'Poppins, Inter, -apple-system, BlinkMacSystemFont, sans-serif',\n }}\n >\n <div\n style={{\n marginBottom: compact ? '8px' : '16px',\n padding: compact ? '12px' : '16px',\n background: 'var(--surface-liquid-strong, #ffffff)',\n borderRadius: 'var(--radius-md, 0.75rem)',\n border: '1px solid var(--surface-border-strong, rgba(231, 171, 132, 0.3))',\n boxShadow: 'var(--shadow-soft, 0 1px 3px rgba(0, 0, 0, 0.1))',\n }}\n >\n <div style={{ marginBottom: '12px' }}>\n <StatusIndicator status={status.status} />\n </div>\n <div style={{ fontSize: compact ? '12px' : '14px', color: 'var(--text-primary, #1f2937)', lineHeight: '1.6' }}>\n <div style={{ marginBottom: compact ? '6px' : '8px' }}>\n <span style={{ fontWeight: '600', color: 'var(--text-secondary, #6b7280)' }}>To:</span>{' '}\n <span style={{ color: 'var(--text-primary, #1f2937)' }}>{status.to}</span>\n </div>\n <div style={{ marginBottom: compact ? '6px' : '8px' }}>\n <span style={{ fontWeight: '600', color: 'var(--text-secondary, #6b7280)' }}>From:</span>{' '}\n <span style={{ color: 'var(--text-primary, #1f2937)' }}>{status.from_}</span>\n </div>\n {status.duration_seconds && !compact && (\n <div style={{ marginBottom: '8px' }}>\n <span style={{ fontWeight: '600', color: 'var(--text-secondary, #6b7280)' }}>Duration:</span>{' '}\n <span style={{ color: 'var(--text-primary, #1f2937)' }}>{status.duration_seconds}s</span>\n </div>\n )}\n </div>\n {showSummary && status.summary && (\n <div\n style={{\n marginTop: compact ? '12px' : '16px',\n padding: compact ? '12px' : '16px',\n background: 'var(--cta-bg, linear-gradient(to right, rgba(250, 147, 28, 0.1), rgba(253, 139, 116, 0.1)))',\n border: 'var(--cta-border, 1px solid rgba(250, 147, 28, 0.3))',\n borderRadius: 'var(--radius-md, 0.75rem)',\n }}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n marginBottom: compact ? '6px' : '8px',\n }}\n >\n <svg\n style={{ width: '20px', height: '20px', color: 'var(--accent, #FA931C)' }}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n />\n </svg>\n <h4 style={{ fontWeight: '600', color: 'var(--text-primary, #1f2937)', fontSize: compact ? '12px' : '14px' }}>\n Call Summary\n </h4>\n </div>\n <p style={{ fontSize: compact ? '12px' : '14px', color: 'var(--text-primary, #1f2937)', lineHeight: '1.6' }}>\n {status.summary}\n </p>\n </div>\n )}\n </div>\n {showTranscript && status.transcript && status.transcript.length > 0 && (\n <TranscriptViewer transcript={status.transcript as Array<{ speaker: string; text: string; timestamp: string }>} />\n )}\n </div>\n );\n}\n\n","import React, { useState, useEffect } from 'react';\nimport { usePamela } from './PamelaProvider';\nimport { CallHistoryProps } from './types';\nimport { CallStatus } from '@thisispamela/sdk';\n\nexport function CallHistory({\n limit = 10,\n onCallSelect,\n className = '',\n}: CallHistoryProps) {\n const { client } = usePamela();\n const [calls, setCalls] = useState<CallStatus[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n let isMounted = true;\n const fetchCalls = async () => {\n try {\n const response = await client.listCalls({ limit });\n if (!isMounted) {\n return;\n }\n setCalls(response.items || []);\n setLoading(false);\n } catch (err) {\n if (!isMounted) {\n return;\n }\n setError(err as Error);\n setLoading(false);\n }\n };\n\n fetchCalls();\n\n return () => {\n isMounted = false;\n };\n }, [client, limit]);\n\n if (loading) {\n return (\n <div className={`pamela-call-history ${className}`}>\n <div style={{ color: 'var(--text-muted, #6b7280)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Loading call history...\n </div>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className={`pamela-call-history ${className}`}>\n <div style={{ color: 'var(--status-error, #ef4444)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Error: {error.message}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`pamela-call-history ${className}`}\n style={{\n fontFamily: 'Poppins, Inter, -apple-system, BlinkMacSystemFont, sans-serif',\n }}\n >\n <h3\n style={{\n marginBottom: '16px',\n fontSize: '18px',\n fontWeight: '600',\n color: 'var(--text-primary, #1f2937)',\n }}\n >\n Call History\n </h3>\n {calls.length === 0 ? (\n <div style={{ color: 'var(--text-muted, #6b7280)', fontSize: '14px' }}>No calls yet</div>\n ) : (\n <div>\n {calls.map((call) => (\n <div\n key={call.id}\n onClick={() => onCallSelect?.(call.id)}\n style={{\n padding: '12px',\n marginBottom: '8px',\n border: '1px solid var(--surface-border-strong, rgba(231, 171, 132, 0.3))',\n borderRadius: 'var(--radius-sm, 0.5rem)',\n cursor: onCallSelect ? 'pointer' : 'default',\n background: 'var(--surface-liquid-strong, #ffffff)',\n transition: 'background-color 0.2s',\n ...(onCallSelect && {\n ':hover': {\n backgroundColor: 'var(--surface, #F7F4ED)',\n },\n }),\n }}\n onMouseEnter={(e) => {\n if (onCallSelect) {\n e.currentTarget.style.backgroundColor = 'var(--surface, #F7F4ED)';\n }\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'var(--surface-liquid-strong, #ffffff)';\n }}\n >\n <div style={{ fontWeight: '600', color: 'var(--text-primary, #1f2937)', marginBottom: '4px' }}>\n {call.to}\n </div>\n <div style={{ fontSize: '14px', color: 'var(--text-secondary, #6b7280)' }}>\n {call.status} • {new Date(call.created_at).toLocaleString()}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { VoiceOrbProps } from './types';\n\nconst sizeMap: Record<'small' | 'medium' | 'large', string> = {\n small: 'var(--pamela-orb-size-small, 96px)',\n medium: 'var(--pamela-orb-size-medium, 128px)',\n large: 'var(--pamela-orb-size-large, 192px)',\n};\n\nexport function VoiceOrb({ isActive = false, size = 'large', className = '' }: VoiceOrbProps) {\n const [pulsePhase, setPulsePhase] = useState(0);\n const [idlePhase, setIdlePhase] = useState(Math.floor(Math.random() * 720)); // Random initial phase to avoid sync\n\n // Continuous animation for idle mode - runs once on mount\n // Remove modulo to allow continuous rotation (can go beyond 360 degrees for seamless loop)\n useEffect(() => {\n const interval = setInterval(() => {\n setIdlePhase(prev => prev + 1); // Continuous growth - no reset for fluid animation\n }, 16); // ~60fps\n\n return () => clearInterval(interval);\n }, []); // Empty deps - only run once\n\n // Fast animation for active mode\n useEffect(() => {\n if (!isActive) return;\n \n const interval = setInterval(() => {\n setPulsePhase(prev => (prev + 1) % 360);\n }, 16); // ~60fps\n\n return () => clearInterval(interval);\n }, [isActive]);\n\n const orbSize = sizeMap[size];\n\n // Multiple breathing layers for idle mode (more organic) - reduced by 10%\n const baseTime = idlePhase * 0.05;\n const idleBreath1 = Math.sin(baseTime) * 0.072; // 7.2% primary breath (was 8%)\n const idleBreath2 = Math.sin(baseTime * 1.3) * 0.045; // 4.5% secondary breath (was 5%)\n const idleBreath3 = Math.sin(baseTime * 0.7) * 0.027; // 2.7% tertiary breath (was 3%)\n \n // Calculate pulse scale - multi-layer breathing when idle, faster pulse when active - reduced by 10%\n const pulseScale = isActive \n ? 1 + Math.sin((pulsePhase * Math.PI) / 180) * 0.135 // 13.5% pulse variation (was 15%)\n : 1 + idleBreath1 + idleBreath2 + idleBreath3; // Layered breathing when idle\n\n // Floating/levitation effect (idle only) - reduced by 10%\n const floatY = isActive ? 0 : Math.sin(baseTime * 0.4) * 7.2; // 7.2px float movement (was 8px)\n\n // Continuous gradient rotation - slower when idle, faster when active\n const gradientRotation = isActive \n ? pulsePhase * 0.5 \n : idlePhase * 0.15; // Slow, continuous rotation when idle\n\n // Subtle color shift for idle mode - reduced by 10%\n const colorShift = isActive ? 0 : Math.sin(baseTime * 0.3) * 9; // 9deg color shift (was 10deg)\n\n const orbSizeStyle: React.CSSProperties = {\n width: orbSize,\n height: orbSize,\n };\n\n return (\n <div \n className={className}\n style={{\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transform: `translateY(${floatY}px)`,\n transition: isActive ? 'transform 0.3s ease-out' : 'none',\n }}\n >\n {/* Outer glow ring - animated - reduced opacity by 10% */}\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n filter: 'blur(24px)', // blur-xl\n background: `radial-gradient(circle, \n hsla(${25 + colorShift}, 75%, 55%, 0.54), \n hsla(${11 + colorShift}, 97%, 72%, 0.54))`,\n transform: `scale(${pulseScale * 1.125})`,\n opacity: isActive ? 0.315 : 0.225,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n \n {/* Middle glow ring - slightly different timing - reduced opacity by 10% */}\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n filter: 'blur(16px)', // blur-lg\n background: `radial-gradient(circle, \n hsla(${25 + colorShift * 0.7}, 75%, 55%, 0.45), \n hsla(${11 + colorShift * 0.7}, 97%, 72%, 0.45))`,\n transform: `scale(${pulseScale * 1.035}) rotate(${gradientRotation * 0.3}deg)`,\n opacity: isActive ? 0.405 : 0.315,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n\n {/* Additional subtle glow layer for depth (idle only) - reduced by 10% */}\n {!isActive && (\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n filter: 'blur(40px)', // blur-2xl\n background: `radial-gradient(circle, \n hsla(${25 + colorShift * 0.5}, 70%, 50%, 0.27), \n hsla(${11 + colorShift * 0.5}, 97%, 72%, 0.27))`,\n transform: `scale(${(1 + idleBreath1) * 1.26})`,\n opacity: 0.18,\n }}\n />\n )}\n \n {/* Main orb */}\n <div\n style={{\n ...orbSizeStyle,\n position: 'relative',\n borderRadius: '50%',\n background: `linear-gradient(${gradientRotation + colorShift}deg, \n hsl(${25 + colorShift}, 75%, 55%), \n hsl(${11 + colorShift}, 97%, 72%), \n hsl(${25 + colorShift}, 75%, 55%))`,\n backgroundSize: '200% 200%',\n transform: `scale(${pulseScale}) rotate(${gradientRotation * 0.1}deg)`,\n boxShadow: isActive \n ? '0 0 54px rgba(250,147,28,0.45), 0 0 90px rgba(253,139,116,0.27), inset 0 0 36px rgba(255,255,255,0.09)'\n : `0 0 72px hsla(${25 + colorShift}, 60%, 50%, 0.36), \n 0 0 108px hsla(${11 + colorShift}, 97%, 72%, 0.225), \n inset 0 0 45px rgba(255,255,255,0.135)`,\n transition: 'box-shadow 0.3s ease-out',\n }}\n >\n {/* Inner highlight - moving slightly - reduced opacity by 10% */}\n <div\n style={{\n position: 'absolute',\n inset: 0,\n borderRadius: '50%',\n background: `radial-gradient(circle at ${30 + Math.sin(baseTime * 0.2) * 5}% ${30 + Math.cos(baseTime * 0.2) * 5}%, \n rgba(255,255,255,${isActive ? 0.36 : 0.315}), transparent 60%)`,\n opacity: isActive ? 0.54 : 0.63,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n \n {/* Shimmer effect - always on, but more subtle when idle - reduced by 10% */}\n <div\n style={{\n position: 'absolute',\n inset: 0,\n borderRadius: '50%',\n background: `linear-gradient(${45 + gradientRotation * 0.2}deg, \n transparent 30%, \n rgba(255,255,255,${isActive ? 0.45 : 0.225}) 50%, \n transparent 70%)`,\n animation: isActive ? 'shimmer 3s infinite' : 'shimmer 6s infinite',\n opacity: isActive ? 0.27 : 0.18,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n\n {/* Inner glow particles (idle only) - reduced opacity by 10% */}\n {!isActive && (\n <>\n <div\n style={{\n position: 'absolute',\n borderRadius: '50%',\n backgroundColor: 'white',\n width: '8px',\n height: '8px',\n top: `${25 + Math.sin(baseTime * 0.5) * 15}%`,\n left: `${35 + Math.cos(baseTime * 0.5) * 15}%`,\n opacity: 0.36 + Math.sin(baseTime * 0.8) * 0.18,\n filter: 'blur(2px)',\n transform: `scale(${0.8 + Math.sin(baseTime * 1.2) * 0.36})`,\n }}\n />\n <div\n style={{\n position: 'absolute',\n borderRadius: '50%',\n backgroundColor: 'white',\n width: '6px',\n height: '6px',\n top: `${60 + Math.sin(baseTime * 0.7 + 2) * 12}%`,\n left: `${65 + Math.cos(baseTime * 0.7 + 2) * 12}%`,\n opacity: 0.27 + Math.sin(baseTime * 0.9) * 0.135,\n filter: 'blur(1.5px)',\n transform: `scale(${0.7 + Math.sin(baseTime * 1.4) * 0.27})`,\n }}\n />\n </>\n )}\n </div>\n\n {/* Audio wave rings when active */}\n {isActive && (\n <>\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '2px solid #FA931C',\n opacity: 0,\n animation: 'ripple 2s infinite ease-in-out',\n animationDelay: '0s',\n }}\n />\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '2px solid #fd8b74',\n opacity: 0,\n animation: 'ripple 2s infinite ease-in-out',\n animationDelay: '0.7s',\n }}\n />\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '2px solid #FA931C',\n opacity: 0,\n animation: 'ripple 2s infinite ease-in-out',\n animationDelay: '1.4s',\n }}\n />\n </>\n )}\n\n {/* Subtle idle ripples - very gentle - reduced opacity by 10% */}\n {!isActive && (\n <>\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '1px solid #FA931C',\n opacity: 0.135 + Math.sin(baseTime * 0.25) * 0.045,\n transform: `scale(${1 + Math.sin(baseTime * 0.25) * 0.27})`,\n animation: 'ripple 8s infinite ease-in-out',\n animationDelay: '0s',\n }}\n />\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '1px solid #fd8b74',\n opacity: 0.09 + Math.sin(baseTime * 0.25 + 3) * 0.027,\n transform: `scale(${1 + Math.sin(baseTime * 0.25 + 3) * 0.225})`,\n animation: 'ripple 8s infinite ease-in-out',\n animationDelay: '2.5s',\n }}\n />\n </>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;;AAAA,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AAC/B,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACjC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC9B;AACA,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,EAAE;AAC1D;AACA,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;AAC1B;AACA,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;AACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;AACnC,GAAG,MAAM;AACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;;;;;ACjBA,MAAM,aAAa,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAC;SAOrD,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAuB,EAAA;IACtE,MAAM,MAAM,GAAG,OAAO,CACpB,MACE,IAAI,YAAY,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,EACJ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAChC,CAAC;AAEF,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,aAAa,CAAC,QAAQ,EAAC,EAAA,KAAK,EAAE,EAAE,MAAM,EAAE,EAAA,EACtC,QAAQ,CACc,EACzB;AACJ,CAAC;SAEe,SAAS,GAAA;AACvB,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;AACD,IAAA,OAAO,OAAO,CAAC;AACjB;;AClCgB,SAAA,UAAU,CAAC,EACzB,EAAE,EACF,IAAI,EACJ,OAAO,EACP,MAAM,EACN,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,YAAY,GAAG,IAAI,EACnB,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAC3B,QAAQ,GAAG,KAAK,EAChB,SAAS,GAAG,EAAE,EACd,QAAQ,GACQ,EAAA;AAChB,IAAA,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;AAC1D,IAAA,MAAM,eAAe,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;AAC5D,IAAA,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;;IAGvD,SAAS,CAAC,MAAK;AACb,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,eAAe,CAAC,OAAO,EAAE;AAC3B,gBAAA,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACvC,gBAAA,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;aAChC;AACD,YAAA,IAAI,UAAU,CAAC,OAAO,EAAE;AACtB,gBAAA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACjC,gBAAA,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;aAC3B;AACH,SAAC,CAAC;KACH,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,MAAM,WAAW,GAAG,YAAW;QAC7B,IAAI,OAAO,IAAI,QAAQ;YAAE,OAAO;;AAGhC,QAAA,IAAI,eAAe,CAAC,OAAO,EAAE;AAC3B,YAAA,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACvC,YAAA,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;SAChC;AACD,QAAA,IAAI,UAAU,CAAC,OAAO,EAAE;AACtB,YAAA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACjC,YAAA,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;SAC3B;QAED,UAAU,CAAC,IAAI,CAAC,CAAC;AACjB,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;gBACnC,EAAE;gBACF,IAAI;gBACJ,OAAO;gBACP,MAAM;gBACN,YAAY;gBACZ,oBAAoB;gBACpB,KAAK;gBACL,UAAU;gBACV,WAAW;gBACX,WAAW;gBACX,QAAQ;gBACR,KAAK;gBACL,QAAQ;AACT,aAAA,CAAC,CAAC;AAEH,YAAA,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnB,YAAA,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;;AAGvB,YAAA,eAAe,CAAC,OAAO,GAAG,WAAW,CAAC,YAAW;AAC/C,gBAAA,IAAI;oBACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7C,oBAAA,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE;AAChG,wBAAA,IAAI,eAAe,CAAC,OAAO,EAAE;AAC3B,4BAAA,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACvC,4BAAA,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;yBAChC;AACD,wBAAA,IAAI,UAAU,CAAC,OAAO,EAAE;AACtB,4BAAA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACjC,4BAAA,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;yBAC3B;wBACD,UAAU,CAAC,KAAK,CAAC,CAAC;AAClB,wBAAA,cAAc,GAAG,MAAM,CAAC,CAAC;qBAC1B;iBACF;gBAAC,OAAO,KAAK,EAAE;AACd,oBAAA,IAAI,eAAe,CAAC,OAAO,EAAE;AAC3B,wBAAA,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACvC,wBAAA,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;qBAChC;AACD,oBAAA,IAAI,UAAU,CAAC,OAAO,EAAE;AACtB,wBAAA,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACjC,wBAAA,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;qBAC3B;oBACD,UAAU,CAAC,KAAK,CAAC,CAAC;AAClB,oBAAA,OAAO,GAAG,KAAc,CAAC,CAAC;iBAC3B;aACF,EAAE,YAAY,CAAC,CAAC;;AAGjB,YAAA,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,MAAK;AACnC,gBAAA,IAAI,eAAe,CAAC,OAAO,EAAE;AAC3B,oBAAA,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACvC,oBAAA,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;iBAChC;gBACD,UAAU,CAAC,KAAK,CAAC,CAAC;aACnB,EAAE,WAAW,CAAC,CAAC;SACjB;QAAC,OAAO,KAAK,EAAE;YACd,UAAU,CAAC,KAAK,CAAC,CAAC;AAClB,YAAA,OAAO,GAAG,KAAc,CAAC,CAAC;SAC3B;AACH,KAAC,CAAC;AAEF,IAAA,MAAM,YAAY,GAChB,OAAO,KAAK,WAAW;AACrB,UAAE,+BAA+B;UAC/B,OAAO,KAAK,QAAQ;AACtB,cAAE,4BAA4B;cAC5B,6BAA6B,CAAC;AACpC,IAAA,MAAM,SAAS,GACb,IAAI,KAAK,IAAI;AACX,UAAE,wBAAwB;UACxB,IAAI,KAAK,IAAI;AACf,cAAE,wBAAwB;cACxB,wBAAwB,CAAC;AAE/B,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EACE,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,OAAO,IAAI,QAAQ,EAC7B,SAAS,EAAE,sBAAsB,YAAY,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA,EAAI,SAAS,CAAE,CAAA,EAAA,EAExE,OAAO,GAAG,YAAY,GAAG,QAAQ,IAAI,UAAU,CACzC,EACT;AACJ;;SClJgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,SAAS,GAAG,GAAG,EACf,UAAU,GAAG,IAAI,EACjB,SAAS,GAAG,EAAE,GACQ,EAAA;AACtB,IAAA,MAAM,YAAY,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAEzD,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC,OAAO;YAAE,OAAO;QACjD,YAAY,CAAC,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC;AACrE,KAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAE7B,IAAA,MAAM,eAAe,GAAG,CAAC,OAAe,KAAI;QAC1C,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,OAAO,EAAE;;YAE/C,OAAO;AACL,gBAAA,eAAe,EAAE,+BAA+B;AAChD,gBAAA,MAAM,EAAE,0DAA0D;AAClE,gBAAA,KAAK,EAAE,8BAA8B;AACrC,gBAAA,SAAS,EAAE,2DAA2D;aACvE,CAAC;SACH;aAAM,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,EAAE;;YAErD,OAAO;AACL,gBAAA,eAAe,EAAE,6BAA6B;AAC9C,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,SAAS,EAAE,yDAAyD;aACrE,CAAC;SACH;aAAM;;YAEL,OAAO;AACL,gBAAA,eAAe,EAAE,kCAAkC;AACnD,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,SAAS,EAAE,8DAA8D;aAC1E,CAAC;SACH;AACH,KAAC,CAAC;IAEF,QACE,6BACE,SAAS,EAAE,4BAA4B,SAAS,CAAA,CAAE,EAClD,KAAK,EAAE;AACL,YAAA,UAAU,EAAE,+DAA+D;AAC5E,SAAA,EAAA;AAED,QAAA,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,YAAY,EAAE,MAAM;AACpB,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,KAAK,EAAE,8BAA8B;aACtC,EAGE,EAAA,YAAA,CAAA;AACL,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,6BAA6B,EACvC,KAAK,EAAE;AACL,gBAAA,SAAS,EAAE,OAAO,SAAS,KAAK,QAAQ,GAAG,CAAA,EAAG,SAAS,CAAA,EAAA,CAAI,GAAG,SAAS;AACvE,gBAAA,SAAS,EAAE,MAAM;AACjB,gBAAA,YAAY,EAAE,0BAA0B;AACxC,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,UAAU,EAAE,yBAAyB;AACtC,aAAA,EACD,GAAG,EAAE,YAAY,EAAA,EAEhB,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;YAC/B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC;YAC7D,QACE,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE;AACL,oBAAA,YAAY,EAAE,MAAM;AACpB,oBAAA,GAAG,WAAW;AACd,oBAAA,YAAY,EAAE,2BAA2B;AACzC,oBAAA,QAAQ,EAAE,KAAK;AACf,oBAAA,UAAU,EAAE,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,GAAG,GAAG,GAAG,MAAM;AAClF,oBAAA,WAAW,EAAE,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,GAAG,MAAM,GAAG,GAAG;AACpF,iBAAA,EAAA;AAED,gBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,GAAG,0BAA0B,GAAG,4BAA4B;AAC5F,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,aAAa,EAAE,YAAY;qBAC5B,EAEA,EAAA,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;AACtD,sBAAE,QAAQ;sBACR,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ;AACxD,0BAAE,KAAK;0BACL,gBAAgB,CAChB;AACN,gBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,wBAAA,UAAU,EAAE,UAAU;AACtB,wBAAA,SAAS,EAAE,YAAY;qBACxB,EAEA,EAAA,KAAK,CAAC,IAAI,CACP;AACL,gBAAA,KAAK,CAAC,SAAS,KACd,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,GAAG,0BAA0B,GAAG,4BAA4B;AAC5F,wBAAA,SAAS,EAAE,KAAK;AACjB,qBAAA,EAAA,EAEA,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAC3C,CACP,CACG,EACN;AACJ,SAAC,CAAC,CACE,CACF,EACN;AACJ;;AC7HA;AACA,SAAS,eAAe,CAAC,EAAE,MAAM,EAAsB,EAAA;IACrD,MAAM,eAAe,GAAG,MAAK;QAC3B,QAAQ,MAAM;AACZ,YAAA,KAAK,QAAQ,CAAC;AACd,YAAA,KAAK,YAAY;gBACf,OAAO;AACL,oBAAA,IAAI,EAAE;AACJ,wBAAA,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,IAAI,EAAE;AACxD,wBAAA,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,KAAK,EAAE;AACvD,wBAAA,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,KAAK,EAAE;AACvD,wBAAA,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,KAAK,EAAE;AACxD,qBAAA;AACD,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,gCAAgC;iBAC5C,CAAC;AACJ,YAAA,KAAK,SAAS;gBACZ,OAAO;AACL,oBAAA,IAAI,EAAE;AACJ,wBAAA,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,IAAI,EAAE;AACxD,wBAAA,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,IAAI,EAAE;AACxD,wBAAA,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,KAAK,EAAE;AACvD,wBAAA,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,KAAK,EAAE;AACxD,qBAAA;AACD,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,SAAS,EAAE,gCAAgC;iBAC5C,CAAC;AACJ,YAAA,KAAK,aAAa,CAAC;AACnB,YAAA,KAAK,aAAa;gBAChB,OAAO;AACL,oBAAA,IAAI,EAAE;AACJ,wBAAA,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,KAAK,EAAE;AACzD,wBAAA,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,KAAK,EAAE;AACzD,wBAAA,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,IAAI,EAAE;AACxD,wBAAA,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,KAAK,EAAE;AACxD,qBAAA;AACD,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,SAAS,EAAE,gCAAgC;iBAC5C,CAAC;AACJ,YAAA,KAAK,WAAW;gBACd,OAAO;AACL,oBAAA,IAAI,EAAE;AACJ,wBAAA,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,KAAK,EAAE;AACzD,wBAAA,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,KAAK,EAAE;AACzD,wBAAA,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,KAAK,EAAE;wBACzD,EAAE,KAAK,EAAE,gCAAgC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;AACtE,qBAAA;AACD,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,gCAAgC;iBAC5C,CAAC;AACJ,YAAA,KAAK,QAAQ;gBACX,OAAO;AACL,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,SAAS,EAAE,8BAA8B;iBAC1C,CAAC;AACJ,YAAA,KAAK,WAAW;gBACd,OAAO;AACL,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,8BAA8B;iBAC1C,CAAC;AACJ,YAAA;gBACE,OAAO;AACL,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,SAAS;iBACrB,CAAC;SACL;AACH,KAAC,CAAC;AAEF,IAAA,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;AAEjC,IAAA,QACE,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAA;AAC9D,QAAA,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KACrB,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAA,EAC9D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,MACxB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EACV,EAAA,GAAG,CAAC,IAAI,IACP,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAC1D,IAAI,EAAC,cAAc,EACnB,OAAO,EAAC,WAAW,EAAA;YAEnB,KACE,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,oHAAoH,EACtH,QAAQ,EAAC,SAAS,EAClB,CAAA,CACE,KAEN,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,YAAY,EAAE,KAAK;gBACnB,eAAe,EAAE,GAAG,CAAC,KAAK;gBAC1B,SAAS,EAAE,GAAG,CAAC,KAAK,GAAG,uDAAuD,GAAG,MAAM;AACxF,aAAA,EAAA,CACD,CACH,CACG,CACP,CAAC,CACE,CACP;AACD,QAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,MAAM,CAAC,SAAS;AACvB,gBAAA,SAAS,EAAE,QAAQ;AACnB,gBAAA,UAAU,EAAE,4BAA4B;AACzC,aAAA,EAAA,EAEA,MAAM,CAAC,IAAI,CACP,CACH,EACN;AACJ,CAAC;AAEK,SAAU,UAAU,CAAC,EACzB,MAAM,EACN,YAAY,GAAG,IAAI,EACnB,cAAc,EACd,cAAc,GAAG,IAAI,EACrB,WAAW,GAAG,IAAI,EAClB,OAAO,GAAG,KAAK,EACf,SAAS,GAAG,EAAE,GACE,EAAA;AAChB,IAAA,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,MAAM;YAAE,OAAO;AAEpB,QAAA,MAAM,WAAW,GAAG,YAAW;AAC7B,YAAA,IAAI;gBACF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChD,SAAS,CAAC,UAAU,CAAC,CAAC;gBACtB,UAAU,CAAC,KAAK,CAAC,CAAC;AAClB,gBAAA,cAAc,GAAG,UAAU,CAAC,CAAC;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACZ,QAAQ,CAAC,GAAY,CAAC,CAAC;gBACvB,UAAU,CAAC,KAAK,CAAC,CAAC;aACnB;AACH,SAAC,CAAC;AAEF,QAAA,WAAW,EAAE,CAAC;QAEd,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AACxD,QAAA,OAAO,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;KACtC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAEnD,IAAI,OAAO,EAAE;AACX,QAAA,QACE,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,CAAA,mBAAA,EAAsB,SAAS,CAAE,CAAA,EAAA;AAC/C,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,4BAA4B,EAAE,EAEvF,EAAA,wBAAA,CAAA,CACF,EACN;KACH;IAED,IAAI,KAAK,EAAE;AACT,QAAA,QACE,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,CAAA,mBAAA,EAAsB,SAAS,CAAE,CAAA,EAAA;YAC/C,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,UAAU,EAAE,4BAA4B,EAAE,EAAA;;AACrF,gBAAA,KAAK,CAAC,OAAO,CACjB,CACF,EACN;KACH;IAED,IAAI,CAAC,MAAM,EAAE;AACX,QAAA,QACE,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,CAAA,mBAAA,EAAsB,SAAS,CAAE,CAAA,EAAA;AAC/C,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,4BAA4B,EAAE,EAEvF,EAAA,gBAAA,CAAA,CACF,EACN;KACH;IAED,QACE,6BACE,SAAS,EAAE,sBAAsB,SAAS,CAAA,CAAE,EAC5C,KAAK,EAAE;AACL,YAAA,UAAU,EAAE,+DAA+D;AAC5E,SAAA,EAAA;AAED,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;gBACL,YAAY,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM;gBACtC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM;AAClC,gBAAA,UAAU,EAAE,uCAAuC;AACnD,gBAAA,YAAY,EAAE,2BAA2B;AACzC,gBAAA,MAAM,EAAE,kEAAkE;AAC1E,gBAAA,SAAS,EAAE,kDAAkD;AAC9D,aAAA,EAAA;AAED,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAA;gBAClC,KAAC,CAAA,aAAA,CAAA,eAAe,IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAI,CACtC;YACN,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,8BAA8B,EAAE,UAAU,EAAE,KAAK,EAAE,EAAA;AAC3G,gBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,YAAY,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,EAAE,EAAA;oBACnD,KAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAY,EAAA,KAAA,CAAA;oBAAC,GAAG;AAC3F,oBAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAA,EAAG,MAAM,CAAC,EAAE,CAAQ,CACtE;AACN,gBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,YAAY,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,EAAE,EAAA;oBACnD,KAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAc,EAAA,OAAA,CAAA;oBAAC,GAAG;AAC7F,oBAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAA,EAAG,MAAM,CAAC,KAAK,CAAQ,CACzE;AACL,gBAAA,MAAM,CAAC,gBAAgB,IAAI,CAAC,OAAO,KAClC,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,EAAA;oBACjC,KAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAkB,EAAA,WAAA,CAAA;oBAAC,GAAG;AACjG,oBAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAA;AAAG,wBAAA,MAAM,CAAC,gBAAgB;AAAS,wBAAA,GAAA,CAAA,CACrF,CACP,CACG;YACL,WAAW,IAAI,MAAM,CAAC,OAAO,KAC5B,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;oBACL,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM;oBACpC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM;AAClC,oBAAA,UAAU,EAAE,6FAA6F;AACzG,oBAAA,MAAM,EAAE,sDAAsD;AAC9D,oBAAA,YAAY,EAAE,2BAA2B;AAC1C,iBAAA,EAAA;AAED,gBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,wBAAA,OAAO,EAAE,MAAM;AACf,wBAAA,UAAU,EAAE,QAAQ;AACpB,wBAAA,GAAG,EAAE,KAAK;wBACV,YAAY,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK;AACtC,qBAAA,EAAA;oBAED,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,EAAE,EACzE,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,OAAO,EAAC,WAAW,EAAA;AAEnB,wBAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EACE,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,WAAW,EAAE,CAAC,EACd,CAAC,EAAC,sHAAsH,GACxH,CACE;oBACN,KAAI,CAAA,aAAA,CAAA,IAAA,EAAA,EAAA,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,EAAA,EAAA,cAAA,CAEvG,CACD;AACN,gBAAA,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,8BAA8B,EAAE,UAAU,EAAE,KAAK,EAAE,EACxG,EAAA,MAAM,CAAC,OAAO,CACb,CACA,CACP,CACG;QACL,cAAc,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,KAClE,KAAC,CAAA,aAAA,CAAA,gBAAgB,EAAC,EAAA,UAAU,EAAE,MAAM,CAAC,UAAyE,EAAI,CAAA,CACnH,CACG,EACN;AACJ;;AC7QgB,SAAA,WAAW,CAAC,EAC1B,KAAK,GAAG,EAAE,EACV,YAAY,EACZ,SAAS,GAAG,EAAE,GACG,EAAA;AACjB,IAAA,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,SAAS,CAAC,MAAK;QACb,IAAI,SAAS,GAAG,IAAI,CAAC;AACrB,QAAA,MAAM,UAAU,GAAG,YAAW;AAC5B,YAAA,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnD,IAAI,CAAC,SAAS,EAAE;oBACd,OAAO;iBACR;AACD,gBAAA,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC/B,UAAU,CAAC,KAAK,CAAC,CAAC;aACnB;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,SAAS,EAAE;oBACd,OAAO;iBACR;gBACD,QAAQ,CAAC,GAAY,CAAC,CAAC;gBACvB,UAAU,CAAC,KAAK,CAAC,CAAC;aACnB;AACH,SAAC,CAAC;AAEF,QAAA,UAAU,EAAE,CAAC;AAEb,QAAA,OAAO,MAAK;YACV,SAAS,GAAG,KAAK,CAAC;AACpB,SAAC,CAAC;AACJ,KAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAEpB,IAAI,OAAO,EAAE;AACX,QAAA,QACE,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,CAAA,oBAAA,EAAuB,SAAS,CAAE,CAAA,EAAA;AAChD,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,4BAA4B,EAAE,EAEvF,EAAA,yBAAA,CAAA,CACF,EACN;KACH;IAED,IAAI,KAAK,EAAE;AACT,QAAA,QACE,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,CAAA,oBAAA,EAAuB,SAAS,CAAE,CAAA,EAAA;YAChD,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,UAAU,EAAE,4BAA4B,EAAE,EAAA;;AACrF,gBAAA,KAAK,CAAC,OAAO,CACjB,CACF,EACN;KACH;IAED,QACE,6BACE,SAAS,EAAE,uBAAuB,SAAS,CAAA,CAAE,EAC7C,KAAK,EAAE;AACL,YAAA,UAAU,EAAE,+DAA+D;AAC5E,SAAA,EAAA;AAED,QAAA,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,YAAY,EAAE,MAAM;AACpB,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,KAAK,EAAE,8BAA8B;aACtC,EAGE,EAAA,cAAA,CAAA;QACJ,KAAK,CAAC,MAAM,KAAK,CAAC,IACjB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAA,EAAA,cAAA,CAAoB,KAEzF,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA,EACG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MACd,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,OAAO,EAAE,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,EACtC,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,YAAY,EAAE,KAAK;AACnB,gBAAA,MAAM,EAAE,kEAAkE;AAC1E,gBAAA,YAAY,EAAE,0BAA0B;gBACxC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS;AAC5C,gBAAA,UAAU,EAAE,uCAAuC;AACnD,gBAAA,UAAU,EAAE,uBAAuB;gBACnC,IAAI,YAAY,IAAI;AAClB,oBAAA,QAAQ,EAAE;AACR,wBAAA,eAAe,EAAE,yBAAyB;AAC3C,qBAAA;iBACF,CAAC;AACH,aAAA,EACD,YAAY,EAAE,CAAC,CAAC,KAAI;gBAClB,IAAI,YAAY,EAAE;oBAChB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,yBAAyB,CAAC;iBACnE;AACH,aAAC,EACD,YAAY,EAAE,CAAC,CAAC,KAAI;gBAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,uCAAuC,CAAC;aACjF,EAAA;AAED,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,YAAY,EAAE,KAAK,EAAE,IAC1F,IAAI,CAAC,EAAE,CACJ;YACN,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAA;AACtE,gBAAA,IAAI,CAAC,MAAM;;AAAK,gBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,CACvD,CACF,CACP,CAAC,CACE,CACP,CACG,EACN;AACJ;;ACtHA,MAAM,OAAO,GAAiD;AAC5D,IAAA,KAAK,EAAE,oCAAoC;AAC3C,IAAA,MAAM,EAAE,sCAAsC;AAC9C,IAAA,KAAK,EAAE,qCAAqC;CAC7C,CAAC;AAEc,SAAA,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,IAAI,GAAG,OAAO,EAAE,SAAS,GAAG,EAAE,EAAiB,EAAA;IAC1F,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;;;IAI5E,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAK;YAChC,YAAY,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;AACjC,SAAC,EAAE,EAAE,CAAC,CAAC;AAEP,QAAA,OAAO,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;AACvC,KAAC,EAAE,EAAE,CAAC,CAAC;;IAGP,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,QAAQ;YAAE,OAAO;AAEtB,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAK;AAChC,YAAA,aAAa,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AAC1C,SAAC,EAAE,EAAE,CAAC,CAAC;AAEP,QAAA,OAAO,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;AACvC,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEf,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;;AAG9B,IAAA,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;AAClC,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;AAC/C,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AACrD,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;;IAGrD,MAAM,UAAU,GAAG,QAAQ;UACvB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,KAAK;UAClD,CAAC,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;;IAGhD,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;;IAG7D,MAAM,gBAAgB,GAAG,QAAQ;UAC7B,UAAU,GAAG,GAAG;AAClB,UAAE,SAAS,GAAG,IAAI,CAAC;;IAGrB,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AAE/D,IAAA,MAAM,YAAY,GAAwB;AACxC,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,MAAM,EAAE,OAAO;KAChB,CAAC;AAEF,IAAA,QACE,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;AACL,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,cAAc,EAAE,QAAQ;YACxB,SAAS,EAAE,CAAc,WAAA,EAAA,MAAM,CAAK,GAAA,CAAA;YACpC,UAAU,EAAE,QAAQ,GAAG,yBAAyB,GAAG,MAAM;AAC1D,SAAA,EAAA;AAGD,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,GAAG,YAAY;AACf,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,YAAY;AACpB,gBAAA,UAAU,EAAE,CAAA;AACH,iBAAA,EAAA,EAAE,GAAG,UAAU,CAAA;mBACf,EAAE,GAAG,UAAU,CAAoB,kBAAA,CAAA;AAC5C,gBAAA,SAAS,EAAE,CAAA,MAAA,EAAS,UAAU,GAAG,KAAK,CAAG,CAAA,CAAA;gBACzC,OAAO,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK;AACjC,gBAAA,UAAU,EAAE,uBAAuB;aACpC,EACD,CAAA;AAGF,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,GAAG,YAAY;AACf,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,YAAY;AACpB,gBAAA,UAAU,EAAE,CAAA;mBACH,EAAE,GAAG,UAAU,GAAG,GAAG,CAAA;AACrB,iBAAA,EAAA,EAAE,GAAG,UAAU,GAAG,GAAG,CAAoB,kBAAA,CAAA;gBAClD,SAAS,EAAE,SAAS,UAAU,GAAG,KAAK,CAAY,SAAA,EAAA,gBAAgB,GAAG,GAAG,CAAM,IAAA,CAAA;gBAC9E,OAAO,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK;AACjC,gBAAA,UAAU,EAAE,uBAAuB;aACpC,EACD,CAAA;AAGD,QAAA,CAAC,QAAQ,KACR,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,GAAG,YAAY;AACf,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,YAAY;AACpB,gBAAA,UAAU,EAAE,CAAA;qBACH,EAAE,GAAG,UAAU,GAAG,GAAG,CAAA;AACrB,mBAAA,EAAA,EAAE,GAAG,UAAU,GAAG,GAAG,CAAoB,kBAAA,CAAA;gBAClD,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,WAAW,IAAI,IAAI,CAAG,CAAA,CAAA;AAC/C,gBAAA,OAAO,EAAE,IAAI;AACd,aAAA,EAAA,CACD,CACH;AAGD,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,gBAAA,GAAG,YAAY;AACf,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,YAAY,EAAE,KAAK;AACnB,gBAAA,UAAU,EAAE,CAAA,gBAAA,EAAmB,gBAAgB,GAAG,UAAU,CAAA;AACpD,gBAAA,EAAA,EAAE,GAAG,UAAU,CAAA;AACf,gBAAA,EAAA,EAAE,GAAG,UAAU,CAAA;kBACf,EAAE,GAAG,UAAU,CAAc,YAAA,CAAA;AACrC,gBAAA,cAAc,EAAE,WAAW;AAC3B,gBAAA,SAAS,EAAE,CAAS,MAAA,EAAA,UAAU,YAAY,gBAAgB,GAAG,GAAG,CAAM,IAAA,CAAA;AACtE,gBAAA,SAAS,EAAE,QAAQ;AACjB,sBAAE,wGAAwG;AAC1G,sBAAE,CAAA,cAAA,EAAiB,EAAE,GAAG,UAAU,CAAA;AACd,8BAAA,EAAA,EAAE,GAAG,UAAU,CAAA;AACO,qDAAA,CAAA;AAC5C,gBAAA,UAAU,EAAE,0BAA0B;AACvC,aAAA,EAAA;AAGD,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,YAAY,EAAE,KAAK;oBACnB,UAAU,EAAE,CAA6B,0BAAA,EAAA,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAK,EAAA,EAAA,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;iCAC3F,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAqB,mBAAA,CAAA;oBACjE,OAAO,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;AAC/B,oBAAA,UAAU,EAAE,uBAAuB;iBACpC,EACD,CAAA;AAGF,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,YAAY,EAAE,KAAK;AACnB,oBAAA,UAAU,EAAE,CAAmB,gBAAA,EAAA,EAAE,GAAG,gBAAgB,GAAG,GAAG,CAAA;;AAErC,+BAAA,EAAA,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAA;AACzB,8BAAA,CAAA;oBACnB,SAAS,EAAE,QAAQ,GAAG,qBAAqB,GAAG,qBAAqB;oBACnE,OAAO,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;AAC/B,oBAAA,UAAU,EAAE,uBAAuB;iBACpC,EACD,CAAA;YAGD,CAAC,QAAQ,KACR,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;AACE,gBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,eAAe,EAAE,OAAO;AACxB,wBAAA,KAAK,EAAE,KAAK;AACZ,wBAAA,MAAM,EAAE,KAAK;AACb,wBAAA,GAAG,EAAE,CAAA,EAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,EAAE,CAAG,CAAA,CAAA;AAC7C,wBAAA,IAAI,EAAE,CAAA,EAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,EAAE,CAAG,CAAA,CAAA;AAC9C,wBAAA,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI;AAC/C,wBAAA,MAAM,EAAE,WAAW;AACnB,wBAAA,SAAS,EAAE,CAAA,MAAA,EAAS,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI,CAAG,CAAA,CAAA;qBAC7D,EACD,CAAA;AACF,gBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,eAAe,EAAE,OAAO;AACxB,wBAAA,KAAK,EAAE,KAAK;AACZ,wBAAA,MAAM,EAAE,KAAK;AACb,wBAAA,GAAG,EAAE,CAAG,EAAA,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAG,CAAA,CAAA;AACjD,wBAAA,IAAI,EAAE,CAAG,EAAA,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAG,CAAA,CAAA;AAClD,wBAAA,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK;AAChD,wBAAA,MAAM,EAAE,aAAa;AACrB,wBAAA,SAAS,EAAE,CAAA,MAAA,EAAS,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI,CAAG,CAAA,CAAA;qBAC7D,EACD,CAAA,CACD,CACJ,CACG;AAGL,QAAA,QAAQ,KACP,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;AACE,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,oBAAA,GAAG,YAAY;AACf,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,YAAY,EAAE,KAAK;AACnB,oBAAA,MAAM,EAAE,mBAAmB;AAC3B,oBAAA,OAAO,EAAE,CAAC;AACV,oBAAA,SAAS,EAAE,gCAAgC;AAC3C,oBAAA,cAAc,EAAE,IAAI;iBACrB,EACD,CAAA;AACF,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,oBAAA,GAAG,YAAY;AACf,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,YAAY,EAAE,KAAK;AACnB,oBAAA,MAAM,EAAE,mBAAmB;AAC3B,oBAAA,OAAO,EAAE,CAAC;AACV,oBAAA,SAAS,EAAE,gCAAgC;AAC3C,oBAAA,cAAc,EAAE,MAAM;iBACvB,EACD,CAAA;AACF,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,oBAAA,GAAG,YAAY;AACf,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,YAAY,EAAE,KAAK;AACnB,oBAAA,MAAM,EAAE,mBAAmB;AAC3B,oBAAA,OAAO,EAAE,CAAC;AACV,oBAAA,SAAS,EAAE,gCAAgC;AAC3C,oBAAA,cAAc,EAAE,MAAM;AACvB,iBAAA,EAAA,CACD,CACD,CACJ;QAGA,CAAC,QAAQ,KACR,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;AACE,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,oBAAA,GAAG,YAAY;AACf,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,YAAY,EAAE,KAAK;AACnB,oBAAA,MAAM,EAAE,mBAAmB;AAC3B,oBAAA,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,KAAK;AAClD,oBAAA,SAAS,EAAE,CAAA,MAAA,EAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAG,CAAA,CAAA;AAC3D,oBAAA,SAAS,EAAE,gCAAgC;AAC3C,oBAAA,cAAc,EAAE,IAAI;iBACrB,EACD,CAAA;AACF,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,oBAAA,GAAG,YAAY;AACf,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,YAAY,EAAE,KAAK;AACnB,oBAAA,MAAM,EAAE,mBAAmB;AAC3B,oBAAA,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK;AACrD,oBAAA,SAAS,EAAE,CAAS,MAAA,EAAA,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAG,CAAA,CAAA;AAChE,oBAAA,SAAS,EAAE,gCAAgC;AAC3C,oBAAA,cAAc,EAAE,MAAM;AACvB,iBAAA,EAAA,CACD,CACD,CACJ,CACG,EACN;AACJ;;;;","x_google_ignoreList":[0]}
|
package/dist/index.js
CHANGED
|
@@ -49,7 +49,7 @@ function usePamela() {
|
|
|
49
49
|
return context;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
function CallButton({ to, task, country, locale, instructions, end_user_id, metadata, tools, webhooks, onCallStart, onCallComplete, onError, variant = 'primary', size = 'md', pollInterval = 2000, pollTimeout = 5 * 60 * 1000, disabled = false, className = '', children, }) {
|
|
52
|
+
function CallButton({ to, task, country, locale, instructions, max_duration_seconds, voice, agent_name, caller_name, end_user_id, metadata, tools, webhooks, onCallStart, onCallComplete, onError, variant = 'primary', size = 'md', pollInterval = 2000, pollTimeout = 5 * 60 * 1000, disabled = false, className = '', children, }) {
|
|
53
53
|
const { client } = usePamela();
|
|
54
54
|
const [loading, setLoading] = React.useState(false);
|
|
55
55
|
const [callId, setCallId] = React.useState(null);
|
|
@@ -88,6 +88,10 @@ function CallButton({ to, task, country, locale, instructions, end_user_id, meta
|
|
|
88
88
|
country,
|
|
89
89
|
locale,
|
|
90
90
|
instructions,
|
|
91
|
+
max_duration_seconds,
|
|
92
|
+
voice,
|
|
93
|
+
agent_name,
|
|
94
|
+
caller_name,
|
|
91
95
|
end_user_id,
|
|
92
96
|
metadata,
|
|
93
97
|
tools,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/PamelaProvider.tsx","../src/CallButton.tsx","../src/TranscriptViewer.tsx","../src/CallStatus.tsx","../src/CallHistory.tsx","../src/VoiceOrb.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React, { createContext, useContext, ReactNode, useMemo } from 'react';\nimport { PamelaClient, PamelaClientConfig } from '@thisispamela/sdk';\nimport { PamelaConfig } from './types';\n\ninterface PamelaContextValue {\n client: PamelaClient;\n}\n\nconst PamelaContext = createContext<PamelaContextValue | null>(null);\n\nexport interface PamelaProviderProps {\n config: PamelaConfig;\n children: ReactNode;\n}\n\nexport function PamelaProvider({ config, children }: PamelaProviderProps) {\n const client = useMemo(\n () =>\n new PamelaClient({\n apiKey: config.apiKey,\n baseUrl: config.baseUrl,\n }),\n [config.apiKey, config.baseUrl]\n );\n\n return (\n <PamelaContext.Provider value={{ client }}>\n {children}\n </PamelaContext.Provider>\n );\n}\n\nexport function usePamela(): PamelaContextValue {\n const context = useContext(PamelaContext);\n if (!context) {\n throw new Error('usePamela must be used within a PamelaProvider');\n }\n return context;\n}\n\n","import React, { useState, useRef, useEffect } from 'react';\nimport { usePamela } from './PamelaProvider';\nimport { CallButtonProps } from './types';\n\nexport function CallButton({\n to,\n task,\n country,\n locale,\n instructions,\n end_user_id,\n metadata,\n tools,\n webhooks,\n onCallStart,\n onCallComplete,\n onError,\n variant = 'primary',\n size = 'md',\n pollInterval = 2000,\n pollTimeout = 5 * 60 * 1000,\n disabled = false,\n className = '',\n children,\n}: CallButtonProps) {\n const { client } = usePamela();\n const [loading, setLoading] = useState(false);\n const [callId, setCallId] = useState<string | null>(null);\n const pollIntervalRef = useRef<NodeJS.Timeout | null>(null);\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n };\n }, []);\n\n const handleClick = async () => {\n if (loading || disabled) return;\n\n // Clear any existing intervals/timeouts\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n\n setLoading(true);\n try {\n const call = await client.createCall({\n to,\n task,\n country,\n locale,\n instructions,\n end_user_id,\n metadata,\n tools,\n webhooks,\n });\n\n setCallId(call.id);\n onCallStart?.(call.id);\n\n // Poll for call completion\n pollIntervalRef.current = setInterval(async () => {\n try {\n const status = await client.getCall(call.id);\n if (status.status === 'completed' || status.status === 'failed' || status.status === 'cancelled') {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n setLoading(false);\n onCallComplete?.(status);\n }\n } catch (error) {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n setLoading(false);\n onError?.(error as Error);\n }\n }, pollInterval);\n\n // Timeout after 5 minutes\n timeoutRef.current = setTimeout(() => {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n setLoading(false);\n }, pollTimeout);\n } catch (error) {\n setLoading(false);\n onError?.(error as Error);\n }\n };\n\n const variantClass =\n variant === 'secondary'\n ? 'pamela-call-button--secondary'\n : variant === 'danger'\n ? 'pamela-call-button--danger'\n : 'pamela-call-button--primary';\n const sizeClass =\n size === 'sm'\n ? 'pamela-call-button--sm'\n : size === 'lg'\n ? 'pamela-call-button--lg'\n : 'pamela-call-button--md';\n\n return (\n <button\n onClick={handleClick}\n disabled={loading || disabled}\n className={`pamela-call-button ${variantClass} ${sizeClass} ${className}`}\n >\n {loading ? 'Calling...' : children || 'Call Now'}\n </button>\n );\n}\n\n","import React, { useEffect, useRef } from 'react';\nimport { TranscriptViewerProps } from './types';\n\nexport function TranscriptViewer({\n transcript,\n maxHeight = 400,\n autoScroll = true,\n className = '',\n}: TranscriptViewerProps) {\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (!autoScroll || !containerRef.current) return;\n containerRef.current.scrollTop = containerRef.current.scrollHeight;\n }, [autoScroll, transcript]);\n\n const getMessageStyle = (speaker: string) => {\n if (speaker === 'pamela' || speaker === 'agent') {\n // Pamela messages: white background with beige border\n return {\n backgroundColor: 'var(--bubble-pamela, #ffffff)',\n border: '1px solid var(--bubble-border, rgba(231, 171, 132, 0.3))',\n color: 'var(--text-primary, #1f2937)',\n className: 'pamela-transcript-bubble pamela-transcript-bubble--pamela',\n };\n } else if (speaker === 'user' || speaker === 'caller') {\n // User messages: orange background\n return {\n backgroundColor: 'var(--bubble-user, #FA931C)',\n border: 'none',\n color: '#ffffff',\n className: 'pamela-transcript-bubble pamela-transcript-bubble--user',\n };\n } else {\n // Call recipient: blue background\n return {\n backgroundColor: 'var(--bubble-recipient, #4b4bea)',\n border: 'none',\n color: '#ffffff',\n className: 'pamela-transcript-bubble pamela-transcript-bubble--recipient',\n };\n }\n };\n\n return (\n <div\n className={`pamela-transcript-viewer ${className}`}\n style={{\n fontFamily: 'Poppins, Inter, -apple-system, BlinkMacSystemFont, sans-serif',\n }}\n >\n <h3\n style={{\n marginBottom: '16px',\n fontSize: '18px',\n fontWeight: '600',\n color: 'var(--text-primary, #1f2937)',\n }}\n >\n Transcript\n </h3>\n <div\n className=\"pamela-transcript-container\"\n style={{\n maxHeight: typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n overflowY: 'auto',\n borderRadius: 'var(--radius-sm, 0.5rem)',\n padding: '16px',\n background: 'var(--surface, #F7F4ED)',\n }}\n ref={containerRef}\n >\n {transcript.map((entry, index) => {\n const style = getMessageStyle(entry.speaker);\n const { className: bubbleClassName, ...bubbleStyle } = style;\n return (\n <div\n key={index}\n className={bubbleClassName}\n style={{\n marginBottom: '12px',\n ...bubbleStyle,\n borderRadius: 'var(--radius-md, 0.75rem)',\n maxWidth: '75%',\n marginLeft: entry.speaker === 'pamela' || entry.speaker === 'agent' ? '0' : 'auto',\n marginRight: entry.speaker === 'pamela' || entry.speaker === 'agent' ? 'auto' : '0',\n }}\n >\n <div\n style={{\n fontSize: '12px',\n fontWeight: '600',\n color: style.color === '#ffffff' ? 'rgba(255, 255, 255, 0.9)' : 'var(--text-muted, #6b7280)',\n marginBottom: '6px',\n textTransform: 'capitalize',\n }}\n >\n {entry.speaker === 'pamela' || entry.speaker === 'agent'\n ? 'Pamela'\n : entry.speaker === 'user' || entry.speaker === 'caller'\n ? 'You'\n : 'Call Recipient'}\n </div>\n <div\n style={{\n fontSize: '14px',\n lineHeight: '1.6',\n color: style.color,\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n }}\n >\n {entry.text}\n </div>\n {entry.timestamp && (\n <div\n style={{\n fontSize: '11px',\n color: style.color === '#ffffff' ? 'rgba(255, 255, 255, 0.7)' : 'var(--text-muted, #9ca3af)',\n marginTop: '6px',\n }}\n >\n {new Date(entry.timestamp).toLocaleTimeString()}\n </div>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\n","import React, { useState, useEffect } from 'react';\nimport { usePamela } from './PamelaProvider';\nimport { CallStatusProps } from './types';\nimport { CallStatus as CallStatusType } from '@thisispamela/sdk';\nimport { TranscriptViewer } from './TranscriptViewer';\n\n// Status indicator component matching your 3-color system\nfunction StatusIndicator({ status }: { status: string }) {\n const getStatusConfig = () => {\n switch (status) {\n case 'queued':\n case 'initiating':\n return {\n dots: [\n { color: 'var(--status-warning, #eab308)', pulse: true },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n ],\n text: 'Queued...',\n textColor: 'var(--status-warning, #eab308)',\n };\n case 'ringing':\n return {\n dots: [\n { color: 'var(--status-success, #10b981)', pulse: true },\n { color: 'var(--status-warning, #eab308)', pulse: true },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n ],\n text: 'Ringing...',\n textColor: 'var(--status-warning, #eab308)',\n };\n case 'in_progress':\n case 'in-progress':\n return {\n dots: [\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: true },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n ],\n text: 'In progress',\n textColor: 'var(--status-success, #10b981)',\n };\n case 'completed':\n return {\n dots: [\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false, icon: true },\n ],\n text: 'Completed',\n textColor: 'var(--status-success, #10b981)',\n };\n case 'failed':\n return {\n dots: [],\n text: 'Failed',\n textColor: 'var(--status-error, #ef4444)',\n };\n case 'cancelled':\n return {\n dots: [],\n text: 'Cancelled',\n textColor: 'var(--status-error, #ef4444)',\n };\n default:\n return {\n dots: [],\n text: status,\n textColor: '#6b7280', // gray-500\n };\n }\n };\n\n const config = getStatusConfig();\n\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: '6px' }}>\n {config.dots.length > 0 && (\n <div style={{ display: 'flex', alignItems: 'center', gap: '4px' }}>\n {config.dots.map((dot, idx) => (\n <div key={idx}>\n {dot.icon ? (\n <svg\n style={{ width: '12px', height: '12px', color: dot.color }}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n ) : (\n <div\n style={{\n width: '8px',\n height: '8px',\n borderRadius: '50%',\n backgroundColor: dot.color,\n animation: dot.pulse ? 'pamela-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite' : 'none',\n }}\n />\n )}\n </div>\n ))}\n </div>\n )}\n <span\n style={{\n fontSize: '12px',\n fontWeight: '500',\n color: config.textColor,\n fontStyle: 'italic',\n fontFamily: 'Poppins, Inter, sans-serif',\n }}\n >\n {config.text}\n </span>\n </div>\n );\n}\n\nexport function CallStatus({\n callId,\n pollInterval = 5000,\n onStatusChange,\n showTranscript = true,\n showSummary = true,\n compact = false,\n className = '',\n}: CallStatusProps) {\n const { client } = usePamela();\n const [status, setStatus] = useState<CallStatusType | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n if (!callId) return;\n\n const fetchStatus = async () => {\n try {\n const callStatus = await client.getCall(callId);\n setStatus(callStatus);\n setLoading(false);\n onStatusChange?.(callStatus);\n } catch (err) {\n setError(err as Error);\n setLoading(false);\n }\n };\n\n fetchStatus();\n\n const interval = setInterval(fetchStatus, pollInterval);\n return () => clearInterval(interval);\n }, [callId, pollInterval, client, onStatusChange]);\n\n if (loading) {\n return (\n <div className={`pamela-call-status ${className}`}>\n <div style={{ color: 'var(--text-muted, #6b7280)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Loading call status...\n </div>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className={`pamela-call-status ${className}`}>\n <div style={{ color: 'var(--status-error, #ef4444)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Error: {error.message}\n </div>\n </div>\n );\n }\n\n if (!status) {\n return (\n <div className={`pamela-call-status ${className}`}>\n <div style={{ color: 'var(--text-muted, #6b7280)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Call not found\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`pamela-call-status ${className}`}\n style={{\n fontFamily: 'Poppins, Inter, -apple-system, BlinkMacSystemFont, sans-serif',\n }}\n >\n <div\n style={{\n marginBottom: compact ? '8px' : '16px',\n padding: compact ? '12px' : '16px',\n background: 'var(--surface-liquid-strong, #ffffff)',\n borderRadius: 'var(--radius-md, 0.75rem)',\n border: '1px solid var(--surface-border-strong, rgba(231, 171, 132, 0.3))',\n boxShadow: 'var(--shadow-soft, 0 1px 3px rgba(0, 0, 0, 0.1))',\n }}\n >\n <div style={{ marginBottom: '12px' }}>\n <StatusIndicator status={status.status} />\n </div>\n <div style={{ fontSize: compact ? '12px' : '14px', color: 'var(--text-primary, #1f2937)', lineHeight: '1.6' }}>\n <div style={{ marginBottom: compact ? '6px' : '8px' }}>\n <span style={{ fontWeight: '600', color: 'var(--text-secondary, #6b7280)' }}>To:</span>{' '}\n <span style={{ color: 'var(--text-primary, #1f2937)' }}>{status.to}</span>\n </div>\n <div style={{ marginBottom: compact ? '6px' : '8px' }}>\n <span style={{ fontWeight: '600', color: 'var(--text-secondary, #6b7280)' }}>From:</span>{' '}\n <span style={{ color: 'var(--text-primary, #1f2937)' }}>{status.from_}</span>\n </div>\n {status.duration_seconds && !compact && (\n <div style={{ marginBottom: '8px' }}>\n <span style={{ fontWeight: '600', color: 'var(--text-secondary, #6b7280)' }}>Duration:</span>{' '}\n <span style={{ color: 'var(--text-primary, #1f2937)' }}>{status.duration_seconds}s</span>\n </div>\n )}\n </div>\n {showSummary && status.summary && (\n <div\n style={{\n marginTop: compact ? '12px' : '16px',\n padding: compact ? '12px' : '16px',\n background: 'var(--cta-bg, linear-gradient(to right, rgba(250, 147, 28, 0.1), rgba(253, 139, 116, 0.1)))',\n border: 'var(--cta-border, 1px solid rgba(250, 147, 28, 0.3))',\n borderRadius: 'var(--radius-md, 0.75rem)',\n }}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n marginBottom: compact ? '6px' : '8px',\n }}\n >\n <svg\n style={{ width: '20px', height: '20px', color: 'var(--accent, #FA931C)' }}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n />\n </svg>\n <h4 style={{ fontWeight: '600', color: 'var(--text-primary, #1f2937)', fontSize: compact ? '12px' : '14px' }}>\n Call Summary\n </h4>\n </div>\n <p style={{ fontSize: compact ? '12px' : '14px', color: 'var(--text-primary, #1f2937)', lineHeight: '1.6' }}>\n {status.summary}\n </p>\n </div>\n )}\n </div>\n {showTranscript && status.transcript && status.transcript.length > 0 && (\n <TranscriptViewer transcript={status.transcript as Array<{ speaker: string; text: string; timestamp: string }>} />\n )}\n </div>\n );\n}\n\n","import React, { useState, useEffect } from 'react';\nimport { usePamela } from './PamelaProvider';\nimport { CallHistoryProps } from './types';\nimport { CallStatus } from '@thisispamela/sdk';\n\nexport function CallHistory({\n limit = 10,\n onCallSelect,\n className = '',\n}: CallHistoryProps) {\n const { client } = usePamela();\n const [calls, setCalls] = useState<CallStatus[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n let isMounted = true;\n const fetchCalls = async () => {\n try {\n const response = await client.listCalls({ limit });\n if (!isMounted) {\n return;\n }\n setCalls(response.items || []);\n setLoading(false);\n } catch (err) {\n if (!isMounted) {\n return;\n }\n setError(err as Error);\n setLoading(false);\n }\n };\n\n fetchCalls();\n\n return () => {\n isMounted = false;\n };\n }, [client, limit]);\n\n if (loading) {\n return (\n <div className={`pamela-call-history ${className}`}>\n <div style={{ color: 'var(--text-muted, #6b7280)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Loading call history...\n </div>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className={`pamela-call-history ${className}`}>\n <div style={{ color: 'var(--status-error, #ef4444)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Error: {error.message}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`pamela-call-history ${className}`}\n style={{\n fontFamily: 'Poppins, Inter, -apple-system, BlinkMacSystemFont, sans-serif',\n }}\n >\n <h3\n style={{\n marginBottom: '16px',\n fontSize: '18px',\n fontWeight: '600',\n color: 'var(--text-primary, #1f2937)',\n }}\n >\n Call History\n </h3>\n {calls.length === 0 ? (\n <div style={{ color: 'var(--text-muted, #6b7280)', fontSize: '14px' }}>No calls yet</div>\n ) : (\n <div>\n {calls.map((call) => (\n <div\n key={call.id}\n onClick={() => onCallSelect?.(call.id)}\n style={{\n padding: '12px',\n marginBottom: '8px',\n border: '1px solid var(--surface-border-strong, rgba(231, 171, 132, 0.3))',\n borderRadius: 'var(--radius-sm, 0.5rem)',\n cursor: onCallSelect ? 'pointer' : 'default',\n background: 'var(--surface-liquid-strong, #ffffff)',\n transition: 'background-color 0.2s',\n ...(onCallSelect && {\n ':hover': {\n backgroundColor: 'var(--surface, #F7F4ED)',\n },\n }),\n }}\n onMouseEnter={(e) => {\n if (onCallSelect) {\n e.currentTarget.style.backgroundColor = 'var(--surface, #F7F4ED)';\n }\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'var(--surface-liquid-strong, #ffffff)';\n }}\n >\n <div style={{ fontWeight: '600', color: 'var(--text-primary, #1f2937)', marginBottom: '4px' }}>\n {call.to}\n </div>\n <div style={{ fontSize: '14px', color: 'var(--text-secondary, #6b7280)' }}>\n {call.status} • {new Date(call.created_at).toLocaleString()}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { VoiceOrbProps } from './types';\n\nconst sizeMap: Record<'small' | 'medium' | 'large', string> = {\n small: 'var(--pamela-orb-size-small, 96px)',\n medium: 'var(--pamela-orb-size-medium, 128px)',\n large: 'var(--pamela-orb-size-large, 192px)',\n};\n\nexport function VoiceOrb({ isActive = false, size = 'large', className = '' }: VoiceOrbProps) {\n const [pulsePhase, setPulsePhase] = useState(0);\n const [idlePhase, setIdlePhase] = useState(Math.floor(Math.random() * 720)); // Random initial phase to avoid sync\n\n // Continuous animation for idle mode - runs once on mount\n // Remove modulo to allow continuous rotation (can go beyond 360 degrees for seamless loop)\n useEffect(() => {\n const interval = setInterval(() => {\n setIdlePhase(prev => prev + 1); // Continuous growth - no reset for fluid animation\n }, 16); // ~60fps\n\n return () => clearInterval(interval);\n }, []); // Empty deps - only run once\n\n // Fast animation for active mode\n useEffect(() => {\n if (!isActive) return;\n \n const interval = setInterval(() => {\n setPulsePhase(prev => (prev + 1) % 360);\n }, 16); // ~60fps\n\n return () => clearInterval(interval);\n }, [isActive]);\n\n const orbSize = sizeMap[size];\n\n // Multiple breathing layers for idle mode (more organic) - reduced by 10%\n const baseTime = idlePhase * 0.05;\n const idleBreath1 = Math.sin(baseTime) * 0.072; // 7.2% primary breath (was 8%)\n const idleBreath2 = Math.sin(baseTime * 1.3) * 0.045; // 4.5% secondary breath (was 5%)\n const idleBreath3 = Math.sin(baseTime * 0.7) * 0.027; // 2.7% tertiary breath (was 3%)\n \n // Calculate pulse scale - multi-layer breathing when idle, faster pulse when active - reduced by 10%\n const pulseScale = isActive \n ? 1 + Math.sin((pulsePhase * Math.PI) / 180) * 0.135 // 13.5% pulse variation (was 15%)\n : 1 + idleBreath1 + idleBreath2 + idleBreath3; // Layered breathing when idle\n\n // Floating/levitation effect (idle only) - reduced by 10%\n const floatY = isActive ? 0 : Math.sin(baseTime * 0.4) * 7.2; // 7.2px float movement (was 8px)\n\n // Continuous gradient rotation - slower when idle, faster when active\n const gradientRotation = isActive \n ? pulsePhase * 0.5 \n : idlePhase * 0.15; // Slow, continuous rotation when idle\n\n // Subtle color shift for idle mode - reduced by 10%\n const colorShift = isActive ? 0 : Math.sin(baseTime * 0.3) * 9; // 9deg color shift (was 10deg)\n\n const orbSizeStyle: React.CSSProperties = {\n width: orbSize,\n height: orbSize,\n };\n\n return (\n <div \n className={className}\n style={{\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transform: `translateY(${floatY}px)`,\n transition: isActive ? 'transform 0.3s ease-out' : 'none',\n }}\n >\n {/* Outer glow ring - animated - reduced opacity by 10% */}\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n filter: 'blur(24px)', // blur-xl\n background: `radial-gradient(circle, \n hsla(${25 + colorShift}, 75%, 55%, 0.54), \n hsla(${11 + colorShift}, 97%, 72%, 0.54))`,\n transform: `scale(${pulseScale * 1.125})`,\n opacity: isActive ? 0.315 : 0.225,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n \n {/* Middle glow ring - slightly different timing - reduced opacity by 10% */}\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n filter: 'blur(16px)', // blur-lg\n background: `radial-gradient(circle, \n hsla(${25 + colorShift * 0.7}, 75%, 55%, 0.45), \n hsla(${11 + colorShift * 0.7}, 97%, 72%, 0.45))`,\n transform: `scale(${pulseScale * 1.035}) rotate(${gradientRotation * 0.3}deg)`,\n opacity: isActive ? 0.405 : 0.315,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n\n {/* Additional subtle glow layer for depth (idle only) - reduced by 10% */}\n {!isActive && (\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n filter: 'blur(40px)', // blur-2xl\n background: `radial-gradient(circle, \n hsla(${25 + colorShift * 0.5}, 70%, 50%, 0.27), \n hsla(${11 + colorShift * 0.5}, 97%, 72%, 0.27))`,\n transform: `scale(${(1 + idleBreath1) * 1.26})`,\n opacity: 0.18,\n }}\n />\n )}\n \n {/* Main orb */}\n <div\n style={{\n ...orbSizeStyle,\n position: 'relative',\n borderRadius: '50%',\n background: `linear-gradient(${gradientRotation + colorShift}deg, \n hsl(${25 + colorShift}, 75%, 55%), \n hsl(${11 + colorShift}, 97%, 72%), \n hsl(${25 + colorShift}, 75%, 55%))`,\n backgroundSize: '200% 200%',\n transform: `scale(${pulseScale}) rotate(${gradientRotation * 0.1}deg)`,\n boxShadow: isActive \n ? '0 0 54px rgba(250,147,28,0.45), 0 0 90px rgba(253,139,116,0.27), inset 0 0 36px rgba(255,255,255,0.09)'\n : `0 0 72px hsla(${25 + colorShift}, 60%, 50%, 0.36), \n 0 0 108px hsla(${11 + colorShift}, 97%, 72%, 0.225), \n inset 0 0 45px rgba(255,255,255,0.135)`,\n transition: 'box-shadow 0.3s ease-out',\n }}\n >\n {/* Inner highlight - moving slightly - reduced opacity by 10% */}\n <div\n style={{\n position: 'absolute',\n inset: 0,\n borderRadius: '50%',\n background: `radial-gradient(circle at ${30 + Math.sin(baseTime * 0.2) * 5}% ${30 + Math.cos(baseTime * 0.2) * 5}%, \n rgba(255,255,255,${isActive ? 0.36 : 0.315}), transparent 60%)`,\n opacity: isActive ? 0.54 : 0.63,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n \n {/* Shimmer effect - always on, but more subtle when idle - reduced by 10% */}\n <div\n style={{\n position: 'absolute',\n inset: 0,\n borderRadius: '50%',\n background: `linear-gradient(${45 + gradientRotation * 0.2}deg, \n transparent 30%, \n rgba(255,255,255,${isActive ? 0.45 : 0.225}) 50%, \n transparent 70%)`,\n animation: isActive ? 'shimmer 3s infinite' : 'shimmer 6s infinite',\n opacity: isActive ? 0.27 : 0.18,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n\n {/* Inner glow particles (idle only) - reduced opacity by 10% */}\n {!isActive && (\n <>\n <div\n style={{\n position: 'absolute',\n borderRadius: '50%',\n backgroundColor: 'white',\n width: '8px',\n height: '8px',\n top: `${25 + Math.sin(baseTime * 0.5) * 15}%`,\n left: `${35 + Math.cos(baseTime * 0.5) * 15}%`,\n opacity: 0.36 + Math.sin(baseTime * 0.8) * 0.18,\n filter: 'blur(2px)',\n transform: `scale(${0.8 + Math.sin(baseTime * 1.2) * 0.36})`,\n }}\n />\n <div\n style={{\n position: 'absolute',\n borderRadius: '50%',\n backgroundColor: 'white',\n width: '6px',\n height: '6px',\n top: `${60 + Math.sin(baseTime * 0.7 + 2) * 12}%`,\n left: `${65 + Math.cos(baseTime * 0.7 + 2) * 12}%`,\n opacity: 0.27 + Math.sin(baseTime * 0.9) * 0.135,\n filter: 'blur(1.5px)',\n transform: `scale(${0.7 + Math.sin(baseTime * 1.4) * 0.27})`,\n }}\n />\n </>\n )}\n </div>\n\n {/* Audio wave rings when active */}\n {isActive && (\n <>\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '2px solid #FA931C',\n opacity: 0,\n animation: 'ripple 2s infinite ease-in-out',\n animationDelay: '0s',\n }}\n />\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '2px solid #fd8b74',\n opacity: 0,\n animation: 'ripple 2s infinite ease-in-out',\n animationDelay: '0.7s',\n }}\n />\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '2px solid #FA931C',\n opacity: 0,\n animation: 'ripple 2s infinite ease-in-out',\n animationDelay: '1.4s',\n }}\n />\n </>\n )}\n\n {/* Subtle idle ripples - very gentle - reduced opacity by 10% */}\n {!isActive && (\n <>\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '1px solid #FA931C',\n opacity: 0.135 + Math.sin(baseTime * 0.25) * 0.045,\n transform: `scale(${1 + Math.sin(baseTime * 0.25) * 0.27})`,\n animation: 'ripple 8s infinite ease-in-out',\n animationDelay: '0s',\n }}\n />\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '1px solid #fd8b74',\n opacity: 0.09 + Math.sin(baseTime * 0.25 + 3) * 0.027,\n transform: `scale(${1 + Math.sin(baseTime * 0.25 + 3) * 0.225})`,\n animation: 'ripple 8s infinite ease-in-out',\n animationDelay: '2.5s',\n }}\n />\n </>\n )}\n </div>\n );\n}\n"],"names":["createContext","useMemo","PamelaClient","useContext","useState","useRef","useEffect"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/PamelaProvider.tsx","../src/CallButton.tsx","../src/TranscriptViewer.tsx","../src/CallStatus.tsx","../src/CallHistory.tsx","../src/VoiceOrb.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React, { createContext, useContext, ReactNode, useMemo } from 'react';\nimport { PamelaClient, PamelaClientConfig } from '@thisispamela/sdk';\nimport { PamelaConfig } from './types';\n\ninterface PamelaContextValue {\n client: PamelaClient;\n}\n\nconst PamelaContext = createContext<PamelaContextValue | null>(null);\n\nexport interface PamelaProviderProps {\n config: PamelaConfig;\n children: ReactNode;\n}\n\nexport function PamelaProvider({ config, children }: PamelaProviderProps) {\n const client = useMemo(\n () =>\n new PamelaClient({\n apiKey: config.apiKey,\n baseUrl: config.baseUrl,\n }),\n [config.apiKey, config.baseUrl]\n );\n\n return (\n <PamelaContext.Provider value={{ client }}>\n {children}\n </PamelaContext.Provider>\n );\n}\n\nexport function usePamela(): PamelaContextValue {\n const context = useContext(PamelaContext);\n if (!context) {\n throw new Error('usePamela must be used within a PamelaProvider');\n }\n return context;\n}\n\n","import React, { useState, useRef, useEffect } from 'react';\nimport { usePamela } from './PamelaProvider';\nimport { CallButtonProps } from './types';\n\nexport function CallButton({\n to,\n task,\n country,\n locale,\n instructions,\n max_duration_seconds,\n voice,\n agent_name,\n caller_name,\n end_user_id,\n metadata,\n tools,\n webhooks,\n onCallStart,\n onCallComplete,\n onError,\n variant = 'primary',\n size = 'md',\n pollInterval = 2000,\n pollTimeout = 5 * 60 * 1000,\n disabled = false,\n className = '',\n children,\n}: CallButtonProps) {\n const { client } = usePamela();\n const [loading, setLoading] = useState(false);\n const [callId, setCallId] = useState<string | null>(null);\n const pollIntervalRef = useRef<NodeJS.Timeout | null>(null);\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n };\n }, []);\n\n const handleClick = async () => {\n if (loading || disabled) return;\n\n // Clear any existing intervals/timeouts\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n\n setLoading(true);\n try {\n const call = await client.createCall({\n to,\n task,\n country,\n locale,\n instructions,\n max_duration_seconds,\n voice,\n agent_name,\n caller_name,\n end_user_id,\n metadata,\n tools,\n webhooks,\n });\n\n setCallId(call.id);\n onCallStart?.(call.id);\n\n // Poll for call completion\n pollIntervalRef.current = setInterval(async () => {\n try {\n const status = await client.getCall(call.id);\n if (status.status === 'completed' || status.status === 'failed' || status.status === 'cancelled') {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n setLoading(false);\n onCallComplete?.(status);\n }\n } catch (error) {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n setLoading(false);\n onError?.(error as Error);\n }\n }, pollInterval);\n\n // Timeout after 5 minutes\n timeoutRef.current = setTimeout(() => {\n if (pollIntervalRef.current) {\n clearInterval(pollIntervalRef.current);\n pollIntervalRef.current = null;\n }\n setLoading(false);\n }, pollTimeout);\n } catch (error) {\n setLoading(false);\n onError?.(error as Error);\n }\n };\n\n const variantClass =\n variant === 'secondary'\n ? 'pamela-call-button--secondary'\n : variant === 'danger'\n ? 'pamela-call-button--danger'\n : 'pamela-call-button--primary';\n const sizeClass =\n size === 'sm'\n ? 'pamela-call-button--sm'\n : size === 'lg'\n ? 'pamela-call-button--lg'\n : 'pamela-call-button--md';\n\n return (\n <button\n onClick={handleClick}\n disabled={loading || disabled}\n className={`pamela-call-button ${variantClass} ${sizeClass} ${className}`}\n >\n {loading ? 'Calling...' : children || 'Call Now'}\n </button>\n );\n}\n\n","import React, { useEffect, useRef } from 'react';\nimport { TranscriptViewerProps } from './types';\n\nexport function TranscriptViewer({\n transcript,\n maxHeight = 400,\n autoScroll = true,\n className = '',\n}: TranscriptViewerProps) {\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (!autoScroll || !containerRef.current) return;\n containerRef.current.scrollTop = containerRef.current.scrollHeight;\n }, [autoScroll, transcript]);\n\n const getMessageStyle = (speaker: string) => {\n if (speaker === 'pamela' || speaker === 'agent') {\n // Pamela messages: white background with beige border\n return {\n backgroundColor: 'var(--bubble-pamela, #ffffff)',\n border: '1px solid var(--bubble-border, rgba(231, 171, 132, 0.3))',\n color: 'var(--text-primary, #1f2937)',\n className: 'pamela-transcript-bubble pamela-transcript-bubble--pamela',\n };\n } else if (speaker === 'user' || speaker === 'caller') {\n // User messages: orange background\n return {\n backgroundColor: 'var(--bubble-user, #FA931C)',\n border: 'none',\n color: '#ffffff',\n className: 'pamela-transcript-bubble pamela-transcript-bubble--user',\n };\n } else {\n // Call recipient: blue background\n return {\n backgroundColor: 'var(--bubble-recipient, #4b4bea)',\n border: 'none',\n color: '#ffffff',\n className: 'pamela-transcript-bubble pamela-transcript-bubble--recipient',\n };\n }\n };\n\n return (\n <div\n className={`pamela-transcript-viewer ${className}`}\n style={{\n fontFamily: 'Poppins, Inter, -apple-system, BlinkMacSystemFont, sans-serif',\n }}\n >\n <h3\n style={{\n marginBottom: '16px',\n fontSize: '18px',\n fontWeight: '600',\n color: 'var(--text-primary, #1f2937)',\n }}\n >\n Transcript\n </h3>\n <div\n className=\"pamela-transcript-container\"\n style={{\n maxHeight: typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n overflowY: 'auto',\n borderRadius: 'var(--radius-sm, 0.5rem)',\n padding: '16px',\n background: 'var(--surface, #F7F4ED)',\n }}\n ref={containerRef}\n >\n {transcript.map((entry, index) => {\n const style = getMessageStyle(entry.speaker);\n const { className: bubbleClassName, ...bubbleStyle } = style;\n return (\n <div\n key={index}\n className={bubbleClassName}\n style={{\n marginBottom: '12px',\n ...bubbleStyle,\n borderRadius: 'var(--radius-md, 0.75rem)',\n maxWidth: '75%',\n marginLeft: entry.speaker === 'pamela' || entry.speaker === 'agent' ? '0' : 'auto',\n marginRight: entry.speaker === 'pamela' || entry.speaker === 'agent' ? 'auto' : '0',\n }}\n >\n <div\n style={{\n fontSize: '12px',\n fontWeight: '600',\n color: style.color === '#ffffff' ? 'rgba(255, 255, 255, 0.9)' : 'var(--text-muted, #6b7280)',\n marginBottom: '6px',\n textTransform: 'capitalize',\n }}\n >\n {entry.speaker === 'pamela' || entry.speaker === 'agent'\n ? 'Pamela'\n : entry.speaker === 'user' || entry.speaker === 'caller'\n ? 'You'\n : 'Call Recipient'}\n </div>\n <div\n style={{\n fontSize: '14px',\n lineHeight: '1.6',\n color: style.color,\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n }}\n >\n {entry.text}\n </div>\n {entry.timestamp && (\n <div\n style={{\n fontSize: '11px',\n color: style.color === '#ffffff' ? 'rgba(255, 255, 255, 0.7)' : 'var(--text-muted, #9ca3af)',\n marginTop: '6px',\n }}\n >\n {new Date(entry.timestamp).toLocaleTimeString()}\n </div>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\n","import React, { useState, useEffect } from 'react';\nimport { usePamela } from './PamelaProvider';\nimport { CallStatusProps } from './types';\nimport { CallStatus as CallStatusType } from '@thisispamela/sdk';\nimport { TranscriptViewer } from './TranscriptViewer';\n\n// Status indicator component matching your 3-color system\nfunction StatusIndicator({ status }: { status: string }) {\n const getStatusConfig = () => {\n switch (status) {\n case 'queued':\n case 'initiating':\n return {\n dots: [\n { color: 'var(--status-warning, #eab308)', pulse: true },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n ],\n text: 'Queued...',\n textColor: 'var(--status-warning, #eab308)',\n };\n case 'ringing':\n return {\n dots: [\n { color: 'var(--status-success, #10b981)', pulse: true },\n { color: 'var(--status-warning, #eab308)', pulse: true },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n ],\n text: 'Ringing...',\n textColor: 'var(--status-warning, #eab308)',\n };\n case 'in_progress':\n case 'in-progress':\n return {\n dots: [\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: true },\n { color: 'var(--status-muted, #d1d5db)', pulse: false },\n ],\n text: 'In progress',\n textColor: 'var(--status-success, #10b981)',\n };\n case 'completed':\n return {\n dots: [\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false },\n { color: 'var(--status-success, #10b981)', pulse: false, icon: true },\n ],\n text: 'Completed',\n textColor: 'var(--status-success, #10b981)',\n };\n case 'failed':\n return {\n dots: [],\n text: 'Failed',\n textColor: 'var(--status-error, #ef4444)',\n };\n case 'cancelled':\n return {\n dots: [],\n text: 'Cancelled',\n textColor: 'var(--status-error, #ef4444)',\n };\n default:\n return {\n dots: [],\n text: status,\n textColor: '#6b7280', // gray-500\n };\n }\n };\n\n const config = getStatusConfig();\n\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: '6px' }}>\n {config.dots.length > 0 && (\n <div style={{ display: 'flex', alignItems: 'center', gap: '4px' }}>\n {config.dots.map((dot, idx) => (\n <div key={idx}>\n {dot.icon ? (\n <svg\n style={{ width: '12px', height: '12px', color: dot.color }}\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n ) : (\n <div\n style={{\n width: '8px',\n height: '8px',\n borderRadius: '50%',\n backgroundColor: dot.color,\n animation: dot.pulse ? 'pamela-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite' : 'none',\n }}\n />\n )}\n </div>\n ))}\n </div>\n )}\n <span\n style={{\n fontSize: '12px',\n fontWeight: '500',\n color: config.textColor,\n fontStyle: 'italic',\n fontFamily: 'Poppins, Inter, sans-serif',\n }}\n >\n {config.text}\n </span>\n </div>\n );\n}\n\nexport function CallStatus({\n callId,\n pollInterval = 5000,\n onStatusChange,\n showTranscript = true,\n showSummary = true,\n compact = false,\n className = '',\n}: CallStatusProps) {\n const { client } = usePamela();\n const [status, setStatus] = useState<CallStatusType | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n if (!callId) return;\n\n const fetchStatus = async () => {\n try {\n const callStatus = await client.getCall(callId);\n setStatus(callStatus);\n setLoading(false);\n onStatusChange?.(callStatus);\n } catch (err) {\n setError(err as Error);\n setLoading(false);\n }\n };\n\n fetchStatus();\n\n const interval = setInterval(fetchStatus, pollInterval);\n return () => clearInterval(interval);\n }, [callId, pollInterval, client, onStatusChange]);\n\n if (loading) {\n return (\n <div className={`pamela-call-status ${className}`}>\n <div style={{ color: 'var(--text-muted, #6b7280)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Loading call status...\n </div>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className={`pamela-call-status ${className}`}>\n <div style={{ color: 'var(--status-error, #ef4444)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Error: {error.message}\n </div>\n </div>\n );\n }\n\n if (!status) {\n return (\n <div className={`pamela-call-status ${className}`}>\n <div style={{ color: 'var(--text-muted, #6b7280)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Call not found\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`pamela-call-status ${className}`}\n style={{\n fontFamily: 'Poppins, Inter, -apple-system, BlinkMacSystemFont, sans-serif',\n }}\n >\n <div\n style={{\n marginBottom: compact ? '8px' : '16px',\n padding: compact ? '12px' : '16px',\n background: 'var(--surface-liquid-strong, #ffffff)',\n borderRadius: 'var(--radius-md, 0.75rem)',\n border: '1px solid var(--surface-border-strong, rgba(231, 171, 132, 0.3))',\n boxShadow: 'var(--shadow-soft, 0 1px 3px rgba(0, 0, 0, 0.1))',\n }}\n >\n <div style={{ marginBottom: '12px' }}>\n <StatusIndicator status={status.status} />\n </div>\n <div style={{ fontSize: compact ? '12px' : '14px', color: 'var(--text-primary, #1f2937)', lineHeight: '1.6' }}>\n <div style={{ marginBottom: compact ? '6px' : '8px' }}>\n <span style={{ fontWeight: '600', color: 'var(--text-secondary, #6b7280)' }}>To:</span>{' '}\n <span style={{ color: 'var(--text-primary, #1f2937)' }}>{status.to}</span>\n </div>\n <div style={{ marginBottom: compact ? '6px' : '8px' }}>\n <span style={{ fontWeight: '600', color: 'var(--text-secondary, #6b7280)' }}>From:</span>{' '}\n <span style={{ color: 'var(--text-primary, #1f2937)' }}>{status.from_}</span>\n </div>\n {status.duration_seconds && !compact && (\n <div style={{ marginBottom: '8px' }}>\n <span style={{ fontWeight: '600', color: 'var(--text-secondary, #6b7280)' }}>Duration:</span>{' '}\n <span style={{ color: 'var(--text-primary, #1f2937)' }}>{status.duration_seconds}s</span>\n </div>\n )}\n </div>\n {showSummary && status.summary && (\n <div\n style={{\n marginTop: compact ? '12px' : '16px',\n padding: compact ? '12px' : '16px',\n background: 'var(--cta-bg, linear-gradient(to right, rgba(250, 147, 28, 0.1), rgba(253, 139, 116, 0.1)))',\n border: 'var(--cta-border, 1px solid rgba(250, 147, 28, 0.3))',\n borderRadius: 'var(--radius-md, 0.75rem)',\n }}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n marginBottom: compact ? '6px' : '8px',\n }}\n >\n <svg\n style={{ width: '20px', height: '20px', color: 'var(--accent, #FA931C)' }}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n />\n </svg>\n <h4 style={{ fontWeight: '600', color: 'var(--text-primary, #1f2937)', fontSize: compact ? '12px' : '14px' }}>\n Call Summary\n </h4>\n </div>\n <p style={{ fontSize: compact ? '12px' : '14px', color: 'var(--text-primary, #1f2937)', lineHeight: '1.6' }}>\n {status.summary}\n </p>\n </div>\n )}\n </div>\n {showTranscript && status.transcript && status.transcript.length > 0 && (\n <TranscriptViewer transcript={status.transcript as Array<{ speaker: string; text: string; timestamp: string }>} />\n )}\n </div>\n );\n}\n\n","import React, { useState, useEffect } from 'react';\nimport { usePamela } from './PamelaProvider';\nimport { CallHistoryProps } from './types';\nimport { CallStatus } from '@thisispamela/sdk';\n\nexport function CallHistory({\n limit = 10,\n onCallSelect,\n className = '',\n}: CallHistoryProps) {\n const { client } = usePamela();\n const [calls, setCalls] = useState<CallStatus[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n let isMounted = true;\n const fetchCalls = async () => {\n try {\n const response = await client.listCalls({ limit });\n if (!isMounted) {\n return;\n }\n setCalls(response.items || []);\n setLoading(false);\n } catch (err) {\n if (!isMounted) {\n return;\n }\n setError(err as Error);\n setLoading(false);\n }\n };\n\n fetchCalls();\n\n return () => {\n isMounted = false;\n };\n }, [client, limit]);\n\n if (loading) {\n return (\n <div className={`pamela-call-history ${className}`}>\n <div style={{ color: 'var(--text-muted, #6b7280)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Loading call history...\n </div>\n </div>\n );\n }\n\n if (error) {\n return (\n <div className={`pamela-call-history ${className}`}>\n <div style={{ color: 'var(--status-error, #ef4444)', fontFamily: 'Poppins, Inter, sans-serif' }}>\n Error: {error.message}\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`pamela-call-history ${className}`}\n style={{\n fontFamily: 'Poppins, Inter, -apple-system, BlinkMacSystemFont, sans-serif',\n }}\n >\n <h3\n style={{\n marginBottom: '16px',\n fontSize: '18px',\n fontWeight: '600',\n color: 'var(--text-primary, #1f2937)',\n }}\n >\n Call History\n </h3>\n {calls.length === 0 ? (\n <div style={{ color: 'var(--text-muted, #6b7280)', fontSize: '14px' }}>No calls yet</div>\n ) : (\n <div>\n {calls.map((call) => (\n <div\n key={call.id}\n onClick={() => onCallSelect?.(call.id)}\n style={{\n padding: '12px',\n marginBottom: '8px',\n border: '1px solid var(--surface-border-strong, rgba(231, 171, 132, 0.3))',\n borderRadius: 'var(--radius-sm, 0.5rem)',\n cursor: onCallSelect ? 'pointer' : 'default',\n background: 'var(--surface-liquid-strong, #ffffff)',\n transition: 'background-color 0.2s',\n ...(onCallSelect && {\n ':hover': {\n backgroundColor: 'var(--surface, #F7F4ED)',\n },\n }),\n }}\n onMouseEnter={(e) => {\n if (onCallSelect) {\n e.currentTarget.style.backgroundColor = 'var(--surface, #F7F4ED)';\n }\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'var(--surface-liquid-strong, #ffffff)';\n }}\n >\n <div style={{ fontWeight: '600', color: 'var(--text-primary, #1f2937)', marginBottom: '4px' }}>\n {call.to}\n </div>\n <div style={{ fontSize: '14px', color: 'var(--text-secondary, #6b7280)' }}>\n {call.status} • {new Date(call.created_at).toLocaleString()}\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { VoiceOrbProps } from './types';\n\nconst sizeMap: Record<'small' | 'medium' | 'large', string> = {\n small: 'var(--pamela-orb-size-small, 96px)',\n medium: 'var(--pamela-orb-size-medium, 128px)',\n large: 'var(--pamela-orb-size-large, 192px)',\n};\n\nexport function VoiceOrb({ isActive = false, size = 'large', className = '' }: VoiceOrbProps) {\n const [pulsePhase, setPulsePhase] = useState(0);\n const [idlePhase, setIdlePhase] = useState(Math.floor(Math.random() * 720)); // Random initial phase to avoid sync\n\n // Continuous animation for idle mode - runs once on mount\n // Remove modulo to allow continuous rotation (can go beyond 360 degrees for seamless loop)\n useEffect(() => {\n const interval = setInterval(() => {\n setIdlePhase(prev => prev + 1); // Continuous growth - no reset for fluid animation\n }, 16); // ~60fps\n\n return () => clearInterval(interval);\n }, []); // Empty deps - only run once\n\n // Fast animation for active mode\n useEffect(() => {\n if (!isActive) return;\n \n const interval = setInterval(() => {\n setPulsePhase(prev => (prev + 1) % 360);\n }, 16); // ~60fps\n\n return () => clearInterval(interval);\n }, [isActive]);\n\n const orbSize = sizeMap[size];\n\n // Multiple breathing layers for idle mode (more organic) - reduced by 10%\n const baseTime = idlePhase * 0.05;\n const idleBreath1 = Math.sin(baseTime) * 0.072; // 7.2% primary breath (was 8%)\n const idleBreath2 = Math.sin(baseTime * 1.3) * 0.045; // 4.5% secondary breath (was 5%)\n const idleBreath3 = Math.sin(baseTime * 0.7) * 0.027; // 2.7% tertiary breath (was 3%)\n \n // Calculate pulse scale - multi-layer breathing when idle, faster pulse when active - reduced by 10%\n const pulseScale = isActive \n ? 1 + Math.sin((pulsePhase * Math.PI) / 180) * 0.135 // 13.5% pulse variation (was 15%)\n : 1 + idleBreath1 + idleBreath2 + idleBreath3; // Layered breathing when idle\n\n // Floating/levitation effect (idle only) - reduced by 10%\n const floatY = isActive ? 0 : Math.sin(baseTime * 0.4) * 7.2; // 7.2px float movement (was 8px)\n\n // Continuous gradient rotation - slower when idle, faster when active\n const gradientRotation = isActive \n ? pulsePhase * 0.5 \n : idlePhase * 0.15; // Slow, continuous rotation when idle\n\n // Subtle color shift for idle mode - reduced by 10%\n const colorShift = isActive ? 0 : Math.sin(baseTime * 0.3) * 9; // 9deg color shift (was 10deg)\n\n const orbSizeStyle: React.CSSProperties = {\n width: orbSize,\n height: orbSize,\n };\n\n return (\n <div \n className={className}\n style={{\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transform: `translateY(${floatY}px)`,\n transition: isActive ? 'transform 0.3s ease-out' : 'none',\n }}\n >\n {/* Outer glow ring - animated - reduced opacity by 10% */}\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n filter: 'blur(24px)', // blur-xl\n background: `radial-gradient(circle, \n hsla(${25 + colorShift}, 75%, 55%, 0.54), \n hsla(${11 + colorShift}, 97%, 72%, 0.54))`,\n transform: `scale(${pulseScale * 1.125})`,\n opacity: isActive ? 0.315 : 0.225,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n \n {/* Middle glow ring - slightly different timing - reduced opacity by 10% */}\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n filter: 'blur(16px)', // blur-lg\n background: `radial-gradient(circle, \n hsla(${25 + colorShift * 0.7}, 75%, 55%, 0.45), \n hsla(${11 + colorShift * 0.7}, 97%, 72%, 0.45))`,\n transform: `scale(${pulseScale * 1.035}) rotate(${gradientRotation * 0.3}deg)`,\n opacity: isActive ? 0.405 : 0.315,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n\n {/* Additional subtle glow layer for depth (idle only) - reduced by 10% */}\n {!isActive && (\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n filter: 'blur(40px)', // blur-2xl\n background: `radial-gradient(circle, \n hsla(${25 + colorShift * 0.5}, 70%, 50%, 0.27), \n hsla(${11 + colorShift * 0.5}, 97%, 72%, 0.27))`,\n transform: `scale(${(1 + idleBreath1) * 1.26})`,\n opacity: 0.18,\n }}\n />\n )}\n \n {/* Main orb */}\n <div\n style={{\n ...orbSizeStyle,\n position: 'relative',\n borderRadius: '50%',\n background: `linear-gradient(${gradientRotation + colorShift}deg, \n hsl(${25 + colorShift}, 75%, 55%), \n hsl(${11 + colorShift}, 97%, 72%), \n hsl(${25 + colorShift}, 75%, 55%))`,\n backgroundSize: '200% 200%',\n transform: `scale(${pulseScale}) rotate(${gradientRotation * 0.1}deg)`,\n boxShadow: isActive \n ? '0 0 54px rgba(250,147,28,0.45), 0 0 90px rgba(253,139,116,0.27), inset 0 0 36px rgba(255,255,255,0.09)'\n : `0 0 72px hsla(${25 + colorShift}, 60%, 50%, 0.36), \n 0 0 108px hsla(${11 + colorShift}, 97%, 72%, 0.225), \n inset 0 0 45px rgba(255,255,255,0.135)`,\n transition: 'box-shadow 0.3s ease-out',\n }}\n >\n {/* Inner highlight - moving slightly - reduced opacity by 10% */}\n <div\n style={{\n position: 'absolute',\n inset: 0,\n borderRadius: '50%',\n background: `radial-gradient(circle at ${30 + Math.sin(baseTime * 0.2) * 5}% ${30 + Math.cos(baseTime * 0.2) * 5}%, \n rgba(255,255,255,${isActive ? 0.36 : 0.315}), transparent 60%)`,\n opacity: isActive ? 0.54 : 0.63,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n \n {/* Shimmer effect - always on, but more subtle when idle - reduced by 10% */}\n <div\n style={{\n position: 'absolute',\n inset: 0,\n borderRadius: '50%',\n background: `linear-gradient(${45 + gradientRotation * 0.2}deg, \n transparent 30%, \n rgba(255,255,255,${isActive ? 0.45 : 0.225}) 50%, \n transparent 70%)`,\n animation: isActive ? 'shimmer 3s infinite' : 'shimmer 6s infinite',\n opacity: isActive ? 0.27 : 0.18,\n transition: 'opacity 0.3s ease-out',\n }}\n />\n\n {/* Inner glow particles (idle only) - reduced opacity by 10% */}\n {!isActive && (\n <>\n <div\n style={{\n position: 'absolute',\n borderRadius: '50%',\n backgroundColor: 'white',\n width: '8px',\n height: '8px',\n top: `${25 + Math.sin(baseTime * 0.5) * 15}%`,\n left: `${35 + Math.cos(baseTime * 0.5) * 15}%`,\n opacity: 0.36 + Math.sin(baseTime * 0.8) * 0.18,\n filter: 'blur(2px)',\n transform: `scale(${0.8 + Math.sin(baseTime * 1.2) * 0.36})`,\n }}\n />\n <div\n style={{\n position: 'absolute',\n borderRadius: '50%',\n backgroundColor: 'white',\n width: '6px',\n height: '6px',\n top: `${60 + Math.sin(baseTime * 0.7 + 2) * 12}%`,\n left: `${65 + Math.cos(baseTime * 0.7 + 2) * 12}%`,\n opacity: 0.27 + Math.sin(baseTime * 0.9) * 0.135,\n filter: 'blur(1.5px)',\n transform: `scale(${0.7 + Math.sin(baseTime * 1.4) * 0.27})`,\n }}\n />\n </>\n )}\n </div>\n\n {/* Audio wave rings when active */}\n {isActive && (\n <>\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '2px solid #FA931C',\n opacity: 0,\n animation: 'ripple 2s infinite ease-in-out',\n animationDelay: '0s',\n }}\n />\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '2px solid #fd8b74',\n opacity: 0,\n animation: 'ripple 2s infinite ease-in-out',\n animationDelay: '0.7s',\n }}\n />\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '2px solid #FA931C',\n opacity: 0,\n animation: 'ripple 2s infinite ease-in-out',\n animationDelay: '1.4s',\n }}\n />\n </>\n )}\n\n {/* Subtle idle ripples - very gentle - reduced opacity by 10% */}\n {!isActive && (\n <>\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '1px solid #FA931C',\n opacity: 0.135 + Math.sin(baseTime * 0.25) * 0.045,\n transform: `scale(${1 + Math.sin(baseTime * 0.25) * 0.27})`,\n animation: 'ripple 8s infinite ease-in-out',\n animationDelay: '0s',\n }}\n />\n <div\n style={{\n ...orbSizeStyle,\n position: 'absolute',\n borderRadius: '50%',\n border: '1px solid #fd8b74',\n opacity: 0.09 + Math.sin(baseTime * 0.25 + 3) * 0.027,\n transform: `scale(${1 + Math.sin(baseTime * 0.25 + 3) * 0.225})`,\n animation: 'ripple 8s infinite ease-in-out',\n animationDelay: '2.5s',\n }}\n />\n </>\n )}\n </div>\n );\n}\n"],"names":["createContext","useMemo","PamelaClient","useContext","useState","useRef","useEffect"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/types.d.ts
CHANGED
|
@@ -10,6 +10,10 @@ export interface CallButtonProps {
|
|
|
10
10
|
country?: string;
|
|
11
11
|
locale?: string;
|
|
12
12
|
instructions?: string;
|
|
13
|
+
max_duration_seconds?: number;
|
|
14
|
+
voice?: CreateCallRequest['voice'];
|
|
15
|
+
agent_name?: string;
|
|
16
|
+
caller_name?: string;
|
|
13
17
|
end_user_id?: string;
|
|
14
18
|
metadata?: Record<string, any>;
|
|
15
19
|
tools?: CreateCallRequest["tools"];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC7C,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,KAAK,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC7C,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,KAAK,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisispamela/react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "React components for Pamela Enterprise Voice API integration",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -33,18 +33,18 @@
|
|
|
33
33
|
"react-dom": ">=16.8.0"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@thisispamela/sdk": "^1.0.
|
|
36
|
+
"@thisispamela/sdk": "^1.0.4"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@rollup/plugin-commonjs": "^25.0.0",
|
|
40
40
|
"@rollup/plugin-node-resolve": "^15.0.0",
|
|
41
41
|
"@rollup/plugin-typescript": "^11.0.0",
|
|
42
|
-
"@types/react": "^18.0.0",
|
|
43
|
-
"@types/react-dom": "^18.0.0",
|
|
44
|
-
"@testing-library/react": "^14.0.0",
|
|
45
42
|
"@testing-library/jest-dom": "^6.0.0",
|
|
43
|
+
"@testing-library/react": "^14.0.0",
|
|
46
44
|
"@testing-library/user-event": "^14.0.0",
|
|
47
45
|
"@types/jest": "^29.0.0",
|
|
46
|
+
"@types/react": "^18.0.0",
|
|
47
|
+
"@types/react-dom": "^18.0.0",
|
|
48
48
|
"jest": "^29.0.0",
|
|
49
49
|
"jest-environment-jsdom": "^29.0.0",
|
|
50
50
|
"react": "^18.0.0",
|