@keenmate/svelte-treeview 4.4.0 → 4.5.0

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 (37) hide show
  1. package/README.md +39 -4
  2. package/dist/components/Node.svelte +249 -12
  3. package/dist/components/Node.svelte.d.ts +17 -0
  4. package/dist/components/RenderCoordinator.svelte.d.ts +29 -0
  5. package/dist/components/RenderCoordinator.svelte.js +115 -0
  6. package/dist/components/Tree.svelte +855 -38
  7. package/dist/components/Tree.svelte.d.ts +160 -8
  8. package/dist/constants.generated.d.ts +6 -0
  9. package/dist/constants.generated.js +8 -0
  10. package/dist/global-api.d.ts +35 -0
  11. package/dist/global-api.js +36 -0
  12. package/dist/index.d.ts +6 -1
  13. package/dist/index.js +5 -0
  14. package/dist/logger.d.ts +56 -0
  15. package/dist/logger.js +159 -0
  16. package/dist/ltree/indexer.d.ts +0 -1
  17. package/dist/ltree/indexer.js +23 -19
  18. package/dist/ltree/ltree.svelte.d.ts +1 -1
  19. package/dist/ltree/ltree.svelte.js +593 -30
  20. package/dist/ltree/types.d.ts +62 -0
  21. package/dist/perf-logger.d.ts +70 -0
  22. package/dist/perf-logger.js +196 -0
  23. package/dist/styles/main.scss +437 -4
  24. package/dist/styles.css +329 -3
  25. package/dist/styles.css.map +1 -1
  26. package/dist/vendor/loglevel/index.d.ts +2 -0
  27. package/dist/vendor/loglevel/index.js +9 -0
  28. package/dist/vendor/loglevel/loglevel-esm.d.ts +2 -0
  29. package/dist/vendor/loglevel/loglevel-esm.js +349 -0
  30. package/dist/vendor/loglevel/loglevel-plugin-prefix-esm.d.ts +7 -0
  31. package/dist/vendor/loglevel/loglevel-plugin-prefix-esm.js +132 -0
  32. package/dist/vendor/loglevel/loglevel-plugin-prefix.d.ts +2 -0
  33. package/dist/vendor/loglevel/loglevel-plugin-prefix.js +149 -0
  34. package/dist/vendor/loglevel/loglevel.js +357 -0
  35. package/dist/vendor/loglevel/prefix.d.ts +2 -0
  36. package/dist/vendor/loglevel/prefix.js +9 -0
  37. package/package.json +3 -2
