@optiaxiom/proteus 3.0.1 → 3.0.3
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/esm/assets/src/proteus-chart/{ProteusChart.css.ts.vanilla-DiVE09LR.css → ProteusChart.css.ts.vanilla-BPVTZcEg.css} +2 -2
- package/dist/esm/assets/src/proteus-chart/{ProteusChartTooltipContent.css.ts.vanilla-DIe3ensc.css → ProteusChartTooltipContent.css.ts.vanilla-BZxHvvHO.css} +2 -2
- package/dist/esm/assets/src/proteus-document/{ProteusDocumentShell.css.ts.vanilla-BiMiovMZ.css → ProteusDocumentShell.css.ts.vanilla-CP4-_bAc.css} +2 -2
- package/dist/esm/assets/src/proteus-image-carousel/{ProteusImageCarousel.css.ts.vanilla-DU27Qoiu.css → ProteusImageCarousel.css.ts.vanilla-lvtorXs4.css} +2 -2
- package/dist/esm/assets/src/proteus-markdown/ProteusMarkdown.css.ts.vanilla-B6OwDd3f.css +61 -0
- package/dist/esm/assets/src/proteus-question/{ProteusQuestion.css.ts.vanilla-DvEkEa1F.css → ProteusQuestion.css.ts.vanilla-CncBEe33.css} +2 -2
- package/dist/esm/index.js +3 -1
- package/dist/esm/proteus-chart/ProteusChart-css.js +1 -1
- package/dist/esm/proteus-chart/ProteusChartTooltipContent-css.js +1 -1
- package/dist/esm/proteus-document/ProteusDocumentShell-css.js +1 -1
- package/dist/esm/proteus-element/ProteusElement.js +4 -0
- package/dist/esm/proteus-image/ProteusImage.js +25 -84
- package/dist/esm/proteus-image-carousel/ProteusImageCarousel-css.js +2 -1
- package/dist/esm/proteus-image-carousel/ProteusImageCarousel.js +21 -7
- package/dist/esm/proteus-markdown/ProteusMarkdown-css.js +29 -0
- package/dist/esm/proteus-markdown/ProteusMarkdown.js +120 -0
- package/dist/esm/proteus-question/ProteusQuestion-css.js +1 -1
- package/dist/esm/proteus-question/ProteusQuestion.js +20 -4
- package/dist/esm/proteus-rich-text-editor/ProteusRichTextEditor.js +23 -0
- package/dist/esm/schema/public-schema.js +163 -0
- package/dist/esm/schema/runtime-schema.js +161 -0
- package/dist/index.d.ts +45 -7
- package/package.json +5 -3
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
@layer optiaxiom._1jatqd6;
|
|
2
|
+
@layer optiaxiom._1jatqd6 {
|
|
3
|
+
.ProteusMarkdown__1ibq5ae0 > * {
|
|
4
|
+
margin-bottom: 1em;
|
|
5
|
+
margin-top: 0;
|
|
6
|
+
}
|
|
7
|
+
.ProteusMarkdown__1ibq5ae0 li > * {
|
|
8
|
+
margin-bottom: 1em;
|
|
9
|
+
margin-top: 1em;
|
|
10
|
+
}
|
|
11
|
+
.ProteusMarkdown__1ibq5ae0 li:first-child > * {
|
|
12
|
+
margin-top: 0;
|
|
13
|
+
}
|
|
14
|
+
:is(.ProteusMarkdown__1ibq5ae0, .ProteusMarkdown__1ibq5ae0 li) > :is(h1, h2, h3, h4, h5, h6) {
|
|
15
|
+
margin-bottom: 0.6em;
|
|
16
|
+
margin-top: 1.2em;
|
|
17
|
+
}
|
|
18
|
+
.ProteusMarkdown__1ibq5ae0 > .ProteusMarkdown__1ibq5ae1 {
|
|
19
|
+
margin-bottom: 1em;
|
|
20
|
+
margin-top: 1em;
|
|
21
|
+
}
|
|
22
|
+
:is(.ProteusMarkdown__1ibq5ae0, .ProteusMarkdown__1ibq5ae0 li) > :is(h1, h2, h3, h4, h5, h6) + * {
|
|
23
|
+
margin-top: 0;
|
|
24
|
+
}
|
|
25
|
+
.ProteusMarkdown__1ibq5ae0 > :has(+ .ProteusMarkdown__1ibq5ae1), :is(.ProteusMarkdown__1ibq5ae0, .ProteusMarkdown__1ibq5ae0 li) > :last-child {
|
|
26
|
+
margin-bottom: 0;
|
|
27
|
+
}
|
|
28
|
+
.ProteusMarkdown__1ibq5ae0 > .ProteusMarkdown__1ibq5ae1 + *, .ProteusMarkdown__1ibq5ae0 > :first-child {
|
|
29
|
+
margin-top: 0;
|
|
30
|
+
}
|
|
31
|
+
.ProteusMarkdown__1ibq5ae2 {
|
|
32
|
+
margin-bottom: 2em;
|
|
33
|
+
margin-top: 2em;
|
|
34
|
+
}
|
|
35
|
+
.ProteusMarkdown__1ibq5ae3 {
|
|
36
|
+
list-style-type: decimal;
|
|
37
|
+
padding-inline-start: 1.5em;
|
|
38
|
+
}
|
|
39
|
+
.ProteusMarkdown__1ibq5ae4 {
|
|
40
|
+
list-style-type: disc;
|
|
41
|
+
padding-inline-start: 1.5em;
|
|
42
|
+
}
|
|
43
|
+
.ProteusMarkdown__1ibq5ae5 code {
|
|
44
|
+
background-color: transparent;
|
|
45
|
+
border-radius: 0;
|
|
46
|
+
padding: 0;
|
|
47
|
+
}
|
|
48
|
+
.ProteusMarkdown__1ibq5ae6 {
|
|
49
|
+
background-color: var(--ax-colors-bg-secondary);
|
|
50
|
+
border-radius: var(--ax-borderRadius-md);
|
|
51
|
+
font-size: 85%;
|
|
52
|
+
font-variant-ligatures: none;
|
|
53
|
+
padding: 0.2em 0.4em;
|
|
54
|
+
white-space: break-spaces;
|
|
55
|
+
}
|
|
56
|
+
.ProteusMarkdown__1ibq5ae7 {
|
|
57
|
+
display: inline-block;
|
|
58
|
+
max-width: 100%;
|
|
59
|
+
vertical-align: text-bottom;
|
|
60
|
+
}
|
|
61
|
+
}
|
package/dist/esm/index.js
CHANGED
|
@@ -13,10 +13,12 @@ import { ProteusInput } from "./proteus-input/ProteusInput.js";
|
|
|
13
13
|
import { ProteusLength } from "./proteus-length/ProteusLength.js";
|
|
14
14
|
import { ProteusMapIndex } from "./proteus-map-index/ProteusMapIndex.js";
|
|
15
15
|
import { ProteusMap } from "./proteus-map/ProteusMap.js";
|
|
16
|
+
import { ProteusMarkdown } from "./proteus-markdown/ProteusMarkdown.js";
|
|
16
17
|
import { ProteusPillMenu } from "./proteus-pill-menu/ProteusPillMenu.js";
|
|
18
|
+
import { ProteusRichTextEditor } from "./proteus-rich-text-editor/ProteusRichTextEditor.js";
|
|
17
19
|
import { ProteusSelect } from "./proteus-select/ProteusSelect.js";
|
|
18
20
|
import { ProteusShow } from "./proteus-show/ProteusShow.js";
|
|
19
21
|
import { ProteusTextarea } from "./proteus-textarea/ProteusTextarea.js";
|
|
20
22
|
import { ProteusDocumentShell } from "./proteus-document/ProteusDocumentShell.js";
|
|
21
23
|
import { ProteusDocumentRenderer } from "./proteus-document/ProteusDocumentRenderer.js";
|
|
22
|
-
export { ProteusAction, ProteusBridge, ProteusChart, ProteusDataTable, ProteusDateInput, ProteusDocumentRenderer, ProteusDocumentShell, ProteusFederated, ProteusFileUpload, ProteusImage, ProteusImageCarousel, ProteusInput, ProteusLength, ProteusMap, ProteusMapIndex, ProteusPillMenu, ProteusSelect, ProteusShow, ProteusTextarea, safeParseDocument, useProteusValue };
|
|
24
|
+
export { ProteusAction, ProteusBridge, ProteusChart, ProteusDataTable, ProteusDateInput, ProteusDocumentRenderer, ProteusDocumentShell, ProteusFederated, ProteusFileUpload, ProteusImage, ProteusImageCarousel, ProteusInput, ProteusLength, ProteusMap, ProteusMapIndex, ProteusMarkdown, ProteusPillMenu, ProteusRichTextEditor, ProteusSelect, ProteusShow, ProteusTextarea, safeParseDocument, useProteusValue };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./../assets/src/proteus-chart/ProteusChart.css.ts.vanilla-
|
|
1
|
+
import "./../assets/src/proteus-chart/ProteusChart.css.ts.vanilla-BPVTZcEg.css";
|
|
2
2
|
import { recipe } from "@optiaxiom/react/css-runtime";
|
|
3
3
|
//#region src/proteus-chart/ProteusChart.css.ts
|
|
4
4
|
var chart = recipe({ base: [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { recipe } from "@optiaxiom/react/css-runtime";
|
|
2
|
-
import "./../assets/src/proteus-chart/ProteusChartTooltipContent.css.ts.vanilla-
|
|
2
|
+
import "./../assets/src/proteus-chart/ProteusChartTooltipContent.css.ts.vanilla-BZxHvvHO.css";
|
|
3
3
|
//#region src/proteus-chart/ProteusChartTooltipContent.css.ts
|
|
4
4
|
var tooltip = recipe({ base: [{
|
|
5
5
|
bg: "bg.default",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { recipe } from "@optiaxiom/react/css-runtime";
|
|
2
|
-
import "./../assets/src/proteus-document/ProteusDocumentShell.css.ts.vanilla-
|
|
2
|
+
import "./../assets/src/proteus-document/ProteusDocumentShell.css.ts.vanilla-CP4-_bAc.css";
|
|
3
3
|
//#region src/proteus-document/ProteusDocumentShell.css.ts
|
|
4
4
|
var body = recipe({
|
|
5
5
|
base: [{
|
|
@@ -17,8 +17,10 @@ import { ProteusInput } from "../proteus-input/ProteusInput.js";
|
|
|
17
17
|
import { ProteusLength } from "../proteus-length/ProteusLength.js";
|
|
18
18
|
import { ProteusMapIndex } from "../proteus-map-index/ProteusMapIndex.js";
|
|
19
19
|
import { ProteusMap } from "../proteus-map/ProteusMap.js";
|
|
20
|
+
import { ProteusMarkdown } from "../proteus-markdown/ProteusMarkdown.js";
|
|
20
21
|
import { ProteusPillMenu } from "../proteus-pill-menu/ProteusPillMenu.js";
|
|
21
22
|
import { ProteusQuestion } from "../proteus-question/ProteusQuestion.js";
|
|
23
|
+
import { ProteusRichTextEditor } from "../proteus-rich-text-editor/ProteusRichTextEditor.js";
|
|
22
24
|
import { ProteusSelect } from "../proteus-select/ProteusSelect.js";
|
|
23
25
|
import { ProteusShow } from "../proteus-show/ProteusShow.js";
|
|
24
26
|
import { ProteusSwitch } from "../proteus-switch/ProteusSwitch.js";
|
|
@@ -99,9 +101,11 @@ const ProteusElement = ({ element: elementProp }) => {
|
|
|
99
101
|
});
|
|
100
102
|
case "Map": return /* @__PURE__ */ jsx(ProteusMap, { ...resolve(element) });
|
|
101
103
|
case "MapIndex": return /* @__PURE__ */ jsx(ProteusMapIndex, { ...resolve(element) });
|
|
104
|
+
case "Markdown": return /* @__PURE__ */ jsx(ProteusMarkdown, { ...resolve(element) });
|
|
102
105
|
case "PillMenu": return /* @__PURE__ */ jsx(ProteusPillMenu, { ...resolve(element) });
|
|
103
106
|
case "Question": return /* @__PURE__ */ jsx(ProteusQuestion, { ...resolve(element) });
|
|
104
107
|
case "Range": return /* @__PURE__ */ jsx(Range, { ...resolve(element) });
|
|
108
|
+
case "RichTextEditor": return /* @__PURE__ */ jsx(ProteusRichTextEditor, { ...resolve(element) });
|
|
105
109
|
case "Select": return /* @__PURE__ */ jsx(ProteusSelect, { ...resolve(element) });
|
|
106
110
|
case "SelectContent": return /* @__PURE__ */ jsx(SelectContent, { ...resolve(element) });
|
|
107
111
|
case "SelectTrigger": return /* @__PURE__ */ jsx(SelectTrigger, { ...resolve(element) });
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { Box, Button, Dialog, DialogBody, DialogClose, DialogContent, DialogFooter, DialogHeader, DialogTrigger, Spinner } from "@optiaxiom/react";
|
|
2
|
+
import { Box, Spinner } from "@optiaxiom/react";
|
|
4
3
|
import { useState } from "react";
|
|
5
4
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
5
|
//#region src/proteus-image/ProteusImage.tsx
|
|
7
|
-
function ProteusImage(props) {
|
|
8
|
-
const { onEvent } = useProteusDocumentContext("@optiaxiom/proteus/ProteusImage");
|
|
9
|
-
const [open, setOpen] = useState(false);
|
|
10
|
-
const [isDownloading, setIsDownloading] = useState(false);
|
|
6
|
+
function ProteusImage({ ...props }) {
|
|
11
7
|
const [isLoaded, setIsLoaded] = useState(false);
|
|
12
8
|
return /* @__PURE__ */ jsxs(Fragment, { children: [!isLoaded && /* @__PURE__ */ jsx(Box, {
|
|
13
9
|
alignItems: "center",
|
|
@@ -16,87 +12,32 @@ function ProteusImage(props) {
|
|
|
16
12
|
justifyContent: "center",
|
|
17
13
|
p: "24",
|
|
18
14
|
rounded: "md",
|
|
19
|
-
style: { aspectRatio: "16 / 9" },
|
|
20
15
|
w: "full",
|
|
21
16
|
...props,
|
|
22
17
|
children: /* @__PURE__ */ jsx(Spinner, {})
|
|
23
|
-
}), /* @__PURE__ */
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
mime_type: "image/*",
|
|
47
|
-
name: props.src?.split("/").pop()
|
|
48
|
-
}));
|
|
49
|
-
},
|
|
50
|
-
onLoad: () => setIsLoaded(true),
|
|
51
|
-
src: props.src
|
|
52
|
-
})
|
|
53
|
-
})
|
|
54
|
-
}), /* @__PURE__ */ jsxs(DialogContent, {
|
|
55
|
-
size: "fullscreen",
|
|
56
|
-
children: [
|
|
57
|
-
/* @__PURE__ */ jsx(DialogHeader, {
|
|
58
|
-
lineClamp: "1",
|
|
59
|
-
children: props.alt
|
|
60
|
-
}),
|
|
61
|
-
/* @__PURE__ */ jsx(DialogBody, {
|
|
62
|
-
overflow: "hidden",
|
|
63
|
-
children: /* @__PURE__ */ jsx(Box, {
|
|
64
|
-
asChild: true,
|
|
65
|
-
display: "block",
|
|
66
|
-
maxH: "full",
|
|
67
|
-
maxW: "full",
|
|
68
|
-
objectFit: "contain",
|
|
69
|
-
children: /* @__PURE__ */ jsx("img", {
|
|
70
|
-
alt: props.alt,
|
|
71
|
-
src: props.src
|
|
72
|
-
})
|
|
73
|
-
})
|
|
74
|
-
}),
|
|
75
|
-
/* @__PURE__ */ jsxs(DialogFooter, { children: [/* @__PURE__ */ jsx(DialogClose, { children: "Close" }), /* @__PURE__ */ jsx(Button, {
|
|
76
|
-
appearance: "primary",
|
|
77
|
-
asChild: true,
|
|
78
|
-
loading: isDownloading,
|
|
79
|
-
onClick: async (event) => {
|
|
80
|
-
event.preventDefault();
|
|
81
|
-
if (isDownloading) return;
|
|
82
|
-
setIsDownloading(true);
|
|
83
|
-
try {
|
|
84
|
-
await onEvent({
|
|
85
|
-
action: "download",
|
|
86
|
-
url: String(props.src)
|
|
87
|
-
});
|
|
88
|
-
} finally {
|
|
89
|
-
setIsDownloading(false);
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
children: /* @__PURE__ */ jsx("a", {
|
|
93
|
-
download: true,
|
|
94
|
-
href: props.src,
|
|
95
|
-
children: "Download"
|
|
96
|
-
})
|
|
97
|
-
})] })
|
|
98
|
-
]
|
|
99
|
-
})]
|
|
18
|
+
}), /* @__PURE__ */ jsx(Box, {
|
|
19
|
+
asChild: true,
|
|
20
|
+
display: isLoaded ? "flex" : "none",
|
|
21
|
+
objectFit: "contain",
|
|
22
|
+
overflow: "hidden",
|
|
23
|
+
rounded: "inherit",
|
|
24
|
+
size: "full",
|
|
25
|
+
...props,
|
|
26
|
+
children: /* @__PURE__ */ jsx("img", {
|
|
27
|
+
alt: props.alt,
|
|
28
|
+
draggable: true,
|
|
29
|
+
onDragStart: (event) => {
|
|
30
|
+
event.stopPropagation();
|
|
31
|
+
event.dataTransfer.effectAllowed = "copy";
|
|
32
|
+
event.dataTransfer.setData("opal-chat-dnd-data", JSON.stringify({
|
|
33
|
+
link: props.src,
|
|
34
|
+
mime_type: "image/*",
|
|
35
|
+
name: props.src?.split("/").pop()
|
|
36
|
+
}));
|
|
37
|
+
},
|
|
38
|
+
onLoad: () => setIsLoaded(true),
|
|
39
|
+
src: props.src
|
|
40
|
+
})
|
|
100
41
|
})] });
|
|
101
42
|
}
|
|
102
43
|
ProteusImage.displayName = "@optiaxiom/proteus/ProteusImage";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { recipe } from "@optiaxiom/react/css-runtime";
|
|
2
|
-
import "./../assets/src/proteus-image-carousel/ProteusImageCarousel.css.ts.vanilla-
|
|
2
|
+
import "./../assets/src/proteus-image-carousel/ProteusImageCarousel.css.ts.vanilla-lvtorXs4.css";
|
|
3
3
|
//#region src/proteus-image-carousel/ProteusImageCarousel.css.ts
|
|
4
4
|
var carousel = recipe({ base: [{
|
|
5
5
|
flexDirection: "column",
|
|
@@ -26,6 +26,7 @@ var navButton = recipe({
|
|
|
26
26
|
} }
|
|
27
27
|
});
|
|
28
28
|
var slide = recipe({ base: [{
|
|
29
|
+
cursor: "pointer",
|
|
29
30
|
objectFit: "cover",
|
|
30
31
|
size: "full"
|
|
31
32
|
}, "ProteusImageCarousel__1t6qej74"] });
|
|
@@ -24,8 +24,9 @@ function ProteusImageCarousel({ images, title }) {
|
|
|
24
24
|
const [canScrollNext, setCanScrollNext] = useState(false);
|
|
25
25
|
const onSelect = useCallback(() => {
|
|
26
26
|
if (!emblaMainApi || !emblaThumbsApi) return;
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
const index = emblaMainApi.selectedScrollSnap();
|
|
28
|
+
setSelectedIndex(index);
|
|
29
|
+
emblaThumbsApi.scrollTo(index);
|
|
29
30
|
setCanScrollPrev(emblaMainApi.canScrollPrev());
|
|
30
31
|
setCanScrollNext(emblaMainApi.canScrollNext());
|
|
31
32
|
}, [emblaMainApi, emblaThumbsApi]);
|
|
@@ -61,7 +62,11 @@ function ProteusImageCarousel({ images, title }) {
|
|
|
61
62
|
children: /* @__PURE__ */ jsx(Group, {
|
|
62
63
|
...slideContainer(),
|
|
63
64
|
children: images.map((image, index) => /* @__PURE__ */ jsx(ProteusImage, {
|
|
64
|
-
alt: image.alt,
|
|
65
|
+
alt: image.name ?? image.alt,
|
|
66
|
+
onClick: () => onEvent({
|
|
67
|
+
action: "preview",
|
|
68
|
+
file: toPreviewFile(image)
|
|
69
|
+
}),
|
|
65
70
|
src: image.src,
|
|
66
71
|
...slide()
|
|
67
72
|
}, index))
|
|
@@ -96,7 +101,7 @@ function ProteusImageCarousel({ images, title }) {
|
|
|
96
101
|
objectFit: "cover",
|
|
97
102
|
size: "full",
|
|
98
103
|
children: /* @__PURE__ */ jsx("img", {
|
|
99
|
-
alt: image.alt,
|
|
104
|
+
alt: image.name ?? image.alt,
|
|
100
105
|
src: image.thumb ?? image.src
|
|
101
106
|
})
|
|
102
107
|
})
|
|
@@ -122,13 +127,13 @@ function ProteusImageCarousel({ images, title }) {
|
|
|
122
127
|
options: [{
|
|
123
128
|
execute: () => onEvent({
|
|
124
129
|
action: "download",
|
|
125
|
-
url: images[selectedIndex].src
|
|
130
|
+
url: images[selectedIndex].file_link ?? images[selectedIndex].src
|
|
126
131
|
}),
|
|
127
132
|
label: "Download this image"
|
|
128
133
|
}, {
|
|
129
134
|
execute: () => onEvent({
|
|
130
135
|
action: "download",
|
|
131
|
-
url: images.map((image) => image.src)
|
|
136
|
+
url: images.map((image) => image.file_link ?? image.src)
|
|
132
137
|
}),
|
|
133
138
|
label: "Download all images"
|
|
134
139
|
}],
|
|
@@ -142,7 +147,7 @@ function ProteusImageCarousel({ images, title }) {
|
|
|
142
147
|
ml: "auto",
|
|
143
148
|
onClick: () => onEvent({
|
|
144
149
|
action: "download",
|
|
145
|
-
url: images[0].src
|
|
150
|
+
url: images[0].file_link ?? images[0].src
|
|
146
151
|
}),
|
|
147
152
|
children: "Download"
|
|
148
153
|
})]
|
|
@@ -150,6 +155,15 @@ function ProteusImageCarousel({ images, title }) {
|
|
|
150
155
|
]
|
|
151
156
|
});
|
|
152
157
|
}
|
|
158
|
+
function toPreviewFile({ alt, extension, file_link, full_name, mime_type, name, src }) {
|
|
159
|
+
return {
|
|
160
|
+
extension: extension ?? "JPG",
|
|
161
|
+
file_link: file_link ?? src,
|
|
162
|
+
full_name: full_name ?? alt ?? src,
|
|
163
|
+
mime_type: mime_type ?? "image/jpeg",
|
|
164
|
+
name: name ?? alt ?? src
|
|
165
|
+
};
|
|
166
|
+
}
|
|
153
167
|
ProteusImageCarousel.displayName = "@optiaxiom/proteus/ProteusImageCarousel";
|
|
154
168
|
//#endregion
|
|
155
169
|
export { ProteusImageCarousel };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { recipe } from "@optiaxiom/react/css-runtime";
|
|
2
|
+
import "./../assets/src/proteus-markdown/ProteusMarkdown.css.ts.vanilla-B6OwDd3f.css";
|
|
3
|
+
//#region src/proteus-markdown/ProteusMarkdown.css.ts
|
|
4
|
+
var code = recipe({ base: [{
|
|
5
|
+
bg: "bg.secondary",
|
|
6
|
+
overflow: "auto",
|
|
7
|
+
p: "12",
|
|
8
|
+
rounded: "md"
|
|
9
|
+
}, "ProteusMarkdown__1ibq5ae5"] });
|
|
10
|
+
var inlineCode = recipe({ base: [{ fontFamily: "mono" }, "ProteusMarkdown__1ibq5ae6"] });
|
|
11
|
+
var inlineImage = recipe({ base: [{ rounded: "sm" }, "ProteusMarkdown__1ibq5ae7"] });
|
|
12
|
+
var markdown = recipe({ base: [{
|
|
13
|
+
color: "fg.default",
|
|
14
|
+
fontSize: "md"
|
|
15
|
+
}, "ProteusMarkdown__1ibq5ae0"] });
|
|
16
|
+
var orderedList = recipe({ base: [{
|
|
17
|
+
display: "flex",
|
|
18
|
+
flexDirection: "column",
|
|
19
|
+
gap: "6"
|
|
20
|
+
}, "ProteusMarkdown__1ibq5ae3"] });
|
|
21
|
+
var separator = "ProteusMarkdown__1ibq5ae1";
|
|
22
|
+
var table = recipe({ base: ["ProteusMarkdown__1ibq5ae2"] });
|
|
23
|
+
var unorderedList = recipe({ base: [{
|
|
24
|
+
display: "flex",
|
|
25
|
+
flexDirection: "column",
|
|
26
|
+
gap: "6"
|
|
27
|
+
}, "ProteusMarkdown__1ibq5ae4"] });
|
|
28
|
+
//#endregion
|
|
29
|
+
export { code, inlineCode, inlineImage, markdown, orderedList, separator, table, unorderedList };
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { code, inlineCode, inlineImage, markdown, orderedList, separator, table, unorderedList } from "./ProteusMarkdown-css.js";
|
|
3
|
+
import { Box, Heading, Link, Separator, Table, TableBody, TableCell, TableHeader, TableHeaderCell, TableRow, Text } from "@optiaxiom/react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import Markdown from "react-markdown";
|
|
6
|
+
import remarkGfm from "remark-gfm";
|
|
7
|
+
//#region src/proteus-markdown/ProteusMarkdown.tsx
|
|
8
|
+
const mapLevelToFontSize = {
|
|
9
|
+
"1": "2xl",
|
|
10
|
+
"2": "xl",
|
|
11
|
+
"3": "lg",
|
|
12
|
+
"4": "md"
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Maps markdown heading levels (h1-h6) onto Axiom Heading levels (1-4). Markdown
|
|
16
|
+
* supports six levels but Heading only supports four, so deeper levels are
|
|
17
|
+
* clamped to the smallest visual size.
|
|
18
|
+
*/
|
|
19
|
+
const heading = (level, Tag) => function MarkdownHeading({ children }) {
|
|
20
|
+
return /* @__PURE__ */ jsx(Heading, {
|
|
21
|
+
asChild: true,
|
|
22
|
+
fontSize: mapLevelToFontSize[level],
|
|
23
|
+
fontWeight: "600",
|
|
24
|
+
level,
|
|
25
|
+
children: /* @__PURE__ */ jsx(Tag, { children })
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
const components = {
|
|
29
|
+
a: ({ children, href }) => /* @__PURE__ */ jsx(Link, {
|
|
30
|
+
href,
|
|
31
|
+
rel: "noopener noreferrer",
|
|
32
|
+
target: "_blank",
|
|
33
|
+
children
|
|
34
|
+
}),
|
|
35
|
+
blockquote: ({ children }) => /* @__PURE__ */ jsx(Box, {
|
|
36
|
+
asChild: true,
|
|
37
|
+
borderL: "2",
|
|
38
|
+
color: "fg.secondary",
|
|
39
|
+
px: "16",
|
|
40
|
+
py: "6",
|
|
41
|
+
children: /* @__PURE__ */ jsx("blockquote", { children })
|
|
42
|
+
}),
|
|
43
|
+
code: ({ children }) => /* @__PURE__ */ jsx(Box, {
|
|
44
|
+
asChild: true,
|
|
45
|
+
...inlineCode(),
|
|
46
|
+
children: /* @__PURE__ */ jsx("code", { children })
|
|
47
|
+
}),
|
|
48
|
+
em: ({ children }) => /* @__PURE__ */ jsx(Box, {
|
|
49
|
+
asChild: true,
|
|
50
|
+
children: /* @__PURE__ */ jsx("em", { children })
|
|
51
|
+
}),
|
|
52
|
+
h1: heading("1", "h1"),
|
|
53
|
+
h2: heading("2", "h2"),
|
|
54
|
+
h3: heading("3", "h3"),
|
|
55
|
+
h4: heading("4", "h4"),
|
|
56
|
+
h5: heading("4", "h5"),
|
|
57
|
+
h6: heading("4", "h6"),
|
|
58
|
+
hr: () => /* @__PURE__ */ jsx(Separator, { className: separator }),
|
|
59
|
+
img: ({ alt, src }) => typeof src === "string" ? /* @__PURE__ */ jsx(Box, {
|
|
60
|
+
asChild: true,
|
|
61
|
+
...inlineImage(),
|
|
62
|
+
children: /* @__PURE__ */ jsx("img", {
|
|
63
|
+
alt: alt ?? "",
|
|
64
|
+
src
|
|
65
|
+
})
|
|
66
|
+
}) : null,
|
|
67
|
+
li: ({ children }) => /* @__PURE__ */ jsx(Text, {
|
|
68
|
+
asChild: true,
|
|
69
|
+
children: /* @__PURE__ */ jsx("li", { children })
|
|
70
|
+
}),
|
|
71
|
+
ol: ({ children }) => /* @__PURE__ */ jsx(Box, {
|
|
72
|
+
asChild: true,
|
|
73
|
+
...orderedList(),
|
|
74
|
+
children: /* @__PURE__ */ jsx("ol", { children })
|
|
75
|
+
}),
|
|
76
|
+
p: ({ children }) => /* @__PURE__ */ jsx(Text, { children }),
|
|
77
|
+
pre: ({ children }) => /* @__PURE__ */ jsx(Box, {
|
|
78
|
+
asChild: true,
|
|
79
|
+
...code(),
|
|
80
|
+
children: /* @__PURE__ */ jsx("pre", { children })
|
|
81
|
+
}),
|
|
82
|
+
strong: ({ children }) => /* @__PURE__ */ jsx(Box, {
|
|
83
|
+
asChild: true,
|
|
84
|
+
display: "inline",
|
|
85
|
+
fontWeight: "600",
|
|
86
|
+
children: /* @__PURE__ */ jsx("strong", { children })
|
|
87
|
+
}),
|
|
88
|
+
table: ({ children }) => /* @__PURE__ */ jsx(Table, {
|
|
89
|
+
...table(),
|
|
90
|
+
children
|
|
91
|
+
}),
|
|
92
|
+
tbody: ({ children }) => /* @__PURE__ */ jsx(TableBody, { children }),
|
|
93
|
+
td: ({ children }) => /* @__PURE__ */ jsx(TableCell, { children }),
|
|
94
|
+
th: ({ children }) => /* @__PURE__ */ jsx(TableHeaderCell, { children }),
|
|
95
|
+
thead: ({ children }) => /* @__PURE__ */ jsx(TableHeader, { children }),
|
|
96
|
+
tr: ({ children }) => /* @__PURE__ */ jsx(TableRow, { children }),
|
|
97
|
+
ul: ({ children }) => /* @__PURE__ */ jsx(Box, {
|
|
98
|
+
asChild: true,
|
|
99
|
+
...unorderedList(),
|
|
100
|
+
children: /* @__PURE__ */ jsx("ul", { children })
|
|
101
|
+
})
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Renders markdown content (headings, paragraphs, lists, links, emphasis, code)
|
|
105
|
+
* as Axiom components so generated documents inherit the design system.
|
|
106
|
+
*/
|
|
107
|
+
function ProteusMarkdown({ children, className, ...props }) {
|
|
108
|
+
return /* @__PURE__ */ jsx(Box, {
|
|
109
|
+
...markdown({}, className),
|
|
110
|
+
...props,
|
|
111
|
+
children: /* @__PURE__ */ jsx(Markdown, {
|
|
112
|
+
components,
|
|
113
|
+
remarkPlugins: [remarkGfm],
|
|
114
|
+
children
|
|
115
|
+
})
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
ProteusMarkdown.displayName = "@optiaxiom/proteus/ProteusMarkdown";
|
|
119
|
+
//#endregion
|
|
120
|
+
export { ProteusMarkdown };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { recipe } from "@optiaxiom/react/css-runtime";
|
|
2
|
-
import "./../assets/src/proteus-question/ProteusQuestion.css.ts.vanilla-
|
|
2
|
+
import "./../assets/src/proteus-question/ProteusQuestion.css.ts.vanilla-CncBEe33.css";
|
|
3
3
|
//#region src/proteus-question/ProteusQuestion.css.ts
|
|
4
4
|
var addon = recipe({
|
|
5
5
|
base: [{
|
|
@@ -11,7 +11,7 @@ import { InlineInput } from "@optiaxiom/react/unstable";
|
|
|
11
11
|
import { IconArrowRight, IconPen } from "@optiaxiom/icons";
|
|
12
12
|
import * as RovingFocus from "@radix-ui/react-roving-focus";
|
|
13
13
|
//#region src/proteus-question/ProteusQuestion.tsx
|
|
14
|
-
function ProteusQuestion({ questions }) {
|
|
14
|
+
function ProteusQuestion({ interaction, questions }) {
|
|
15
15
|
const { onEvent, onTrack } = useProteusDocumentContext("@optiaxiom/proteus/ProteusQuestion");
|
|
16
16
|
const [answers, setAnswers] = useState([]);
|
|
17
17
|
const [currentIndex, setCurrentIndex] = useState(0);
|
|
@@ -26,11 +26,20 @@ function ProteusQuestion({ questions }) {
|
|
|
26
26
|
}, [currentIndex, onTrack]);
|
|
27
27
|
const onDismiss = useCallback(() => {
|
|
28
28
|
onTrack?.("Ask User Question Dismissed", { questionIndex: String(currentIndex) });
|
|
29
|
-
onEvent({
|
|
29
|
+
if (interaction) onEvent({
|
|
30
|
+
interaction,
|
|
31
|
+
params: {
|
|
32
|
+
cancelled: "[User declined to answer the question]",
|
|
33
|
+
questions
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
else onEvent({ message: "[User declined to answer the question]" });
|
|
30
37
|
}, [
|
|
31
38
|
currentIndex,
|
|
39
|
+
interaction,
|
|
32
40
|
onEvent,
|
|
33
|
-
onTrack
|
|
41
|
+
onTrack,
|
|
42
|
+
questions
|
|
34
43
|
]);
|
|
35
44
|
const questionRef = useRef(null);
|
|
36
45
|
const lastIndexRef = useRef(currentIndex);
|
|
@@ -49,7 +58,7 @@ function ProteusQuestion({ questions }) {
|
|
|
49
58
|
}, [currentIndex]);
|
|
50
59
|
const otherInputRef = useRef(null);
|
|
51
60
|
const otherItemRef = useRef(null);
|
|
52
|
-
if (currentIndex >= questions.length) return null;
|
|
61
|
+
if (!Array.isArray(questions) || currentIndex >= questions.length) return null;
|
|
53
62
|
const { options, question: question$1, type } = questions[currentIndex];
|
|
54
63
|
const isLast = currentIndex === questions.length - 1;
|
|
55
64
|
const otherValue = value?.find((v) => !options.includes(v));
|
|
@@ -61,6 +70,13 @@ function ProteusQuestion({ questions }) {
|
|
|
61
70
|
skippedCount: String(questions.length - answeredCount),
|
|
62
71
|
totalQuestions: String(questions.length)
|
|
63
72
|
});
|
|
73
|
+
if (interaction) return onEvent({
|
|
74
|
+
interaction,
|
|
75
|
+
params: {
|
|
76
|
+
answers: Object.fromEntries(questions.map(({ question }, index) => [question, (answers[index] ?? []).join(", ")])),
|
|
77
|
+
questions
|
|
78
|
+
}
|
|
79
|
+
});
|
|
64
80
|
return onEvent({ message: answers.map((value, index) => `Q: ${questions[index].question}\nA: ${value || "[Not specified]"}`).join("\n\n") });
|
|
65
81
|
};
|
|
66
82
|
const onValueChange = (value) => {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useProteusDocumentContext } from "../proteus-document/ProteusDocumentContext.js";
|
|
3
|
+
import { useProteusDocumentPathContext } from "../proteus-document/ProteusDocumentPathContext.js";
|
|
4
|
+
import { useProteusValue } from "../use-proteus-value/useProteusValue.js";
|
|
5
|
+
import { RichTextEditor } from "@optiaxiom/react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
//#region src/proteus-rich-text-editor/ProteusRichTextEditor.tsx
|
|
8
|
+
function ProteusRichTextEditor(props) {
|
|
9
|
+
const { onDataChange, readOnly } = useProteusDocumentContext("@optiaxiom/proteus/ProteusRichTextEditor");
|
|
10
|
+
const { path: parentPath } = useProteusDocumentPathContext("@optiaxiom/proteus/ProteusRichTextEditor");
|
|
11
|
+
const value = useProteusValue({ path: props.name ?? "" });
|
|
12
|
+
return /* @__PURE__ */ jsx(RichTextEditor, {
|
|
13
|
+
...props,
|
|
14
|
+
onValueChange: (value) => {
|
|
15
|
+
if (props.name) onDataChange?.(`${parentPath}/${props.name}`, value);
|
|
16
|
+
},
|
|
17
|
+
readOnly,
|
|
18
|
+
value: props.name ? String(value ?? "") : void 0
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
ProteusRichTextEditor.displayName = "@optiaxiom/proteus/ProteusRichTextEditor";
|
|
22
|
+
//#endregion
|
|
23
|
+
export { ProteusRichTextEditor };
|
|
@@ -1301,9 +1301,11 @@ var public_schema_default = {
|
|
|
1301
1301
|
{ "$ref": "#/definitions/ProteusLink" },
|
|
1302
1302
|
{ "$ref": "#/definitions/ProteusMap" },
|
|
1303
1303
|
{ "$ref": "#/definitions/ProteusMapIndex" },
|
|
1304
|
+
{ "$ref": "#/definitions/ProteusMarkdown" },
|
|
1304
1305
|
{ "$ref": "#/definitions/ProteusPillMenu" },
|
|
1305
1306
|
{ "$ref": "#/definitions/ProteusQuestion" },
|
|
1306
1307
|
{ "$ref": "#/definitions/ProteusRange" },
|
|
1308
|
+
{ "$ref": "#/definitions/ProteusRichTextEditor" },
|
|
1307
1309
|
{ "$ref": "#/definitions/ProteusSelect" },
|
|
1308
1310
|
{ "$ref": "#/definitions/ProteusSelectContent" },
|
|
1309
1311
|
{ "$ref": "#/definitions/ProteusSelectTrigger" },
|
|
@@ -3695,6 +3697,80 @@ var public_schema_default = {
|
|
|
3695
3697
|
"required": ["$type"],
|
|
3696
3698
|
"type": "object"
|
|
3697
3699
|
},
|
|
3700
|
+
"ProteusMarkdown": {
|
|
3701
|
+
"additionalProperties": false,
|
|
3702
|
+
"examples": [{
|
|
3703
|
+
"$type": "Markdown",
|
|
3704
|
+
"children": "## Summary\n\nRevenue grew **12%** this quarter."
|
|
3705
|
+
}],
|
|
3706
|
+
"properties": {
|
|
3707
|
+
"$type": { "const": "Markdown" },
|
|
3708
|
+
"alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
|
|
3709
|
+
"alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
|
|
3710
|
+
"animation": { "$ref": "#/definitions/SprinkleProp_animation" },
|
|
3711
|
+
"backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
|
|
3712
|
+
"bg": { "$ref": "#/definitions/SprinkleProp_bg" },
|
|
3713
|
+
"border": { "$ref": "#/definitions/SprinkleProp_border" },
|
|
3714
|
+
"borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
|
|
3715
|
+
"borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
|
|
3716
|
+
"borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
|
|
3717
|
+
"borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
|
|
3718
|
+
"borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
|
|
3719
|
+
"children": {
|
|
3720
|
+
"anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
|
|
3721
|
+
"description": "Markdown source string to render (e.g. headings, paragraphs, lists, links, emphasis, code). Can be a literal string or a ProteusExpression that resolves to a string."
|
|
3722
|
+
},
|
|
3723
|
+
"color": { "$ref": "#/definitions/SprinkleProp_color" },
|
|
3724
|
+
"cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
|
|
3725
|
+
"display": { "$ref": "#/definitions/SprinkleProp_display" },
|
|
3726
|
+
"flex": { "$ref": "#/definitions/SprinkleProp_flex" },
|
|
3727
|
+
"flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
|
|
3728
|
+
"flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
|
|
3729
|
+
"fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
|
|
3730
|
+
"fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
|
|
3731
|
+
"fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
|
|
3732
|
+
"gap": { "$ref": "#/definitions/SprinkleProp_gap" },
|
|
3733
|
+
"gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
|
|
3734
|
+
"gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
|
|
3735
|
+
"gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
|
|
3736
|
+
"h": { "$ref": "#/definitions/SprinkleProp_h" },
|
|
3737
|
+
"justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
|
|
3738
|
+
"justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
|
|
3739
|
+
"m": { "$ref": "#/definitions/SprinkleProp_m" },
|
|
3740
|
+
"maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
|
|
3741
|
+
"maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
|
|
3742
|
+
"mb": { "$ref": "#/definitions/SprinkleProp_mb" },
|
|
3743
|
+
"ml": { "$ref": "#/definitions/SprinkleProp_ml" },
|
|
3744
|
+
"mr": { "$ref": "#/definitions/SprinkleProp_mr" },
|
|
3745
|
+
"mt": { "$ref": "#/definitions/SprinkleProp_mt" },
|
|
3746
|
+
"mx": { "$ref": "#/definitions/SprinkleProp_mx" },
|
|
3747
|
+
"my": { "$ref": "#/definitions/SprinkleProp_my" },
|
|
3748
|
+
"objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
|
|
3749
|
+
"overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
|
|
3750
|
+
"overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
|
|
3751
|
+
"overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
|
|
3752
|
+
"p": { "$ref": "#/definitions/SprinkleProp_p" },
|
|
3753
|
+
"pb": { "$ref": "#/definitions/SprinkleProp_pb" },
|
|
3754
|
+
"pl": { "$ref": "#/definitions/SprinkleProp_pl" },
|
|
3755
|
+
"placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
|
|
3756
|
+
"pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
|
|
3757
|
+
"pr": { "$ref": "#/definitions/SprinkleProp_pr" },
|
|
3758
|
+
"pt": { "$ref": "#/definitions/SprinkleProp_pt" },
|
|
3759
|
+
"px": { "$ref": "#/definitions/SprinkleProp_px" },
|
|
3760
|
+
"py": { "$ref": "#/definitions/SprinkleProp_py" },
|
|
3761
|
+
"rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
|
|
3762
|
+
"shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
|
|
3763
|
+
"size": { "$ref": "#/definitions/SprinkleProp_size" },
|
|
3764
|
+
"textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
|
|
3765
|
+
"textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
|
|
3766
|
+
"transition": { "$ref": "#/definitions/SprinkleProp_transition" },
|
|
3767
|
+
"w": { "$ref": "#/definitions/SprinkleProp_w" },
|
|
3768
|
+
"whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
|
|
3769
|
+
"z": { "$ref": "#/definitions/SprinkleProp_z" }
|
|
3770
|
+
},
|
|
3771
|
+
"required": ["$type"],
|
|
3772
|
+
"type": "object"
|
|
3773
|
+
},
|
|
3698
3774
|
"ProteusPillMenu": {
|
|
3699
3775
|
"additionalProperties": false,
|
|
3700
3776
|
"examples": [{
|
|
@@ -3752,6 +3828,10 @@ var public_schema_default = {
|
|
|
3752
3828
|
"additionalProperties": false,
|
|
3753
3829
|
"properties": {
|
|
3754
3830
|
"$type": { "const": "Question" },
|
|
3831
|
+
"interaction": {
|
|
3832
|
+
"anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
|
|
3833
|
+
"description": "Name of the interaction to fire when the user finishes or cancels. When set, submit and cancel send a structured `{ questions, answers }` payload via the named interaction so a calling tool can read the answers programmatically. When omitted, a human-readable transcript is sent via the `message` event instead."
|
|
3834
|
+
},
|
|
3755
3835
|
"questions": {
|
|
3756
3836
|
"$ref": "#/definitions/ProteusExpression",
|
|
3757
3837
|
"description": "Array of questions data"
|
|
@@ -3862,6 +3942,89 @@ var public_schema_default = {
|
|
|
3862
3942
|
"required": ["$type"],
|
|
3863
3943
|
"type": "object"
|
|
3864
3944
|
},
|
|
3945
|
+
"ProteusRichTextEditor": {
|
|
3946
|
+
"additionalProperties": false,
|
|
3947
|
+
"examples": [{
|
|
3948
|
+
"$type": "RichTextEditor",
|
|
3949
|
+
"name": "field_name",
|
|
3950
|
+
"placeholder": "Write here..."
|
|
3951
|
+
}],
|
|
3952
|
+
"properties": {
|
|
3953
|
+
"$type": { "const": "RichTextEditor" },
|
|
3954
|
+
"alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
|
|
3955
|
+
"alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
|
|
3956
|
+
"animation": { "$ref": "#/definitions/SprinkleProp_animation" },
|
|
3957
|
+
"backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
|
|
3958
|
+
"bg": { "$ref": "#/definitions/SprinkleProp_bg" },
|
|
3959
|
+
"border": { "$ref": "#/definitions/SprinkleProp_border" },
|
|
3960
|
+
"borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
|
|
3961
|
+
"borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
|
|
3962
|
+
"borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
|
|
3963
|
+
"borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
|
|
3964
|
+
"borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
|
|
3965
|
+
"color": { "$ref": "#/definitions/SprinkleProp_color" },
|
|
3966
|
+
"cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
|
|
3967
|
+
"display": { "$ref": "#/definitions/SprinkleProp_display" },
|
|
3968
|
+
"flex": { "$ref": "#/definitions/SprinkleProp_flex" },
|
|
3969
|
+
"flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
|
|
3970
|
+
"flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
|
|
3971
|
+
"fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
|
|
3972
|
+
"fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
|
|
3973
|
+
"fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
|
|
3974
|
+
"gap": { "$ref": "#/definitions/SprinkleProp_gap" },
|
|
3975
|
+
"gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
|
|
3976
|
+
"gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
|
|
3977
|
+
"gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
|
|
3978
|
+
"h": { "$ref": "#/definitions/SprinkleProp_h" },
|
|
3979
|
+
"justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
|
|
3980
|
+
"justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
|
|
3981
|
+
"m": { "$ref": "#/definitions/SprinkleProp_m" },
|
|
3982
|
+
"maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
|
|
3983
|
+
"maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
|
|
3984
|
+
"mb": { "$ref": "#/definitions/SprinkleProp_mb" },
|
|
3985
|
+
"ml": { "$ref": "#/definitions/SprinkleProp_ml" },
|
|
3986
|
+
"mr": { "$ref": "#/definitions/SprinkleProp_mr" },
|
|
3987
|
+
"mt": { "$ref": "#/definitions/SprinkleProp_mt" },
|
|
3988
|
+
"mx": { "$ref": "#/definitions/SprinkleProp_mx" },
|
|
3989
|
+
"my": { "$ref": "#/definitions/SprinkleProp_my" },
|
|
3990
|
+
"name": {
|
|
3991
|
+
"anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
|
|
3992
|
+
"description": "Name of the form control element. Used by form-data integrations."
|
|
3993
|
+
},
|
|
3994
|
+
"objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
|
|
3995
|
+
"overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
|
|
3996
|
+
"overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
|
|
3997
|
+
"overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
|
|
3998
|
+
"p": { "$ref": "#/definitions/SprinkleProp_p" },
|
|
3999
|
+
"pb": { "$ref": "#/definitions/SprinkleProp_pb" },
|
|
4000
|
+
"pl": { "$ref": "#/definitions/SprinkleProp_pl" },
|
|
4001
|
+
"placeholder": {
|
|
4002
|
+
"anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
|
|
4003
|
+
"description": "Placeholder text shown when the editor is empty."
|
|
4004
|
+
},
|
|
4005
|
+
"placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
|
|
4006
|
+
"pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
|
|
4007
|
+
"pr": { "$ref": "#/definitions/SprinkleProp_pr" },
|
|
4008
|
+
"pt": { "$ref": "#/definitions/SprinkleProp_pt" },
|
|
4009
|
+
"px": { "$ref": "#/definitions/SprinkleProp_px" },
|
|
4010
|
+
"py": { "$ref": "#/definitions/SprinkleProp_py" },
|
|
4011
|
+
"readOnly": {
|
|
4012
|
+
"anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
|
|
4013
|
+
"description": "Whether the editor is read-only."
|
|
4014
|
+
},
|
|
4015
|
+
"rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
|
|
4016
|
+
"shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
|
|
4017
|
+
"size": { "$ref": "#/definitions/SprinkleProp_size" },
|
|
4018
|
+
"textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
|
|
4019
|
+
"textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
|
|
4020
|
+
"transition": { "$ref": "#/definitions/SprinkleProp_transition" },
|
|
4021
|
+
"w": { "$ref": "#/definitions/SprinkleProp_w" },
|
|
4022
|
+
"whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
|
|
4023
|
+
"z": { "$ref": "#/definitions/SprinkleProp_z" }
|
|
4024
|
+
},
|
|
4025
|
+
"required": ["$type"],
|
|
4026
|
+
"type": "object"
|
|
4027
|
+
},
|
|
3865
4028
|
"ProteusSelect": {
|
|
3866
4029
|
"additionalProperties": false,
|
|
3867
4030
|
"examples": [{
|
|
@@ -1288,9 +1288,11 @@ var definitions = {
|
|
|
1288
1288
|
{ "$ref": "#/definitions/ProteusLink" },
|
|
1289
1289
|
{ "$ref": "#/definitions/ProteusMap" },
|
|
1290
1290
|
{ "$ref": "#/definitions/ProteusMapIndex" },
|
|
1291
|
+
{ "$ref": "#/definitions/ProteusMarkdown" },
|
|
1291
1292
|
{ "$ref": "#/definitions/ProteusPillMenu" },
|
|
1292
1293
|
{ "$ref": "#/definitions/ProteusQuestion" },
|
|
1293
1294
|
{ "$ref": "#/definitions/ProteusRange" },
|
|
1295
|
+
{ "$ref": "#/definitions/ProteusRichTextEditor" },
|
|
1294
1296
|
{ "$ref": "#/definitions/ProteusSelect" },
|
|
1295
1297
|
{ "$ref": "#/definitions/ProteusSelectContent" },
|
|
1296
1298
|
{ "$ref": "#/definitions/ProteusSelectTrigger" },
|
|
@@ -3637,6 +3639,79 @@ var definitions = {
|
|
|
3637
3639
|
"required": ["$type"],
|
|
3638
3640
|
"type": "object"
|
|
3639
3641
|
},
|
|
3642
|
+
"ProteusMarkdown": {
|
|
3643
|
+
"examples": [{
|
|
3644
|
+
"$type": "Markdown",
|
|
3645
|
+
"children": "## Summary\n\nRevenue grew **12%** this quarter."
|
|
3646
|
+
}],
|
|
3647
|
+
"properties": {
|
|
3648
|
+
"$type": { "const": "Markdown" },
|
|
3649
|
+
"alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
|
|
3650
|
+
"alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
|
|
3651
|
+
"animation": { "$ref": "#/definitions/SprinkleProp_animation" },
|
|
3652
|
+
"backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
|
|
3653
|
+
"bg": { "$ref": "#/definitions/SprinkleProp_bg" },
|
|
3654
|
+
"border": { "$ref": "#/definitions/SprinkleProp_border" },
|
|
3655
|
+
"borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
|
|
3656
|
+
"borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
|
|
3657
|
+
"borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
|
|
3658
|
+
"borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
|
|
3659
|
+
"borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
|
|
3660
|
+
"children": {
|
|
3661
|
+
"anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
|
|
3662
|
+
"description": "Markdown source string to render (e.g. headings, paragraphs, lists, links, emphasis, code). Can be a literal string or a ProteusExpression that resolves to a string."
|
|
3663
|
+
},
|
|
3664
|
+
"color": { "$ref": "#/definitions/SprinkleProp_color" },
|
|
3665
|
+
"cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
|
|
3666
|
+
"display": { "$ref": "#/definitions/SprinkleProp_display" },
|
|
3667
|
+
"flex": { "$ref": "#/definitions/SprinkleProp_flex" },
|
|
3668
|
+
"flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
|
|
3669
|
+
"flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
|
|
3670
|
+
"fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
|
|
3671
|
+
"fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
|
|
3672
|
+
"fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
|
|
3673
|
+
"gap": { "$ref": "#/definitions/SprinkleProp_gap" },
|
|
3674
|
+
"gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
|
|
3675
|
+
"gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
|
|
3676
|
+
"gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
|
|
3677
|
+
"h": { "$ref": "#/definitions/SprinkleProp_h" },
|
|
3678
|
+
"justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
|
|
3679
|
+
"justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
|
|
3680
|
+
"m": { "$ref": "#/definitions/SprinkleProp_m" },
|
|
3681
|
+
"maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
|
|
3682
|
+
"maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
|
|
3683
|
+
"mb": { "$ref": "#/definitions/SprinkleProp_mb" },
|
|
3684
|
+
"ml": { "$ref": "#/definitions/SprinkleProp_ml" },
|
|
3685
|
+
"mr": { "$ref": "#/definitions/SprinkleProp_mr" },
|
|
3686
|
+
"mt": { "$ref": "#/definitions/SprinkleProp_mt" },
|
|
3687
|
+
"mx": { "$ref": "#/definitions/SprinkleProp_mx" },
|
|
3688
|
+
"my": { "$ref": "#/definitions/SprinkleProp_my" },
|
|
3689
|
+
"objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
|
|
3690
|
+
"overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
|
|
3691
|
+
"overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
|
|
3692
|
+
"overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
|
|
3693
|
+
"p": { "$ref": "#/definitions/SprinkleProp_p" },
|
|
3694
|
+
"pb": { "$ref": "#/definitions/SprinkleProp_pb" },
|
|
3695
|
+
"pl": { "$ref": "#/definitions/SprinkleProp_pl" },
|
|
3696
|
+
"placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
|
|
3697
|
+
"pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
|
|
3698
|
+
"pr": { "$ref": "#/definitions/SprinkleProp_pr" },
|
|
3699
|
+
"pt": { "$ref": "#/definitions/SprinkleProp_pt" },
|
|
3700
|
+
"px": { "$ref": "#/definitions/SprinkleProp_px" },
|
|
3701
|
+
"py": { "$ref": "#/definitions/SprinkleProp_py" },
|
|
3702
|
+
"rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
|
|
3703
|
+
"shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
|
|
3704
|
+
"size": { "$ref": "#/definitions/SprinkleProp_size" },
|
|
3705
|
+
"textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
|
|
3706
|
+
"textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
|
|
3707
|
+
"transition": { "$ref": "#/definitions/SprinkleProp_transition" },
|
|
3708
|
+
"w": { "$ref": "#/definitions/SprinkleProp_w" },
|
|
3709
|
+
"whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
|
|
3710
|
+
"z": { "$ref": "#/definitions/SprinkleProp_z" }
|
|
3711
|
+
},
|
|
3712
|
+
"required": ["$type"],
|
|
3713
|
+
"type": "object"
|
|
3714
|
+
},
|
|
3640
3715
|
"ProteusPillMenu": {
|
|
3641
3716
|
"examples": [{
|
|
3642
3717
|
"$type": "PillMenu",
|
|
@@ -3691,6 +3766,10 @@ var definitions = {
|
|
|
3691
3766
|
"ProteusQuestion": {
|
|
3692
3767
|
"properties": {
|
|
3693
3768
|
"$type": { "const": "Question" },
|
|
3769
|
+
"interaction": {
|
|
3770
|
+
"anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
|
|
3771
|
+
"description": "Name of the interaction to fire when the user finishes or cancels. When set, submit and cancel send a structured `{ questions, answers }` payload via the named interaction so a calling tool can read the answers programmatically. When omitted, a human-readable transcript is sent via the `message` event instead."
|
|
3772
|
+
},
|
|
3694
3773
|
"questions": {
|
|
3695
3774
|
"$ref": "#/definitions/ProteusExpression",
|
|
3696
3775
|
"description": "Array of questions data"
|
|
@@ -3799,6 +3878,88 @@ var definitions = {
|
|
|
3799
3878
|
"required": ["$type"],
|
|
3800
3879
|
"type": "object"
|
|
3801
3880
|
},
|
|
3881
|
+
"ProteusRichTextEditor": {
|
|
3882
|
+
"examples": [{
|
|
3883
|
+
"$type": "RichTextEditor",
|
|
3884
|
+
"name": "field_name",
|
|
3885
|
+
"placeholder": "Write here..."
|
|
3886
|
+
}],
|
|
3887
|
+
"properties": {
|
|
3888
|
+
"$type": { "const": "RichTextEditor" },
|
|
3889
|
+
"alignItems": { "$ref": "#/definitions/SprinkleProp_alignItems" },
|
|
3890
|
+
"alignSelf": { "$ref": "#/definitions/SprinkleProp_alignSelf" },
|
|
3891
|
+
"animation": { "$ref": "#/definitions/SprinkleProp_animation" },
|
|
3892
|
+
"backgroundImage": { "$ref": "#/definitions/SprinkleProp_backgroundImage" },
|
|
3893
|
+
"bg": { "$ref": "#/definitions/SprinkleProp_bg" },
|
|
3894
|
+
"border": { "$ref": "#/definitions/SprinkleProp_border" },
|
|
3895
|
+
"borderB": { "$ref": "#/definitions/SprinkleProp_borderB" },
|
|
3896
|
+
"borderColor": { "$ref": "#/definitions/SprinkleProp_borderColor" },
|
|
3897
|
+
"borderL": { "$ref": "#/definitions/SprinkleProp_borderL" },
|
|
3898
|
+
"borderR": { "$ref": "#/definitions/SprinkleProp_borderR" },
|
|
3899
|
+
"borderT": { "$ref": "#/definitions/SprinkleProp_borderT" },
|
|
3900
|
+
"color": { "$ref": "#/definitions/SprinkleProp_color" },
|
|
3901
|
+
"cursor": { "$ref": "#/definitions/SprinkleProp_cursor" },
|
|
3902
|
+
"display": { "$ref": "#/definitions/SprinkleProp_display" },
|
|
3903
|
+
"flex": { "$ref": "#/definitions/SprinkleProp_flex" },
|
|
3904
|
+
"flexDirection": { "$ref": "#/definitions/SprinkleProp_flexDirection" },
|
|
3905
|
+
"flexWrap": { "$ref": "#/definitions/SprinkleProp_flexWrap" },
|
|
3906
|
+
"fontFamily": { "$ref": "#/definitions/SprinkleProp_fontFamily" },
|
|
3907
|
+
"fontSize": { "$ref": "#/definitions/SprinkleProp_fontSize" },
|
|
3908
|
+
"fontWeight": { "$ref": "#/definitions/SprinkleProp_fontWeight" },
|
|
3909
|
+
"gap": { "$ref": "#/definitions/SprinkleProp_gap" },
|
|
3910
|
+
"gridAutoRows": { "$ref": "#/definitions/SprinkleProp_gridAutoRows" },
|
|
3911
|
+
"gridColumn": { "$ref": "#/definitions/SprinkleProp_gridColumn" },
|
|
3912
|
+
"gridTemplateColumns": { "$ref": "#/definitions/SprinkleProp_gridTemplateColumns" },
|
|
3913
|
+
"h": { "$ref": "#/definitions/SprinkleProp_h" },
|
|
3914
|
+
"justifyContent": { "$ref": "#/definitions/SprinkleProp_justifyContent" },
|
|
3915
|
+
"justifyItems": { "$ref": "#/definitions/SprinkleProp_justifyItems" },
|
|
3916
|
+
"m": { "$ref": "#/definitions/SprinkleProp_m" },
|
|
3917
|
+
"maxH": { "$ref": "#/definitions/SprinkleProp_maxH" },
|
|
3918
|
+
"maxW": { "$ref": "#/definitions/SprinkleProp_maxW" },
|
|
3919
|
+
"mb": { "$ref": "#/definitions/SprinkleProp_mb" },
|
|
3920
|
+
"ml": { "$ref": "#/definitions/SprinkleProp_ml" },
|
|
3921
|
+
"mr": { "$ref": "#/definitions/SprinkleProp_mr" },
|
|
3922
|
+
"mt": { "$ref": "#/definitions/SprinkleProp_mt" },
|
|
3923
|
+
"mx": { "$ref": "#/definitions/SprinkleProp_mx" },
|
|
3924
|
+
"my": { "$ref": "#/definitions/SprinkleProp_my" },
|
|
3925
|
+
"name": {
|
|
3926
|
+
"anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
|
|
3927
|
+
"description": "Name of the form control element. Used by form-data integrations."
|
|
3928
|
+
},
|
|
3929
|
+
"objectFit": { "$ref": "#/definitions/SprinkleProp_objectFit" },
|
|
3930
|
+
"overflow": { "$ref": "#/definitions/SprinkleProp_overflow" },
|
|
3931
|
+
"overflowX": { "$ref": "#/definitions/SprinkleProp_overflowX" },
|
|
3932
|
+
"overflowY": { "$ref": "#/definitions/SprinkleProp_overflowY" },
|
|
3933
|
+
"p": { "$ref": "#/definitions/SprinkleProp_p" },
|
|
3934
|
+
"pb": { "$ref": "#/definitions/SprinkleProp_pb" },
|
|
3935
|
+
"pl": { "$ref": "#/definitions/SprinkleProp_pl" },
|
|
3936
|
+
"placeholder": {
|
|
3937
|
+
"anyOf": [{ "type": "string" }, { "$ref": "#/definitions/ProteusExpression" }],
|
|
3938
|
+
"description": "Placeholder text shown when the editor is empty."
|
|
3939
|
+
},
|
|
3940
|
+
"placeItems": { "$ref": "#/definitions/SprinkleProp_placeItems" },
|
|
3941
|
+
"pointerEvents": { "$ref": "#/definitions/SprinkleProp_pointerEvents" },
|
|
3942
|
+
"pr": { "$ref": "#/definitions/SprinkleProp_pr" },
|
|
3943
|
+
"pt": { "$ref": "#/definitions/SprinkleProp_pt" },
|
|
3944
|
+
"px": { "$ref": "#/definitions/SprinkleProp_px" },
|
|
3945
|
+
"py": { "$ref": "#/definitions/SprinkleProp_py" },
|
|
3946
|
+
"readOnly": {
|
|
3947
|
+
"anyOf": [{ "type": "boolean" }, { "$ref": "#/definitions/ProteusExpression" }],
|
|
3948
|
+
"description": "Whether the editor is read-only."
|
|
3949
|
+
},
|
|
3950
|
+
"rounded": { "$ref": "#/definitions/SprinkleProp_rounded" },
|
|
3951
|
+
"shadow": { "$ref": "#/definitions/SprinkleProp_shadow" },
|
|
3952
|
+
"size": { "$ref": "#/definitions/SprinkleProp_size" },
|
|
3953
|
+
"textAlign": { "$ref": "#/definitions/SprinkleProp_textAlign" },
|
|
3954
|
+
"textTransform": { "$ref": "#/definitions/SprinkleProp_textTransform" },
|
|
3955
|
+
"transition": { "$ref": "#/definitions/SprinkleProp_transition" },
|
|
3956
|
+
"w": { "$ref": "#/definitions/SprinkleProp_w" },
|
|
3957
|
+
"whiteSpace": { "$ref": "#/definitions/SprinkleProp_whiteSpace" },
|
|
3958
|
+
"z": { "$ref": "#/definitions/SprinkleProp_z" }
|
|
3959
|
+
},
|
|
3960
|
+
"required": ["$type"],
|
|
3961
|
+
"type": "object"
|
|
3962
|
+
},
|
|
3802
3963
|
"ProteusSelect": {
|
|
3803
3964
|
"examples": [{
|
|
3804
3965
|
"$type": "Select",
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BoxProps, ButtonProps, DateInputProps, Disclosure, InputProps, SelectProps, TextareaProps } from "@optiaxiom/react";
|
|
1
|
+
import { BoxProps, ButtonProps, DateInputProps, Disclosure, InputProps, RichTextEditorProps, SelectProps, TextareaProps } from "@optiaxiom/react";
|
|
2
2
|
import { ComponentPropsWithoutRef, ComponentType, ReactNode } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/proteus-bridge/ProteusBridge.d.ts
|
|
@@ -152,9 +152,11 @@ declare namespace ProteusFileUpload {
|
|
|
152
152
|
//#region src/proteus-image-carousel/ProteusImageCarousel.d.ts
|
|
153
153
|
type ProteusImageCarouselProps = {
|
|
154
154
|
/**
|
|
155
|
-
* Array of image data to display in the carousel.
|
|
155
|
+
* Array of image data to display in the carousel. The host is responsible for
|
|
156
|
+
* supplying the preview metadata on each item.
|
|
156
157
|
*/
|
|
157
|
-
images: Array<{
|
|
158
|
+
images: Array<ProteusPreviewFile & {
|
|
159
|
+
[key: string]: unknown;
|
|
158
160
|
/**
|
|
159
161
|
* Alternative text for the image.
|
|
160
162
|
*/
|
|
@@ -183,7 +185,9 @@ declare namespace ProteusImageCarousel {
|
|
|
183
185
|
//#endregion
|
|
184
186
|
//#region src/proteus-image/ProteusImage.d.ts
|
|
185
187
|
type ProteusImageProps = BoxProps<"img">;
|
|
186
|
-
declare function ProteusImage(
|
|
188
|
+
declare function ProteusImage({
|
|
189
|
+
...props
|
|
190
|
+
}: ProteusImageProps): import("react/jsx-runtime").JSX.Element;
|
|
187
191
|
declare namespace ProteusImage {
|
|
188
192
|
var displayName: string;
|
|
189
193
|
}
|
|
@@ -236,6 +240,27 @@ declare namespace ProteusMap {
|
|
|
236
240
|
var displayName: string;
|
|
237
241
|
}
|
|
238
242
|
//#endregion
|
|
243
|
+
//#region src/proteus-markdown/ProteusMarkdown.d.ts
|
|
244
|
+
type ProteusMarkdownProps = BoxProps<"div", {
|
|
245
|
+
/**
|
|
246
|
+
* The markdown source to render. A single string (resolved upstream from a
|
|
247
|
+
* literal or a `Value`/`Concat` expression).
|
|
248
|
+
*/
|
|
249
|
+
children?: string;
|
|
250
|
+
}>;
|
|
251
|
+
/**
|
|
252
|
+
* Renders markdown content (headings, paragraphs, lists, links, emphasis, code)
|
|
253
|
+
* as Axiom components so generated documents inherit the design system.
|
|
254
|
+
*/
|
|
255
|
+
declare function ProteusMarkdown({
|
|
256
|
+
children,
|
|
257
|
+
className,
|
|
258
|
+
...props
|
|
259
|
+
}: ProteusMarkdownProps): import("react/jsx-runtime").JSX.Element;
|
|
260
|
+
declare namespace ProteusMarkdown {
|
|
261
|
+
var displayName: string;
|
|
262
|
+
}
|
|
263
|
+
//#endregion
|
|
239
264
|
//#region src/proteus-pill-menu/ProteusPillMenu.d.ts
|
|
240
265
|
type ProteusPillMenuProps = {
|
|
241
266
|
/**
|
|
@@ -435,7 +460,7 @@ type ProteusDocumentShellProps = Pick<ComponentPropsWithoutRef<typeof Disclosure
|
|
|
435
460
|
* Callback when user triggers a preview action.
|
|
436
461
|
* Receives the file object to preview.
|
|
437
462
|
*/
|
|
438
|
-
onPreview?: (file:
|
|
463
|
+
onPreview?: (file: ProteusPreviewFile) => Promise<void> | void;
|
|
439
464
|
/**
|
|
440
465
|
* Callback when an analytics event is fired
|
|
441
466
|
*/
|
|
@@ -506,7 +531,7 @@ type ProteusEventHandler = {
|
|
|
506
531
|
}) | string;
|
|
507
532
|
} | {
|
|
508
533
|
action: "preview";
|
|
509
|
-
file:
|
|
534
|
+
file: ProteusPreviewFile;
|
|
510
535
|
} | {
|
|
511
536
|
action: "pushValue";
|
|
512
537
|
path: string;
|
|
@@ -520,6 +545,13 @@ type ProteusEventHandler = {
|
|
|
520
545
|
} | {
|
|
521
546
|
message: string | StructuredMessage;
|
|
522
547
|
};
|
|
548
|
+
type ProteusPreviewFile = {
|
|
549
|
+
extension: string;
|
|
550
|
+
file_link: string;
|
|
551
|
+
full_name: string;
|
|
552
|
+
mime_type: string;
|
|
553
|
+
name: string;
|
|
554
|
+
};
|
|
523
555
|
type StructuredMessage<F extends FileUploadMetadata = FileUploadMetadata> = {
|
|
524
556
|
files?: F[];
|
|
525
557
|
parts: Array<{
|
|
@@ -605,6 +637,12 @@ declare namespace ProteusInput {
|
|
|
605
637
|
var displayName: string;
|
|
606
638
|
}
|
|
607
639
|
//#endregion
|
|
640
|
+
//#region src/proteus-rich-text-editor/ProteusRichTextEditor.d.ts
|
|
641
|
+
declare function ProteusRichTextEditor(props: RichTextEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
642
|
+
declare namespace ProteusRichTextEditor {
|
|
643
|
+
var displayName: string;
|
|
644
|
+
}
|
|
645
|
+
//#endregion
|
|
608
646
|
//#region src/proteus-textarea/ProteusTextarea.d.ts
|
|
609
647
|
declare function ProteusTextarea(props: TextareaProps): import("react/jsx-runtime").JSX.Element;
|
|
610
648
|
declare namespace ProteusTextarea {
|
|
@@ -614,4 +652,4 @@ declare namespace ProteusTextarea {
|
|
|
614
652
|
//#region src/use-proteus-value/useProteusValue.d.ts
|
|
615
653
|
declare function useProteusValue(element: ProteusValueProps): any;
|
|
616
654
|
//#endregion
|
|
617
|
-
export { type FileUploadMetadata, ProteusAction, ProteusBridge, ProteusChart, ProteusDataTable, ProteusDateInput, ProteusDocumentRenderer, ProteusDocumentRendererProps, ProteusDocumentShell, ProteusDocumentShellProps, ProteusFederated, ProteusFileUpload, ProteusFileUploadProps, ProteusImage, ProteusImageCarousel, ProteusInput, ProteusLength, ProteusMap, ProteusMapIndex, ProteusPillMenu, ProteusPillMenuProps, ProteusSelect, ProteusShow, ProteusTextarea, type StructuredMessage, type UploadFile, safeParseDocument, useProteusValue };
|
|
655
|
+
export { type FileUploadMetadata, ProteusAction, ProteusBridge, ProteusChart, ProteusDataTable, ProteusDateInput, ProteusDocumentRenderer, ProteusDocumentRendererProps, ProteusDocumentShell, ProteusDocumentShellProps, ProteusFederated, ProteusFileUpload, ProteusFileUploadProps, ProteusImage, ProteusImageCarousel, ProteusInput, ProteusLength, ProteusMap, ProteusMapIndex, ProteusMarkdown, ProteusPillMenu, ProteusPillMenuProps, type ProteusPreviewFile, ProteusRichTextEditor, ProteusSelect, ProteusShow, ProteusTextarea, type StructuredMessage, type UploadFile, safeParseDocument, useProteusValue };
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"url": "git+https://github.com/optimizely-axiom/optiaxiom.git"
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
10
|
-
"version": "3.0.
|
|
10
|
+
"version": "3.0.3",
|
|
11
11
|
"files": [
|
|
12
12
|
"dist/**",
|
|
13
13
|
"LICENSE"
|
|
@@ -38,9 +38,11 @@
|
|
|
38
38
|
"@tanstack/react-table": "^8.21.3",
|
|
39
39
|
"embla-carousel-react": "^8.6.0",
|
|
40
40
|
"jsonpointer": "^5.0.1",
|
|
41
|
+
"react-markdown": "^10.1.0",
|
|
41
42
|
"recharts": "^3.8.1",
|
|
43
|
+
"remark-gfm": "^4.0.1",
|
|
42
44
|
"@optiaxiom/icons": "^1.1.3",
|
|
43
|
-
"@optiaxiom/react": "^3.0.
|
|
45
|
+
"@optiaxiom/react": "^3.0.4"
|
|
44
46
|
},
|
|
45
47
|
"devDependencies": {
|
|
46
48
|
"@emotion/hash": "^0.9.2",
|
|
@@ -55,6 +57,6 @@
|
|
|
55
57
|
},
|
|
56
58
|
"scripts": {
|
|
57
59
|
"build": "rolldown -c",
|
|
58
|
-
"dev": "rm -rf dist && wait-on ../../packages/react/dist/index.d.ts ../../packages/react/dist/unstable.d.ts ../../packages/shared/data/docs.json && rolldown -wc"
|
|
60
|
+
"dev": "rm -rf dist && wait-on ../../packages/react/dist/index.d.ts ../../packages/react/dist/unstable.d.ts ../../packages/react/dist/css-runtime.d.ts ../../packages/shared/data/docs.json && rolldown -wc"
|
|
59
61
|
}
|
|
60
62
|
}
|