@headless-tree/core 0.0.0-20250912161144 → 0.0.0-20250915162508

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/CHANGELOG.md CHANGED
@@ -1,10 +1,11 @@
1
1
  # @headless-tree/core
2
2
 
3
- ## 0.0.0-20250912161144
3
+ ## 0.0.0-20250915162508
4
4
 
5
5
  ### Patch Changes
6
6
 
7
7
  - 72e714b: all NPM deployments will now publish with provenance
8
+ - 7a7424f: fixed incorrect exports definition in package.json for require/cjs imports (#161)
8
9
  - 215ab4b: add a new symbol that can be used in hotkey configurations "metaorcontrol" that will trigger if either any windows control key or mac meta key is pressed (#141)
9
10
  - 51b0dea: Added `isUnorderedDragTarget` as alternative to `isDragTarget` for easier detection of drag type
10
11
  - cf845d7: Added new state variable `loadingCheckPropagationItems` to indicate if, in async trees with checkboxes and state propagation enabled, data loading operations are currently loading due to a checkbox propagation taking place
package/dist/index.d.mts CHANGED
@@ -182,6 +182,8 @@ type MainFeatureDef<T = any> = {
182
182
  };
183
183
  getHotkeyPresets: () => HotkeysConfig<T>;
184
184
  rebuildTree: () => void;
185
+ /** @deprecated Experimental feature, might get removed or changed in the future. */
186
+ scheduleRebuildTree: () => void;
185
187
  };
186
188
  itemInstance: {
187
189
  registerElement: (element: HTMLElement | null) => void;
package/dist/index.d.ts CHANGED
@@ -182,6 +182,8 @@ type MainFeatureDef<T = any> = {
182
182
  };
183
183
  getHotkeyPresets: () => HotkeysConfig<T>;
184
184
  rebuildTree: () => void;
185
+ /** @deprecated Experimental feature, might get removed or changed in the future. */
186
+ scheduleRebuildTree: () => void;
185
187
  };
186
188
  itemInstance: {
187
189
  registerElement: (element: HTMLElement | null) => void;
package/dist/index.js CHANGED
@@ -485,6 +485,7 @@ var createTree = (initialConfig) => {
485
485
  );
486
486
  let treeElement;
487
487
  const treeDataRef = { current: {} };
488
+ let rebuildScheduled = false;
488
489
  const itemInstancesMap = {};
489
490
  let itemInstances = [];
490
491
  const itemElementsMap = {};
@@ -528,6 +529,7 @@ var createTree = (initialConfig) => {
528
529
  itemInstances.push(itemInstancesMap[item.itemId]);
529
530
  }
530
531
  }
532
+ rebuildScheduled = false;
531
533
  };
