@excalidraw/excalidraw 0.18.0-58f7d33 → 0.18.0-5fffc47

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 (198) hide show
  1. package/dist/dev/chunk-CP5DND7P.js +7 -0
  2. package/dist/dev/chunk-CP5DND7P.js.map +7 -0
  3. package/dist/dev/{chunk-X3RYHLJU.js → chunk-PWQMCSHA.js} +26 -8
  4. package/dist/dev/chunk-PWQMCSHA.js.map +7 -0
  5. package/dist/dev/chunk-YMRX7R7U.js +5671 -0
  6. package/dist/dev/chunk-YMRX7R7U.js.map +7 -0
  7. package/dist/dev/data/{image-U2IPNUKJ.js → image-L23D26XS.js} +3 -3
  8. package/dist/dev/index.css +964 -501
  9. package/dist/dev/index.css.map +3 -3
  10. package/dist/dev/index.js +11915 -10771
  11. package/dist/dev/index.js.map +4 -4
  12. package/dist/dev/locales/{en-CKWC2GMK.js → en-V3NQTBPG.js} +2 -2
  13. package/dist/dev/subset-shared.chunk.js +1 -1
  14. package/dist/dev/subset-worker.chunk.js +1 -1
  15. package/dist/prod/chunk-A66AFZZU.js +7 -0
  16. package/dist/prod/chunk-GF46JCB3.js +12 -0
  17. package/dist/prod/chunk-HT4FKTIQ.js +4 -0
  18. package/dist/prod/data/image-NWF7UX55.js +1 -0
  19. package/dist/prod/index.css +1 -1
  20. package/dist/prod/index.js +25 -17
  21. package/dist/prod/locales/{en-SBO6ZHT2.js → en-LQE6K457.js} +1 -1
  22. package/dist/prod/subset-shared.chunk.js +1 -1
  23. package/dist/prod/subset-worker.chunk.js +1 -1
  24. package/dist/types/common/src/constants.d.ts +44 -7
  25. package/dist/types/{excalidraw → common/src}/emitter.d.ts +1 -1
  26. package/dist/types/common/src/font-metadata.d.ts +4 -2
  27. package/dist/types/common/src/index.d.ts +1 -0
  28. package/dist/types/common/src/utility-types.d.ts +5 -0
  29. package/dist/types/common/src/utils.d.ts +20 -4
  30. package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +16 -15
  31. package/dist/types/element/src/align.d.ts +4 -3
  32. package/dist/types/element/src/binding.d.ts +26 -16
  33. package/dist/types/element/src/bounds.d.ts +14 -6
  34. package/dist/types/element/src/collision.d.ts +18 -12
  35. package/dist/types/element/src/cropElement.d.ts +1 -1
  36. package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +77 -40
  37. package/dist/types/element/src/distance.d.ts +2 -2
  38. package/dist/types/element/src/distribute.d.ts +2 -1
  39. package/dist/types/element/src/dragElements.d.ts +3 -2
  40. package/dist/types/element/src/duplicate.d.ts +10 -13
  41. package/dist/types/element/src/elbowArrow.d.ts +1 -1
  42. package/dist/types/element/src/flowchart.d.ts +3 -2
  43. package/dist/types/element/src/fractionalIndex.d.ts +9 -3
  44. package/dist/types/element/src/frame.d.ts +5 -4
  45. package/dist/types/element/src/groups.d.ts +1 -0
  46. package/dist/types/element/src/index.d.ts +44 -2
  47. package/dist/types/element/src/linearElementEditor.d.ts +23 -36
  48. package/dist/types/element/src/mutateElement.d.ts +11 -3
  49. package/dist/types/element/src/newElement.d.ts +4 -3
  50. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  51. package/dist/types/element/src/renderElement.d.ts +4 -1
  52. package/dist/types/element/src/resizeElements.d.ts +5 -4
  53. package/dist/types/element/src/selection.d.ts +11 -5
  54. package/dist/types/element/src/shape.d.ts +42 -0
  55. package/dist/types/element/src/sizeHelpers.d.ts +2 -2
  56. package/dist/types/element/src/store.d.ts +237 -0
  57. package/dist/types/element/src/textElement.d.ts +4 -3
  58. package/dist/types/element/src/typeChecks.d.ts +19 -1
  59. package/dist/types/element/src/types.d.ts +15 -2
  60. package/dist/types/element/src/utils.d.ts +16 -6
  61. package/dist/types/element/src/zindex.d.ts +1 -1
  62. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +57 -54
  63. package/dist/types/excalidraw/actions/actionBoundText.d.ts +38 -36
  64. package/dist/types/excalidraw/actions/actionCanvas.d.ts +256 -242
  65. package/dist/types/excalidraw/actions/actionClipboard.d.ts +114 -106
  66. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +19 -18
  67. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +57 -53
  68. package/dist/types/excalidraw/actions/actionElementLink.d.ts +18 -17
  69. package/dist/types/excalidraw/actions/actionElementLock.d.ts +53 -52
  70. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +19 -18
  71. package/dist/types/excalidraw/actions/actionExport.d.ts +181 -172
  72. package/dist/types/excalidraw/actions/actionFinalize.d.ts +85 -42
  73. package/dist/types/excalidraw/actions/actionFrame.d.ts +123 -119
  74. package/dist/types/excalidraw/actions/actionGroup.d.ts +38 -36
  75. package/dist/types/excalidraw/actions/actionHistory.d.ts +1 -2
  76. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +545 -20
  77. package/dist/types/excalidraw/actions/actionLink.d.ts +18 -17
  78. package/dist/types/excalidraw/actions/actionMenu.d.ts +18 -391
  79. package/dist/types/excalidraw/actions/actionNavigate.d.ts +38 -36
  80. package/dist/types/excalidraw/actions/actionProperties.d.ts +305 -273
  81. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +19 -18
  82. package/dist/types/excalidraw/actions/actionStyles.d.ts +19 -18
  83. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +19 -18
  84. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +19 -18
  85. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +18 -190
  86. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  87. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +19 -18
  88. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +19 -18
  89. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +19 -18
  90. package/dist/types/excalidraw/actions/index.d.ts +2 -2
  91. package/dist/types/excalidraw/actions/types.d.ts +4 -3
  92. package/dist/types/excalidraw/appState.d.ts +23 -10
  93. package/dist/types/excalidraw/clipboard.d.ts +64 -1
  94. package/dist/types/excalidraw/components/Actions.d.ts +17 -7
  95. package/dist/types/excalidraw/components/App.d.ts +35 -22
  96. package/dist/types/excalidraw/components/ButtonIcon.d.ts +1 -0
  97. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -1
  98. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +6 -1
  99. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +1 -1
  100. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +4 -3
  101. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +3 -3
  102. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +3 -2
  103. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  104. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  105. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +1 -1
  106. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  107. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
  108. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +4 -3
  109. package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
  110. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +1 -1
  111. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  112. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  113. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  114. package/dist/types/excalidraw/components/LayerUI.d.ts +2 -1
  115. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  116. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -5
  117. package/dist/types/excalidraw/components/MobileToolBar.d.ts +11 -0
  118. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -0
  119. package/dist/types/excalidraw/components/{ButtonIconSelect.d.ts → RadioSelection.d.ts} +1 -1
  120. package/dist/types/excalidraw/components/Range.d.ts +3 -3
  121. package/dist/types/excalidraw/components/Stats/Angle.d.ts +1 -1
  122. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +1 -1
  123. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +2 -1
  124. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +1 -1
  125. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +12 -2
  126. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +1 -1
  127. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +1 -1
  128. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +1 -1
  129. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +1 -1
  130. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +1 -1
  131. package/dist/types/excalidraw/components/Stats/Position.d.ts +1 -1
  132. package/dist/types/excalidraw/components/Stats/utils.d.ts +4 -11
  133. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -2
  134. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  135. package/dist/types/excalidraw/components/ToolPopover.d.ts +25 -0
  136. package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
  137. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +1 -0
  138. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +4 -2
  139. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +2 -1
  140. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +3 -2
  141. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -1
  142. package/dist/types/excalidraw/components/icons.d.ts +8 -0
  143. package/dist/types/excalidraw/components/shapes.d.ts +129 -1
  144. package/dist/types/excalidraw/data/blob.d.ts +3 -7
  145. package/dist/types/excalidraw/data/reconcile.d.ts +1 -0
  146. package/dist/types/excalidraw/data/restore.d.ts +6 -1
  147. package/dist/types/excalidraw/data/transform.d.ts +1 -1
  148. package/dist/types/excalidraw/data/types.d.ts +4 -1
  149. package/dist/types/excalidraw/editor-jotai.d.ts +6 -6
  150. package/dist/types/excalidraw/eraser/index.d.ts +0 -2
  151. package/dist/types/excalidraw/fonts/Fonts.d.ts +1 -1
  152. package/dist/types/excalidraw/history.d.ts +30 -22
  153. package/dist/types/excalidraw/hooks/useEmitter.d.ts +1 -1
  154. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  155. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  156. package/dist/types/excalidraw/index.d.ts +11 -10
  157. package/dist/types/excalidraw/lasso/index.d.ts +1 -0
  158. package/dist/types/excalidraw/lasso/utils.d.ts +2 -1
  159. package/dist/types/excalidraw/renderer/helpers.d.ts +7 -2
  160. package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
  161. package/dist/types/excalidraw/scene/Renderer.d.ts +1 -2
  162. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  163. package/dist/types/excalidraw/scene/scrollbars.d.ts +2 -3
  164. package/dist/types/excalidraw/scene/types.d.ts +2 -0
  165. package/dist/types/excalidraw/snapping.d.ts +2 -2
  166. package/dist/types/excalidraw/types.d.ts +46 -16
  167. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +3 -1
  168. package/dist/types/math/src/angle.d.ts +2 -0
  169. package/dist/types/math/src/constants.d.ts +3 -0
  170. package/dist/types/math/src/curve.d.ts +34 -0
  171. package/dist/types/math/src/index.d.ts +1 -0
  172. package/dist/types/math/src/point.d.ts +1 -1
  173. package/dist/types/math/src/rectangle.d.ts +2 -0
  174. package/dist/types/math/src/segment.d.ts +1 -0
  175. package/dist/types/math/src/vector.d.ts +8 -2
  176. package/dist/types/utils/src/bbox.d.ts +1 -1
  177. package/dist/types/utils/src/index.d.ts +1 -1
  178. package/dist/types/utils/src/withinBounds.d.ts +1 -1
  179. package/history.ts +146 -109
  180. package/package.json +13 -10
  181. package/dist/dev/chunk-KKJLIRJU.js +0 -7
  182. package/dist/dev/chunk-KKJLIRJU.js.map +0 -7
  183. package/dist/dev/chunk-LEJJ2YZY.js +0 -18711
  184. package/dist/dev/chunk-LEJJ2YZY.js.map +0 -7
  185. package/dist/dev/chunk-X3RYHLJU.js.map +0 -7
  186. package/dist/prod/chunk-IUH5AXLB.js +0 -12
  187. package/dist/prod/chunk-QUX7WTVH.js +0 -7
  188. package/dist/prod/chunk-RQK6WG4F.js +0 -33
  189. package/dist/prod/data/image-UQDATCXC.js +0 -1
  190. package/dist/types/element/src/Shape.d.ts +0 -17
  191. package/dist/types/element/src/ShapeCache.d.ts +0 -25
  192. package/dist/types/element/src/shapes.d.ts +0 -23
  193. package/dist/types/excalidraw/components/ButtonSelect.d.ts +0 -9
  194. package/dist/types/excalidraw/store.d.ts +0 -129
  195. package/dist/types/excalidraw/visualdebug.d.ts +0 -41
  196. package/dist/types/utils/src/collision.d.ts +0 -8
  197. /package/dist/dev/data/{image-U2IPNUKJ.js.map → image-L23D26XS.js.map} +0 -0
  198. /package/dist/dev/locales/{en-CKWC2GMK.js.map → en-V3NQTBPG.js.map} +0 -0
@@ -258,6 +258,8 @@
258
258
  --button-gray-1: #e9ecef;
259
259
  --button-gray-2: #ced4da;
260
260
  --button-gray-3: #adb5bd;
261
+ --mobile-action-button-bg: rgba(255, 255, 255, 0.35);
262
+ --mobile-color-border: var(--default-border-color);
261
263
  --button-special-active-bg-color: #ebfbee;
262
264
  --dialog-border-color: var(--color-gray-20);
263
265
  --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
@@ -291,6 +293,7 @@
291
293
  --lg-button-size: 2.25rem;
292
294
  --lg-icon-size: 1rem;
293
295
  --editor-container-padding: 1rem;
296
+ --mobile-action-button-size: 2rem;
294
297
  --scrollbar-thumb: var(--button-gray-2);
295
298
  --scrollbar-thumb-hover: var(--button-gray-3);
296
299
  --color-slider-track: hsl(240, 100%, 90%);
