@keenmate/svelte-treeview 4.8.0 → 5.0.0-rc02
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/README.md +106 -117
- package/ai/INDEX.txt +310 -0
- package/ai/advanced-patterns.txt +506 -0
- package/ai/basic-setup.txt +336 -0
- package/ai/context-menu.txt +349 -0
- package/ai/data-handling.txt +390 -0
- package/ai/drag-drop.txt +397 -0
- package/ai/events-callbacks.txt +382 -0
- package/ai/import-patterns.txt +271 -0
- package/ai/performance.txt +349 -0
- package/ai/search-features.txt +359 -0
- package/ai/styling-theming.txt +354 -0
- package/ai/tree-editing.txt +423 -0
- package/ai/typescript-types.txt +357 -0
- package/dist/components/Node.svelte +47 -40
- package/dist/components/Node.svelte.d.ts +1 -1
- package/dist/components/Tree.svelte +384 -1479
- package/dist/components/Tree.svelte.d.ts +30 -28
- package/dist/components/TreeProvider.svelte +28 -0
- package/dist/components/TreeProvider.svelte.d.ts +28 -0
- package/dist/constants.generated.d.ts +1 -1
- package/dist/constants.generated.js +1 -1
- package/dist/core/TreeController.svelte.d.ts +353 -0
- package/dist/core/TreeController.svelte.js +1503 -0
- package/dist/core/createTreeController.d.ts +9 -0
- package/dist/core/createTreeController.js +11 -0
- package/dist/global-api.d.ts +1 -1
- package/dist/global-api.js +5 -5
- package/dist/index.d.ts +10 -6
- package/dist/index.js +7 -3
- package/dist/logger.d.ts +7 -6
- package/dist/logger.js +0 -2
- package/dist/ltree/indexer.js +2 -4
- package/dist/ltree/ltree-node.svelte.d.ts +2 -1
- package/dist/ltree/ltree-node.svelte.js +1 -0
- package/dist/ltree/ltree.svelte.d.ts +1 -1
- package/dist/ltree/ltree.svelte.js +168 -175
- package/dist/ltree/types.d.ts +12 -8
- package/dist/perf-logger.d.ts +2 -1
- package/dist/perf-logger.js +0 -2
- package/dist/styles/main.scss +78 -78
- package/dist/styles.css +41 -41
- package/dist/styles.css.map +1 -1
- package/dist/vendor/loglevel/index.d.ts +55 -2
- package/dist/vendor/loglevel/prefix.d.ts +23 -2
- package/package.json +96 -95
- package/dist/ltree/ltree-demo.d.ts +0 -2
- package/dist/ltree/ltree-demo.js +0 -90
- package/dist/vendor/loglevel/loglevel-esm.d.ts +0 -2
- package/dist/vendor/loglevel/loglevel-plugin-prefix-esm.d.ts +0 -7
- package/dist/vendor/loglevel/loglevel-plugin-prefix.d.ts +0 -2
package/dist/styles.css
CHANGED
|
@@ -25,13 +25,7 @@
|
|
|
25
25
|
min-height: 60px;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
.ltree-
|
|
29
|
-
overflow-y: auto !important;
|
|
30
|
-
overflow-x: visible;
|
|
31
|
-
overscroll-behavior: contain;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.ltree-tree:not(.ltree-virtual-scroll),
|
|
28
|
+
.ltree-tree,
|
|
35
29
|
.ltree-node,
|
|
36
30
|
.ltree-node-row,
|
|
37
31
|
.ltree-children {
|
|
@@ -66,11 +60,11 @@
|
|
|
66
60
|
.ltree-node .ltree-node-content:hover {
|
|
67
61
|
background-color: #f8f9fa;
|
|
68
62
|
}
|
|
69
|
-
.ltree-node .ltree-node-content.ltree-glow-
|
|
63
|
+
.ltree-node .ltree-node-content.ltree-glow-before {
|
|
70
64
|
border-radius: 0 !important;
|
|
71
65
|
box-shadow: inset 0 3px 0 0 rgba(134, 179, 152, 0.8);
|
|
72
66
|
}
|
|
73
|
-
.ltree-node .ltree-node-content.ltree-glow-
|
|
67
|
+
.ltree-node .ltree-node-content.ltree-glow-before::after {
|
|
74
68
|
content: "";
|
|
75
69
|
position: absolute;
|
|
76
70
|
left: 66%;
|
|
@@ -84,11 +78,11 @@
|
|
|
84
78
|
pointer-events: none;
|
|
85
79
|
z-index: 1;
|
|
86
80
|
}
|
|
87
|
-
.ltree-node .ltree-node-content.ltree-glow-
|
|
81
|
+
.ltree-node .ltree-node-content.ltree-glow-after {
|
|
88
82
|
border-radius: 0 !important;
|
|
89
83
|
box-shadow: inset 0 -3px 0 0 rgba(242, 182, 158, 0.8);
|
|
90
84
|
}
|
|
91
|
-
.ltree-node .ltree-node-content.ltree-glow-
|
|
85
|
+
.ltree-node .ltree-node-content.ltree-glow-after::after {
|
|
92
86
|
content: "";
|
|
93
87
|
position: absolute;
|
|
94
88
|
left: 66%;
|
|
@@ -459,20 +453,20 @@
|
|
|
459
453
|
transition: all 0.15s ease;
|
|
460
454
|
border-radius: 0;
|
|
461
455
|
}
|
|
462
|
-
.ltree-drop-zone.ltree-drop-
|
|
456
|
+
.ltree-drop-zone.ltree-drop-before {
|
|
463
457
|
background: rgba(134, 179, 152, 0.25);
|
|
464
458
|
color: rgba(62, 89, 72, 0.7);
|
|
465
459
|
}
|
|
466
|
-
.ltree-drop-zone.ltree-drop-
|
|
460
|
+
.ltree-drop-zone.ltree-drop-before.ltree-drop-zone-active {
|
|
467
461
|
background: rgba(134, 179, 152, 0.85);
|
|
468
462
|
color: rgb(32, 54, 40);
|
|
469
463
|
box-shadow: 0 2px 12px rgba(134, 179, 152, 0.4);
|
|
470
464
|
}
|
|
471
|
-
.ltree-drop-zone.ltree-drop-
|
|
465
|
+
.ltree-drop-zone.ltree-drop-after {
|
|
472
466
|
background: rgba(242, 182, 158, 0.25);
|
|
473
467
|
color: rgba(120, 70, 50, 0.7);
|
|
474
468
|
}
|
|
475
|
-
.ltree-drop-zone.ltree-drop-
|
|
469
|
+
.ltree-drop-zone.ltree-drop-after.ltree-drop-zone-active {
|
|
476
470
|
background: rgba(242, 182, 158, 0.85);
|
|
477
471
|
color: rgb(80, 45, 30);
|
|
478
472
|
box-shadow: 0 2px 12px rgba(242, 182, 158, 0.4);
|
|
@@ -487,13 +481,13 @@
|
|
|
487
481
|
box-shadow: 0 2px 12px rgba(167, 155, 198, 0.4);
|
|
488
482
|
}
|
|
489
483
|
|
|
490
|
-
.ltree-drop-zones-around .ltree-drop-
|
|
484
|
+
.ltree-drop-zones-around .ltree-drop-before {
|
|
491
485
|
top: 0;
|
|
492
486
|
left: var(--drop-zone-start, 33%);
|
|
493
487
|
right: 0;
|
|
494
488
|
transform: translateY(-100%);
|
|
495
489
|
}
|
|
496
|
-
.ltree-drop-zones-around .ltree-drop-
|
|
490
|
+
.ltree-drop-zones-around .ltree-drop-after {
|
|
497
491
|
bottom: 0;
|
|
498
492
|
left: var(--drop-zone-start, 33%);
|
|
499
493
|
right: calc((100% - var(--drop-zone-start, 33%)) / 2);
|
|
@@ -505,25 +499,25 @@
|
|
|
505
499
|
right: 0;
|
|
506
500
|
transform: translateY(100%);
|
|
507
501
|
}
|
|
508
|
-
.ltree-drop-zones-around:not(:has(.ltree-drop-child)) .ltree-drop-
|
|
502
|
+
.ltree-drop-zones-around:not(:has(.ltree-drop-child)) .ltree-drop-after {
|
|
509
503
|
right: 0;
|
|
510
504
|
}
|
|
511
|
-
.ltree-drop-zones-around:not(:has(.ltree-drop-
|
|
505
|
+
.ltree-drop-zones-around:not(:has(.ltree-drop-after)) .ltree-drop-child {
|
|
512
506
|
left: var(--drop-zone-start, 33%);
|
|
513
507
|
}
|
|
514
508
|
|
|
515
|
-
.ltree-drop-zones-above .ltree-drop-
|
|
516
|
-
.ltree-drop-zones-above .ltree-drop-
|
|
509
|
+
.ltree-drop-zones-above .ltree-drop-before,
|
|
510
|
+
.ltree-drop-zones-above .ltree-drop-after,
|
|
517
511
|
.ltree-drop-zones-above .ltree-drop-child {
|
|
518
512
|
top: 0;
|
|
519
513
|
transform: translateY(-100%);
|
|
520
514
|
}
|
|
521
|
-
.ltree-drop-zones-above .ltree-drop-
|
|
515
|
+
.ltree-drop-zones-above .ltree-drop-before {
|
|
522
516
|
left: var(--drop-zone-start, 33%);
|
|
523
517
|
right: calc((100% - var(--drop-zone-start, 33%)) * 2 / 3);
|
|
524
518
|
border-radius: 0 0 0 0;
|
|
525
519
|
}
|
|
526
|
-
.ltree-drop-zones-above .ltree-drop-
|
|
520
|
+
.ltree-drop-zones-above .ltree-drop-after {
|
|
527
521
|
left: calc(var(--drop-zone-start, 33%) + (100% - var(--drop-zone-start, 33%)) / 3);
|
|
528
522
|
right: calc((100% - var(--drop-zone-start, 33%)) / 3);
|
|
529
523
|
border-radius: 0;
|
|
@@ -533,34 +527,34 @@
|
|
|
533
527
|
right: 0;
|
|
534
528
|
border-radius: 0 0 0 0;
|
|
535
529
|
}
|
|
536
|
-
.ltree-drop-zones-above:not(:has(.ltree-drop-child)) .ltree-drop-
|
|
530
|
+
.ltree-drop-zones-above:not(:has(.ltree-drop-child)) .ltree-drop-before, .ltree-drop-zones-above:not(:has(.ltree-drop-after)) .ltree-drop-before, .ltree-drop-zones-above:not(:has(.ltree-drop-before)) .ltree-drop-after {
|
|
537
531
|
left: var(--drop-zone-start, 33%);
|
|
538
532
|
right: calc((100% - var(--drop-zone-start, 33%)) / 2);
|
|
539
533
|
border-radius: 0 0 0 0;
|
|
540
534
|
}
|
|
541
|
-
.ltree-drop-zones-above:not(:has(.ltree-drop-child)) .ltree-drop-
|
|
535
|
+
.ltree-drop-zones-above:not(:has(.ltree-drop-child)) .ltree-drop-after, .ltree-drop-zones-above:not(:has(.ltree-drop-after)) .ltree-drop-child, .ltree-drop-zones-above:not(:has(.ltree-drop-before)) .ltree-drop-child {
|
|
542
536
|
left: calc(var(--drop-zone-start, 33%) + (100% - var(--drop-zone-start, 33%)) / 2);
|
|
543
537
|
right: 0;
|
|
544
538
|
border-radius: 0 0 0 0;
|
|
545
539
|
}
|
|
546
|
-
.ltree-drop-zones-above:not(:has(.ltree-drop-
|
|
540
|
+
.ltree-drop-zones-above:not(:has(.ltree-drop-after)):not(:has(.ltree-drop-child)) .ltree-drop-before, .ltree-drop-zones-above:not(:has(.ltree-drop-before)):not(:has(.ltree-drop-child)) .ltree-drop-after, .ltree-drop-zones-above:not(:has(.ltree-drop-before)):not(:has(.ltree-drop-after)) .ltree-drop-child {
|
|
547
541
|
left: var(--drop-zone-start, 33%);
|
|
548
542
|
right: 0;
|
|
549
543
|
border-radius: 0;
|
|
550
544
|
}
|
|
551
545
|
|
|
552
|
-
.ltree-drop-zones-below .ltree-drop-
|
|
553
|
-
.ltree-drop-zones-below .ltree-drop-
|
|
546
|
+
.ltree-drop-zones-below .ltree-drop-before,
|
|
547
|
+
.ltree-drop-zones-below .ltree-drop-after,
|
|
554
548
|
.ltree-drop-zones-below .ltree-drop-child {
|
|
555
549
|
bottom: 0;
|
|
556
550
|
transform: translateY(100%);
|
|
557
551
|
}
|
|
558
|
-
.ltree-drop-zones-below .ltree-drop-
|
|
552
|
+
.ltree-drop-zones-below .ltree-drop-before {
|
|
559
553
|
left: var(--drop-zone-start, 33%);
|
|
560
554
|
right: calc((100% - var(--drop-zone-start, 33%)) * 2 / 3);
|
|
561
555
|
border-radius: 0 0 0 0;
|
|
562
556
|
}
|
|
563
|
-
.ltree-drop-zones-below .ltree-drop-
|
|
557
|
+
.ltree-drop-zones-below .ltree-drop-after {
|
|
564
558
|
left: calc(var(--drop-zone-start, 33%) + (100% - var(--drop-zone-start, 33%)) / 3);
|
|
565
559
|
right: calc((100% - var(--drop-zone-start, 33%)) / 3);
|
|
566
560
|
border-radius: 0;
|
|
@@ -570,24 +564,24 @@
|
|
|
570
564
|
right: 0;
|
|
571
565
|
border-radius: 0 0 0 0;
|
|
572
566
|
}
|
|
573
|
-
.ltree-drop-zones-below:not(:has(.ltree-drop-child)) .ltree-drop-
|
|
567
|
+
.ltree-drop-zones-below:not(:has(.ltree-drop-child)) .ltree-drop-before, .ltree-drop-zones-below:not(:has(.ltree-drop-after)) .ltree-drop-before, .ltree-drop-zones-below:not(:has(.ltree-drop-before)) .ltree-drop-after {
|
|
574
568
|
left: var(--drop-zone-start, 33%);
|
|
575
569
|
right: calc((100% - var(--drop-zone-start, 33%)) / 2);
|
|
576
570
|
border-radius: 0 0 0 0;
|
|
577
571
|
}
|
|
578
|
-
.ltree-drop-zones-below:not(:has(.ltree-drop-child)) .ltree-drop-
|
|
572
|
+
.ltree-drop-zones-below:not(:has(.ltree-drop-child)) .ltree-drop-after, .ltree-drop-zones-below:not(:has(.ltree-drop-after)) .ltree-drop-child, .ltree-drop-zones-below:not(:has(.ltree-drop-before)) .ltree-drop-child {
|
|
579
573
|
left: calc(var(--drop-zone-start, 33%) + (100% - var(--drop-zone-start, 33%)) / 2);
|
|
580
574
|
right: 0;
|
|
581
575
|
border-radius: 0 0 0 0;
|
|
582
576
|
}
|
|
583
|
-
.ltree-drop-zones-below:not(:has(.ltree-drop-
|
|
577
|
+
.ltree-drop-zones-below:not(:has(.ltree-drop-after)):not(:has(.ltree-drop-child)) .ltree-drop-before, .ltree-drop-zones-below:not(:has(.ltree-drop-before)):not(:has(.ltree-drop-child)) .ltree-drop-after, .ltree-drop-zones-below:not(:has(.ltree-drop-before)):not(:has(.ltree-drop-after)) .ltree-drop-child {
|
|
584
578
|
left: var(--drop-zone-start, 33%);
|
|
585
579
|
right: 0;
|
|
586
580
|
border-radius: 0;
|
|
587
581
|
}
|
|
588
582
|
|
|
589
|
-
.ltree-drop-zones-wave .ltree-drop-
|
|
590
|
-
.ltree-drop-zones-wave .ltree-drop-
|
|
583
|
+
.ltree-drop-zones-wave .ltree-drop-before,
|
|
584
|
+
.ltree-drop-zones-wave .ltree-drop-after,
|
|
591
585
|
.ltree-drop-zones-wave .ltree-drop-child {
|
|
592
586
|
left: var(--drop-zone-start, 33%);
|
|
593
587
|
right: auto;
|
|
@@ -596,7 +590,7 @@
|
|
|
596
590
|
height: auto;
|
|
597
591
|
transform: none;
|
|
598
592
|
}
|
|
599
|
-
.ltree-drop-zones-wave .ltree-drop-
|
|
593
|
+
.ltree-drop-zones-wave .ltree-drop-before {
|
|
600
594
|
top: 0;
|
|
601
595
|
bottom: auto;
|
|
602
596
|
transform: translateY(-100%);
|
|
@@ -607,22 +601,22 @@
|
|
|
607
601
|
bottom: 0;
|
|
608
602
|
border-radius: 0;
|
|
609
603
|
}
|
|
610
|
-
.ltree-drop-zones-wave .ltree-drop-
|
|
604
|
+
.ltree-drop-zones-wave .ltree-drop-after {
|
|
611
605
|
top: auto;
|
|
612
606
|
bottom: 0;
|
|
613
607
|
transform: translateY(100%);
|
|
614
608
|
border-radius: 0 0 0 0;
|
|
615
609
|
}
|
|
616
610
|
|
|
617
|
-
.ltree-drop-zones-wave2 .ltree-drop-
|
|
618
|
-
.ltree-drop-zones-wave2 .ltree-drop-
|
|
611
|
+
.ltree-drop-zones-wave2 .ltree-drop-before,
|
|
612
|
+
.ltree-drop-zones-wave2 .ltree-drop-after,
|
|
619
613
|
.ltree-drop-zones-wave2 .ltree-drop-child {
|
|
620
614
|
right: auto;
|
|
621
615
|
width: var(--drop-zone-max-width, 120px);
|
|
622
616
|
max-width: var(--drop-zone-max-width, 120px);
|
|
623
617
|
height: auto;
|
|
624
618
|
}
|
|
625
|
-
.ltree-drop-zones-wave2 .ltree-drop-
|
|
619
|
+
.ltree-drop-zones-wave2 .ltree-drop-before {
|
|
626
620
|
left: calc(var(--drop-zone-start, 33%) - 7%);
|
|
627
621
|
top: 10%;
|
|
628
622
|
bottom: auto;
|
|
@@ -636,7 +630,7 @@
|
|
|
636
630
|
bottom: 10%;
|
|
637
631
|
border-radius: 0;
|
|
638
632
|
}
|
|
639
|
-
.ltree-drop-zones-wave2 .ltree-drop-
|
|
633
|
+
.ltree-drop-zones-wave2 .ltree-drop-after {
|
|
640
634
|
left: calc(var(--drop-zone-start, 33%) - 7%);
|
|
641
635
|
top: auto;
|
|
642
636
|
bottom: 10%;
|
|
@@ -652,6 +646,12 @@
|
|
|
652
646
|
color: var(--ltree-body-color);
|
|
653
647
|
}
|
|
654
648
|
|
|
649
|
+
.ltree-virtual-scroll {
|
|
650
|
+
overflow-y: auto !important;
|
|
651
|
+
overflow-x: visible;
|
|
652
|
+
overscroll-behavior: contain;
|
|
653
|
+
}
|
|
654
|
+
|
|
655
655
|
.ltree-container {
|
|
656
656
|
position: relative;
|
|
657
657
|
}
|
package/dist/styles.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../src/lib/styles/main.scss"],"names":[],"mappings":";AA0GA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAID;EACC,aAnHA;EAoHA;EACA;;AAGA;EACC;EACA,OA3GqB;EA4GrB;EACA;EACA;;;AAKF;
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../src/lib/styles/main.scss"],"names":[],"mappings":";AA0GA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAID;EACC,aAnHA;EAoHA;EACA;;AAGA;EACC;EACA,OA3GqB;EA4GrB;EACA;EACA;;;AAKF;AAAA;AAAA;AAAA;EAIC;;;AAGD;EACC,aA1IA;EA2IA,WAzIqB;EA0IrB;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA,SAtJ0B;EAuJ1B,eAtJgC;EAuJhC;EACA;EACA;EACA;EAGA;EACA;EACA;;AAEA;EACC,kBAjKkB;;AAqKnB;EACC;EACA;;AAGA;EACC;EACA;EACA,MA5HkB;EA6HlB;EACA;EACA,OAhIc;EAiId,QAjIc;EAkId,kBArIgB;EAsIhB;EACA;EACA;EACA;;AAIF;EACC;EACA;;AAGA;EACC;EACA;EACA,MAjJkB;EAkJlB;EACA;EACA,OArJc;EAsJd,QAtJc;EAuJd,kBAzJe;EA0Jf;EACA;EACA;EACA;;AAIF;EACC;EACA;EACA,kBAzKkB;;AA4KlB;EACC;EACA;EACA,MAvKkB;EAwKlB;EACA;EACA,OA3Kc;EA4Kd,QA5Kc;EA6Kd,kBA9Ke;EA+Kf;EACA;EACA;EACA;;AAKH;EACC;;AAGD;EACC,OA1OuB;EA2OvB;EACA;EACA,cA1O8B;EA2O9B,WA7O2B;EA8O3B,OA7OuB;EA8OvB;EACA;;AAEA;EACC;;AAIF;EACC,cArP4B;EAsP5B,WArPyB;;AAwP1B;EACC,aAxP4B;EAyP5B,cAxP6B;;AA2P9B;EACC,WA3PyB;EA4PzB,OA3PqB;;AA8PtB;EACC,YA9PyB;;;AAmQ3B;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAID;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;;;AAKF;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;IAKC;;EAED;IACC;;EAED;IACC;;;AAKF;EACC;;AAEA;EACC;;;AAIF;EACC;EACA;EACA,YACC;;;AAKF;EACC;;;AAID;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aAlZA;EAmZA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAID;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAIA;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACC;EACA;;AAGD;EACC;EACA;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;;AAGD;EACC;;AAEA;EACC;;AAKH;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;;AAKF;EACC,aA9gBA;EA+gBA;EACA;EACA;EACA;EACA;EACA;;AAGC;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIF;EACC;EACA;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMH;EACC;EACA;EACA;;;AAGD;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AAMF;EACC;EACA;;;AAID;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,eA7lByB;;AAgmBzB;EACC,YA9lBoB;EA+lBpB,OA9lBuB;;AAgmBvB;EACC,YAhmB0B;EAimB1B,OAhmB6B;EAimB7B,YAhmB8B;;AAqmBhC;EACC,YAnmBmB;EAomBnB,OAnmBsB;;AAqmBtB;EACC,YArmByB;EAsmBzB,OArmB4B;EAsmB5B,YArmB6B;;AA0mB/B;EACC,YAxmBmB;EAymBnB,OAxmBsB;;AA0mBtB;EACC,YA1mByB;EA2mBzB,OA1mB4B;EA2mB5B,YA1mB6B;;;AAinB/B;EACC;EACA;EACA;EACA;;AAID;EACC;EACA;EAEA;EACA;;AAID;EACC;EAEA;EACA;EACA;;AAKD;EACC;;AAED;EACC;;;AAMD;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AA3oBD;EAGC;EACA;EACA;;AAID;EAGC;EACA;EACA;;AAID;EAGC;EACA;EACA,eA7EwB;;;AA0sBzB;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AA1qBD;EAGC;EACA;EACA;;AAID;EAGC;EACA;EACA;;AAID;EAGC;EACA;EACA,eA7EwB;;;AAyuBzB;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;;;AAOD;AAAA;AAAA;EAGC;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAKF;EAEC;EACA;EACA;EAGA;;;AAID;EACC;EACA;EACA;;;AAID;EACC;;;AAID;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;IACC;;;AAKF;EACC;EACA;EACA;EACA;EACA","file":"styles.css"}
|
|
@@ -1,2 +1,55 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Type declarations for vendored loglevel library
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
type LogLevelNames = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent';
|
|
6
|
+
|
|
7
|
+
type LogLevelNumbers = 0 | 1 | 2 | 3 | 4 | 5;
|
|
8
|
+
|
|
9
|
+
type LogLevels = {
|
|
10
|
+
TRACE: 0;
|
|
11
|
+
DEBUG: 1;
|
|
12
|
+
INFO: 2;
|
|
13
|
+
WARN: 3;
|
|
14
|
+
ERROR: 4;
|
|
15
|
+
SILENT: 5;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
type MethodFactory = (
|
|
19
|
+
methodName: string,
|
|
20
|
+
logLevel: LogLevelNumbers,
|
|
21
|
+
loggerName: string
|
|
22
|
+
) => (...args: any[]) => void;
|
|
23
|
+
|
|
24
|
+
interface Logger {
|
|
25
|
+
name: string | symbol;
|
|
26
|
+
levels: LogLevels;
|
|
27
|
+
methodFactory: MethodFactory;
|
|
28
|
+
|
|
29
|
+
trace(...msg: any[]): void;
|
|
30
|
+
debug(...msg: any[]): void;
|
|
31
|
+
info(...msg: any[]): void;
|
|
32
|
+
warn(...msg: any[]): void;
|
|
33
|
+
error(...msg: any[]): void;
|
|
34
|
+
log(...msg: any[]): void;
|
|
35
|
+
|
|
36
|
+
getLevel(): LogLevelNumbers;
|
|
37
|
+
setLevel(level: LogLevelNames | LogLevelNumbers, persist?: boolean): void;
|
|
38
|
+
setDefaultLevel(level: LogLevelNames | LogLevelNumbers): void;
|
|
39
|
+
resetLevel(): void;
|
|
40
|
+
enableAll(persist?: boolean): void;
|
|
41
|
+
disableAll(persist?: boolean): void;
|
|
42
|
+
rebuild(): void;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
interface RootLogger extends Logger {
|
|
46
|
+
getLogger(name: string | symbol): Logger;
|
|
47
|
+
getLoggers(): Record<string, Logger>;
|
|
48
|
+
noConflict(): RootLogger;
|
|
49
|
+
default: RootLogger;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
declare const log: RootLogger;
|
|
53
|
+
export default log;
|
|
54
|
+
|
|
55
|
+
export type { Logger, RootLogger, LogLevelNames, LogLevelNumbers, LogLevels, MethodFactory };
|
|
@@ -1,2 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Type declarations for vendored loglevel-plugin-prefix library
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { Logger, RootLogger } from './index.js';
|
|
6
|
+
|
|
7
|
+
interface PrefixOptions {
|
|
8
|
+
template?: string;
|
|
9
|
+
levelFormatter?: (level: string) => string;
|
|
10
|
+
nameFormatter?: (name: string) => string;
|
|
11
|
+
timestampFormatter?: (date: Date) => string;
|
|
12
|
+
format?: (level: string, name: string | undefined, timestamp: string) => string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
interface LoglevelPluginPrefix {
|
|
16
|
+
reg(rootLogger: RootLogger): void;
|
|
17
|
+
apply(logger: Logger, config?: PrefixOptions): Logger;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
declare const prefix: LoglevelPluginPrefix;
|
|
21
|
+
export default prefix;
|
|
22
|
+
|
|
23
|
+
export type { PrefixOptions, LoglevelPluginPrefix };
|
package/package.json
CHANGED
|
@@ -1,95 +1,96 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@keenmate/svelte-treeview",
|
|
3
|
-
"version": "
|
|
4
|
-
"scripts": {
|
|
5
|
-
"dev": "vite dev --port 17777",
|
|
6
|
-
"build": "vite build && npm run prepack",
|
|
7
|
-
"build:showcase": "vite build",
|
|
8
|
-
"preview": "vite preview",
|
|
9
|
-
"prepare": "svelte-kit sync || echo ''",
|
|
10
|
-
"generate-constants": "node scripts/generate-constants.js",
|
|
11
|
-
"prepack": "npm run generate-constants && svelte-kit sync && svelte-package && sass src/lib/styles.scss dist/styles.css && publint",
|
|
12
|
-
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
13
|
-
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
14
|
-
"test": "vitest",
|
|
15
|
-
"test:run": "vitest run",
|
|
16
|
-
"format": "prettier --write .",
|
|
17
|
-
"lint": "prettier --check . && eslint ."
|
|
18
|
-
},
|
|
19
|
-
"files": [
|
|
20
|
-
"dist",
|
|
21
|
-
"!dist/**/*.test.*",
|
|
22
|
-
"!dist/**/*.spec.*",
|
|
23
|
-
"!dist/demo"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"**/*.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"./styles.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"@eslint/
|
|
46
|
-
"@
|
|
47
|
-
"@sveltejs/adapter-
|
|
48
|
-
"@sveltejs/
|
|
49
|
-
"@sveltejs/
|
|
50
|
-
"@sveltejs/
|
|
51
|
-
"@
|
|
52
|
-
"
|
|
53
|
-
"eslint
|
|
54
|
-
"eslint-
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"prettier
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"svelte
|
|
62
|
-
"svelte-
|
|
63
|
-
"
|
|
64
|
-
"typescript
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
"
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
"
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@keenmate/svelte-treeview",
|
|
3
|
+
"version": "5.0.0-rc02",
|
|
4
|
+
"scripts": {
|
|
5
|
+
"dev": "vite dev --port 17777",
|
|
6
|
+
"build": "vite build && npm run prepack",
|
|
7
|
+
"build:showcase": "vite build",
|
|
8
|
+
"preview": "vite preview",
|
|
9
|
+
"prepare": "svelte-kit sync || echo ''",
|
|
10
|
+
"generate-constants": "node scripts/generate-constants.js",
|
|
11
|
+
"prepack": "npm run generate-constants && svelte-kit sync && svelte-package && sass src/lib/styles.scss dist/styles.css && publint",
|
|
12
|
+
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
13
|
+
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
14
|
+
"test": "vitest",
|
|
15
|
+
"test:run": "vitest run",
|
|
16
|
+
"format": "prettier --write .",
|
|
17
|
+
"lint": "prettier --check . && eslint ."
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"!dist/**/*.test.*",
|
|
22
|
+
"!dist/**/*.spec.*",
|
|
23
|
+
"!dist/demo",
|
|
24
|
+
"ai"
|
|
25
|
+
],
|
|
26
|
+
"sideEffects": [
|
|
27
|
+
"**/*.css",
|
|
28
|
+
"**/*.scss"
|
|
29
|
+
],
|
|
30
|
+
"svelte": "./dist/index.js",
|
|
31
|
+
"types": "./dist/index.d.ts",
|
|
32
|
+
"type": "module",
|
|
33
|
+
"exports": {
|
|
34
|
+
".": {
|
|
35
|
+
"types": "./dist/index.d.ts",
|
|
36
|
+
"svelte": "./dist/index.js"
|
|
37
|
+
},
|
|
38
|
+
"./styles.scss": "./dist/styles.scss",
|
|
39
|
+
"./styles.css": "./dist/styles.css"
|
|
40
|
+
},
|
|
41
|
+
"peerDependencies": {
|
|
42
|
+
"svelte": "^5.0.0"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@eslint/compat": "^1.2.5",
|
|
46
|
+
"@eslint/js": "^9.18.0",
|
|
47
|
+
"@sveltejs/adapter-auto": "^6.0.0",
|
|
48
|
+
"@sveltejs/adapter-static": "^3.0.0",
|
|
49
|
+
"@sveltejs/kit": "^2.22.0",
|
|
50
|
+
"@sveltejs/package": "^2.0.0",
|
|
51
|
+
"@sveltejs/vite-plugin-svelte": "^6.0.0",
|
|
52
|
+
"@types/flexsearch": "^0.7.42",
|
|
53
|
+
"eslint": "^9.18.0",
|
|
54
|
+
"eslint-config-prettier": "^10.0.1",
|
|
55
|
+
"eslint-plugin-svelte": "^3.0.0",
|
|
56
|
+
"globals": "^16.0.0",
|
|
57
|
+
"prettier": "^3.4.2",
|
|
58
|
+
"prettier-plugin-svelte": "^3.3.3",
|
|
59
|
+
"publint": "^0.3.2",
|
|
60
|
+
"sass": "^1.92.0",
|
|
61
|
+
"svelte": "^5.0.0",
|
|
62
|
+
"svelte-check": "^4.0.0",
|
|
63
|
+
"svelte-preprocess": "^6.0.3",
|
|
64
|
+
"typescript": "^5.0.0",
|
|
65
|
+
"typescript-eslint": "^8.20.0",
|
|
66
|
+
"vite": "^7.0.4",
|
|
67
|
+
"vitest": "^3.2.4"
|
|
68
|
+
},
|
|
69
|
+
"optionalDependencies": {
|
|
70
|
+
"flexsearch": "^0.8.212"
|
|
71
|
+
},
|
|
72
|
+
"keywords": [
|
|
73
|
+
"svelte",
|
|
74
|
+
"svelte5",
|
|
75
|
+
"tree",
|
|
76
|
+
"treeview",
|
|
77
|
+
"hierarchical",
|
|
78
|
+
"ltree",
|
|
79
|
+
"drag-drop",
|
|
80
|
+
"search",
|
|
81
|
+
"flexsearch",
|
|
82
|
+
"context-menu",
|
|
83
|
+
"component",
|
|
84
|
+
"ui"
|
|
85
|
+
],
|
|
86
|
+
"author": "KeenMate",
|
|
87
|
+
"license": "MIT",
|
|
88
|
+
"repository": {
|
|
89
|
+
"type": "git",
|
|
90
|
+
"url": "git+https://github.com/keenmate/svelte-treeview.git"
|
|
91
|
+
},
|
|
92
|
+
"homepage": "https://github.com/keenmate/svelte-treeview#readme",
|
|
93
|
+
"bugs": {
|
|
94
|
+
"url": "https://github.com/keenmate/svelte-treeview/issues"
|
|
95
|
+
}
|
|
96
|
+
}
|
package/dist/ltree/ltree-demo.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { createLTree } from './ltree.svelte';
|
|
2
|
-
// Usage Examples and Performance Test
|
|
3
|
-
export function demonstrateLTree() {
|
|
4
|
-
const tree = createLTree('id', 'path', null, null, null, null, null, null, null, null, null, null, null, { isSorted: false, sortCallback: null });
|
|
5
|
-
// Sample ltree paths
|
|
6
|
-
const paths = [
|
|
7
|
-
'1',
|
|
8
|
-
'1.1',
|
|
9
|
-
'1.1.1',
|
|
10
|
-
'1.1.2',
|
|
11
|
-
'1.1.2.1',
|
|
12
|
-
'1.2',
|
|
13
|
-
'1.2.1',
|
|
14
|
-
'1.2.3.4',
|
|
15
|
-
'2',
|
|
16
|
-
'2.1',
|
|
17
|
-
'2.1.1'
|
|
18
|
-
];
|
|
19
|
-
console.log('=== LTree Demo ===');
|
|
20
|
-
// Insert paths with some sample data
|
|
21
|
-
console.log('\n1. Inserting paths...');
|
|
22
|
-
paths.forEach((path, index) => {
|
|
23
|
-
tree.insert(path, { id: index, name: `Node ${path}` });
|
|
24
|
-
console.log(`Inserted: ${path}`);
|
|
25
|
-
});
|
|
26
|
-
// Search for specific paths
|
|
27
|
-
console.log('\n2. Searching for paths...');
|
|
28
|
-
console.log('Search "1.1.2":', tree.search('1.1.2'));
|
|
29
|
-
console.log('Search "1.3" (non-existent):', tree.search('1.3'));
|
|
30
|
-
// Find by prefix
|
|
31
|
-
console.log('\n3. Finding paths by prefix...');
|
|
32
|
-
console.log('Prefix "1.1":', tree.findByPrefix('1.1'));
|
|
33
|
-
console.log('Prefix "1.2":', tree.findByPrefix('1.2'));
|
|
34
|
-
// Get direct children
|
|
35
|
-
console.log('\n4. Getting direct children...');
|
|
36
|
-
console.log('Children of "1":', tree.getDirectChildren('1'));
|
|
37
|
-
console.log('Children of "1.1":', tree.getDirectChildren('1.1'));
|
|
38
|
-
// Get ancestors
|
|
39
|
-
console.log('\n5. Getting ancestors...');
|
|
40
|
-
console.log('Ancestors of "1.1.2.1":', tree.getAncestors('1.1.2.1'));
|
|
41
|
-
// Statistics
|
|
42
|
-
console.log('\n6. Tree statistics:');
|
|
43
|
-
console.log(tree.getStats());
|
|
44
|
-
return tree;
|
|
45
|
-
}
|
|
46
|
-
// Performance test with larger dataset
|
|
47
|
-
export function performanceTest() {
|
|
48
|
-
console.log('\n=== Performance Test ===');
|
|
49
|
-
const tree = createLtree('path', 'path', null, null, null, null, null, null, null, null, null, null, null, { isSorted: false, sortCallback: null });
|
|
50
|
-
const paths = [];
|
|
51
|
-
// Generate test data: hierarchical paths up to 4 levels deep
|
|
52
|
-
console.log('Generating test data...');
|
|
53
|
-
for (let a = 1; a <= 100; a++) {
|
|
54
|
-
paths.push(`${a}`);
|
|
55
|
-
for (let b = 1; b <= 50; b++) {
|
|
56
|
-
paths.push(`${a}.${b}`);
|
|
57
|
-
for (let c = 1; c <= 20; c++) {
|
|
58
|
-
paths.push(`${a}.${b}.${c}`);
|
|
59
|
-
for (let d = 1; d <= 5; d++) {
|
|
60
|
-
paths.push(`${a}.${b}.${c}.${d}`);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
console.log(`Generated ${paths.length} paths`);
|
|
66
|
-
// Test insertion
|
|
67
|
-
console.time('Insertion');
|
|
68
|
-
paths.forEach(path => tree.insert(path, { path }));
|
|
69
|
-
console.timeEnd('Insertion');
|
|
70
|
-
// Test search performance
|
|
71
|
-
console.time('Search 1000 random paths');
|
|
72
|
-
for (let i = 0; i < 1000; i++) {
|
|
73
|
-
const randomPath = paths[Math.floor(Math.random() * paths.length)];
|
|
74
|
-
tree.search(randomPath);
|
|
75
|
-
}
|
|
76
|
-
console.timeEnd('Search 1000 random paths');
|
|
77
|
-
// Test prefix search
|
|
78
|
-
console.time('Prefix search for "1."');
|
|
79
|
-
const results = tree.findByPrefix('1.');
|
|
80
|
-
console.timeEnd('Prefix search for "1."');
|
|
81
|
-
console.log(`Found ${results?.length} paths with prefix "1."`);
|
|
82
|
-
// Memory usage
|
|
83
|
-
const stats = tree.getStats();
|
|
84
|
-
console.log('Final statistics:', stats);
|
|
85
|
-
}
|
|
86
|
-
// Run demonstrations if this file is executed directly
|
|
87
|
-
if (typeof window === 'undefined' && typeof process !== 'undefined') {
|
|
88
|
-
demonstrateLtree();
|
|
89
|
-
performanceTest();
|
|
90
|
-
}
|