admesh-ui-sdk 1.0.28 → 1.0.30
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/CHANGELOG.md +2 -2
- package/CONVERSATIONAL_GUIDE.md +1 -1
- package/INTEGRATION_GUIDE.md +1 -1
- package/README.md +39 -78
- package/dist/admesh-ui-sdk.css +1 -1
- package/dist/components/AdMeshCompactCard.d.ts +5 -0
- package/dist/components/AdMeshCompactCard.d.ts.map +1 -0
- package/dist/components/AdMeshFollowup.d.ts +2 -2
- package/dist/components/AdMeshFollowup.d.ts.map +1 -1
- package/dist/components/AdMeshIntentAssistant.d.ts +5 -2
- package/dist/components/AdMeshIntentAssistant.d.ts.map +1 -1
- package/dist/components/AdMeshLayout.d.ts.map +1 -1
- package/dist/components/AdMeshRecommendations.d.ts +18 -9
- package/dist/components/AdMeshRecommendations.d.ts.map +1 -1
- package/dist/components/AdMeshTailAd.d.ts +7 -4
- package/dist/components/AdMeshTailAd.d.ts.map +1 -1
- package/dist/components/AdMeshViewabilityTracker.d.ts +2 -0
- package/dist/components/AdMeshViewabilityTracker.d.ts.map +1 -1
- package/dist/components/WeaveAdFormatContainer.d.ts +3 -2
- package/dist/components/WeaveAdFormatContainer.d.ts.map +1 -1
- package/dist/components/WeaveFallbackRecommendations.d.ts.map +1 -1
- package/dist/context/AdMeshContext.d.ts +21 -2
- package/dist/context/AdMeshContext.d.ts.map +1 -1
- package/dist/context/AdMeshProvider.d.ts +13 -4
- package/dist/context/AdMeshProvider.d.ts.map +1 -1
- package/dist/hooks/useAdMesh.d.ts +27 -4
- package/dist/hooks/useAdMesh.d.ts.map +1 -1
- package/dist/hooks/useWeaveAdFormat.d.ts +1 -1
- package/dist/index.d.ts +3 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +94 -78
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4737 -4288
- package/dist/index.mjs.map +1 -1
- package/dist/publisherAssistantEmbed.d.ts +2 -0
- package/dist/publisherAssistantEmbed.d.ts.map +1 -0
- package/dist/sdk/AdMeshRenderer.d.ts +15 -7
- package/dist/sdk/AdMeshRenderer.d.ts.map +1 -1
- package/dist/sdk/AdMeshSDK.d.ts +48 -20
- package/dist/sdk/AdMeshSDK.d.ts.map +1 -1
- package/dist/sdk/AdMeshTracker.d.ts +1 -1
- package/dist/sdk/AdMeshTracker.d.ts.map +1 -1
- package/dist/sdk/WeaveResponseProcessor.d.ts +12 -12
- package/dist/sdk/WeaveResponseProcessor.d.ts.map +1 -1
- package/dist/types/index.d.ts +372 -375
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -1
- package/dist/components/AdMeshBridgeFormat.d.ts +0 -15
- package/dist/components/AdMeshBridgeFormat.d.ts.map +0 -1
- package/dist/components/AdMeshEcommerceCards.d.ts +0 -88
- package/dist/components/AdMeshEcommerceCards.d.ts.map +0 -1
- package/dist/components/assistant-ui/assistant-modal.d.ts +0 -3
- package/dist/components/assistant-ui/assistant-modal.d.ts.map +0 -1
- package/dist/components/assistant-ui/attachment.d.ts +0 -5
- package/dist/components/assistant-ui/attachment.d.ts.map +0 -1
- package/dist/components/assistant-ui/markdown-text.d.ts +0 -2
- package/dist/components/assistant-ui/markdown-text.d.ts.map +0 -1
- package/dist/components/assistant-ui/thread.d.ts +0 -3
- package/dist/components/assistant-ui/thread.d.ts.map +0 -1
- package/dist/components/assistant-ui/tool-fallback.d.ts +0 -32
- package/dist/components/assistant-ui/tool-fallback.d.ts.map +0 -1
- package/dist/components/assistant-ui/tooltip-icon-button.d.ts +0 -8
- package/dist/components/assistant-ui/tooltip-icon-button.d.ts.map +0 -1
- package/dist/components/index.d.ts +0 -7
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/ui/avatar.d.ts +0 -7
- package/dist/components/ui/avatar.d.ts.map +0 -1
- package/dist/components/ui/button.d.ts +0 -12
- package/dist/components/ui/button.d.ts.map +0 -1
- package/dist/components/ui/collapsible.d.ts +0 -6
- package/dist/components/ui/collapsible.d.ts.map +0 -1
- package/dist/components/ui/dialog.d.ts +0 -20
- package/dist/components/ui/dialog.d.ts.map +0 -1
- package/dist/components/ui/tooltip.d.ts +0 -8
- package/dist/components/ui/tooltip.d.ts.map +0 -1
- package/dist/hooks/useAdMeshTracker.d.ts +0 -16
- package/dist/hooks/useAdMeshTracker.d.ts.map +0 -1
- package/dist/lib/utils.d.ts +0 -3
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/sdk/AdMeshSessionManager.d.ts +0 -41
- package/dist/sdk/AdMeshSessionManager.d.ts.map +0 -1
- package/dist/sdk/index.d.ts +0 -16
- package/dist/sdk/index.d.ts.map +0 -1
- package/dist/utils/disclosureUtils.d.ts +0 -53
- package/dist/utils/disclosureUtils.d.ts.map +0 -1
- package/dist/utils/themeUtils.d.ts +0 -37
- package/dist/utils/themeUtils.d.ts.map +0 -1
- package/dist/utils/themingSystem.d.ts +0 -83
- package/dist/utils/themingSystem.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -110,7 +110,7 @@ If you were using the deprecated Weave format pattern:
|
|
|
110
110
|
- **WeaveAdFormatContainer component** - Recommended pattern for Weave Ad Format
|
|
111
111
|
- Automatically detects AdMesh links in LLM responses
|
|
112
112
|
- Fires exposure tracking for detected links
|
|
113
|
-
- Adds
|
|
113
|
+
- Adds Ad labels to links
|
|
114
114
|
- Shows "Why this ad?" tooltip on hover
|
|
115
115
|
- Conditionally renders fallback UI only when no links detected
|
|
116
116
|
|
|
@@ -310,7 +310,7 @@ disableViewabilityAnalytics(false);
|
|
|
310
310
|
- **Weave Mode**: Automatic link detection and enhancement for organic LLM responses
|
|
311
311
|
- **WeaveResponseProcessor**: New utility for scanning and processing AdMesh links in HTML/markdown content
|
|
312
312
|
- **Multi-Domain Support**: Support for both `api.useadmesh.com` and `*.useadmesh.com` domains
|
|
313
|
-
- **Automatic Label Enhancement**: Adds `
|
|
313
|
+
- **Automatic Label Enhancement**: Adds `Ad` labels to detected AdMesh links
|
|
314
314
|
- **Exposure Tracking**: Automatic pixel firing for detected links
|
|
315
315
|
- **Streaming Response Support**: MutationObserver integration for detecting links in streaming responses
|
|
316
316
|
- **npm Publication**: Package fully prepared for npm registry publication
|
package/CONVERSATIONAL_GUIDE.md
CHANGED
package/INTEGRATION_GUIDE.md
CHANGED
|
@@ -305,7 +305,7 @@ const handleProductClick = (adId, admeshLink) => {
|
|
|
305
305
|
> **Important**: Individual components no longer show disclosures. Use AdMeshLayout for platform integration to ensure FTC compliance.
|
|
306
306
|
|
|
307
307
|
```jsx
|
|
308
|
-
import { AdMeshProductCard,
|
|
308
|
+
import { AdMeshProductCard, AdMeshTailAd } from 'admesh-ui-sdk';
|
|
309
309
|
|
|
310
310
|
// Use individual cards (no disclosures - for internal use only)
|
|
311
311
|
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
|
package/README.md
CHANGED
|
@@ -90,7 +90,7 @@ const sessionId = AdMeshSDK.createSession();
|
|
|
90
90
|
await admesh.showRecommendations({
|
|
91
91
|
query: userQuery,
|
|
92
92
|
containerId: 'admesh-recommendations',
|
|
93
|
-
|
|
93
|
+
sessionId
|
|
94
94
|
});
|
|
95
95
|
```
|
|
96
96
|
|
|
@@ -109,9 +109,8 @@ async function handleUserQuery(query: string, sessionId: string, messageId: stri
|
|
|
109
109
|
await admesh.showRecommendations({
|
|
110
110
|
query: query,
|
|
111
111
|
containerId: 'admesh-recommendations',
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
message_id: messageId
|
|
112
|
+
sessionId,
|
|
113
|
+
messageId
|
|
115
114
|
});
|
|
116
115
|
} catch (error) {
|
|
117
116
|
console.error('Failed to fetch recommendations:', error);
|
|
@@ -135,7 +134,7 @@ The SDK is **stateless** regarding session management. Your platform is responsi
|
|
|
135
134
|
- **Creating Sessions**: Use `AdMeshSDK.createSession()` to generate a session ID
|
|
136
135
|
- **Creating Message IDs**: Use `AdMeshSDK.createMessageId(sessionId)` to generate message IDs
|
|
137
136
|
- **Storing Sessions**: Store session IDs in your platform's storage (localStorage, database, etc.)
|
|
138
|
-
- **Passing IDs to SDK**: Provide `
|
|
137
|
+
- **Passing IDs to SDK**: Provide `sessionId` and `messageId` when calling `showRecommendations()`
|
|
139
138
|
|
|
140
139
|
```typescript
|
|
141
140
|
// Generate IDs on your platform
|
|
@@ -149,8 +148,8 @@ localStorage.setItem('admesh_session_id', sessionId);
|
|
|
149
148
|
await admesh.showRecommendations({
|
|
150
149
|
query: userQuery,
|
|
151
150
|
containerId: 'admesh-recommendations',
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
sessionId,
|
|
152
|
+
messageId
|
|
154
153
|
});
|
|
155
154
|
```
|
|
156
155
|
|
|
@@ -198,9 +197,8 @@ For custom styling needs, use the `showRecommendations()` method with the `theme
|
|
|
198
197
|
await admesh.showRecommendations({
|
|
199
198
|
query: 'best CRM for small business',
|
|
200
199
|
containerId: 'recommendations',
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
message_id: messageId,
|
|
200
|
+
sessionId,
|
|
201
|
+
messageId,
|
|
204
202
|
theme: {
|
|
205
203
|
mode: 'dark',
|
|
206
204
|
colors: {
|
|
@@ -324,7 +322,7 @@ Choose the right component for your use case:
|
|
|
324
322
|
|-----------|----------|---------------|----------------------|------------------|
|
|
325
323
|
| **AdMeshLayout** | All use cases | Auto-adaptive | ⭐ Easy | ✅ Yes |
|
|
326
324
|
| **AdMeshProductCard** | Individual products | Single card | ⭐ Easy | ✅ Yes |
|
|
327
|
-
| **
|
|
325
|
+
| **AdMeshTailAd** | Sponsored follow-up and product-rich tail ads | Inline/tail | ⭐ Easy | ✅ Yes |
|
|
328
326
|
|
|
329
327
|
## 🎯 AdMeshLayout
|
|
330
328
|
|
|
@@ -412,28 +410,23 @@ Individual product recommendation card with rich information display.
|
|
|
412
410
|
- `showBadges` (boolean, default: true) - Whether to show product badges
|
|
413
411
|
- `showMatchScore` (boolean, default: false) - Deprecated, match score removed from UI
|
|
414
412
|
|
|
415
|
-
####
|
|
416
|
-
|
|
413
|
+
#### AdMeshTailAd
|
|
414
|
+
Canonical sponsored recommendation component used for inline tail ads and product-rich responses.
|
|
417
415
|
|
|
418
416
|
```tsx
|
|
419
|
-
<
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
showRatings={true}
|
|
424
|
-
showBrand={true}
|
|
425
|
-
cardWidth="md"
|
|
426
|
-
maxCards={10}
|
|
427
|
-
onProductClick={(product) => window.open(product.admesh_link || product.url)}
|
|
417
|
+
<AdMeshTailAd
|
|
418
|
+
recommendation={recommendation}
|
|
419
|
+
sessionId={sessionId}
|
|
420
|
+
onFollowupClick={(query) => onExecuteQuery(query)}
|
|
428
421
|
/>
|
|
429
422
|
```
|
|
430
423
|
|
|
431
424
|
**Perfect for:**
|
|
432
|
-
-
|
|
433
|
-
-
|
|
434
|
-
-
|
|
435
|
-
-
|
|
436
|
-
-
|
|
425
|
+
- Inline sponsored answers
|
|
426
|
+
- Canonical `/aip/context` rendering
|
|
427
|
+
- Product-rich tail ads
|
|
428
|
+
- Sponsored follow-up suggestions
|
|
429
|
+
- Search and assistant integrations
|
|
437
430
|
|
|
438
431
|
### Summary Components
|
|
439
432
|
|
|
@@ -626,16 +619,6 @@ interface AdMeshRecommendation {
|
|
|
626
619
|
height: number;
|
|
627
620
|
};
|
|
628
621
|
}>;
|
|
629
|
-
product_logo?: { // Product logo
|
|
630
|
-
url: string;
|
|
631
|
-
storage_path: string;
|
|
632
|
-
filename: string;
|
|
633
|
-
content_type: string;
|
|
634
|
-
dimensions: {
|
|
635
|
-
width: number;
|
|
636
|
-
height: number;
|
|
637
|
-
};
|
|
638
|
-
};
|
|
639
622
|
feature_sections?: Array<{ // Feature sections for expandable units
|
|
640
623
|
title: string;
|
|
641
624
|
description: string;
|
|
@@ -653,27 +636,10 @@ interface AdMeshRecommendation {
|
|
|
653
636
|
### API Response Structure
|
|
654
637
|
|
|
655
638
|
```typescript
|
|
656
|
-
interface
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
intent_group: string;
|
|
661
|
-
purchase_intent: string;
|
|
662
|
-
intent_type: string;
|
|
663
|
-
layout_type: string;
|
|
664
|
-
categories: string[];
|
|
665
|
-
};
|
|
666
|
-
response: {
|
|
667
|
-
summary: string;
|
|
668
|
-
recommendations: AdMeshRecommendation[];
|
|
669
|
-
followup_suggestions: Array<{
|
|
670
|
-
label: string;
|
|
671
|
-
query: string;
|
|
672
|
-
}>;
|
|
673
|
-
layout_type: string;
|
|
674
|
-
};
|
|
675
|
-
tokens_used: number;
|
|
676
|
-
model_used: string;
|
|
639
|
+
interface AdMeshRecommendationResponse {
|
|
640
|
+
sessionId: string;
|
|
641
|
+
messageId: string;
|
|
642
|
+
recommendations: PlatformResponse[];
|
|
677
643
|
}
|
|
678
644
|
```
|
|
679
645
|
|
|
@@ -702,7 +668,7 @@ const recommendations: AdMeshRecommendation[] = [
|
|
|
702
668
|
// Use with any ad unit
|
|
703
669
|
{recommendations.map(rec => <AdMeshProductCard key={rec.ad_id} recommendation={rec} />)}
|
|
704
670
|
<AdMeshLayout recommendations={recommendations} layout="auto" />
|
|
705
|
-
<
|
|
671
|
+
<AdMeshTailAd recommendation={recommendations[0]} />
|
|
706
672
|
```
|
|
707
673
|
|
|
708
674
|
## 🎯 Layout-Based Integration
|
|
@@ -719,7 +685,7 @@ const recommendations = [
|
|
|
719
685
|
{
|
|
720
686
|
product_id: "hubspot-crm",
|
|
721
687
|
title: "HubSpot CRM",
|
|
722
|
-
|
|
688
|
+
description: "Perfect for remote teams with excellent collaboration features",
|
|
723
689
|
admesh_link: "https://useadmesh.com/track?ad_id=hubspot-123",
|
|
724
690
|
categories: ["CRM", "Sales", "Marketing"],
|
|
725
691
|
trust_score: 95.0,
|
|
@@ -736,7 +702,7 @@ function RecommendationDisplay() {
|
|
|
736
702
|
<div className="recommendations-container">
|
|
737
703
|
<AdMeshLayout
|
|
738
704
|
response={{
|
|
739
|
-
|
|
705
|
+
layout: 'list',
|
|
740
706
|
recommendations: recommendations
|
|
741
707
|
}}
|
|
742
708
|
/>
|
|
@@ -1038,8 +1004,8 @@ Tracking is handled automatically by the SDK components:
|
|
|
1038
1004
|
|
|
1039
1005
|
```tsx
|
|
1040
1006
|
// All components automatically track interactions via exposure/click URLs
|
|
1041
|
-
<
|
|
1042
|
-
|
|
1007
|
+
<AdMeshTailAd
|
|
1008
|
+
recommendation={recommendation.recommendation}
|
|
1043
1009
|
// Exposure tracking handled by AdMeshViewabilityTracker (fires exposure_url)
|
|
1044
1010
|
// Click tracking handled by AdMeshLinkTracker (uses click_url/admesh_link)
|
|
1045
1011
|
/>
|
|
@@ -1091,14 +1057,12 @@ const client = new AdMesh({ apiKey: 'your-api-key' });
|
|
|
1091
1057
|
async function getRecommendations(query: string) {
|
|
1092
1058
|
const response = await client.recommend.getRecommendations({
|
|
1093
1059
|
query,
|
|
1094
|
-
|
|
1060
|
+
sessionId: AdMeshSDK.createSession(),
|
|
1061
|
+
messageId: AdMeshSDK.createMessageId()
|
|
1095
1062
|
});
|
|
1096
1063
|
|
|
1097
1064
|
return (
|
|
1098
|
-
<
|
|
1099
|
-
recommendation={response.response?.recommendations?.[0]}
|
|
1100
|
-
autoLayout={true}
|
|
1101
|
-
/>
|
|
1065
|
+
<AdMeshTailAd recommendation={response.recommendations?.[0]?.recommendation} />
|
|
1102
1066
|
);
|
|
1103
1067
|
}
|
|
1104
1068
|
|
|
@@ -1120,12 +1084,12 @@ function ChatApp() {
|
|
|
1120
1084
|
// Add assistant response
|
|
1121
1085
|
setMessages(prev => [...prev, {
|
|
1122
1086
|
role: 'assistant',
|
|
1123
|
-
content: response.
|
|
1087
|
+
content: response.summary || 'Here are some recommendations...'
|
|
1124
1088
|
}]);
|
|
1125
1089
|
|
|
1126
1090
|
// Show recommendations
|
|
1127
|
-
if (response.
|
|
1128
|
-
setRecommendations(response.
|
|
1091
|
+
if (response.recommendations) {
|
|
1092
|
+
setRecommendations(response.recommendations);
|
|
1129
1093
|
}
|
|
1130
1094
|
};
|
|
1131
1095
|
|
|
@@ -1170,12 +1134,9 @@ function MultiFormatDemo({ recommendations }: { recommendations: AdMeshRecommend
|
|
|
1170
1134
|
layout="citation"
|
|
1171
1135
|
/>
|
|
1172
1136
|
|
|
1173
|
-
{/*
|
|
1137
|
+
{/* Canonical tail ad */}
|
|
1174
1138
|
{recommendations.length > 0 && (
|
|
1175
|
-
<
|
|
1176
|
-
recommendations={recommendations}
|
|
1177
|
-
showPricing={true}
|
|
1178
|
-
/>
|
|
1139
|
+
<AdMeshTailAd recommendation={recommendations[0].recommendation} />
|
|
1179
1140
|
)}
|
|
1180
1141
|
</div>
|
|
1181
1142
|
);
|
|
@@ -1472,9 +1433,9 @@ const recommendations = [{
|
|
|
1472
1433
|
const MemoizedAdMeshProductCard = React.memo(AdMeshProductCard);
|
|
1473
1434
|
|
|
1474
1435
|
// ✅ Lazy load components
|
|
1475
|
-
const
|
|
1436
|
+
const AdMeshTailAd = React.lazy(() =>
|
|
1476
1437
|
import('admesh-ui-sdk').then(module => ({
|
|
1477
|
-
default: module.
|
|
1438
|
+
default: module.AdMeshTailAd
|
|
1478
1439
|
}))
|
|
1479
1440
|
);
|
|
1480
1441
|
```
|
package/dist/admesh-ui-sdk.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-1\/2,.top-\[50\%\]{top:50%}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.container{width:100%}.mx-auto{margin-inline:auto}.my-auto{margin-block:auto}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-full{width:100%;height:100%}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[80dvh\]{max-height:80dvh}.max-h-\[80vh\]{max-height:80vh}.min-h-screen{min-height:100vh}.w-\[305px\]{width:305px}.w-\[345px\]{width:345px}.w-\[385px\]{width:385px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-\(--thread-max-width\){max-width:var(--thread-max-width)}.max-w-\[85\%\]{max-width:85%}.max-w-\[305px\]{max-width:305px}.max-w-\[345px\]{max-width:345px}.max-w-\[385px\]{max-width:385px}.max-w-full{max-width:100%}.min-w-\[305px\]{min-width:305px}.min-w-\[345px\]{min-width:345px}.min-w-\[385px\]{min-width:385px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:--radix-tooltip-content-transform-origin}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.auto-rows-auto{grid-auto-rows:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[minmax\(72px\,1fr\)_auto\]{grid-template-columns:minmax(72px,1fr) auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.scroll-smooth{scroll-behavior:smooth}.rounded-\[14px\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-none{border-radius:0}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.bg-\[\#E5E5E5\]{background-color:#e5e5e5}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.stroke-\[1\.5px\]{stroke-width:1.5px}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.text-center{text-align:center}.text-left{text-align:left}.text-\[0\.85em\]{font-size:.85em}.leading-none{--tw-leading:1;line-height:1}.break-words,.wrap-break-word{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#000\]{color:#000}.text-\[\#24A0ED\]{color:#24a0ed}.lowercase{text-transform:lowercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-\[0_4px_6px_-1px_rgba\(0\,0\,0\,0\.1\)\,0_2px_4px_-1px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -1px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.delay-75{transition-delay:75ms}.duration-\(--animation-duration\){--tw-duration:var(--animation-duration);transition-duration:var(--animation-duration)}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[state\=closed\]\/trigger\:-rotate-90:is(:where(.group\/trigger)[data-state=closed] *){rotate:-90deg}.group-data-\[state\=open\]\/trigger\:rotate-0:is(:where(.group\/trigger)[data-state=open] *){rotate:none}.first\:border-t:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.last\:border-r:last-child{border-right-style:var(--tw-border-style);border-right-width:1px}.empty\:hidden:empty{display:none}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:text-\[\#24A0ED\]:hover{color:#24a0ed}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-75:hover{opacity:.75}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_10px_15px_-3px_rgba\(0\,0\,0\,0\.1\)\,0_4px_6px_-2px_rgba\(0\,0\,0\,0\.05\)\]:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -2px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:invisible:disabled{visibility:hidden}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-\[textarea\:focus-visible\]\:ring-2:has(:is(textarea:focus-visible)){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-floating\:absolute[data-floating]{position:absolute}.data-floating\:border[data-floating]{border-style:var(--tw-border-style);border-width:1px}.data-\[dragging\=true\]\:border-dashed[data-dragging=true]{--tw-border-style:dashed;border-style:dashed}.data-\[state\=closed\]\:pointer-events-none[data-state=closed]{pointer-events:none}.data-\[state\=closed\]\:scale-0[data-state=closed]{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[state\=closed\]\:scale-100[data-state=closed]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[state\=closed\]\:-rotate-90[data-state=closed]{rotate:-90deg}.data-\[state\=closed\]\:rotate-0[data-state=closed]{rotate:none}.data-\[state\=closed\]\:duration-\(--animation-duration\)[data-state=closed]{--tw-duration:var(--animation-duration);transition-duration:var(--animation-duration)}.data-\[state\=open\]\:scale-0[data-state=open]{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[state\=open\]\:scale-100[data-state=open]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[state\=open\]\:rotate-0[data-state=open]{rotate:none}.data-\[state\=open\]\:rotate-90[data-state=open]{rotate:90deg}.data-\[state\=open\]\:duration-\(--animation-duration\)[data-state=open]{--tw-duration:var(--animation-duration);transition-duration:var(--animation-duration)}.nth-\[n\+3\]\:hidden:nth-child(n+3){display:none}@media(prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media(prefers-color-scheme:dark){.dark\:bg-\[\#262626\]{background-color:#262626}.dark\:stroke-\[2\.5px\]{stroke-width:2.5px}.dark\:text-\[\#FFF\]{color:#fff}.dark\:shadow-\[0_4px_6px_-1px_rgba\(0\,0\,0\,0\.3\)\,0_2px_4px_-1px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000004d),0 2px 4px -1px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.dark\:hover\:shadow-\[0_10px_15px_-3px_rgba\(0\,0\,0\,0\.4\)\,0_4px_6px_-2px_rgba\(0\,0\,0\,0\.3\)\]:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0006),0 4px 6px -2px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\[align\=center\]\]\:text-center[align=center]{text-align:center}.\[\[align\=right\]\]\:text-right[align=right]{text-align:right}.\[\&\:where\(\>\*\)\]\:col-start-2:where(){grid-column-start:2}.\[\&\>\.aui-thread-root\]\:bg-inherit>.aui-thread-root{background-color:inherit}.\[\&\>a\]\:no-underline>a{text-decoration-line:none}.\[\&\>button\]\:rounded-full>button{border-radius:3.40282e38px}.\[\&\>button\]\:opacity-100>button{opacity:1}.\[\&\>button\]\:ring-0\!>button{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.admesh-component{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.prose{color:inherit!important}.prose p{margin-bottom:1rem!important;line-height:1.6!important}.prose strong{color:inherit!important;font-weight:600!important}.prose ul,.prose ol{margin-bottom:1rem!important;padding-left:1.5rem!important}.prose li{margin-bottom:.5rem!important}.prose h2{margin-top:1.5rem!important;margin-bottom:1rem!important;font-size:1.25rem!important;font-weight:600!important}.prose h3{margin-top:1rem!important;margin-bottom:.75rem!important;font-size:1.125rem!important;font-weight:600!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
|
|
1
|
+
/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.z-10{z-index:10}.container{width:100%}.mx-auto{margin-inline:auto}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[280px\]{max-height:280px}.min-h-screen{min-height:100vh}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-\[85\%\]{max-width:85%}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[1\.5rem\]{border-radius:1.5rem}.rounded-\[1\.75rem\]{border-radius:1.75rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.bg-\[\#E5E5E5\]{background-color:#e5e5e5}.object-cover{-o-object-fit:cover;object-fit:cover}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.whitespace-nowrap{white-space:nowrap}.text-\[\#000\]{color:#000}.text-\[\#24A0ED\]{color:#24a0ed}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.01\]:hover{scale:1.01}.hover\:text-\[\#24A0ED\]:hover{color:#24a0ed}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:scale-\[0\.99\]:active{scale:.99}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media(prefers-color-scheme:dark){.dark\:bg-\[\#262626\]{background-color:#262626}.dark\:text-\[\#FFF\]{color:#fff}}.admesh-component{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.prose{color:inherit!important}.prose p{margin-bottom:1rem!important;line-height:1.6!important}.prose strong{color:inherit!important;font-weight:600!important}.prose ul,.prose ol{margin-bottom:1rem!important;padding-left:1.5rem!important}.prose li{margin-bottom:.5rem!important}.prose h2{margin-top:1.5rem!important;margin-bottom:1rem!important;font-size:1.25rem!important;font-weight:600!important}.prose h3{margin-top:1rem!important;margin-bottom:.75rem!important;font-size:1.125rem!important;font-weight:600!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdMeshCompactCard.d.ts","sourceRoot":"","sources":["../../src/components/AdMeshCompactCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAqDxD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAmgBzD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { PlatformResponse, AdMeshTheme } from '../types/index';
|
|
3
3
|
import { AdMeshSDK } from '../sdk/AdMeshSDK';
|
|
4
4
|
export interface AdMeshFollowupProps {
|
|
5
|
-
recommendation:
|
|
5
|
+
recommendation: PlatformResponse;
|
|
6
6
|
theme?: AdMeshTheme;
|
|
7
7
|
sdk: AdMeshSDK;
|
|
8
8
|
sessionId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdMeshFollowup.d.ts","sourceRoot":"","sources":["../../src/components/AdMeshFollowup.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"AdMeshFollowup.d.ts","sourceRoot":"","sources":["../../src/components/AdMeshFollowup.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,gBAAgB,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,SAAS,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAoBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAgGxD,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { PlatformResponse, AdMeshTheme } from '../types/index';
|
|
3
3
|
export interface Suggestion {
|
|
4
4
|
id: string;
|
|
5
5
|
text: string;
|
|
6
6
|
type: 'product' | 'comparison' | 'information' | 'action';
|
|
7
7
|
is_sponsored?: boolean;
|
|
8
|
-
recommendation?:
|
|
8
|
+
recommendation?: PlatformResponse;
|
|
9
9
|
metadata?: Record<string, unknown>;
|
|
10
10
|
}
|
|
11
11
|
export interface AdMeshIntentAssistantProps {
|
|
@@ -13,6 +13,7 @@ export interface AdMeshIntentAssistantProps {
|
|
|
13
13
|
open?: boolean;
|
|
14
14
|
onOpenChange?: (open: boolean) => void;
|
|
15
15
|
unstable_openOnRunStart?: boolean;
|
|
16
|
+
layout?: 'floating' | 'inline';
|
|
16
17
|
position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
|
|
17
18
|
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
18
19
|
theme?: AdMeshTheme;
|
|
@@ -29,8 +30,10 @@ export interface AdMeshIntentAssistantProps {
|
|
|
29
30
|
showWelcomeMessage?: boolean;
|
|
30
31
|
welcomeMessage?: string;
|
|
31
32
|
placeholder?: string;
|
|
33
|
+
adsEnabled?: boolean;
|
|
32
34
|
suggestions?: Suggestion[];
|
|
33
35
|
maxSuggestions?: number;
|
|
36
|
+
onlyShowWhenSponsored?: boolean;
|
|
34
37
|
onOpen?: () => void;
|
|
35
38
|
onClose?: () => void;
|
|
36
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdMeshIntentAssistant.d.ts","sourceRoot":"","sources":["../../src/components/AdMeshIntentAssistant.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"AdMeshIntentAssistant.d.ts","sourceRoot":"","sources":["../../src/components/AdMeshIntentAssistant.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAe,MAAM,gBAAgB,CAAC;AAoGjF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,aAAa,GAAG,QAAQ,CAAC;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,0BAA0B;IAEzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAGlC,MAAM,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC/B,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;IACrE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAGhC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AA0CD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA+6BtE,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdMeshLayout.d.ts","sourceRoot":"","sources":["../../src/components/AdMeshLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"AdMeshLayout.d.ts","sourceRoot":"","sources":["../../src/components/AdMeshLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA6DpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PlatformResponse, DelegationActivationPayload } from '../types/index';
|
|
1
2
|
export interface AdMeshRecommendationsProps {
|
|
2
3
|
/** Optional callback when recommendations are shown */
|
|
3
4
|
onRecommendationsShown?: (messageId: string) => void;
|
|
@@ -20,21 +21,23 @@ export interface AdMeshRecommendationsProps {
|
|
|
20
21
|
* The backend requires a valid query parameter.
|
|
21
22
|
*/
|
|
22
23
|
query?: string;
|
|
23
|
-
/**
|
|
24
|
-
* Callback to paste content to input field (for bridge format CTA button).
|
|
25
|
-
* When provided, the bridge format will show a CTA button that pastes
|
|
26
|
-
* the bridge_content into the input field when clicked.
|
|
27
|
-
*/
|
|
24
|
+
/** Legacy bridge CTA callback; prefer onStartDelegation. */
|
|
28
25
|
onPasteToInput?: (content: string) => void;
|
|
26
|
+
/** Called when the SDK needs host approval before starting a delegated brand flow. */
|
|
27
|
+
onDelegationConsent?: (recommendation: PlatformResponse) => boolean | Promise<boolean>;
|
|
28
|
+
/** Called with normalized delegation metadata after consent/engagement. */
|
|
29
|
+
onDelegationActivated?: (payload: DelegationActivationPayload) => void | Promise<void>;
|
|
30
|
+
/** Called after consent is granted so the host can create/open the delegation session. */
|
|
31
|
+
onStartDelegation?: (recommendation: PlatformResponse) => void | Promise<void>;
|
|
29
32
|
/**
|
|
30
33
|
* Optional container ID for follow-up suggestions.
|
|
31
|
-
* When provided and the recommendation includes a
|
|
34
|
+
* When provided and the recommendation includes a followup_suggestion,
|
|
32
35
|
* the SDK will automatically render the follow-up in this container.
|
|
33
36
|
*/
|
|
34
37
|
followups_container_id?: string;
|
|
35
38
|
/**
|
|
36
39
|
* Callback to execute query when follow-up is selected (required for follow-up functionality).
|
|
37
|
-
* When a user clicks on a follow-up suggestion, this callback is invoked with the
|
|
40
|
+
* When a user clicks on a follow-up suggestion, this callback is invoked with the followup_suggestion.query.
|
|
38
41
|
* This allows the platform to continue the conversation with the sponsored follow-up query.
|
|
39
42
|
*/
|
|
40
43
|
onExecuteQuery?: (query: string) => void | Promise<void>;
|
|
@@ -66,7 +69,8 @@ export interface AdMeshRecommendationsProps {
|
|
|
66
69
|
* />
|
|
67
70
|
* ```
|
|
68
71
|
*/
|
|
69
|
-
onFollowupDetected?: (
|
|
72
|
+
onFollowupDetected?: (followupSuggestion: any, // Will be updated to proper type later
|
|
73
|
+
recommendationId: string) => void;
|
|
70
74
|
/**
|
|
71
75
|
* Signal indicating if the followup container is ready in the DOM.
|
|
72
76
|
*
|
|
@@ -79,6 +83,11 @@ export interface AdMeshRecommendationsProps {
|
|
|
79
83
|
* Useful for per-message or specific user tracking scenarios.
|
|
80
84
|
*/
|
|
81
85
|
userId?: string;
|
|
86
|
+
/**
|
|
87
|
+
* Optional pre-fetched canonical platform result from an upstream backend flow.
|
|
88
|
+
* When provided, the component reuses this payload and skips calling /aip/context.
|
|
89
|
+
*/
|
|
90
|
+
initialRecommendation?: PlatformResponse;
|
|
82
91
|
}
|
|
83
92
|
/**
|
|
84
93
|
* AdMeshRecommendations - Citation/Product Format Recommendation Display
|
|
@@ -121,6 +130,6 @@ export interface AdMeshRecommendationsProps {
|
|
|
121
130
|
* </AdMeshProvider>
|
|
122
131
|
* ```
|
|
123
132
|
*/
|
|
124
|
-
export declare const AdMeshRecommendations: ({ onRecommendationsShown, onError, messageId, query,
|
|
133
|
+
export declare const AdMeshRecommendations: ({ onRecommendationsShown, onError, messageId, query, userId: propUserId, initialRecommendation, followups_container_id, onPasteToInput, onDelegationConsent, onDelegationActivated, onStartDelegation, onExecuteQuery, onFollowupDetected, isContainerReady, }: AdMeshRecommendationsProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
125
134
|
export default AdMeshRecommendations;
|
|
126
135
|
//# sourceMappingURL=AdMeshRecommendations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdMeshRecommendations.d.ts","sourceRoot":"","sources":["../../src/components/AdMeshRecommendations.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AdMeshRecommendations.d.ts","sourceRoot":"","sources":["../../src/components/AdMeshRecommendations.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAE5B,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,0BAA0B;IACzC,uDAAuD;IACvD,sBAAsB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAErD,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,4DAA4D;IAC5D,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAE3C,sFAAsF;IACtF,mBAAmB,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvF,2EAA2E;IAC3E,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvF,0FAA0F;IAC1F,iBAAiB,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IAEH,kBAAkB,CAAC,EAAE,CACnB,kBAAkB,EAAE,GAAG,EAAE,uCAAuC;IAChE,gBAAgB,EAAE,MAAM,KACrB,IAAI,CAAC;IAEV;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,gBAAgB,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,qBAAqB,GAAI,gQAenC,0BAA0B,mDAihB5B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { PlatformResponse, AdMeshTheme, DelegationActivationPayload } from '../types/index';
|
|
3
3
|
export interface AdMeshTailAdProps {
|
|
4
|
-
|
|
5
|
-
recommendations: AdMeshRecommendation[];
|
|
4
|
+
recommendations: PlatformResponse[];
|
|
6
5
|
theme?: AdMeshTheme;
|
|
7
6
|
className?: string;
|
|
8
7
|
style?: React.CSSProperties;
|
|
9
|
-
onLinkClick?: (recommendation: AdMeshRecommendation) => void;
|
|
10
8
|
sessionId?: string;
|
|
9
|
+
triggerExposureUrl?: boolean;
|
|
10
|
+
onDelegationConsent?: (recommendation: PlatformResponse) => boolean | Promise<boolean>;
|
|
11
|
+
onDelegationActivated?: (payload: DelegationActivationPayload) => void | Promise<void>;
|
|
12
|
+
onStartDelegation?: (recommendation: PlatformResponse) => void | Promise<void>;
|
|
13
|
+
onPasteToInput?: (content: string) => void;
|
|
11
14
|
}
|
|
12
15
|
export declare const AdMeshTailAd: React.FC<AdMeshTailAdProps>;
|
|
13
16
|
export default AdMeshTailAd;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdMeshTailAd.d.ts","sourceRoot":"","sources":["../../src/components/AdMeshTailAd.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"AdMeshTailAd.d.ts","sourceRoot":"","sources":["../../src/components/AdMeshTailAd.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAGjG,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,gBAAgB,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvF,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,iBAAiB,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AA2GD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAusBpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -13,6 +13,8 @@ export interface AdMeshViewabilityTrackerProps {
|
|
|
13
13
|
exposureUrl?: string;
|
|
14
14
|
/** Session ID (for exposure tracking) */
|
|
15
15
|
sessionId?: string;
|
|
16
|
+
/** Whether to fire exposure URL when ad becomes viewable (defaults to true) */
|
|
17
|
+
triggerExposureUrl?: boolean;
|
|
16
18
|
/** Children to wrap with viewability tracking */
|
|
17
19
|
children: React.ReactNode;
|
|
18
20
|
/** Custom viewability tracker configuration */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdMeshViewabilityTracker.d.ts","sourceRoot":"","sources":["../../src/components/AdMeshViewabilityTracker.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE,MAAM,WAAW,6BAA6B;IAC5C,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC3C,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,8CAA8C;IAC9C,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,
|
|
1
|
+
{"version":3,"file":"AdMeshViewabilityTracker.d.ts","sourceRoot":"","sources":["../../src/components/AdMeshViewabilityTracker.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE,MAAM,WAAW,6BAA6B;IAC5C,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC3C,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,8CAA8C;IAC9C,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAoH5E,CAAC"}
|
|
@@ -27,7 +27,8 @@ export interface WeaveAdFormatContainerProps {
|
|
|
27
27
|
/** Callback to execute query when follow-up is selected (required for follow-up functionality) */
|
|
28
28
|
onExecuteQuery?: (query: string) => void | Promise<void>;
|
|
29
29
|
/** Optional callback when a sponsored followup is detected */
|
|
30
|
-
onFollowupDetected?: (
|
|
30
|
+
onFollowupDetected?: (followupSuggestion: any, // Will be updated to proper type later
|
|
31
|
+
recommendationId: string) => void;
|
|
31
32
|
/** Signal indicating if the followup container is ready in the DOM */
|
|
32
33
|
isContainerReady?: boolean;
|
|
33
34
|
}
|
|
@@ -37,7 +38,7 @@ export interface WeaveAdFormatContainerProps {
|
|
|
37
38
|
* Wraps LLM response content and automatically:
|
|
38
39
|
* - Detects AdMesh links in the content
|
|
39
40
|
* - Fires exposure tracking for detected links
|
|
40
|
-
* - Adds
|
|
41
|
+
* - Adds Ad labels to links
|
|
41
42
|
* - Shows "Why this ad?" tooltip on hover
|
|
42
43
|
* - Provides context for WeaveFallbackRecommendations component
|
|
43
44
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WeaveAdFormatContainer.d.ts","sourceRoot":"","sources":["../../src/components/WeaveAdFormatContainer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"WeaveAdFormatContainer.d.ts","sourceRoot":"","sources":["../../src/components/WeaveAdFormatContainer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAoOxE,MAAM,WAAW,2BAA2B;IAC1C,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAElB,0DAA0D;IAC1D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAEpC,uDAAuD;IACvD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE1C,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE/B,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IAErD,0DAA0D;IAC1D,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAE7C,mEAAmE;IACnE,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhF,sDAAsD;IACtD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,kGAAkG;IAClG,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,8DAA8D;IAC9D,kBAAkB,CAAC,EAAE,CACnB,kBAAkB,EAAE,GAAG,EAAE,uCAAuC;IAChE,gBAAgB,EAAE,MAAM,KACrB,IAAI,CAAC;IAEV,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAsOxE,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WeaveFallbackRecommendations.d.ts","sourceRoot":"","sources":["../../src/components/WeaveFallbackRecommendations.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,MAAM,WAAW,iCAAiC;IAChD;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAE5B,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,GAAG,EAAE,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,4BAA4B,EAAE,KAAK,CAAC,EAAE,CAAC,iCAAiC,
|
|
1
|
+
{"version":3,"file":"WeaveFallbackRecommendations.d.ts","sourceRoot":"","sources":["../../src/components/WeaveFallbackRecommendations.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,MAAM,WAAW,iCAAiC;IAChD;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAE5B,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,GAAG,EAAE,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,4BAA4B,EAAE,KAAK,CAAC,EAAE,CAAC,iCAAiC,CAsNpF,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
|