tldraw 4.1.0-next.1b89b40eff1c → 4.1.0-next.2c81540f049b

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 (129) hide show
  1. package/dist-cjs/index.d.ts +21 -0
  2. package/dist-cjs/index.js +1 -1
  3. package/dist-cjs/lib/canvas/TldrawCropHandles.js +1 -1
  4. package/dist-cjs/lib/canvas/TldrawScribble.js +1 -1
  5. package/dist-cjs/lib/canvas/TldrawSelectionForeground.js +1 -1
  6. package/dist-cjs/lib/defaultEmbedDefinitions.js +24 -6
  7. package/dist-cjs/lib/defaultEmbedDefinitions.js.map +2 -2
  8. package/dist-cjs/lib/defaultExternalContentHandlers.js +2 -2
  9. package/dist-cjs/lib/defaultExternalContentHandlers.js.map +2 -2
  10. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js +3 -0
  11. package/dist-cjs/lib/shapes/arrow/ArrowShapeUtil.js.map +2 -2
  12. package/dist-cjs/lib/shapes/arrow/curved-arrow.js +8 -2
  13. package/dist-cjs/lib/shapes/arrow/curved-arrow.js.map +2 -2
  14. package/dist-cjs/lib/shapes/arrow/straight-arrow.js +4 -1
  15. package/dist-cjs/lib/shapes/arrow/straight-arrow.js.map +2 -2
  16. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js +14 -2
  17. package/dist-cjs/lib/shapes/bookmark/BookmarkShapeUtil.js.map +2 -2
  18. package/dist-cjs/lib/shapes/frame/FrameShapeUtil.js +1 -1
  19. package/dist-cjs/lib/shapes/image/ImageShapeUtil.js +1 -1
  20. package/dist-cjs/lib/shapes/line/LineShapeUtil.js +3 -0
  21. package/dist-cjs/lib/shapes/line/LineShapeUtil.js.map +2 -2
  22. package/dist-cjs/lib/shapes/shared/HyperlinkButton.js +1 -1
  23. package/dist-cjs/lib/shapes/shared/PlainTextLabel.js +1 -1
  24. package/dist-cjs/lib/shapes/shared/RichTextLabel.js +2 -2
  25. package/dist-cjs/lib/shapes/shared/RichTextLabel.js.map +2 -2
  26. package/dist-cjs/lib/shapes/shared/ShapeFill.js +1 -1
  27. package/dist-cjs/lib/shapes/text/PlainTextArea.js +1 -1
  28. package/dist-cjs/lib/shapes/text/RichTextArea.js +1 -1
  29. package/dist-cjs/lib/shapes/video/VideoShapeUtil.js +1 -1
  30. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js +1 -1
  31. package/dist-cjs/lib/tools/SelectTool/childStates/Crop/children/Idle.js.map +2 -2
  32. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js +9 -1
  33. package/dist-cjs/lib/tools/SelectTool/childStates/DraggingHandle.js.map +2 -2
  34. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js +1 -1
  35. package/dist-cjs/lib/tools/SelectTool/childStates/Idle.js.map +2 -2
  36. package/dist-cjs/lib/ui/TldrawUi.js +2 -2
  37. package/dist-cjs/lib/ui/components/DebugMenu/DefaultDebugMenuContent.js +1 -1
  38. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialog.js +1 -1
  39. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js +1 -1
  40. package/dist-cjs/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.js.map +1 -1
  41. package/dist-cjs/lib/ui/components/Minimap/DefaultMinimap.js +1 -1
  42. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js +5 -0
  43. package/dist-cjs/lib/ui/components/Minimap/MinimapManager.js.map +2 -2
  44. package/dist-cjs/lib/ui/components/OfflineIndicator/OfflineIndicator.js +1 -1
  45. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenu.js +6 -2
  46. package/dist-cjs/lib/ui/components/SharePanel/PeopleMenu.js.map +2 -2
  47. package/dist-cjs/lib/ui/components/SharePanel/UserPresenceColorPicker.js +1 -1
  48. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanel.js +1 -1
  49. package/dist-cjs/lib/ui/components/StylePanel/DefaultStylePanelContent.js +1 -1
  50. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDoubleDropdownPicker.js +1 -1
  51. package/dist-cjs/lib/ui/components/StylePanel/StylePanelDropdownPicker.js +1 -1
  52. package/dist-cjs/lib/ui/components/Toolbar/DefaultToolbar.js +1 -1
  53. package/dist-cjs/lib/ui/components/Toolbar/OverflowingToolbar.js +1 -1
  54. package/dist-cjs/lib/ui/components/Toolbar/ToggleToolLockedButton.js +1 -1
  55. package/dist-cjs/lib/ui/components/primitives/Button/TldrawUiButton.js +2 -2
  56. package/dist-cjs/lib/ui/components/primitives/TldrawUiContextualToolbar.js +1 -1
  57. package/dist-cjs/lib/ui/components/primitives/TldrawUiDialog.js +1 -1
  58. package/dist-cjs/lib/ui/components/primitives/TldrawUiDropdownMenu.js +1 -1
  59. package/dist-cjs/lib/ui/components/primitives/TldrawUiIcon.js +1 -1
  60. package/dist-cjs/lib/ui/components/primitives/TldrawUiInput.js +2 -2
  61. package/dist-cjs/lib/ui/components/primitives/TldrawUiPopover.js +2 -2
  62. package/dist-cjs/lib/ui/components/primitives/TldrawUiSlider.js +1 -1
  63. package/dist-cjs/lib/ui/components/primitives/TldrawUiToolbar.js +2 -2
  64. package/dist-cjs/lib/ui/components/primitives/TldrawUiTooltip.js +1 -1
  65. package/dist-cjs/lib/ui/components/primitives/layout.js +1 -1
  66. package/dist-cjs/lib/ui/components/primitives/menus/TldrawUiMenuGroup.js +1 -1
  67. package/dist-cjs/lib/ui/context/actions.js +1 -1
  68. package/dist-cjs/lib/ui/context/breakpoints.js +1 -1
  69. package/dist-cjs/lib/ui/context/events.js +1 -1
  70. package/dist-cjs/lib/ui/hooks/useClipboardEvents.js +1 -1
  71. package/dist-cjs/lib/ui/hooks/useKeyboardShortcuts.js +1 -1
  72. package/dist-cjs/lib/ui/hooks/useLocalStorageState.js +1 -1
  73. package/dist-cjs/lib/ui/hooks/useTools.js +1 -1
  74. package/dist-cjs/lib/ui/hooks/useTranslation/useTranslation.js +1 -1
  75. package/dist-cjs/lib/ui/version.js +4 -4
  76. package/dist-cjs/lib/ui/version.js.map +1 -1
  77. package/dist-cjs/lib/utils/text/richText.js +4 -4
  78. package/dist-esm/index.d.mts +21 -0
  79. package/dist-esm/index.mjs +1 -1
  80. package/dist-esm/lib/defaultEmbedDefinitions.mjs +24 -6
  81. package/dist-esm/lib/defaultEmbedDefinitions.mjs.map +2 -2
  82. package/dist-esm/lib/defaultExternalContentHandlers.mjs +2 -2
  83. package/dist-esm/lib/defaultExternalContentHandlers.mjs.map +2 -2
  84. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs +3 -0
  85. package/dist-esm/lib/shapes/arrow/ArrowShapeUtil.mjs.map +2 -2
  86. package/dist-esm/lib/shapes/arrow/curved-arrow.mjs +8 -2
  87. package/dist-esm/lib/shapes/arrow/curved-arrow.mjs.map +2 -2
  88. package/dist-esm/lib/shapes/arrow/straight-arrow.mjs +4 -1
  89. package/dist-esm/lib/shapes/arrow/straight-arrow.mjs.map +2 -2
  90. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs +13 -1
  91. package/dist-esm/lib/shapes/bookmark/BookmarkShapeUtil.mjs.map +2 -2
  92. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs +3 -0
  93. package/dist-esm/lib/shapes/line/LineShapeUtil.mjs.map +2 -2
  94. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs +1 -1
  95. package/dist-esm/lib/shapes/shared/RichTextLabel.mjs.map +2 -2
  96. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs +1 -1
  97. package/dist-esm/lib/tools/SelectTool/childStates/Crop/children/Idle.mjs.map +2 -2
  98. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs +11 -2
  99. package/dist-esm/lib/tools/SelectTool/childStates/DraggingHandle.mjs.map +2 -2
  100. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs +1 -1
  101. package/dist-esm/lib/tools/SelectTool/childStates/Idle.mjs.map +2 -2
  102. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs +1 -1
  103. package/dist-esm/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.mjs.map +1 -1
  104. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs +5 -0
  105. package/dist-esm/lib/ui/components/Minimap/MinimapManager.mjs.map +2 -2
  106. package/dist-esm/lib/ui/components/SharePanel/PeopleMenu.mjs +6 -2
  107. package/dist-esm/lib/ui/components/SharePanel/PeopleMenu.mjs.map +2 -2
  108. package/dist-esm/lib/ui/version.mjs +4 -4
  109. package/dist-esm/lib/ui/version.mjs.map +1 -1
  110. package/package.json +11 -11
  111. package/src/lib/defaultEmbedDefinitions.ts +19 -0
  112. package/src/lib/defaultExternalContentHandlers.ts +2 -2
  113. package/src/lib/shapes/arrow/ArrowShapeUtil.test.ts +211 -1
  114. package/src/lib/shapes/arrow/ArrowShapeUtil.tsx +3 -0
  115. package/src/lib/shapes/arrow/curved-arrow.ts +8 -2
  116. package/src/lib/shapes/arrow/straight-arrow.ts +5 -1
  117. package/src/lib/shapes/bookmark/BookmarkShapeUtil.tsx +13 -3
  118. package/src/lib/shapes/line/LineShapeUtil.tsx +3 -0
  119. package/src/lib/shapes/shared/RichTextLabel.tsx +1 -1
  120. package/src/lib/shapes/text/TextShapeTool.test.ts +74 -0
  121. package/src/lib/tools/SelectTool/childStates/Crop/children/Idle.ts +1 -1
  122. package/src/lib/tools/SelectTool/childStates/DraggingHandle.tsx +13 -1
  123. package/src/lib/tools/SelectTool/childStates/Idle.ts +1 -1
  124. package/src/lib/ui/components/KeyboardShortcutsDialog/DefaultKeyboardShortcutsDialogContent.tsx +1 -1
  125. package/src/lib/ui/components/Minimap/MinimapManager.ts +6 -0
  126. package/src/lib/ui/components/SharePanel/PeopleMenu.tsx +6 -2
  127. package/src/lib/ui/version.ts +4 -4
  128. package/src/test/customSnapping.test.tsx +55 -11
  129. package/tldraw.css +7 -2
