@tldraw/tldraw 4.5.2 → 4.6.0-canary.00a8c03b5687

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist-cjs/index.js CHANGED
@@ -19,7 +19,7 @@ var import_tldraw = require("tldraw");
19
19
  __reExport(index_exports, require("tldraw"), module.exports);
20
20
  (0, import_tldraw.registerTldrawLibraryVersion)(
21
21
  "@tldraw/tldraw",
22
- "4.5.2",
22
+ "4.6.0-canary.00a8c03b5687",
23
23
  "cjs"
24
24
  );
25
25
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "sourcesContent": ["import { registerTldrawLibraryVersion } from 'tldraw'\n// eslint-disable-next-line local/no-export-star\nexport * from 'tldraw'\n\nregisterTldrawLibraryVersion(\n\t(globalThis as any).TLDRAW_LIBRARY_NAME,\n\t(globalThis as any).TLDRAW_LIBRARY_VERSION,\n\t(globalThis as any).TLDRAW_LIBRARY_MODULES\n)\n"],
4
+ "sourcesContent": ["import { registerTldrawLibraryVersion } from 'tldraw'\n// eslint-disable-next-line tldraw/no-export-star\nexport * from 'tldraw'\n\nregisterTldrawLibraryVersion(\n\t(globalThis as any).TLDRAW_LIBRARY_NAME,\n\t(globalThis as any).TLDRAW_LIBRARY_VERSION,\n\t(globalThis as any).TLDRAW_LIBRARY_MODULES\n)\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,oBAA6C;AAE7C,0BAAc,mBAFd;AAAA,IAIA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF;",
6
6
  "names": []
7
7
  }
@@ -2,7 +2,7 @@ import { registerTldrawLibraryVersion } from "tldraw";
2
2
  export * from "tldraw";
3
3
  registerTldrawLibraryVersion(
4
4
  "@tldraw/tldraw",
5
- "4.5.2",
5
+ "4.6.0-canary.00a8c03b5687",
6
6
  "esm"
7
7
  );
8
8
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "sourcesContent": ["import { registerTldrawLibraryVersion } from 'tldraw'\n// eslint-disable-next-line local/no-export-star\nexport * from 'tldraw'\n\nregisterTldrawLibraryVersion(\n\t(globalThis as any).TLDRAW_LIBRARY_NAME,\n\t(globalThis as any).TLDRAW_LIBRARY_VERSION,\n\t(globalThis as any).TLDRAW_LIBRARY_MODULES\n)\n"],
4
+ "sourcesContent": ["import { registerTldrawLibraryVersion } from 'tldraw'\n// eslint-disable-next-line tldraw/no-export-star\nexport * from 'tldraw'\n\nregisterTldrawLibraryVersion(\n\t(globalThis as any).TLDRAW_LIBRARY_NAME,\n\t(globalThis as any).TLDRAW_LIBRARY_VERSION,\n\t(globalThis as any).TLDRAW_LIBRARY_MODULES\n)\n"],
5
5
  "mappings": "AAAA,SAAS,oCAAoC;AAE7C,cAAc;AAEd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AACF;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tldraw/tldraw",
3
3
  "description": "A tiny little drawing editor.",
4
- "version": "4.5.2",
4
+ "version": "4.6.0-canary.00a8c03b5687",
5
5
  "author": {
6
6
  "name": "tldraw Inc.",
7
7
  "email": "hello@tldraw.com"
@@ -38,7 +38,7 @@
38
38
  "prepack": "yarn run -T tsx ../../internal/scripts/prepack.ts",
39
39
  "postpack": "../../internal/scripts/postpack.sh",
40
40
  "pack-tarball": "yarn pack",
41
- "lint": "yarn run -T tsx ../../internal/scripts/lint.ts"
41
+ "lint": "cd ../.. && yarn run -T oxlint packages/namespaced-tldraw"
42
42
  },
43
43
  "files": [
44
44
  "tldraw.css",
@@ -47,7 +47,7 @@
47
47
  "src"
48
48
  ],