@@ -390,6 +393,9 @@
390
393
  --color-badge: #0b6513;
391
394
  --background-color-badge: #d3ffd2;
392
395
  }
396
+ .excalidraw--mobile.excalidraw {
397
+ --editor-container-padding: 0.75rem;
398
+ }
393
399
  @media screen and (min-device-width: 1921px) {
394
400
  .excalidraw {
395
401
  --lg-button-size: 2.5rem;
@@ -408,6 +414,8 @@
408
414
  --button-gray-1: #363636;
409
415
  --button-gray-2: #272727;
410
416
  --button-gray-3: #222;
417
+ --mobile-action-button-bg: var(--island-bg-color);
418
+ --mobile-color-border: rgba(255, 255, 255, 0.85);
411
419
  --button-special-active-bg-color: #204624;
412
420
  --dialog-border-color: var(--color-gray-80);
413
421
  --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
@@ -524,6 +532,10 @@
524
532
  .excalidraw button.standalone.active svg {
525
533
  color: var(--button-color, var(--color-on-primary-container));
526
534
  }
535
+ .excalidraw--mobile.excalidraw button.standalone {
536
+ width: var(--mobile-action-button-size, var(--default-button-size));
537
+ height: var(--mobile-action-button-size, var(--default-button-size));
538
+ }
527
539
  .excalidraw button.standalone svg {
528
540
  width: var(--default-icon-size);
529
541
  height: var(--default-icon-size);
@@ -594,6 +606,11 @@
594
606
  .excalidraw .focus-visible-none:focus-visible {
595
607
  outline: none !important;
596
608
  }
609
+ .excalidraw .color-picker__title {
610
+ padding: 0 0.5rem;
611
+ font-size: 0.875rem;
612
+ text-align: left;
613
+ }
597
614
  .excalidraw .color-picker__heading {
598
615
  padding: 0 0.5rem;
599
616
  font-size: 0.75rem;
@@ -608,6 +625,11 @@
608
625
  .excalidraw--mobile.excalidraw .color-picker-container {
609
626
  max-width: 11rem;
610
627
  }
628
+ .excalidraw .color-picker-container.color-picker-container--no-top-picks {
629
+ display: flex;
630
+ justify-content: center;
631
+ grid-template-columns: unset;
632
+ }
611
633
  .excalidraw .color-picker__top-picks {
612
634
  display: flex;
613
635
  justify-content: space-between;
@@ -646,6 +668,25 @@
646
668
  border-radius: var(--radius);
647
669
  filter: var(--theme-filter);
648
670
  }
671
+ .excalidraw .color-picker__button .color-picker__button-outline {
672
+ display: flex;
673
+ align-items: center;
674
+ justify-content: center;
675
+ }
676
+ .excalidraw .color-picker__button .color-picker__button-outline svg {
677
+ color: var(--color-gray-60);
678
+ width: 1.25rem;
679
+ height: 1.25rem;
680
+ }
681
+ .excalidraw .color-picker__button .color-picker__button-background {
682
+ display: flex;
683
+ align-items: center;
684
+ justify-content: center;
685
+ }
686
+ .excalidraw .color-picker__button .color-picker__button-background svg {
687
+ width: 100%;
688
+ height: 100%;
689
+ }
649
690
  .excalidraw .color-picker__button.active .color-picker__button-outline {
650
691
  position: absolute;
651
692
  --offset: -1px;
@@ -696,6 +737,13 @@
696
737
  width: 1.625rem;
697
738
  height: 1.625rem;
698
739
  }
740
+ .excalidraw .color-picker__button.compact-sizing {
741
+ width: var(--mobile-action-button-size);
742
+ height: var(--mobile-action-button-size);
743
+ }
744
+ .excalidraw .color-picker__button.mobile-border {
745
+ border: 1px solid var(--mobile-color-border);
746
+ }
699
747
  .excalidraw .color-picker__button__hotkey-label {
700
748
  position: absolute;
701
749
  right: 5px;
@@ -954,6 +1002,10 @@
954
1002
  .excalidraw .color-picker-label-swatch.active svg {
955
1003
  color: var(--button-color, var(--color-on-primary-container));
956
1004
  }
1005
+ .excalidraw--mobile.excalidraw .color-picker-label-swatch {
1006
+ width: var(--mobile-action-button-size, var(--default-button-size));
1007
+ height: var(--mobile-action-button-size, var(--default-button-size));
1008
+ }
957
1009
  .excalidraw .color-picker-label-swatch:after {
958
1010
  content: "";
959
1011
  position: absolute;
@@ -1068,6 +1120,10 @@
1068
1120
  .excalidraw--mobile.excalidraw .FontPicker__container {
1069
1121
  max-width: calc(2rem + 4 * var(--default-button-size));
1070
1122
  }
1123
+ .excalidraw .FontPicker__container--compact {
1124
+ display: block;
1125
+ grid-template-columns: none;
1126
+ }
1071
1127
 
1072
1128
  /* components/IconPicker.scss */
1073
1129
  .excalidraw .picker {
@@ -1454,6 +1510,21 @@
1454
1510
  flex: 0 0 auto;
1455
1511
  }
1456
1512
 
1513
+ /* components/ConvertElementTypePopup.scss */
1514
+ .excalidraw .ConvertElementTypePopup {
1515
+ display: flex;
1516
+ flex-wrap: wrap;
1517
+ justify-content: center;
1518
+ gap: 0.2rem;
1519
+ border-radius: 0.5rem;
1520
+ background: var(--island-bg-color);
1521
+ box-shadow: var(--shadow-island);
1522
+ padding: 0.5rem;
1523
+ }
1524
+ .excalidraw .ConvertElementTypePopup:focus {
1525
+ outline: none;
1526
+ }
1527
+
1457
1528
  /* components/DialogActionButton.scss */
1458
1529
  .excalidraw .Dialog__action-button {
1459
1530
  position: relative;
@@ -1670,28 +1741,47 @@
1670
1741
  /* components/dropdownMenu/DropdownMenu.scss */
1671
1742
  .excalidraw .dropdown-menu {
1672
1743
  position: absolute;
1673
- top: 100%;
1744
+ top: 2.5rem;
1674
1745
  margin-top: 0.5rem;
1746
+ max-width: 16rem;
1747
+ }
1748
+ .excalidraw .dropdown-menu--placement-top {
1749
+ top: auto;
1750
+ bottom: 100%;
1751
+ margin-top: 0;
1752
+ margin-bottom: 0.5rem;
1675
1753
  }
1676
1754
  .excalidraw .dropdown-menu--mobile {
1677
- left: 0;
1678
1755
  width: 100%;
1679
1756
  row-gap: 0.75rem;
1680
1757
  }
1758
+ .excalidraw .dropdown-menu--mobile.main-menu-dropdown {
1759
+ min-width: 232px;
1760
+ margin-top: 0;
1761
+ margin-bottom: 0;
1762
+ }
1763
+ @media screen and (orientation: landscape) {
1764
+ .excalidraw .dropdown-menu--mobile.main-menu-dropdown {
1765
+ max-width: 232px;
1766
+ }
1767
+ }
1681
1768
  .excalidraw .dropdown-menu--mobile .dropdown-menu-container {
1682
1769
  padding: 8px 8px;
1683
1770
  box-sizing: border-box;
1771
+ max-height: calc(100svh - var(--editor-container-padding) * 2 - 2.25rem);
1684
1772
  box-shadow: var(--shadow-island);
1685
1773
  border-radius: var(--border-radius-lg);
1686
1774
  position: relative;
1687
1775
  transition: box-shadow 0.5s ease-in-out;
1776
+ display: flex;
1777
+ flex-direction: column;
1778
+ overflow-y: auto;
1688
1779
  }
1689
1780
  .excalidraw .dropdown-menu--mobile .dropdown-menu-container.zen-mode {
1690
1781
  box-shadow: none;
1691
1782
  }
1692
1783
  .excalidraw .dropdown-menu .dropdown-menu-container {
1693
1784
  background-color: var(--island-bg-color);
1694
- max-height: calc(100vh - 150px);
1695
1785
  overflow-y: auto;
1696
1786
  --gap: 2;
1697
1787
  }
@@ -1746,6 +1836,7 @@
1746
1836
  align-items: center;
1747
1837
  cursor: pointer;
1748
1838
  border-radius: var(--border-radius-md);
1839
+ flex: 1 0 auto;
1749
1840
  }
1750
1841
  @media screen and (min-width: 1921px) {
1751
1842
  .excalidraw .dropdown-menu .dropdown-menu-item {
@@ -1855,6 +1946,10 @@
1855
1946
  .excalidraw .dropdown-menu-button.active svg {
1856
1947
  color: var(--button-color, var(--color-on-primary-container));
1857
1948
  }
1949
+ .excalidraw--mobile.excalidraw .dropdown-menu-button {
1950
+ width: var(--mobile-action-button-size, var(--default-button-size));
1951
+ height: var(--mobile-action-button-size, var(--default-button-size));
1952
+ }
1858
1953
  .excalidraw.theme--dark.excalidraw .dropdown-menu-button {
1859
1954
  --background: var(--color-surface-high);
1860
1955
  }
@@ -1897,11 +1992,11 @@
1897
1992
  pointer-events: none;
1898
1993
  }
1899
1994
  .excalidraw .library-unit--hover {
1900
- border-color: var(--color-primary);
1995
+ background-color: var(--color-surface-mid);
1901
1996
  }
1997
+ .excalidraw .library-unit:active:not(:has(.library-unit__checkbox:hover)),
1902
1998
  .excalidraw .library-unit--selected {
1903
- border-color: var(--color-primary);
1904
- border-width: 1px;
1999
+ background-color: var(--color-surface-high);
1905
2000
  }
1906
2001
  .excalidraw .library-unit--skeleton {
1907
2002
  opacity: 0.5;
@@ -2035,21 +2130,36 @@
2035
2130
 
2036
2131
  /* components/LibraryMenuItems.scss */
2037
2132
  .excalidraw {
2038
- --container-padding-y: 1.5rem;
2133
+ --container-padding-y: 1rem;
2039
2134
  --container-padding-x: 0.75rem;
2040
2135
  }
2136
+ .excalidraw .library-menu-items-header {
2137
+ display: flex;
2138
+ padding-top: 1rem;
2139
+ padding-bottom: 0.5rem;
2140
+ gap: 0.5rem;
2141
+ }
2041
2142
  .excalidraw .library-menu-items__no-items {
2042
2143
  text-align: center;
2043
2144
  color: var(--color-gray-70);
2044
2145
  line-height: 1.5;
2045
2146
  font-size: 0.875rem;
2046
2147
  width: 100%;
2148
+ min-height: 55px;
2149
+ display: flex;
2150
+ flex-direction: column;
2151
+ align-items: center;
2152
+ justify-content: center;
2047
2153
  }
2048
2154
  .excalidraw .library-menu-items__no-items__label {
2049
2155
  color: var(--color-primary);
2050
2156
  font-weight: 700;
2051
2157
  font-size: 1.125rem;
2052
- margin-bottom: 0.75rem;
2158
+ margin-bottom: 0.25rem;
2159
+ }
2160
+ .excalidraw .library-menu-items__no-items__hint {
2161
+ color: var(--color-border-outline);
2162
+ padding: 0.75rem 1rem;
2053
2163
  }
2054
2164
  .excalidraw.theme--dark .library-menu-items__no-items {
2055
2165
  color: var(--color-gray-40);
@@ -2063,7 +2173,7 @@
2063
2173
  overflow-y: auto;
2064
2174
  flex-direction: column;
2065
2175
  height: 100%;
2066
- justify-content: center;
2176
+ justify-content: flex-start;
2067
2177
  margin: 0;
2068
2178
  position: relative;
2069
2179
  }
@@ -2077,30 +2187,59 @@
2077
2187
  gap: 1rem;
2078
2188
  }
2079
2189
  .excalidraw .library-menu-items-container__items {
2190
+ position: relative;
2080
2191
  row-gap: 0.5rem;
2081
- padding: var(--container-padding-y) 0;
2192
+ padding: 1rem 0 var(--container-padding-y) 0;
2082
2193
  flex: 1;
2083
2194
  overflow-y: auto;
2084
2195
  overflow-x: hidden;
2085
- margin-bottom: 1rem;
2086
2196
  }
2087
2197
  .excalidraw .library-menu-items-container__header {
2198
+ display: flex;
2199
+ align-items: center;
2200
+ flex: 1 1 auto;
2088
2201
  color: var(--color-primary);
2089
2202
  font-size: 1.125rem;
2090
2203
  font-weight: 700;
2091
2204
  margin-bottom: 0.75rem;
2092
2205
  width: 100%;
2093
- padding-right: 4rem;
2094
2206
  box-sizing: border-box;
2095
2207
  }
2096
2208
  .excalidraw .library-menu-items-container__header--excal {
2097
2209
  margin-top: 2rem;
2098
2210
  }
2211
+ .excalidraw .library-menu-items-container__header__hint {
2212
+ margin-left: auto;
2213
+ font-size: 10px;
2214
+ color: var(--color-border-outline);
2215
+ font-weight: 400;
2216
+ }
2217
+ .excalidraw .library-menu-items-container__header__hint kbd {
2218
+ font-family: monospace;
2219
+ border: 1px solid var(--color-border-outline);
2220
+ border-radius: 4px;
2221
+ padding: 1px 3px;
2222
+ }
2099
2223
  .excalidraw .library-menu-items-container__grid {
2100
2224
  display: grid;
2101
2225
  grid-template-columns: 1fr 1fr 1fr 1fr;
2102
2226
  grid-gap: 1rem;
2103
2227
  }
2228
+ .excalidraw .library-menu-items-container__search {
2229
+ flex: 1 1 auto;
2230
+ margin: 0;
2231
+ }
2232
+ .excalidraw .library-menu-items-container__search .ExcTextField__input {
2233
+ height: var(--lg-button-size);
2234
+ }
2235
+ .excalidraw .library-menu-items-container__search .ExcTextField__input input {
2236
+ font-size: 0.875rem;
2237
+ }
2238
+ .excalidraw .library-menu-items-container__search.hideCancelButton input::-webkit-search-cancel-button {
2239
+ -webkit-appearance: none;
2240
+ appearance: none;
2241
+ display: none;
2242
+ }
2104
2243
  .excalidraw .library-menu-items-container .separator {
2105
2244
  width: 100%;
2106
2245
  display: flex;
@@ -2115,29 +2254,412 @@
2115
2254
  width: 100%;
2116
2255
  }
2117
2256
 
2118
- /* components/LibraryMenu.scss */
2119
- .excalidraw .layer-ui__library {
2120
- display: flex;
2121
- flex-direction: column;
2122
- flex: 1 1 auto;
2257
+ /* components/Button.scss */
2258
+ .excalidraw {
2259
+ --theme-filter: none;
2260
+ --button-destructive-bg-color: #ffe3e3;
2261
+ --button-destructive-color: #c92a2a;
2262
+ --button-gray-1: #e9ecef;
2263
+ --button-gray-2: #ced4da;
2264
+ --button-gray-3: #adb5bd;
2265
+ --mobile-action-button-bg: rgba(255, 255, 255, 0.35);
2266
+ --mobile-color-border: var(--default-border-color);
2267
+ --button-special-active-bg-color: #ebfbee;
2268
+ --dialog-border-color: var(--color-gray-20);
2269
+ --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
2270
+ --focus-highlight-color: #a5d8ff;
2271
+ --icon-fill-color: var(--color-on-surface);
2272
+ --icon-green-fill-color: #2b8a3e;
2273
+ --default-bg-color: #ffffff;
2274
+ --input-bg-color: #ffffff;
2275
+ --input-border-color: #ced4da;
2276
+ --input-hover-bg-color: #f1f3f5;
2277
+ --input-label-color: #495057;
2278
+ --island-bg-color: #ffffff;
2279
+ --keybinding-color: var(--color-gray-40);
2280
+ --link-color: #1c7ed6;
2281
+ --overlay-bg-color: rgba(255, 255, 255, 0.88);
2282
+ --popup-bg-color: var(--island-bg-color);
2283
+ --popup-secondary-bg-color: #f1f3f5;
2284
+ --popup-text-color: #000000;
2285
+ --popup-text-inverted-color: #ffffff;
2286
+ --select-highlight-color: #339af0;
2287
+ --shadow-island:
2288
+ 0px 0px 0.9310142993927002px 0px rgba(0, 0, 0, 0.17),
2289
+ 0px 0px 3.1270833015441895px 0px rgba(0, 0, 0, 0.08),
2290
+ 0px 7px 14px 0px rgba(0, 0, 0, 0.05);
2291
+ --button-hover-bg: var(--color-surface-high);
2292
+ --button-active-bg: var(--color-surface-high);
2293
+ --button-active-border: var(--color-brand-active);
2294
+ --default-border-color: var(--color-surface-high);
2295
+ --default-button-size: 2rem;
2296
+ --default-icon-size: 1rem;
2297
+ --lg-button-size: 2.25rem;
2298
+ --lg-icon-size: 1rem;
2299
+ --editor-container-padding: 1rem;
2300
+ --mobile-action-button-size: 2rem;
2301
+ --scrollbar-thumb: var(--button-gray-2);
2302
+ --scrollbar-thumb-hover: var(--button-gray-3);
2303
+ --color-slider-track: hsl(240, 100%, 90%);
2304
+ --color-slider-thumb: var(--color-gray-80);
2305
+ --modal-shadow:
2306
+ 0px 100px 80px rgba(0, 0, 0, 0.07),
2307
+ 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198),
2308
+ 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275),
2309
+ 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035),
2310
+ 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725),
2311
+ 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802);
2312
+ --avatar-border-color: var(--color-gray-20);
2313
+ --sidebar-shadow:
2314
+ 0px 100px 80px rgba(0, 0, 0, 0.07),
2315
+ 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198),
2316
+ 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275),
2317
+ 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035),
2318
+ 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725),
2319
+ 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802);
2320
+ --sidebar-border-color: var(--color-surface-high);
2321
+ --sidebar-bg-color: var(--island-bg-color);
2322
+ --library-dropdown-shadow:
2323
+ 0px 15px 6px rgba(0, 0, 0, 0.01),
2324
+ 0px 8px 5px rgba(0, 0, 0, 0.05),
2325
+ 0px 4px 4px rgba(0, 0, 0, 0.09),
2326
+ 0px 1px 2px rgba(0, 0, 0, 0.1),
2327
+ 0px 0px 0px rgba(0, 0, 0, 0.1);
2328
+ --space-factor: 0.25rem;
2329
+ --text-primary-color: var(--color-on-surface);
2330
+ --color-selection: #6965db;
2331
+ --color-icon-white: #ffffff;
2332
+ --color-primary: #6965db;
2333
+ --color-primary-darker: #5b57d1;
2334
+ --color-primary-darkest: #4a47b1;
2335
+ --color-primary-light: #e3e2fe;
2336
+ --color-primary-light-darker: #d7d5ff;
2337
+ --color-primary-hover: #5753d0;
2338
+ --color-gray-10: #f5f5f5;
2339
+ --color-gray-20: #ebebeb;
2340
+ --color-gray-30: #d6d6d6;
2341
+ --color-gray-40: #b8b8b8;
2342
+ --color-gray-50: #999999;
2343
+ --color-gray-60: #7a7a7a;
2344
+ --color-gray-70: #5c5c5c;
2345
+ --color-gray-80: #3d3d3d;
2346
+ --color-gray-85: #242424;
2347
+ --color-gray-90: #1e1e1e;
2348
+ --color-gray-100: #121212;
2349
+ --color-disabled: var(--color-gray-40);
2350
+ --color-warning: #fceeca;
2351
+ --color-warning-dark: #f5c354;
2352
+ --color-warning-darker: #f3ab2c;
2353
+ --color-warning-darkest: #ec8b14;
2354
+ --color-text-warning: var(--text-primary-color);
2355
+ --color-danger: #db6965;
2356
+ --color-danger-dark: #db6965;
2357
+ --color-danger-darker: #d65550;
2358
+ --color-danger-darkest: #d1413c;
2359
+ --color-danger-text: black;
2360
+ --color-danger-background: #fff0f0;
2361
+ --color-danger-icon-background: #ffdad6;
2362
+ --color-danger-color: #700000;
2363
+ --color-danger-icon-color: #700000;
2364
+ --color-warning-background: var(--color-warning);
2365
+ --color-warning-icon-background: var(--color-warning-dark);
2366
+ --color-warning-color: var(--text-primary-color);
2367
+ --color-warning-icon-color: var(--text-primary-color);
2368
+ --color-muted: var(--color-gray-30);
2369
+ --color-muted-darker: var(--color-gray-60);
2370
+ --color-muted-darkest: var(--color-gray-100);
2371
+ --color-muted-background: var(--color-gray-80);
2372
+ --color-muted-background-darker: var(--color-gray-100);
2373
+ --color-promo: var(--color-primary);
2374
+ --color-success: #cafccc;
2375
+ --color-success-darker: #bafabc;
2376
+ --color-success-darkest: #a5eba8;
2377
+ --color-success-text: #268029;
2378
+ --color-success-contrast: #65bb6a;
2379
+ --color-success-contrast-hover: #6bcf70;
2380
+ --color-success-contrast-active: #6edf74;
2381
+ --color-logo-icon: var(--color-primary);
2382
+ --color-logo-text: #190064;
2383
+ --border-radius-md: 0.375rem;
2384
+ --border-radius-lg: 0.5rem;
2385
+ --color-surface-high: #f1f0ff;
2386
+ --color-surface-mid: #f6f6f9;
2387
+ --color-surface-low: #ececf4;
2388
+ --color-surface-lowest: #ffffff;
2389
+ --color-on-surface: #1b1b1f;
2390
+ --color-brand-hover: #5753d0;
2391
+ --color-on-primary-container: #030064;
2392
+ --color-surface-primary-container: #e0dfff;
2393
+ --color-brand-active: #4440bf;
2394
+ --color-border-outline: #767680;
2395
+ --color-border-outline-variant: #c5c5d0;
2396
+ --color-surface-primary-container: #e0dfff;
2397
+ --color-badge: #0b6513;
2398
+ --background-color-badge: #d3ffd2;
2123
2399
  }
