@orangecatai/element 0.0.2 → 0.0.4
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/dev/index.js +67 -4
- package/dist/dev/index.js.map +2 -2
- package/dist/prod/index.js +9 -9
- package/dist/types/common/src/constants.d.ts +4 -0
- package/dist/types/common/src/keys.d.ts +2 -0
- package/dist/types/element/src/Scene.d.ts +1 -1
- package/dist/types/element/src/frame.d.ts +5 -5
- package/dist/types/element/src/newElement.d.ts +10 -1
- package/dist/types/element/src/typeChecks.d.ts +2 -1
- package/dist/types/element/src/types.d.ts +17 -2
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +177 -0
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +7 -7
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +2 -2
- package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -2
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +6 -6
- package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionFrame.d.ts +219 -0
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +48 -7
- package/dist/types/excalidraw/actions/actionLink.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionMenu.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +4 -4
- package/dist/types/excalidraw/actions/actionStyles.d.ts +2 -2
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +4 -4
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +3 -3
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +2 -2
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +4 -4
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +4 -4
- package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
- package/dist/types/excalidraw/actions/index.d.ts +1 -1
- package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
- package/dist/types/excalidraw/actions/types.d.ts +1 -1
- package/dist/types/excalidraw/components/AIChatPanel.d.ts +176 -0
- package/dist/types/excalidraw/components/Actions.d.ts +3 -0
- package/dist/types/excalidraw/components/App.d.ts +10 -0
- package/dist/types/excalidraw/components/CanvasBackgroundSwatch.d.ts +7 -0
- package/dist/types/excalidraw/components/ColorPicker/AdvancedColorPicker.d.ts +8 -0
- package/dist/types/excalidraw/components/ColorPicker/colorConversions.d.ts +27 -0
- package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
- package/dist/types/excalidraw/components/DefaultSidebar.d.ts +1 -1
- package/dist/types/excalidraw/components/ElementCanvasButtons.d.ts +1 -1
- package/dist/types/excalidraw/components/FrameToolbar.d.ts +1 -1
- package/dist/types/excalidraw/components/HintViewer.d.ts +1 -1
- package/dist/types/excalidraw/components/ImageEditToolbar.d.ts +15 -0
- package/dist/types/excalidraw/components/ImageGeneratorPanel.d.ts +59 -13
- package/dist/types/excalidraw/components/ImageQuickEditPanel.d.ts +10 -1
- package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +1 -1
- package/dist/types/excalidraw/components/Stats/index.d.ts +1 -1
- package/dist/types/excalidraw/components/StockImagePanel.d.ts +49 -0
- package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +1 -0
- package/dist/types/excalidraw/components/ToolButton.d.ts +1 -1
- package/dist/types/excalidraw/components/VideoElement.d.ts +9 -0
- package/dist/types/excalidraw/components/VideoGeneratorPanel.d.ts +149 -0
- package/dist/types/excalidraw/components/ai-chat/AdGenShimmerLayer.d.ts +10 -0
- package/dist/types/excalidraw/components/ai-chat/adGenShimmerStore.d.ts +12 -0
- package/dist/types/excalidraw/components/ai-chat/agentLoop.d.ts +114 -0
- package/dist/types/excalidraw/components/ai-chat/audioUtils.d.ts +5 -0
- package/dist/types/excalidraw/components/ai-chat/canvasTools.d.ts +752 -0
- package/dist/types/excalidraw/components/ai-chat/htmlToExcalidraw.d.ts +53 -0
- package/dist/types/excalidraw/components/ai-chat/openRouterStream.d.ts +50 -0
- package/dist/types/excalidraw/components/ai-chat/reviewerAgent.d.ts +74 -0
- package/dist/types/excalidraw/components/auto-resize/AutoResizePanel.d.ts +17 -0
- package/dist/types/excalidraw/components/auto-resize/AutoResizePanelHost.d.ts +4 -0
- package/dist/types/excalidraw/components/auto-resize/AutoResizeShimmerLayer.d.ts +11 -0
- package/dist/types/excalidraw/components/auto-resize/autoResizeEngine.d.ts +185 -0
- package/dist/types/excalidraw/components/auto-resize/autoResizePanelStore.d.ts +15 -0
- package/dist/types/excalidraw/components/auto-resize/autoResizeStore.d.ts +16 -0
- package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +1 -1
- package/dist/types/excalidraw/components/icons.d.ts +3 -0
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +5 -1
- package/dist/types/excalidraw/components/template-builder/TemplateBuilderPanelHost.d.ts +4 -0
- package/dist/types/excalidraw/components/template-builder/TemplateBuilderTray.d.ts +4 -0
- package/dist/types/excalidraw/components/template-builder/slotTypes.d.ts +43 -0
- package/dist/types/excalidraw/components/template-builder/templateBuilderStore.d.ts +19 -0
- package/dist/types/excalidraw/components/ui/avatar.d.ts +6 -0
- package/dist/types/excalidraw/components/ui/button.d.ts +11 -0
- package/dist/types/excalidraw/components/ui/chat-container.d.ts +17 -0
- package/dist/types/excalidraw/components/ui/code-block.d.ts +16 -0
- package/dist/types/excalidraw/components/ui/markdown.d.ts +10 -0
- package/dist/types/excalidraw/components/ui/message.d.ts +35 -0
- package/dist/types/excalidraw/components/ui/scroll-button.d.ts +10 -0
- package/dist/types/excalidraw/data/blob.d.ts +4 -1
- package/dist/types/excalidraw/fonts/Fonts.d.ts +17 -0
- package/dist/types/excalidraw/index.d.ts +13 -1
- package/dist/types/excalidraw/scene/types.d.ts +1 -0
- package/dist/types/excalidraw/types.d.ts +286 -4
- package/dist/types/excalidraw/utils/brandContextUtils.d.ts +23 -0
- package/dist/types/excalidraw/utils/imageApi.d.ts +19 -0
- package/dist/types/excalidraw/utils/videoApi.d.ts +30 -0
- package/dist/types/utils/src/shape.d.ts +2 -2
- package/package.json +2 -2
- package/dist/types/excalidraw/utils/geminiApiKey.d.ts +0 -1
package/dist/dev/index.js
CHANGED
|
@@ -3222,6 +3222,9 @@ var isInitializedImageElement = (element) => {
|
|
|
3222
3222
|
var isImageElement = (element) => {
|
|
3223
3223
|
return !!element && element.type === "image";
|
|
3224
3224
|
};
|
|
3225
|
+
var isVideoElement = (element) => {
|
|
3226
|
+
return !!element && element.type === "video";
|
|
3227
|
+
};
|
|
3225
3228
|
var isEmbeddableElement = (element) => {
|
|
3226
3229
|
return !!element && element.type === "embeddable";
|
|
3227
3230
|
};
|
|
@@ -3309,6 +3312,7 @@ var isExcalidrawElement = (element) => {
|
|
|
3309
3312
|
case "frame":
|
|
3310
3313
|
case "magicframe":
|
|
3311
3314
|
case "image":
|
|
3315
|
+
case "video":
|
|
3312
3316
|
case "selection": {
|
|
3313
3317
|
return true;
|
|
3314
3318
|
}
|
|
@@ -4793,6 +4797,7 @@ var distanceToElement = (element, elementsMap, p) => {
|
|
|
4793
4797
|
case "selection":
|
|
4794
4798
|
case "rectangle":
|
|
4795
4799
|
case "image":
|
|
4800
|
+
case "video":
|
|
4796
4801
|
case "text":
|
|
4797
4802
|
case "iframe":
|
|
4798
4803
|
case "embeddable":
|
|
@@ -5044,6 +5049,7 @@ var intersectElementWithLineSegment = (element, elementsMap, line2, offset = 0,
|
|
|
5044
5049
|
switch (element.type) {
|
|
5045
5050
|
case "rectangle":
|
|
5046
5051
|
case "image":
|
|
5052
|
+
case "video":
|
|
5047
5053
|
case "text":
|
|
5048
5054
|
case "iframe":
|
|
5049
5055
|
case "embeddable":
|
|
@@ -11855,6 +11861,7 @@ var drawElementOnCanvas = (element, rc, context, renderConfig) => {
|
|
|
11855
11861
|
case "rectangle":
|
|
11856
11862
|
case "iframe":
|
|
11857
11863
|
case "embeddable":
|
|
11864
|
+
case "video":
|
|
11858
11865
|
case "diamond":
|
|
11859
11866
|
case "ellipse": {
|
|
11860
11867
|
context.lineJoin = "round";
|
|
@@ -12201,7 +12208,8 @@ var renderElement = (element, elementsMap, allElementsMap, rc, context, renderCo
|
|
|
12201
12208
|
case "image":
|
|
12202
12209
|
case "text":
|
|
12203
12210
|
case "iframe":
|
|
12204
|
-
case "embeddable":
|
|
12211
|
+
case "embeddable":
|
|
12212
|
+
case "video": {
|
|
12205
12213
|
if (renderConfig.isExporting) {
|
|
12206
12214
|
const [x1, y1, x2, y2] = getElementAbsoluteCoords2(element, elementsMap);
|
|
12207
12215
|
const cx = (x1 + x2) / 2 + appState.scrollX;
|
|
@@ -12483,6 +12491,7 @@ var generateRoughOptions = (element, continuousPath = false, isDarkMode = false)
|
|
|
12483
12491
|
case "rectangle":
|
|
12484
12492
|
case "iframe":
|
|
12485
12493
|
case "embeddable":
|
|
12494
|
+
case "video":
|
|
12486
12495
|
case "diamond":
|
|
12487
12496
|
case "ellipse": {
|
|
12488
12497
|
options.fillStyle = element.fillStyle;
|
|
@@ -12785,7 +12794,8 @@ var _generateElementShape = (element, generator, {
|
|
|
12785
12794
|
switch (element.type) {
|
|
12786
12795
|
case "rectangle":
|
|
12787
12796
|
case "iframe":
|
|
12788
|
-
case "embeddable":
|
|
12797
|
+
case "embeddable":
|
|
12798
|
+
case "video": {
|
|
12789
12799
|
let shape;
|
|
12790
12800
|
if (element.roundness) {
|
|
12791
12801
|
const w = element.width;
|
|
@@ -13022,6 +13032,7 @@ var getElementShape = (element, elementsMap) => {
|
|
|
13022
13032
|
case "magicframe":
|
|
13023
13033
|
case "embeddable":
|
|
13024
13034
|
case "image":
|
|
13035
|
+
case "video":
|
|
13025
13036
|
case "iframe":
|
|
13026
13037
|
case "text":
|
|
13027
13038
|
case "selection":
|
|
@@ -15832,14 +15843,51 @@ var Scene = class {
|
|
|
15832
15843
|
this.replaceAllElements(nextElements);
|
|
15833
15844
|
}
|
|
15834
15845
|
insertElement = (element) => {
|
|
15835
|
-
|
|
15846
|
+
let index;
|
|
15847
|
+
if (element.frameId) {
|
|
15848
|
+
const frameIndex = this.getElementIndex(element.frameId);
|
|
15849
|
+
if (frameIndex === -1) {
|
|
15850
|
+
index = this.elements.length;
|
|
15851
|
+
} else {
|
|
15852
|
+
let lastChildIndex = frameIndex;
|
|
15853
|
+
for (let i = frameIndex + 1; i < this.elements.length; i++) {
|
|
15854
|
+
if (this.elements[i].frameId === element.frameId) {
|
|
15855
|
+
lastChildIndex = i;
|
|
15856
|
+
} else {
|
|
15857
|
+
break;
|
|
15858
|
+
}
|
|
15859
|
+
}
|
|
15860
|
+
index = lastChildIndex + 1;
|
|
15861
|
+
}
|
|
15862
|
+
} else {
|
|
15863
|
+
index = this.elements.length;
|
|
15864
|
+
}
|
|
15836
15865
|
this.insertElementAtIndex(element, index);
|
|
15837
15866
|
};
|
|
15838
15867
|
insertElements = (elements) => {
|
|
15839
15868
|
if (!elements.length) {
|
|
15840
15869
|
return;
|
|
15841
15870
|
}
|
|
15842
|
-
|
|
15871
|
+
let index;
|
|
15872
|
+
const firstElement = elements[0];
|
|
15873
|
+
if (firstElement?.frameId) {
|
|
15874
|
+
const frameIndex = this.getElementIndex(firstElement.frameId);
|
|
15875
|
+
if (frameIndex === -1) {
|
|
15876
|
+
index = this.elements.length;
|
|
15877
|
+
} else {
|
|
15878
|
+
let lastChildIndex = frameIndex;
|
|
15879
|
+
for (let i = frameIndex + 1; i < this.elements.length; i++) {
|
|
15880
|
+
if (this.elements[i].frameId === firstElement.frameId) {
|
|
15881
|
+
lastChildIndex = i;
|
|
15882
|
+
} else {
|
|
15883
|
+
break;
|
|
15884
|
+
}
|
|
15885
|
+
}
|
|
15886
|
+
index = lastChildIndex + 1;
|
|
15887
|
+
}
|
|
15888
|
+
} else {
|
|
15889
|
+
index = this.elements.length;
|
|
15890
|
+
}
|
|
15843
15891
|
this.insertElementsAtIndex(elements, index);
|
|
15844
15892
|
};
|
|
15845
15893
|
getElementIndex(elementId) {
|
|
@@ -17846,6 +17894,19 @@ var newImageElement = (opts) => {
|
|
|
17846
17894
|
crop: opts.crop ?? null
|
|
17847
17895
|
};
|
|
17848
17896
|
};
|
|
17897
|
+
var newVideoElement = (opts) => {
|
|
17898
|
+
return {
|
|
17899
|
+
..._newElementBase("video", opts),
|
|
17900
|
+
strokeColor: "transparent",
|
|
17901
|
+
status: opts.status ?? "idle",
|
|
17902
|
+
videoUrl: opts.videoUrl ?? null,
|
|
17903
|
+
mimeType: opts.mimeType ?? null,
|
|
17904
|
+
thumbnailDataUrl: opts.thumbnailDataUrl ?? null,
|
|
17905
|
+
duration: opts.duration ?? 0,
|
|
17906
|
+
naturalWidth: opts.naturalWidth ?? 0,
|
|
17907
|
+
naturalHeight: opts.naturalHeight ?? 0
|
|
17908
|
+
};
|
|
17909
|
+
};
|
|
17849
17910
|
|
|
17850
17911
|
// src/embeddable.ts
|
|
17851
17912
|
var embeddedLinkCache = /* @__PURE__ */ new Map();
|
|
@@ -21869,6 +21930,7 @@ export {
|
|
|
21869
21930
|
isUsingProportionalRadius,
|
|
21870
21931
|
isValidPolygon,
|
|
21871
21932
|
isValidTextContainer,
|
|
21933
|
+
isVideoElement,
|
|
21872
21934
|
loadHTMLImageElement,
|
|
21873
21935
|
makeNextSelectedElementIds,
|
|
21874
21936
|
maxBindingDistance_simple,
|
|
@@ -21893,6 +21955,7 @@ export {
|
|
|
21893
21955
|
newLinearElement,
|
|
21894
21956
|
newMagicFrameElement,
|
|
21895
21957
|
newTextElement,
|
|
21958
|
+
newVideoElement,
|
|
21896
21959
|
normalizeElementOrder,
|
|
21897
21960
|
normalizeFixedPoint,
|
|
21898
21961
|
normalizeSVG,
|