@principal-ade/dynamic-file-tree 0.1.37 → 0.1.39

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/dist/index.mjs CHANGED
@@ -162,7 +162,7 @@ var DirectoryFilterInput = ({
162
162
  style: {
163
163
  flex: 1,
164
164
  padding: "8px 12px",
165
- fontSize: "14px",
165
+ fontSize: theme.fontSizes[1],
166
166
  borderRadius: "4px",
167
167
  border: `1px solid ${showDropdown ? theme.colors.primary : theme.colors.border}`,
168
168
  backgroundColor: theme.colors.backgroundSecondary || theme.colors.background,
@@ -174,7 +174,7 @@ var DirectoryFilterInput = ({
174
174
  onClick: () => setExcludeMode(!excludeMode),
175
175
  style: {
176
176
  padding: "8px 12px",
177
- fontSize: "12px",
177
+ fontSize: theme.fontSizes[0],
178
178
  fontWeight: 500,
179
179
  borderRadius: "4px",
180
180
  border: `1px solid ${excludeMode ? theme.colors.primary : theme.colors.border}`,
@@ -202,7 +202,7 @@ var DirectoryFilterInput = ({
202
202
  style: {
203
203
  padding: "8px 12px",
204
204
  cursor: "pointer",
205
- fontSize: "14px",
205
+ fontSize: theme.fontSizes[1],
206
206
  backgroundColor: index === selectedIndex ? theme.colors.primary : "transparent",
207
207
  color: index === selectedIndex ? "#ffffff" : theme.colors.text || theme.colors.textSecondary,
208
208
  transition: "background-color 0.15s, color 0.15s",
@@ -223,7 +223,7 @@ var DirectoryFilterInput = ({
223
223
  gap: "4px",
224
224
  padding: "4px 8px",
225
225
  borderRadius: "4px",
226
- fontSize: "12px",
226
+ fontSize: theme.fontSizes[0],
227
227
  backgroundColor: filter.mode === "include" ? `${theme.colors.primary}20` : `${theme.colors.error}20`,
228
228
  border: `1px solid ${filter.mode === "include" ? theme.colors.primary : theme.colors.error}`,
229
229
  color: theme.colors.text
@@ -244,7 +244,7 @@ var DirectoryFilterInput = ({
244
244
  color: theme.colors.textSecondary,
245
245
  cursor: "pointer",
246
246
  padding: 0,
247
- fontSize: "14px"
247
+ fontSize: theme.fontSizes[1]
248
248
  },
249
249
  title: "Remove filter"
250
250
  }, "×")))));
@@ -612,7 +612,7 @@ var OrderedFileList = ({
612
612
  }
613
613
  }, /* @__PURE__ */ React4.createElement("div", {
614
614
  style: {
615
- fontSize: "14px",
615
+ fontSize: theme.fontSizes[1],
616
616
  fontWeight: isSelected ? 500 : 400,
617
617
  overflow: "hidden",
618
618
  textOverflow: "ellipsis",
@@ -621,7 +621,7 @@ var OrderedFileList = ({
621
621
  title: file.relativePath
622
622
  }, file.name), /* @__PURE__ */ React4.createElement("div", {
623
623
  style: {
624
- fontSize: "12px",
624
+ fontSize: theme.fontSizes[0],
625
625
  color: theme.colors.secondary || theme.colors.text + "99",
626
626
  overflow: "hidden",
627
627
  textOverflow: "ellipsis",
@@ -633,7 +633,7 @@ var OrderedFileList = ({
633
633
  display: "flex",
634
634
  flexDirection: "column",
635
635
  alignItems: "flex-end",
636
- fontSize: "12px",
636
+ fontSize: theme.fontSizes[0],
637
637
  color: theme.colors.secondary || theme.colors.text + "99",
638
638
  marginLeft: "16px",
639
639
  flexShrink: 0
@@ -646,7 +646,7 @@ var OrderedFileList = ({
646
646
  justifyContent: "center",
647
647
  height: containerHeight,
648
648
  color: theme.colors.secondary || theme.colors.text + "99",
649
- fontSize: "14px"
649
+ fontSize: theme.fontSizes[1]
650
650
  }
651
651
  }, "No files found"));
652
652
  };
@@ -910,7 +910,7 @@ var GitOrderedFileList = ({
910
910
  }
911
911
  }, /* @__PURE__ */ React5.createElement("div", {
912
912
  style: {
913
- fontSize: "14px",
913
+ fontSize: theme.fontSizes[1],
914
914
  fontWeight: isSelected ? 500 : 400,
915
915
  overflow: "hidden",
916
916
  textOverflow: "ellipsis",
@@ -920,7 +920,7 @@ var GitOrderedFileList = ({
920
920
  title: file.relativePath
921
921
  }, file.name), /* @__PURE__ */ React5.createElement("div", {
922
922
  style: {
923
- fontSize: "12px",
923
+ fontSize: theme.fontSizes[0],
924
924
  color: theme.colors.secondary || theme.colors.text + "99",
925
925
  overflow: "hidden",
926
926
  textOverflow: "ellipsis",
@@ -932,7 +932,7 @@ var GitOrderedFileList = ({
932
932
  display: "flex",
933
933
  flexDirection: "column",
934
934
  alignItems: "flex-end",
935
- fontSize: "12px",
935
+ fontSize: theme.fontSizes[0],
936
936
  color: theme.colors.secondary || theme.colors.text + "99",
937
937
  marginLeft: "16px",
938
938
  flexShrink: 0
@@ -945,7 +945,7 @@ var GitOrderedFileList = ({
945
945
  justifyContent: "center",
946
946
  height: containerHeight,
947
947
  color: theme.colors.secondary || theme.colors.text + "99",
948
- fontSize: "14px"
948
+ fontSize: theme.fontSizes[1]
949
949
  }
950
950
  }, showOnlyChanged ? "No changed files" : "No files found"));
951
951
  };
@@ -1181,7 +1181,7 @@ var GitStatusFileTree = ({
1181
1181
  }, gitDisplay.icon, /* @__PURE__ */ React7.createElement("span", {
1182
1182
  style: {
1183
1183
  marginLeft: "4px",
1184
- fontSize: "12px",
1184
+ fontSize: theme.fontSizes[0],
1185
1185
  fontWeight: "bold"
1186
1186
  }
1187
1187
  }, gitStatus)) : null;
@@ -1328,7 +1328,7 @@ var GitStatusFileTreeContainer = ({
1328
1328
  }, /* @__PURE__ */ React8.createElement("h3", {
1329
1329
  style: {
1330
1330
  margin: 0,
1331
- fontSize: "14px",
1331
+ fontSize: theme.fontSizes[1],
1332
1332
  fontWeight: "bold",
1333
1333
  color: theme.colors.text
1334
1334
  }
@@ -1338,7 +1338,7 @@ var GitStatusFileTreeContainer = ({
1338
1338
  color: "#ffffff",
1339
1339
  padding: "2px 8px",
1340
1340
  borderRadius: "12px",
1341
- fontSize: "12px",
1341
+ fontSize: theme.fontSizes[0],
1342
1342
  fontWeight: "bold"
1343
1343
  }
1344
1344
  }, changedFilesCount), isLoading && /* @__PURE__ */ React8.createElement(RefreshCw, {
@@ -1358,7 +1358,7 @@ var GitStatusFileTreeContainer = ({
1358
1358
  display: "flex",
1359
1359
  alignItems: "center",
1360
1360
  gap: "4px",
1361
- fontSize: "12px",
1361
+ fontSize: theme.fontSizes[0],
1362
1362
  color: theme.colors.text
1363
1363
  },
1364
1364
  title: showUnchangedFiles ? "Hide unchanged files" : "Show all files"
@@ -1378,7 +1378,7 @@ var GitStatusFileTreeContainer = ({
1378
1378
  display: "flex",
1379
1379
  alignItems: "center",
1380
1380
  gap: "4px",
1381
- fontSize: "12px",
1381
+ fontSize: theme.fontSizes[0],
1382
1382
  color: theme.colors.text,
1383
1383
  opacity: isLoading ? 0.6 : 1
1384
1384
  },
@@ -1394,14 +1394,14 @@ var GitStatusFileTreeContainer = ({
1394
1394
  backgroundColor: "#fff3cd",
1395
1395
  border: "1px solid #ffeaa7",
1396
1396
  borderRadius: "4px",
1397
- fontSize: "12px",
1397
+ fontSize: theme.fontSizes[0],
1398
1398
  color: "#856404"
1399
1399
  }
1400
1400
  }, /* @__PURE__ */ React8.createElement(AlertCircle3, {
1401
1401
  size: 14
1402
1402
  }), error), !error && hasChanges && /* @__PURE__ */ React8.createElement("div", {
1403
1403
  style: {
1404
- fontSize: "12px",
1404
+ fontSize: theme.fontSizes[0],
1405
1405
  color: theme.colors.textSecondary || "#666",
1406
1406
  marginTop: "4px"
1407
1407
  }
@@ -1748,7 +1748,7 @@ var MultiFileTree = ({
1748
1748
  }
1749
1749
  }, /* @__PURE__ */ React10.createElement("h4", {
1750
1750
  style: {
1751
- fontSize: "16px",
1751
+ fontSize: theme.fontSizes[2],
1752
1752
  fontWeight: "600",
1753
1753
  color: theme.colors.text,
1754
1754
  margin: 0
@@ -1762,7 +1762,7 @@ var MultiFileTree = ({
1762
1762
  onClick: () => setViewMode("all"),
1763
1763
  style: {
1764
1764
  padding: "6px 12px",
1765
- fontSize: "13px",
1765
+ fontSize: theme.fontSizes[1],
1766
1766
  fontWeight: "500",
1767
1767
  backgroundColor: viewMode === "all" ? theme.colors.primary : "transparent",
1768
1768
  color: viewMode === "all" ? theme.colors.background : theme.colors.text,
@@ -1776,7 +1776,7 @@ var MultiFileTree = ({
1776
1776
  disabled: currentSelectedDirs.length === 0,
1777
1777
  style: {
1778
1778
  padding: "6px 12px",
1779
- fontSize: "13px",
1779
+ fontSize: theme.fontSizes[1],
1780
1780
  fontWeight: "500",
1781
1781
  backgroundColor: viewMode === "selected" ? theme.colors.primary : "transparent",
1782
1782
  color: viewMode === "selected" ? theme.colors.background : currentSelectedDirs.length === 0 ? theme.colors.textSecondary : theme.colors.text,
@@ -1795,7 +1795,7 @@ var MultiFileTree = ({
1795
1795
  }
1796
1796
  }, /* @__PURE__ */ React10.createElement("div", {
1797
1797
  style: {
1798
- fontSize: "13px",
1798
+ fontSize: theme.fontSizes[1],
1799
1799
  fontWeight: "500",
1800
1800
  color: theme.colors.text,
1801
1801
  marginBottom: "8px"
@@ -1807,14 +1807,14 @@ var MultiFileTree = ({
1807
1807
  onFiltersChange: handleFiltersChange
1808
1808
  }), currentSelectedDirs.length === 0 && /* @__PURE__ */ React10.createElement("div", {
1809
1809
  style: {
1810
- fontSize: "12px",
1810
+ fontSize: theme.fontSizes[0],
1811
1811
  color: theme.colors.textSecondary,
1812
1812
  marginTop: "8px",
1813
1813
  fontStyle: "italic"
1814
1814
  }
1815
1815
  }, 'Type to search and select directories from any repository. Selected directories will be highlighted when you click "Show Selected".'), currentSelectedDirs.length > 0 && viewMode === "all" && /* @__PURE__ */ React10.createElement("div", {
1816
1816
  style: {
1817
- fontSize: "12px",
1817
+ fontSize: theme.fontSizes[0],
1818
1818
  color: theme.colors.primary,
1819
1819
  marginTop: "8px"
1820
1820
  }
@@ -1826,7 +1826,7 @@ var MultiFileTree = ({
1826
1826
  }
1827
1827
  }, viewMode === "selected" && currentSelectedDirs.length > 0 && /* @__PURE__ */ React10.createElement("div", {
1828
1828
  style: {
1829
- fontSize: "13px",
1829
+ fontSize: theme.fontSizes[1],
1830
1830
  color: theme.colors.textSecondary,
1831
1831
  marginBottom: "12px",
1832
1832
  padding: "8px 12px",
@@ -1854,13 +1854,13 @@ var MultiFileTree = ({
1854
1854
  backgroundColor: theme.colors.backgroundSecondary,
1855
1855
  borderRadius: "8px",
1856
1856
  border: `1px solid ${theme.colors.border}`,
1857
- fontSize: "12px",
1857
+ fontSize: theme.fontSizes[0],
1858
1858
  color: theme.colors.textSecondary
1859
1859
  }
1860
1860
  }, "Selected: ", selectedFile.source.name, " / ", selectedFile.path));
1861
1861
  };
1862
1862
  // src/components/CanvasNarrativeTree/CanvasNarrativeTreeCore.tsx
1863
- import { Package, Activity, FileText } from "lucide-react";
1863
+ import { Package, Workflow, Scroll } from "lucide-react";
1864
1864
  import React11, { useMemo as useMemo9 } from "react";
1865
1865
  import { Tree as Tree3 } from "react-arborist";
1866
1866
  var buildTreeData = (canvases, narratives) => {
@@ -1954,30 +1954,64 @@ var CanvasNarrativeTreeCore = ({
1954
1954
  narratives,
1955
1955
  theme,
1956
1956
  onClick,
1957
+ onOpenCanvas,
1957
1958
  selectedNodeId,
1958
1959
  defaultOpen = false,
1959
1960
  initialOpenState,
1960
1961
  horizontalNodePadding = "8px",
1961
1962
  verticalNodePadding = "3px",
1962
- verticalPadding
1963
+ verticalPadding,
1964
+ enableDragAndDrop = false
1963
1965
  }) => {
1966
+ const dndProps = getDndProps(enableDragAndDrop);
1964
1967
  const treeData = useMemo9(() => buildTreeData(canvases, narratives), [canvases, narratives]);
1965
1968
  const NodeRenderer = (props) => {
1966
1969
  const { node } = props;
1967
1970
  const data = node.data;
1968
1971
  const icon = data.type === "package" ? /* @__PURE__ */ React11.createElement(Package, {
1969
1972
  size: 16
1970
- }) : data.type === "canvas" ? /* @__PURE__ */ React11.createElement(Activity, {
1973
+ }) : data.type === "canvas" ? /* @__PURE__ */ React11.createElement(Workflow, {
1971
1974
  size: 16
1972
- }) : /* @__PURE__ */ React11.createElement(FileText, {
1975
+ }) : /* @__PURE__ */ React11.createElement(Scroll, {
1973
1976
  size: 16
1974
1977
  });
1975
1978
  const nameColor = data.type === "package" ? theme.colors.primary : data.type === "canvas" ? theme.colors.success : theme.colors.textSecondary;
1979
+ const hasNarratives = data.type === "canvas" && data.children && data.children.length > 0;
1980
+ const showOpenButton = hasNarratives && onOpenCanvas;
1981
+ const rightContent = /* @__PURE__ */ React11.createElement("div", {
1982
+ style: { display: "flex", alignItems: "center", gap: "8px" }
1983
+ }, showOpenButton && /* @__PURE__ */ React11.createElement("button", {
1984
+ onClick: (e) => {
1985
+ e.stopPropagation();
1986
+ if (data.canvas && onOpenCanvas) {
1987
+ onOpenCanvas(data.canvas);
1988
+ }
1989
+ },
1990
+ style: {
1991
+ background: "none",
1992
+ border: "none",
1993
+ cursor: "pointer",
1994
+ display: "flex",
1995
+ alignItems: "center",
1996
+ padding: "2px 4px",
1997
+ color: theme.colors.primary,
1998
+ opacity: 0.8,
1999
+ fontSize: theme.fontSizes[0],
2000
+ fontFamily: theme.fonts.body
2001
+ },
2002
+ title: "Edit canvas",
2003
+ onMouseEnter: (e) => {
2004
+ e.currentTarget.style.opacity = "1";
2005
+ },
2006
+ onMouseLeave: (e) => {
2007
+ e.currentTarget.style.opacity = "0.8";
2008
+ }
2009
+ }, "Edit Canvas"), icon);
1976
2010
  return /* @__PURE__ */ React11.createElement(TreeNode, {
1977
2011
  ...props,
1978
2012
  theme,
1979
2013
  nameColor,
1980
- rightContent: icon,
2014
+ rightContent,
1981
2015
  horizontalNodePadding,
1982
2016
  verticalNodePadding
1983
2017
  });
@@ -2010,12 +2044,13 @@ var CanvasNarrativeTreeCore = ({
2010
2044
  ...selectedNodeId !== undefined && { selection: selectedNodeId },
2011
2045
  width: "100%",
2012
2046
  height: containerHeight,
2013
- rowHeight: 28
2047
+ rowHeight: 28,
2048
+ ...dndProps
2014
2049
  }, NodeRenderer));
2015
2050
  };
2016
2051
  // src/components/TelemetryCoverageFileTree.tsx
2017
2052
  import {
2018
- Activity as Activity2,
2053
+ Activity,
2019
2054
  CircleDot,
2020
2055
  Circle,
2021
2056
  TestTube
@@ -2039,7 +2074,7 @@ var getCoverageStatusDisplay = (coverage, _theme) => {
2039
2074
  switch (status) {
2040
2075
  case "covered":
2041
2076
  return {
2042
- icon: /* @__PURE__ */ React12.createElement(Activity2, {
2077
+ icon: /* @__PURE__ */ React12.createElement(Activity, {
2043
2078
  size: 14
2044
2079
  }),
2045
2080
  color: "#22c55e",
@@ -2195,7 +2230,7 @@ var TelemetryCoverageFileTree = ({
2195
2230
  }, coverageDisplay.icon, /* @__PURE__ */ React12.createElement("span", {
2196
2231
  style: {
2197
2232
  marginLeft: "4px",
2198
- fontSize: "11px",
2233
+ fontSize: theme.fontSizes[0],
2199
2234
  fontWeight: "bold",
2200
2235
  fontFamily: "monospace"
2201
2236
  }
@@ -2314,7 +2349,7 @@ var calculateTelemetryCoverageStats = (coverageData) => {
2314
2349
  };
2315
2350
  };
2316
2351
  // src/components/TelemetryCoverageFileTreeContainer.tsx
2317
- import { RefreshCw as RefreshCw2, Eye as Eye2, EyeOff as EyeOff2, AlertCircle as AlertCircle4, Activity as Activity3 } from "lucide-react";
2352
+ import { RefreshCw as RefreshCw2, Eye as Eye2, EyeOff as EyeOff2, AlertCircle as AlertCircle4, Activity as Activity2 } from "lucide-react";
2318
2353
  import React13, { useState as useState7, useMemo as useMemo11 } from "react";
2319
2354
  var TelemetryCoverageFileTreeContainer = ({
2320
2355
  fileTree,
@@ -2365,13 +2400,13 @@ var TelemetryCoverageFileTreeContainer = ({
2365
2400
  }
2366
2401
  }, /* @__PURE__ */ React13.createElement("div", {
2367
2402
  style: { display: "flex", alignItems: "center", gap: "8px" }
2368
- }, /* @__PURE__ */ React13.createElement(Activity3, {
2403
+ }, /* @__PURE__ */ React13.createElement(Activity2, {
2369
2404
  size: 16,
2370
2405
  color: theme.colors.primary
2371
2406
  }), /* @__PURE__ */ React13.createElement("h3", {
2372
2407
  style: {
2373
2408
  margin: 0,
2374
- fontSize: "14px",
2409
+ fontSize: theme.fontSizes[1],
2375
2410
  fontWeight: "bold",
2376
2411
  color: theme.colors.text
2377
2412
  }
@@ -2381,7 +2416,7 @@ var TelemetryCoverageFileTreeContainer = ({
2381
2416
  color: "#ffffff",
2382
2417
  padding: "2px 8px",
2383
2418
  borderRadius: "12px",
2384
- fontSize: "12px",
2419
+ fontSize: theme.fontSizes[0],
2385
2420
  fontWeight: "bold",
2386
2421
  fontFamily: "monospace"
2387
2422
  }
@@ -2403,7 +2438,7 @@ var TelemetryCoverageFileTreeContainer = ({
2403
2438
  display: "flex",
2404
2439
  alignItems: "center",
2405
2440
  gap: "4px",
2406
- fontSize: "12px",
2441
+ fontSize: theme.fontSizes[0],
2407
2442
  color: theme.colors.text
2408
2443
  },
2409
2444
  title: showUncoveredFiles ? "Show only covered files" : "Show all test files"
@@ -2423,7 +2458,7 @@ var TelemetryCoverageFileTreeContainer = ({
2423
2458
  display: "flex",
2424
2459
  alignItems: "center",
2425
2460
  gap: "4px",
2426
- fontSize: "12px",
2461
+ fontSize: theme.fontSizes[0],
2427
2462
  color: theme.colors.text,
2428
2463
  opacity: isLoading ? 0.6 : 1
2429
2464
  },
@@ -2439,7 +2474,7 @@ var TelemetryCoverageFileTreeContainer = ({
2439
2474
  backgroundColor: "#fff3cd",
2440
2475
  border: "1px solid #ffeaa7",
2441
2476
  borderRadius: "4px",
2442
- fontSize: "12px",
2477
+ fontSize: theme.fontSizes[0],
2443
2478
  color: "#856404",
2444
2479
  marginBottom: "8px"
2445
2480
  }
@@ -2449,7 +2484,7 @@ var TelemetryCoverageFileTreeContainer = ({
2449
2484
  style: {
2450
2485
  display: "flex",
2451
2486
  gap: "16px",
2452
- fontSize: "12px",
2487
+ fontSize: theme.fontSizes[0],
2453
2488
  color: theme.colors.textSecondary || "#666"
2454
2489
  }
2455
2490
  }, /* @__PURE__ */ React13.createElement("span", null, /* @__PURE__ */ React13.createElement("strong", {
@@ -2462,7 +2497,7 @@ var TelemetryCoverageFileTreeContainer = ({
2462
2497
  style: { marginLeft: "auto" }
2463
2498
  }, stats.totalTraced, "/", stats.totalTests, " tests traced")), !error && stats.testFiles === 0 && /* @__PURE__ */ React13.createElement("div", {
2464
2499
  style: {
2465
- fontSize: "12px",
2500
+ fontSize: theme.fontSizes[0],
2466
2501
  color: theme.colors.textSecondary || "#666"
2467
2502
  }
2468
2503
  }, "No test files with coverage data found")), /* @__PURE__ */ React13.createElement(DirectoryFilterInput, {
@@ -0,0 +1,20 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { CanvasNarrativeTreeCore } from './CanvasNarrativeTreeCore';
3
+ declare const meta: Meta<typeof CanvasNarrativeTreeCore>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof CanvasNarrativeTreeCore>;
6
+ export declare const Default: Story;
7
+ export declare const SinglePackage: Story;
8
+ export declare const RootCanvasOnly: Story;
9
+ export declare const NoNarratives: Story;
10
+ export declare const CollapsedByDefault: Story;
11
+ export declare const WithSelection: Story;
12
+ export declare const RegalTheme: Story;
13
+ export declare const TerminalTheme: Story;
14
+ export declare const MatrixTheme: Story;
15
+ export declare const MatrixMinimalTheme: Story;
16
+ export declare const SlateTheme: Story;
17
+ export declare const InteractiveDemo: Story;
18
+ export declare const ThemeComparison: Story;
19
+ export declare const CustomPadding: Story;
20
+ //# sourceMappingURL=CanvasNarrativeTree.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasNarrativeTree.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/CanvasNarrativeTree/CanvasNarrativeTree.stories.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAgMpE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,uBAAuB,CAQ9C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEtD,eAAO,MAAM,OAAO,EAAE,KASrB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAQ5B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAQ1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAQhC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAS3B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAQxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAQzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAQhC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAQxB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KA2E7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAiE7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAW3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasNarrativeTreeCore.d.ts","sourceRoot":"","sources":["../../../../src/components/CanvasNarrativeTree/CanvasNarrativeTreeCore.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,OAAO,KAAK,EAEV,4BAA4B,EAG7B,MAAM,SAAS,CAAC;AA2HjB,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CA+F1E,CAAC"}
1
+ {"version":3,"file":"CanvasNarrativeTreeCore.d.ts","sourceRoot":"","sources":["../../../../src/components/CanvasNarrativeTree/CanvasNarrativeTreeCore.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,OAAO,KAAK,EAEV,4BAA4B,EAG7B,MAAM,SAAS,CAAC;AA2HjB,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CA6I1E,CAAC"}
@@ -27,11 +27,13 @@ export interface CanvasNarrativeTreeCoreProps {
27
27
  }>;
28
28
  theme: Theme;
29
29
  onClick: (node: CanvasNarrativeNodeData) => void;
30
+ onOpenCanvas?: (canvas: DiscoveredCanvas) => void;
30
31
  selectedNodeId?: string;
31
32
  defaultOpen?: boolean;
32
33
  initialOpenState?: Record<string, boolean>;
33
34
  horizontalNodePadding?: string;
34
35
  verticalNodePadding?: string;
35
36
  verticalPadding?: string;
37
+ enableDragAndDrop?: boolean;
36
38
  }
37
39
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/CanvasNarrativeTree/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACrG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;AAEpD,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEzE,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,IAAI,EAAE,uBAAuB,CAAC;IAC9B,QAAQ,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAGrC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAC;IACxE,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/CanvasNarrativeTree/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAErG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;AAEpD,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEzE,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,IAAI,EAAE,uBAAuB,CAAC;IAC9B,QAAQ,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAGrC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAC;IACxE,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACjD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderedFileList.stories.d.ts","sourceRoot":"","sources":["../../../src/components/OrderedFileList.stories.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAsGpD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,eAAe,CAgBtC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9C,eAAO,MAAM,OAAO,EAAE,KAyBrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KA0BxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KA2BjC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KA2BxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KA2BlC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KA2BzB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAM3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAsBvB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAKxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAKhC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAKxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAyFlC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KA4C7B,CAAC;AAuCF,eAAO,MAAM,aAAa,EAAE,KAyB3B,CAAC;AAkCF,eAAO,MAAM,uBAAuB,EAAE,KA0BrC,CAAC"}
1
+ {"version":3,"file":"OrderedFileList.stories.d.ts","sourceRoot":"","sources":["../../../src/components/OrderedFileList.stories.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAsGpD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,eAAe,CAgBtC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9C,eAAO,MAAM,OAAO,EAAE,KAyBrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KA0BxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KA2BjC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KA2BxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KA2BlC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KA2BzB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAM3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAsBvB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAKxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAKhC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAKxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAyFlC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KA4C7B,CAAC;AAuCF,eAAO,MAAM,aAAa,EAAE,KA0B3B,CAAC;AAkCF,eAAO,MAAM,uBAAuB,EAAE,KA0BrC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principal-ade/dynamic-file-tree",
3
- "version": "0.1.37",
3
+ "version": "0.1.39",
4
4
  "description": "React component for selective directory filtering and file tree visualization",
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",