2124
- .excalidraw .library-actions-counter {
2125
- background-color: var(--color-primary);
2126
- color: var(--color-primary-light);
2127
- font-weight: 700;
2128
- display: flex;
2129
- align-items: center;
2130
- justify-content: center;
2131
- border-radius: 50%;
2132
- width: 1rem;
2133
- height: 1rem;
2134
- position: absolute;
2135
- bottom: -0.25rem;
2136
- right: -0.25rem;
2137
- font-size: 0.625rem;
2138
- pointer-events: none;
2400
+ .excalidraw--mobile.excalidraw {
2401
+ --editor-container-padding: 0.75rem;
2139
2402
  }
2140
- .excalidraw .layer-ui__library-message {
2403
+ @media screen and (min-device-width: 1921px) {
2404
+ .excalidraw {
2405
+ --lg-button-size: 2.5rem;
2406
+ --lg-icon-size: 1.25rem;
2407
+ --default-button-size: 2.25rem;
2408
+ --default-icon-size: 1.25rem;
2409
+ }
2410
+ }
2411
+ .excalidraw.theme--dark.theme--dark-background-none {
2412
+ background: none;
2413
+ }
2414
+ .excalidraw.theme--dark {
2415
+ --theme-filter: invert(93%) hue-rotate(180deg);
2416
+ --button-destructive-bg-color: #5a0000;
2417
+ --button-destructive-color: #ffa8a8;
2418
+ --button-gray-1: #363636;
2419
+ --button-gray-2: #272727;
2420
+ --button-gray-3: #222;
2421
+ --mobile-action-button-bg: var(--island-bg-color);
2422
+ --mobile-color-border: rgba(255, 255, 255, 0.85);
2423
+ --button-special-active-bg-color: #204624;
2424
+ --dialog-border-color: var(--color-gray-80);
2425
+ --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
2426
+ --focus-highlight-color: #228be6;
2427
+ --icon-green-fill-color: #69db7c;
2428
+ --default-bg-color: #121212;
2429
+ --input-bg-color: #121212;
2430
+ --input-border-color: #2e2e2e;
2431
+ --input-hover-bg-color: #181818;
2432
+ --input-label-color: #e9ecef;
2433
+ --island-bg-color: #232329;
2434
+ --keybinding-color: var(--color-gray-60);
2435
+ --link-color: #4dabf7;
2436
+ --overlay-bg-color: rgba(52, 58, 64, 0.12);
2437
+ --popup-secondary-bg-color: #222;
2438
+ --popup-text-color: #ced4da;
2439
+ --popup-text-inverted-color: #2c2c2c;
2440
+ --select-highlight-color: #4dabf7;
2441
+ --shadow-island:
2442
+ 0px 0px 0.9310142993927002px 0px rgba(0, 0, 0, 0.17),
2443
+ 0px 0px 3.1270833015441895px 0px rgba(0, 0, 0, 0.08),
2444
+ 0px 7px 14px 0px rgba(0, 0, 0, 0.05);
2445
+ --modal-shadow:
2446
+ 0px 100px 80px rgba(0, 0, 0, 0.07),
2447
+ 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198),
2448
+ 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275),
2449
+ 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035),
2450
+ 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725),
2451
+ 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802);
2452
+ --avatar-border-color: var(--color-gray-85);
2453
+ --scrollbar-thumb: #343a40;
2454
+ --scrollbar-thumb-hover: #495057;
2455
+ --color-slider-track: hsl(244, 23%, 39%);
2456
+ --color-selection: #3530c4;
2457
+ --color-icon-white: var(--color-gray-90);
2458
+ --color-primary: #a8a5ff;
2459
+ --color-primary-darker: #b2aeff;
2460
+ --color-primary-darkest: #beb9ff;
2461
+ --color-primary-light: #4f4d6f;
2462
+ --color-primary-light-darker: #43415e;
2463
+ --color-primary-hover: #bbb8ff;
2464
+ --color-disabled: var(--color-gray-70);
2465
+ --color-text-warning: var(--color-gray-80);
2466
+ --color-danger: #ffa8a5;
2467
+ --color-danger-dark: #672120;
2468
+ --color-danger-darker: #8f2625;
2469
+ --color-danger-darkest: #ac2b29;
2470
+ --color-danger-text: #fbcbcc;
2471
+ --color-danger-background: #fbcbcc;
2472
+ --color-danger-icon-background: #672120;
2473
+ --color-danger-color: #261919;
2474
+ --color-danger-icon-color: #fbcbcc;
2475
+ --color-warning-background: var(--color-warning);
2476
+ --color-warning-icon-background: var(--color-warning-dark);
2477
+ --color-warning-color: var(--color-gray-80);
2478
+ --color-warning-icon-color: var(--color-gray-80);
2479
+ --color-muted: var(--color-gray-80);
2480
+ --color-muted-darker: var(--color-gray-60);
2481
+ --color-muted-darkest: var(--color-gray-20);
2482
+ --color-muted-background: var(--color-gray-40);
2483
+ --color-muted-background-darker: var(--color-gray-20);
2484
+ --color-logo-text: #e2dfff;
2485
+ --color-surface-high: #2e2d39;
2486
+ --color-surface-low: hsl(240, 8%, 15%);
2487
+ --color-surface-mid: hsl(240 6% 10%);
2488
+ --color-surface-lowest: hsl(0, 0%, 7%);
2489
+ --color-on-surface: #e3e3e8;
2490
+ --color-brand-hover: #bbb8ff;
2491
+ --color-on-primary-container: #e0dfff;
2492
+ --color-surface-primary-container: #403e6a;
2493
+ --color-brand-active: #d0ccff;
2494
+ --color-border-outline: #8e8d9c;
2495
+ --color-border-outline-variant: #46464f;
2496
+ --color-surface-primary-container: #403e6a;
2497
+ }
2498
+ .excalidraw .excalidraw-button {
2499
+ display: flex;
2500
+ justify-content: center;
2501
+ align-items: center;
2502
+ padding: 0.625rem;
2503
+ width: var(--button-width, var(--default-button-size));
2504
+ height: var(--button-height, var(--default-button-size));
2505
+ box-sizing: border-box;
2506
+ border-width: 1px;
2507
+ border-style: solid;
2508
+ border-color: var(--button-border, var(--default-border-color));
2509
+ border-radius: var(--border-radius-lg);
2510
+ cursor: pointer;
2511
+ background-color: var(--button-bg, var(--island-bg-color));
2512
+ color: var(--button-color, var(--color-on-surface));
2513
+ font-family: var(--ui-font);
2514
+ }
2515
+ .excalidraw .excalidraw-button svg {
2516
+ width: var(--button-width, var(--lg-icon-size));
2517
+ height: var(--button-height, var(--lg-icon-size));
2518
+ }
2519
+ .excalidraw .excalidraw-button:hover {
2520
+ background-color: var(--button-hover-bg, var(--island-bg-color));
2521
+ border-color: var(--button-hover-border, var(--button-border, var(--default-border-color)));
2522
+ color: var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)));
2523
+ }
2524
+ .excalidraw .excalidraw-button:active {
2525
+ background-color: var(--button-active-bg, var(--island-bg-color));
2526
+ border-color: var(--button-active-border, var(--color-primary-darkest));
2527
+ }
2528
+ .excalidraw .excalidraw-button.active {
2529
+ background-color: var(--button-selected-bg, var(--color-surface-primary-container));
2530
+ border-color: var(--button-selected-border, var(--color-surface-primary-container));
2531
+ }
2532
+ .excalidraw .excalidraw-button.active:hover {
2533
+ background-color: var(--button-selected-hover-bg, var(--color-surface-primary-container));
2534
+ }
2535
+ .excalidraw .excalidraw-button.active svg {
2536
+ color: var(--button-color, var(--color-on-primary-container));
2537
+ }
2538
+ .excalidraw--mobile.excalidraw .excalidraw-button {
2539
+ width: var(--mobile-action-button-size, var(--default-button-size));
2540
+ height: var(--mobile-action-button-size, var(--default-button-size));
2541
+ }
2542
+
2543
+ /* components/TextField.scss */
2544
+ .excalidraw {
2545
+ --ExcTextField--color: var(--color-on-surface);
2546
+ --ExcTextField--label-color: var(--color-on-surface);
2547
+ --ExcTextField--background: var(--color-surface-low);
2548
+ --ExcTextField--readonly--background: var(--color-surface-high);
2549
+ --ExcTextField--readonly--color: var(--color-on-surface);
2550
+ --ExcTextField--border: var(--color-gray-20);
2551
+ --ExcTextField--readonly--border: var(--color-border-outline-variant);
2552
+ --ExcTextField--border-hover: var(--color-brand-hover);
2553
+ --ExcTextField--border-active: var(--color-brand-active);
2554
+ --ExcTextField--placeholder: var(--color-border-outline-variant);
2555
+ }
2556
+ .excalidraw.theme--dark {
2557
+ --ExcTextField--border: var(--color-border-outline-variant);
2558
+ }
2559
+ .excalidraw .ExcTextField {
2560
+ position: relative;
2561
+ }
2562
+ .excalidraw .ExcTextField svg {
2563
+ position: absolute;
2564
+ top: 50%;
2565
+ transform: translateY(-50%);
2566
+ left: 0.75rem;
2567
+ width: 1.25rem;
2568
+ height: 1.25rem;
2569
+ color: var(--color-gray-40);
2570
+ z-index: 1;
2571
+ }
2572
+ .excalidraw .ExcTextField--fullWidth {
2573
+ width: 100%;
2574
+ flex-grow: 1;
2575
+ }
2576
+ .excalidraw .ExcTextField__label {
2577
+ font-family: "Assistant";
2578
+ font-style: normal;
2579
+ font-weight: 600;
2580
+ font-size: 0.875rem;
2581
+ line-height: 150%;
2582
+ color: var(--ExcTextField--label-color);
2583
+ margin-bottom: 0.25rem;
2584
+ user-select: none;
2585
+ }
2586
+ .excalidraw .ExcTextField__input {
2587
+ box-sizing: border-box;
2588
+ display: flex;
2589
+ flex-direction: row;
2590
+ align-items: center;
2591
+ height: 3rem;
2592
+ background: var(--ExcTextField--background);
2593
+ border: 1px solid var(--ExcTextField--border);
2594
+ border-radius: 0.5rem;
2595
+ padding: 0 0.75rem;
2596
+ }
2597
+ .excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):hover {
2598
+ border-color: var(--ExcTextField--border-hover);
2599
+ }
2600
+ .excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):active,
2601
+ .excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):focus-within {
2602
+ border-color: var(--ExcTextField--border-active);
2603
+ }
2604
+ .excalidraw .ExcTextField__input input {
2605
+ display: flex;
2606
+ align-items: center;
2607
+ border: none;
2608
+ outline: none;
2609
+ padding: 0;
2610
+ margin: 0;
2611
+ height: 1.5rem;
2612
+ color: var(--ExcTextField--color);
2613
+ font-family: "Assistant";
2614
+ font-style: normal;
2615
+ font-weight: 400;
2616
+ font-size: 1rem;
2617
+ line-height: 150%;
2618
+ text-overflow: ellipsis;
2619
+ background: transparent;
2620
+ width: 100%;
2621
+ }
2622
+ .excalidraw .ExcTextField__input input:not(:focus):hover {
2623
+ background-color: initial;
2624
+ }
2625
+ .excalidraw .ExcTextField__input input:focus {
2626
+ outline: initial;
2627
+ box-shadow: initial;
2628
+ }
2629
+ .excalidraw .ExcTextField__input--readonly {
2630
+ background: var(--ExcTextField--readonly--background);
2631
+ border-color: var(--ExcTextField--readonly--border);
2632
+ }
2633
+ .excalidraw .ExcTextField__input--readonly input {
2634
+ color: var(--ExcTextField--readonly--color);
2635
+ }
2636
+ .excalidraw .ExcTextField--hasIcon .ExcTextField__input {
2637
+ padding-left: 2.5rem;
2638
+ }
2639
+
2640
+ /* components/LibraryMenu.scss */
2641
+ .excalidraw .layer-ui__library {
2642
+ display: flex;
2643
+ flex-direction: column;
2644
+ flex: 1 1 auto;
2645
+ }
2646
+ .excalidraw .library-actions-counter {
2647
+ background-color: var(--color-primary);
2648
+ color: var(--color-primary-light);
2649
+ font-weight: 700;
2650
+ display: flex;
2651
+ align-items: center;
2652
+ justify-content: center;
2653
+ border-radius: 50%;
2654
+ width: 1rem;
2655
+ height: 1rem;
2656
+ position: absolute;
2657
+ bottom: -0.25rem;
2658
+ right: -0.25rem;
2659
+ font-size: 0.625rem;
2660
+ pointer-events: none;
2661
+ }
2662
+ .excalidraw .layer-ui__library-message {
2141
2663
  padding: 2rem;
2142
2664
  min-width: 200px;
2143
2665
  display: flex;
@@ -2225,14 +2747,11 @@
2225
2747
  padding: 0.25rem 0.5rem;
2226
2748
  }