49
49
  "dependencies": {
50
- "tldraw": "4.5.2"
50
+ "tldraw": "4.6.0-canary.00a8c03b5687"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "react": "^18.2.0 || ^19.2.1",
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { registerTldrawLibraryVersion } from 'tldraw'
2
- // eslint-disable-next-line local/no-export-star
2
+ // eslint-disable-next-line tldraw/no-export-star
3
3
  export * from 'tldraw'
4
4
 
5
5
  registerTldrawLibraryVersion(
package/tldraw.css CHANGED
@@ -1892,7 +1892,7 @@ it from receiving any pointer events or affecting the cursor. */
1892
1892
  .tlui-button__label {
1893
1893
  font-size: 12px;
1894
1894
  flex-grow: 2;
1895
- text-align: left;
1895
+ text-align: start;
1896
1896
  }
1897
1897
 
1898
1898
  /*
@@ -1955,7 +1955,7 @@ it from receiving any pointer events or affecting the cursor. */
1955
1955
  }
1956
1956
 
1957
1957
  .tlui-button__icon + .tlui-button__label {
1958
- margin-left: var(--tl-space-2);
1958
+ margin-inline-start: var(--tl-space-2);
1959
1959
  }
1960
1960
 
1961
1961
  /* Low button */
@@ -2014,7 +2014,7 @@ it from receiving any pointer events or affecting the cursor. */
2014
2014
  }
2015
2015
 
2016
2016
  .tlui-button__menu > .tlui-icon + .tlui-button__label {
2017
- margin-left: 0px;
2017
+ margin-inline-start: 0px;
2018
2018
  }
2019
2019
 
2020
2020
  .tlui-button__menu:nth-child(1) {
@@ -2417,7 +2417,7 @@ it from receiving any pointer events or affecting the cursor. */
2417
2417
  grid-auto-columns: minmax(1em, auto);
2418
2418
  align-self: bottom;
2419
2419
  color: currentColor;
2420
- margin-left: var(--tl-space-4);
2420
+ margin-inline-start: var(--tl-space-4);
2421
2421
  }
2422
2422
 
2423
2423
  .tlui-kbd > span {
@@ -2430,11 +2430,11 @@ it from receiving any pointer events or affecting the cursor. */
2430
2430
  }
2431
2431
 
2432
2432
  .tlui-kbd > span:last-child {
2433
- padding-right: 0;
2433
+ padding-inline-end: 0;
2434
2434
  }
2435
2435
 
2436
2436
  .tlui-kbd:not(:last-child) {
2437
- margin-right: var(--tl-space-2);
2437
+ margin-inline-end: var(--tl-space-2);
2438
2438
  }
2439
2439
 
2440
2440
  /* Focus Mode Button */
@@ -2614,7 +2614,7 @@ it from receiving any pointer events or affecting the cursor. */
2614
2614
  align-items: center;
2615
2615
  width: 100%;
2616
2616
  height: 40px;
2617
- padding-left: var(--tl-space-4);
2617
+ padding-inline-start: var(--tl-space-4);
2618
2618
  border-bottom: 1px solid var(--tl-color-divider);
2619
2619
  }
2620
2620
 
@@ -2630,7 +2630,7 @@ it from receiving any pointer events or affecting the cursor. */
2630
2630
 
