@lukeashford/aurelius 4.8.0 → 4.10.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/index.d.mts +51 -3
- package/dist/index.d.ts +51 -3
- package/dist/index.js +58 -18
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +59 -19
- package/dist/index.mjs.map +1 -1
- package/dist/styles/deliverable.css +357 -72
- package/dist/styles/fonts/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-MoFoq92nPWc3ZyhTg.woff2 +0 -0
- package/dist/styles/fonts/0QI8MX1D_JOuMw_hLdO6T2wV9KnW-MoFoqF2nPWc3ZyhTjcV.woff2 +0 -0
- package/dist/styles/fonts/0QIvMX1D_JOuMwT7I_FMl_GW8g.woff2 +0 -0
- package/dist/styles/fonts/0QIvMX1D_JOuMwr7I_FMl_E.woff2 +0 -0
- package/dist/styles/fonts/4UaErEJDsxBrF37olUeD_xHM8pxULilENlY.woff2 +0 -0
- package/dist/styles/fonts/4UaHrEJDsxBrF37olUeD96rp57F2IwM.woff2 +0 -0
- package/dist/styles/fonts/OFL_ComicNeue.txt +93 -0
- package/dist/styles/fonts/OFL_Inter.txt +93 -0
- package/dist/styles/fonts/OFL_Lora.txt +93 -0
- package/dist/styles/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2 +0 -0
- package/dist/styles/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.woff2 +0 -0
- package/dist/styles/fonts.css +84 -0
- package/llms.md +2 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -4414,7 +4414,7 @@ var StreamingCursor = React59.forwardRef(
|
|
|
4414
4414
|
StreamingCursor.displayName = "StreamingCursor";
|
|
4415
4415
|
|
|
4416
4416
|
// src/components/chat/ChatInterface.tsx
|
|
4417
|
-
import React88, { useCallback as useCallback24, useEffect as useEffect17, useMemo as useMemo5, useRef as useRef16, useState as useState26 } from "react";
|
|
4417
|
+
import React88, { useCallback as useCallback24, useEffect as useEffect17, useImperativeHandle, useMemo as useMemo5, useRef as useRef16, useState as useState26 } from "react";
|
|
4418
4418
|
|
|
4419
4419
|
// src/components/chat/ChatView.tsx
|
|
4420
4420
|
import React63, { useEffect as useEffect10 } from "react";
|
|
@@ -5958,7 +5958,7 @@ import React81, { useState as useState19 } from "react";
|
|
|
5958
5958
|
// src/components/deliverable/CoverSection.tsx
|
|
5959
5959
|
import React75 from "react";
|
|
5960
5960
|
function CoverSection({ data, clientName }) {
|
|
5961
|
-
return /* @__PURE__ */ React75.createElement("section", { className: "deliverable-cover deliverable-page" }, /* @__PURE__ */ React75.createElement("div", { className: "deliverable-cover-inner" }, data.eyebrow && /* @__PURE__ */ React75.createElement("p", { className: "deliverable-cover-eyebrow" }, data.eyebrow), /* @__PURE__ */ React75.createElement("h1", { className: "deliverable-cover-title" }, data.title), data.subtitle && /* @__PURE__ */ React75.createElement("p", { className: "deliverable-cover-subtitle" }, data.subtitle), clientName && /* @__PURE__ */ React75.createElement("p", { className: "deliverable-cover-client" }, "Prepared for", " ", /* @__PURE__ */ React75.createElement("span", { className: "deliverable-cover-client-name" }, clientName))));
|
|
5961
|
+
return /* @__PURE__ */ React75.createElement("section", { className: "deliverable-cover deliverable-page" }, /* @__PURE__ */ React75.createElement("div", { className: "deliverable-cover-inner" }, data.eyebrow && /* @__PURE__ */ React75.createElement(React75.Fragment, null, /* @__PURE__ */ React75.createElement("p", { className: "deliverable-cover-eyebrow" }, data.eyebrow), /* @__PURE__ */ React75.createElement("div", { className: "deliverable-cover-rule", "aria-hidden": "true" })), /* @__PURE__ */ React75.createElement("h1", { className: "deliverable-cover-title" }, data.title), data.subtitle && /* @__PURE__ */ React75.createElement("p", { className: "deliverable-cover-subtitle" }, data.subtitle), clientName && /* @__PURE__ */ React75.createElement("p", { className: "deliverable-cover-client" }, "Prepared for", " ", /* @__PURE__ */ React75.createElement("span", { className: "deliverable-cover-client-name" }, clientName))));
|
|
5962
5962
|
}
|
|
5963
5963
|
|
|
5964
5964
|
// src/components/deliverable/ArtifactImageGridSection.tsx
|
|
@@ -5968,16 +5968,33 @@ var COLUMN_CLASSES = {
|
|
|
5968
5968
|
2: "deliverable-image-grid-cols-2",
|
|
5969
5969
|
3: "deliverable-image-grid-cols-3"
|
|
5970
5970
|
};
|
|
5971
|
+
var ASPECT_CLASSES = {
|
|
5972
|
+
landscape: "deliverable-image-grid-aspect-landscape",
|
|
5973
|
+
portrait: "deliverable-image-grid-aspect-portrait",
|
|
5974
|
+
square: "deliverable-image-grid-aspect-square",
|
|
5975
|
+
wide: "deliverable-image-grid-aspect-wide"
|
|
5976
|
+
};
|
|
5971
5977
|
function ArtifactImageGridSection({ data }) {
|
|
5972
5978
|
const columns = clampColumns(data.columns);
|
|
5973
|
-
|
|
5974
|
-
|
|
5979
|
+
const aspect = data.aspectRatio ?? "landscape";
|
|
5980
|
+
return /* @__PURE__ */ React76.createElement("section", { className: "deliverable-page" }, data.heading && /* @__PURE__ */ React76.createElement("h2", { className: "deliverable-heading" }, data.heading), /* @__PURE__ */ React76.createElement(
|
|
5981
|
+
"div",
|
|
5975
5982
|
{
|
|
5976
|
-
|
|
5977
|
-
|
|
5978
|
-
|
|
5979
|
-
|
|
5980
|
-
|
|
5983
|
+
className: cx(
|
|
5984
|
+
"deliverable-image-grid",
|
|
5985
|
+
COLUMN_CLASSES[columns],
|
|
5986
|
+
ASPECT_CLASSES[aspect]
|
|
5987
|
+
)
|
|
5988
|
+
},
|
|
5989
|
+
data.items.map((item, idx) => /* @__PURE__ */ React76.createElement("figure", { key: idx, className: "deliverable-image-item" }, item.artifact.url ? /* @__PURE__ */ React76.createElement(
|
|
5990
|
+
"img",
|
|
5991
|
+
{
|
|
5992
|
+
src: item.artifact.url,
|
|
5993
|
+
alt: item.artifact.title ?? "",
|
|
5994
|
+
className: "deliverable-image-img"
|
|
5995
|
+
}
|
|
5996
|
+
) : /* @__PURE__ */ React76.createElement("div", { className: "deliverable-image-missing" }, "Missing image"), item.caption && /* @__PURE__ */ React76.createElement("figcaption", { className: "deliverable-image-caption" }, item.caption)))
|
|
5997
|
+
));
|
|
5981
5998
|
}
|
|
5982
5999
|
function clampColumns(n) {
|
|
5983
6000
|
if (n <= 1) return 1;
|
|
@@ -5987,8 +6004,14 @@ function clampColumns(n) {
|
|
|
5987
6004
|
|
|
5988
6005
|
// src/components/deliverable/ArtifactSpotlightSection.tsx
|
|
5989
6006
|
import React77 from "react";
|
|
6007
|
+
var VARIANT_CLASSES = {
|
|
6008
|
+
framed: null,
|
|
6009
|
+
"full-bleed": "deliverable-spotlight-variant-full-bleed",
|
|
6010
|
+
"side-by-side": "deliverable-spotlight-variant-side-by-side"
|
|
6011
|
+
};
|
|
5990
6012
|
function ArtifactSpotlightSection({ data }) {
|
|
5991
|
-
|
|
6013
|
+
const variant = data.variant ?? "framed";
|
|
6014
|
+
return /* @__PURE__ */ React77.createElement("section", { className: cx("deliverable-page", VARIANT_CLASSES[variant]) }, data.heading && /* @__PURE__ */ React77.createElement("h2", { className: "deliverable-heading" }, data.heading), /* @__PURE__ */ React77.createElement("div", { className: "deliverable-spotlight-media" }, data.artifact.url ? /* @__PURE__ */ React77.createElement(
|
|
5992
6015
|
"img",
|
|
5993
6016
|
{
|
|
5994
6017
|
src: data.artifact.url,
|
|
@@ -6036,6 +6059,12 @@ function QuoteBlockSection({ data }) {
|
|
|
6036
6059
|
}
|
|
6037
6060
|
|
|
6038
6061
|
// src/components/deliverable/DeliverableRenderer.tsx
|
|
6062
|
+
var THEME_CLASSES = {
|
|
6063
|
+
cinematic: null,
|
|
6064
|
+
editorial: "deliverable-theme-editorial",
|
|
6065
|
+
minimal: "deliverable-theme-minimal",
|
|
6066
|
+
playful: "deliverable-theme-playful"
|
|
6067
|
+
};
|
|
6039
6068
|
function DeliverableRenderer({
|
|
6040
6069
|
deliverable,
|
|
6041
6070
|
onDownloadPdf,
|
|
@@ -6045,6 +6074,8 @@ function DeliverableRenderer({
|
|
|
6045
6074
|
const [isDownloading, setIsDownloading] = useState19(false);
|
|
6046
6075
|
const accent = deliverable.accentColor?.trim();
|
|
6047
6076
|
const style = accent ? { "--deliverable-accent": accent } : void 0;
|
|
6077
|
+
const theme = deliverable.theme ?? "cinematic";
|
|
6078
|
+
const themeClass = THEME_CLASSES[theme];
|
|
6048
6079
|
const handleDownload = async () => {
|
|
6049
6080
|
if (!onDownloadPdf || isDownloading) return;
|
|
6050
6081
|
setIsDownloading(true);
|
|
@@ -6057,7 +6088,7 @@ function DeliverableRenderer({
|
|
|
6057
6088
|
return /* @__PURE__ */ React81.createElement(
|
|
6058
6089
|
"div",
|
|
6059
6090
|
{
|
|
6060
|
-
className: cx("deliverable", className),
|
|
6091
|
+
className: cx("deliverable", themeClass, className),
|
|
6061
6092
|
style
|
|
6062
6093
|
},
|
|
6063
6094
|
deliverable.sections.map((section, idx) => renderSection(section, idx, deliverable)),
|
|
@@ -7346,13 +7377,6 @@ var ChatInterface = React88.forwardRef(
|
|
|
7346
7377
|
const prevArtifactNodesRef = useRef16([]);
|
|
7347
7378
|
const prevTasksRef = useRef16([]);
|
|
7348
7379
|
const [panelOpenArtifactId, setPanelOpenArtifactId] = useState26(null);
|
|
7349
|
-
const handleAttachmentOpen = useCallback24((artifactId) => {
|
|
7350
|
-
setPanelOpenArtifactId(artifactId);
|
|
7351
|
-
onAttachmentOpen?.(artifactId);
|
|
7352
|
-
}, [onAttachmentOpen]);
|
|
7353
|
-
const handleArtifactPanelClosed = useCallback24(() => {
|
|
7354
|
-
setPanelOpenArtifactId(null);
|
|
7355
|
-
}, []);
|
|
7356
7380
|
const [internalTools, setInternalTools] = useState26({
|
|
7357
7381
|
"top-left": "history",
|
|
7358
7382
|
"bottom-left": null,
|
|
@@ -7360,6 +7384,23 @@ var ChatInterface = React88.forwardRef(
|
|
|
7360
7384
|
"bottom-right": null
|
|
7361
7385
|
});
|
|
7362
7386
|
const dismissedToolsRef = useRef16(/* @__PURE__ */ new Set());
|
|
7387
|
+
const openArtifact = useCallback24((artifactId) => {
|
|
7388
|
+
dismissedToolsRef.current.delete("artifacts");
|
|
7389
|
+
if (isArtifactsPanelOpen === void 0) {
|
|
7390
|
+
setInternalTools((prev) => prev["top-right"] === "artifacts" ? prev : { ...prev, "top-right": "artifacts" });
|
|
7391
|
+
} else if (!isArtifactsPanelOpen) {
|
|
7392
|
+
onArtifactsPanelOpenChange?.(true);
|
|
7393
|
+
}
|
|
7394
|
+
setPanelOpenArtifactId(artifactId);
|
|
7395
|
+
}, [isArtifactsPanelOpen, onArtifactsPanelOpenChange]);
|
|
7396
|
+
const handleAttachmentOpen = useCallback24((artifactId) => {
|
|
7397
|
+
openArtifact(artifactId);
|
|
7398
|
+
onAttachmentOpen?.(artifactId);
|
|
7399
|
+
}, [openArtifact, onAttachmentOpen]);
|
|
7400
|
+
const handleArtifactPanelClosed = useCallback24(() => {
|
|
7401
|
+
setPanelOpenArtifactId(null);
|
|
7402
|
+
}, []);
|
|
7403
|
+
useImperativeHandle(ref, () => ({ openArtifact }), [openArtifact]);
|
|
7363
7404
|
const isPanelControlled = isArtifactsPanelOpen !== void 0;
|
|
7364
7405
|
const activeTools = useMemo5(() => {
|
|
7365
7406
|
if (isPanelControlled) {
|
|
@@ -7656,7 +7697,6 @@ var ChatInterface = React88.forwardRef(
|
|
|
7656
7697
|
return /* @__PURE__ */ React88.createElement(
|
|
7657
7698
|
"div",
|
|
7658
7699
|
{
|
|
7659
|
-
ref,
|
|
7660
7700
|
className: cx("flex h-full w-full bg-obsidian overflow-hidden", className),
|
|
7661
7701
|
...rest
|
|
7662
7702
|
},
|