2227
2749
  .excalidraw .layer-ui__library .library-menu-dropdown-container {
2750
+ z-index: 1;
2228
2751
  position: relative;
2229
2752
  }
2230
2753
  .excalidraw .layer-ui__library .library-menu-dropdown-container--in-heading {
2231
- padding: 0;
2232
- position: absolute;
2233
- top: 1rem;
2234
- right: 0.75rem;
2235
- z-index: 1;
2754
+ margin-left: auto;
2236
2755
  }
2237
2756
  .excalidraw .layer-ui__library .library-menu-dropdown-container--in-heading .dropdown-menu {
2238
2757
  top: 100%;
@@ -2392,374 +2911,6 @@
2392
2911
  right: 1.25rem;
2393
2912
  }
2394
2913
 
2395
- /* components/Button.scss */
2396
- .excalidraw {
2397
- --theme-filter: none;
2398
- --button-destructive-bg-color: #ffe3e3;
2399
- --button-destructive-color: #c92a2a;
2400
- --button-gray-1: #e9ecef;
2401
- --button-gray-2: #ced4da;
2402
- --button-gray-3: #adb5bd;
2403
- --button-special-active-bg-color: #ebfbee;
2404
- --dialog-border-color: var(--color-gray-20);
2405
- --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
2406
- --focus-highlight-color: #a5d8ff;
2407
- --icon-fill-color: var(--color-on-surface);
2408
- --icon-green-fill-color: #2b8a3e;
2409
- --default-bg-color: #ffffff;
2410
- --input-bg-color: #ffffff;
2411
- --input-border-color: #ced4da;
2412
- --input-hover-bg-color: #f1f3f5;
2413
- --input-label-color: #495057;
2414
- --island-bg-color: #ffffff;
2415
- --keybinding-color: var(--color-gray-40);
2416
- --link-color: #1c7ed6;
2417
- --overlay-bg-color: rgba(255, 255, 255, 0.88);
2418
- --popup-bg-color: var(--island-bg-color);
2419
- --popup-secondary-bg-color: #f1f3f5;
2420
- --popup-text-color: #000000;
2421
- --popup-text-inverted-color: #ffffff;
2422
- --select-highlight-color: #339af0;
2423
- --shadow-island:
2424
- 0px 0px 0.9310142993927002px 0px rgba(0, 0, 0, 0.17),
2425
- 0px 0px 3.1270833015441895px 0px rgba(0, 0, 0, 0.08),
2426
- 0px 7px 14px 0px rgba(0, 0, 0, 0.05);
2427
- --button-hover-bg: var(--color-surface-high);
2428
- --button-active-bg: var(--color-surface-high);
2429
- --button-active-border: var(--color-brand-active);
2430
- --default-border-color: var(--color-surface-high);
2431
- --default-button-size: 2rem;
2432
- --default-icon-size: 1rem;
2433
- --lg-button-size: 2.25rem;
2434
- --lg-icon-size: 1rem;
2435
- --editor-container-padding: 1rem;
2436
- --scrollbar-thumb: var(--button-gray-2);
2437
- --scrollbar-thumb-hover: var(--button-gray-3);
2438
- --color-slider-track: hsl(240, 100%, 90%);
2439
- --color-slider-thumb: var(--color-gray-80);
2440
- --modal-shadow:
2441
- 0px 100px 80px rgba(0, 0, 0, 0.07),
2442
- 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198),
2443
- 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275),
2444
- 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035),
2445
- 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725),
2446
- 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802);
2447
- --avatar-border-color: var(--color-gray-20);
2448
- --sidebar-shadow:
2449
- 0px 100px 80px rgba(0, 0, 0, 0.07),
2450
- 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198),
2451
- 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275),
2452
- 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035),
2453
- 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725),
2454
- 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802);
2455
- --sidebar-border-color: var(--color-surface-high);
2456
- --sidebar-bg-color: var(--island-bg-color);
2457
- --library-dropdown-shadow:
2458
- 0px 15px 6px rgba(0, 0, 0, 0.01),
2459
- 0px 8px 5px rgba(0, 0, 0, 0.05),
2460
- 0px 4px 4px rgba(0, 0, 0, 0.09),
2461
- 0px 1px 2px rgba(0, 0, 0, 0.1),
2462
- 0px 0px 0px rgba(0, 0, 0, 0.1);
2463
- --space-factor: 0.25rem;
2464
- --text-primary-color: var(--color-on-surface);
2465
- --color-selection: #6965db;
2466
- --color-icon-white: #ffffff;
2467
- --color-primary: #6965db;
2468
- --color-primary-darker: #5b57d1;
2469
- --color-primary-darkest: #4a47b1;
2470
- --color-primary-light: #e3e2fe;
2471
- --color-primary-light-darker: #d7d5ff;
2472
- --color-primary-hover: #5753d0;
2473
- --color-gray-10: #f5f5f5;
2474
- --color-gray-20: #ebebeb;
2475
- --color-gray-30: #d6d6d6;
2476
- --color-gray-40: #b8b8b8;
2477
- --color-gray-50: #999999;
2478
- --color-gray-60: #7a7a7a;
2479
- --color-gray-70: #5c5c5c;
2480
- --color-gray-80: #3d3d3d;
2481
- --color-gray-85: #242424;
2482
- --color-gray-90: #1e1e1e;
2483
- --color-gray-100: #121212;
2484
- --color-disabled: var(--color-gray-40);
2485
- --color-warning: #fceeca;
2486
- --color-warning-dark: #f5c354;
2487
- --color-warning-darker: #f3ab2c;
2488
- --color-warning-darkest: #ec8b14;
2489
- --color-text-warning: var(--text-primary-color);
2490
- --color-danger: #db6965;
2491
- --color-danger-dark: #db6965;
2492
- --color-danger-darker: #d65550;
2493
- --color-danger-darkest: #d1413c;
2494
- --color-danger-text: black;
2495
- --color-danger-background: #fff0f0;
2496
- --color-danger-icon-background: #ffdad6;
2497
- --color-danger-color: #700000;
2498
- --color-danger-icon-color: #700000;
2499
- --color-warning-background: var(--color-warning);
2500
- --color-warning-icon-background: var(--color-warning-dark);
2501
- --color-warning-color: var(--text-primary-color);
2502
- --color-warning-icon-color: var(--text-primary-color);
2503
- --color-muted: var(--color-gray-30);
2504
- --color-muted-darker: var(--color-gray-60);
2505
- --color-muted-darkest: var(--color-gray-100);
2506
- --color-muted-background: var(--color-gray-80);
2507
- --color-muted-background-darker: var(--color-gray-100);
2508
- --color-promo: var(--color-primary);
2509
- --color-success: #cafccc;
2510
- --color-success-darker: #bafabc;
2511
- --color-success-darkest: #a5eba8;
2512
- --color-success-text: #268029;
2513
- --color-success-contrast: #65bb6a;
2514
- --color-success-contrast-hover: #6bcf70;
2515
- --color-success-contrast-active: #6edf74;
2516
- --color-logo-icon: var(--color-primary);
2517
- --color-logo-text: #190064;
2518
- --border-radius-md: 0.375rem;
2519
- --border-radius-lg: 0.5rem;
2520
- --color-surface-high: #f1f0ff;
2521
- --color-surface-mid: #f6f6f9;
2522
- --color-surface-low: #ececf4;
2523
- --color-surface-lowest: #ffffff;
2524
- --color-on-surface: #1b1b1f;
2525
- --color-brand-hover: #5753d0;
2526
- --color-on-primary-container: #030064;
2527
- --color-surface-primary-container: #e0dfff;
2528
- --color-brand-active: #4440bf;
2529
- --color-border-outline: #767680;
2530
- --color-border-outline-variant: #c5c5d0;
2531
- --color-surface-primary-container: #e0dfff;
2532
- --color-badge: #0b6513;
2533
- --background-color-badge: #d3ffd2;
2534
- }
2535
- @media screen and (min-device-width: 1921px) {
2536
- .excalidraw {
2537
- --lg-button-size: 2.5rem;
2538
- --lg-icon-size: 1.25rem;
2539
- --default-button-size: 2.25rem;
2540
- --default-icon-size: 1.25rem;
2541
- }
2542
- }
2543
- .excalidraw.theme--dark.theme--dark-background-none {
2544
- background: none;
2545
- }
2546
- .excalidraw.theme--dark {
2547
- --theme-filter: invert(93%) hue-rotate(180deg);
2548
- --button-destructive-bg-color: #5a0000;
2549
- --button-destructive-color: #ffa8a8;
2550
- --button-gray-1: #363636;
2551
- --button-gray-2: #272727;
2552
- --button-gray-3: #222;
2553
- --button-special-active-bg-color: #204624;
2554
- --dialog-border-color: var(--color-gray-80);
2555
- --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
2556
- --focus-highlight-color: #228be6;
2557
- --icon-green-fill-color: #69db7c;
2558
- --default-bg-color: #121212;
2559
- --input-bg-color: #121212;
2560
- --input-border-color: #2e2e2e;
2561
- --input-hover-bg-color: #181818;
2562
- --input-label-color: #e9ecef;
2563
- --island-bg-color: #232329;
2564
- --keybinding-color: var(--color-gray-60);
2565
- --link-color: #4dabf7;
2566
- --overlay-bg-color: rgba(52, 58, 64, 0.12);
2567
- --popup-secondary-bg-color: #222;
2568
- --popup-text-color: #ced4da;
2569
- --popup-text-inverted-color: #2c2c2c;
2570
- --select-highlight-color: #4dabf7;
2571
- --shadow-island:
2572
- 0px 0px 0.9310142993927002px 0px rgba(0, 0, 0, 0.17),
2573
- 0px 0px 3.1270833015441895px 0px rgba(0, 0, 0, 0.08),
2574
- 0px 7px 14px 0px rgba(0, 0, 0, 0.05);
2575
- --modal-shadow:
2576
- 0px 100px 80px rgba(0, 0, 0, 0.07),
2577
- 0px 41.7776px 33.4221px rgba(0, 0, 0, 0.0503198),
2578
- 0px 22.3363px 17.869px rgba(0, 0, 0, 0.0417275),
2579
- 0px 12.5216px 10.0172px rgba(0, 0, 0, 0.035),
2580
- 0px 6.6501px 5.32008px rgba(0, 0, 0, 0.0282725),
2581
- 0px 2.76726px 2.21381px rgba(0, 0, 0, 0.0196802);
2582
- --avatar-border-color: var(--color-gray-85);
2583
- --scrollbar-thumb: #343a40;
2584
- --scrollbar-thumb-hover: #495057;
2585
- --color-slider-track: hsl(244, 23%, 39%);
2586
- --color-selection: #3530c4;
2587
- --color-icon-white: var(--color-gray-90);
2588
- --color-primary: #a8a5ff;
2589
- --color-primary-darker: #b2aeff;
2590
- --color-primary-darkest: #beb9ff;
2591
- --color-primary-light: #4f4d6f;
2592
- --color-primary-light-darker: #43415e;
2593
- --color-primary-hover: #bbb8ff;
2594
- --color-disabled: var(--color-gray-70);
2595
- --color-text-warning: var(--color-gray-80);
2596
- --color-danger: #ffa8a5;
2597
- --color-danger-dark: #672120;
2598
- --color-danger-darker: #8f2625;
2599
- --color-danger-darkest: #ac2b29;
2600
- --color-danger-text: #fbcbcc;
2601
- --color-danger-background: #fbcbcc;
2602
- --color-danger-icon-background: #672120;
2603
- --color-danger-color: #261919;
2604
- --color-danger-icon-color: #fbcbcc;
2605
- --color-warning-background: var(--color-warning);
2606
- --color-warning-icon-background: var(--color-warning-dark);
2607
- --color-warning-color: var(--color-gray-80);
2608
- --color-warning-icon-color: var(--color-gray-80);
2609
- --color-muted: var(--color-gray-80);
2610
- --color-muted-darker: var(--color-gray-60);
2611
- --color-muted-darkest: var(--color-gray-20);
2612
- --color-muted-background: var(--color-gray-40);
2613
- --color-muted-background-darker: var(--color-gray-20);
2614
- --color-logo-text: #e2dfff;
2615
- --color-surface-high: #2e2d39;
2616
- --color-surface-low: hsl(240, 8%, 15%);
2617
- --color-surface-mid: hsl(240 6% 10%);
2618
- --color-surface-lowest: hsl(0, 0%, 7%);
2619
- --color-on-surface: #e3e3e8;
2620
- --color-brand-hover: #bbb8ff;
2621
- --color-on-primary-container: #e0dfff;
2622
- --color-surface-primary-container: #403e6a;
2623
- --color-brand-active: #d0ccff;
2624
- --color-border-outline: #8e8d9c;
2625
- --color-border-outline-variant: #46464f;
2626
- --color-surface-primary-container: #403e6a;
2627
- }
2628
- .excalidraw .excalidraw-button {
2629
- display: flex;
2630
- justify-content: center;
2631
- align-items: center;
2632
- padding: 0.625rem;
2633
- width: var(--button-width, var(--default-button-size));
2634
- height: var(--button-height, var(--default-button-size));
2635
- box-sizing: border-box;
2636
- border-width: 1px;
2637
- border-style: solid;
2638
- border-color: var(--button-border, var(--default-border-color));
2639
- border-radius: var(--border-radius-lg);
2640
- cursor: pointer;
2641
- background-color: var(--button-bg, var(--island-bg-color));
2642
- color: var(--button-color, var(--color-on-surface));
2643
- font-family: var(--ui-font);
2644
- }
2645
- .excalidraw .excalidraw-button svg {
2646
- width: var(--button-width, var(--lg-icon-size));
2647
- height: var(--button-height, var(--lg-icon-size));
2648
- }
2649
- .excalidraw .excalidraw-button:hover {
2650
- background-color: var(--button-hover-bg, var(--island-bg-color));
2651
- border-color: var(--button-hover-border, var(--button-border, var(--default-border-color)));
2652
- color: var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)));
2653
- }
2654
- .excalidraw .excalidraw-button:active {
2655
- background-color: var(--button-active-bg, var(--island-bg-color));
2656
- border-color: var(--button-active-border, var(--color-primary-darkest));
2657
- }
2658
- .excalidraw .excalidraw-button.active {
2659
- background-color: var(--button-selected-bg, var(--color-surface-primary-container));
2660
- border-color: var(--button-selected-border, var(--color-surface-primary-container));
2661
- }
2662
- .excalidraw .excalidraw-button.active:hover {
2663
- background-color: var(--button-selected-hover-bg, var(--color-surface-primary-container));
2664
- }
2665
- .excalidraw .excalidraw-button.active svg {
2666
- color: var(--button-color, var(--color-on-primary-container));
2667
- }
2668
-
2669
- /* components/TextField.scss */
2670
- .excalidraw {
2671
- --ExcTextField--color: var(--color-on-surface);
2672
- --ExcTextField--label-color: var(--color-on-surface);
2673
- --ExcTextField--background: var(--color-surface-low);
2674
- --ExcTextField--readonly--background: var(--color-surface-high);
2675
- --ExcTextField--readonly--color: var(--color-on-surface);
2676
- --ExcTextField--border: var(--color-gray-20);
2677
- --ExcTextField--readonly--border: var(--color-border-outline-variant);
2678
- --ExcTextField--border-hover: var(--color-brand-hover);
2679
- --ExcTextField--border-active: var(--color-brand-active);
2680
- --ExcTextField--placeholder: var(--color-border-outline-variant);
2681
- }
2682
- .excalidraw .ExcTextField {
2683
- position: relative;
2684
- }
2685
- .excalidraw .ExcTextField svg {
2686
- position: absolute;
2687
- top: 50%;
2688
- transform: translateY(-50%);
2689
- left: 0.75rem;
2690
- width: 1.25rem;
2691
- height: 1.25rem;
2692
- color: var(--color-gray-40);
2693
- z-index: 1;
2694
- }
2695
- .excalidraw .ExcTextField--fullWidth {
2696
- width: 100%;
2697
- flex-grow: 1;
2698
- }
2699
- .excalidraw .ExcTextField__label {
2700
- font-family: "Assistant";
2701
- font-style: normal;
2702
- font-weight: 600;
2703
- font-size: 0.875rem;
2704
- line-height: 150%;
2705
- color: var(--ExcTextField--label-color);
2706
- margin-bottom: 0.25rem;
2707
- user-select: none;
2708
- }
2709
- .excalidraw .ExcTextField__input {
2710
- box-sizing: border-box;
2711
- display: flex;
2712
- flex-direction: row;
2713
- align-items: center;
2714
- height: 3rem;
2715
- background: var(--ExcTextField--background);
2716
- border: 1px solid var(--ExcTextField--border);
2717
- border-radius: 0.5rem;
2718
- padding: 0 0.75rem;
2719
- }
2720
- .excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):hover {
2721
- border-color: var(--ExcTextField--border-hover);
2722
- }
2723
- .excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):active,
2724
- .excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):focus-within {
2725
- border-color: var(--ExcTextField--border-active);
2726
- }
2727
- .excalidraw .ExcTextField__input input {
2728
- display: flex;
2729
- align-items: center;
2730
- border: none;
2731
- outline: none;
2732
- padding: 0;
2733
- margin: 0;
2734
- height: 1.5rem;
2735
- color: var(--ExcTextField--color);
2736
- font-family: "Assistant";
2737
- font-style: normal;
2738
- font-weight: 400;
2739
- font-size: 1rem;
2740
- line-height: 150%;
2741
- text-overflow: ellipsis;
2742
- background: transparent;
2743
- width: 100%;
2744
- }
2745
- .excalidraw .ExcTextField__input input:not(:focus):hover {
2746
- background-color: initial;
2747
- }
2748
- .excalidraw .ExcTextField__input input:focus {
2749
- outline: initial;
2750
- box-shadow: initial;
2751
- }
2752
- .excalidraw .ExcTextField__input--readonly {
2753
- background: var(--ExcTextField--readonly--background);
2754
- border-color: var(--ExcTextField--readonly--border);
2755
- }
2756
- .excalidraw .ExcTextField__input--readonly input {
2757
- color: var(--ExcTextField--readonly--color);
2758
- }
2759
- .excalidraw .ExcTextField--hasIcon .ExcTextField__input {
2760
- padding-left: 2.5rem;
2761
- }
2762
-
2763
2914
  /* components/Actions.scss */