@@ -24,6 +24,8 @@ module.exports = __toCommonJS(PeopleMenu_exports);
24
24
  var import_jsx_runtime = require("react/jsx-runtime");
25
25
  var import_editor = require("@tldraw/editor");
26
26
  var import_radix_ui = require("radix-ui");
27
+ var import_constants = require("../../constants");
28
+ var import_breakpoints = require("../../context/breakpoints");
27
29
  var import_useMenuIsOpen = require("../../hooks/useMenuIsOpen");
28
30
  var import_useTranslation = require("../../hooks/useTranslation/useTranslation");
29
31
  var import_PeopleMenuAvatar = require("./PeopleMenuAvatar");
@@ -38,10 +40,12 @@ function PeopleMenu({ children }) {
38
40
  const userColor = (0, import_editor.useValue)("user", () => editor.user.getColor(), [editor]);
39
41
  const userName = (0, import_editor.useValue)("user", () => editor.user.getName(), [editor]);
40
42
  const [isOpen, onOpenChange] = (0, import_useMenuIsOpen.useMenuIsOpen)("people menu");
43
+ const breakpoint = (0, import_breakpoints.useBreakpoint)();
44
+ const maxAvatars = breakpoint <= import_constants.PORTRAIT_BREAKPOINT.MOBILE_XS ? 1 : 5;
41
45
  if (!userIds.length) return null;
42
46
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_radix_ui.Popover.Root, { onOpenChange, open: isOpen, children: [
43
47
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_radix_ui.Popover.Trigger, { dir: "ltr", asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { className: "tlui-people-menu__avatars-button", title: msg("people-menu.title"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "tlui-people-menu__avatars", children: [
44
- userIds.slice(-5).map((userId) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_PeopleMenuAvatar.PeopleMenuAvatar, { userId }, userId)),
48
+ userIds.slice(-maxAvatars).map((userId) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_PeopleMenuAvatar.PeopleMenuAvatar, { userId }, userId)),
45
49
  userIds.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
46
50
  "div",
47
51
  {
@@ -52,7 +56,7 @@ function PeopleMenu({ children }) {
52
56
  children: userName?.[0] ?? ""
53
57
  }
54
58
  ),
55
- userIds.length > 5 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_PeopleMenuMore.PeopleMenuMore, { count: userIds.length - 5 })
59
+ userIds.length > maxAvatars && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_PeopleMenuMore.PeopleMenuMore, { count: userIds.length - maxAvatars })
56
60
  ] }) }) }),