2631
2631
  .tlui-page-menu__name {
2632
2632
  flex-grow: 2;
2633
- text-align: left;
2633
+ text-align: start;
2634
2634
  overflow: hidden;
2635
2635
  text-overflow: ellipsis;
2636
2636
  white-space: nowrap;
@@ -2670,41 +2670,41 @@ it from receiving any pointer events or affecting the cursor. */
2670
2670
 
2671
2671
  .tlui-page-menu__item__button:not(:only-child) {
2672
2672
  flex-grow: 2;
2673
- margin-right: -2px;
2673
+ margin-inline-end: -2px;
2674
2674
  }
2675
2675
 
2676
2676
  .tlui-page-menu__item__button > span {
2677
2677
  display: block;
2678
2678
  flex-grow: 2;
2679
- text-align: left;
2679
+ text-align: start;
2680
2680
  overflow: hidden;
2681
2681
  text-overflow: ellipsis;
2682
2682
  white-space: nowrap;
2683
2683
  }
2684
2684
 
2685
2685
  .tlui-page-menu__item__button > span {
2686
- padding-right: calc(40px - 12px);
2686
+ padding-inline-end: calc(40px - 12px);
2687
2687
  }
2688
2688
 
2689
2689
  @media (hover: hover) {
2690
2690
  .tlui-page-menu__item__button > span {
2691
- padding-right: 0px;
2691
+ padding-inline-end: 0px;
2692
2692
  }
2693
2693
 
2694
2694
  .tlui-page-menu__item:hover > .tlui-page-menu__item__button > span {
2695
- padding-right: calc(40px - 12px);
2695
+ padding-inline-end: calc(40px - 12px);
2696
2696
  }
2697
2697
  }
2698
2698
 
2699
2699
  .tlui-page-menu__item__button__checkbox {
2700
- padding-left: 35px;
2700
+ padding-inline-start: 35px;
2701
2701
  }
2702
2702
 
2703
2703
  .tlui-page-menu__item__button__check {
2704
2704
  position: absolute;
2705
- left: 0px;
2705
+ inset-inline-start: 0px;
2706
2706
  width: 24px;
2707
- padding-left: 10px;
2707
+ padding-inline-start: 10px;
2708
2708
  display: inline-flex;
2709
2709
  align-items: center;
2710
2710
  justify-content: center;
@@ -2714,7 +2714,7 @@ it from receiving any pointer events or affecting the cursor. */
2714
2714
  .tlui-page_menu__item__sortable {
2715
2715
  position: absolute;
2716
2716
  top: 0px;
2717
- left: 0px;
2717
+ inset-inline-start: 0px;
2718
2718
  width: 100%;
2719
2719
  height: fit-content;
2720
2720
  display: flex;
@@ -2744,7 +2744,7 @@ it from receiving any pointer events or affecting the cursor. */
2744
2744
  cursor: grab;
2745
2745
  color: var(--tl-color-text-3);
2746
2746
  flex-shrink: 0;
2747
- margin-right: -9px;
2747
+ margin-inline-end: -9px;
2748
2748
  }
2749
2749
 
2750
2750
  .tlui-page_menu__item__sortable__handle:active {
@@ -2752,7 +2752,7 @@ it from receiving any pointer events or affecting the cursor. */
2752
2752
  }
2753
2753
 
2754
2754
  .tlui-page-menu__item__input {
2755
- margin-left: 12px;
2755
+ margin-inline-start: 12px;
2756
2756
  height: 100%;
2757
2757
  }
2758
2758
 
@@ -2763,12 +2763,12 @@ it from receiving any pointer events or affecting the cursor. */
2763
2763
  .tlui-page_menu__item__submenu {
2764
2764
  pointer-events: all;
2765
2765
  position: absolute;
2766
- right: 0px;
2766
+ inset-inline-end: 0px;
2767
2767
  top: 0px;
2768
2768
  height: 100%;
2769
2769
  cursor: pointer;
2770
2770
  margin: 0px;
2771
- margin-left: -2px;
2771
+ margin-inline-start: -2px;
2772
2772
  z-index: 10;
2773
2773
  }
2774
2774
 
@@ -2788,11 +2788,21 @@ it from receiving any pointer events or affecting the cursor. */
2788
2788
  opacity: 1;
2789
2789
  }
2790
2790
 
2791
+ .tl-container[dir='rtl'] .tlui-page_menu__item__submenu > .tlui-button[data-state='open']::after {
2792
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
2793
+ }
2794
+
2791
2795
  @media (hover: hover) {
2792
2796
  .tlui-page_menu__item__submenu > .tlui-button[data-state='open']:not(:hover)::after {
2793
2797
  background: linear-gradient(90deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
2794
2798
  opacity: 1;
2795
2799
  }
2800
+
2801
+ .tl-container[dir='rtl']
2802
+ .tlui-page_menu__item__submenu
2803
+ > .tlui-button[data-state='open']:not(:hover)::after {
2804
+ background: linear-gradient(270deg, rgba(144, 144, 144, 0) 0%, var(--tl-color-muted-2) 100%);
2805
+ }
2796
2806
  }
2797
2807
 
2798
2808
  .tl-container[data-coarse='true'] .tlui-page_menu__item__submenu > .tlui-button {
@@ -2804,7 +2814,7 @@ it from receiving any pointer events or affecting the cursor. */
2804
2814
  }
2805
2815
 
2806
2816
  .tlui-page-menu__item__button .tlui-button__icon {
2807
- margin-right: 4px;
2817
+ margin-inline-end: 4px;
2808
2818
  }
2809
2819
 
2810
2820
  @media (hover: hover) {
@@ -3023,6 +3033,11 @@ tldraw? probably.
3023
3033
  left: 0px;
3024
3034
  }
3025
3035
 
3036
+ .tl-container[dir='rtl'] .tlui-navigation-panel {
3037
+ left: auto;
3038
+ right: 0px;
3039
+ }
3040
+
3026
3041
  .tlui-navigation-panel::before {
3027
3042
  content: '';
3028
3043
  display: block;
@@ -3036,6 +3051,14 @@ tldraw? probably.
3036
3051
  background-color: var(--tl-color-low);
3037
3052
  }
3038
3053
 
3054
+ .tl-container[dir='rtl'] .tlui-navigation-panel::before {
3055
+ inset: -2px 0px 0px -2px;
3056
+ border-right: 0;
3057
+ border-left: 2px solid var(--tl-color-background);
3058
+ border-top-right-radius: 0;
3059
+ border-top-left-radius: var(--tl-radius-4);
3060
+ }
3061
+
3039
3062
  .tlui-navigation-panel[data-a11y='true']::before {
3040
3063
  display: none;
3041
3064
  }
@@ -3270,7 +3293,7 @@ tldraw? probably.
3270
3293
  align-items: center;
3271
3294
  grid-template-columns: 1fr auto auto auto;
3272
3295
  justify-content: space-between;
3273
- padding-left: var(--tl-space-4);
3296
+ padding-inline-start: var(--tl-space-4);
3274
3297
  border-top: 1px solid var(--tl-color-background);
3275
3298
  font-size: 12px;
3276
3299
  color: var(--tl-color-text-1);
@@ -3319,13 +3342,17 @@ tldraw? probably.
3319
3342
  z-index: var(--tl-layer-toasts);
3320
3343
  }
3321
3344
 
3345
+ .tl-container[dir='rtl'] .tlui-toast__viewport {
3346
+ padding: 0px 0px 64px var(--tl-space-3);
3347
+ }
3348
+
3322
3349
  .tlui-toast__viewport > * {
3323
3350
  pointer-events: all;
3324
3351
  }
3325
3352
 
3326
3353
  .tlui-toast__icon {
3327
3354
  padding-top: 11px;
3328
- padding-left: var(--tl-space-4);
3355
+ padding-inline-start: var(--tl-space-4);
3329
3356
  color: var(--tl-color-text-1);
3330
3357
  }
3331
3358
 
@@ -3423,6 +3450,18 @@ tldraw? probably.
3423
3450
  .tlui-toast__container[data-swipe='end'] {
3424
3451
  animation: tlui-slide-out 100ms ease-out;
3425
3452
  }
3453
+
3454
+ .tl-container[dir='rtl'] .tlui-toast__container[data-state='open'] {
3455
+ animation: tlui-slide-in-rtl 200ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
3456
+ }
3457
+
3458
+ .tl-container[dir='rtl'] .tlui-toast__container[data-state='closed'] {
3459
+ animation: tlui-fade-out 100ms ease-in;
3460
+ }
3461
+
3462
+ .tl-container[dir='rtl'] .tlui-toast__container[data-swipe='end'] {
3463
+ animation: tlui-slide-out-rtl 100ms ease-out;
3464
+ }
3426
3465
  }
