wunderbaum 0.5.1 → 0.5.2

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.
@@ -210,7 +210,7 @@ div.wunderbaum span.wb-col {
210
210
  overflow: hidden;
211
211
  height: var(--wb-row-inner-height);
212
212
  line-height: var(--wb-row-inner-height);
213
- padding: 0 val(--wb-col-padding-x);
213
+ padding: 0 var(--wb-col-padding-x);
214
214
  border-right: 1px solid var(--wb-grid-color);
215
215
  white-space: nowrap;
216
216
  }
@@ -230,6 +230,11 @@ div.wunderbaum span.wb-node i.wb-indent {
230
230
  padding: var(--wb-icon-padding) var(--wb-icon-padding-x);
231
231
  display: inline-block;
232
232
  }
233
+ div.wunderbaum span.wb-node i.wb-expander,
234
+ div.wunderbaum span.wb-node i.wb-icon {
235
+ background-repeat: no-repeat;
236
+ background-size: contain;
237
+ }
233
238
  div.wunderbaum span.wb-node i.bi::before {
234
239
  vertical-align: baseline;
235
240
  }
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/wunderbaum.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AA2EA;AAAA;EAME;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AAMF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;EAGA;AAsBA;AAuBA;AAkQA;AAoHA;AAwBA;AAgEA;AAEA;AAUA;AAoBA;AAYA;;AAniBA;EAEE;;AAIF;EACE;EACA;;AAGF;EACE;EAEA;;AAMF;EACE;EACA;EACA;;AAGF;AAAA;EAEE;;AAKF;EACE;EACA;EACA;EACA;EACA;;AAMA;EACE;EACA;EACA;EACA;;AAIA;EACE;;AAKF;EAEE;;AAGF;EAEE;;AAGF;EACE;;AAOA;EAEE;EACA;;AAEA;EACE;;AAaN;EAEE;EACA;;AAEA;EACE;;AAON;EACE;;AAEA;EACE;;AAOF;EACE;;AAGF;EAEE;;AAGA;EACE;;AAKJ;EACE;EACA;;AAGF;EAEE;EACA;;AAEA;EAEE;;AAIJ;EACE;;AAGF;AAAA;AAAA;EAGE;EAcA;EASA;;AAGF;EAEE;;AAON;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EAIA;;AAIF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;AAeA;;AAVA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;;AAIF;EACE;;AAGF;EACE;EACA;EACA;;AAMA;EACE;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EACE;EAEA;EACA;EACA;EACA;EACA;;AAUI;EACE;;AAON;EACE;;AAIJ;EACE;;AAEA;EACE;;AAIF;EACE;;AAGF;EACE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAgBE;EACA;EACA;;AAGF;AAAA;EAEE;;AAcA;EACE;;AAWJ;EACE;;AAGF;EACE;;AAEA;EACE;;AAON;EACE;;AAEA;EACE;;AAQJ;EACE;;AASJ;EACE;;AAEA;EACE;;AAGF;EACE;;AAcN;EACE;;AAEA;EACE;;AAIJ;EACE;;AAEA;EACE;EACA;;AAGA;EACE;EACA;;AAEA;EAGE;EACA;EAGA;EACA;EACA;;AAgBR;AAAA;EAIE;EACA;EACA;;AAKF;EACE;;AAUE;AAAA;EAEE;;AAFF;AAAA;EAEE;;AAFF;AAAA;EAEE;;AAFF;AAAA;EAEE;;AAOJ;EAIE;EACA;;AAGF;AAAA;EAKE;EACA;;AAMF;AAAA;EAEE;EACA;EACA;EACA;;AAOF;EACE;;AAGF;AAAA;EAEE;;AAKA;EACE;;;AAMR;AAEA;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;;AAQJ;AACA;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAIA;AAAA;EAEE;;AAGF;AAAA;EAEE;;;AAIJ;EACE;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AAIJ;AAAA;AAAA;AAMA;EACE;EACA;;;AAGF;EAEE;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE","file":"wunderbaum.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../src/wunderbaum.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AA2EA;AAAA;EAME;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AAMF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;EAGA;AAsBA;AAuBA;AAwQA;AAoHA;AAwBA;AAgEA;AAEA;AAUA;AAoBA;AAYA;;AAziBA;EAEE;;AAIF;EACE;EACA;;AAGF;EACE;EAEA;;AAMF;EACE;EACA;EACA;;AAGF;AAAA;EAEE;;AAKF;EACE;EACA;EACA;EACA;EACA;;AAMA;EACE;EACA;EACA;EACA;;AAIA;EACE;;AAKF;EAEE;;AAGF;EAEE;;AAGF;EACE;;AAOA;EAEE;EACA;;AAEA;EACE;;AAaN;EAEE;EACA;;AAEA;EACE;;AAON;EACE;;AAEA;EACE;;AAOF;EACE;;AAGF;EAEE;;AAGA;EACE;;AAKJ;EACE;EACA;;AAGF;EAEE;EACA;;AAEA;EAEE;;AAIJ;EACE;;AAGF;AAAA;AAAA;EAGE;EAcA;EASA;;AAGF;EAEE;;AAON;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EAIA;;AAIF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;AAqBA;;AAhBA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;;AAGF;AAAA;EAEE;EACA;;AAIF;EACE;;AAGF;EACE;EACA;EACA;;AAMA;EACE;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EACE;EAEA;EACA;EACA;EACA;EACA;;AAUI;EACE;;AAON;EACE;;AAIJ;EACE;;AAEA;EACE;;AAIF;EACE;;AAGF;EACE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAgBE;EACA;EACA;;AAGF;AAAA;EAEE;;AAcA;EACE;;AAWJ;EACE;;AAGF;EACE;;AAEA;EACE;;AAON;EACE;;AAEA;EACE;;AAQJ;EACE;;AASJ;EACE;;AAEA;EACE;;AAGF;EACE;;AAcN;EACE;;AAEA;EACE;;AAIJ;EACE;;AAEA;EACE;EACA;;AAGA;EACE;EACA;;AAEA;EAGE;EACA;EAGA;EACA;EACA;;AAgBR;AAAA;EAIE;EACA;EACA;;AAKF;EACE;;AAUE;AAAA;EAEE;;AAFF;AAAA;EAEE;;AAFF;AAAA;EAEE;;AAFF;AAAA;EAEE;;AAOJ;EAIE;EACA;;AAGF;AAAA;EAKE;EACA;;AAMF;AAAA;EAEE;EACA;EACA;EACA;;AAOF;EACE;;AAGF;AAAA;EAEE;;AAKA;EACE;;;AAMR;AAEA;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;;AAQJ;AACA;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAIA;AAAA;EAEE;;AAGF;AAAA;EAEE;;;AAIJ;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AAIJ;AAAA;AAAA;AAMA;EACE;EACA;;;AAGF;EAEE;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE","file":"wunderbaum.css"}
@@ -412,7 +412,6 @@ declare module "wb_node" {
412
412
  _partload: boolean;
413
413
  match?: boolean;
414
414
  subMatchCount?: number;
415
- subMatchBadge?: HTMLElement;
416
415
  /** @internal */
417
416
  titleWithHighlight?: string;
418
417
  _filterAutoExpanded?: boolean;
@@ -868,7 +867,7 @@ declare module "wb_options" {
868
867
  * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
869
868
  * @VERSION, @DATE (https://github.com/mar10/wunderbaum)
870
869
  */
871
- import { ColumnDefinitionList, DndOptionsType, DynamicBoolOption, DynamicBoolOrStringOption, DynamicCheckboxOption, DynamicIconOption, NavModeEnum, NodeTypeDefinitionMap, SelectModeType, WbActivateEventType, WbChangeEventType, WbClickEventType, WbDeactivateEventType, WbErrorEventType, WbIconBadgeCallback, WbInitEventType, WbKeydownEventType, WbNodeData, WbNodeEventType, WbReceiveEventType, WbRenderEventType, WbTreeEventType } from "types";
870
+ import { ColumnDefinitionList, DndOptionsType, DynamicBoolOption, DynamicBoolOrStringOption, DynamicCheckboxOption, DynamicIconOption, EditOptionsType, FilterOptionsType, NavModeEnum, NodeTypeDefinitionMap, SelectModeType, WbActivateEventType, WbChangeEventType, WbClickEventType, WbDeactivateEventType, WbErrorEventType, WbIconBadgeCallback, WbInitEventType, WbKeydownEventType, WbNodeData, WbNodeEventType, WbReceiveEventType, WbRenderEventType, WbTreeEventType } from "types";
872
871
  /**
873
872
  * Available options for [[Wunderbaum]].
874
873
  *
@@ -981,6 +980,20 @@ declare module "wb_options" {
981
980
  * Default: false
982
981
  */
983
982
  autoCollapse?: boolean;
983
+ /**
984
+ * If true, the tree will automatically adjust its height to fit the parent
985
+ * container. This is useful when the tree is embedded in a container with
986
+ * a fixed or calculated sized.
987
+ * If the parent container is unsized (e.g. grows with its content, `height: auto`),
988
+ * then we can define a `height: ...` or `max_height: ...` style on the parent.
989
+ * To avoid a recursive resize-loop, it may be helpful to set `overflow: hidden`
990
+ * on the parent container.
991
+ *
992
+ * Set this option to `false` will disable auto-resizing.
993
+ *
994
+ * @default: true
995
+ */
996
+ adjustHeight?: boolean;
984
997
  /**
985
998
  * HTMLElement that receives the top nodes breadcrumb.
986
999
  * Default: undefined
@@ -1034,9 +1047,14 @@ declare module "wb_options" {
1034
1047
  * Default: true
1035
1048
  */
1036
1049
  quicksearch?: boolean;
1050
+ /**
1051
+ * Scroll Node into view on Expand Click
1052
+ * @default true
1053
+ */
1054
+ scrollIntoViewOnExpandClick?: boolean;
1037
1055
  dnd?: DndOptionsType;
1038
- edit?: any;
1039
- filter?: any;
1056
+ edit?: EditOptionsType;
1057
+ filter?: FilterOptionsType;
1040
1058
  grid?: any;
1041
1059
  /**
1042
1060
  *
@@ -1307,7 +1325,7 @@ declare module "types" {
1307
1325
  badge: string | number | HTMLSpanElement | null | false;
1308
1326
  /** Additional class name(s), separate with space. */
1309
1327
  badgeClass?: string;
1310
- /** Additional class name(s), separate with space. */
1328
+ /** Tooltip for the badge. */
1311
1329
  badgeTooltip?: string;
1312
1330
  }
1313
1331
  export interface WbFocusEventType extends WbTreeEventType {
@@ -1537,6 +1555,8 @@ declare module "types" {
1537
1555
  loadLazy?: boolean;
1538
1556
  /** Ignore `minExpandLevel` option @default false */
1539
1557
  force?: boolean;
1558
+ /** Keep active node visible @default true */
1559
+ keepActiveNodeVisible?: boolean;
1540
1560
  }
1541
1561
  /** Possible values for {@link Wunderbaum.filterNodes()} and {@link Wunderbaum.filterBranches()}. */
1542
1562
  export interface FilterNodesOptions {
@@ -1662,6 +1682,117 @@ declare module "types" {
1662
1682
  * until the start node is reached again @default false */
1663
1683
  wrap?: boolean;
1664
1684
  }
1685
+ export type FilterOptionsType = {
1686
+ /**
1687
+ * Element or selector of an input control for filter query strings
1688
+ * @default null
1689
+ */
1690
+ connectInput?: null | string | Element;
1691
+ /**
1692
+ * Re-apply last filter if lazy data is loaded
1693
+ * @default true
1694
+ */
1695
+ autoApply?: boolean;
1696
+ /**
1697
+ * Expand all branches that contain matches while filtered
1698
+ * @default false
1699
+ */
1700
+ autoExpand?: boolean;
1701
+ /**
1702
+ * Show a badge with number of matching child nodes near parent icons
1703
+ * @default true
1704
+ */
1705
+ counter?: boolean;
1706
+ /**
1707
+ * Match single characters in order, e.g. 'fb' will match 'FooBar'
1708
+ * @default false
1709
+ */
1710
+ fuzzy?: boolean;
1711
+ /**
1712
+ * Hide counter badge if parent is expanded
1713
+ * @default true
1714
+ */
1715
+ hideExpandedCounter?: boolean;
1716
+ /**
1717
+ * Hide expanders if all child nodes are hidden by filter
1718
+ * @default false;
1719
+ */
1720
+ hideExpanders?: boolean;
1721
+ /**
1722
+ * Highlight matches by wrapping inside <mark> tags
1723
+ * @default true
1724
+ */
1725
+ highlight?: boolean;
1726
+ /**
1727
+ * Match end nodes only
1728
+ * @default false
1729
+ */
1730
+ leavesOnly?: boolean;
1731
+ /**
1732
+ * Grayout unmatched nodes (pass "hide" to remove unmatched node instead)
1733
+ * @default 'dim'
1734
+ */
1735
+ mode?: "dim" | "hide";
1736
+ /**
1737
+ * Display a 'no data' status node if result is empty
1738
+ * @default true
1739
+ */
1740
+ noData?: boolean;
1741
+ };
1742
+ export type EditOptionsType = {
1743
+ /**
1744
+ * @default 100
1745
+ */
1746
+ debounce?: number;
1747
+ /**
1748
+ * @default 1
1749
+ */
1750
+ minlength?: number;
1751
+ /**
1752
+ * @default null;
1753
+ */
1754
+ maxlength?: null | number;
1755
+ /**
1756
+ * ["clickActive", "F2", "macEnter"],
1757
+ * @default []
1758
+ */
1759
+ trigger?: string[];
1760
+ /**
1761
+ * @default true
1762
+ */
1763
+ trim?: boolean;
1764
+ /**
1765
+ * @default true
1766
+ */
1767
+ select?: boolean;
1768
+ /**
1769
+ * Handle 'clickActive' only if last click is less than this old (0: always)
1770
+ * @default 1000
1771
+ */
1772
+ slowClickDelay?: number;
1773
+ /**
1774
+ * Please enter a title",
1775
+ * @default true
1776
+ */
1777
+ validity?: boolean;
1778
+ /**
1779
+ * `beforeEdit(e)` may return an input HTML string. Otherwise use a default.
1780
+ */
1781
+ beforeEdit?: null | ((e: WbNodeEventType) => boolean) | string;
1782
+ /**
1783
+ *
1784
+ */
1785
+ edit?: null | ((e: WbNodeEventType & {
1786
+ inputElem: HTMLInputElement;
1787
+ }) => void);
1788
+ /**
1789
+ *
1790
+ */
1791
+ apply?: null | ((e: WbNodeEventType & {
1792
+ inputElem: HTMLInputElement;
1793
+ }) => any) | Promise<any>;
1794
+ };
1795
+ export type GridOptionsType = {};
1665
1796
  export type InsertNodeType = "before" | "after" | "prependChild" | "appendChild";
1666
1797
  export type DropRegionType = "over" | "before" | "after";
1667
1798
  export type DropRegionTypeSet = Set<DropRegionType>;
@@ -1682,7 +1813,7 @@ declare module "types" {
1682
1813
  */
1683
1814
  effectAllowed: "all";
1684
1815
  /**
1685
- * Default dropEffect ('copy', 'link', or 'move') when no modifier is pressed (overide in dragDrag, dragOver).
1816
+ * Default dropEffect ('copy', 'link', or 'move') when no modifier is pressed (overide in drag, dragOver).
1686
1817
  * @default "move"
1687
1818
  */
1688
1819
  dropEffectDefault: string;
@@ -1716,6 +1847,11 @@ declare module "types" {
1716
1847
  * @default true
1717
1848
  */
1718
1849
  preventVoidMoves: boolean;
1850
+ /**
1851
+ * Serialize Node Data to datatransfer object
1852
+ * @default true
1853
+ */
1854
+ serializeClipboardData: boolean | ((nodeData: WbNodeData) => string);
1719
1855
  /**
1720
1856
  * Enable auto-scrolling while dragging
1721
1857
  * @default true
@@ -1740,37 +1876,54 @@ declare module "types" {
1740
1876
  * Callback(sourceNode, data), return true, to enable dnd drag
1741
1877
  * @default null
1742
1878
  */
1743
- dragStart?: WbNodeEventType;
1879
+ dragStart: null | ((e: WbNodeEventType & {
1880
+ event: DragEvent;
1881
+ }) => boolean);
1744
1882
  /**
1745
1883
  * Callback(sourceNode, data)
1746
1884
  * @default null
1747
1885
  */
1748
- dragDrag: null;
1886
+ drag: null | ((e: WbNodeEventType & {
1887
+ event: DragEvent;
1888
+ }) => void);
1749
1889
  /**
1750
1890
  * Callback(sourceNode, data)
1751
1891
  * @default null
1752
1892
  */
1753
- dragEnd: null;
1893
+ dragEnd: null | ((e: WbNodeEventType & {
1894
+ event: DragEvent;
1895
+ }) => void);
1754
1896
  /**
1755
1897
  * Callback(targetNode, data), return true, to enable dnd drop
1756
1898
  * @default null
1757
1899
  */
1758
- dragEnter: null;
1900
+ dragEnter?: null | ((e: WbNodeEventType & {
1901
+ event: DragEvent;
1902
+ }) => boolean);
1759
1903
  /**
1760
1904
  * Callback(targetNode, data)
1761
1905
  * @default null
1762
1906
  */
1763
- dragOver: null;
1907
+ dragOver: null | ((e: WbNodeEventType & {
1908
+ event: DragEvent;
1909
+ }) => void);
1764
1910
  /**
1765
1911
  * Callback(targetNode, data), return false to prevent autoExpand
1766
1912
  * @default null
1767
1913
  */
1768
- dragExpand: null;
1914
+ dragExpand?: null | ((e: WbNodeEventType & {
1915
+ event: DragEvent;
1916
+ }) => boolean);
1769
1917
  /**
1770
1918
  * Callback(targetNode, data)
1771
1919
  * @default null
1772
1920
  */
1773
- dragDrop: null;
1921
+ drop?: null | ((e: WbNodeEventType & {
1922
+ event: DragEvent;
1923
+ region: DropRegionType;
1924
+ defaultDropMode: string;
1925
+ sourceNode: WunderbaumNode;
1926
+ }) => void);
1774
1927
  /**
1775
1928
  * Callback(targetNode, data)
1776
1929
  * @default null
@@ -1781,15 +1934,15 @@ declare module "types" {
1781
1934
  declare module "wb_extension_base" {
1782
1935
  import { Wunderbaum } from "wunderbaum";
1783
1936
  export type ExtensionsDict = {
1784
- [key: string]: WunderbaumExtension;
1937
+ [key: string]: WunderbaumExtension<any>;
1785
1938
  };
1786
- export abstract class WunderbaumExtension {
1939
+ export abstract class WunderbaumExtension<TOptions> {
1787
1940
  enabled: boolean;
1788
1941
  readonly id: string;
1789
1942
  readonly tree: Wunderbaum;
1790
1943
  readonly treeOpts: any;
1791
1944
  readonly extensionOpts: any;
1792
- constructor(tree: Wunderbaum, id: string, defaults: any);
1945
+ constructor(tree: Wunderbaum, id: string, defaults: TOptions);
1793
1946
  /** Called on tree (re)init after all extensions are added, but before loading.*/
1794
1947
  init(): void;
1795
1948
  getPluginOption(name: string, defaultValue?: any): any;
@@ -1934,10 +2087,10 @@ declare module "debounce" {
1934
2087
  export function throttle<F extends Procedure>(func: F, wait?: number, options?: ThrottleOptions): DebouncedFunction<F>;
1935
2088
  }
1936
2089
  declare module "wb_ext_filter" {
1937
- import { FilterNodesOptions, NodeFilterCallback } from "types";
2090
+ import { FilterNodesOptions, FilterOptionsType, NodeFilterCallback } from "types";
1938
2091
  import { Wunderbaum } from "wunderbaum";
1939
2092
  import { WunderbaumExtension } from "wb_extension_base";
1940
- export class FilterExtension extends WunderbaumExtension {
2093
+ export class FilterExtension extends WunderbaumExtension<FilterOptionsType> {
1941
2094
  queryInput?: HTMLInputElement;
1942
2095
  lastFilterArgs: IArguments | null;
1943
2096
  constructor(tree: Wunderbaum);
@@ -1966,7 +2119,7 @@ declare module "wb_ext_filter" {
1966
2119
  declare module "wb_ext_keynav" {
1967
2120
  import { Wunderbaum } from "wunderbaum";
1968
2121
  import { WunderbaumExtension } from "wb_extension_base";
1969
- export class KeynavExtension extends WunderbaumExtension {
2122
+ export class KeynavExtension extends WunderbaumExtension<any> {
1970
2123
  constructor(tree: Wunderbaum);
1971
2124
  protected _getEmbeddedInputElem(elem: any): HTMLInputElement | null;
1972
2125
  protected _isCurInputFocused(): boolean;
@@ -1976,7 +2129,7 @@ declare module "wb_ext_keynav" {
1976
2129
  declare module "wb_ext_logger" {
1977
2130
  import { WunderbaumExtension } from "wb_extension_base";
1978
2131
  import { Wunderbaum } from "wunderbaum";
1979
- export class LoggerExtension extends WunderbaumExtension {
2132
+ export class LoggerExtension extends WunderbaumExtension<any> {
1980
2133
  readonly prefix: string;
1981
2134
  protected ignoreEvents: Set<string>;
1982
2135
  constructor(tree: Wunderbaum);
@@ -1988,9 +2141,9 @@ declare module "wb_ext_dnd" {
1988
2141
  import { Wunderbaum } from "wunderbaum";
1989
2142
  import { WunderbaumExtension } from "wb_extension_base";
1990
2143
  import { WunderbaumNode } from "wb_node";
1991
- import { DropRegionType, DropRegionTypeSet } from "types";
2144
+ import { DndOptionsType, DropRegionType, DropRegionTypeSet } from "types";
1992
2145
  import { DebouncedFunction } from "debounce";
1993
- export class DndExtension extends WunderbaumExtension {
2146
+ export class DndExtension extends WunderbaumExtension<DndOptionsType> {
1994
2147
  protected srcNode: WunderbaumNode | null;
1995
2148
  protected lastTargetNode: WunderbaumNode | null;
1996
2149
  protected lastEnterStamp: number;
@@ -2084,7 +2237,8 @@ declare module "wb_ext_grid" {
2084
2237
  import { Wunderbaum } from "wunderbaum";
2085
2238
  import { WunderbaumExtension } from "wb_extension_base";
2086
2239
  import { DragCallbackArgType, DragObserver } from "drag_observer";
2087
- export class GridExtension extends WunderbaumExtension {
2240
+ import { GridOptionsType } from "types";
2241
+ export class GridExtension extends WunderbaumExtension<GridOptionsType> {
2088
2242
  protected observer: DragObserver;
2089
2243
  constructor(tree: Wunderbaum);
2090
2244
  init(): void;
@@ -2100,8 +2254,8 @@ declare module "wb_ext_edit" {
2100
2254
  import { Wunderbaum } from "wunderbaum";
2101
2255
  import { WunderbaumExtension } from "wb_extension_base";
2102
2256
  import { WunderbaumNode } from "wb_node";
2103
- import { InsertNodeType, WbNodeData } from "types";
2104
- export class EditExtension extends WunderbaumExtension {
2257
+ import { EditOptionsType, InsertNodeType, WbNodeData } from "types";
2258
+ export class EditExtension extends WunderbaumExtension<EditOptionsType> {
2105
2259
  protected debouncedOnChange: (e: Event) => void;
2106
2260
  protected curEditNode: WunderbaumNode | null;
2107
2261
  protected relatedNode: WunderbaumNode | null;
@@ -2172,7 +2326,7 @@ declare module "wunderbaum" {
2172
2326
  [key: string]: any;
2173
2327
  };
2174
2328
  protected readonly _updateViewportThrottled: (...args: any) => void;
2175
- protected extensionList: WunderbaumExtension[];
2329
+ protected extensionList: WunderbaumExtension<any>[];
2176
2330
  protected extensions: ExtensionsDict;
2177
2331
  /** Merged options from constructor args and tree- and extension defaults. */
2178
2332
  options: WunderbaumOptions;
@@ -2251,7 +2405,7 @@ declare module "wunderbaum" {
2251
2405
  */
2252
2406
  [Symbol.iterator](): IterableIterator<WunderbaumNode>;
2253
2407
  /** @internal */
2254
- protected _registerExtension(extension: WunderbaumExtension): void;
2408
+ protected _registerExtension(extension: WunderbaumExtension<any>): void;
2255
2409
  /** Called on tree (re)init after markup is created, before loading. */
2256
2410
  protected _initExtensions(): void;
2257
2411
  /** Add node to tree's bookkeeping data structures. */
@@ -2259,7 +2413,7 @@ declare module "wunderbaum" {
2259
2413
  /** Remove node from tree's bookkeeping data structures. */
2260
2414
  _unregisterNode(node: WunderbaumNode): void;
2261
2415
  /** Call all hook methods of all registered extensions.*/
2262
- protected _callHook(hook: keyof WunderbaumExtension, data?: any): any;
2416
+ protected _callHook(hook: keyof WunderbaumExtension<any>, data?: any): any;
2263
2417
  /**
2264
2418
  * Call tree method or extension method if defined.
2265
2419
  *