57
61
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_radix_ui.Popover.Portal, { container, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
58
62
  import_radix_ui.Popover.Content,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/lib/ui/components/SharePanel/PeopleMenu.tsx"],
4
- "sourcesContent": ["import { useContainer, useEditor, usePeerIds, useValue } from '@tldraw/editor'\nimport { Popover as _Popover } from 'radix-ui'\nimport { ReactNode } from 'react'\nimport { useMenuIsOpen } from '../../hooks/useMenuIsOpen'\nimport { useTranslation } from '../../hooks/useTranslation/useTranslation'\nimport { PeopleMenuAvatar } from './PeopleMenuAvatar'\nimport { PeopleMenuItem } from './PeopleMenuItem'\nimport { PeopleMenuMore } from './PeopleMenuMore'\nimport { UserPresenceEditor } from './UserPresenceEditor'\n\n/** @public */\nexport interface PeopleMenuProps {\n\tchildren?: ReactNode\n}\n\n/** @public @react */\nexport function PeopleMenu({ children }: PeopleMenuProps) {\n\tconst msg = useTranslation()\n\n\tconst container = useContainer()\n\tconst editor = useEditor()\n\n\tconst userIds = usePeerIds()\n\tconst userColor = useValue('user', () => editor.user.getColor(), [editor])\n\tconst userName = useValue('user', () => editor.user.getName(), [editor])\n\n\tconst [isOpen, onOpenChange] = useMenuIsOpen('people menu')\n\n\tif (!userIds.length) return null\n\n\treturn (\n\t\t<_Popover.Root onOpenChange={onOpenChange} open={isOpen}>\n\t\t\t<_Popover.Trigger dir=\"ltr\" asChild>\n\t\t\t\t<button className=\"tlui-people-menu__avatars-button\" title={msg('people-menu.title')}>\n\t\t\t\t\t<div className=\"tlui-people-menu__avatars\">\n\t\t\t\t\t\t{userIds.slice(-5).map((userId) => (\n\t\t\t\t\t\t\t<PeopleMenuAvatar key={userId} userId={userId} />\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t{userIds.length > 0 && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"tlui-people-menu__avatar\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tbackgroundColor: userColor,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{userName?.[0] ?? ''}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{userIds.length > 5 && <PeopleMenuMore count={userIds.length - 5} />}\n\t\t\t\t\t</div>\n\t\t\t\t</button>\n\t\t\t</_Popover.Trigger>\n\t\t\t<_Popover.Portal container={container}>\n\t\t\t\t<_Popover.Content\n\t\t\t\t\tdir=\"ltr\"\n\t\t\t\t\tclassName=\"tlui-menu\"\n\t\t\t\t\tside=\"bottom\"\n\t\t\t\t\tsideOffset={2}\n\t\t\t\t\tcollisionPadding={4}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"tlui-people-menu__wrapper\">\n\t\t\t\t\t\t<div className=\"tlui-people-menu__section\">\n\t\t\t\t\t\t\t<UserPresenceEditor />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{userIds.length > 0 && (\n\t\t\t\t\t\t\t<div className=\"tlui-people-menu__section\">\n\t\t\t\t\t\t\t\t{userIds.map((userId) => {\n\t\t\t\t\t\t\t\t\treturn <PeopleMenuItem key={userId + '_presence'} userId={userId} />\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</_Popover.Content>\n\t\t\t</_Popover.Portal>\n\t\t</_Popover.Root>\n\t)\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCK;AAlCL,oBAA8D;AAC9D,sBAAoC;AAEpC,2BAA8B;AAC9B,4BAA+B;AAC/B,8BAAiC;AACjC,4BAA+B;AAC/B,4BAA+B;AAC/B,gCAAmC;AAQ5B,SAAS,WAAW,EAAE,SAAS,GAAoB;AACzD,QAAM,UAAM,sCAAe;AAE3B,QAAM,gBAAY,4BAAa;AAC/B,QAAM,aAAS,yBAAU;AAEzB,QAAM,cAAU,0BAAW;AAC3B,QAAM,gBAAY,wBAAS,QAAQ,MAAM,OAAO,KAAK,SAAS,GAAG,CAAC,MAAM,CAAC;AACzE,QAAM,eAAW,wBAAS,QAAQ,MAAM,OAAO,KAAK,QAAQ,GAAG,CAAC,MAAM,CAAC;AAEvE,QAAM,CAAC,QAAQ,YAAY,QAAI,oCAAc,aAAa;AAE1D,MAAI,CAAC,QAAQ,OAAQ,QAAO;AAE5B,SACC,6CAAC,gBAAAA,QAAS,MAAT,EAAc,cAA4B,MAAM,QAChD;AAAA,gDAAC,gBAAAA,QAAS,SAAT,EAAiB,KAAI,OAAM,SAAO,MAClC,sDAAC,YAAO,WAAU,oCAAmC,OAAO,IAAI,mBAAmB,GAClF,uDAAC,SAAI,WAAU,6BACb;AAAA,cAAQ,MAAM,EAAE,EAAE,IAAI,CAAC,WACvB,4CAAC,4CAA8B,UAAR,MAAwB,CAC/C;AAAA,MACA,QAAQ,SAAS,KACjB;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAO;AAAA,YACN,iBAAiB;AAAA,UAClB;AAAA,UAEC,qBAAW,CAAC,KAAK;AAAA;AAAA,MACnB;AAAA,MAEA,QAAQ,SAAS,KAAK,4CAAC,wCAAe,OAAO,QAAQ,SAAS,GAAG;AAAA,OACnE,GACD,GACD;AAAA,IACA,4CAAC,gBAAAA,QAAS,QAAT,EAAgB,WAChB;AAAA,MAAC,gBAAAA,QAAS;AAAA,MAAT;AAAA,QACA,KAAI;AAAA,QACJ,WAAU;AAAA,QACV,MAAK;AAAA,QACL,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAElB,uDAAC,SAAI,WAAU,6BACd;AAAA,sDAAC,SAAI,WAAU,6BACd,sDAAC,gDAAmB,GACrB;AAAA,UACC,QAAQ,SAAS,KACjB,4CAAC,SAAI,WAAU,6BACb,kBAAQ,IAAI,CAAC,WAAW;AACxB,mBAAO,4CAAC,wCAA0C,UAAtB,SAAS,WAA6B;AAAA,UACnE,CAAC,GACF;AAAA,UAEA;AAAA,WACF;AAAA;AAAA,IACD,GACD;AAAA,KACD;AAEF;",
4
+ "sourcesContent": ["import { useContainer, useEditor, usePeerIds, useValue } from '@tldraw/editor'\nimport { Popover as _Popover } from 'radix-ui'\nimport { ReactNode } from 'react'\nimport { PORTRAIT_BREAKPOINT } from '../../constants'\nimport { useBreakpoint } from '../../context/breakpoints'\nimport { useMenuIsOpen } from '../../hooks/useMenuIsOpen'\nimport { useTranslation } from '../../hooks/useTranslation/useTranslation'\nimport { PeopleMenuAvatar } from './PeopleMenuAvatar'\nimport { PeopleMenuItem } from './PeopleMenuItem'\nimport { PeopleMenuMore } from './PeopleMenuMore'\nimport { UserPresenceEditor } from './UserPresenceEditor'\n\n/** @public */\nexport interface PeopleMenuProps {\n\tchildren?: ReactNode\n}\n\n/** @public @react */\nexport function PeopleMenu({ children }: PeopleMenuProps) {\n\tconst msg = useTranslation()\n\n\tconst container = useContainer()\n\tconst editor = useEditor()\n\n\tconst userIds = usePeerIds()\n\tconst userColor = useValue('user', () => editor.user.getColor(), [editor])\n\tconst userName = useValue('user', () => editor.user.getName(), [editor])\n\n\tconst [isOpen, onOpenChange] = useMenuIsOpen('people menu')\n\tconst breakpoint = useBreakpoint()\n\tconst maxAvatars = breakpoint <= PORTRAIT_BREAKPOINT.MOBILE_XS ? 1 : 5\n\n\tif (!userIds.length) return null\n\n\treturn (\n\t\t<_Popover.Root onOpenChange={onOpenChange} open={isOpen}>\n\t\t\t<_Popover.Trigger dir=\"ltr\" asChild>\n\t\t\t\t<button className=\"tlui-people-menu__avatars-button\" title={msg('people-menu.title')}>\n\t\t\t\t\t<div className=\"tlui-people-menu__avatars\">\n\t\t\t\t\t\t{userIds.slice(-maxAvatars).map((userId) => (\n\t\t\t\t\t\t\t<PeopleMenuAvatar key={userId} userId={userId} />\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t{userIds.length > 0 && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"tlui-people-menu__avatar\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tbackgroundColor: userColor,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{userName?.[0] ?? ''}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{userIds.length > maxAvatars && <PeopleMenuMore count={userIds.length - maxAvatars} />}\n\t\t\t\t\t</div>\n\t\t\t\t</button>\n\t\t\t</_Popover.Trigger>\n\t\t\t<_Popover.Portal container={container}>\n\t\t\t\t<_Popover.Content\n\t\t\t\t\tdir=\"ltr\"\n\t\t\t\t\tclassName=\"tlui-menu\"\n\t\t\t\t\tside=\"bottom\"\n\t\t\t\t\tsideOffset={2}\n\t\t\t\t\tcollisionPadding={4}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"tlui-people-menu__wrapper\">\n\t\t\t\t\t\t<div className=\"tlui-people-menu__section\">\n\t\t\t\t\t\t\t<UserPresenceEditor />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{userIds.length > 0 && (\n\t\t\t\t\t\t\t<div className=\"tlui-people-menu__section\">\n\t\t\t\t\t\t\t\t{userIds.map((userId) => {\n\t\t\t\t\t\t\t\t\treturn <PeopleMenuItem key={userId + '_presence'} userId={userId} />\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</_Popover.Content>\n\t\t\t</_Popover.Portal>\n\t\t</_Popover.Root>\n\t)\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAsCK;AAtCL,oBAA8D;AAC9D,sBAAoC;AAEpC,uBAAoC;AACpC,yBAA8B;AAC9B,2BAA8B;AAC9B,4BAA+B;AAC/B,8BAAiC;AACjC,4BAA+B;AAC/B,4BAA+B;AAC/B,gCAAmC;AAQ5B,SAAS,WAAW,EAAE,SAAS,GAAoB;AACzD,QAAM,UAAM,sCAAe;AAE3B,QAAM,gBAAY,4BAAa;AAC/B,QAAM,aAAS,yBAAU;AAEzB,QAAM,cAAU,0BAAW;AAC3B,QAAM,gBAAY,wBAAS,QAAQ,MAAM,OAAO,KAAK,SAAS,GAAG,CAAC,MAAM,CAAC;AACzE,QAAM,eAAW,wBAAS,QAAQ,MAAM,OAAO,KAAK,QAAQ,GAAG,CAAC,MAAM,CAAC;AAEvE,QAAM,CAAC,QAAQ,YAAY,QAAI,oCAAc,aAAa;AAC1D,QAAM,iBAAa,kCAAc;AACjC,QAAM,aAAa,cAAc,qCAAoB,YAAY,IAAI;AAErE,MAAI,CAAC,QAAQ,OAAQ,QAAO;AAE5B,SACC,6CAAC,gBAAAA,QAAS,MAAT,EAAc,cAA4B,MAAM,QAChD;AAAA,gDAAC,gBAAAA,QAAS,SAAT,EAAiB,KAAI,OAAM,SAAO,MAClC,sDAAC,YAAO,WAAU,oCAAmC,OAAO,IAAI,mBAAmB,GAClF,uDAAC,SAAI,WAAU,6BACb;AAAA,cAAQ,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,WAChC,4CAAC,4CAA8B,UAAR,MAAwB,CAC/C;AAAA,MACA,QAAQ,SAAS,KACjB;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAO;AAAA,YACN,iBAAiB;AAAA,UAClB;AAAA,UAEC,qBAAW,CAAC,KAAK;AAAA;AAAA,MACnB;AAAA,MAEA,QAAQ,SAAS,cAAc,4CAAC,wCAAe,OAAO,QAAQ,SAAS,YAAY;AAAA,OACrF,GACD,GACD;AAAA,IACA,4CAAC,gBAAAA,QAAS,QAAT,EAAgB,WAChB;AAAA,MAAC,gBAAAA,QAAS;AAAA,MAAT;AAAA,QACA,KAAI;AAAA,QACJ,WAAU;AAAA,QACV,MAAK;AAAA,QACL,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAElB,uDAAC,SAAI,WAAU,6BACd;AAAA,sDAAC,SAAI,WAAU,6BACd,sDAAC,gDAAmB,GACrB;AAAA,UACC,QAAQ,SAAS,KACjB,4CAAC,SAAI,WAAU,6BACb,kBAAQ,IAAI,CAAC,WAAW;AACxB,mBAAO,4CAAC,wCAA0C,UAAtB,SAAS,WAA6B;AAAA,UACnE,CAAC,GACF;AAAA,UAEA;AAAA,WACF;AAAA;AAAA,IACD,GACD;AAAA,KACD;AAEF;",
6
6
  "names": ["_Popover"]
7
7
  }
@@ -34,7 +34,7 @@ module.exports = __toCommonJS(UserPresenceColorPicker_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var import_editor = require("@tldraw/editor");
36
36
  var import_radix_ui = require("radix-ui");
37
- var import_react = __toESM(require("react"));
37
+ var import_react = __toESM(require("react"), 1);
38
38
  var import_events = require("../../context/events");
39
39
  var import_useTranslation = require("../../hooks/useTranslation/useTranslation");
40
40
  var import_TldrawUiButton = require("../primitives/Button/TldrawUiButton");
@@ -33,7 +33,7 @@ __export(DefaultStylePanel_exports, {
33
33
  module.exports = __toCommonJS(DefaultStylePanel_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var import_editor = require("@tldraw/editor");
36
- var import_classnames = __toESM(require("classnames"));
36
+ var import_classnames = __toESM(require("classnames"), 1);
37
37
  var import_react = require("react");
38
38
  var import_useRelevantStyles = require("../../hooks/useRelevantStyles");
39
39
  var import_DefaultStylePanelContent = require("./DefaultStylePanelContent");
@@ -46,7 +46,7 @@ __export(DefaultStylePanelContent_exports, {
46
46
  module.exports = __toCommonJS(DefaultStylePanelContent_exports);
47
47
  var import_jsx_runtime = require("react/jsx-runtime");
48
48
  var import_editor = require("@tldraw/editor");
49
- var import_react = __toESM(require("react"));
49
+ var import_react = __toESM(require("react"), 1);
50
50
  var import_styles = require("../../../styles");
51
51
  var import_events = require("../../context/events");
52
52
  var import_useTranslation = require("../../hooks/useTranslation/useTranslation");
@@ -33,7 +33,7 @@ __export(StylePanelDoubleDropdownPicker_exports, {
33
33
  module.exports = __toCommonJS(StylePanelDoubleDropdownPicker_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var import_editor = require("@tldraw/editor");
36
- var React = __toESM(require("react"));
36
+ var React = __toESM(require("react"), 1);
37
37
  var import_useTranslation = require("../../hooks/useTranslation/useTranslation");
38
38
  var import_TldrawUiButtonIcon = require("../primitives/Button/TldrawUiButtonIcon");
39
39
  var import_TldrawUiPopover = require("../primitives/TldrawUiPopover");
@@ -33,7 +33,7 @@ __export(StylePanelDropdownPicker_exports, {
33
33
  module.exports = __toCommonJS(StylePanelDropdownPicker_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var import_editor = require("@tldraw/editor");
36
- var React = __toESM(require("react"));
36
+ var React = __toESM(require("react"), 1);
37
37
  var import_useTranslation = require("../../hooks/useTranslation/useTranslation");
38
38
  var import_TldrawUiButtonIcon = require("../primitives/Button/TldrawUiButtonIcon");
39
39
  var import_TldrawUiButtonLabel = require("../primitives/Button/TldrawUiButtonLabel");
@@ -33,7 +33,7 @@ __export(DefaultToolbar_exports, {
33
33
  module.exports = __toCommonJS(DefaultToolbar_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var import_editor = require("@tldraw/editor");
36
- var import_classnames = __toESM(require("classnames"));
36
+ var import_classnames = __toESM(require("classnames"), 1);
37
37
  var import_react = require("react");
38
38
  var import_constants = require("../../constants");
39
39
  var import_breakpoints = require("../../context/breakpoints");
@@ -35,7 +35,7 @@ __export(OverflowingToolbar_exports, {
35
35
  module.exports = __toCommonJS(OverflowingToolbar_exports);
36
36
  var import_jsx_runtime = require("react/jsx-runtime");
37
37
  var import_editor = require("@tldraw/editor");
38
- var import_classnames = __toESM(require("classnames"));
38
+ var import_classnames = __toESM(require("classnames"), 1);
39
39
  var import_react = require("react");
40
40
  var import_constants = require("../../constants");
41
41
  var import_breakpoints = require("../../context/breakpoints");
@@ -33,7 +33,7 @@ __export(ToggleToolLockedButton_exports, {
33
33
  module.exports = __toCommonJS(ToggleToolLockedButton_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var import_editor = require("@tldraw/editor");
36
- var import_classnames = __toESM(require("classnames"));
36
+ var import_classnames = __toESM(require("classnames"), 1);
37
37
  var import_constants = require("../../constants");
38
38
  var import_actions = require("../../context/actions");
39
39
  var import_breakpoints = require("../../context/breakpoints");
@@ -32,8 +32,8 @@ __export(TldrawUiButton_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(TldrawUiButton_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_classnames = __toESM(require("classnames"));
36
- var React = __toESM(require("react"));
35
+ var import_classnames = __toESM(require("classnames"), 1);
36
+ var React = __toESM(require("react"), 1);
37
37
  const namedClassNamesSoThatICanGrepForThis = {
38
38
  normal: "tlui-button__normal",
39
39
  primary: "tlui-button__primary",
@@ -36,7 +36,7 @@ __export(TldrawUiContextualToolbar_exports, {
36
36
  module.exports = __toCommonJS(TldrawUiContextualToolbar_exports);
37
37
  var import_jsx_runtime = require("react/jsx-runtime");
38
38
  var import_editor = require("@tldraw/editor");
39
- var import_classnames = __toESM(require("classnames"));
39
+ var import_classnames = __toESM(require("classnames"), 1);
40
40
  var import_react = require("react");
41
41
  var import_react_dom = require("react-dom");
42
42
  var import_TldrawUiToolbar = require("./TldrawUiToolbar");
@@ -36,7 +36,7 @@ __export(TldrawUiDialog_exports, {
36
36
  });
37
37
  module.exports = __toCommonJS(TldrawUiDialog_exports);
38
38
  var import_jsx_runtime = require("react/jsx-runtime");
39
- var import_classnames = __toESM(require("classnames"));
39
+ var import_classnames = __toESM(require("classnames"), 1);
40
40
  var import_radix_ui = require("radix-ui");
41
41
  var import_useTranslation = require("../../hooks/useTranslation/useTranslation");
42
42
  var import_TldrawUiButton = require("./Button/TldrawUiButton");
@@ -42,7 +42,7 @@ __export(TldrawUiDropdownMenu_exports, {
42
42
  module.exports = __toCommonJS(TldrawUiDropdownMenu_exports);
43
43
  var import_jsx_runtime = require("react/jsx-runtime");
44
44
  var import_editor = require("@tldraw/editor");
45
- var import_classnames = __toESM(require("classnames"));
45
+ var import_classnames = __toESM(require("classnames"), 1);
46
46
  var import_radix_ui = require("radix-ui");
47
47
  var import_useMenuIsOpen = require("../../hooks/useMenuIsOpen");
48
48
  var import_useTranslation = require("../../hooks/useTranslation/useTranslation");
@@ -32,7 +32,7 @@ __export(TldrawUiIcon_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(TldrawUiIcon_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_classnames = __toESM(require("classnames"));
35
+ var import_classnames = __toESM(require("classnames"), 1);
36
36
  var import_react = require("react");
37
37
  var import_asset_urls = require("../../context/asset-urls");
38
38
  const TldrawUiIcon = (0, import_react.memo)(function TldrawUiIcon2({
@@ -33,8 +33,8 @@ __export(TldrawUiInput_exports, {
33
33
  module.exports = __toCommonJS(TldrawUiInput_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var import_editor = require("@tldraw/editor");
36
- var import_classnames = __toESM(require("classnames"));
37
- var React = __toESM(require("react"));
36
+ var import_classnames = __toESM(require("classnames"), 1);
37
+ var React = __toESM(require("react"), 1);
38
38
  var import_useTranslation = require("../../hooks/useTranslation/useTranslation");
39
39
  var import_TldrawUiIcon = require("./TldrawUiIcon");
40
40
  const TldrawUiInput = React.forwardRef(
@@ -35,9 +35,9 @@ __export(TldrawUiPopover_exports, {
35
35
  module.exports = __toCommonJS(TldrawUiPopover_exports);
36
36
  var import_jsx_runtime = require("react/jsx-runtime");
37
37
  var import_editor = require("@tldraw/editor");
38
- var import_classnames = __toESM(require("classnames"));
38
+ var import_classnames = __toESM(require("classnames"), 1);
39
39
  var import_radix_ui = require("radix-ui");
40
- var import_react = __toESM(require("react"));
40
+ var import_react = __toESM(require("react"), 1);
41
41
  var import_useMenuIsOpen = require("../../hooks/useMenuIsOpen");
42
42
  function TldrawUiPopover({ id, children, onOpenChange, open, className }) {
43
43
  const [isOpen, handleOpenChange] = (0, import_useMenuIsOpen.useMenuIsOpen)(id, onOpenChange);
@@ -34,7 +34,7 @@ module.exports = __toCommonJS(TldrawUiSlider_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
35
  var import_editor = require("@tldraw/editor");
36
36
  var import_radix_ui = require("radix-ui");
37
- var import_react = __toESM(require("react"));
37
+ var import_react = __toESM(require("react"), 1);
38
38
  var import_useTranslation = require("../../hooks/useTranslation/useTranslation");
39
39
  var import_TldrawUiTooltip = require("./TldrawUiTooltip");
40
40
  const TldrawUiSlider = import_react.default.forwardRef(function Slider({
@@ -35,9 +35,9 @@ __export(TldrawUiToolbar_exports, {
35
35
  });
36
36
  module.exports = __toCommonJS(TldrawUiToolbar_exports);
37
37
  var import_jsx_runtime = require("react/jsx-runtime");
38
- var import_classnames = __toESM(require("classnames"));
38
+ var import_classnames = __toESM(require("classnames"), 1);
39
39
  var import_radix_ui = require("radix-ui");
40
- var import_react = __toESM(require("react"));
40
+ var import_react = __toESM(require("react"), 1);
41
41
  var import_layout = require("./layout");
42
42
  var import_TldrawUiTooltip = require("./TldrawUiTooltip");
43
43
  const LayoutByOrientation = {
@@ -36,7 +36,7 @@ module.exports = __toCommonJS(TldrawUiTooltip_exports);
36
36
  var import_jsx_runtime = require("react/jsx-runtime");
37
37
  var import_editor = require("@tldraw/editor");
38
38
  var import_radix_ui = require("radix-ui");
39
- var import_react = __toESM(require("react"));
39
+ var import_react = __toESM(require("react"), 1);
40
40
  var import_layout = require("./layout");
41
41
  const DEFAULT_TOOLTIP_DELAY_MS = 700;
42
42
  class TooltipManager {
@@ -36,7 +36,7 @@ __export(layout_exports, {
36
36
  });
37
37
  module.exports = __toCommonJS(layout_exports);
38
38
  var import_jsx_runtime = require("react/jsx-runtime");
39
- var import_classnames = __toESM(require("classnames"));
39
+ var import_classnames = __toESM(require("classnames"), 1);
40
40
  var import_radix_ui = require("radix-ui");
41
41
  var import_react = require("react");
42
42
  const TldrawUiOrientationContext = (0, import_react.createContext)({
@@ -32,7 +32,7 @@ __export(TldrawUiMenuGroup_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(TldrawUiMenuGroup_exports);
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_classnames = __toESM(require("classnames"));
35
+ var import_classnames = __toESM(require("classnames"), 1);
36
36
  var import_actions = require("../../../context/actions");
37
37
  var import_useTranslation = require("../../../hooks/useTranslation/useTranslation");
38
38
  var import_layout = require("../layout");
@@ -37,7 +37,7 @@ __export(actions_exports, {
37
37
  module.exports = __toCommonJS(actions_exports);
38
38
  var import_jsx_runtime = require("react/jsx-runtime");
39
39
  var import_editor = require("@tldraw/editor");
40
- var React = __toESM(require("react"));
40
+ var React = __toESM(require("react"), 1);
41
41
  var import_frames = require("../../utils/frames/frames");
42
42
  var import_A11y = require("../components/A11y");
43
43
  var import_EditLinkDialog = require("../components/EditLinkDialog");
@@ -34,7 +34,7 @@ __export(breakpoints_exports, {
34
34
  module.exports = __toCommonJS(breakpoints_exports);
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_editor = require("@tldraw/editor");
37
- var import_react = __toESM(require("react"));
37
+ var import_react = __toESM(require("react"), 1);
38
38
  var import_constants = require("../constants");
39
39
  const BreakpointContext = import_react.default.createContext(null);
40
40
  function BreakPointProvider({ forceMobile = false, children }) {
@@ -34,7 +34,7 @@ __export(events_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(events_exports);
36
36
  var import_jsx_runtime = require("react/jsx-runtime");
37
- var React = __toESM(require("react"));
37
+ var React = __toESM(require("react"), 1);
38
38
  const defaultEventHandler = () => void 0;
39
39
  const EventsContext = React.createContext(null);
40
40
  function TldrawUiEventsProvider({ onEvent, children }) {
@@ -34,7 +34,7 @@ __export(useClipboardEvents_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(useClipboardEvents_exports);
36
36
  var import_editor = require("@tldraw/editor");
37
- var import_lz_string = __toESM(require("lz-string"));
37
+ var import_lz_string = __toESM(require("lz-string"), 1);
38
38
  var import_react = require("react");
39
39
  var import_clipboard = require("../../utils/clipboard");
40
40
  var import_events = require("../context/events");
@@ -33,7 +33,7 @@ __export(useKeyboardShortcuts_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(useKeyboardShortcuts_exports);
35
35
  var import_editor = require("@tldraw/editor");
36
- var import_hotkeys_js = __toESM(require("hotkeys-js"));
36
+ var import_hotkeys_js = __toESM(require("hotkeys-js"), 1);
37
37
  var import_react = require("react");
38
38
  var import_actions = require("../context/actions");
39
39
  var import_useReadonly = require("./useReadonly");
@@ -32,7 +32,7 @@ __export(useLocalStorageState_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(useLocalStorageState_exports);
34
34
  var import_editor = require("@tldraw/editor");
35
- var import_react = __toESM(require("react"));
35
+ var import_react = __toESM(require("react"), 1);
36
36
  function useLocalStorageState(key, defaultValue) {
37
37
  const [state, setState] = import_react.default.useState(defaultValue);
38
38
  import_react.default.useLayoutEffect(() => {
@@ -36,7 +36,7 @@ __export(useTools_exports, {
36
36
  module.exports = __toCommonJS(useTools_exports);
37
37
  var import_jsx_runtime = require("react/jsx-runtime");
38
38
  var import_editor = require("@tldraw/editor");
39
- var React = __toESM(require("react"));
39
+ var React = __toESM(require("react"), 1);
40
40
  var import_EmbedDialog = require("../components/EmbedDialog");
41
41
  var import_a11y = require("../context/a11y");
42
42
  var import_events = require("../context/events");
@@ -35,7 +35,7 @@ __export(useTranslation_exports, {
35
35
  });
36
36
  module.exports = __toCommonJS(useTranslation_exports);
37
37
  var import_jsx_runtime = require("react/jsx-runtime");
38
- var React = __toESM(require("react"));
38
+ var React = __toESM(require("react"), 1);
39
39
  var import_asset_urls = require("../../context/asset-urls");
40
40
  var import_defaultTranslation = require("./defaultTranslation");
41
41
  var import_translations = require("./translations");
@@ -22,10 +22,10 @@ __export(version_exports, {
22
22
  version: () => version
23
23
  });
24
24
  module.exports = __toCommonJS(version_exports);
25
- const version = "4.1.0-next.1b89b40eff1c";
25
+ const version = "4.1.0-next.2c81540f049b";
26
26
  const publishDates = {
27
- major: "2025-09-19T17:03:17.287Z",
28
- minor: "2025-09-19T17:03:17.287Z",
29
- patch: "2025-09-19T17:03:17.287Z"
27
+ major: "2025-09-18T14:39:22.803Z",
28
+ minor: "2025-10-15T10:06:47.170Z",
29
+ patch: "2025-10-15T10:06:47.170Z"
30
30
  };
31
31
  //# sourceMappingURL=version.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/lib/ui/version.ts"],
4
- "sourcesContent": ["// This file is automatically generated by internal/scripts/refresh-assets.ts.\n// Do not edit manually. Or do, I'm a comment, not a cop.\n\nexport const version = '4.1.0-next.1b89b40eff1c'\nexport const publishDates = {\n\tmajor: '2025-09-19T17:03:17.287Z',\n\tminor: '2025-09-19T17:03:17.287Z',\n\tpatch: '2025-09-19T17:03:17.287Z',\n}\n"],
4
+ "sourcesContent": ["// This file is automatically generated by internal/scripts/refresh-assets.ts.\n// Do not edit manually. Or do, I'm a comment, not a cop.\n\nexport const version = '4.1.0-next.2c81540f049b'\nexport const publishDates = {\n\tmajor: '2025-09-18T14:39:22.803Z',\n\tminor: '2025-10-15T10:06:47.170Z',\n\tpatch: '2025-10-15T10:06:47.170Z',\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,UAAU;AAChB,MAAM,eAAe;AAAA,EAC3B,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AACR;",
6
6
  "names": []
7
7
  }
@@ -39,10 +39,10 @@ __export(richText_exports, {
39
39
  });
40
40
  module.exports = __toCommonJS(richText_exports);
41
41
  var import_core = require("@tiptap/core");
42
- var import_extension_code = __toESM(require("@tiptap/extension-code"));
43
- var import_extension_highlight = __toESM(require("@tiptap/extension-highlight"));
44
- var import_extension_link = __toESM(require("@tiptap/extension-link"));
45
- var import_starter_kit = __toESM(require("@tiptap/starter-kit"));
42
+ var import_extension_code = __toESM(require("@tiptap/extension-code"), 1);
43
+ var import_extension_highlight = __toESM(require("@tiptap/extension-highlight"), 1);
44
+ var import_extension_link = __toESM(require("@tiptap/extension-link"), 1);
45
+ var import_starter_kit = __toESM(require("@tiptap/starter-kit"), 1);
46
46
  var import_editor = require("@tldraw/editor");
47
47
  var import_defaultFonts = require("../../shapes/shared/defaultFonts");
48
48
  var import_textDirection = require("./textDirection");
@@ -312,6 +312,7 @@ export declare class ArrowShapeUtil extends ShapeUtil<TLArrowShape> {
312
312
  hideRotateHandle(): boolean;
313
313
  hideSelectionBoundsBg(): boolean;
314
314
  hideSelectionBoundsFg(): boolean;
315
+ hideInMinimap(): boolean;
315
316
  canBeLaidOut(shape: TLArrowShape, info: TLShapeUtilCanBeLaidOutOpts): boolean;
316
317
  getFontFaces(shape: TLArrowShape): TLFontFace[];
317
318
  getDefaultProps(): TLArrowShape['props'];
@@ -636,6 +637,7 @@ export declare function DebugFlags(): JSX_2.Element | null;
636
637
  /** @public */
637
638
  export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
638
639
  readonly doesResize: true;
640
+ readonly embedOnPaste: false;
639
641
  readonly fromEmbedUrl: (url: string) => string | undefined;
640
642
  readonly height: 500;
641
643
  readonly hostnames: readonly ["beta.tldraw.com", "tldraw.com", "localhost:3000"];
@@ -650,6 +652,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
650
652
  readonly width: 720;
651
653
  }, {
652
654
  readonly doesResize: true;
655
+ readonly embedOnPaste: true;
653
656
  readonly fromEmbedUrl: (url: string) => string | undefined;
654
657
  readonly height: 500;
655
658
  readonly hostnames: readonly ["figma.com"];
@@ -659,6 +662,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
659
662
  readonly width: 720;
660
663
  }, {
661
664
  readonly doesResize: true;
665
+ readonly embedOnPaste: true;
662
666
  readonly fromEmbedUrl: (url: string) => string | undefined;
663
667
  readonly height: 500;
664
668
  readonly hostnames: readonly ["google.*"];
@@ -671,6 +675,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
671
675
  readonly width: 720;
672
676
  }, {
673
677
  readonly doesResize: true;
678
+ readonly embedOnPaste: true;
674
679
  readonly fromEmbedUrl: (url: string) => string | undefined;
675
680
  readonly height: 500;
676
681
  readonly hostnames: readonly ["val.town"];
@@ -682,6 +687,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
682
687
  readonly width: 720;
683
688
  }, {
684
689
  readonly doesResize: true;
690
+ readonly embedOnPaste: true;
685
691
  readonly fromEmbedUrl: (url: string) => string | undefined;
686
692
  readonly height: 500;
687
693
  readonly hostnames: readonly ["codesandbox.io"];
@@ -693,6 +699,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
693
699
  readonly width: 720;
694
700
  }, {
695
701
  readonly doesResize: true;
702
+ readonly embedOnPaste: true;
696
703
  readonly fromEmbedUrl: (url: string) => string | undefined;
697
704
  readonly height: 400;
698
705
  readonly hostnames: readonly ["codepen.io"];
@@ -704,6 +711,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
704
711
  readonly width: 520;
705
712
  }, {
706
713
  readonly doesResize: false;
714
+ readonly embedOnPaste: true;
707
715
  readonly fromEmbedUrl: (url: string) => string | undefined;
708
716
  readonly height: 400;
709
717
  readonly hostnames: readonly ["scratch.mit.edu"];
@@ -713,6 +721,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
713
721
  readonly width: 520;
714
722
  }, {
715
723
  readonly doesResize: true;
724
+ readonly embedOnPaste: true;
716
725
  readonly fromEmbedUrl: (url: string) => string | undefined;
717
726
  readonly height: 450;
718
727
  readonly hostnames: readonly ["*.youtube.com", "youtube.com", "youtu.be"];
@@ -727,6 +736,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
727
736
  readonly width: 800;
728
737
  }, {
729
738
  readonly doesResize: true;
739
+ readonly embedOnPaste: true;
730
740
  readonly fromEmbedUrl: (url: string) => string | undefined;
731
741
  readonly height: 500;
732
742
  readonly hostnames: readonly ["calendar.google.*"];
@@ -742,6 +752,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
742
752
  readonly width: 720;
743
753
  }, {
744
754
  readonly doesResize: true;
755
+ readonly embedOnPaste: true;
745
756
  readonly fromEmbedUrl: (url: string) => string | undefined;
746
757
  readonly height: 500;
747
758
  readonly hostnames: readonly ["docs.google.*"];
@@ -756,6 +767,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
756
767
  readonly width: 720;
757
768
  }, {
758
769
  readonly doesResize: true;
770
+ readonly embedOnPaste: true;
759
771
  readonly fromEmbedUrl: (url: string) => string | undefined;
760
772
  readonly height: 500;
761
773
  readonly hostnames: readonly ["gist.github.com"];
@@ -765,6 +777,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
765
777
  readonly width: 720;
766
778
  }, {
767
779
  readonly doesResize: true;
780
+ readonly embedOnPaste: true;
768
781
  readonly fromEmbedUrl: (url: string) => string | undefined;
769
782
  readonly height: 500;
770
783
  readonly hostnames: readonly ["replit.com"];
@@ -774,6 +787,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
774
787
  readonly width: 720;
775
788
  }, {
776
789
  readonly doesResize: true;
790
+ readonly embedOnPaste: true;
777
791
  readonly fromEmbedUrl: (url: string) => string | undefined;
778
792
  readonly height: 500;
779
793
  readonly hostnames: readonly ["felt.com"];
@@ -783,6 +797,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
783
797
  readonly width: 720;
784
798
  }, {
785
799
  readonly doesResize: true;
800
+ readonly embedOnPaste: true;
786
801
  readonly fromEmbedUrl: (url: string) => string | undefined;
787
802
  readonly height: 500;
788
803
  readonly hostnames: readonly ["open.spotify.com"];
@@ -794,6 +809,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
794
809
  readonly width: 720;
795
810
  }, {
796
811
  readonly doesResize: true;
812
+ readonly embedOnPaste: true;
797
813
  readonly fromEmbedUrl: (url: string) => string | undefined;
798
814
  readonly height: 360;
799
815
  readonly hostnames: readonly ["vimeo.com", "player.vimeo.com"];
@@ -804,6 +820,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
804
820
  readonly width: 640;
805
821
  }, {
806
822
  readonly doesResize: true;
823
+ readonly embedOnPaste: true;
807
824
  readonly fromEmbedUrl: (url: string) => string | undefined;
808
825
  readonly height: 500;
809
826
  readonly hostnames: readonly ["excalidraw.com"];
@@ -815,6 +832,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
815
832
  }, {
816
833
  readonly backgroundColor: "#fff";
817
834
  readonly doesResize: true;
835
+ readonly embedOnPaste: true;
818
836
  readonly fromEmbedUrl: (url: string) => string | undefined;
819
837
  readonly height: 500;
820
838
  readonly hostnames: readonly ["observablehq.com"];
@@ -825,6 +843,7 @@ export declare const DEFAULT_EMBED_DEFINITIONS: readonly [{
825
843
  readonly width: 720;
826
844
  }, {
827
845
  readonly doesResize: true;
846
+ readonly embedOnPaste: true;
828
847
  readonly fromEmbedUrl: (url: string) => string | undefined;
829
848
  readonly height: 450;
830
849
  readonly hostnames: readonly ["desmos.com"];
@@ -1428,6 +1447,7 @@ export declare interface EmbedDefinition {
1428
1447
  readonly overridePermissions?: TLEmbedShapePermissions;
1429
1448
  readonly instructionLink?: string;
1430
1449
  readonly backgroundColor?: string;
1450
+ readonly embedOnPaste?: boolean;
1431
1451
  readonly overrideOutlineRadius?: number;
1432
1452
  readonly toEmbedUrl: (url: string) => string | undefined;
1433
1453
  readonly fromEmbedUrl: (url: string) => string | undefined;
@@ -1969,6 +1989,7 @@ export declare class LineShapeUtil extends ShapeUtil<TLLineShape> {
1969
1989
  hideRotateHandle(): boolean;
1970
1990
  hideSelectionBoundsFg(): boolean;
1971
1991
  hideSelectionBoundsBg(): boolean;
1992
+ hideInMinimap(): boolean;
1972
1993
  getDefaultProps(): TLLineShape['props'];
1973
1994
  getGeometry(shape: TLLineShape): PathBuilderGeometry2d;
1974
1995
  getHandles(shape: TLLineShape): TLHandle[];
@@ -529,7 +529,7 @@ import {
529
529
  } from "./lib/utils/tldr/file.mjs";
530
530
  registerTldrawLibraryVersion(
531
531
  "tldraw",
532
- "4.1.0-next.1b89b40eff1c",
532
+ "4.1.0-next.2c81540f049b",
533
533
  "esm"
534
534
  );
535
535
  export {