@nadicodeai/ui 12.1.32 → 12.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/dist/assets/brand/aionlabs.svg +1 -1
- package/dist/assets/brand/airtable.svg +1 -1
- package/dist/assets/brand/apple.svg +1 -1
- package/dist/assets/brand/arcee.svg +1 -1
- package/dist/assets/brand/asana.svg +1 -1
- package/dist/assets/brand/atlassian.svg +1 -1
- package/dist/assets/brand/baidu.svg +1 -1
- package/dist/assets/brand/bytedance.svg +1 -1
- package/dist/assets/brand/claude.svg +1 -1
- package/dist/assets/brand/cohere.svg +1 -1
- package/dist/assets/brand/datadog.svg +1 -1
- package/dist/assets/brand/deepseek.svg +1 -1
- package/dist/assets/brand/discord.svg +1 -1
- package/dist/assets/brand/dolphin.svg +1 -1
- package/dist/assets/brand/dotsstudio.svg +1 -1
- package/dist/assets/brand/figma.svg +1 -1
- package/dist/assets/brand/gemini.svg +1 -1
- package/dist/assets/brand/github.svg +1 -1
- package/dist/assets/brand/gitlab.svg +1 -1
- package/dist/assets/brand/gmail.svg +1 -1
- package/dist/assets/brand/google-calendar.svg +1 -1
- package/dist/assets/brand/google-drive.svg +1 -1
- package/dist/assets/brand/grok.svg +1 -1
- package/dist/assets/brand/huggingface.svg +1 -1
- package/dist/assets/brand/ibm.svg +1 -1
- package/dist/assets/brand/inception.svg +1 -1
- package/dist/assets/brand/inference.svg +1 -1
- package/dist/assets/brand/intercom.svg +1 -1
- package/dist/assets/brand/jira.svg +1 -1
- package/dist/assets/brand/kwaipilot.svg +1 -1
- package/dist/assets/brand/linear.svg +1 -1
- package/dist/assets/brand/linux.svg +1 -1
- package/dist/assets/brand/liquid.svg +1 -1
- package/dist/assets/brand/longcat.svg +1 -1
- package/dist/assets/brand/mattermost.svg +1 -1
- package/dist/assets/brand/meta.svg +1 -1
- package/dist/assets/brand/microsoft.svg +1 -1
- package/dist/assets/brand/minimax.svg +1 -1
- package/dist/assets/brand/mistral.svg +1 -1
- package/dist/assets/brand/moonshot.svg +1 -1
- package/dist/assets/brand/morph.svg +1 -1
- package/dist/assets/brand/n8n.svg +1 -1
- package/dist/assets/brand/netlify.svg +1 -1
- package/dist/assets/brand/nexagi.svg +1 -1
- package/dist/assets/brand/notion.svg +1 -1
- package/dist/assets/brand/nousresearch.svg +1 -1
- package/dist/assets/brand/nova.svg +1 -1
- package/dist/assets/brand/nvidia.svg +1 -1
- package/dist/assets/brand/openai.svg +1 -1
- package/dist/assets/brand/openrouter.svg +1 -1
- package/dist/assets/brand/paypal.svg +1 -1
- package/dist/assets/brand/perceptron.svg +1 -1
- package/dist/assets/brand/perplexity.svg +1 -1
- package/dist/assets/brand/poolside.svg +1 -1
- package/dist/assets/brand/postgresql.svg +1 -1
- package/dist/assets/brand/qwen.svg +1 -1
- package/dist/assets/brand/reka.svg +1 -1
- package/dist/assets/brand/relace.svg +1 -1
- package/dist/assets/brand/sakana.svg +1 -1
- package/dist/assets/brand/sentry.svg +1 -1
- package/dist/assets/brand/signal.svg +1 -1
- package/dist/assets/brand/slack.svg +1 -1
- package/dist/assets/brand/spotify.svg +1 -1
- package/dist/assets/brand/square.svg +1 -1
- package/dist/assets/brand/stepfun.svg +1 -1
- package/dist/assets/brand/stripe.svg +1 -1
- package/dist/assets/brand/supabase.svg +1 -1
- package/dist/assets/brand/telegram.svg +1 -1
- package/dist/assets/brand/tencent.svg +1 -1
- package/dist/assets/brand/the-drummer.svg +1 -1
- package/dist/assets/brand/todoist.svg +1 -1
- package/dist/assets/brand/unreal-engine.svg +1 -1
- package/dist/assets/brand/upstage.svg +1 -1
- package/dist/assets/brand/vercel.svg +1 -1
- package/dist/assets/brand/webflow.svg +1 -1
- package/dist/assets/brand/whatsapp.svg +1 -1
- package/dist/assets/brand/windows.svg +1 -1
- package/dist/assets/brand/xiaomimimo.svg +1 -1
- package/dist/assets/brand/youtube.svg +1 -1
- package/dist/assets/brand/yuanbao.svg +1 -1
- package/dist/assets/brand/zai.svg +1 -1
- package/dist/assets/brand/zapier.svg +1 -1
- package/dist/components/agent-orb-appearance.d.ts +2 -2
- package/dist/components/agent-orb-appearance.d.ts.map +1 -1
- package/dist/components/app-mark-frame.d.ts +34 -0
- package/dist/components/app-mark-frame.d.ts.map +1 -0
- package/dist/components/app-mark-frame.js +37 -0
- package/dist/components/app-mark-lazy/server.d.ts +4 -0
- package/dist/components/app-mark-lazy/server.d.ts.map +1 -0
- package/dist/components/app-mark-lazy/server.js +8 -0
- package/dist/components/app-mark-lazy.d.ts +16 -0
- package/dist/components/app-mark-lazy.d.ts.map +1 -0
- package/dist/components/app-mark-lazy.js +84 -0
- package/dist/components/app-mark.d.ts +6 -15
- package/dist/components/app-mark.d.ts.map +1 -1
- package/dist/components/app-mark.js +7 -21
- package/dist/components/brand-icons/aionlabs.d.ts.map +1 -1
- package/dist/components/brand-icons/aionlabs.js +1 -1
- package/dist/components/brand-icons/airtable.js +1 -1
- package/dist/components/brand-icons/apple.js +1 -1
- package/dist/components/brand-icons/arcee.js +1 -1
- package/dist/components/brand-icons/asana.js +1 -1
- package/dist/components/brand-icons/atlassian.js +1 -1
- package/dist/components/brand-icons/baidu.js +1 -1
- package/dist/components/brand-icons/bytedance.js +1 -1
- package/dist/components/brand-icons/claude.js +1 -1
- package/dist/components/brand-icons/cohere.js +1 -1
- package/dist/components/brand-icons/datadog.js +1 -1
- package/dist/components/brand-icons/deepseek.js +1 -1
- package/dist/components/brand-icons/discord.js +1 -1
- package/dist/components/brand-icons/dolphin.js +1 -1
- package/dist/components/brand-icons/dotsstudio.js +1 -1
- package/dist/components/brand-icons/figma.d.ts.map +1 -1
- package/dist/components/brand-icons/figma.js +1 -1
- package/dist/components/brand-icons/gemini.js +1 -1
- package/dist/components/brand-icons/github.js +1 -1
- package/dist/components/brand-icons/gitlab.js +1 -1
- package/dist/components/brand-icons/gmail.js +1 -1
- package/dist/components/brand-icons/google-calendar.js +1 -1
- package/dist/components/brand-icons/google-drive.js +1 -1
- package/dist/components/brand-icons/grok.js +1 -1
- package/dist/components/brand-icons/huggingface.js +1 -1
- package/dist/components/brand-icons/ibm.js +1 -1
- package/dist/components/brand-icons/inception.js +1 -1
- package/dist/components/brand-icons/inference.js +1 -1
- package/dist/components/brand-icons/intercom.js +1 -1
- package/dist/components/brand-icons/jira.js +1 -1
- package/dist/components/brand-icons/kwaipilot.js +1 -1
- package/dist/components/brand-icons/linear.js +1 -1
- package/dist/components/brand-icons/linux.js +1 -1
- package/dist/components/brand-icons/liquid.js +1 -1
- package/dist/components/brand-icons/longcat.js +1 -1
- package/dist/components/brand-icons/mattermost.js +1 -1
- package/dist/components/brand-icons/meta.js +1 -1
- package/dist/components/brand-icons/microsoft.js +1 -1
- package/dist/components/brand-icons/minimax.js +1 -1
- package/dist/components/brand-icons/mistral.d.ts.map +1 -1
- package/dist/components/brand-icons/mistral.js +1 -1
- package/dist/components/brand-icons/moonshot.js +1 -1
- package/dist/components/brand-icons/morph.js +1 -1
- package/dist/components/brand-icons/n8n.js +1 -1
- package/dist/components/brand-icons/netlify.js +1 -1
- package/dist/components/brand-icons/nexagi.js +1 -1
- package/dist/components/brand-icons/notion.js +1 -1
- package/dist/components/brand-icons/nousresearch.js +1 -1
- package/dist/components/brand-icons/nova.js +1 -1
- package/dist/components/brand-icons/nvidia.js +1 -1
- package/dist/components/brand-icons/openai.js +1 -1
- package/dist/components/brand-icons/openrouter.js +1 -1
- package/dist/components/brand-icons/paypal.js +1 -1
- package/dist/components/brand-icons/perceptron.js +1 -1
- package/dist/components/brand-icons/perplexity.js +1 -1
- package/dist/components/brand-icons/poolside.js +1 -1
- package/dist/components/brand-icons/postgresql.js +1 -1
- package/dist/components/brand-icons/qwen.js +1 -1
- package/dist/components/brand-icons/reka.js +1 -1
- package/dist/components/brand-icons/relace.js +1 -1
- package/dist/components/brand-icons/sakana.js +1 -1
- package/dist/components/brand-icons/sentry.js +1 -1
- package/dist/components/brand-icons/signal.js +1 -1
- package/dist/components/brand-icons/slack.js +1 -1
- package/dist/components/brand-icons/spotify.js +1 -1
- package/dist/components/brand-icons/square.js +1 -1
- package/dist/components/brand-icons/stepfun.js +1 -1
- package/dist/components/brand-icons/stripe.js +1 -1
- package/dist/components/brand-icons/supabase.js +1 -1
- package/dist/components/brand-icons/telegram.js +1 -1
- package/dist/components/brand-icons/tencent.js +1 -1
- package/dist/components/brand-icons/the-drummer.js +2 -2
- package/dist/components/brand-icons/todoist.js +1 -1
- package/dist/components/brand-icons/unreal-engine.js +1 -1
- package/dist/components/brand-icons/upstage.js +1 -1
- package/dist/components/brand-icons/vercel.js +1 -1
- package/dist/components/brand-icons/webflow.js +1 -1
- package/dist/components/brand-icons/whatsapp.js +1 -1
- package/dist/components/brand-icons/windows.js +1 -1
- package/dist/components/brand-icons/xiaomimimo.js +1 -1
- package/dist/components/brand-icons/youtube.js +1 -1
- package/dist/components/brand-icons/yuanbao.js +1 -1
- package/dist/components/brand-icons/zai.js +1 -1
- package/dist/components/brand-icons/zapier.js +1 -1
- package/dist/components/chart-date-range-control.d.ts.map +1 -1
- package/dist/components/chart-date-range-control.js +7 -2
- package/dist/components/field.d.ts.map +1 -1
- package/dist/components/field.js +4 -1
- package/dist/eslint/rules/shadcn-composition.js +22 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/internal/agent-orb-motion.d.ts.map +1 -1
- package/dist/internal/agent-orb-motion.js +1 -0
- package/dist/internal/agent-orb.d.ts +5 -2
- package/dist/internal/agent-orb.d.ts.map +1 -1
- package/dist/internal/agent-orb.js +46 -8
- package/package.json +8 -2
package/dist/index.js
CHANGED
|
@@ -8,6 +8,8 @@ export * from "./components/agent-orb.js";
|
|
|
8
8
|
export * from "./components/alert.js";
|
|
9
9
|
export * from "./components/alert-dialog.js";
|
|
10
10
|
export * from "./components/app-mark.js";
|
|
11
|
+
export * from "./components/app-mark-frame.js";
|
|
12
|
+
export * from "./components/app-mark-lazy.js";
|
|
11
13
|
export * from "./components/aspect-ratio.js";
|
|
12
14
|
export * from "./components/avatar.js";
|
|
13
15
|
export * from "./components/automation-section.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-orb-motion.d.ts","sourceRoot":"","sources":["../../src/internal/agent-orb-motion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-orb-motion.d.ts","sourceRoot":"","sources":["../../src/internal/agent-orb-motion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAc7F,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,UAE/C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,UAGpE;AAKD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,UAIlE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM;;;;;;;;EA0CjF;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,KAAK,EAAE,MAAM,GAAG,OAAO;AACvB,mFAAmF;AACnF,GAAG,SAAI,QAgER"}
|
|
@@ -10,8 +10,11 @@ declare const agentOrbForms: {
|
|
|
10
10
|
readonly morph: "shaping";
|
|
11
11
|
};
|
|
12
12
|
export type AgentOrbForm = keyof typeof agentOrbForms;
|
|
13
|
-
/**
|
|
14
|
-
|
|
13
|
+
/**
|
|
14
|
+
* A chosen form, or one of nadicode's own two Agents, whose figures nobody
|
|
15
|
+
* chooses: Nadia's ribbon, and Sofia's, the same ribbon facing hers.
|
|
16
|
+
*/
|
|
17
|
+
export type AgentOrbFigure = AgentOrbForm | "nadia" | "sofia";
|
|
15
18
|
export type AgentOrbSize = 20 | 24 | 32 | 40 | 64 | 96 | 160;
|
|
16
19
|
/** How loudly one orb reads on its own ground. */
|
|
17
20
|
export type AgentOrbPresence = "plain" | "over-picture";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-orb.d.ts","sourceRoot":"","sources":["../../src/internal/agent-orb.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EAEb,KAAK,QAAQ,EAId,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,KAAK,aAAa,EAMnB,MAAM,oBAAoB,CAAC;AAE5B,QAAA,MAAM,aAAa;;;;;;;;CAQ0B,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,aAAa,CAAC;AACtD
|
|
1
|
+
{"version":3,"file":"agent-orb.d.ts","sourceRoot":"","sources":["../../src/internal/agent-orb.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EAEb,KAAK,QAAQ,EAId,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,KAAK,aAAa,EAMnB,MAAM,oBAAoB,CAAC;AAE5B,QAAA,MAAM,aAAa;;;;;;;;CAQ0B,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,aAAa,CAAC;AACtD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAE7D,kDAAkD;AAClD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,cAAc,CAAC;AACxD,+FAA+F;AAC/F,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAiDlD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAuDpF;AAoGD,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB;;;OAGG;IACH,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAClD,CAAC;IAAE,MAAM,CAAC,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAExF,wBAAgB,aAAa,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB;;sBAIzC,OAAO;qBAAuB,aAAa;EAmMvF"}
|
|
@@ -26,6 +26,22 @@ const presenceWeights = {
|
|
|
26
26
|
* tricolore stays visible on a white ground as ink.
|
|
27
27
|
*/
|
|
28
28
|
const nadiaStripes = ["--nc-identity-azzurro", "--nc-identity-verde", null, "--nc-identity-rosso"];
|
|
29
|
+
const celebrationTokens = ["--nc-chart-5", "--nc-chart-6", "--nc-warning", "--nc-chart-4"];
|
|
30
|
+
const appearanceTokens = [...celebrationTokens, ...nadiaStripes.filter((token) => token !== null)];
|
|
31
|
+
/**
|
|
32
|
+
* Sofia's four stripes: cobalto, giallo, the orb's own pigment and arancio, the
|
|
33
|
+
* identity hues Nadia does not wear, so side by side the two carry all six.
|
|
34
|
+
*/
|
|
35
|
+
const sofiaStripes = [
|
|
36
|
+
"--nc-identity-cobalto",
|
|
37
|
+
"--nc-identity-giallo",
|
|
38
|
+
null,
|
|
39
|
+
"--nc-identity-arancio",
|
|
40
|
+
];
|
|
41
|
+
const figureStripes = {
|
|
42
|
+
nadia: nadiaStripes,
|
|
43
|
+
sofia: sofiaStripes,
|
|
44
|
+
};
|
|
29
45
|
/** A stable direction on the unit sphere, the vendor's Fibonacci lattice. */
|
|
30
46
|
function fibonacci(i, n) {
|
|
31
47
|
const y = 1 - (2 * (i + 0.5)) / n;
|
|
@@ -90,13 +106,21 @@ export function stripedRibbonFrame(size, t, opts) {
|
|
|
90
106
|
}
|
|
91
107
|
return finalizeFrame(dots, [], opts.rMin);
|
|
92
108
|
}
|
|
109
|
+
/** Sofia's ribbon faces Nadia's: the same frame, mirrored across the vertical axis. */
|
|
110
|
+
function facing(frame, size) {
|
|
111
|
+
for (const dot of frame.dots)
|
|
112
|
+
dot.x = size - dot.x;
|
|
113
|
+
return frame;
|
|
114
|
+
}
|
|
93
115
|
function paintAgentOrb(context, input) {
|
|
94
116
|
const { form, size, seconds, color, state, age, reduced, breath, celebrationColors, stripeColors, } = input;
|
|
95
117
|
const presence = presenceWeights[input.presence];
|
|
96
|
-
const preset = resolvePreset(agentOrbForms[form === "nadia" ? "ribbon" : form], size <= 32 ? 20 : 64);
|
|
118
|
+
const preset = resolvePreset(agentOrbForms[form === "nadia" || form === "sofia" ? "ribbon" : form], size <= 32 ? 20 : 64);
|
|
97
119
|
const frame = form === "nadia"
|
|
98
120
|
? stripedRibbonFrame(size, seconds, preset.opts)
|
|
99
|
-
:
|
|
121
|
+
: form === "sofia"
|
|
122
|
+
? facing(stripedRibbonFrame(size, seconds, preset.opts), size)
|
|
123
|
+
: MODE_FRAMES[preset.mode](size, seconds, preset.opts);
|
|
100
124
|
context.clearRect(0, 0, size, size);
|
|
101
125
|
const pose = motionPose(form, input.motion === "ambient" ? "idle" : state, reduced ? (state === "done" ? 2 : 0.6) : age);
|
|
102
126
|
const gestureSeconds = reduced ? 0.8 : age / (state === "done" ? 0.575 : 0.2875);
|
|
@@ -159,6 +183,7 @@ export function mountAgentOrb(canvas, options) {
|
|
|
159
183
|
let color = getComputedStyle(canvas).color;
|
|
160
184
|
let celebrationColors = [color];
|
|
161
185
|
let stripeColors = [color];
|
|
186
|
+
let appearanceKey = "";
|
|
162
187
|
/**
|
|
163
188
|
* The box the orb is displayed at, in CSS pixels. A canvas stretched by
|
|
164
189
|
* layout reads as pixels unless the engine paints at that size, so the box
|
|
@@ -244,6 +269,18 @@ export function mountAgentOrb(canvas, options) {
|
|
|
244
269
|
probe.remove();
|
|
245
270
|
return resolved || color;
|
|
246
271
|
}
|
|
272
|
+
function readAppearanceKey(appearance, side) {
|
|
273
|
+
return [
|
|
274
|
+
side,
|
|
275
|
+
window.devicePixelRatio || 1,
|
|
276
|
+
appearance.color,
|
|
277
|
+
...appearanceTokens.map((token) => appearance.getPropertyValue(token)),
|
|
278
|
+
].join("|");
|
|
279
|
+
}
|
|
280
|
+
function refreshIfChanged() {
|
|
281
|
+
if (readAppearanceKey(getComputedStyle(canvas), measure()) !== appearanceKey)
|
|
282
|
+
refresh();
|
|
283
|
+
}
|
|
247
284
|
function refresh() {
|
|
248
285
|
painted = measure();
|
|
249
286
|
const backing = Math.max(1, Math.round(painted * Math.min(window.devicePixelRatio || 1, 2)));
|
|
@@ -251,9 +288,10 @@ export function mountAgentOrb(canvas, options) {
|
|
|
251
288
|
canvas.height = backing;
|
|
252
289
|
ratio = backing / painted;
|
|
253
290
|
const appearance = getComputedStyle(canvas);
|
|
291
|
+
appearanceKey = readAppearanceKey(appearance, painted);
|
|
254
292
|
color = appearance.color;
|
|
255
|
-
celebrationColors =
|
|
256
|
-
stripeColors =
|
|
293
|
+
celebrationColors = celebrationTokens.map((token) => computedColor(`color-mix(in oklch, ${appearance.getPropertyValue(token).trim() || color} 75%, white)`));
|
|
294
|
+
stripeColors = (figureStripes[form] ?? []).map((token) => (token && appearance.getPropertyValue(token).trim()) || color);
|
|
257
295
|
play();
|
|
258
296
|
}
|
|
259
297
|
const visibility = new IntersectionObserver(([entry]) => {
|
|
@@ -261,7 +299,7 @@ export function mountAgentOrb(canvas, options) {
|
|
|
261
299
|
play();
|
|
262
300
|
});
|
|
263
301
|
visibility.observe(canvas);
|
|
264
|
-
const appearance = new MutationObserver(
|
|
302
|
+
const appearance = new MutationObserver(refreshIfChanged);
|
|
265
303
|
for (let ancestor = canvas; ancestor; ancestor = ancestor.parentElement) {
|
|
266
304
|
appearance.observe(ancestor, {
|
|
267
305
|
attributes: true,
|
|
@@ -283,12 +321,12 @@ export function mountAgentOrb(canvas, options) {
|
|
|
283
321
|
if (event.propertyName === "color" &&
|
|
284
322
|
event.target instanceof Node &&
|
|
285
323
|
event.target.contains(canvas))
|
|
286
|
-
|
|
324
|
+
refreshIfChanged();
|
|
287
325
|
}
|
|
288
326
|
document.addEventListener("transitionend", settle, true);
|
|
289
327
|
motion.addEventListener("change", play);
|
|
290
328
|
document.addEventListener("visibilitychange", play);
|
|
291
|
-
window.addEventListener("resize",
|
|
329
|
+
window.addEventListener("resize", refreshIfChanged);
|
|
292
330
|
refresh();
|
|
293
331
|
return {
|
|
294
332
|
setState(value) {
|
|
@@ -310,7 +348,7 @@ export function mountAgentOrb(canvas, options) {
|
|
|
310
348
|
document.removeEventListener("transitionend", settle, true);
|
|
311
349
|
motion.removeEventListener("change", play);
|
|
312
350
|
document.removeEventListener("visibilitychange", play);
|
|
313
|
-
window.removeEventListener("resize",
|
|
351
|
+
window.removeEventListener("resize", refreshIfChanged);
|
|
314
352
|
},
|
|
315
353
|
};
|
|
316
354
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nadicodeai/ui",
|
|
3
|
-
"version": "12.1.
|
|
3
|
+
"version": "12.1.34",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -40,6 +40,11 @@
|
|
|
40
40
|
"types": "./dist/lib/format-token-count.d.ts",
|
|
41
41
|
"import": "./dist/lib/format-token-count.js"
|
|
42
42
|
},
|
|
43
|
+
"./components/app-mark-lazy": {
|
|
44
|
+
"types": "./dist/components/app-mark-lazy.d.ts",
|
|
45
|
+
"browser": "./dist/components/app-mark-lazy.js",
|
|
46
|
+
"import": "./dist/components/app-mark-lazy/server.js"
|
|
47
|
+
},
|
|
43
48
|
"./components/*": {
|
|
44
49
|
"types": "./dist/components/*.d.ts",
|
|
45
50
|
"import": "./dist/components/*.js"
|
|
@@ -72,7 +77,7 @@
|
|
|
72
77
|
"@assistant-ui/react": "0.15.21",
|
|
73
78
|
"@assistant-ui/react-markdown": "0.14.16",
|
|
74
79
|
"@base-ui/react": "^1.8.0",
|
|
75
|
-
"@nadicodeai/design-system": "12.1.
|
|
80
|
+
"@nadicodeai/design-system": "12.1.34",
|
|
76
81
|
"class-variance-authority": "^0.7.1",
|
|
77
82
|
"clsx": "^2.1.1",
|
|
78
83
|
"cmdk": "^1.1.1",
|
|
@@ -118,6 +123,7 @@
|
|
|
118
123
|
"react": "19.3.0",
|
|
119
124
|
"react-dom": "19.3.0",
|
|
120
125
|
"shadcn": "4.21.0",
|
|
126
|
+
"svgo": "^4.1.0",
|
|
121
127
|
"tailwindcss": "^4.3.3",
|
|
122
128
|
"typescript": "^6",
|
|
123
129
|
"vitest": "^5.0.0"
|