@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.
Files changed (51) hide show
  1. package/README.md +106 -117
  2. package/ai/INDEX.txt +310 -0
  3. package/ai/advanced-patterns.txt +506 -0
  4. package/ai/basic-setup.txt +336 -0
  5. package/ai/context-menu.txt +349 -0
  6. package/ai/data-handling.txt +390 -0
  7. package/ai/drag-drop.txt +397 -0
  8. package/ai/events-callbacks.txt +382 -0
  9. package/ai/import-patterns.txt +271 -0
  10. package/ai/performance.txt +349 -0
  11. package/ai/search-features.txt +359 -0
  12. package/ai/styling-theming.txt +354 -0
  13. package/ai/tree-editing.txt +423 -0
  14. package/ai/typescript-types.txt +357 -0
  15. package/dist/components/Node.svelte +47 -40
  16. package/dist/components/Node.svelte.d.ts +1 -1
  17. package/dist/components/Tree.svelte +384 -1479
  18. package/dist/components/Tree.svelte.d.ts +30 -28
  19. package/dist/components/TreeProvider.svelte +28 -0
  20. package/dist/components/TreeProvider.svelte.d.ts +28 -0
  21. package/dist/constants.generated.d.ts +1 -1
  22. package/dist/constants.generated.js +1 -1
  23. package/dist/core/TreeController.svelte.d.ts +353 -0
  24. package/dist/core/TreeController.svelte.js +1503 -0
  25. package/dist/core/createTreeController.d.ts +9 -0
  26. package/dist/core/createTreeController.js +11 -0
  27. package/dist/global-api.d.ts +1 -1
  28. package/dist/global-api.js +5 -5
  29. package/dist/index.d.ts +10 -6
  30. package/dist/index.js +7 -3
  31. package/dist/logger.d.ts +7 -6
  32. package/dist/logger.js +0 -2
  33. package/dist/ltree/indexer.js +2 -4
  34. package/dist/ltree/ltree-node.svelte.d.ts +2 -1
  35. package/dist/ltree/ltree-node.svelte.js +1 -0
  36. package/dist/ltree/ltree.svelte.d.ts +1 -1
  37. package/dist/ltree/ltree.svelte.js +168 -175
  38. package/dist/ltree/types.d.ts +12 -8
  39. package/dist/perf-logger.d.ts +2 -1
  40. package/dist/perf-logger.js +0 -2
  41. package/dist/styles/main.scss +78 -78
  42. package/dist/styles.css +41 -41
  43. package/dist/styles.css.map +1 -1
  44. package/dist/vendor/loglevel/index.d.ts +55 -2
  45. package/dist/vendor/loglevel/prefix.d.ts +23 -2
  46. package/package.json +96 -95
  47. package/dist/ltree/ltree-demo.d.ts +0 -2
  48. package/dist/ltree/ltree-demo.js +0 -90
  49. package/dist/vendor/loglevel/loglevel-esm.d.ts +0 -2
  50. package/dist/vendor/loglevel/loglevel-plugin-prefix-esm.d.ts +0 -7
  51. 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-virtual-scroll {
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-above {
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-above::after {
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-below {
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-below::after {
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-above {
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-above.ltree-drop-zone-active {
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-below {
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-below.ltree-drop-zone-active {
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-above {
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-below {
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-below {
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-below)) .ltree-drop-child {
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-above,
516
- .ltree-drop-zones-above .ltree-drop-below,
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-above {
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-below {
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-above, .ltree-drop-zones-above:not(:has(.ltree-drop-below)) .ltree-drop-above, .ltree-drop-zones-above:not(:has(.ltree-drop-above)) .ltree-drop-below {
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-below, .ltree-drop-zones-above:not(:has(.ltree-drop-below)) .ltree-drop-child, .ltree-drop-zones-above:not(:has(.ltree-drop-above)) .ltree-drop-child {
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-below)):not(:has(.ltree-drop-child)) .ltree-drop-above, .ltree-drop-zones-above:not(:has(.ltree-drop-above)):not(:has(.ltree-drop-child)) .ltree-drop-below, .ltree-drop-zones-above:not(:has(.ltree-drop-above)):not(:has(.ltree-drop-below)) .ltree-drop-child {
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-above,
553
- .ltree-drop-zones-below .ltree-drop-below,
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-above {
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-below {
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-above, .ltree-drop-zones-below:not(:has(.ltree-drop-below)) .ltree-drop-above, .ltree-drop-zones-below:not(:has(.ltree-drop-above)) .ltree-drop-below {
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-below, .ltree-drop-zones-below:not(:has(.ltree-drop-below)) .ltree-drop-child, .ltree-drop-zones-below:not(:has(.ltree-drop-above)) .ltree-drop-child {
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-below)):not(:has(.ltree-drop-child)) .ltree-drop-above, .ltree-drop-zones-below:not(:has(.ltree-drop-above)):not(:has(.ltree-drop-child)) .ltree-drop-below, .ltree-drop-zones-below:not(:has(.ltree-drop-above)):not(:has(.ltree-drop-below)) .ltree-drop-child {
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-above,
590
- .ltree-drop-zones-wave .ltree-drop-below,
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-above {
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-below {
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-above,
618
- .ltree-drop-zones-wave2 .ltree-drop-below,
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-above {
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-below {
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
  }
@@ -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;EACC;EACA;EACA;;;AAID;AAAA;AAAA;AAAA;EAIC;;;AAGD;EACC,aAjJA;EAkJA,WAhJqB;EAiJrB;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA,SA7J0B;EA8J1B,eA7JgC;EA8JhC;EACA;EACA;EACA;EAGA;EACA;EACA;;AAEA;EACC,kBAxKkB;;AA4KnB;EACC;EACA;;AAGA;EACC;EACA;EACA,MAnIkB;EAoIlB;EACA;EACA,OAvIc;EAwId,QAxIc;EAyId,kBA5Ie;EA6If;EACA;EACA;EACA;;AAIF;EACC;EACA;;AAGA;EACC;EACA;EACA,MAxJkB;EAyJlB;EACA;EACA,OA5Jc;EA6Jd,QA7Jc;EA8Jd,kBAhKe;EAiKf;EACA;EACA;EACA;;AAIF;EACC;EACA;EACA,kBAhLkB;;AAmLlB;EACC;EACA;EACA,MA9KkB;EA+KlB;EACA;EACA,OAlLc;EAmLd,QAnLc;EAoLd,kBArLe;EAsLf;EACA;EACA;EACA;;AAKH;EACC;;AAGD;EACC,OAjPuB;EAkPvB;EACA;EACA,cAjP8B;EAkP9B,WApP2B;EAqP3B,OApPuB;EAqPvB;EACA;;AAEA;EACC;;AAIF;EACC,cA5P4B;EA6P5B,WA5PyB;;AA+P1B;EACC,aA/P4B;EAgQ5B,cA/P6B;;AAkQ9B;EACC,WAlQyB;EAmQzB,OAlQqB;;AAqQtB;EACC,YArQyB;;;AA0Q3B;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,aAzZA;EA0ZA;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,aArhBA;EAshBA;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,eApmByB;;AAumBzB;EACC,YArmBmB;EAsmBnB,OArmBsB;;AAumBtB;EACC,YAvmByB;EAwmBzB,OAvmB4B;EAwmB5B,YAvmB6B;;AA4mB/B;EACC,YA1mBmB;EA2mBnB,OA1mBsB;;AA4mBtB;EACC,YA5mByB;EA6mBzB,OA5mB4B;EA6mB5B,YA5mB6B;;AAinB/B;EACC,YA/mBmB;EAgnBnB,OA/mBsB;;AAinBtB;EACC,YAjnByB;EAknBzB,OAjnB4B;EAknB5B,YAjnB6B;;;AAwnB/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;;AAlpBD;EAGC;EACA;EACA;;AAID;EAGC;EACA;EACA;;AAID;EAGC;EACA;EACA,eA7EwB;;;AAitBzB;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAjrBD;EAGC;EACA;EACA;;AAID;EAGC;EACA;EACA;;AAID;EAGC;EACA;EACA,eA7EwB;;;AAgvBzB;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;;;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
+ {"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
- export default log;
2
- import log from './loglevel-esm.js';
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
- export default prefix;
2
- import prefix from './loglevel-plugin-prefix-esm.js';
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.8.0",
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
- "sideEffects": [
26
- "**/*.css",
27
- "**/*.scss"
28
- ],
29
- "svelte": "./dist/index.js",
30
- "types": "./dist/index.d.ts",
31
- "type": "module",
32
- "exports": {
33
- ".": {
34
- "types": "./dist/index.d.ts",
35
- "svelte": "./dist/index.js"
36
- },
37
- "./styles.scss": "./dist/styles.scss",
38
- "./styles.css": "./dist/styles.css"
39
- },
40
- "peerDependencies": {
41
- "svelte": "^5.0.0"
42
- },
43
- "devDependencies": {
44
- "@eslint/compat": "^1.2.5",
45
- "@eslint/js": "^9.18.0",
46
- "@sveltejs/adapter-auto": "^6.0.0",
47
- "@sveltejs/adapter-static": "^3.0.0",
48
- "@sveltejs/kit": "^2.22.0",
49
- "@sveltejs/package": "^2.0.0",
50
- "@sveltejs/vite-plugin-svelte": "^6.0.0",
51
- "@types/flexsearch": "^0.7.42",
52
- "eslint": "^9.18.0",
53
- "eslint-config-prettier": "^10.0.1",
54
- "eslint-plugin-svelte": "^3.0.0",
55
- "globals": "^16.0.0",
56
- "prettier": "^3.4.2",
57
- "prettier-plugin-svelte": "^3.3.3",
58
- "publint": "^0.3.2",
59
- "sass": "^1.92.0",
60
- "svelte": "^5.0.0",
61
- "svelte-check": "^4.0.0",
62
- "svelte-preprocess": "^6.0.3",
63
- "typescript": "^5.0.0",
64
- "typescript-eslint": "^8.20.0",
65
- "vite": "^7.0.4",
66
- "vitest": "^3.2.4"
67
- },
68
- "optionalDependencies": {
69
- "flexsearch": "^0.8.212"
70
- },
71
- "keywords": [
72
- "svelte",
73
- "svelte5",
74
- "tree",
75
- "treeview",
76
- "hierarchical",
77
- "ltree",
78
- "drag-drop",
79
- "search",
80
- "flexsearch",
81
- "context-menu",
82
- "component",
83
- "ui"
84
- ],
85
- "author": "KeenMate",
86
- "license": "MIT",
87
- "repository": {
88
- "type": "git",
89
- "url": "git+https://github.com/keenmate/svelte-treeview.git"
90
- },
91
- "homepage": "https://github.com/keenmate/svelte-treeview#readme",
92
- "bugs": {
93
- "url": "https://github.com/keenmate/svelte-treeview/issues"
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
+ }
@@ -1,2 +0,0 @@
1
- export declare function demonstrateLTree(): import("./types").Ltree<unknown>;
2
- export declare function performanceTest(): void;
@@ -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
- }
@@ -1,2 +0,0 @@
1
- export default defaultLogger;
2
- declare var defaultLogger: null;
@@ -1,7 +0,0 @@
1
- export default api;
2
- declare namespace api {
3
- export { reg };
4
- export { apply };
5
- }
6
- declare function reg(rootLogger: any): void;
7
- declare function apply(logger: any, config: any): any;
@@ -1,2 +0,0 @@
1
- export function reg(rootLogger: any): void;
2
- export function apply(logger: any, config: any): any;