@tangle-network/sandbox-ui 0.113.6 → 0.114.0
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/WorkflowGraph-B-NsdYz_.js +1961 -0
- package/dist/assets.d.ts +214 -206
- package/dist/assets.js +1057 -908
- package/dist/auth-CWe17Hly.js +37 -0
- package/dist/auth.d.ts +2 -30
- package/dist/auth.js +2 -15
- package/dist/chat-BOvFAe6p.js +903 -0
- package/dist/chat.d.ts +2 -230
- package/dist/chat.js +2 -34
- package/dist/connectors.d.ts +52 -49
- package/dist/connectors.js +595 -643
- package/dist/dashboard-CZ3VgNPR.js +4969 -0
- package/dist/dashboard.d.ts +4 -1297
- package/dist/dashboard.js +4 -152
- package/dist/editor.d.ts +2 -1
- package/dist/editor.js +2 -31
- package/dist/files.d.ts +2 -6
- package/dist/files.js +2 -33
- package/dist/globals.css +63 -3
- package/dist/hooks.d.ts +146 -148
- package/dist/hooks.js +222 -55
- package/dist/index-CKRaj1pM.d.ts +776 -0
- package/dist/index-CXX5IpH2.d.ts +2 -0
- package/dist/index-DPePq7c8.d.ts +1340 -0
- package/dist/index-DiyLLZuJ.d.ts +230 -0
- package/dist/index-DvmZLMT1.d.ts +30 -0
- package/dist/index-I8ZLVtHd.d.ts +330 -0
- package/dist/index-PRM636Ex.d.ts +86 -0
- package/dist/index.d.ts +21 -33
- package/dist/index.js +21 -701
- package/dist/info-panel-C9cqDzOL.js +594 -0
- package/dist/integrations.d.ts +133 -139
- package/dist/integrations.js +491 -673
- package/dist/markdown.d.ts +2 -1
- package/dist/markdown.js +2 -13
- package/dist/model-I-NIxeM-.js +1250 -0
- package/dist/model-brand-B9A4H9pJ.d.ts +98 -0
- package/dist/model-brand-hMyDTUqB.js +624 -0
- package/dist/motion-DkyBRJb9.js +37 -0
- package/dist/openui.d.ts +2 -1
- package/dist/openui.js +2 -7
- package/dist/pages.d.ts +307 -300
- package/dist/pages.js +4404 -4181
- package/dist/primitives-Dh1vG6J3.js +113 -0
- package/dist/primitives.d.ts +2 -74
- package/dist/primitives.js +2 -204
- package/dist/provider-logo-DjqmConF.js +311 -0
- package/dist/run.d.ts +2 -1
- package/dist/run.js +2 -23
- package/dist/sdk-hooks.d.ts +3 -4
- package/dist/sdk-hooks.js +3 -31
- package/dist/sidecar-DgH_vQ6m.d.ts +9 -0
- package/dist/stores.d.ts +14 -15
- package/dist/stores.js +13 -81
- package/dist/styles.css +63 -3
- package/dist/template-card-L-4gmjx2.d.ts +90 -0
- package/dist/terminal-CN9ZgHRt.js +197 -0
- package/dist/terminal.d.ts +60 -60
- package/dist/terminal.js +2 -10
- package/dist/tokens.css +51 -0
- package/dist/types.d.ts +4 -11
- package/dist/types.js +0 -1
- package/dist/use-pty-session-C8cE0adT.js +669 -0
- package/dist/use-sidecar-auth-CCTJcrq7.d.ts +145 -0
- package/dist/use-sidecar-auth-DkdcufOz.js +742 -0
- package/dist/utils-DzWbktWG.js +2 -0
- package/dist/utils.d.ts +2 -1
- package/dist/utils.js +2 -37
- package/dist/workbench-BCaCKl-J.js +8347 -0
- package/dist/workbench.d.ts +2 -310
- package/dist/workbench.js +2 -44
- package/dist/workflows.d.ts +341 -339
- package/dist/workflows.js +74 -109
- package/dist/workspace-B6AtI6ld.js +2510 -0
- package/dist/workspace.d.ts +2 -761
- package/dist/workspace.js +2 -51
- package/package.json +46 -40
- package/dist/WorkflowGraph-2QOORYIR.js +0 -1722
- package/dist/chunk-2BUPSB7O.js +0 -0
- package/dist/chunk-3KBNPQQF.js +0 -2697
- package/dist/chunk-3LIXVEEE.js +0 -279
- package/dist/chunk-72UF2H5H.js +0 -707
- package/dist/chunk-AI25G5MX.js +0 -944
- package/dist/chunk-ANSC5AFC.js +0 -314
- package/dist/chunk-AZ3AWMTM.js +0 -8
- package/dist/chunk-BGVEHENC.js +0 -10
- package/dist/chunk-CZ7CSFO4.js +0 -39
- package/dist/chunk-DYXXYGS4.js +0 -4700
- package/dist/chunk-EI44GEQ5.js +0 -6
- package/dist/chunk-IACRDXER.js +0 -219
- package/dist/chunk-IOB2PW5Z.js +0 -55
- package/dist/chunk-M4K7ZGR2.js +0 -24
- package/dist/chunk-MYZAW4RX.js +0 -665
- package/dist/chunk-OMUIPJQZ.js +0 -555
- package/dist/chunk-RQZRXKMR.js +0 -398
- package/dist/chunk-SOKKTB7W.js +0 -230
- package/dist/chunk-TADGS4Q7.js +0 -1010
- package/dist/chunk-UCQNOUN3.js +0 -7964
- package/dist/chunk-ULPLRBMF.js +0 -34
- package/dist/chunk-WID73FPH.js +0 -89
- package/dist/chunk-X3YXP7FG.js +0 -38
- package/dist/logo-DiAjq759.d.ts +0 -15
- package/dist/model-brand-BNnaUKKZ.d.ts +0 -99
- package/dist/ports-list-CDIvTNnX.d.ts +0 -17
- package/dist/sdk-hooks-Djkjq4cp.d.ts +0 -145
- package/dist/template-card-Bn-Bw5xC.d.ts +0 -87
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React$1 from "react";
|
|
3
|
+
//#region src/integrations/provider-logo.tsx
|
|
4
|
+
/**
|
|
5
|
+
* Provider branding: resolve a connector/provider slug to a logo and render it
|
|
6
|
+
* with graceful fallbacks. Shared by the integrations catalog tiles and the
|
|
7
|
+
* assistant's proposal card (its integration-requirement rows), so both surfaces
|
|
8
|
+
* show the same brand mark for a given provider from one source of truth.
|
|
9
|
+
*
|
|
10
|
+
* Dependency-light on purpose — only React — so it can be pulled into the
|
|
11
|
+
* always-loaded assistant entry without dragging the integrations panel's tree
|
|
12
|
+
* along with it.
|
|
13
|
+
*/
|
|
14
|
+
/** Strip separators and common suffixes so "Outlook-Mail" / "stripe_pack" map to
|
|
15
|
+
* a stable key for the curated slug table and the derived simpleicons slug. */
|
|
16
|
+
function normalizeProviderId(id) {
|
|
17
|
+
return id.toLowerCase().replace(/[_\s]+/g, "-").replace(/-(business|oauth|api|app|mail|sms|pack|connector|v\d+)$/g, "");
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Curated map of provider ids → simpleicons slug. Covers cases where the
|
|
21
|
+
* normalized id does not match the simpleicons slug (compound brands,
|
|
22
|
+
* Google/Microsoft suite members, renamed brands).
|
|
23
|
+
*/
|
|
24
|
+
const PROVIDER_LOGO_SLUGS = {
|
|
25
|
+
gmail: "gmail",
|
|
26
|
+
googlemail: "gmail",
|
|
27
|
+
google: "google",
|
|
28
|
+
"google-drive": "googledrive",
|
|
29
|
+
"google-calendar": "googlecalendar",
|
|
30
|
+
"google-sheets": "googlesheets",
|
|
31
|
+
"google-docs": "googledocs",
|
|
32
|
+
"google-meet": "googlemeet",
|
|
33
|
+
"google-forms": "googleforms",
|
|
34
|
+
"google-ads": "googleads",
|
|
35
|
+
"google-analytics": "googleanalytics",
|
|
36
|
+
outlook: "microsoftoutlook",
|
|
37
|
+
"outlook-mail": "microsoftoutlook",
|
|
38
|
+
"microsoft-outlook": "microsoftoutlook",
|
|
39
|
+
"microsoft-calendar": "microsoftoutlook",
|
|
40
|
+
"microsoft-teams": "microsoftteams",
|
|
41
|
+
teams: "microsoftteams",
|
|
42
|
+
"microsoft-excel": "microsoftexcel",
|
|
43
|
+
excel: "microsoftexcel",
|
|
44
|
+
onedrive: "microsoftonedrive",
|
|
45
|
+
sharepoint: "microsoftsharepoint",
|
|
46
|
+
twitter: "x",
|
|
47
|
+
x: "x",
|
|
48
|
+
meta: "meta",
|
|
49
|
+
"stripe-pack": "stripe",
|
|
50
|
+
"twilio-sms": "twilio",
|
|
51
|
+
webhook: "webhooks",
|
|
52
|
+
webhooks: "webhooks",
|
|
53
|
+
hubspot: "hubspot",
|
|
54
|
+
salesforce: "salesforce",
|
|
55
|
+
pipedrive: "pipedrive",
|
|
56
|
+
zoho: "zoho",
|
|
57
|
+
quickbooks: "quickbooks",
|
|
58
|
+
intercom: "intercom",
|
|
59
|
+
zendesk: "zendesk",
|
|
60
|
+
freshdesk: "freshdesk",
|
|
61
|
+
monday: "mondaydotcom",
|
|
62
|
+
"monday-com": "mondaydotcom",
|
|
63
|
+
clickup: "clickup",
|
|
64
|
+
basecamp: "basecamp",
|
|
65
|
+
todoist: "todoist",
|
|
66
|
+
calendly: "calendly",
|
|
67
|
+
typeform: "typeform",
|
|
68
|
+
surveymonkey: "surveymonkey",
|
|
69
|
+
klaviyo: "klaviyo",
|
|
70
|
+
sendinblue: "brevo",
|
|
71
|
+
brevo: "brevo",
|
|
72
|
+
"constant-contact": "constantcontact",
|
|
73
|
+
"active-campaign": "activecampaign",
|
|
74
|
+
activecampaign: "activecampaign",
|
|
75
|
+
"google-chat": "googlechat",
|
|
76
|
+
whatsapp: "whatsapp",
|
|
77
|
+
telegram: "telegram",
|
|
78
|
+
bigquery: "googlebigquery",
|
|
79
|
+
snowflake: "snowflake",
|
|
80
|
+
postgres: "postgresql",
|
|
81
|
+
postgresql: "postgresql",
|
|
82
|
+
mysql: "mysql",
|
|
83
|
+
mongodb: "mongodb",
|
|
84
|
+
redis: "redis",
|
|
85
|
+
supabase: "supabase",
|
|
86
|
+
firebase: "firebase",
|
|
87
|
+
"aws-s3": "amazons3",
|
|
88
|
+
s3: "amazons3",
|
|
89
|
+
woocommerce: "woocommerce",
|
|
90
|
+
bigcommerce: "bigcommerce",
|
|
91
|
+
squarespace: "squarespace",
|
|
92
|
+
wix: "wix",
|
|
93
|
+
webflow: "webflow",
|
|
94
|
+
wordpress: "wordpress",
|
|
95
|
+
contentful: "contentful",
|
|
96
|
+
sanity: "sanity",
|
|
97
|
+
figma: "figma",
|
|
98
|
+
miro: "miro",
|
|
99
|
+
confluence: "confluence",
|
|
100
|
+
bitbucket: "bitbucket",
|
|
101
|
+
pagerduty: "pagerduty",
|
|
102
|
+
datadog: "datadog",
|
|
103
|
+
sentry: "sentry",
|
|
104
|
+
segment: "segment",
|
|
105
|
+
amplitude: "amplitude",
|
|
106
|
+
mixpanel: "mixpanel",
|
|
107
|
+
posthog: "posthog",
|
|
108
|
+
facebook: "facebook",
|
|
109
|
+
instagram: "instagram",
|
|
110
|
+
tiktok: "tiktok",
|
|
111
|
+
youtube: "youtube",
|
|
112
|
+
reddit: "reddit",
|
|
113
|
+
pinterest: "pinterest",
|
|
114
|
+
buffer: "buffer",
|
|
115
|
+
hootsuite: "hootsuite"
|
|
116
|
+
};
|
|
117
|
+
/** Base URL of the ActivePieces piece-logo CDN. The hub's provider ids are
|
|
118
|
+
* generated from the ActivePieces library, so most resolve a real brand logo
|
|
119
|
+
* from `/<providerId>.png`. */
|
|
120
|
+
const ACTIVEPIECES_CDN = "https://cdn.activepieces.com/pieces";
|
|
121
|
+
/**
|
|
122
|
+
* Per-id brand logo URLs for providers whose logo isn't at the ActivePieces
|
|
123
|
+
* default `/<id>.png` path: a connector's own catalog logo under a different
|
|
124
|
+
* filename, a parent connector's logo reused by a sub-connector/variant, or a
|
|
125
|
+
* public icon source for connectors absent from the catalog CDN.
|
|
126
|
+
*
|
|
127
|
+
* Mirrors the Tangle Platform's own integrations UI
|
|
128
|
+
* (`products/platform/web/src/client/components/IntegrationsCatalog.tsx`) so
|
|
129
|
+
* both surfaces resolve the same brand mark; the durable fix is for the hub API
|
|
130
|
+
* to emit `iconUrl` per provider, after which this map can be retired.
|
|
131
|
+
*/
|
|
132
|
+
const PROVIDER_LOGO_URLS = {
|
|
133
|
+
"cal-com": `${ACTIVEPIECES_CDN}/cal.com.png`,
|
|
134
|
+
"customer-io": `${ACTIVEPIECES_CDN}/customerio.png`,
|
|
135
|
+
anthropic: `${ACTIVEPIECES_CDN}/claude.png`,
|
|
136
|
+
telegram: `${ACTIVEPIECES_CDN}/telegram_bot.png`,
|
|
137
|
+
"twilio-sms": `${ACTIVEPIECES_CDN}/twilio.png`,
|
|
138
|
+
"amazon-sqs": `${ACTIVEPIECES_CDN}/aws-sqs.png`,
|
|
139
|
+
frame: `${ACTIVEPIECES_CDN}/frameio.png`,
|
|
140
|
+
"jira-cloud": `${ACTIVEPIECES_CDN}/jira.png`,
|
|
141
|
+
"jira-data-center": `${ACTIVEPIECES_CDN}/jira.png`,
|
|
142
|
+
stripe: `${ACTIVEPIECES_CDN}/stripe.png`,
|
|
143
|
+
"stripe-pack": `${ACTIVEPIECES_CDN}/stripe.png`,
|
|
144
|
+
gemini: `${ACTIVEPIECES_CDN}/google-gemini.png`,
|
|
145
|
+
"google-gemini": `${ACTIVEPIECES_CDN}/google-gemini.png`,
|
|
146
|
+
bluesky: `${ACTIVEPIECES_CDN}/bluesky.png`,
|
|
147
|
+
emailit: `${ACTIVEPIECES_CDN}/emailit.svg`,
|
|
148
|
+
cloutly: `${ACTIVEPIECES_CDN}/cloutly.svg`,
|
|
149
|
+
gistly: `${ACTIVEPIECES_CDN}/gistly.svg`,
|
|
150
|
+
jotform: `${ACTIVEPIECES_CDN}/jotform.svg`,
|
|
151
|
+
supadata: `${ACTIVEPIECES_CDN}/supadata.svg`,
|
|
152
|
+
"hugging-face": `${ACTIVEPIECES_CDN}/huggingface.svg`,
|
|
153
|
+
huggingface: `${ACTIVEPIECES_CDN}/huggingface.svg`,
|
|
154
|
+
heygen: `${ACTIVEPIECES_CDN}/heygen.jpg`,
|
|
155
|
+
instasent: `${ACTIVEPIECES_CDN}/instasent.jpg`,
|
|
156
|
+
"chainalysis-api": `${ACTIVEPIECES_CDN}/chainalysis-api.jpg`,
|
|
157
|
+
scrapegraphai: `${ACTIVEPIECES_CDN}/scrapegraphai.jpg`,
|
|
158
|
+
localai: `${ACTIVEPIECES_CDN}/localai.jpeg`,
|
|
159
|
+
talkable: "https://www.talkable.com/wp-content/uploads/2021/12/talkable-favicon.svg",
|
|
160
|
+
"facebook-leads": `${ACTIVEPIECES_CDN}/facebook.png`,
|
|
161
|
+
"facebook-pages": `${ACTIVEPIECES_CDN}/facebook.png`,
|
|
162
|
+
"whatsapp-business": `${ACTIVEPIECES_CDN}/whatsapp.png`,
|
|
163
|
+
onedrive: `${ACTIVEPIECES_CDN}/oneDrive.png`,
|
|
164
|
+
"microsoft-onedrive": `${ACTIVEPIECES_CDN}/oneDrive.png`,
|
|
165
|
+
"outlook-mail": `${ACTIVEPIECES_CDN}/microsoft-outlook.png`,
|
|
166
|
+
"microsoft-calendar": `${ACTIVEPIECES_CDN}/microsoft-outlook.png`,
|
|
167
|
+
"microsoft-outlook-calendar": `${ACTIVEPIECES_CDN}/microsoft-outlook.png`,
|
|
168
|
+
sharepoint: `${ACTIVEPIECES_CDN}/microsoft-sharepoint.png`,
|
|
169
|
+
"notion-database": `${ACTIVEPIECES_CDN}/notion.png`,
|
|
170
|
+
"slack-inbound": `${ACTIVEPIECES_CDN}/slack.png`,
|
|
171
|
+
helpscout: `${ACTIVEPIECES_CDN}/help-scout.png`,
|
|
172
|
+
figjam: `${ACTIVEPIECES_CDN}/figma.png`,
|
|
173
|
+
webhook: `${ACTIVEPIECES_CDN}/new-core/webhooks.svg`,
|
|
174
|
+
make: "https://cdn.simpleicons.org/make",
|
|
175
|
+
n8n: "https://cdn.simpleicons.org/n8n",
|
|
176
|
+
zapier: "https://cdn.simpleicons.org/zapier",
|
|
177
|
+
auth0: "https://cdn.simpleicons.org/auth0",
|
|
178
|
+
basecamp: "https://cdn.simpleicons.org/basecamp",
|
|
179
|
+
ebay: "https://cdn.simpleicons.org/ebay",
|
|
180
|
+
gusto: "https://cdn.simpleicons.org/gusto",
|
|
181
|
+
miro: "https://cdn.simpleicons.org/miro",
|
|
182
|
+
sanity: "https://cdn.simpleicons.org/sanity",
|
|
183
|
+
sentry: "https://cdn.simpleicons.org/sentry",
|
|
184
|
+
opsgenie: "https://cdn.simpleicons.org/opsgenie",
|
|
185
|
+
phony: "https://www.google.com/s2/favicons?sz=64&domain_url=https://ph0ny.com",
|
|
186
|
+
docuseal: "https://www.google.com/s2/favicons?sz=64&domain_url=https://docuseal.com",
|
|
187
|
+
braze: "https://www.google.com/s2/favicons?sz=64&domain_url=https://braze.com",
|
|
188
|
+
pipedream: "https://www.google.com/s2/favicons?sz=64&domain_url=https://pipedream.com",
|
|
189
|
+
weaviate: "https://www.google.com/s2/favicons?sz=64&domain_url=https://weaviate.io",
|
|
190
|
+
"adobe-creative-cloud": "https://www.google.com/s2/favicons?sz=64&domain_url=https://adobe.com",
|
|
191
|
+
clio: "https://www.google.com/s2/favicons?sz=64&domain_url=https://clio.com",
|
|
192
|
+
marketo: "https://www.google.com/s2/favicons?sz=64&domain_url=https://marketo.com",
|
|
193
|
+
rippling: "https://www.google.com/s2/favicons?sz=64&domain_url=https://rippling.com",
|
|
194
|
+
"microsoft-graph": "https://www.google.com/s2/favicons?sz=64&domain_url=https://graph.microsoft.com"
|
|
195
|
+
};
|
|
196
|
+
/**
|
|
197
|
+
* Full-color vector brand marks for providers Simple Icons has delisted over
|
|
198
|
+
* trademark policy (Slack, Salesforce, the Microsoft 365 family, Twilio,
|
|
199
|
+
* LinkedIn) — these 404 on the simpleicons CDN, so without a real source they
|
|
200
|
+
* drop straight to the monogram. Keyed by the curated simpleicons slug AND by
|
|
201
|
+
* common normalized ids; the value is an svgl.app library name (crisp,
|
|
202
|
+
* multi-color SVGs that stay sharp in the catalog grid).
|
|
203
|
+
*/
|
|
204
|
+
const PROVIDER_VECTOR_LOGOS = {
|
|
205
|
+
slack: "slack",
|
|
206
|
+
salesforce: "salesforce",
|
|
207
|
+
microsoftoutlook: "microsoft-outlook",
|
|
208
|
+
outlook: "microsoft-outlook",
|
|
209
|
+
microsoftteams: "microsoft-teams",
|
|
210
|
+
teams: "microsoft-teams",
|
|
211
|
+
microsoftexcel: "microsoft-excel",
|
|
212
|
+
excel: "microsoft-excel",
|
|
213
|
+
microsoftonedrive: "microsoft-onedrive",
|
|
214
|
+
onedrive: "microsoft-onedrive",
|
|
215
|
+
microsoftsharepoint: "microsoft-sharepoint",
|
|
216
|
+
sharepoint: "microsoft-sharepoint",
|
|
217
|
+
twilio: "twilio",
|
|
218
|
+
linkedin: "linkedin"
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* Ordered candidate logo URLs for a provider slug, most specific first. The
|
|
222
|
+
* renderer walks the chain on each `onError` until one loads, then falls back to
|
|
223
|
+
* the monogram tile.
|
|
224
|
+
*
|
|
225
|
+
* Order: explicit `iconUrl` → full-color vector mark for brands Simple Icons
|
|
226
|
+
* delisted (svgl.app) → a pinned override → the ActivePieces CDN by id (covers
|
|
227
|
+
* most of the hub catalog) → derived simpleicons slugs → monogram.
|
|
228
|
+
*/
|
|
229
|
+
function providerLogoCandidates(opts) {
|
|
230
|
+
const out = [];
|
|
231
|
+
if (opts.iconUrl) out.push(opts.iconUrl);
|
|
232
|
+
const raw = opts.id.toLowerCase();
|
|
233
|
+
const norm = normalizeProviderId(raw);
|
|
234
|
+
const curated = PROVIDER_LOGO_SLUGS[raw] ?? PROVIDER_LOGO_SLUGS[norm];
|
|
235
|
+
const vectorName = PROVIDER_VECTOR_LOGOS[raw] ?? PROVIDER_VECTOR_LOGOS[norm] ?? (curated ? PROVIDER_VECTOR_LOGOS[curated] : void 0);
|
|
236
|
+
if (vectorName) out.push(`https://svgl.app/library/${vectorName}.svg`);
|
|
237
|
+
const pinned = PROVIDER_LOGO_URLS[raw] ?? PROVIDER_LOGO_URLS[norm];
|
|
238
|
+
if (pinned) out.push(pinned);
|
|
239
|
+
if (raw) out.push(`${ACTIVEPIECES_CDN}/${encodeURIComponent(raw)}.png`);
|
|
240
|
+
const slugs = /* @__PURE__ */ new Set();
|
|
241
|
+
if (curated) slugs.add(curated);
|
|
242
|
+
slugs.add(norm.replace(/-/g, ""));
|
|
243
|
+
slugs.add(raw.replace(/[-_\s]/g, ""));
|
|
244
|
+
for (const slug of slugs) if (slug) out.push(`https://cdn.simpleicons.org/${slug}`);
|
|
245
|
+
return out;
|
|
246
|
+
}
|
|
247
|
+
/** Deterministic accent color for the monogram fallback, keyed off the id. */
|
|
248
|
+
function monogramColor(seed) {
|
|
249
|
+
const palette = [
|
|
250
|
+
"#6366f1",
|
|
251
|
+
"#8b5cf6",
|
|
252
|
+
"#ec4899",
|
|
253
|
+
"#f43f5e",
|
|
254
|
+
"#f97316",
|
|
255
|
+
"#eab308",
|
|
256
|
+
"#22c55e",
|
|
257
|
+
"#14b8a6",
|
|
258
|
+
"#0ea5e9",
|
|
259
|
+
"#3b82f6"
|
|
260
|
+
];
|
|
261
|
+
let hash = 0;
|
|
262
|
+
for (let i = 0; i < seed.length; i += 1) hash = hash * 31 + seed.charCodeAt(i) >>> 0;
|
|
263
|
+
return palette[hash % palette.length];
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* A provider's brand mark: the resolved logo, walking a candidate chain on load
|
|
267
|
+
* error, and a deterministic monogram tile when no logo resolves. Rounding is
|
|
268
|
+
* left to the caller's `className` so the same component fits a large catalog
|
|
269
|
+
* tile and a small inline requirement row.
|
|
270
|
+
*/
|
|
271
|
+
function ProviderIcon({ id, iconUrl, displayName, size = 24, className }) {
|
|
272
|
+
const candidates = React$1.useMemo(() => providerLogoCandidates({
|
|
273
|
+
id,
|
|
274
|
+
iconUrl
|
|
275
|
+
}), [id, iconUrl]);
|
|
276
|
+
const [index, setIndex] = React$1.useState(0);
|
|
277
|
+
const candidateKey = `${id} ${iconUrl ?? ""}`;
|
|
278
|
+
const [seenKey, setSeenKey] = React$1.useState(candidateKey);
|
|
279
|
+
if (candidateKey !== seenKey) {
|
|
280
|
+
setSeenKey(candidateKey);
|
|
281
|
+
setIndex(0);
|
|
282
|
+
}
|
|
283
|
+
const initial = (displayName ?? id).trim().charAt(0).toUpperCase() || "?";
|
|
284
|
+
const src = candidates[index];
|
|
285
|
+
if (!src) return /* @__PURE__ */ jsx("span", {
|
|
286
|
+
className: `flex shrink-0 items-center justify-center font-semibold text-white ${className ?? ""}`,
|
|
287
|
+
style: {
|
|
288
|
+
width: size,
|
|
289
|
+
height: size,
|
|
290
|
+
backgroundColor: monogramColor(id),
|
|
291
|
+
fontSize: Math.round(size * .42)
|
|
292
|
+
},
|
|
293
|
+
"aria-hidden": true,
|
|
294
|
+
children: initial
|
|
295
|
+
});
|
|
296
|
+
return /* @__PURE__ */ jsx("img", {
|
|
297
|
+
src,
|
|
298
|
+
alt: "",
|
|
299
|
+
width: size,
|
|
300
|
+
height: size,
|
|
301
|
+
loading: "lazy",
|
|
302
|
+
className: `shrink-0 object-contain ${className ?? ""}`,
|
|
303
|
+
style: {
|
|
304
|
+
width: size,
|
|
305
|
+
height: size
|
|
306
|
+
},
|
|
307
|
+
onError: () => setIndex((i) => i + 1)
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
//#endregion
|
|
311
|
+
export { normalizeProviderId as n, providerLogoCandidates as r, ProviderIcon as t };
|
package/dist/run.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { ExpandedToolDetail, ExpandedToolDetailProps, FeedSegment, InlineThinkingItem, InlineThinkingItemProps, InlineToolItem, InlineToolItemProps, LiveDuration, RunGroup, RunGroupProps, RunRowShell, RunRowShellProps, RunRowStatus, RunRowStatusDot, ToolCallData, ToolCallFeed, ToolCallFeedProps, ToolCallStatus, ToolCallType, parseToolEvent } from "@tangle-network/ui/run";
|
|
2
|
+
export { ExpandedToolDetail, type ExpandedToolDetailProps, type FeedSegment, InlineThinkingItem, type InlineThinkingItemProps, InlineToolItem, type InlineToolItemProps, LiveDuration, RunGroup, type RunGroupProps, RunRowShell, type RunRowShellProps, type RunRowStatus, RunRowStatusDot, type ToolCallData, ToolCallFeed, type ToolCallFeedProps, type ToolCallStatus, type ToolCallType, parseToolEvent };
|
package/dist/run.js
CHANGED
|
@@ -1,23 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
InlineThinkingItem,
|
|
4
|
-
InlineToolItem,
|
|
5
|
-
LiveDuration,
|
|
6
|
-
RunGroup,
|
|
7
|
-
RunRowShell,
|
|
8
|
-
RunRowStatusDot,
|
|
9
|
-
ToolCallFeed,
|
|
10
|
-
parseToolEvent
|
|
11
|
-
} from "./chunk-M4K7ZGR2.js";
|
|
12
|
-
import "./chunk-CZ7CSFO4.js";
|
|
13
|
-
export {
|
|
14
|
-
ExpandedToolDetail,
|
|
15
|
-
InlineThinkingItem,
|
|
16
|
-
InlineToolItem,
|
|
17
|
-
LiveDuration,
|
|
18
|
-
RunGroup,
|
|
19
|
-
RunRowShell,
|
|
20
|
-
RunRowStatusDot,
|
|
21
|
-
ToolCallFeed,
|
|
22
|
-
parseToolEvent
|
|
23
|
-
};
|
|
1
|
+
import { ExpandedToolDetail, InlineThinkingItem, InlineToolItem, LiveDuration, RunGroup, RunRowShell, RunRowStatusDot, ToolCallFeed, parseToolEvent } from "@tangle-network/ui/run";
|
|
2
|
+
export { ExpandedToolDetail, InlineThinkingItem, InlineToolItem, LiveDuration, RunGroup, RunRowShell, RunRowStatusDot, ToolCallFeed, parseToolEvent };
|
package/dist/sdk-hooks.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import '@tangle-network/ui/types';
|
|
1
|
+
import { d as useSessionStream, l as UseSessionStreamOptions, n as UseSidecarAuthOptions, r as useSidecarAuth, s as SessionInfo, t as SidecarAuth, u as UseSessionStreamResult } from "./use-sidecar-auth-CCTJcrq7.js";
|
|
2
|
+
import { AgentStreamEvent, AppendUserMessageOptions, ApplySdkEventOptions, AutomationStreamEvent, BeginAssistantMessageOptions, BotStreamEvent, CompleteAssistantMessageOptions, ConnectionState, RealtimeSessionOptions, RealtimeSessionRegistry, RealtimeSessionRegistryProps, RealtimeSessionState, RealtimeSessionTarget, SSEEvent, SdkSessionAttachment, SdkSessionEvent, SdkSessionSeed, TaskStreamEvent, TerminalStreamEvent, UseRunGroupsOptions, UseSSEStreamOptions, UseSSEStreamResult, UseSdkSessionOptions, UseSdkSessionReturn, UseToolCallStreamReturn, useAutoScroll, useDropdownMenu, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useToolCallStream } from "@tangle-network/ui/sdk-hooks";
|
|
3
|
+
export { type AgentStreamEvent, type AppendUserMessageOptions, type ApplySdkEventOptions, type AutomationStreamEvent, type BeginAssistantMessageOptions, type BotStreamEvent, type CompleteAssistantMessageOptions, type ConnectionState, type RealtimeSessionOptions, RealtimeSessionRegistry, type RealtimeSessionRegistryProps, type RealtimeSessionState, type RealtimeSessionTarget, type SSEEvent, type SdkSessionAttachment, type SdkSessionEvent, type SdkSessionSeed, type SessionInfo, type SidecarAuth, type TaskStreamEvent, type TerminalStreamEvent, type UseRunGroupsOptions, type UseSSEStreamOptions, type UseSSEStreamResult, type UseSdkSessionOptions, type UseSdkSessionReturn, type UseSessionStreamOptions, type UseSessionStreamResult, type UseSidecarAuthOptions, type UseToolCallStreamReturn, useAutoScroll, useDropdownMenu, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useSessionStream, useSidecarAuth, useToolCallStream };
|
package/dist/sdk-hooks.js
CHANGED
|
@@ -1,31 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
} from "./chunk-72UF2H5H.js";
|
|
5
|
-
import "./chunk-CZ7CSFO4.js";
|
|
6
|
-
|
|
7
|
-
// src/sdk-hooks.ts
|
|
8
|
-
import {
|
|
9
|
-
RealtimeSessionRegistry,
|
|
10
|
-
useAutoScroll,
|
|
11
|
-
useDropdownMenu,
|
|
12
|
-
useRealtimeSession,
|
|
13
|
-
useRunCollapseState,
|
|
14
|
-
useRunGroups,
|
|
15
|
-
useSSEStream,
|
|
16
|
-
useSdkSession,
|
|
17
|
-
useToolCallStream
|
|
18
|
-
} from "@tangle-network/ui/sdk-hooks";
|
|
19
|
-
export {
|
|
20
|
-
RealtimeSessionRegistry,
|
|
21
|
-
useAutoScroll,
|
|
22
|
-
useDropdownMenu,
|
|
23
|
-
useRealtimeSession,
|
|
24
|
-
useRunCollapseState,
|
|
25
|
-
useRunGroups,
|
|
26
|
-
useSSEStream,
|
|
27
|
-
useSdkSession,
|
|
28
|
-
useSessionStream,
|
|
29
|
-
useSidecarAuth,
|
|
30
|
-
useToolCallStream
|
|
31
|
-
};
|
|
1
|
+
import { i as useSessionStream, t as useSidecarAuth } from "./use-sidecar-auth-DkdcufOz.js";
|
|
2
|
+
import { RealtimeSessionRegistry, useAutoScroll, useDropdownMenu, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useToolCallStream } from "@tangle-network/ui/sdk-hooks";
|
|
3
|
+
export { RealtimeSessionRegistry, useAutoScroll, useDropdownMenu, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useSessionStream, useSidecarAuth, useToolCallStream };
|
package/dist/stores.d.ts
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
sessionId: string;
|
|
1
|
+
import { ActiveProjectActivity, ActiveSessionActivityOptions, ActiveSessionConnectionOptions, ActiveSessionConnectionState, ActiveSessionReconnectState, ActiveSessionRecord, ActiveSessionStatus, ActiveSessionTransportMode, ActiveSessionsState, RegisterActiveSessionOptions, SessionProjectKey, activeSessionsAtom, addMessage, addParts, bumpActiveSessionActivity, clearChat, getActiveSession, getAllActiveSessions, getAllProjectActivity, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, partMapAtom, registerActiveSession, resetActiveSessions, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useHasBackgroundRunningSessions, useNavbarSessions, useProjectActivity, useProjectSessions, useSessionsByActivity, useTotalRunningSessions } from "@tangle-network/ui/stores";
|
|
2
|
+
//#region src/stores/session-store.d.ts
|
|
3
|
+
export interface ChatSession {
|
|
4
|
+
/** Sidecar HTTP base URL, e.g. "http://localhost:8080". */
|
|
5
|
+
sidecarUrl: string;
|
|
6
|
+
/** Auth token for the sidecar API. */
|
|
7
|
+
token: string;
|
|
8
|
+
/** Unique session identifier. */
|
|
9
|
+
sessionId: string;
|
|
11
10
|
}
|
|
12
11
|
/** The currently active chat session (null when disconnected). */
|
|
13
|
-
declare const sessionAtom: nanostores.PreinitializedWritableAtom<ChatSession | null> & object;
|
|
14
|
-
declare function connectSession(session: ChatSession): void;
|
|
15
|
-
declare function disconnectSession(): void;
|
|
16
|
-
|
|
17
|
-
export { type
|
|
12
|
+
export declare const sessionAtom: import("nanostores").PreinitializedWritableAtom<ChatSession | null> & object;
|
|
13
|
+
export declare function connectSession(session: ChatSession): void;
|
|
14
|
+
export declare function disconnectSession(): void;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { type ActiveProjectActivity, type ActiveSessionActivityOptions, type ActiveSessionConnectionOptions, type ActiveSessionConnectionState, type ActiveSessionReconnectState, type ActiveSessionRecord, type ActiveSessionStatus, type ActiveSessionTransportMode, type ActiveSessionsState, type RegisterActiveSessionOptions, type SessionProjectKey, activeSessionsAtom, addMessage, addParts, bumpActiveSessionActivity, clearChat, getActiveSession, getAllActiveSessions, getAllProjectActivity, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, partMapAtom, registerActiveSession, resetActiveSessions, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useHasBackgroundRunningSessions, useNavbarSessions, useProjectActivity, useProjectSessions, useSessionsByActivity, useTotalRunningSessions };
|
package/dist/stores.js
CHANGED
|
@@ -1,81 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
getSessionsForProject,
|
|
15
|
-
getTotalRunningSessionCount,
|
|
16
|
-
hasBackgroundRunningSessions,
|
|
17
|
-
isStreamingAtom,
|
|
18
|
-
messagesAtom,
|
|
19
|
-
partMapAtom,
|
|
20
|
-
registerActiveSession,
|
|
21
|
-
resetActiveSessions,
|
|
22
|
-
sessionAtom,
|
|
23
|
-
setActiveSessionAttention,
|
|
24
|
-
setActiveSessionConnection,
|
|
25
|
-
setActiveSessionError,
|
|
26
|
-
setActiveSessionRunning,
|
|
27
|
-
setForegroundActiveSession,
|
|
28
|
-
unregisterActiveSession,
|
|
29
|
-
updateActiveSessionMeta,
|
|
30
|
-
updatePart,
|
|
31
|
-
useActiveSession,
|
|
32
|
-
useActiveSessions,
|
|
33
|
-
useActiveSessionsState,
|
|
34
|
-
useHasBackgroundRunningSessions,
|
|
35
|
-
useNavbarSessions,
|
|
36
|
-
useProjectActivity,
|
|
37
|
-
useProjectSessions,
|
|
38
|
-
useSessionsByActivity,
|
|
39
|
-
useTotalRunningSessions
|
|
40
|
-
} from "./chunk-WID73FPH.js";
|
|
41
|
-
import "./chunk-CZ7CSFO4.js";
|
|
42
|
-
export {
|
|
43
|
-
activeSessionsAtom,
|
|
44
|
-
addMessage,
|
|
45
|
-
addParts,
|
|
46
|
-
bumpActiveSessionActivity,
|
|
47
|
-
clearChat,
|
|
48
|
-
connectSession,
|
|
49
|
-
disconnectSession,
|
|
50
|
-
getActiveSession,
|
|
51
|
-
getAllActiveSessions,
|
|
52
|
-
getAllProjectActivity,
|
|
53
|
-
getSessionsByActivity,
|
|
54
|
-
getSessionsForNavbar,
|
|
55
|
-
getSessionsForProject,
|
|
56
|
-
getTotalRunningSessionCount,
|
|
57
|
-
hasBackgroundRunningSessions,
|
|
58
|
-
isStreamingAtom,
|
|
59
|
-
messagesAtom,
|
|
60
|
-
partMapAtom,
|
|
61
|
-
registerActiveSession,
|
|
62
|
-
resetActiveSessions,
|
|
63
|
-
sessionAtom,
|
|
64
|
-
setActiveSessionAttention,
|
|
65
|
-
setActiveSessionConnection,
|
|
66
|
-
setActiveSessionError,
|
|
67
|
-
setActiveSessionRunning,
|
|
68
|
-
setForegroundActiveSession,
|
|
69
|
-
unregisterActiveSession,
|
|
70
|
-
updateActiveSessionMeta,
|
|
71
|
-
updatePart,
|
|
72
|
-
useActiveSession,
|
|
73
|
-
useActiveSessions,
|
|
74
|
-
useActiveSessionsState,
|
|
75
|
-
useHasBackgroundRunningSessions,
|
|
76
|
-
useNavbarSessions,
|
|
77
|
-
useProjectActivity,
|
|
78
|
-
useProjectSessions,
|
|
79
|
-
useSessionsByActivity,
|
|
80
|
-
useTotalRunningSessions
|
|
81
|
-
};
|
|
1
|
+
import { activeSessionsAtom, addMessage, addParts, bumpActiveSessionActivity, clearChat, getActiveSession, getAllActiveSessions, getAllProjectActivity, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, partMapAtom, registerActiveSession, resetActiveSessions, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useHasBackgroundRunningSessions, useNavbarSessions, useProjectActivity, useProjectSessions, useSessionsByActivity, useTotalRunningSessions } from "@tangle-network/ui/stores";
|
|
2
|
+
import { atom } from "nanostores";
|
|
3
|
+
//#region src/stores/session-store.ts
|
|
4
|
+
/** The currently active chat session (null when disconnected). */
|
|
5
|
+
const sessionAtom = atom(null);
|
|
6
|
+
function connectSession(session) {
|
|
7
|
+
sessionAtom.set(session);
|
|
8
|
+
}
|
|
9
|
+
function disconnectSession() {
|
|
10
|
+
sessionAtom.set(null);
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { activeSessionsAtom, addMessage, addParts, bumpActiveSessionActivity, clearChat, connectSession, disconnectSession, getActiveSession, getAllActiveSessions, getAllProjectActivity, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, partMapAtom, registerActiveSession, resetActiveSessions, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useHasBackgroundRunningSessions, useNavbarSessions, useProjectActivity, useProjectSessions, useSessionsByActivity, useTotalRunningSessions };
|
package/dist/styles.css
CHANGED
|
@@ -518,6 +518,9 @@
|
|
|
518
518
|
.-m-1 {
|
|
519
519
|
margin: calc(var(--spacing) * -1);
|
|
520
520
|
}
|
|
521
|
+
.m-0 {
|
|
522
|
+
margin: 0px;
|
|
523
|
+
}
|
|
521
524
|
.m-4 {
|
|
522
525
|
margin: calc(var(--spacing) * 4);
|
|
523
526
|
}
|
|
@@ -736,6 +739,10 @@
|
|
|
736
739
|
width: calc(var(--spacing) * 3);
|
|
737
740
|
height: calc(var(--spacing) * 3);
|
|
738
741
|
}
|
|
742
|
+
.size-4 {
|
|
743
|
+
width: calc(var(--spacing) * 4);
|
|
744
|
+
height: calc(var(--spacing) * 4);
|
|
745
|
+
}
|
|
739
746
|
.size-5 {
|
|
740
747
|
width: calc(var(--spacing) * 5);
|
|
741
748
|
height: calc(var(--spacing) * 5);
|
|
@@ -1222,9 +1229,6 @@
|
|
|
1222
1229
|
.w-\[420px\] {
|
|
1223
1230
|
width: 420px;
|
|
1224
1231
|
}
|
|
1225
|
-
.w-\[440px\] {
|
|
1226
|
-
width: 440px;
|
|
1227
|
-
}
|
|
1228
1232
|
.w-\[480px\] {
|
|
1229
1233
|
width: 480px;
|
|
1230
1234
|
}
|
|
@@ -1309,6 +1313,9 @@
|
|
|
1309
1313
|
.max-w-40 {
|
|
1310
1314
|
max-width: calc(var(--spacing) * 40);
|
|
1311
1315
|
}
|
|
1316
|
+
.max-w-80 {
|
|
1317
|
+
max-width: calc(var(--spacing) * 80);
|
|
1318
|
+
}
|
|
1312
1319
|
.max-w-\[14rem\] {
|
|
1313
1320
|
max-width: 14rem;
|
|
1314
1321
|
}
|
|
@@ -1339,6 +1346,12 @@
|
|
|
1339
1346
|
.max-w-\[320px\] {
|
|
1340
1347
|
max-width: 320px;
|
|
1341
1348
|
}
|
|
1349
|
+
.max-w-\[360px\] {
|
|
1350
|
+
max-width: 360px;
|
|
1351
|
+
}
|
|
1352
|
+
.max-w-\[390px\] {
|
|
1353
|
+
max-width: 390px;
|
|
1354
|
+
}
|
|
1342
1355
|
.max-w-\[400px\] {
|
|
1343
1356
|
max-width: 400px;
|
|
1344
1357
|
}
|
|
@@ -1381,6 +1394,9 @@
|
|
|
1381
1394
|
.max-w-\[700px\] {
|
|
1382
1395
|
max-width: 700px;
|
|
1383
1396
|
}
|
|
1397
|
+
.max-w-\[742px\] {
|
|
1398
|
+
max-width: 742px;
|
|
1399
|
+
}
|
|
1384
1400
|
.max-w-\[760px\] {
|
|
1385
1401
|
max-width: 760px;
|
|
1386
1402
|
}
|
|
@@ -1399,6 +1415,9 @@
|
|
|
1399
1415
|
.max-w-\[900px\] {
|
|
1400
1416
|
max-width: 900px;
|
|
1401
1417
|
}
|
|
1418
|
+
.max-w-\[960px\] {
|
|
1419
|
+
max-width: 960px;
|
|
1420
|
+
}
|
|
1402
1421
|
.max-w-\[1000px\] {
|
|
1403
1422
|
max-width: 1000px;
|
|
1404
1423
|
}
|
|
@@ -1411,6 +1430,15 @@
|
|
|
1411
1430
|
.max-w-\[1100px\] {
|
|
1412
1431
|
max-width: 1100px;
|
|
1413
1432
|
}
|
|
1433
|
+
.max-w-\[calc\(100vw-2rem\)\] {
|
|
1434
|
+
max-width: calc(100vw - 2rem);
|
|
1435
|
+
}
|
|
1436
|
+
.max-w-\[calc\(100vw-5rem\)\] {
|
|
1437
|
+
max-width: calc(100vw - 5rem);
|
|
1438
|
+
}
|
|
1439
|
+
.max-w-\[min\(640px\,calc\(100vw-2rem\)\)\] {
|
|
1440
|
+
max-width: min(640px, calc(100vw - 2rem));
|
|
1441
|
+
}
|
|
1414
1442
|
.max-w-full {
|
|
1415
1443
|
max-width: 100%;
|
|
1416
1444
|
}
|
|
@@ -4751,6 +4779,14 @@
|
|
|
4751
4779
|
}
|
|
4752
4780
|
}
|
|
4753
4781
|
}
|
|
4782
|
+
@media (width < 359px) {
|
|
4783
|
+
.max-\[359px\]\:w-full {
|
|
4784
|
+
width: 100%;
|
|
4785
|
+
}
|
|
4786
|
+
.max-\[359px\]\:justify-start {
|
|
4787
|
+
justify-content: flex-start;
|
|
4788
|
+
}
|
|
4789
|
+
}
|
|
4754
4790
|
@media (width < 64rem) {
|
|
4755
4791
|
.max-lg\:hidden {
|
|
4756
4792
|
display: none;
|
|
@@ -4838,6 +4874,9 @@
|
|
|
4838
4874
|
.sm\:p-5 {
|
|
4839
4875
|
padding: calc(var(--spacing) * 5);
|
|
4840
4876
|
}
|
|
4877
|
+
.sm\:p-8 {
|
|
4878
|
+
padding: calc(var(--spacing) * 8);
|
|
4879
|
+
}
|
|
4841
4880
|
.sm\:px-4 {
|
|
4842
4881
|
padding-inline: calc(var(--spacing) * 4);
|
|
4843
4882
|
}
|
|
@@ -5581,6 +5620,27 @@
|
|
|
5581
5620
|
@supports (color: color-mix(in lab, red, red)) {
|
|
5582
5621
|
--border-strong: color-mix(in srgb, hsl(var(--hsl-border)), hsl(var(--hsl-foreground)) 20%);
|
|
5583
5622
|
}
|
|
5623
|
+
--chart-ink: var(--text-primary);
|
|
5624
|
+
--chart-ink-muted: var(--text-dim);
|
|
5625
|
+
--chart-muted: var(--md3-outline);
|
|
5626
|
+
--chart-grid: var(--md3-surface-container-high);
|
|
5627
|
+
--chart-rule: var(--md3-outline-variant);
|
|
5628
|
+
--chart-shade: var(--bg-hover);
|
|
5629
|
+
--chart-accent: var(--brand-cool);
|
|
5630
|
+
--chart-tier-c: #4a4a95;
|
|
5631
|
+
--chart-tier-b: #5b5bd6;
|
|
5632
|
+
--chart-tier-a: #8b87f0;
|
|
5633
|
+
--chart-tier-s: #b1a9ff;
|
|
5634
|
+
}
|
|
5635
|
+
[data-sandbox-theme="vault"],
|
|
5636
|
+
[data-theme="light"],
|
|
5637
|
+
.light,
|
|
5638
|
+
[data-theme$="-light"] {
|
|
5639
|
+
--chart-accent: hsl(var(--hsl-primary));
|
|
5640
|
+
--chart-tier-c: #9b9ef0;
|
|
5641
|
+
--chart-tier-b: #7c7fe3;
|
|
5642
|
+
--chart-tier-a: #5b5bd6;
|
|
5643
|
+
--chart-tier-s: #272962;
|
|
5584
5644
|
}
|
|
5585
5645
|
[data-theme] {
|
|
5586
5646
|
--color-background: hsl(var(--hsl-background));
|