@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
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TreeController, type TreeControllerProps } from './TreeController.svelte.js';
|
|
2
|
+
/**
|
|
3
|
+
* Factory function that creates a TreeController instance.
|
|
4
|
+
*
|
|
5
|
+
* IMPORTANT: Must be called during component initialization (inside a
|
|
6
|
+
* component's `<script>` block) so that the controller's internal `$effect()`
|
|
7
|
+
* calls bind to the component's lifecycle.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createTreeController<T>(props: TreeControllerProps<T>): TreeController<T>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TreeController } from './TreeController.svelte.js';
|
|
2
|
+
/**
|
|
3
|
+
* Factory function that creates a TreeController instance.
|
|
4
|
+
*
|
|
5
|
+
* IMPORTANT: Must be called during component initialization (inside a
|
|
6
|
+
* component's `<script>` block) so that the controller's internal `$effect()`
|
|
7
|
+
* calls bind to the component's lifecycle.
|
|
8
|
+
*/
|
|
9
|
+
export function createTreeController(props) {
|
|
10
|
+
return new TreeController(props);
|
|
11
|
+
}
|
package/dist/global-api.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export interface GlobalTreeviewAPI {
|
|
|
16
16
|
enableLogging: () => void;
|
|
17
17
|
disableLogging: () => void;
|
|
18
18
|
setLogLevel: (level: string) => void;
|
|
19
|
-
setCategoryLevel: (category: string, level
|
|
19
|
+
setCategoryLevel: (category: string, level?: string) => void;
|
|
20
20
|
getCategories: () => string[];
|
|
21
21
|
};
|
|
22
22
|
perf: {
|
package/dist/global-api.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Global API registration for runtime logging control
|
|
3
3
|
* This file is imported by Tree.svelte to ensure it runs when the component is used
|
|
4
4
|
*/
|
|
5
|
-
import { setLogLevel, enableLogging, disableLogging, setCategoryLevel, LOGGING_CATEGORIES } from './logger';
|
|
6
|
-
import { enablePerfLogging, disablePerfLogging, setPerfThreshold, isPerfLoggingEnabled } from './perf-logger';
|
|
5
|
+
import { setLogLevel, enableLogging, disableLogging, setCategoryLevel, LOGGING_CATEGORIES } from './logger.js';
|
|
6
|
+
import { enablePerfLogging, disablePerfLogging, setPerfThreshold, isPerfLoggingEnabled } from './perf-logger.js';
|
|
7
7
|
// Import generated constants (created by scripts/generate-constants.js)
|
|
8
|
-
import { VERSION, PACKAGE_NAME, AUTHOR, LICENSE, REPOSITORY, HOMEPAGE } from './constants.generated';
|
|
8
|
+
import { VERSION, PACKAGE_NAME, AUTHOR, LICENSE, REPOSITORY, HOMEPAGE } from './constants.generated.js';
|
|
9
9
|
// Initialize global API for runtime logging control
|
|
10
10
|
if (typeof window !== 'undefined') {
|
|
11
11
|
window.components = window.components || {};
|
|
@@ -22,8 +22,8 @@ if (typeof window !== 'undefined') {
|
|
|
22
22
|
logging: {
|
|
23
23
|
enableLogging,
|
|
24
24
|
disableLogging,
|
|
25
|
-
setLogLevel,
|
|
26
|
-
setCategoryLevel,
|
|
25
|
+
setLogLevel: setLogLevel,
|
|
26
|
+
setCategoryLevel: setCategoryLevel,
|
|
27
27
|
getCategories: () => [...LOGGING_CATEGORIES]
|
|
28
28
|
},
|
|
29
29
|
perf: {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
export { default as Tree } from "./components/Tree.svelte";
|
|
2
|
+
export { default as TreeProvider } from "./components/TreeProvider.svelte";
|
|
3
|
+
export { TreeController } from "./core/TreeController.svelte";
|
|
4
|
+
export type { TreeControllerProps } from "./core/TreeController.svelte";
|
|
5
|
+
export { createTreeController } from "./core/createTreeController.js";
|
|
2
6
|
export type { LTreeNode, NodeId, VisualState } from "./ltree/ltree-node.svelte";
|
|
3
|
-
export type { Ltree, DropPosition, DragDropMode, DropOperation, ContextMenuItem, InsertArrayResult, TreeChange, ApplyChangesResult } from "./ltree/types";
|
|
7
|
+
export type { Ltree, DropPosition, DragDropMode, DropOperation, ContextMenuItem, InsertArrayResult, TreeChange, ApplyChangesResult } from "./ltree/types.js";
|
|
4
8
|
export type { RenderStats } from "./components/RenderCoordinator.svelte";
|
|
5
|
-
export type { NodeCallbacks, NodeConfig } from "./
|
|
6
|
-
export { enableLogging, disableLogging, setLogLevel, setCategoryLevel, LOGGING_CATEGORIES } from "./logger";
|
|
7
|
-
export { enablePerfLogging, disablePerfLogging, setPerfThreshold, isPerfLoggingEnabled, perfStart, perfEnd, perfMeasure, perfSummary } from "./perf-logger";
|
|
8
|
-
export type { GlobalTreeviewAPI } from "./global-api";
|
|
9
|
-
import "./global-api";
|
|
9
|
+
export type { NodeCallbacks, NodeConfig } from "./core/TreeController.svelte";
|
|
10
|
+
export { enableLogging, disableLogging, setLogLevel, setCategoryLevel, LOGGING_CATEGORIES } from "./logger.js";
|
|
11
|
+
export { enablePerfLogging, disablePerfLogging, setPerfThreshold, isPerfLoggingEnabled, perfStart, perfEnd, perfMeasure, perfSummary } from "./perf-logger.js";
|
|
12
|
+
export type { GlobalTreeviewAPI } from "./global-api.js";
|
|
13
|
+
import "./global-api.js";
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
// Reexport your entry components here
|
|
2
2
|
export { default as Tree } from "./components/Tree.svelte";
|
|
3
|
+
export { default as TreeProvider } from "./components/TreeProvider.svelte";
|
|
4
|
+
// Core layer (headless controller)
|
|
5
|
+
export { TreeController } from "./core/TreeController.svelte";
|
|
6
|
+
export { createTreeController } from "./core/createTreeController.js";
|
|
3
7
|
// Export logging utilities
|
|
4
|
-
export { enableLogging, disableLogging, setLogLevel, setCategoryLevel, LOGGING_CATEGORIES } from "./logger";
|
|
8
|
+
export { enableLogging, disableLogging, setLogLevel, setCategoryLevel, LOGGING_CATEGORIES } from "./logger.js";
|
|
5
9
|
// Export performance logging utilities
|
|
6
|
-
export { enablePerfLogging, disablePerfLogging, setPerfThreshold, isPerfLoggingEnabled, perfStart, perfEnd, perfMeasure, perfSummary } from "./perf-logger";
|
|
7
|
-
import "./global-api";
|
|
10
|
+
export { enablePerfLogging, disablePerfLogging, setPerfThreshold, isPerfLoggingEnabled, perfStart, perfEnd, perfMeasure, perfSummary } from "./perf-logger.js";
|
|
11
|
+
import "./global-api.js";
|
package/dist/logger.d.ts
CHANGED
|
@@ -27,12 +27,13 @@
|
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
29
|
import log from './vendor/loglevel/index.js';
|
|
30
|
-
|
|
31
|
-
export declare const
|
|
32
|
-
export declare const
|
|
33
|
-
export declare const
|
|
34
|
-
export declare const
|
|
35
|
-
export declare const
|
|
30
|
+
import type { Logger } from './vendor/loglevel/index.js';
|
|
31
|
+
export declare const initLogger: Logger;
|
|
32
|
+
export declare const dataLogger: Logger;
|
|
33
|
+
export declare const renderLogger: Logger;
|
|
34
|
+
export declare const indexLogger: Logger;
|
|
35
|
+
export declare const dragLogger: Logger;
|
|
36
|
+
export declare const uiLogger: Logger;
|
|
36
37
|
export default log;
|
|
37
38
|
/**
|
|
38
39
|
* List of all logging categories
|
package/dist/logger.js
CHANGED
|
@@ -27,9 +27,7 @@
|
|
|
27
27
|
* ```
|
|
28
28
|
*/
|
|
29
29
|
// Import vendored libraries via ES module wrappers
|
|
30
|
-
// @ts-ignore - Vendored library without type definitions
|
|
31
30
|
import log from './vendor/loglevel/index.js';
|
|
32
|
-
// @ts-ignore - Vendored library without type definitions
|
|
33
31
|
import prefix from './vendor/loglevel/prefix.js';
|
|
34
32
|
// Define color scheme
|
|
35
33
|
const COLORS = {
|
package/dist/ltree/indexer.js
CHANGED
|
@@ -122,7 +122,7 @@ export class Indexer {
|
|
|
122
122
|
indexItem(item) {
|
|
123
123
|
// Type-safe indexing - customize based on your item structure
|
|
124
124
|
const searchValue = !this.shouldCalculateSearchValue
|
|
125
|
-
? this.searchValueMember && item.node.data[this.searchValueMember]?.toString()
|
|
125
|
+
? this.searchValueMember && item.node.data?.[this.searchValueMember]?.toString()
|
|
126
126
|
: this.getSearchValueCallback && this.getSearchValueCallback(item.node);
|
|
127
127
|
if (isNotEmptyString(searchValue)) {
|
|
128
128
|
const addStart = performance.now();
|
|
@@ -138,9 +138,7 @@ export class Indexer {
|
|
|
138
138
|
this.isProcessing = false;
|
|
139
139
|
indexLogger.info(`[${this.treeId}] Indexing complete. Processed ${this.totalItemsProcessed} items.`);
|
|
140
140
|
if (this.onCompleteCallback) {
|
|
141
|
-
|
|
142
|
-
this.onCompleteCallback = undefined;
|
|
143
|
-
cb();
|
|
141
|
+
this.onCompleteCallback();
|
|
144
142
|
}
|
|
145
143
|
}
|
|
146
144
|
// Get current indexer status
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type NodeId = string | number;
|
|
2
|
-
export type DropPosition = '
|
|
2
|
+
export type DropPosition = 'before' | 'after' | 'child';
|
|
3
3
|
export declare enum VisualState {
|
|
4
4
|
indeterminate = "indeterminate",
|
|
5
5
|
selected = "true",
|
|
@@ -18,6 +18,7 @@ export interface LTreeNode<T> {
|
|
|
18
18
|
useCallback: boolean;
|
|
19
19
|
priority: number | null | undefined;
|
|
20
20
|
isDraggable: boolean;
|
|
21
|
+
isCollapsible: boolean;
|
|
21
22
|
isDropAllowed: boolean;
|
|
22
23
|
allowedDropPositions: DropPosition[] | null | undefined;
|
|
23
24
|
isInsertAllowed: boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Index } from 'flexsearch';
|
|
2
2
|
import { type LTreeNode } from './ltree-node.svelte';
|
|
3
3
|
import type { Ltree } from './types.js';
|
|
4
|
-
export declare function createLTree<T>(_idMember: string, _pathMember: string, _parentPathMember?: string | null | undefined, _levelMember?: string | null | undefined, _hasChildrenMember?: string | null | undefined, _isExpandedMember?: string | null | undefined, _isSelectableMember?: string | null | undefined, _isDraggableMember?: string | null | undefined, _isDropAllowedMember?: string | null | undefined, _allowedDropPositionsMember?: string | null | undefined, _displayValueMember?: string | null | undefined, _getDisplayValueCallback?: (node: LTreeNode<T>) => string, _searchValueMember?: string | null | undefined, _getSearchValueCallback?: (node: LTreeNode<T>) => string, _getAllowedDropPositionsCallback?: (node: LTreeNode<T>) => import('./types').DropPosition[] | null | undefined, _orderMember?: string | null | undefined, _treeId?: string, _treePathSeparator?: string | null | undefined, _expandLevel?: number | null | undefined, _shouldUseInternalSearchIndex?: boolean | null | undefined, _initializeIndexCallback?: () => Index, _indexerBatchSize?: number | null | undefined, _indexerTimeout?: number | null | undefined, opts?: Partial<Ltree<T>>): Ltree<T>;
|
|
4
|
+
export declare function createLTree<T>(_idMember: string, _pathMember: string, _parentPathMember?: string | null | undefined, _levelMember?: string | null | undefined, _hasChildrenMember?: string | null | undefined, _isExpandedMember?: string | null | undefined, _isSelectableMember?: string | null | undefined, _isDraggableMember?: string | null | undefined, _getIsDraggableCallback?: (node: LTreeNode<T>) => boolean, _isDropAllowedMember?: string | null | undefined, _allowedDropPositionsMember?: string | null | undefined, _displayValueMember?: string | null | undefined, _getDisplayValueCallback?: (node: LTreeNode<T>) => string, _searchValueMember?: string | null | undefined, _getSearchValueCallback?: (node: LTreeNode<T>) => string, _getAllowedDropPositionsCallback?: (node: LTreeNode<T>) => import('./types.js').DropPosition[] | null | undefined, _isCollapsibleMember?: string | null | undefined, _getIsCollapsibleCallback?: (node: LTreeNode<T>) => boolean, _orderMember?: string | null | undefined, _treeId?: string, _treePathSeparator?: string | null | undefined, _expandLevel?: number | null | undefined, _shouldUseInternalSearchIndex?: boolean | null | undefined, _initializeIndexCallback?: () => Index, _indexerBatchSize?: number | null | undefined, _indexerTimeout?: number | null | undefined, opts?: Partial<Ltree<T>>): Ltree<T>;
|