@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.
Files changed (93) hide show
  1. package/dist/dev/index.js +67 -4
  2. package/dist/dev/index.js.map +2 -2
  3. package/dist/prod/index.js +9 -9
  4. package/dist/types/common/src/constants.d.ts +4 -0
  5. package/dist/types/common/src/keys.d.ts +2 -0
  6. package/dist/types/element/src/Scene.d.ts +1 -1
  7. package/dist/types/element/src/frame.d.ts +5 -5
  8. package/dist/types/element/src/newElement.d.ts +10 -1
  9. package/dist/types/element/src/typeChecks.d.ts +2 -1
  10. package/dist/types/element/src/types.d.ts +17 -2
  11. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +1 -1
  12. package/dist/types/excalidraw/actions/actionCanvas.d.ts +177 -0
  13. package/dist/types/excalidraw/actions/actionClipboard.d.ts +7 -7
  14. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +2 -2
  15. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -2
  16. package/dist/types/excalidraw/actions/actionElementLink.d.ts +6 -6
  17. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +1 -1
  18. package/dist/types/excalidraw/actions/actionFrame.d.ts +219 -0
  19. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +48 -7
  20. package/dist/types/excalidraw/actions/actionLink.d.ts +3 -3
  21. package/dist/types/excalidraw/actions/actionMenu.d.ts +1 -1
  22. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +4 -4
  23. package/dist/types/excalidraw/actions/actionStyles.d.ts +2 -2
  24. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +4 -4
  25. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +3 -3
  26. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +2 -2
  27. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +4 -4
  28. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +4 -4
  29. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -8
  30. package/dist/types/excalidraw/actions/index.d.ts +1 -1
  31. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  32. package/dist/types/excalidraw/actions/types.d.ts +1 -1
  33. package/dist/types/excalidraw/components/AIChatPanel.d.ts +176 -0
  34. package/dist/types/excalidraw/components/Actions.d.ts +3 -0
  35. package/dist/types/excalidraw/components/App.d.ts +10 -0
  36. package/dist/types/excalidraw/components/CanvasBackgroundSwatch.d.ts +7 -0
  37. package/dist/types/excalidraw/components/ColorPicker/AdvancedColorPicker.d.ts +8 -0
  38. package/dist/types/excalidraw/components/ColorPicker/colorConversions.d.ts +27 -0
  39. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  40. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +1 -1
  41. package/dist/types/excalidraw/components/ElementCanvasButtons.d.ts +1 -1
  42. package/dist/types/excalidraw/components/FrameToolbar.d.ts +1 -1
  43. package/dist/types/excalidraw/components/HintViewer.d.ts +1 -1
  44. package/dist/types/excalidraw/components/ImageEditToolbar.d.ts +15 -0
  45. package/dist/types/excalidraw/components/ImageGeneratorPanel.d.ts +59 -13
  46. package/dist/types/excalidraw/components/ImageQuickEditPanel.d.ts +10 -1
  47. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +2 -2
  48. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +1 -1
  49. package/dist/types/excalidraw/components/Stats/index.d.ts +1 -1
  50. package/dist/types/excalidraw/components/StockImagePanel.d.ts +49 -0
  51. package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +1 -0
  52. package/dist/types/excalidraw/components/ToolButton.d.ts +1 -1
  53. package/dist/types/excalidraw/components/VideoElement.d.ts +9 -0
  54. package/dist/types/excalidraw/components/VideoGeneratorPanel.d.ts +149 -0
  55. package/dist/types/excalidraw/components/ai-chat/AdGenShimmerLayer.d.ts +10 -0
  56. package/dist/types/excalidraw/components/ai-chat/adGenShimmerStore.d.ts +12 -0
  57. package/dist/types/excalidraw/components/ai-chat/agentLoop.d.ts +114 -0
  58. package/dist/types/excalidraw/components/ai-chat/audioUtils.d.ts +5 -0
  59. package/dist/types/excalidraw/components/ai-chat/canvasTools.d.ts +752 -0
  60. package/dist/types/excalidraw/components/ai-chat/htmlToExcalidraw.d.ts +53 -0
  61. package/dist/types/excalidraw/components/ai-chat/openRouterStream.d.ts +50 -0
  62. package/dist/types/excalidraw/components/ai-chat/reviewerAgent.d.ts +74 -0
  63. package/dist/types/excalidraw/components/auto-resize/AutoResizePanel.d.ts +17 -0
  64. package/dist/types/excalidraw/components/auto-resize/AutoResizePanelHost.d.ts +4 -0
  65. package/dist/types/excalidraw/components/auto-resize/AutoResizeShimmerLayer.d.ts +11 -0
  66. package/dist/types/excalidraw/components/auto-resize/autoResizeEngine.d.ts +185 -0
  67. package/dist/types/excalidraw/components/auto-resize/autoResizePanelStore.d.ts +15 -0
  68. package/dist/types/excalidraw/components/auto-resize/autoResizeStore.d.ts +16 -0
  69. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +1 -1
  70. package/dist/types/excalidraw/components/icons.d.ts +3 -0
  71. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +5 -1
  72. package/dist/types/excalidraw/components/template-builder/TemplateBuilderPanelHost.d.ts +4 -0
  73. package/dist/types/excalidraw/components/template-builder/TemplateBuilderTray.d.ts +4 -0
  74. package/dist/types/excalidraw/components/template-builder/slotTypes.d.ts +43 -0
  75. package/dist/types/excalidraw/components/template-builder/templateBuilderStore.d.ts +19 -0
  76. package/dist/types/excalidraw/components/ui/avatar.d.ts +6 -0
  77. package/dist/types/excalidraw/components/ui/button.d.ts +11 -0
  78. package/dist/types/excalidraw/components/ui/chat-container.d.ts +17 -0
  79. package/dist/types/excalidraw/components/ui/code-block.d.ts +16 -0
  80. package/dist/types/excalidraw/components/ui/markdown.d.ts +10 -0
  81. package/dist/types/excalidraw/components/ui/message.d.ts +35 -0
  82. package/dist/types/excalidraw/components/ui/scroll-button.d.ts +10 -0
  83. package/dist/types/excalidraw/data/blob.d.ts +4 -1
  84. package/dist/types/excalidraw/fonts/Fonts.d.ts +17 -0
  85. package/dist/types/excalidraw/index.d.ts +13 -1
  86. package/dist/types/excalidraw/scene/types.d.ts +1 -0
  87. package/dist/types/excalidraw/types.d.ts +286 -4
  88. package/dist/types/excalidraw/utils/brandContextUtils.d.ts +23 -0
  89. package/dist/types/excalidraw/utils/imageApi.d.ts +19 -0
  90. package/dist/types/excalidraw/utils/videoApi.d.ts +30 -0
  91. package/dist/types/utils/src/shape.d.ts +2 -2
  92. package/package.json +2 -2
  93. 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
- const index = element.frameId ? this.getElementIndex(element.frameId) : this.elements.length;
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
- const index = elements[0]?.frameId ? this.getElementIndex(elements[0].frameId) : this.elements.length;
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,