@jini-ai/ui 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/features/appearance/react/components/AppearanceTab.d.ts +4 -1
- package/dist/features/appearance/react/components/AppearanceTab.d.ts.map +1 -1
- package/dist/features/appearance/react/components/AppearanceTab.js +7 -4
- package/dist/features/appearance/react/components/AppearanceTab.js.map +1 -1
- package/dist/features/connectors/ConnectorsBrowser.d.ts +8 -1
- package/dist/features/connectors/ConnectorsBrowser.d.ts.map +1 -1
- package/dist/features/connectors/ConnectorsBrowser.js +4 -3
- package/dist/features/connectors/ConnectorsBrowser.js.map +1 -1
- package/dist/features/connectors/components/ConnectorCard.d.ts +4 -1
- package/dist/features/connectors/components/ConnectorCard.d.ts.map +1 -1
- package/dist/features/connectors/components/ConnectorCard.js +5 -4
- package/dist/features/connectors/components/ConnectorCard.js.map +1 -1
- package/dist/features/connectors/components/ConnectorDetailDrawer.d.ts +3 -1
- package/dist/features/connectors/components/ConnectorDetailDrawer.d.ts.map +1 -1
- package/dist/features/connectors/components/ConnectorDetailDrawer.js +3 -2
- package/dist/features/connectors/components/ConnectorDetailDrawer.js.map +1 -1
- package/dist/features/connectors/components/ConnectorGrid.d.ts +4 -1
- package/dist/features/connectors/components/ConnectorGrid.d.ts.map +1 -1
- package/dist/features/connectors/components/ConnectorGrid.js +4 -2
- package/dist/features/connectors/components/ConnectorGrid.js.map +1 -1
- package/dist/features/connectors/components/ConnectorSearchBar.d.ts +3 -1
- package/dist/features/connectors/components/ConnectorSearchBar.d.ts.map +1 -1
- package/dist/features/connectors/components/ConnectorSearchBar.js +4 -3
- package/dist/features/connectors/components/ConnectorSearchBar.js.map +1 -1
- package/dist/features/connectors/components/ProviderTabBar.d.ts +4 -1
- package/dist/features/connectors/components/ProviderTabBar.d.ts.map +1 -1
- package/dist/features/connectors/components/ProviderTabBar.js +5 -3
- package/dist/features/connectors/components/ProviderTabBar.js.map +1 -1
- package/dist/features/execution/react/components/ByokProviderForm.d.ts +3 -1
- package/dist/features/execution/react/components/ByokProviderForm.d.ts.map +1 -1
- package/dist/features/execution/react/components/ByokProviderForm.js +5 -4
- package/dist/features/execution/react/components/ByokProviderForm.js.map +1 -1
- package/dist/features/execution/react/components/ExecutionTab.d.ts +8 -1
- package/dist/features/execution/react/components/ExecutionTab.d.ts.map +1 -1
- package/dist/features/execution/react/components/ExecutionTab.js +4 -3
- package/dist/features/execution/react/components/ExecutionTab.js.map +1 -1
- package/dist/features/execution/react/components/LocalCliAgentCard.d.ts +4 -1
- package/dist/features/execution/react/components/LocalCliAgentCard.d.ts.map +1 -1
- package/dist/features/execution/react/components/LocalCliAgentCard.js +11 -5
- package/dist/features/execution/react/components/LocalCliAgentCard.js.map +1 -1
- package/dist/features/execution/react/components/LocalCliAgentList.d.ts +4 -1
- package/dist/features/execution/react/components/LocalCliAgentList.d.ts.map +1 -1
- package/dist/features/execution/react/components/LocalCliAgentList.js +4 -2
- package/dist/features/execution/react/components/LocalCliAgentList.js.map +1 -1
- package/dist/features/execution/react/components/ProviderChipGroup.d.ts +4 -1
- package/dist/features/execution/react/components/ProviderChipGroup.d.ts.map +1 -1
- package/dist/features/execution/react/components/ProviderChipGroup.js +7 -3
- package/dist/features/execution/react/components/ProviderChipGroup.js.map +1 -1
- package/dist/features/execution/react/components/SearchableModelSelect.d.ts +4 -1
- package/dist/features/execution/react/components/SearchableModelSelect.d.ts.map +1 -1
- package/dist/features/execution/react/components/SearchableModelSelect.js +3 -2
- package/dist/features/execution/react/components/SearchableModelSelect.js.map +1 -1
- package/dist/features/execution/react/hooks/useReasoningControl.d.ts +15 -0
- package/dist/features/execution/react/hooks/useReasoningControl.d.ts.map +1 -1
- package/dist/features/execution/react/hooks/useReasoningControl.js +42 -4
- package/dist/features/execution/react/hooks/useReasoningControl.js.map +1 -1
- package/dist/features/execution/types.d.ts +14 -0
- package/dist/features/execution/types.d.ts.map +1 -1
- package/dist/features/html-editor/react/components/InteractiveHtmlEditor.d.ts +1 -1
- package/dist/features/html-editor/react/hooks/useInteractiveHtmlEditor.js +1 -1
- package/dist/features/i18n/dictionaries/index.d.ts +1 -1
- package/dist/features/instructions/react/components/InstructionsTab.d.ts +3 -1
- package/dist/features/instructions/react/components/InstructionsTab.d.ts.map +1 -1
- package/dist/features/instructions/react/components/InstructionsTab.js +3 -2
- package/dist/features/instructions/react/components/InstructionsTab.js.map +1 -1
- package/dist/features/integrations/react/components/ClientPicker.d.ts +4 -1
- package/dist/features/integrations/react/components/ClientPicker.d.ts.map +1 -1
- package/dist/features/integrations/react/components/ClientPicker.js +7 -3
- package/dist/features/integrations/react/components/ClientPicker.js.map +1 -1
- package/dist/features/integrations/react/components/CodexInstallToggleButton.d.ts +3 -1
- package/dist/features/integrations/react/components/CodexInstallToggleButton.d.ts.map +1 -1
- package/dist/features/integrations/react/components/CodexInstallToggleButton.js +3 -2
- package/dist/features/integrations/react/components/CodexInstallToggleButton.js.map +1 -1
- package/dist/features/integrations/react/components/IntegrationsTab.d.ts +6 -1
- package/dist/features/integrations/react/components/IntegrationsTab.d.ts.map +1 -1
- package/dist/features/integrations/react/components/IntegrationsTab.js +4 -3
- package/dist/features/integrations/react/components/IntegrationsTab.js.map +1 -1
- package/dist/features/language/react/components/LanguageTab.d.ts +4 -1
- package/dist/features/language/react/components/LanguageTab.d.ts.map +1 -1
- package/dist/features/language/react/components/LanguageTab.js +5 -3
- package/dist/features/language/react/components/LanguageTab.js.map +1 -1
- package/dist/features/mcp-ui/sandbox-proxy.d.ts +1 -1
- package/dist/features/mcp-ui/sandbox-proxy.js +2 -2
- package/dist/features/mcp-ui/sandbox-proxy.js.map +1 -1
- package/dist/features/mcp-ui/surfaces/outcome.d.ts +1 -1
- package/dist/features/mcp-ui/surfaces/tokens.d.ts +6 -5
- package/dist/features/mcp-ui/surfaces/tokens.d.ts.map +1 -1
- package/dist/features/mcp-ui/surfaces/tokens.js +6 -5
- package/dist/features/mcp-ui/surfaces/tokens.js.map +1 -1
- package/dist/features/media-providers/react/components/MediaProvidersTab.d.ts +4 -1
- package/dist/features/media-providers/react/components/MediaProvidersTab.d.ts.map +1 -1
- package/dist/features/media-providers/react/components/MediaProvidersTab.js +9 -4
- package/dist/features/media-providers/react/components/MediaProvidersTab.js.map +1 -1
- package/dist/features/memory/react/components/MemoryEntryCard.d.ts +3 -1
- package/dist/features/memory/react/components/MemoryEntryCard.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryEntryCard.js +3 -2
- package/dist/features/memory/react/components/MemoryEntryCard.js.map +1 -1
- package/dist/features/memory/react/components/MemoryExtractionCard.d.ts +3 -1
- package/dist/features/memory/react/components/MemoryExtractionCard.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryExtractionCard.js +3 -2
- package/dist/features/memory/react/components/MemoryExtractionCard.js.map +1 -1
- package/dist/features/memory/react/components/MemoryHooksPanel.d.ts +3 -1
- package/dist/features/memory/react/components/MemoryHooksPanel.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryHooksPanel.js +7 -2
- package/dist/features/memory/react/components/MemoryHooksPanel.js.map +1 -1
- package/dist/features/memory/react/components/MemoryHowPanel.d.ts +3 -1
- package/dist/features/memory/react/components/MemoryHowPanel.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryHowPanel.js +2 -2
- package/dist/features/memory/react/components/MemoryHowPanel.js.map +1 -1
- package/dist/features/memory/react/components/MemoryList.d.ts +3 -1
- package/dist/features/memory/react/components/MemoryList.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemoryList.js +12 -5
- package/dist/features/memory/react/components/MemoryList.js.map +1 -1
- package/dist/features/memory/react/components/MemorySettingsPanel.d.ts +7 -1
- package/dist/features/memory/react/components/MemorySettingsPanel.d.ts.map +1 -1
- package/dist/features/memory/react/components/MemorySettingsPanel.js +3 -2
- package/dist/features/memory/react/components/MemorySettingsPanel.js.map +1 -1
- package/dist/features/notifications/react/components/NotificationsTab.d.ts +3 -1
- package/dist/features/notifications/react/components/NotificationsTab.d.ts.map +1 -1
- package/dist/features/notifications/react/components/NotificationsTab.js +13 -6
- package/dist/features/notifications/react/components/NotificationsTab.js.map +1 -1
- package/dist/features/privacy/react/components/PrivacyTab.d.ts +9 -1
- package/dist/features/privacy/react/components/PrivacyTab.d.ts.map +1 -1
- package/dist/features/privacy/react/components/PrivacyTab.js +5 -4
- package/dist/features/privacy/react/components/PrivacyTab.js.map +1 -1
- package/dist/features/settings/dialog/react/components/SettingsDialogShell.d.ts +1 -1
- package/dist/features/settings/dialog/styles/settings-dialog.css +1 -0
- package/dist/features/skills/react/components/SkillDraftForm.d.ts +3 -1
- package/dist/features/skills/react/components/SkillDraftForm.d.ts.map +1 -1
- package/dist/features/skills/react/components/SkillDraftForm.js +3 -2
- package/dist/features/skills/react/components/SkillDraftForm.js.map +1 -1
- package/dist/features/skills/react/components/SkillRow.d.ts +3 -1
- package/dist/features/skills/react/components/SkillRow.d.ts.map +1 -1
- package/dist/features/skills/react/components/SkillRow.js +3 -2
- package/dist/features/skills/react/components/SkillRow.js.map +1 -1
- package/dist/features/skills/react/components/SkillsTab.d.ts +8 -1
- package/dist/features/skills/react/components/SkillsTab.d.ts.map +1 -1
- package/dist/features/skills/react/components/SkillsTab.js +7 -3
- package/dist/features/skills/react/components/SkillsTab.js.map +1 -1
- package/dist/features/tabbed-dialog/react/components/TabbedDialog.d.ts +1 -1
- package/dist/features/tabbed-dialog/react/components/TabbedDialog.js +1 -1
- package/dist/features/tabbed-dialog/types.d.ts +2 -2
- package/dist/features/tabbed-dialog/types.js +2 -2
- package/dist/react/components/RemixIcon.d.ts +42 -1
- package/dist/react/components/RemixIcon.d.ts.map +1 -1
- package/dist/react/components/RemixIcon.js +152 -8
- package/dist/react/components/RemixIcon.js.map +1 -1
- package/dist/utils/file-transfer.d.ts.map +1 -1
- package/dist/utils/file-transfer.js +2 -0
- package/dist/utils/file-transfer.js.map +1 -1
- package/package.json +3 -3
|
@@ -18,6 +18,9 @@ export interface AppearanceTabProps {
|
|
|
18
18
|
accentLabel?: string;
|
|
19
19
|
defaultAccentAriaLabel?: string;
|
|
20
20
|
customAccentAriaLabel?: string;
|
|
21
|
+
/** This tab's own agent handle. Theme buttons get one sub-handle per theme option; swatches get
|
|
22
|
+
* one distinct sub-handle per color via `buildAgentListHandles`. */
|
|
23
|
+
agentHandle?: string;
|
|
21
24
|
}
|
|
22
25
|
/**
|
|
23
26
|
* Theme (system/light/dark) segmented control + accent-color swatch grid
|
|
@@ -25,5 +28,5 @@ export interface AppearanceTabProps {
|
|
|
25
28
|
* `SettingsDialog.tsx` — GENERIC, no product coupling beyond the (already
|
|
26
29
|
* dropped) analytics tracking calls.
|
|
27
30
|
*/
|
|
28
|
-
export declare function AppearanceTab({ theme, onThemeChange, accentColor, onAccentColorChange, accentSwatches, livePreview, ariaLabel, accentLabel, defaultAccentAriaLabel, customAccentAriaLabel, }: AppearanceTabProps): import("react").JSX.Element;
|
|
31
|
+
export declare function AppearanceTab({ theme, onThemeChange, accentColor, onAccentColorChange, accentSwatches, livePreview, ariaLabel, accentLabel, defaultAccentAriaLabel, customAccentAriaLabel, agentHandle, }: AppearanceTabProps): import("react").JSX.Element;
|
|
29
32
|
//# sourceMappingURL=AppearanceTab.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppearanceTab.d.ts","sourceRoot":"","sources":["../../../../../src/features/appearance/react/components/AppearanceTab.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AppearanceTab.d.ts","sourceRoot":"","sources":["../../../../../src/features/appearance/react/components/AppearanceTab.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,aAAa,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD;6EACyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,sEAAsE;IACtE,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC;;;;6DAIyD;IACzD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;yEACqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,cAAgC,EAChC,WAAkB,EAClB,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,WAAW,GACZ,EAAE,kBAAkB,+BAsEpB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useLayoutEffect } from 'react';
|
|
3
|
+
import { agentHandleProps, agentSubHandle, buildAgentListHandles } from '@jini-ai/agentic';
|
|
3
4
|
import { useT } from '../../../i18n/index.js';
|
|
4
5
|
import { Icon } from '../../../../react/components/Icon.js';
|
|
5
6
|
import { ACCENT_SWATCHES, DEFAULT_ACCENT_COLOR, applyAppearanceToDocument, normalizeAccentColor, resolveAccentColor, } from '../../../../utils/appearance.js';
|
|
@@ -10,9 +11,10 @@ import { THEME_OPTIONS } from '../../constants.js';
|
|
|
10
11
|
* `SettingsDialog.tsx` — GENERIC, no product coupling beyond the (already
|
|
11
12
|
* dropped) analytics tracking calls.
|
|
12
13
|
*/
|
|
13
|
-
export function AppearanceTab({ theme, onThemeChange, accentColor, onAccentColorChange, accentSwatches = ACCENT_SWATCHES, livePreview = true, ariaLabel, accentLabel, defaultAccentAriaLabel, customAccentAriaLabel, }) {
|
|
14
|
+
export function AppearanceTab({ theme, onThemeChange, accentColor, onAccentColorChange, accentSwatches = ACCENT_SWATCHES, livePreview = true, ariaLabel, accentLabel, defaultAccentAriaLabel, customAccentAriaLabel, agentHandle, }) {
|
|
14
15
|
const t = useT();
|
|
15
16
|
const resolvedAccent = resolveAccentColor(accentColor);
|
|
17
|
+
const swatchHandles = agentHandle ? buildAgentListHandles(agentSubHandle(agentHandle, 'swatch'), accentSwatches) : undefined;
|
|
16
18
|
const resolvedAriaLabel = ariaLabel ?? t('Appearance');
|
|
17
19
|
const resolvedAccentLabel = accentLabel ?? t('Accent color');
|
|
18
20
|
const resolvedDefaultAccentAriaLabel = defaultAccentAriaLabel ?? t('Default accent color');
|
|
@@ -23,9 +25,10 @@ export function AppearanceTab({ theme, onThemeChange, accentColor, onAccentColor
|
|
|
23
25
|
return;
|
|
24
26
|
applyAppearanceToDocument({ ...(appliedTheme ? { theme: appliedTheme } : {}), accentColor: resolvedAccent });
|
|
25
27
|
}, [livePreview, appliedTheme, resolvedAccent]);
|
|
26
|
-
return (_jsxs("section", { className: "jini-settings-section jini-settings-appearance", children: [_jsx("div", { className: "jini-seg-control", role: "group", "aria-label": resolvedAriaLabel, style: { '--seg-cols': THEME_OPTIONS.length }, children: THEME_OPTIONS.map((option) => (_jsxs("button", { type: "button", className: 'jini-seg-btn' + (theme === option.value ? ' active' : ''), "aria-pressed": theme === option.value, onClick: () => onThemeChange(option.value), children: [option.icon ? _jsx(Icon, { name: option.icon, size: 14, "aria-hidden": "true" }) : null, _jsx("span", { className: "jini-seg-title", children: t(option.label) })] }, option.value))) }), _jsxs("div", { className: "jini-field", children: [_jsx("span", { className: "jini-field-label", children: resolvedAccentLabel }), _jsxs("div", { className: "jini-accent-swatches", role: "radiogroup", "aria-label": resolvedAccentLabel, children: [accentSwatches.map((color) => {
|
|
28
|
+
return (_jsxs("section", { className: "jini-settings-section jini-settings-appearance", children: [_jsx("div", { className: "jini-seg-control", role: "group", "aria-label": resolvedAriaLabel, style: { '--seg-cols': THEME_OPTIONS.length }, children: THEME_OPTIONS.map((option) => (_jsxs("button", { type: "button", className: 'jini-seg-btn' + (theme === option.value ? ' active' : ''), "aria-pressed": theme === option.value, onClick: () => onThemeChange(option.value), ...agentHandleProps(agentHandle, { action: `theme-${option.value}`, role: 'button', label: t(option.label) }), children: [option.icon ? _jsx(Icon, { name: option.icon, size: 14, "aria-hidden": "true" }) : null, _jsx("span", { className: "jini-seg-title", children: t(option.label) })] }, option.value))) }), _jsxs("div", { className: "jini-field", children: [_jsx("span", { className: "jini-field-label", children: resolvedAccentLabel }), _jsxs("div", { className: "jini-accent-swatches", role: "radiogroup", "aria-label": resolvedAccentLabel, children: [accentSwatches.map((color, index) => {
|
|
27
29
|
const active = resolvedAccent === color;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
const swatchLabel = color === DEFAULT_ACCENT_COLOR ? resolvedDefaultAccentAriaLabel : color;
|
|
31
|
+
return (_jsx("button", { type: "button", className: `jini-accent-swatch${active ? ' active' : ''}`, style: { background: color }, "aria-label": swatchLabel, "aria-checked": active, role: "radio", onClick: () => onAccentColorChange(normalizeAccentColor(color) ?? color), ...agentHandleProps(swatchHandles?.[index], { role: 'button', label: swatchLabel }) }, color));
|
|
32
|
+
}), _jsx("input", { type: "color", "aria-label": resolvedCustomAccentAriaLabel, className: "jini-accent-swatch-picker", value: resolvedAccent, onChange: (event) => onAccentColorChange(event.target.value), ...agentHandleProps(agentHandle, { action: 'custom-accent', role: 'field', label: resolvedCustomAccentAriaLabel }) })] })] })] }));
|
|
30
33
|
}
|
|
31
34
|
//# sourceMappingURL=AppearanceTab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppearanceTab.js","sourceRoot":"","sources":["../../../../../src/features/appearance/react/components/AppearanceTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,sCAAsC,CAAC;AAC5D,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"AppearanceTab.js","sourceRoot":"","sources":["../../../../../src/features/appearance/react/components/AppearanceTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,13 @@ export interface ConnectorsBrowserProps {
|
|
|
21
21
|
useConnectorCatalog?: typeof useConnectorCatalog;
|
|
22
22
|
useConnectorAuthorization?: typeof useConnectorAuthorization;
|
|
23
23
|
useConnectorDetail?: typeof useConnectorDetail;
|
|
24
|
+
/**
|
|
25
|
+
* This browser's own agent handle, published by the host. The provider tab bar, the search bar,
|
|
26
|
+
* every connector card, and the detail drawer all derive their own `data-agent-*` handle from
|
|
27
|
+
* this ONE base via `agentSubHandle`/`agentHandleProps`. Omit and no `data-agent-*` markup is
|
|
28
|
+
* emitted anywhere — additive, never a behavior change.
|
|
29
|
+
*/
|
|
30
|
+
agentHandle?: string;
|
|
24
31
|
}
|
|
25
32
|
/**
|
|
26
33
|
* Connector cards + search — an OAuth integration marketplace UI. Owns its
|
|
@@ -29,5 +36,5 @@ export interface ConnectorsBrowserProps {
|
|
|
29
36
|
* messages. Ported from OD's `ConnectorsBrowser.tsx` — see
|
|
30
37
|
* `packages/ui/source-map.md` for full provenance.
|
|
31
38
|
*/
|
|
32
|
-
export declare function ConnectorsBrowser({ unlocked, providerTabs, catalogRefreshKey, dependencies, getCategoryLabel, getDisplayableAccountLabel, gate, onProviderTabClick, onConnectorAuthResult, onConnectorsChanged, useConnectorCatalog: useConnectorCatalogHook, useConnectorAuthorization: useConnectorAuthorizationHook, useConnectorDetail: useConnectorDetailHook, }: ConnectorsBrowserProps): import("react").JSX.Element;
|
|
39
|
+
export declare function ConnectorsBrowser({ unlocked, providerTabs, catalogRefreshKey, dependencies, getCategoryLabel, getDisplayableAccountLabel, gate, onProviderTabClick, onConnectorAuthResult, onConnectorsChanged, useConnectorCatalog: useConnectorCatalogHook, useConnectorAuthorization: useConnectorAuthorizationHook, useConnectorDetail: useConnectorDetailHook, agentHandle, }: ConnectorsBrowserProps): import("react").JSX.Element;
|
|
33
40
|
//# sourceMappingURL=ConnectorsBrowser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectorsBrowser.d.ts","sourceRoot":"","sources":["../../../src/features/connectors/ConnectorsBrowser.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConnectorsBrowser.d.ts","sourceRoot":"","sources":["../../../src/features/connectors/ConnectorsBrowser.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAMzD,OAAO,KAAK,EAAE,SAAS,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAQnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,MAAM,WAAW,sBAAsB;IACrC,kHAAkH;IAClH,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,0BAA0B,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;IAC1E,mGAAmG;IACnG,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,GAAG,mBAAmB,GAAG,WAAW,KAAK,IAAI,CAAC;IAC5F,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAClE,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,OAAO,mBAAmB,CAAC;IACjD,yBAAyB,CAAC,EAAE,OAAO,yBAAyB,CAAC;IAC7D,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,YAAoC,EACpC,iBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,0BAA0B,EAC1B,IAAI,EACJ,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EAAE,uBAA6C,EAClE,yBAAyB,EAAE,6BAAyD,EACpF,kBAAkB,EAAE,sBAA2C,EAC/D,WAAW,GACZ,EAAE,sBAAsB,+BA0IxB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useMemo, useState } from 'react';
|
|
3
|
+
import { agentSubHandle } from '@jini-ai/agentic';
|
|
3
4
|
import { useT } from '../i18n/index.js';
|
|
4
5
|
import { AUTHORIZATION_CANCEL_FAILED_MESSAGE, DEFAULT_PROVIDER_TAB_ID, DEFAULT_PROVIDER_TABS, } from './constants.js';
|
|
5
6
|
import { connectorPanelAlerts, scopeConnectorsToProvider, sortConnectorsForSearch, } from './rules.js';
|
|
@@ -20,7 +21,7 @@ import { ConnectorDetailDrawer } from './components/ConnectorDetailDrawer.js';
|
|
|
20
21
|
* messages. Ported from OD's `ConnectorsBrowser.tsx` — see
|
|
21
22
|
* `packages/ui/source-map.md` for full provenance.
|
|
22
23
|
*/
|
|
23
|
-
export function ConnectorsBrowser({ unlocked, providerTabs = DEFAULT_PROVIDER_TABS, catalogRefreshKey = 0, dependencies, getCategoryLabel, getDisplayableAccountLabel, gate, onProviderTabClick, onConnectorAuthResult, onConnectorsChanged, useConnectorCatalog: useConnectorCatalogHook = useConnectorCatalog, useConnectorAuthorization: useConnectorAuthorizationHook = useConnectorAuthorization, useConnectorDetail: useConnectorDetailHook = useConnectorDetail, }) {
|
|
24
|
+
export function ConnectorsBrowser({ unlocked, providerTabs = DEFAULT_PROVIDER_TABS, catalogRefreshKey = 0, dependencies, getCategoryLabel, getDisplayableAccountLabel, gate, onProviderTabClick, onConnectorAuthResult, onConnectorsChanged, useConnectorCatalog: useConnectorCatalogHook = useConnectorCatalog, useConnectorAuthorization: useConnectorAuthorizationHook = useConnectorAuthorization, useConnectorDetail: useConnectorDetailHook = useConnectorDetail, agentHandle, }) {
|
|
24
25
|
const t = useT();
|
|
25
26
|
const [filter, setFilter] = useState('');
|
|
26
27
|
const [selectedProvider, setSelectedProvider] = useState(providerTabs[0]?.id ?? DEFAULT_PROVIDER_TAB_ID);
|
|
@@ -52,8 +53,8 @@ export function ConnectorsBrowser({ unlocked, providerTabs = DEFAULT_PROVIDER_TA
|
|
|
52
53
|
onProviderTabClick?.('gate_card');
|
|
53
54
|
gate?.onClick?.();
|
|
54
55
|
}, [onProviderTabClick, gate]);
|
|
55
|
-
return (_jsxs("div", { className: "tab-panel connectors-panel connectors-panel-embedded", children: [_jsxs("div", { className: "tab-panel-toolbar", children: [_jsx("div", { className: "toolbar-left connectors-heading", children: _jsxs("div", { children: [_jsx("h2", { children: t('Connectors') }), _jsx("p", { children: t('Connect third-party tools and services.') })] }) }), _jsxs("div", { className: "toolbar-right", children: [_jsx(ProviderTabBar, { tabs: providerTabs, selectedId: selectedProvider, onSelect: handleProviderTabSelect }), _jsx(ConnectorSearchBar, { value: filter, onChange: setFilter, disabled: !unlocked, onFocus: () => onProviderTabClick?.('search_connectors') })] })] }), _jsx(ConnectorAlertList, { alerts: alerts, onOpenDetails: detail.openDetails }), catalog.loading ? (_jsx(CenteredLoader, { label: t('Loading…') })) : (_jsx(ConnectorGrid, { connectors: filteredConnectors, locked: !unlocked, hasNoResults: hasNoResults, searchQuery: filter, pendingConnectorAction: authorization.pendingConnectorAction, authorizationPending: authorization.pending, authorizationCancelFailed: authorization.cancelFailed, toolsLoaded: catalog.enriched, onConnect: (connectorId) => void authorization.runConnectorAction(connectorId, 'connect'), onDisconnect: (connectorId) => void authorization.runConnectorAction(connectorId, 'disconnect'), onCancelAuthorization: (connectorId) => void authorization.cancelAuthorization(connectorId), onOpenDetails: detail.openDetails, onOpenExternalUrl: (url) => void deps.data.openExternalUrl(url), ...(getCategoryLabel ? { getCategoryLabel } : {}), onClearSearch: () => setFilter(''), ...(gate ? { gate: { ...gate, onClick: handleGateClick } } : {}) })), detail.detailConnector ? (_jsx(ConnectorDetailDrawer, { connector: detail.detailConnector, disabled: !unlocked, pendingAction: authorization.pendingConnectorAction?.connectorId === detail.detailConnector.id
|
|
56
|
+
return (_jsxs("div", { className: "tab-panel connectors-panel connectors-panel-embedded", children: [_jsxs("div", { className: "tab-panel-toolbar", children: [_jsx("div", { className: "toolbar-left connectors-heading", children: _jsxs("div", { children: [_jsx("h2", { children: t('Connectors') }), _jsx("p", { children: t('Connect third-party tools and services.') })] }) }), _jsxs("div", { className: "toolbar-right", children: [_jsx(ProviderTabBar, { tabs: providerTabs, selectedId: selectedProvider, onSelect: handleProviderTabSelect, ...(agentHandle ? { agentHandle: agentSubHandle(agentHandle, 'provider') } : {}) }), _jsx(ConnectorSearchBar, { value: filter, onChange: setFilter, disabled: !unlocked, onFocus: () => onProviderTabClick?.('search_connectors'), ...(agentHandle ? { agentHandle: agentSubHandle(agentHandle, 'search') } : {}) })] })] }), _jsx(ConnectorAlertList, { alerts: alerts, onOpenDetails: detail.openDetails }), catalog.loading ? (_jsx(CenteredLoader, { label: t('Loading…') })) : (_jsx(ConnectorGrid, { connectors: filteredConnectors, locked: !unlocked, hasNoResults: hasNoResults, searchQuery: filter, pendingConnectorAction: authorization.pendingConnectorAction, authorizationPending: authorization.pending, authorizationCancelFailed: authorization.cancelFailed, toolsLoaded: catalog.enriched, onConnect: (connectorId) => void authorization.runConnectorAction(connectorId, 'connect'), onDisconnect: (connectorId) => void authorization.runConnectorAction(connectorId, 'disconnect'), onCancelAuthorization: (connectorId) => void authorization.cancelAuthorization(connectorId), onOpenDetails: detail.openDetails, onOpenExternalUrl: (url) => void deps.data.openExternalUrl(url), ...(getCategoryLabel ? { getCategoryLabel } : {}), onClearSearch: () => setFilter(''), ...(gate ? { gate: { ...gate, onClick: handleGateClick } } : {}), ...(agentHandle ? { agentHandle: agentSubHandle(agentHandle, 'connector') } : {}) })), detail.detailConnector ? (_jsx(ConnectorDetailDrawer, { connector: detail.detailConnector, disabled: !unlocked, pendingAction: authorization.pendingConnectorAction?.connectorId === detail.detailConnector.id
|
|
56
57
|
? authorization.pendingConnectorAction.action
|
|
57
|
-
: null, authorizationPending: authorization.pending[detail.detailConnector.id], authorizationCancelFailed: authorization.cancelFailed[detail.detailConnector.id] === true, authorizationError: authorization.authError[detail.detailConnector.id] ?? null, toolsPreviewLoading: detail.toolPreviewLoading, toolsLoaded: detail.toolsLoaded, onClose: detail.closeDetails, onConnect: (connectorId) => void authorization.runConnectorAction(connectorId, 'connect'), onDisconnect: (connectorId) => void authorization.runConnectorAction(connectorId, 'disconnect'), onCancelAuthorization: (connectorId) => void authorization.cancelAuthorization(connectorId), onLoadMoreTools: (connectorId, cursor) => void detail.loadMoreTools(connectorId, cursor), onOpenExternalUrl: (url) => void deps.data.openExternalUrl(url), ...(getCategoryLabel ? { getCategoryLabel } : {}), ...(getDisplayableAccountLabel ? { getDisplayableAccountLabel } : {}) })) : null] }));
|
|
58
|
+
: null, authorizationPending: authorization.pending[detail.detailConnector.id], authorizationCancelFailed: authorization.cancelFailed[detail.detailConnector.id] === true, authorizationError: authorization.authError[detail.detailConnector.id] ?? null, toolsPreviewLoading: detail.toolPreviewLoading, toolsLoaded: detail.toolsLoaded, onClose: detail.closeDetails, onConnect: (connectorId) => void authorization.runConnectorAction(connectorId, 'connect'), onDisconnect: (connectorId) => void authorization.runConnectorAction(connectorId, 'disconnect'), onCancelAuthorization: (connectorId) => void authorization.cancelAuthorization(connectorId), onLoadMoreTools: (connectorId, cursor) => void detail.loadMoreTools(connectorId, cursor), onOpenExternalUrl: (url) => void deps.data.openExternalUrl(url), ...(getCategoryLabel ? { getCategoryLabel } : {}), ...(getDisplayableAccountLabel ? { getDisplayableAccountLabel } : {}), ...(agentHandle ? { agentHandle: agentSubHandle(agentHandle, 'detail') } : {}) })) : null] }));
|
|
58
59
|
}
|
|
59
60
|
//# sourceMappingURL=ConnectorsBrowser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectorsBrowser.js","sourceRoot":"","sources":["../../../src/features/connectors/ConnectorsBrowser.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EACL,mCAAmC,EACnC,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"ConnectorsBrowser.js","sourceRoot":"","sources":["../../../src/features/connectors/ConnectorsBrowser.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,9 @@ export interface ConnectorCardProps {
|
|
|
14
14
|
cancelFailedMessage?: string;
|
|
15
15
|
continueInBrowserLabel?: string;
|
|
16
16
|
onOpenExternalUrl?: (url: string) => void;
|
|
17
|
+
/** This card's own agent handle — see `ConnectorsBrowser`'s `agentHandle` doc; `ConnectorGrid`
|
|
18
|
+
* derives one distinct handle per connector and passes it here. */
|
|
19
|
+
agentHandle?: string;
|
|
17
20
|
}
|
|
18
|
-
export declare function ConnectorCard({ connector, disabled, pendingAction, authorizationPending, authorizationCancelFailed, toolsLoaded, onConnect, onDisconnect, onCancelAuthorization, onOpenDetails, getCategoryLabel, cancelFailedMessage, continueInBrowserLabel, onOpenExternalUrl, }: ConnectorCardProps): import("react").JSX.Element;
|
|
21
|
+
export declare function ConnectorCard({ connector, disabled, pendingAction, authorizationPending, authorizationCancelFailed, toolsLoaded, onConnect, onDisconnect, onCancelAuthorization, onOpenDetails, getCategoryLabel, cancelFailedMessage, continueInBrowserLabel, onOpenExternalUrl, agentHandle, }: ConnectorCardProps): import("react").JSX.Element;
|
|
19
22
|
//# sourceMappingURL=ConnectorCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectorCard.d.ts","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorCard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConnectorCard.d.ts","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAI7F,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,eAAe,GAAG,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,6BAA6B,GAAG,SAAS,CAAC;IACjE,yBAAyB,EAAE,OAAO,CAAC;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;wEACoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,QAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,yBAAyB,EACzB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,gBAAyC,EACzC,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,GACZ,EAAE,kBAAkB,+BAoKpB"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { agentHandleProps } from '@jini-ai/agentic';
|
|
2
3
|
import { useT } from '../../i18n/index.js';
|
|
3
4
|
import { getConnectorDisplayToolCount, statusLabel, toolsBadgeTranslation } from '../rules.js';
|
|
4
5
|
import { Icon } from '../../../react/components/Icon.js';
|
|
5
6
|
import { ConnectorLogo } from './ConnectorLogo.js';
|
|
6
|
-
export function ConnectorCard({ connector, disabled = false, pendingAction, authorizationPending, authorizationCancelFailed, toolsLoaded, onConnect, onDisconnect, onCancelAuthorization, onOpenDetails, getCategoryLabel = (category) => category, cancelFailedMessage, continueInBrowserLabel, onOpenExternalUrl, }) {
|
|
7
|
+
export function ConnectorCard({ connector, disabled = false, pendingAction, authorizationPending, authorizationCancelFailed, toolsLoaded, onConnect, onDisconnect, onCancelAuthorization, onOpenDetails, getCategoryLabel = (category) => category, cancelFailedMessage, continueInBrowserLabel, onOpenExternalUrl, agentHandle, }) {
|
|
7
8
|
const t = useT();
|
|
8
9
|
const resolvedCancelFailedMessage = cancelFailedMessage ?? t("Couldn't cancel authorization. Try again.");
|
|
9
10
|
const resolvedContinueInBrowserLabel = continueInBrowserLabel ?? t('Continue in browser');
|
|
@@ -46,13 +47,13 @@ export function ConnectorCard({ connector, disabled = false, pendingAction, auth
|
|
|
46
47
|
// packages/ui/source-map.md's 2026-07-22 dated entry).
|
|
47
48
|
onOpenExternalUrl?.(authorizationPending.redirectUrl);
|
|
48
49
|
}
|
|
49
|
-
return (_jsxs("article", { className: `connector-card status-${connector.status}${disabled ? ' is-locked' : ''}`, "data-connector-id": connector.id, role: "button", tabIndex: disabled ? -1 : 0, "aria-disabled": disabled || undefined, "aria-label": t('Open details for {name}', { name: connector.name }), onClick: openDetails, onKeyDown: onKeyActivate, children: [_jsxs("div", { className: "connector-card-top", children: [_jsx(ConnectorLogo, { connectorId: connector.id, connectorName: connector.name, logoUrl: connector.logoUrl, size: "sm" }), _jsxs("div", { className: "connector-card-head", children: [_jsxs("h3", { className: "connector-card-title", children: [_jsx("span", { className: "connector-card-title-name", children: connector.name }), isConnected ? (_jsx("span", { className: `connector-status-dot connector-card-title-dot status-${connector.status}`, "aria-label": t(statusLabel(connector.status)), title: t(statusLabel(connector.status)), role: "img" })) : isAuthorizationPending ? (_jsx("span", { className: "connector-status-dot connector-card-title-dot status-pending", "aria-label": t('Authorization pending'), title: t('Authorization pending'), role: "img" })) : null] }), _jsxs("div", { className: "connector-meta", children: [_jsx("span", { className: "connector-meta-item connector-meta-category", title: categoryLabel, children: categoryLabel }), _jsx("span", { className: "connector-meta-tools", "aria-hidden": !showToolsBadge, children: showToolsBadge ? (_jsx("span", { className: "connector-tools-badge is-ready", title: toolsBadgeLabel, children: _jsx("span", { children: toolsBadgeLabel }) })) : null })] })] }), _jsxs("div", { className: "connector-card-actions", children: [isConnected ? (_jsx("button", { type: "button", className: `icon-only connector-action is-disconnect${isDisconnecting ? ' is-loading' : ''}`, disabled: !canDisconnect, "aria-busy": isDisconnecting || undefined, "aria-label": t('Disconnect'), title: t('Disconnect'), tabIndex: disabled ? -1 : undefined, onMouseDown: stop, onKeyDown: stop, onClick: (e) => {
|
|
50
|
+
return (_jsxs("article", { className: `connector-card status-${connector.status}${disabled ? ' is-locked' : ''}`, "data-connector-id": connector.id, role: "button", tabIndex: disabled ? -1 : 0, "aria-disabled": disabled || undefined, "aria-label": t('Open details for {name}', { name: connector.name }), onClick: openDetails, onKeyDown: onKeyActivate, ...agentHandleProps(agentHandle, { role: 'button', label: connector.name }), children: [_jsxs("div", { className: "connector-card-top", children: [_jsx(ConnectorLogo, { connectorId: connector.id, connectorName: connector.name, logoUrl: connector.logoUrl, size: "sm" }), _jsxs("div", { className: "connector-card-head", children: [_jsxs("h3", { className: "connector-card-title", children: [_jsx("span", { className: "connector-card-title-name", children: connector.name }), isConnected ? (_jsx("span", { className: `connector-status-dot connector-card-title-dot status-${connector.status}`, "aria-label": t(statusLabel(connector.status)), title: t(statusLabel(connector.status)), role: "img" })) : isAuthorizationPending ? (_jsx("span", { className: "connector-status-dot connector-card-title-dot status-pending", "aria-label": t('Authorization pending'), title: t('Authorization pending'), role: "img" })) : null] }), _jsxs("div", { className: "connector-meta", children: [_jsx("span", { className: "connector-meta-item connector-meta-category", title: categoryLabel, children: categoryLabel }), _jsx("span", { className: "connector-meta-tools", "aria-hidden": !showToolsBadge, children: showToolsBadge ? (_jsx("span", { className: "connector-tools-badge is-ready", title: toolsBadgeLabel, children: _jsx("span", { children: toolsBadgeLabel }) })) : null })] })] }), _jsxs("div", { className: "connector-card-actions", children: [isConnected ? (_jsx("button", { type: "button", className: `icon-only connector-action is-disconnect${isDisconnecting ? ' is-loading' : ''}`, disabled: !canDisconnect, "aria-busy": isDisconnecting || undefined, "aria-label": t('Disconnect'), title: t('Disconnect'), tabIndex: disabled ? -1 : undefined, onMouseDown: stop, onKeyDown: stop, onClick: (e) => {
|
|
50
51
|
stop(e);
|
|
51
52
|
onDisconnect(connector.id);
|
|
52
|
-
}, children: _jsx(Icon, { name: isDisconnecting ? 'spinner' : 'close', size: 12 }) })) : (_jsx("button", { type: "button", className: `icon-only connector-action is-connect${isConnecting || isAuthorizationPending ? ' is-loading' : ''}`, disabled: !canConnect, "aria-busy": isConnecting || isAuthorizationPending || undefined, "aria-label": isAuthorizationPending ? t('Authorization pending') : t('Connect'), title: isAuthorizationPending ? t('Authorization in progress') : t('Connect'), tabIndex: disabled ? -1 : undefined, onMouseDown: stop, onKeyDown: stop, onClick: (e) => {
|
|
53
|
+
}, ...agentHandleProps(agentHandle, { action: 'disconnect', role: 'button', label: t('Disconnect') }), children: _jsx(Icon, { name: isDisconnecting ? 'spinner' : 'close', size: 12 }) })) : (_jsx("button", { type: "button", className: `icon-only connector-action is-connect${isConnecting || isAuthorizationPending ? ' is-loading' : ''}`, disabled: !canConnect, "aria-busy": isConnecting || isAuthorizationPending || undefined, "aria-label": isAuthorizationPending ? t('Authorization pending') : t('Connect'), title: isAuthorizationPending ? t('Authorization in progress') : t('Connect'), tabIndex: disabled ? -1 : undefined, onMouseDown: stop, onKeyDown: stop, onClick: (e) => {
|
|
53
54
|
stop(e);
|
|
54
55
|
onConnect(connector.id);
|
|
55
|
-
}, children: _jsx(Icon, { name: isConnecting || isAuthorizationPending ? 'spinner' : 'plus', size: 12 }) })), isAuthorizationPending ? (_jsx("button", { type: "button", className: "icon-only connector-action is-cancel-authorization", "aria-label": t('Cancel authorization'), title: t('Cancel authorization'), onMouseDown: stop, onKeyDown: stop, onClick: (e) => {
|
|
56
|
+
}, ...agentHandleProps(agentHandle, { action: 'connect', role: 'button', label: t('Connect') }), children: _jsx(Icon, { name: isConnecting || isAuthorizationPending ? 'spinner' : 'plus', size: 12 }) })), isAuthorizationPending ? (_jsx("button", { type: "button", className: "icon-only connector-action is-cancel-authorization", "aria-label": t('Cancel authorization'), title: t('Cancel authorization'), onMouseDown: stop, onKeyDown: stop, onClick: (e) => {
|
|
56
57
|
stop(e);
|
|
57
58
|
onCancelAuthorization(connector.id);
|
|
58
59
|
}, children: _jsx(Icon, { name: "close", size: 12 }) })) : null, connector.status === 'error' || connector.status === 'disabled' ? (_jsx("span", { className: `connector-status-pill status-${connector.status}`, children: t(statusLabel(connector.status)) })) : null] })] }), authorizationCancelFailed ? (_jsx("p", { className: "connector-authorization-hint connector-authorization-error", role: "alert", children: resolvedCancelFailedMessage })) : null, isAuthorizationPending && authorizationPending.redirectUrl ? (_jsx("button", { type: "button", className: "connector-authorization-link", title: t('Authorization in progress'), onClick: continueAuthorization, children: resolvedContinueInBrowserLabel })) : null] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectorCard.js","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorCard.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE/F,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConnectorCard.js","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,8 @@ export interface ConnectorDetailDrawerProps {
|
|
|
18
18
|
getDisplayableAccountLabel?: (connector: Connector) => string | undefined;
|
|
19
19
|
cancelFailedMessage?: string;
|
|
20
20
|
continueInBrowserLabel?: string;
|
|
21
|
+
/** This drawer's own agent handle — see `ConnectorsBrowser`'s `agentHandle` doc. */
|
|
22
|
+
agentHandle?: string;
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
23
25
|
* Modal detail drawer with a paginated tool list. Keeps its own
|
|
@@ -27,5 +29,5 @@ export interface ConnectorDetailDrawerProps {
|
|
|
27
29
|
* `document`/`window` touches were kept here rather than routed through
|
|
28
30
|
* `dependencies.ts`.
|
|
29
31
|
*/
|
|
30
|
-
export declare function ConnectorDetailDrawer({ connector, disabled, pendingAction, authorizationPending, authorizationCancelFailed, authorizationError, toolsPreviewLoading, toolsLoaded, onClose, onConnect, onDisconnect, onCancelAuthorization, onLoadMoreTools, onOpenExternalUrl, getCategoryLabel, getDisplayableAccountLabel, cancelFailedMessage, continueInBrowserLabel, }: ConnectorDetailDrawerProps): import("react").JSX.Element;
|
|
32
|
+
export declare function ConnectorDetailDrawer({ connector, disabled, pendingAction, authorizationPending, authorizationCancelFailed, authorizationError, toolsPreviewLoading, toolsLoaded, onClose, onConnect, onDisconnect, onCancelAuthorization, onLoadMoreTools, onOpenExternalUrl, getCategoryLabel, getDisplayableAccountLabel, cancelFailedMessage, continueInBrowserLabel, agentHandle, }: ConnectorDetailDrawerProps): import("react").JSX.Element;
|
|
31
33
|
//# sourceMappingURL=ConnectorDetailDrawer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectorDetailDrawer.d.ts","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorDetailDrawer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConnectorDetailDrawer.d.ts","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorDetailDrawer.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAI7F,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,eAAe,GAAG,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,6BAA6B,GAAG,SAAS,CAAC;IACjE,yBAAyB,EAAE,OAAO,CAAC;IACnC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,0BAA0B,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;IAC1E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,OAAO,EACP,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,gBAAyC,EACzC,0BAAgE,EAChE,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,GACZ,EAAE,0BAA0B,+BAmQ5B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useRef } from 'react';
|
|
3
|
+
import { agentHandleProps } from '@jini-ai/agentic';
|
|
3
4
|
import { useT } from '../../i18n/index.js';
|
|
4
5
|
import { getConnectorDisplayToolCount, getDisplayableConnectorAccountLabel, statusLabel, toolsBadgeTranslation, } from '../rules.js';
|
|
5
6
|
import { Icon } from '../../../react/components/Icon.js';
|
|
@@ -12,7 +13,7 @@ import { ConnectorLogo } from './ConnectorLogo.js';
|
|
|
12
13
|
* `document`/`window` touches were kept here rather than routed through
|
|
13
14
|
* `dependencies.ts`.
|
|
14
15
|
*/
|
|
15
|
-
export function ConnectorDetailDrawer({ connector, disabled, pendingAction, authorizationPending, authorizationCancelFailed, authorizationError, toolsPreviewLoading, toolsLoaded, onClose, onConnect, onDisconnect, onCancelAuthorization, onLoadMoreTools, onOpenExternalUrl, getCategoryLabel = (category) => category, getDisplayableAccountLabel = getDisplayableConnectorAccountLabel, cancelFailedMessage, continueInBrowserLabel, }) {
|
|
16
|
+
export function ConnectorDetailDrawer({ connector, disabled, pendingAction, authorizationPending, authorizationCancelFailed, authorizationError, toolsPreviewLoading, toolsLoaded, onClose, onConnect, onDisconnect, onCancelAuthorization, onLoadMoreTools, onOpenExternalUrl, getCategoryLabel = (category) => category, getDisplayableAccountLabel = getDisplayableConnectorAccountLabel, cancelFailedMessage, continueInBrowserLabel, agentHandle, }) {
|
|
16
17
|
const t = useT();
|
|
17
18
|
const resolvedCancelFailedMessage = cancelFailedMessage ?? t("Couldn't cancel authorization. Try again.");
|
|
18
19
|
const resolvedContinueInBrowserLabel = continueInBrowserLabel ?? t('Continue in browser');
|
|
@@ -64,6 +65,6 @@ export function ConnectorDetailDrawer({ connector, disabled, pendingAction, auth
|
|
|
64
65
|
return (_jsx("div", { className: "connector-drawer-backdrop", role: "presentation", onMouseDown: (e) => {
|
|
65
66
|
if (e.target === e.currentTarget)
|
|
66
67
|
onClose();
|
|
67
|
-
}, children: _jsxs("aside", { className: "connector-drawer", role: "dialog", "aria-modal": "true", "aria-labelledby": "connector-drawer-title", "data-testid": "connector-drawer", onClick: (e) => e.stopPropagation(), children: [_jsxs("header", { className: "connector-drawer-head", children: [_jsx(ConnectorLogo, { connectorId: connector.id, connectorName: connector.name, logoUrl: connector.logoUrl, size: "lg" }), _jsxs("div", { className: "connector-drawer-titles", children: [_jsxs("div", { className: "connector-drawer-eyebrow", children: [_jsx("span", { children: categoryLabel }), _jsx("span", { className: "connector-meta-dot", "aria-hidden": true, children: "\u00B7" }), _jsx("span", { children: connector.provider })] }), _jsx("h2", { id: "connector-drawer-title", children: connector.name }), _jsxs("div", { className: "connector-drawer-status", children: [_jsxs("span", { className: `connector-status-pill status-${statusTone}`, children: [_jsx("span", { className: "connector-status-dot", "aria-hidden": true }), isAuthorizationPending ? t('Authorization pending') : t(statusLabel(connector.status))] }), showToolsBadge ? (_jsx("span", { className: "connector-drawer-tool-count-chip", title: toolsBadgeLabel, children: _jsx("span", { children: toolsBadgeLabel }) })) : null] })] }), _jsx("button", { ref: closeBtnRef, type: "button", className: "ghost connector-drawer-close", onClick: onClose, "aria-label": t('Close'), "data-testid": "connector-drawer-close", children: _jsx(Icon, { name: "close", size: 14 }) })] }), _jsxs("div", { className: "connector-drawer-body", children: [connector.description ? (_jsxs("section", { className: "connector-drawer-section", children: [_jsx("h3", { className: "connector-drawer-section-title", children: t('About') }), _jsx("p", { className: "connector-drawer-description", children: connector.description }), isAuthorizationPending ? (_jsxs("div", { className: "connector-authorization-block", role: "status", children: [_jsx("p", { className: "connector-authorization-hint", children: t('Authorization in progress. It should finish shortly.') }), authorizationPending.redirectUrl ? (_jsx("button", { type: "button", className: "connector-authorization-link", onClick: continueAuthorization, children: resolvedContinueInBrowserLabel })) : null] })) : null] })) : null, authorizationError ? (_jsx("p", { className: "connector-authorization-hint connector-authorization-error", role: "alert", children: authorizationError })) : null, authorizationCancelFailed ? (_jsx("p", { className: "connector-authorization-hint connector-authorization-error", role: "alert", children: resolvedCancelFailedMessage })) : null, _jsxs("section", { className: "connector-drawer-section", children: [_jsxs("div", { className: "connector-drawer-section-head", children: [_jsx("h3", { className: "connector-drawer-section-title", children: t('Details') }), isConnected ? (_jsxs("button", { type: "button", className: `ghost connector-drawer-inline-action connector-action is-disconnect${isDisconnecting ? ' is-loading' : ''}`, disabled: !canDisconnect, "aria-busy": isDisconnecting || undefined, onClick: () => onDisconnect(connector.id), children: [isDisconnecting ? _jsx(Icon, { name: "spinner", size: 12 }) : null, _jsx("span", { children: t('Disconnect') })] })) : null] }), _jsxs("dl", { className: "connector-drawer-details", children: [_jsxs("div", { children: [_jsx("dt", { children: t('Status') }), _jsx("dd", { children: t(statusLabel(connector.status)) })] }), _jsxs("div", { children: [_jsx("dt", { children: t('Category') }), _jsx("dd", { children: categoryLabel })] }), _jsxs("div", { children: [_jsx("dt", { children: t('Provider') }), _jsx("dd", { children: connector.provider })] }), accountLabel ? (_jsxs("div", { children: [_jsx("dt", { children: t('Account') }), _jsx("dd", { children: accountLabel })] })) : null, connector.lastError ? (_jsxs("div", { className: "connector-drawer-details-error", children: [_jsx("dt", { children: t('Error') }), _jsx("dd", { children: connector.lastError })] })) : null] })] }), _jsxs("section", { className: "connector-drawer-section", children: [_jsxs("h3", { className: "connector-drawer-section-title", children: [t('Tools'), " ", _jsx("span", { className: "connector-drawer-count", children: toolCount })] }), isLoadingTools ? (_jsxs("p", { className: "connector-drawer-empty", children: [_jsx(Icon, { name: "spinner", size: 12 }), " ", t('Loading tools…')] })) : toolDetailsUnavailable ? (_jsx("p", { className: "connector-drawer-empty", children: t('Tool details unavailable ({count})', { count: toolCount }) })) : actualToolCount === 0 ? (_jsx("p", { className: "connector-drawer-empty", children: t('No tools available') })) : (_jsxs(_Fragment, { children: [_jsx("ul", { className: "connector-drawer-tools", children: connector.tools.map((tool) => (_jsxs("li", { className: "connector-drawer-tool", children: [_jsxs("div", { className: "connector-drawer-tool-head", children: [_jsx("span", { className: "connector-drawer-tool-title", children: tool.title || tool.name }), _jsx("span", { className: `connector-drawer-tool-badge side-${tool.safety.sideEffect}`, title: tool.safety.reason, children: tool.safety.sideEffect })] }), tool.description ? _jsx("p", { className: "connector-drawer-tool-desc", children: tool.description }) : null, _jsx("code", { className: "connector-drawer-tool-name", children: tool.name })] }, tool.name))) }), connector.toolsNextCursor ? (_jsx("button", { type: "button", className: "ghost connector-drawer-load-more", disabled: toolsPreviewLoading, onClick: () => onLoadMoreTools(connector.id, connector.toolsNextCursor), children: _jsx("span", { children: t('Load more tools') }) })) : null] }))] })] }), !isConnected ? (_jsxs("footer", { className: "connector-drawer-foot", children: [_jsxs("button", { type: "button", className: `primary connector-action is-connect${isConnecting || isAuthorizationPending ? ' is-loading' : ''}`, disabled: !canConnect, "aria-busy": isConnecting || isAuthorizationPending || undefined, onClick: () => onConnect(connector.id), children: [isConnecting || isAuthorizationPending ? _jsx(Icon, { name: "spinner", size: 12 }) : null, _jsx("span", { children: isAuthorizationPending ? t('Authorization pending') : t('Connect') })] }), isAuthorizationPending ? (_jsx("button", { type: "button", className: "ghost connector-action is-cancel-authorization", onClick: () => onCancelAuthorization(connector.id), children: _jsx("span", { children: t('Cancel authorization') }) })) : null] })) : null] }) }));
|
|
68
|
+
}, children: _jsxs("aside", { className: "connector-drawer", role: "dialog", "aria-modal": "true", "aria-labelledby": "connector-drawer-title", "data-testid": "connector-drawer", onClick: (e) => e.stopPropagation(), ...agentHandleProps(agentHandle, { role: 'region', label: connector.name }), children: [_jsxs("header", { className: "connector-drawer-head", children: [_jsx(ConnectorLogo, { connectorId: connector.id, connectorName: connector.name, logoUrl: connector.logoUrl, size: "lg" }), _jsxs("div", { className: "connector-drawer-titles", children: [_jsxs("div", { className: "connector-drawer-eyebrow", children: [_jsx("span", { children: categoryLabel }), _jsx("span", { className: "connector-meta-dot", "aria-hidden": true, children: "\u00B7" }), _jsx("span", { children: connector.provider })] }), _jsx("h2", { id: "connector-drawer-title", children: connector.name }), _jsxs("div", { className: "connector-drawer-status", children: [_jsxs("span", { className: `connector-status-pill status-${statusTone}`, children: [_jsx("span", { className: "connector-status-dot", "aria-hidden": true }), isAuthorizationPending ? t('Authorization pending') : t(statusLabel(connector.status))] }), showToolsBadge ? (_jsx("span", { className: "connector-drawer-tool-count-chip", title: toolsBadgeLabel, children: _jsx("span", { children: toolsBadgeLabel }) })) : null] })] }), _jsx("button", { ref: closeBtnRef, type: "button", className: "ghost connector-drawer-close", onClick: onClose, "aria-label": t('Close'), "data-testid": "connector-drawer-close", ...agentHandleProps(agentHandle, { action: 'close', role: 'button', label: t('Close') }), children: _jsx(Icon, { name: "close", size: 14 }) })] }), _jsxs("div", { className: "connector-drawer-body", children: [connector.description ? (_jsxs("section", { className: "connector-drawer-section", children: [_jsx("h3", { className: "connector-drawer-section-title", children: t('About') }), _jsx("p", { className: "connector-drawer-description", children: connector.description }), isAuthorizationPending ? (_jsxs("div", { className: "connector-authorization-block", role: "status", children: [_jsx("p", { className: "connector-authorization-hint", children: t('Authorization in progress. It should finish shortly.') }), authorizationPending.redirectUrl ? (_jsx("button", { type: "button", className: "connector-authorization-link", onClick: continueAuthorization, children: resolvedContinueInBrowserLabel })) : null] })) : null] })) : null, authorizationError ? (_jsx("p", { className: "connector-authorization-hint connector-authorization-error", role: "alert", children: authorizationError })) : null, authorizationCancelFailed ? (_jsx("p", { className: "connector-authorization-hint connector-authorization-error", role: "alert", children: resolvedCancelFailedMessage })) : null, _jsxs("section", { className: "connector-drawer-section", children: [_jsxs("div", { className: "connector-drawer-section-head", children: [_jsx("h3", { className: "connector-drawer-section-title", children: t('Details') }), isConnected ? (_jsxs("button", { type: "button", className: `ghost connector-drawer-inline-action connector-action is-disconnect${isDisconnecting ? ' is-loading' : ''}`, disabled: !canDisconnect, "aria-busy": isDisconnecting || undefined, onClick: () => onDisconnect(connector.id), ...agentHandleProps(agentHandle, { action: 'disconnect', role: 'button', label: t('Disconnect') }), children: [isDisconnecting ? _jsx(Icon, { name: "spinner", size: 12 }) : null, _jsx("span", { children: t('Disconnect') })] })) : null] }), _jsxs("dl", { className: "connector-drawer-details", children: [_jsxs("div", { children: [_jsx("dt", { children: t('Status') }), _jsx("dd", { children: t(statusLabel(connector.status)) })] }), _jsxs("div", { children: [_jsx("dt", { children: t('Category') }), _jsx("dd", { children: categoryLabel })] }), _jsxs("div", { children: [_jsx("dt", { children: t('Provider') }), _jsx("dd", { children: connector.provider })] }), accountLabel ? (_jsxs("div", { children: [_jsx("dt", { children: t('Account') }), _jsx("dd", { children: accountLabel })] })) : null, connector.lastError ? (_jsxs("div", { className: "connector-drawer-details-error", children: [_jsx("dt", { children: t('Error') }), _jsx("dd", { children: connector.lastError })] })) : null] })] }), _jsxs("section", { className: "connector-drawer-section", children: [_jsxs("h3", { className: "connector-drawer-section-title", children: [t('Tools'), " ", _jsx("span", { className: "connector-drawer-count", children: toolCount })] }), isLoadingTools ? (_jsxs("p", { className: "connector-drawer-empty", children: [_jsx(Icon, { name: "spinner", size: 12 }), " ", t('Loading tools…')] })) : toolDetailsUnavailable ? (_jsx("p", { className: "connector-drawer-empty", children: t('Tool details unavailable ({count})', { count: toolCount }) })) : actualToolCount === 0 ? (_jsx("p", { className: "connector-drawer-empty", children: t('No tools available') })) : (_jsxs(_Fragment, { children: [_jsx("ul", { className: "connector-drawer-tools", children: connector.tools.map((tool) => (_jsxs("li", { className: "connector-drawer-tool", children: [_jsxs("div", { className: "connector-drawer-tool-head", children: [_jsx("span", { className: "connector-drawer-tool-title", children: tool.title || tool.name }), _jsx("span", { className: `connector-drawer-tool-badge side-${tool.safety.sideEffect}`, title: tool.safety.reason, children: tool.safety.sideEffect })] }), tool.description ? _jsx("p", { className: "connector-drawer-tool-desc", children: tool.description }) : null, _jsx("code", { className: "connector-drawer-tool-name", children: tool.name })] }, tool.name))) }), connector.toolsNextCursor ? (_jsx("button", { type: "button", className: "ghost connector-drawer-load-more", disabled: toolsPreviewLoading, onClick: () => onLoadMoreTools(connector.id, connector.toolsNextCursor), children: _jsx("span", { children: t('Load more tools') }) })) : null] }))] })] }), !isConnected ? (_jsxs("footer", { className: "connector-drawer-foot", children: [_jsxs("button", { type: "button", className: `primary connector-action is-connect${isConnecting || isAuthorizationPending ? ' is-loading' : ''}`, disabled: !canConnect, "aria-busy": isConnecting || isAuthorizationPending || undefined, onClick: () => onConnect(connector.id), ...agentHandleProps(agentHandle, { action: 'connect', role: 'button', label: t('Connect') }), children: [isConnecting || isAuthorizationPending ? _jsx(Icon, { name: "spinner", size: 12 }) : null, _jsx("span", { children: isAuthorizationPending ? t('Authorization pending') : t('Connect') })] }), isAuthorizationPending ? (_jsx("button", { type: "button", className: "ghost connector-action is-cancel-authorization", onClick: () => onCancelAuthorization(connector.id), ...agentHandleProps(agentHandle, { action: 'cancel-authorization', role: 'button', label: t('Cancel authorization') }), children: _jsx("span", { children: t('Cancel authorization') }) })) : null] })) : null] }) }));
|
|
68
69
|
}
|
|
69
70
|
//# sourceMappingURL=ConnectorDetailDrawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectorDetailDrawer.js","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorDetailDrawer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EACL,4BAA4B,EAC5B,mCAAmC,EACnC,WAAW,EACX,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConnectorDetailDrawer.js","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorDetailDrawer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,10 @@ export interface ConnectorGridProps {
|
|
|
23
23
|
emptyNoMatchTitle?: (query: string) => string;
|
|
24
24
|
emptyNoMatchBody?: string;
|
|
25
25
|
emptyNoMatchAction?: string;
|
|
26
|
+
/** This grid's own agent handle — see `ConnectorsBrowser`'s `agentHandle` doc. Each card gets its
|
|
27
|
+
* own distinct sub-handle, derived from the connector's own stable id. */
|
|
28
|
+
agentHandle?: string;
|
|
26
29
|
}
|
|
27
30
|
/** Card grid + the search-empty-state and locked-gate overlays. */
|
|
28
|
-
export declare function ConnectorGrid({ connectors, locked, hasNoResults, searchQuery, pendingConnectorAction, authorizationPending, authorizationCancelFailed, toolsLoaded, onConnect, onDisconnect, onCancelAuthorization, onOpenDetails, onOpenExternalUrl, getCategoryLabel, onClearSearch, gate, emptyNoMatchTitle, emptyNoMatchBody, emptyNoMatchAction, }: ConnectorGridProps): import("react").JSX.Element;
|
|
31
|
+
export declare function ConnectorGrid({ connectors, locked, hasNoResults, searchQuery, pendingConnectorAction, authorizationPending, authorizationCancelFailed, toolsLoaded, onConnect, onDisconnect, onCancelAuthorization, onOpenDetails, onOpenExternalUrl, getCategoryLabel, onClearSearch, gate, emptyNoMatchTitle, emptyNoMatchBody, emptyNoMatchAction, agentHandle, }: ConnectorGridProps): import("react").JSX.Element;
|
|
29
32
|
//# sourceMappingURL=ConnectorGrid.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectorGrid.d.ts","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorGrid.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConnectorGrid.d.ts","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,kCAAkC,EAAE,MAAM,aAAa,CAAC;AAElG,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,eAAe,CAAA;KAAE,GAAG,IAAI,CAAC;IAChF,oBAAoB,EAAE,kCAAkC,CAAC;IACzD,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;+EAC2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,WAAW,EACX,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,IAAI,EACJ,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,GACZ,EAAE,kBAAkB,+BA+CpB"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { agentHandleProps, buildAgentListHandles } from '@jini-ai/agentic';
|
|
2
3
|
import { useT } from '../../i18n/index.js';
|
|
3
4
|
import { ConnectorCard } from './ConnectorCard.js';
|
|
4
5
|
import { ConnectorGate } from './ConnectorGate.js';
|
|
5
6
|
/** Card grid + the search-empty-state and locked-gate overlays. */
|
|
6
|
-
export function ConnectorGrid({ connectors, locked, hasNoResults, searchQuery, pendingConnectorAction, authorizationPending, authorizationCancelFailed, toolsLoaded, onConnect, onDisconnect, onCancelAuthorization, onOpenDetails, onOpenExternalUrl, getCategoryLabel, onClearSearch, gate, emptyNoMatchTitle, emptyNoMatchBody, emptyNoMatchAction, }) {
|
|
7
|
+
export function ConnectorGrid({ connectors, locked, hasNoResults, searchQuery, pendingConnectorAction, authorizationPending, authorizationCancelFailed, toolsLoaded, onConnect, onDisconnect, onCancelAuthorization, onOpenDetails, onOpenExternalUrl, getCategoryLabel, onClearSearch, gate, emptyNoMatchTitle, emptyNoMatchBody, emptyNoMatchAction, agentHandle, }) {
|
|
7
8
|
const t = useT();
|
|
8
9
|
const resolvedEmptyNoMatchTitle = emptyNoMatchTitle ?? ((query) => t('No connectors match "{query}"', { query }));
|
|
9
10
|
const resolvedEmptyNoMatchBody = emptyNoMatchBody ?? t('Try a different search term.');
|
|
10
11
|
const resolvedEmptyNoMatchAction = emptyNoMatchAction ?? t('Clear search');
|
|
11
|
-
|
|
12
|
+
const cardHandles = agentHandle ? buildAgentListHandles(agentHandle, connectors.map((c) => c.id)) : undefined;
|
|
13
|
+
return (_jsxs("div", { className: `connector-grid-wrap${locked ? ' is-masked' : ''}`, "data-testid": "connector-grid-wrap", children: [hasNoResults && !locked ? (_jsxs("div", { className: "tab-empty connectors-empty", role: "status", "aria-live": "polite", "data-testid": "connectors-empty", children: [_jsx("p", { className: "connectors-empty-title", children: resolvedEmptyNoMatchTitle(searchQuery.trim()) }), _jsx("p", { className: "connectors-empty-body", children: resolvedEmptyNoMatchBody }), _jsx("button", { type: "button", className: "ghost connectors-empty-action", onClick: onClearSearch, ...agentHandleProps(agentHandle, { action: 'clear-search', role: 'button', label: resolvedEmptyNoMatchAction }), children: resolvedEmptyNoMatchAction })] })) : (_jsx("div", { className: "connector-grid", "aria-hidden": locked || undefined, children: connectors.map((connector, index) => (_jsx(ConnectorCard, { connector: connector, disabled: locked, pendingAction: pendingConnectorAction?.connectorId === connector.id ? pendingConnectorAction.action : null, authorizationPending: authorizationPending[connector.id], authorizationCancelFailed: authorizationCancelFailed[connector.id] === true, toolsLoaded: toolsLoaded, onConnect: onConnect, onDisconnect: onDisconnect, onCancelAuthorization: onCancelAuthorization, onOpenDetails: onOpenDetails, ...(getCategoryLabel ? { getCategoryLabel } : {}), ...(onOpenExternalUrl ? { onOpenExternalUrl } : {}), ...(cardHandles?.[index] ? { agentHandle: cardHandles[index] } : {}) }, connector.id))) })), locked && gate ? _jsx(ConnectorGate, { ...gate }) : null] }));
|
|
12
14
|
}
|
|
13
15
|
//# sourceMappingURL=ConnectorGrid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectorGrid.js","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorGrid.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConnectorGrid.js","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorGrid.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ export interface ConnectorSearchBarProps {
|
|
|
6
6
|
placeholder?: string;
|
|
7
7
|
ariaLabel?: string;
|
|
8
8
|
clearAriaLabel?: string;
|
|
9
|
+
/** This search bar's own agent handle — see `ConnectorsBrowser`'s `agentHandle` doc. */
|
|
10
|
+
agentHandle?: string;
|
|
9
11
|
}
|
|
10
|
-
export declare function ConnectorSearchBar({ value, onChange, disabled, onFocus, placeholder, ariaLabel, clearAriaLabel, }: ConnectorSearchBarProps): import("react").JSX.Element;
|
|
12
|
+
export declare function ConnectorSearchBar({ value, onChange, disabled, onFocus, placeholder, ariaLabel, clearAriaLabel, agentHandle, }: ConnectorSearchBarProps): import("react").JSX.Element;
|
|
11
13
|
//# sourceMappingURL=ConnectorSearchBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectorSearchBar.d.ts","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorSearchBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConnectorSearchBar.d.ts","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorSearchBar.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,OAAO,EACP,WAAW,EACX,SAAS,EACT,cAAc,EACd,WAAW,GACZ,EAAE,uBAAuB,+BAmDzB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useRef } from 'react';
|
|
3
|
+
import { agentHandleProps } from '@jini-ai/agentic';
|
|
3
4
|
import { useT } from '../../i18n/index.js';
|
|
4
5
|
import { Icon } from '../../../react/components/Icon.js';
|
|
5
|
-
export function ConnectorSearchBar({ value, onChange, disabled = false, onFocus, placeholder, ariaLabel, clearAriaLabel, }) {
|
|
6
|
+
export function ConnectorSearchBar({ value, onChange, disabled = false, onFocus, placeholder, ariaLabel, clearAriaLabel, agentHandle, }) {
|
|
6
7
|
const t = useT();
|
|
7
8
|
const resolvedPlaceholder = placeholder ?? t('Search connectors');
|
|
8
9
|
const resolvedAriaLabel = ariaLabel ?? t('Search connectors');
|
|
@@ -16,9 +17,9 @@ export function ConnectorSearchBar({ value, onChange, disabled = false, onFocus,
|
|
|
16
17
|
onChange('');
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
|
-
return (_jsxs("div", { className: "toolbar-search connectors-search", children: [_jsx("span", { className: "search-icon", "aria-hidden": true, children: _jsx(Icon, { name: "search", size: 13 }) }), _jsx("input", { ref: inputRef, type: "search", value: value, onFocus: onFocus, onChange: (event) => onChange(event.target.value), onKeyDown: onKeyDown, placeholder: resolvedPlaceholder, "aria-label": resolvedAriaLabel, disabled: disabled, "data-testid": "connectors-search-input" }), hasQuery ? (_jsx("button", { type: "button", className: "toolbar-search-clear", "aria-label": resolvedClearAriaLabel, onClick: () => {
|
|
20
|
+
return (_jsxs("div", { className: "toolbar-search connectors-search", children: [_jsx("span", { className: "search-icon", "aria-hidden": true, children: _jsx(Icon, { name: "search", size: 13 }) }), _jsx("input", { ref: inputRef, type: "search", value: value, onFocus: onFocus, onChange: (event) => onChange(event.target.value), onKeyDown: onKeyDown, placeholder: resolvedPlaceholder, "aria-label": resolvedAriaLabel, disabled: disabled, "data-testid": "connectors-search-input", ...agentHandleProps(agentHandle, { role: 'field', label: resolvedAriaLabel }) }), hasQuery ? (_jsx("button", { type: "button", className: "toolbar-search-clear", "aria-label": resolvedClearAriaLabel, onClick: () => {
|
|
20
21
|
onChange('');
|
|
21
22
|
inputRef.current?.focus();
|
|
22
|
-
}, "data-testid": "connectors-search-clear", children: _jsx(Icon, { name: "close", size: 12 }) })) : null] }));
|
|
23
|
+
}, "data-testid": "connectors-search-clear", ...agentHandleProps(agentHandle, { action: 'clear', role: 'button', label: resolvedClearAriaLabel }), children: _jsx(Icon, { name: "close", size: 12 }) })) : null] }));
|
|
23
24
|
}
|
|
24
25
|
//# sourceMappingURL=ConnectorSearchBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectorSearchBar.js","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorSearchBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"ConnectorSearchBar.js","sourceRoot":"","sources":["../../../../src/features/connectors/components/ConnectorSearchBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAczD,MAAM,UAAU,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,OAAO,EACP,WAAW,EACX,SAAS,EACT,cAAc,EACd,WAAW,GACa;IACxB,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,MAAM,mBAAmB,GAAG,WAAW,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,MAAM,iBAAiB,GAAG,SAAS,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC9D,MAAM,sBAAsB,GAAG,cAAc,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzC,SAAS,SAAS,CAAC,KAA2C;QAC5D,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;YACpC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,kCAAkC,aAC/C,eAAM,SAAS,EAAC,aAAa,iCAC3B,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAE,EAAE,GAAI,GAC3B,EACP,gBACE,GAAG,EAAE,QAAQ,EACb,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACjD,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,mBAAmB,gBACpB,iBAAiB,EAC7B,QAAQ,EAAE,QAAQ,iBACN,yBAAyB,KACjC,gBAAgB,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,GAC9E,EACD,QAAQ,CAAC,CAAC,CAAC,CACV,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,sBAAsB,gBACpB,sBAAsB,EAClC,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACb,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBAC5B,CAAC,iBACW,yBAAyB,KACjC,gBAAgB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,YAErG,KAAC,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,EAAE,GAAI,GACxB,CACV,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -4,7 +4,10 @@ export interface ProviderTabBarProps {
|
|
|
4
4
|
selectedId: string;
|
|
5
5
|
onSelect: (id: string) => void;
|
|
6
6
|
ariaLabel?: string;
|
|
7
|
+
/** This bar's own agent handle — see `ConnectorsBrowser`'s `agentHandle` doc. One distinct
|
|
8
|
+
* sub-handle per provider tab, derived from the tab's own id. */
|
|
9
|
+
agentHandle?: string;
|
|
7
10
|
}
|
|
8
11
|
/** Config-driven provider-tab bar. A single-provider host still renders one tab. */
|
|
9
|
-
export declare function ProviderTabBar({ tabs, selectedId, onSelect, ariaLabel }: ProviderTabBarProps): import("react").JSX.Element;
|
|
12
|
+
export declare function ProviderTabBar({ tabs, selectedId, onSelect, ariaLabel, agentHandle }: ProviderTabBarProps): import("react").JSX.Element;
|
|
10
13
|
//# sourceMappingURL=ProviderTabBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderTabBar.d.ts","sourceRoot":"","sources":["../../../../src/features/connectors/components/ProviderTabBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProviderTabBar.d.ts","sourceRoot":"","sources":["../../../../src/features/connectors/components/ProviderTabBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,WAAW,EAAE,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;sEACkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,mBAAmB,+BAyBzG"}
|