3427
3466
 
3428
3467
  /* ---------------- Dialog ---------------- */
@@ -3464,7 +3503,7 @@ tldraw? probably.
3464
3503
  align-items: center;
3465
3504
  flex: 0;
3466
3505
  z-index: var(--tl-layer-header-footer);
3467
- padding-left: var(--tl-space-4);
3506
+ padding-inline-start: var(--tl-space-4);
3468
3507
  color: var(--tl-color-text);
3469
3508
  height: 40px;
3470
3509
  }
@@ -3753,7 +3792,7 @@ tldraw? probably.
3753
3792
  }
3754
3793
 
3755
3794
  .tlui-people-menu__avatar:nth-of-type(n + 2) {
3756
- margin-left: -12px;
3795
+ margin-inline-start: -12px;
3757
3796
  }
3758
3797
 
3759
3798
  .tlui-people-menu__avatars-button[data-state='open'] {
@@ -3818,7 +3857,7 @@ tldraw? probably.
3818
3857
  }
3819
3858
 
3820
3859
  .tlui-people-menu__user__name {
3821
- text-align: left;
3860
+ text-align: start;
3822
3861
  overflow: hidden;
3823
3862
  text-overflow: ellipsis;
3824
3863
  white-space: nowrap;
@@ -3830,7 +3869,7 @@ tldraw? probably.
3830
3869
  }