@@ -0,0 +1,357 @@
1
+ /*
2
+ * loglevel - https://github.com/pimterry/loglevel
3
+ *
4
+ * Copyright (c) 2013 Tim Perry
5
+ * Licensed under the MIT license.
6
+ */
7
+ (function (root, definition) {
8
+ "use strict";
9
+ if (typeof define === 'function' && define.amd) {
10
+ define(definition);
11
+ } else if (typeof module === 'object' && module.exports) {
12
+ module.exports = definition();
13
+ } else {
14
+ root.log = definition();
15
+ }
16
+ }(typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : this, function () {
17
+ "use strict";
18
+
19
+ // Slightly dubious tricks to cut down minimized file size
20
+ var noop = function() {};
21
+ var undefinedType = "undefined";
22
+ var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (
23
+ /Trident\/|MSIE /.test(window.navigator.userAgent)
24
+ );
25
+
26
+ var logMethods = [
27
+ "trace",
28
+ "debug",
29
+ "info",
30
+ "warn",
31
+ "error"
32
+ ];
33
+
34
+ var _loggersByName = {};
35
+ var defaultLogger = null;
36
+
37
+ // Cross-browser bind equivalent that works at least back to IE6
38
+ function bindMethod(obj, methodName) {
39
+ var method = obj[methodName];
40
+ if (typeof method.bind === 'function') {
41
+ return method.bind(obj);
42
+ } else {
43
+ try {
44
+ return Function.prototype.bind.call(method, obj);
45
+ } catch (e) {
46
+ // Missing bind shim or IE8 + Modernizr, fallback to wrapping
47
+ return function() {
48
+ return Function.prototype.apply.apply(method, [obj, arguments]);
49
+ };
50
+ }
51
+ }
52
+ }
53
+
54
+ // Trace() doesn't print the message in IE, so for that case we need to wrap it
55
+ function traceForIE() {
56
+ if (console.log) {
57
+ if (console.log.apply) {
58
+ console.log.apply(console, arguments);
59
+ } else {
60
+ // In old IE, native console methods themselves don't have apply().
61
+ Function.prototype.apply.apply(console.log, [console, arguments]);
62
+ }
63
+ }
64
+ if (console.trace) console.trace();
65
+ }
66
+
67
+ // Build the best logging method possible for this env
68
+ // Wherever possible we want to bind, not wrap, to preserve stack traces
69
+ function realMethod(methodName) {
70
+ if (methodName === 'debug') {
71
+ methodName = 'log';
72
+ }
73
+
74
+ if (typeof console === undefinedType) {
75
+ return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives
76
+ } else if (methodName === 'trace' && isIE) {
77
+ return traceForIE;
78
+ } else if (console[methodName] !== undefined) {
79
+ return bindMethod(console, methodName);
80
+ } else if (console.log !== undefined) {
81
+ return bindMethod(console, 'log');
82
+ } else {
83
+ return noop;
84
+ }
85
+ }
86
+
87
+ // These private functions always need `this` to be set properly
88
+
89
+ function replaceLoggingMethods() {
90
+ /*jshint validthis:true */
91
+ var level = this.getLevel();
92
+
93
+ // Replace the actual methods.
94
+ for (var i = 0; i < logMethods.length; i++) {
95
+ var methodName = logMethods[i];
96
+ this[methodName] = (i < level) ?
97
+ noop :
98
+ this.methodFactory(methodName, level, this.name);
99
+ }
100
+
101
+ // Define log.log as an alias for log.debug
102
+ this.log = this.debug;
103
+
104
+ // Return any important warnings.
105
+ if (typeof console === undefinedType && level < this.levels.SILENT) {
106
+ return "No console available for logging";
107
+ }
108
+ }
109
+
110
+ // In old IE versions, the console isn't present until you first open it.
111
+ // We build realMethod() replacements here that regenerate logging methods
112
+ function enableLoggingWhenConsoleArrives(methodName) {
113
+ return function () {
114
+ if (typeof console !== undefinedType) {
115
+ replaceLoggingMethods.call(this);
116
+ this[methodName].apply(this, arguments);
117
+ }
118
+ };
119
+ }
120
+
121
+ // By default, we use closely bound real methods wherever possible, and
122
+ // otherwise we wait for a console to appear, and then try again.
123
+ function defaultMethodFactory(methodName, _level, _loggerName) {
124
+ /*jshint validthis:true */
125
+ return realMethod(methodName) ||
126
+ enableLoggingWhenConsoleArrives.apply(this, arguments);
127
+ }
128
+
129
+ function Logger(name, factory) {
130
+ // Private instance variables.
131
+ var self = this;
132
+ /**
133
+ * The level inherited from a parent logger (or a global default). We
134
+ * cache this here rather than delegating to the parent so that it stays
135
+ * in sync with the actual logging methods that we have installed (the
136
+ * parent could change levels but we might not have rebuilt the loggers
137
+ * in this child yet).
138
+ * @type {number}
139
+ */
140
+ var inheritedLevel;
141
+ /**
142
+ * The default level for this logger, if any. If set, this overrides
143
+ * `inheritedLevel`.
144
+ * @type {number|null}
145
+ */
146
+ var defaultLevel;
147
+ /**
148
+ * A user-specific level for this logger. If set, this overrides
149
+ * `defaultLevel`.
150
+ * @type {number|null}
151
+ */
152
+ var userLevel;
153
+
154
+ var storageKey = "loglevel";
155
+ if (typeof name === "string") {
156
+ storageKey += ":" + name;
157
+ } else if (typeof name === "symbol") {
158
+ storageKey = undefined;
159
+ }
160
+
161
+ function persistLevelIfPossible(levelNum) {
162
+ var levelName = (logMethods[levelNum] || 'silent').toUpperCase();
163
+
164
+ if (typeof window === undefinedType || !storageKey) return;
165
+
166
+ // Use localStorage if available
167
+ try {
168
+ window.localStorage[storageKey] = levelName;
169
+ return;
170
+ } catch (ignore) {}
171
+
172
+ // Use session cookie as fallback
173
+ try {
174
+ window.document.cookie =
175
+ encodeURIComponent(storageKey) + "=" + levelName + ";";
176
+ } catch (ignore) {}
177
+ }
178
+
179
+ function getPersistedLevel() {
180
+ var storedLevel;
181
+
182
+ if (typeof window === undefinedType || !storageKey) return;
183
+
184
+ try {
185
+ storedLevel = window.localStorage[storageKey];
186
+ } catch (ignore) {}
187
+
188
+ // Fallback to cookies if local storage gives us nothing
189
+ if (typeof storedLevel === undefinedType) {
190
+ try {
191
+ var cookie = window.document.cookie;
192
+ var cookieName = encodeURIComponent(storageKey);
193
+ var location = cookie.indexOf(cookieName + "=");
194
+ if (location !== -1) {
195
+ storedLevel = /^([^;]+)/.exec(
196
+ cookie.slice(location + cookieName.length + 1)
197
+ )[1];
198
+ }
199
+ } catch (ignore) {}
200
+ }
201
+
202
+ // If the stored level is not valid, treat it as if nothing was stored.
203
+ if (self.levels[storedLevel] === undefined) {
204
+ storedLevel = undefined;
205
+ }
206
+
207
+ return storedLevel;
208
+ }
209
+
210
+ function clearPersistedLevel() {
211
+ if (typeof window === undefinedType || !storageKey) return;
212
+
213
+ // Use localStorage if available
214
+ try {
215
+ window.localStorage.removeItem(storageKey);
216
+ } catch (ignore) {}
217
+
218
+ // Use session cookie as fallback
219
+ try {
220
+ window.document.cookie =
221
+ encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
222
+ } catch (ignore) {}
223
+ }
224
+
225
+ function normalizeLevel(input) {
226
+ var level = input;
227
+ if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) {
228
+ level = self.levels[level.toUpperCase()];
229
+ }
230
+ if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) {
231
+ return level;
232
+ } else {
233
+ throw new TypeError("log.setLevel() called with invalid level: " + input);
234
+ }
235
+ }
236
+
237
+ /*
238
+ *
239
+ * Public logger API - see https://github.com/pimterry/loglevel for details
240
+ *
241
+ */
242
+
243
+ self.name = name;
244
+
245
+ self.levels = { "TRACE": 0, "DEBUG": 1, "INFO": 2, "WARN": 3,
246
+ "ERROR": 4, "SILENT": 5};
247
+
248
+ self.methodFactory = factory || defaultMethodFactory;
249
+
250
+ self.getLevel = function () {
251
+ if (userLevel != null) {
252
+ return userLevel;
253
+ } else if (defaultLevel != null) {
254
+ return defaultLevel;
255
+ } else {
256
+ return inheritedLevel;
257
+ }
258
+ };
259
+
260
+ self.setLevel = function (level, persist) {
261
+ userLevel = normalizeLevel(level);
262
+ if (persist !== false) { // defaults to true
263
+ persistLevelIfPossible(userLevel);
264
+ }
265
+
266
+ // NOTE: in v2, this should call rebuild(), which updates children.
267
+ return replaceLoggingMethods.call(self);
268
+ };
269
+
270
+ self.setDefaultLevel = function (level) {
271
+ defaultLevel = normalizeLevel(level);
272
+ if (!getPersistedLevel()) {
273
+ self.setLevel(level, false);
274
+ }
275
+ };
276
+
277
+ self.resetLevel = function () {
278
+ userLevel = null;
279
+ clearPersistedLevel();
280
+ replaceLoggingMethods.call(self);
281
+ };
282
+
283
+ self.enableAll = function(persist) {
284
+ self.setLevel(self.levels.TRACE, persist);
285
+ };
286
+
287
+ self.disableAll = function(persist) {
288
+ self.setLevel(self.levels.SILENT, persist);
289
+ };
290
+
291
+ self.rebuild = function () {
292
+ if (defaultLogger !== self) {
293
+ inheritedLevel = normalizeLevel(defaultLogger.getLevel());
294
+ }
295
+ replaceLoggingMethods.call(self);
296
+
297
+ if (defaultLogger === self) {
298
+ for (var childName in _loggersByName) {
299
+ _loggersByName[childName].rebuild();
300
+ }
301
+ }
302
+ };
303
+
304
+ // Initialize all the internal levels.
305
+ inheritedLevel = normalizeLevel(
306
+ defaultLogger ? defaultLogger.getLevel() : "WARN"
307
+ );
308
+ var initialLevel = getPersistedLevel();
309
+ if (initialLevel != null) {
310
+ userLevel = normalizeLevel(initialLevel);
311
+ }
312
+ replaceLoggingMethods.call(self);
313
+ }
314
+
315
+ /*
316
+ *
317
+ * Top-level API
318
+ *
319
+ */
320
+
321
+ defaultLogger = new Logger();
322
+
323
+ defaultLogger.getLogger = function getLogger(name) {
324
+ if ((typeof name !== "symbol" && typeof name !== "string") || name === "") {
325
+ throw new TypeError("You must supply a name when creating a logger.");
326
+ }
327
+
328
+ var logger = _loggersByName[name];
329
+ if (!logger) {
330
+ logger = _loggersByName[name] = new Logger(
331
+ name,
332
+ defaultLogger.methodFactory
333
+ );
334
+ }
335
+ return logger;
336
+ };
337
+
338
+ // Grab the current global log variable in case of overwrite
339
+ var _log = (typeof window !== undefinedType) ? window.log : undefined;
340
+ defaultLogger.noConflict = function() {
341
+ if (typeof window !== undefinedType &&
342
+ window.log === defaultLogger) {
343
+ window.log = _log;
344
+ }
345
+
346
+ return defaultLogger;
347
+ };
348
+
349
+ defaultLogger.getLoggers = function getLoggers() {
350
+ return _loggersByName;
351
+ };
352
+
353
+ // ES6 default export, for compatibility
354
+ defaultLogger['default'] = defaultLogger;
355
+
356
+ return defaultLogger;
357
+ }));
@@ -0,0 +1,2 @@
1
+ export default prefix;
2
+ import prefix from './loglevel-plugin-prefix-esm.js';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * ES module wrapper for loglevel-plugin-prefix
3
+ * Imports from the pure ESM version for bundler compatibility
4
+ */
5
+
6
+ // Import the ESM version directly
7
+ import prefix from './loglevel-plugin-prefix-esm.js';
8
+
9
+ export default prefix;
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@keenmate/svelte-treeview",
3
- "version": "4.4.0",
3
+ "version": "4.5.0",
4
4
  "scripts": {
5
5
  "dev": "vite dev --port 17777",
6
6
  "build": "vite build && npm run prepack",
7
7
  "build:showcase": "vite build",
8
8
  "preview": "vite preview",
9
9
  "prepare": "svelte-kit sync || echo ''",
10
- "prepack": "svelte-kit sync && svelte-package && sass src/lib/styles.scss dist/styles.css && publint",
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",
11
12
  "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
12
13
  "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
13
14
  "test": "vitest",