2764
2915
  .zoom-actions,
2765
2916
  .undo-redo-buttons {
@@ -2820,23 +2971,128 @@
2820
2971
  border-bottom-left-radius: var(--border-radius-lg) !important;
2821
2972
  border-right: 0 !important;
2822
2973
  }
2823
- :root[dir=rtl] .undo-redo-buttons .undo-button-container button {
2824
- transform: scaleX(-1);
2974
+ :root[dir=rtl] .undo-redo-buttons .undo-button-container button {
2975
+ transform: scaleX(-1);
2976
+ }
2977
+ .undo-redo-buttons .undo-button-container button .ToolIcon__icon {
2978
+ border-top-right-radius: 0 !important;
2979
+ border-bottom-right-radius: 0 !important;
2980
+ }
2981
+ .undo-redo-buttons .redo-button-container button {
2982
+ border-top-right-radius: var(--border-radius-lg) !important;
2983
+ border-bottom-right-radius: var(--border-radius-lg) !important;
2984
+ }
2985
+ :root[dir=rtl] .undo-redo-buttons .redo-button-container button {
2986
+ transform: scaleX(-1);
2987
+ }
2988
+ .undo-redo-buttons .redo-button-container button .ToolIcon__icon {
2989
+ border-top-left-radius: 0 !important;
2990
+ border-bottom-left-radius: 0 !important;
2991
+ }
2992
+ .compact-shape-actions {
2993
+ display: flex;
2994
+ flex-direction: column;
2995
+ gap: 0.5rem;
2996
+ max-height: calc(100vh - 200px);
2997
+ overflow-y: auto;
2998
+ padding: 0.5rem;
2999
+ }
3000
+ .compact-shape-actions .compact-action-item {
3001
+ position: relative;
3002
+ display: flex;
3003
+ justify-content: center;
3004
+ align-items: center;
3005
+ min-height: 2.5rem;
3006
+ pointer-events: auto;
3007
+ --default-button-size: 2rem;
3008
+ }
3009
+ .compact-shape-actions .compact-action-item .compact-action-button {
3010
+ width: var(--mobile-action-button-size);
3011
+ height: var(--mobile-action-button-size);
3012
+ border: none;
3013
+ border-radius: var(--border-radius-lg);
3014
+ color: var(--color-on-surface);
3015
+ cursor: pointer;
3016
+ display: flex;
3017
+ align-items: center;
3018
+ justify-content: center;
3019
+ transition: all 0.2s ease;
3020
+ background: var(--mobile-action-button-bg);
3021
+ }
3022
+ .compact-shape-actions .compact-action-item .compact-action-button svg {
3023
+ width: 1rem;
3024
+ height: 1rem;
3025
+ flex: 0 0 auto;
3026
+ }
3027
+ .compact-shape-actions .compact-action-item .compact-action-button.active {
3028
+ background: var(--color-surface-primary-container, var(--mobile-action-button-bg));
3029
+ }
3030
+ .compact-shape-actions .compact-action-item .compact-popover-content .popover-section {
3031
+ margin-bottom: 1rem;
3032
+ }
3033
+ .compact-shape-actions .compact-action-item .compact-popover-content .popover-section:last-child {
3034
+ margin-bottom: 0;
3035
+ }
3036
+ .compact-shape-actions .compact-action-item .compact-popover-content .popover-section .popover-section-title {
3037
+ font-size: 0.75rem;
3038
+ font-weight: 600;
3039
+ color: var(--color-text-secondary);
3040
+ margin-bottom: 0.5rem;
3041
+ text-transform: uppercase;
3042
+ letter-spacing: 0.5px;
3043
+ }
3044
+ .compact-shape-actions .compact-action-item .compact-popover-content .popover-section .buttonList {
3045
+ display: flex;
3046
+ flex-wrap: wrap;
3047
+ gap: 0.25rem;
3048
+ }
3049
+ .compact-shape-actions .ToolIcon .ToolIcon__icon {
3050
+ width: var(--mobile-action-button-size);
3051
+ height: var(--mobile-action-button-size);
3052
+ background: var(--mobile-action-button-bg);
3053
+ }
3054
+ .compact-shape-actions .ToolIcon .ToolIcon__icon:hover {
3055
+ background-color: transparent;
3056
+ }
3057
+ .compact-shape-actions-island {
3058
+ width: fit-content;
3059
+ overflow-x: hidden;
2825
3060
  }
2826
- .undo-redo-buttons .undo-button-container button .ToolIcon__icon {
2827
- border-top-right-radius: 0 !important;
2828
- border-bottom-right-radius: 0 !important;
3061
+ .mobile-shape-actions {
3062
+ z-index: 999;
3063
+ display: flex;
3064
+ flex-direction: row;
3065
+ justify-content: space-between;
3066
+ width: 100%;
3067
+ background: transparent;
3068
+ border-radius: var(--border-radius-lg);
3069
+ box-shadow: none;
3070
+ overflow: none;
3071
+ scrollbar-width: none;
3072
+ -ms-overflow-style: none;
2829
3073
  }
2830
- .undo-redo-buttons .redo-button-container button {
2831
- border-top-right-radius: var(--border-radius-lg) !important;
2832
- border-bottom-right-radius: var(--border-radius-lg) !important;
3074
+ .shape-actions-theme-scope {
3075
+ --button-border: transparent;
3076
+ --button-bg: var(--color-surface-mid);
2833
3077
  }
2834
- :root[dir=rtl] .undo-redo-buttons .redo-button-container button {
2835
- transform: scaleX(-1);
3078
+ :root.theme--dark .shape-actions-theme-scope {
3079
+ --button-hover-bg: #363541;
3080
+ --button-bg: var(--color-surface-high);
2836
3081
  }
2837
- .undo-redo-buttons .redo-button-container button .ToolIcon__icon {
2838
- border-top-left-radius: 0 !important;
2839
- border-bottom-left-radius: 0 !important;
3082
+
3083
+ /* components/ToolPopover.scss */
3084
+ .excalidraw .tool-popover-content {
3085
+ display: flex;
3086
+ flex-direction: row;
3087
+ gap: 0.25rem;
3088
+ border-radius: 0.5rem;
3089
+ background: var(--island-bg-color);
3090
+ box-shadow: var(--shadow-island);
3091
+ padding: 0.5rem;
3092
+ z-index: var(--zIndex-layerUI);
3093
+ }
3094
+ .excalidraw:focus {
3095
+ outline: none;
2840
3096
  }
2841
3097
 
2842
3098
  /* components/CommandPalette/CommandPalette.scss */
@@ -2926,6 +3182,16 @@
2926
3182
  padding: 0 0.5rem;
2927
3183
  border-radius: var(--border-radius-lg);
2928
3184
  cursor: pointer;
3185
+ --icon-size: 1rem;
3186
+ }
3187
+ .excalidraw .command-palette-dialog .commands .command-item.command-item-large {
3188
+ height: 2.75rem;
3189
+ --icon-size: 1.5rem;
3190
+ }
3191
+ .excalidraw .command-palette-dialog .commands .command-item.command-item-large .icon {
3192
+ width: var(--icon-size);
3193
+ height: var(--icon-size);
3194
+ margin-right: 0.625rem;
2929
3195
  }
2930
3196
  .excalidraw .command-palette-dialog .commands .command-item:active {
2931
3197
  background-color: var(--color-surface-low);
@@ -2934,6 +3200,7 @@
2934
3200
  display: flex;
2935
3201
  align-items: center;
2936
3202
  gap: 0.25rem;
3203
+ overflow: hidden;
2937
3204
  }
2938
3205
  .excalidraw .command-palette-dialog .commands .item-selected {
2939
3206
  background-color: var(--color-surface-mid);
@@ -2949,9 +3216,16 @@
2949
3216
  margin-top: 36px;
2950
3217
  }
2951
3218
  .excalidraw .command-palette-dialog .icon {
2952
- width: 16px;
2953
- height: 16px;
2954
- margin-right: 6px;
3219
+ width: var(--icon-size, 1rem);
3220
+ height: var(--icon-size, 1rem);
3221
+ margin-right: 0.375rem;
3222
+ }
3223
+ .excalidraw .command-palette-dialog .icon .library-item-icon {
3224
+ display: flex;
3225
+ align-items: center;
3226
+ justify-content: center;
3227
+ height: 100%;
3228
+ width: 100%;
2955
3229
  }
2956
3230
 
2957
3231
  /* components/ElementCanvasButtons.scss */
@@ -3105,6 +3379,68 @@
3105
3379
  height: 1rem;
3106
3380
  }
3107
3381
 
3382
+ /* components/MobileToolBar.scss */
3383
+ .excalidraw .mobile-toolbar {
3384
+ display: flex;
3385
+ flex: 1;
3386
+ align-items: center;
3387
+ padding: 0px;
3388
+ gap: 4px;
3389
+ border-radius: var(--space-factor);
3390
+ overflow-x: auto;
3391
+ scrollbar-width: none;
3392
+ -ms-overflow-style: none;
3393
+ justify-content: space-between;
3394
+ }
3395
+ .excalidraw .mobile-toolbar::-webkit-scrollbar {
3396
+ display: none;
3397
+ }
3398
+ .excalidraw .mobile-toolbar .ToolIcon {
3399
+ min-width: 2rem;
3400
+ min-height: 2rem;
3401
+ border-radius: 4px;
3402
+ display: flex;
3403
+ align-items: center;
3404
+ justify-content: center;
3405
+ flex-shrink: 0;
3406
+ }
3407
+ .excalidraw .mobile-toolbar .ToolIcon .ToolIcon__icon {
3408
+ width: 2.25rem;
3409
+ height: 2.25rem;
3410
+ }
3411
+ .excalidraw .mobile-toolbar .ToolIcon .ToolIcon__icon:hover {
3412
+ background-color: transparent;
3413
+ }
3414
+ .excalidraw .mobile-toolbar .ToolIcon.active {
3415
+ background: var(--color-surface-primary-container, var(--island-bg-color));
3416
+ border-color: var(--button-active-border, var(--color-primary-darkest));
3417
+ }
3418
+ .excalidraw .mobile-toolbar .ToolIcon svg {
3419
+ width: 1rem;
3420
+ height: 1rem;
3421
+ }
3422
+ .excalidraw .mobile-toolbar .App-toolbar__extra-tools-dropdown {
3423
+ min-width: 160px;
3424
+ z-index: var(--zIndex-layerUI);
3425
+ }
3426
+ .excalidraw .mobile-toolbar-separator {
3427
+ width: 1px;
3428
+ height: 24px;
3429
+ background: var(--default-border-color);
3430
+ margin: 0 2px;
3431
+ flex-shrink: 0;
3432
+ }
3433
+ .excalidraw .mobile-toolbar-undo {
3434
+ display: flex;
3435
+ align-items: center;
3436
+ }
3437
+ .excalidraw .mobile-toolbar-undo .ToolIcon {
3438
+ min-width: 32px;
3439
+ min-height: 32px;
3440
+ width: 32px;
3441
+ height: 32px;
3442
+ }
3443
+
3108
3444
  /* components/FixedSideContainer.scss */
3109
3445
  .excalidraw .FixedSideContainer {
3110
3446
  position: absolute;
@@ -3123,34 +3459,6 @@
3123
3459
  right: 42px;
3124
3460
  }
3125
3461
 
3126
- /* components/HintViewer.scss */
3127
- .excalidraw .HintViewer {
3128
- pointer-events: none;
3129
- box-sizing: border-box;
3130
- position: absolute;
3131
- display: flex;
3132
- flex-direction: column;
3133
- justify-content: center;
3134
- left: 0;
3135
- top: 100%;
3136
- max-width: 100%;
3137
- width: 100%;
3138
- margin-top: 0.5rem;
3139
- text-align: center;
3140
- color: var(--color-gray-40);
3141
- font-size: 0.75rem;
3142
- }
3143
- .excalidraw--mobile.excalidraw .HintViewer {
3144
- position: static;
3145
- padding-right: 2rem;
3146
- }
3147
- .excalidraw .HintViewer > span {
3148
- padding: 0.25rem;
3149
- }
3150
- .excalidraw.theme--dark .HintViewer {
3151
- color: var(--color-gray-60);
3152
- }
3153
-
3154
3462
  /* components/PasteChartDialog.scss */
3155
3463
  .excalidraw--mobile.excalidraw .PasteChartDialog .Island {
3156
3464
  display: flex;
@@ -3409,9 +3717,17 @@
3409
3717
  .excalidraw .sidebar-trigger.active svg {
3410
3718
  color: var(--button-color, var(--color-on-primary-container));
3411
3719
  }
3720
+ .excalidraw--mobile.excalidraw .sidebar-trigger {
3721
+ width: var(--mobile-action-button-size, var(--default-button-size));
3722
+ height: var(--mobile-action-button-size, var(--default-button-size));
3723
+ }
3412
3724
  .excalidraw .sidebar-trigger:active {
3413
3725
  box-shadow: 0 0 0 1px var(--color-brand-active);
3414
3726
  }
3727
+ .excalidraw--mobile.excalidraw .sidebar-trigger {
3728
+ width: var(--mobile-action-button-size, 2rem);
3729
+ height: var(--mobile-action-button-size, 2rem);
3730
+ }
3415
3731
  .excalidraw .sidebar-trigger svg {
3416
3732
  width: var(--lg-icon-size);
3417
3733
  height: var(--lg-icon-size);
@@ -3435,7 +3751,7 @@
3435
3751
  top: 0;
3436
3752
  bottom: 0;
3437
3753
  right: 0;
3438
- z-index: 5;
3754
+ z-index: var(--zIndex-ui-library);
3439
3755
  margin: 0;
3440
3756
  padding: 0;
3441
3757
  box-sizing: border-box;
@@ -3526,6 +3842,10 @@
3526
3842
  .excalidraw .sidebar__header__buttons button.active svg {
3527
3843
  color: var(--button-color, var(--color-on-primary-container));
3528
3844
  }
3845
+ .excalidraw--mobile.excalidraw .sidebar__header__buttons button {
3846
+ width: var(--mobile-action-button-size, var(--default-button-size));
3847
+ height: var(--mobile-action-button-size, var(--default-button-size));
3848
+ }
3529
3849
  .excalidraw .sidebar__header__buttons button svg {
3530
3850
  width: var(--lg-icon-size);
3531
3851
  height: var(--lg-icon-size);
@@ -4096,18 +4416,44 @@
4096
4416
  flex: 1 1 0;
4097
4417
  display: flex;
4098
4418
  flex-direction: column;
4419
+ padding: 0 0.75rem;
4099
4420
  gap: 0.125rem;
4100
4421
  }
4422
+ .excalidraw .layer-ui__search .collapsible-items {
4423
+ gap: 2px;
4424
+ }
4425
+ .excalidraw .layer-ui__search-result-title {
4426
+ font-size: 0.875rem;
4427
+ margin-bottom: 0.25rem;
4428
+ display: flex;
4429
+ align-items: center;
4430
+ gap: 0.25rem;
4431
+ font-weight: 700;
4432
+ }
4433
+ .excalidraw .layer-ui__search-result-title .title-icon {
4434
+ width: 0.875rem;
4435
+ height: 0.875rem;
4436
+ margin-right: 0.25rem;
4437
+ }
4438
+ .excalidraw .layer-ui__search-result-title .title-icon svg g {
4439
+ stroke-width: 1.25;
4440
+ }
4441
+ .excalidraw .layer-ui__divider {
4442
+ width: 100%;
4443
+ margin-top: 0.25rem;
4444
+ margin-bottom: 1rem;
4445
+ position: relative;
4446
+ }
4101
4447
  .excalidraw .layer-ui__result-item {
4102
4448
  display: flex;
4103
4449
  align-items: center;
4104
- min-height: 2rem;
4450
+ min-height: 1.875rem;
4105
4451
  flex: 0 0 auto;
4106
4452
  padding: 0.25rem 0.75rem;
4107
4453
  cursor: pointer;
4108
4454
  border: 1px solid transparent;
4109
4455
  outline: none;
4110
- margin: 0 0.75rem;
4456
+ font-size: 16px;
4111
4457
  border-radius: var(--border-radius-md);
4112
4458
  }
4113
4459
  .excalidraw .layer-ui__result-item .text-icon {
@@ -4704,6 +5050,34 @@
4704
5050
  line-height: 1;
4705
5051
  }
4706
5052
 
5053
+ /* components/HintViewer.scss */
5054
+ .excalidraw .HintViewer {
5055
+ pointer-events: none;
5056
+ box-sizing: border-box;
5057
+ position: absolute;
5058
+ display: flex;
5059
+ flex-direction: column;
5060
+ justify-content: center;
5061
+ left: 0;
5062
+ top: 100%;
5063
+ max-width: 100%;
5064
+ width: 100%;
5065
+ margin-top: 0.5rem;
5066
+ text-align: center;
5067
+ color: var(--color-gray-40);
5068
+ font-size: 0.75rem;
5069
+ }
5070
+ .excalidraw--mobile.excalidraw .HintViewer {
5071
+ position: static;
5072
+ padding-right: 2rem;
5073
+ }
5074
+ .excalidraw .HintViewer > span {
5075
+ padding: 0.25rem;
5076
+ }
5077
+ .excalidraw.theme--dark .HintViewer {
5078
+ color: var(--color-gray-60);
5079
+ }
5080
+
4707
5081
  /* components/Switch.scss */
4708
5082
  .excalidraw {
4709
5083
  --Switch-disabled-color: var(--color-border-outline);
@@ -5102,6 +5476,9 @@
5102
5476
  gap: 0.75rem;
5103
5477
  pointer-events: none !important;
5104
5478
  }
5479
+ .excalidraw .layer-ui__wrapper__top-right--compact {
5480
+ gap: 0.5rem;
5481
+ }
5105
5482
  .excalidraw .layer-ui__wrapper__top-right > * {
5106
5483
  pointer-events: var(--ui-pointerEvents);
5107
5484
  }
@@ -5180,6 +5557,12 @@
5180
5557
  .excalidraw .App-toolbar.zen-mode .HintViewer {
5181
5558
  display: none;
5182
5559
  }
5560
+ .excalidraw .App-toolbar--compact .ToolIcon__keybinding {
5561
+ display: none;
5562
+ }
5563
+ .excalidraw .App-toolbar--compact .App-toolbar__divider {
5564
+ margin: 0;
5565
+ }
5183
5566
  .excalidraw .App-toolbar__divider {
5184
5567
  width: 1px;
5185
5568
  height: 1.5rem;
@@ -5199,6 +5582,9 @@
5199
5582
  background-color: var(--button-hover-bg);
5200
5583
  box-shadow: 0 0 0 1px var(--button-active-border, var(--color-primary-darkest)) inset;
5201
5584
  }
5585
+ .excalidraw .App-toolbar__extra-tools-trigger:hover {
5586
+ background-color: transparent;
5587
+ }
5202
5588
  .excalidraw .App-toolbar__extra-tools-trigger--selected,
5203
5589
  .excalidraw .App-toolbar__extra-tools-trigger--selected:hover {
5204
5590
  background: var(--color-primary-light);
@@ -5271,6 +5657,37 @@
5271
5657
  }
5272
5658
  }
5273
5659
 
5660
+ /* components/UnlockPopup.scss */
5661
+ .excalidraw .UnlockPopup {
5662
+ position: absolute;
5663
+ z-index: var(--zIndex-interactiveCanvas);
5664
+ display: flex;
5665
+ justify-content: center;
5666
+ align-items: center;
5667
+ gap: 0.5rem;
5668
+ border-radius: 0.5rem;
5669
+ background: var(--island-bg-color);
5670
+ box-shadow: var(--shadow-island);
5671
+ padding: 0.8rem;
5672
+ cursor: pointer;
5673
+ color: var(--color-gray-60);
5674
+ }
5675
+ .excalidraw .UnlockPopup:focus {
5676
+ outline: none;
5677
+ }
5678
+ .excalidraw .UnlockPopup svg {
5679
+ display: block;
5680
+ width: 1.25rem;
5681
+ height: 1.25rem;
5682
+ color: var(--color-gray-60);
5683
+ }
5684
+ .excalidraw .UnlockPopup:hover svg {
5685
+ color: var(--color-primary);
5686
+ }
5687
+ .excalidraw .UnlockPopup:active svg {
5688
+ transform: scale(0.95);
5689
+ }
5690
+
5274
5691
  /* components/footer/FooterCenter.scss */
5275
5692
  .footer-center {
5276
5693
  pointer-events: none;
@@ -5337,6 +5754,8 @@
5337
5754
 
5338
5755
  /* components/ExcalidrawLogo.scss */
5339
5756
  .excalidraw .ExcalidrawLogo {
5757
+ --logo-icon--mobile: 1rem;
5758
+ --logo-text--mobile: 0.75rem;
5340
5759
  --logo-icon--xs: 2rem;
5341
5760
  --logo-text--xs: 1.5rem;
5342
5761
  --logo-icon--small: 2.5rem;
@@ -5360,6 +5779,13 @@
5360
5779
  width: auto;
5361
5780
  color: var(--color-logo-text);
5362
5781
  }
5782
+ .excalidraw .ExcalidrawLogo.is-mobile .ExcalidrawLogo-icon {
5783
+ height: var(--logo-icon--mobile);
5784
+ }
5785
+ .excalidraw .ExcalidrawLogo.is-mobile .ExcalidrawLogo-text {
5786
+ height: var(--logo-text--mobile);
5787
+ margin-left: 0.5rem;
5788
+ }
5363
5789
  .excalidraw .ExcalidrawLogo.is-xs .ExcalidrawLogo-icon {
5364
5790
  height: var(--logo-icon--xs);
5365
5791
  }
@@ -5576,15 +6002,8 @@
5576
6002
  .excalidraw.theme--dark .welcome-screen-menu-item:active .welcome-screen-menu-item__text {
5577
6003
  color: var(--color-gray-10);
5578
6004
  }
5579
- @media (max-height: 599px) {
5580
- .excalidraw .welcome-screen-center {
5581
- margin-top: 4rem;
5582
- }
5583
- }
5584
- @media (min-height: 600px) and (max-height: 900px) {
5585
- .excalidraw .welcome-screen-center {
5586
- margin-top: 8rem;
5587
- }
6005
+ .excalidraw.excalidraw--mobile .welcome-screen-center {
6006
+ margin-bottom: 2rem;
5588
6007
  }
5589
6008
  @media (max-height: 500px), (max-width: 320px) {
5590
6009
  .excalidraw .welcome-screen-center {
@@ -5635,6 +6054,8 @@
5635
6054
  --button-gray-1: #e9ecef;
5636
6055
  --button-gray-2: #ced4da;
5637
6056
  --button-gray-3: #adb5bd;
6057
+ --mobile-action-button-bg: rgba(255, 255, 255, 0.35);
6058
+ --mobile-color-border: var(--default-border-color);
5638
6059
  --button-special-active-bg-color: #ebfbee;
5639
6060
  --dialog-border-color: var(--color-gray-20);
5640
6061
  --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
@@ -5668,6 +6089,7 @@
5668
6089
  --lg-button-size: 2.25rem;
5669
6090
  --lg-icon-size: 1rem;
5670
6091
  --editor-container-padding: 1rem;
6092
+ --mobile-action-button-size: 2rem;
5671
6093
  --scrollbar-thumb: var(--button-gray-2);
5672
6094
  --scrollbar-thumb-hover: var(--button-gray-3);
5673
6095
  --color-slider-track: hsl(240, 100%, 90%);
@@ -5767,6 +6189,9 @@
5767
6189
  --color-badge: #0b6513;
5768
6190
  --background-color-badge: #d3ffd2;
5769
6191
  }
6192
+ .excalidraw--mobile.excalidraw {
6193
+ --editor-container-padding: 0.75rem;
6194
+ }
5770
6195
  @media screen and (min-device-width: 1921px) {
5771
6196
  .excalidraw {
5772
6197
  --lg-button-size: 2.5rem;
@@ -5785,6 +6210,8 @@
5785
6210
  --button-gray-1: #363636;
5786
6211
  --button-gray-2: #272727;
5787
6212
  --button-gray-3: #222;
6213
+ --mobile-action-button-bg: var(--island-bg-color);
6214
+ --mobile-color-border: rgba(255, 255, 255, 0.85);
5788
6215
  --button-special-active-bg-color: #204624;
5789
6216
  --dialog-border-color: var(--color-gray-80);
5790
6217
  --dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');
@@ -5870,6 +6297,10 @@
5870
6297
  --zIndex-eyeDropperBackdrop: 5;
5871
6298
  --zIndex-eyeDropperPreview: 6;
5872
6299
  --zIndex-hyperlinkContainer: 7;
6300
+ --zIndex-ui-styles-popup: 40;
6301
+ --zIndex-ui-bottom: 60;
6302
+ --zIndex-ui-library: 80;
6303
+ --zIndex-ui-top: 100;
5873
6304
  --zIndex-modal: 1000;
5874
6305
  --zIndex-popup: 1001;
5875
6306
  --zIndex-toast: 999999;
@@ -5907,6 +6338,12 @@ body.excalidraw-cursor-resize * {
5907
6338
  width: 100%;
5908
6339
  user-select: none;
5909
6340
  }
6341
+ .excalidraw button,
6342
+ .excalidraw label {
6343
+ -webkit-tap-highlight-color: transparent;
6344
+ -webkit-touch-callout: none;
6345
+ user-select: none;
6346
+ }
5910
6347
  .excalidraw button {
5911
6348
  cursor: pointer;
5912
6349
  user-select: none;
@@ -5970,14 +6407,14 @@ body.excalidraw-cursor-resize * {
5970
6407
  display: flex;
5971
6408
  justify-content: space-between;
5972
6409
  }
5973
- .excalidraw .panelColumn {
6410
+ .excalidraw .selected-shape-actions {
5974
6411
  display: flex;
5975
6412
  flex-direction: column;
5976
6413
  row-gap: 0.75rem;
5977
6414
  }
5978
- .excalidraw .panelColumn h3,
5979
- .excalidraw .panelColumn legend,
5980
- .excalidraw .panelColumn .control-label {
6415
+ .excalidraw .selected-shape-actions h3,
6416
+ .excalidraw .selected-shape-actions legend,
6417
+ .excalidraw .selected-shape-actions .control-label {
5981
6418
  margin: 0;
5982
6419
  margin-bottom: 0.25rem;
5983
6420
  font-size: 0.75rem;
@@ -5985,36 +6422,36 @@ body.excalidraw-cursor-resize * {
5985
6422
  font-weight: 400;
5986
6423
  display: block;
5987
6424
  }
5988
- .excalidraw .panelColumn .control-label input {
6425
+ .excalidraw .selected-shape-actions .control-label input {
5989
6426
  display: block;
5990
6427
  width: 100%;
5991
6428
  }
5992
- .excalidraw .panelColumn legend {
6429
+ .excalidraw .selected-shape-actions legend {
5993
6430
  padding: 0;
5994
6431
  }
5995
- .excalidraw .panelColumn .iconSelectList {
6432
+ .excalidraw .selected-shape-actions .iconSelectList {
5996
6433
  flex-wrap: wrap;
5997
6434
  position: relative;
5998
6435
  }
5999
- .excalidraw .panelColumn .buttonList {
6436
+ .excalidraw .selected-shape-actions .buttonList {
6000
6437
  flex-wrap: wrap;
6001
6438
  display: flex;
6002
6439
  column-gap: 0.5rem;
6003
6440
  row-gap: 0.5rem;
6004
6441
  }
6005
- .excalidraw .panelColumn .buttonList label {
6442
+ .excalidraw .selected-shape-actions .buttonList label {
6006
6443
  font-size: 0.75rem;
6007
6444
  }
6008
- .excalidraw .panelColumn .buttonList input[type=radio],
6009
- .excalidraw .panelColumn .buttonList input[type=button] {
6445
+ .excalidraw .selected-shape-actions .buttonList input[type=radio],
6446
+ .excalidraw .selected-shape-actions .buttonList input[type=button] {
6010
6447
  opacity: 0;
6011
6448
  position: absolute;
6012
6449
  pointer-events: none;
6013
6450
  }
6014
- .excalidraw .panelColumn .buttonList .iconRow {
6451
+ .excalidraw .selected-shape-actions .buttonList .iconRow {
6015
6452
  margin-top: 8px;
6016
6453
  }
6017
- .excalidraw .panelColumn fieldset {
6454
+ .excalidraw .selected-shape-actions fieldset {
6018
6455
  margin: 0;
6019
6456
  padding: 0;
6020
6457
  border: none;
@@ -6094,6 +6531,12 @@ body.excalidraw-cursor-resize * {
6094
6531
  .excalidraw .buttonList .zIndexButton.active svg {
6095
6532
  color: var(--button-color, var(--color-on-primary-container));
6096
6533
  }
6534
+ .excalidraw--mobile.excalidraw .buttonList label,
6535
+ .excalidraw .buttonList button,
6536
+ .excalidraw .buttonList .zIndexButton {
6537
+ width: var(--mobile-action-button-size, var(--default-button-size));
6538
+ height: var(--mobile-action-button-size, var(--default-button-size));
6539
+ }
6097
6540
  .excalidraw .buttonList label svg,
6098
6541
  .excalidraw .buttonList button svg,
6099
6542
  .excalidraw .buttonList .zIndexButton svg {
@@ -6101,42 +6544,38 @@ body.excalidraw-cursor-resize * {
6101
6544
  height: var(--default-icon-size);
6102
6545
  }
6103
6546
  .excalidraw .App-top-bar {
6104
- z-index: var(--zIndex-layerUI);
6547
+ z-index: var(--zIndex-ui-top);
6105
6548
  display: flex;
6106
6549
  flex-direction: column;
6107
- align-items: center;
6550
+ }
6551
+ .excalidraw .App-welcome-screen {
6552
+ z-index: var(--zIndex-layerUI);
6108
6553
  }
6109
6554
  .excalidraw .App-bottom-bar {
6110
6555
  position: absolute;
6111
- top: 0;
6556
+ width: calc(100% - 28px);
6557
+ max-width: 450px;
6112
6558
  bottom: 0;
6113
- left: 0;
6114
- right: 0;
6559
+ left: 50%;
6560
+ transform: translateX(-50%);
6115
6561
  --bar-padding: calc(4 * var(--space-factor));
6116
- padding-top: max(var(--bar-padding), var(--sat,0));
6117
- padding-right: var(--sar, 0);
6118
- padding-bottom: var(--sab, 0);
6119
- padding-left: var(--sal, 0);
6120
- z-index: 4;
6562
+ z-index: var(--zIndex-ui-bottom);
6121
6563
  display: flex;
6122
- align-items: flex-end;
6564
+ flex-direction: column;
6123
6565
  pointer-events: none;
6566
+ justify-content: center;
6124
6567
  }
6125
6568
  .excalidraw .App-bottom-bar > .Island {
6126
- width: 100%;
6127
- max-width: 100%;
6128
- min-width: 100%;
6129
6569
  box-sizing: border-box;
6130
6570
  max-height: 100%;
6571
+ padding: 4px;
6131
6572
  display: flex;
6132
6573
  flex-direction: column;
6133
6574
  pointer-events: var(--ui-pointerEvents);
6134
6575
  }
6135
- .excalidraw .App-bottom-bar > .Island .panelColumn {
6136
- padding: 8px 8px 0 8px;
6137
- }
6138
6576
  .excalidraw .App-toolbar {
6139
- width: 100%;
6577
+ display: flex;
6578
+ justify-content: center;
6140
6579
  }
6141
6580
  .excalidraw .App-toolbar .eraser.ToolIcon:hover {
6142
6581
  --icon-fill-color: #fff;
@@ -6145,15 +6584,18 @@ body.excalidraw-cursor-resize * {
6145
6584
  .excalidraw .App-toolbar .eraser.active {
6146
6585
  background-color: var(--color-primary);
6147
6586
  }
6148
- .excalidraw .App-toolbar-content {
6587
+ .excalidraw .excalidraw-ui-top-left {
6149
6588
  display: flex;
6150
6589
  align-items: center;
6151
- justify-content: space-between;
6152
- padding: 8px;
6590
+ gap: 0.5rem;
6153
6591
  }
6154
- .excalidraw .App-toolbar-content .dropdown-menu--mobile {
6155
- bottom: 55px;
6156
- top: auto;
6592
+ .excalidraw .App-toolbar-content {
6593
+ display: flex;
6594
+ flex-direction: column;
6595
+ pointer-events: none;
6596
+ }
6597
+ .excalidraw .App-toolbar-content > * {
6598
+ pointer-events: var(--ui-pointerEvents);
6157
6599
  }
6158
6600
  .excalidraw .App-mobile-menu {
6159
6601
  width: 100%;
@@ -6162,6 +6604,9 @@ body.excalidraw-cursor-resize * {
6162
6604
  box-sizing: border-box;
6163
6605
  margin-bottom: var(--bar-padding);
6164
6606
  }
6607
+ .excalidraw .App-mobile-menu .selected-shape-actions {
6608
+ padding: 8px 8px 0 8px;
6609
+ }
6165
6610
  .excalidraw .App-menu {
6166
6611
  display: grid;
6167
6612
  color: var(--icon-fill-color);
@@ -6176,7 +6621,7 @@ body.excalidraw-cursor-resize * {
6176
6621
  }
6177
6622
  .excalidraw .App-menu_top {
6178
6623
  grid-template-columns: 1fr 2fr 1fr;
6179
- grid-gap: 2rem;
6624
+ grid-gap: 1rem;
6180
6625
  align-items: flex-start;
6181
6626
  cursor: default;
6182
6627
  pointer-events: none !important;
@@ -6193,6 +6638,12 @@ body.excalidraw-cursor-resize * {
6193
6638
  .excalidraw .App-menu_top > *:first-child {
6194
6639
  justify-self: flex-start;
6195
6640
  }
6641
+ .excalidraw .selected-shape-actions-container {
6642
+ width: fit-content;
6643
+ }
6644
+ .excalidraw .selected-shape-actions-container--compact {
6645
+ min-width: 48px;
6646
+ }
6196
6647
  .excalidraw .App-menu_top > *:last-child {
6197
6648
  justify-self: flex-end;
6198
6649
  }
@@ -6337,9 +6788,17 @@ body.excalidraw-cursor-resize * {
6337
6788
  .excalidraw .help-icon.active svg {
6338
6789
  color: var(--button-color, var(--color-on-primary-container));
6339
6790
  }
6791
+ .excalidraw--mobile.excalidraw .help-icon {
6792
+ width: var(--mobile-action-button-size, var(--default-button-size));
6793
+ height: var(--mobile-action-button-size, var(--default-button-size));
6794
+ }
6340
6795
  .excalidraw .help-icon:active {
6341
6796
  box-shadow: 0 0 0 1px var(--color-brand-active);
6342
6797
  }
6798
+ .excalidraw--mobile.excalidraw .help-icon {
6799
+ width: var(--mobile-action-button-size, 2rem);
6800
+ height: var(--mobile-action-button-size, 2rem);
6801
+ }
6343
6802
  .excalidraw .help-icon svg {
6344
6803
  width: var(--lg-icon-size);
6345
6804
  height: var(--lg-icon-size);
@@ -6367,7 +6826,7 @@ body.excalidraw-cursor-resize * {
6367
6826
  display: none;
6368
6827
  }
6369
6828
  .excalidraw--mobile.excalidraw .scroll-back-to-content {
6370
- bottom: calc(80px + var(--sab, 0));
6829
+ bottom: calc(100px + var(--sab, 0));
6371
6830
  z-index: -1;
6372
6831
  }
6373
6832
  :root[dir=rtl] .excalidraw .rtl-mirror {
@@ -6488,6 +6947,10 @@ body.excalidraw-cursor-resize * {
6488
6947
  .excalidraw .main-menu-trigger:active {
6489
6948
  box-shadow: 0 0 0 1px var(--color-brand-active);
6490
6949
  }
6950
+ .excalidraw--mobile.excalidraw .main-menu-trigger {
6951
+ width: var(--mobile-action-button-size, 2rem);
6952
+ height: var(--mobile-action-button-size, 2rem);
6953
+ }
6491
6954
  .excalidraw .App-mobile-menu,
6492
6955
  .excalidraw .App-menu__left {
6493
6956
  --button-border: transparent;