3831
3870
 
3832
3871
  .tlui-people-menu__user__label {
3833
- text-align: left;
3872
+ text-align: start;
3834
3873
  overflow: hidden;
3835
3874
  text-overflow: ellipsis;
3836
3875
  white-space: nowrap;
@@ -3838,7 +3877,7 @@ tldraw? probably.
3838
3877
  color: var(--tl-color-text-3);
3839
3878
  flex-grow: 100;
3840
3879
  flex-shrink: 0;
3841
- margin-left: 4px;
3880
+ margin-inline-start: 4px;
3842
3881
  }
3843
3882
 
3844
3883
  .tlui-people-menu__user__input {
@@ -3881,7 +3920,7 @@ tldraw? probably.
3881
3920
  }
3882
3921
 
3883
3922
  .tlui-people-menu__name {
3884
- text-align: left;
3923
+ text-align: start;
3885
3924
  white-space: nowrap;
3886
3925
  overflow: hidden;
3887
3926
  text-overflow: ellipsis;
@@ -3890,14 +3929,14 @@ tldraw? probably.
3890
3929
  .tlui-people-menu__item__follow {
3891
3930
  position: absolute;
3892
3931
  top: 0px;
3893
- right: 0px;
3932
+ inset-inline-end: 0px;
3894
3933
  max-width: 40px;
3895
3934
  flex-shrink: 0;
3896
3935
  }
3897
3936
 
3898
3937
  .tlui-people-menu__item[data-follow='true'],
3899
3938
  .tlui-people-menu__item:has(.tlui-button:focus-visible) {
3900
- padding-right: 36px;
3939
+ padding-inline-end: 36px;
3901
3940
  }
3902
3941
 
3903
3942
  .tlui-people-menu__item[data-follow='true'] .tlui-people-menu__item__follow,
@@ -4036,3 +4075,21 @@ tldraw? probably.
4036
4075
  }
4037
4076
  }
4038
4077
 
4078
+ @keyframes tlui-slide-in-rtl {
4079
+ from {
4080
+ transform: translateX(calc(-100% - var(--tl-space-3)));
4081
+ }
4082
+ to {
4083
+ transform: translateX(0px);
4084
+ }
4085
+ }
4086
+
4087
+ @keyframes tlui-slide-out-rtl {
4088
+ from {
4089
+ transform: translateX(var(--radix-toast-swipe-end-x));
4090
+ }
4091
+ to {
4092
+ transform: translateX(calc(-100% - var(--tl-space-3)));
4093
+ }
4094
+ }
4095
+