532
534
  const eachFeature = (fn) => {
533
535
  for (const feature of additionalFeatures) {
@@ -553,6 +555,9 @@ var createTree = (initialConfig) => {
553
555
  rebuildItemMeta();
554
556
  (_a2 = config.setState) == null ? void 0 : _a2.call(config, state);
555
557
  },
558
+ scheduleRebuildTree: () => {
559
+ rebuildScheduled = true;
560
+ },
556
561
  getConfig: () => config,
557
562
  setConfig: (_, updater) => {
558
563
  var _a2, _b2, _c2;
@@ -584,7 +589,10 @@ var createTree = (initialConfig) => {
584
589
  }
585
590
  return existingInstance;
586
591
  },
587
- getItems: () => itemInstances,
592
+ getItems: () => {
593
+ if (rebuildScheduled) rebuildItemMeta();
594
+ return itemInstances;
595
+ },
588
596
  registerElement: ({}, element) => {
589
597
  if (treeElement === element) {
590
598
  return;
package/dist/index.mjs CHANGED
@@ -441,6 +441,7 @@ var createTree = (initialConfig) => {
441
441
  );
442
442
  let treeElement;
443
443
  const treeDataRef = { current: {} };
444
+ let rebuildScheduled = false;
444
445
  const itemInstancesMap = {};
445
446
  let itemInstances = [];
446
447
  const itemElementsMap = {};
@@ -484,6 +485,7 @@ var createTree = (initialConfig) => {
484
485
  itemInstances.push(itemInstancesMap[item.itemId]);
485
486
  }
486
487
  }
488
+ rebuildScheduled = false;
487
489
  };
488
490
  const eachFeature = (fn) => {
489
491
  for (const feature of additionalFeatures) {
@@ -509,6 +511,9 @@ var createTree = (initialConfig) => {
509
511
  rebuildItemMeta();
510
512
  (_a2 = config.setState) == null ? void 0 : _a2.call(config, state);
511
513
  },
514
+ scheduleRebuildTree: () => {
515
+ rebuildScheduled = true;
516
+ },
512
517
  getConfig: () => config,
513
518
  setConfig: (_, updater) => {
514
519
  var _a2, _b2, _c2;
@@ -540,7 +545,10 @@ var createTree = (initialConfig) => {
540
545
  }
541
546
  return existingInstance;
542
547
  },
543
- getItems: () => itemInstances,
548
+ getItems: () => {
549
+ if (rebuildScheduled) rebuildItemMeta();
550
+ return itemInstances;
551
+ },
544
552
  registerElement: ({}, element) => {
545
553
  if (treeElement === element) {
546
554
  return;
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "checkbox",
14
14
  "hook"
15
15
  ],
16
- "version": "0.0.0-20250912161144",
16
+ "version": "0.0.0-20250915162508",
17
17
  "main": "dist/index.d.ts",
18
18
  "module": "dist/index.mjs",
19
19
  "types": "dist/index.d.mts",
@@ -24,8 +24,8 @@
24
24
  "default": "./dist/index.mjs"
25
25
  },
26
26
  "require": {
27
- "types": "./dist/index.js",
28
- "default": "./dist/index.d.ts"
27
+ "types": "./dist/index.d.ts",
28
+ "default": "./dist/index.js"
29
29
  }
30
30
  },
31
31
  "./package.json": "./package.json"
@@ -92,6 +92,7 @@ export const createTree = <T>(
92
92
  let treeElement: HTMLElement | undefined | null;
93
93
  const treeDataRef: { current: any } = { current: {} };
94
94
 
95
+ let rebuildScheduled = false;
95
96
  const itemInstancesMap: Record<string, ItemInstance<T>> = {};
96
97
  let itemInstances: ItemInstance<T>[] = [];
97
98
  const itemElementsMap: Record<string, HTMLElement | undefined | null> = {};
@@ -140,6 +141,8 @@ export const createTree = <T>(
140
141
  itemInstances.push(itemInstancesMap[item.itemId]);
141
142
  }
142
143
  }
144
+
145
+ rebuildScheduled = false;
143
146
  };
144
147
 
145
148
  const eachFeature = (fn: (feature: FeatureImplementation<any>) => void) => {
@@ -175,6 +178,9 @@ export const createTree = <T>(
175
178
  rebuildItemMeta();
176
179
  config.setState?.(state);
177
180
  },
181
+ scheduleRebuildTree: () => {
182
+ rebuildScheduled = true;
183
+ },
178
184
  getConfig: () => config,
179
185
  setConfig: (_, updater) => {
180
186
  const newConfig =
@@ -210,7 +216,10 @@ export const createTree = <T>(
210
216
  }
211
217
  return existingInstance;
212
218
  },
213
- getItems: () => itemInstances,
219
+ getItems: () => {
220
+ if (rebuildScheduled) rebuildItemMeta();
221
+ return itemInstances;
222
+ },
214
223
  registerElement: ({}, element) => {
215
224
  if (treeElement === element) {
216
225
  return;
@@ -49,6 +49,8 @@ export type MainFeatureDef<T = any> = {
49
49
  /* @internal */
50
50
  getHotkeyPresets: () => HotkeysConfig<T>;
51
51
  rebuildTree: () => void;
52
+ /** @deprecated Experimental feature, might get removed or changed in the future. */
53
+ scheduleRebuildTree: () => void;
52
54
  };
53
55
  itemInstance: {
54
56
  registerElement: (element: HTMLElement | null) => void;