@djangocfg/ui-tools 2.1.317 → 2.1.319

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 (65) hide show
  1. package/dist/{DocsLayout-ESVQZO3V.mjs → DocsLayout-CTJINVBM.mjs} +235 -267
  2. package/dist/DocsLayout-CTJINVBM.mjs.map +1 -0
  3. package/dist/{DocsLayout-KUPDWJ3G.cjs → DocsLayout-XLDB6CJ2.cjs} +273 -305
  4. package/dist/DocsLayout-XLDB6CJ2.cjs.map +1 -0
  5. package/dist/TreeRoot-A3J65L6F.mjs +4 -0
  6. package/dist/{TreeRoot-R6XVHYQK.mjs.map → TreeRoot-A3J65L6F.mjs.map} +1 -1
  7. package/dist/TreeRoot-DSK5JILT.cjs +19 -0
  8. package/dist/{TreeRoot-RAMQSBMO.cjs.map → TreeRoot-DSK5JILT.cjs.map} +1 -1
  9. package/dist/{chunk-44ZTWYAF.cjs → chunk-3Z3A7FHA.cjs} +17 -6
  10. package/dist/chunk-3Z3A7FHA.cjs.map +1 -0
  11. package/dist/{chunk-GBLQTHWT.mjs → chunk-62Y65TGK.mjs} +5 -4
  12. package/dist/chunk-62Y65TGK.mjs.map +1 -0
  13. package/dist/{chunk-NTJL2SXK.mjs → chunk-MOME6KYD.mjs} +17 -6
  14. package/dist/chunk-MOME6KYD.mjs.map +1 -0
  15. package/dist/{chunk-S44PW6NK.cjs → chunk-TKSFZHCG.cjs} +5 -4
  16. package/dist/chunk-TKSFZHCG.cjs.map +1 -0
  17. package/dist/file-icon/index.cjs +59 -3
  18. package/dist/file-icon/index.cjs.map +1 -1
  19. package/dist/file-icon/index.d.cts +33 -4
  20. package/dist/file-icon/index.d.ts +33 -4
  21. package/dist/file-icon/index.mjs +60 -5
  22. package/dist/file-icon/index.mjs.map +1 -1
  23. package/dist/index.cjs +43 -43
  24. package/dist/index.d.cts +2 -2
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.mjs +6 -6
  27. package/dist/tree/index.cjs +33 -33
  28. package/dist/tree/index.d.cts +6 -4
  29. package/dist/tree/index.d.ts +6 -4
  30. package/dist/tree/index.mjs +1 -1
  31. package/dist/{types-Cclwv4Hl.d.cts → types-CevSbyfD.d.cts} +6 -0
  32. package/dist/{types-Cclwv4Hl.d.ts → types-CevSbyfD.d.ts} +6 -0
  33. package/package.json +6 -6
  34. package/src/tools/FileIcon/FileIcon.tsx +13 -2
  35. package/src/tools/FileIcon/index.ts +6 -0
  36. package/src/tools/FileIcon/specialFolders.ts +93 -0
  37. package/src/tools/FileIcon/treeAdapter.tsx +8 -0
  38. package/src/tools/OpenapiViewer/OpenapiViewer.story.tsx +30 -0
  39. package/src/tools/OpenapiViewer/components/DocsLayout/EndpointDoc/Header/MetaActions.tsx +35 -50
  40. package/src/tools/OpenapiViewer/components/DocsLayout/EndpointDoc/Header/index.tsx +49 -22
  41. package/src/tools/OpenapiViewer/components/DocsLayout/EndpointDoc/Section/index.tsx +1 -1
  42. package/src/tools/OpenapiViewer/components/DocsLayout/EndpointDoc/store/index.ts +10 -11
  43. package/src/tools/OpenapiViewer/components/DocsLayout/SchemaCopyMenu.tsx +25 -5
  44. package/src/tools/OpenapiViewer/components/DocsLayout/Sidebar/BrandHeader.tsx +18 -33
  45. package/src/tools/OpenapiViewer/components/DocsLayout/Sidebar/Toolbar.tsx +40 -24
  46. package/src/tools/OpenapiViewer/components/DocsLayout/Sidebar/index.tsx +8 -14
  47. package/src/tools/OpenapiViewer/components/DocsLayout/sidebarLabel.ts +1 -4
  48. package/src/tools/OpenapiViewer/utils/operationToHar.ts +2 -1
  49. package/src/tools/OpenapiViewer/utils/url.ts +9 -2
  50. package/src/tools/Tree/README.md +46 -2
  51. package/src/tools/Tree/Tree.story.tsx +36 -0
  52. package/src/tools/Tree/TreeRoot.tsx +2 -0
  53. package/src/tools/Tree/components/TreeContent.tsx +3 -1
  54. package/src/tools/Tree/context/TreeContext.tsx +4 -1
  55. package/src/tools/Tree/data/flatten.ts +10 -1
  56. package/src/tools/Tree/types.ts +7 -0
  57. package/dist/DocsLayout-ESVQZO3V.mjs.map +0 -1
  58. package/dist/DocsLayout-KUPDWJ3G.cjs.map +0 -1
  59. package/dist/TreeRoot-R6XVHYQK.mjs +0 -4
  60. package/dist/TreeRoot-RAMQSBMO.cjs +0 -19
  61. package/dist/chunk-44ZTWYAF.cjs.map +0 -1
  62. package/dist/chunk-GBLQTHWT.mjs.map +0 -1
  63. package/dist/chunk-NTJL2SXK.mjs.map +0 -1
  64. package/dist/chunk-S44PW6NK.cjs.map +0 -1
  65. package/src/tools/OpenapiViewer/components/DocsLayout/Sidebar/MethodChips.tsx +0 -43
@@ -1,7 +1,26 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { T as TreeNode, a as TreeRowSlot } from '../types-Cclwv4Hl.cjs';
2
+ import { LucideIcon } from 'lucide-react';
3
+ import { T as TreeNode, a as TreeRowSlot } from '../types-CevSbyfD.cjs';
3
4
  import 'react';
4
5
 
6
+ interface ResolveFolderIconOptions {
7
+ /** Folder display name (no path). */
8
+ name: string;
9
+ /** Open / closed state — only used for the *generic* folder fallback. */
10
+ isExpanded?: boolean;
11
+ /**
12
+ * Optional override map. Wins over the built-in table. Keys are
13
+ * matched case-insensitively after `trim()`.
14
+ */
15
+ overrides?: Record<string, LucideIcon>;
16
+ }
17
+ /**
18
+ * Pick the right folder icon for `name`. Returns `Folder` / `FolderOpen`
19
+ * for unknown names so callers can render the generic open/closed pair.
20
+ */
21
+ declare function resolveFolderIcon({ name, isExpanded, overrides, }: ResolveFolderIconOptions): LucideIcon;
22
+ type FolderIconOverrides = Record<string, LucideIcon>;
23
+
5
24
  type FileIconSize = 12 | 14 | 16 | 18 | 20 | 24 | 28 | 32 | 40 | 48 | 64;
6
25
  interface FileIconProps {
7
26
  /** File name (with extension) or folder name. */
@@ -12,6 +31,11 @@ interface FileIconProps {
12
31
  isExpanded?: boolean;
13
32
  /** Pixel size of the icon. */
14
33
  size?: FileIconSize;
34
+ /**
35
+ * Override or extend the built-in special-folder mapping. Keys are
36
+ * matched case-insensitively. Only used when `isFolder` is true.
37
+ */
38
+ folderOverrides?: FolderIconOverrides;
15
39
  className?: string;
16
40
  }
17
41
  /**
@@ -24,7 +48,7 @@ interface FileIconProps {
24
48
  * The optional dependency is loaded lazily on first render — there is zero
25
49
  * bundle cost for consumers who never mount this component.
26
50
  */
27
- declare function FileIcon({ name, isFolder, isExpanded, size, className, }: FileIconProps): react_jsx_runtime.JSX.Element;
51
+ declare function FileIcon({ name, isFolder, isExpanded, size, folderOverrides, className, }: FileIconProps): react_jsx_runtime.JSX.Element;
28
52
 
29
53
  interface CreateFileIconSlotOptions<T> {
30
54
  /**
@@ -34,6 +58,11 @@ interface CreateFileIconSlotOptions<T> {
34
58
  getName: (node: TreeNode<T>) => string;
35
59
  /** Pixel size for both file and folder icons. Default: 16. */
36
60
  size?: FileIconSize;
61
+ /**
62
+ * Override or extend the built-in special-folder mapping (e.g. give
63
+ * `tests` a custom icon). Keys are matched case-insensitively.
64
+ */
65
+ folderOverrides?: FolderIconOverrides;
37
66
  }
38
67
  /**
39
68
  * Build a `renderIcon` slot for `<TreeRoot>` that uses `<FileIcon>` for both
@@ -48,7 +77,7 @@ interface CreateFileIconSlotOptions<T> {
48
77
  * />
49
78
  * ```
50
79
  */
51
- declare function createFileIconSlot<T>({ getName, size, }: CreateFileIconSlotOptions<T>): TreeRowSlot<T>;
80
+ declare function createFileIconSlot<T>({ getName, size, folderOverrides, }: CreateFileIconSlotOptions<T>): TreeRowSlot<T>;
52
81
 
53
82
  /**
54
83
  * Lazy loader for `material-file-icons`. The package is an optional dependency:
@@ -66,4 +95,4 @@ declare function loadMaterialIcons(): Promise<GetIconFn | null>;
66
95
  /** Synchronous accessor — returns null until `loadMaterialIcons` resolves. */
67
96
  declare function getMaterialIconsSync(): GetIconFn | null;
68
97
 
69
- export { type CreateFileIconSlotOptions, FileIcon, type FileIconProps, type FileIconSize, createFileIconSlot, getMaterialIconsSync, loadMaterialIcons };
98
+ export { type CreateFileIconSlotOptions, FileIcon, type FileIconProps, type FileIconSize, type FolderIconOverrides, type ResolveFolderIconOptions, createFileIconSlot, getMaterialIconsSync, loadMaterialIcons, resolveFolderIcon };
@@ -1,7 +1,26 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { T as TreeNode, a as TreeRowSlot } from '../types-Cclwv4Hl.js';
2
+ import { LucideIcon } from 'lucide-react';
3
+ import { T as TreeNode, a as TreeRowSlot } from '../types-CevSbyfD.js';
3
4
  import 'react';
4
5
 
6
+ interface ResolveFolderIconOptions {
7
+ /** Folder display name (no path). */
8
+ name: string;
9
+ /** Open / closed state — only used for the *generic* folder fallback. */
10
+ isExpanded?: boolean;
11
+ /**
12
+ * Optional override map. Wins over the built-in table. Keys are
13
+ * matched case-insensitively after `trim()`.
14
+ */
15
+ overrides?: Record<string, LucideIcon>;
16
+ }
17
+ /**
18
+ * Pick the right folder icon for `name`. Returns `Folder` / `FolderOpen`
19
+ * for unknown names so callers can render the generic open/closed pair.
20
+ */
21
+ declare function resolveFolderIcon({ name, isExpanded, overrides, }: ResolveFolderIconOptions): LucideIcon;
22
+ type FolderIconOverrides = Record<string, LucideIcon>;
23
+
5
24
  type FileIconSize = 12 | 14 | 16 | 18 | 20 | 24 | 28 | 32 | 40 | 48 | 64;
6
25
  interface FileIconProps {
7
26
  /** File name (with extension) or folder name. */
@@ -12,6 +31,11 @@ interface FileIconProps {
12
31
  isExpanded?: boolean;
13
32
  /** Pixel size of the icon. */
14
33
  size?: FileIconSize;
34
+ /**
35
+ * Override or extend the built-in special-folder mapping. Keys are
36
+ * matched case-insensitively. Only used when `isFolder` is true.
37
+ */
38
+ folderOverrides?: FolderIconOverrides;
15
39
  className?: string;
16
40
  }
17
41
  /**
@@ -24,7 +48,7 @@ interface FileIconProps {
24
48
  * The optional dependency is loaded lazily on first render — there is zero
25
49
  * bundle cost for consumers who never mount this component.
26
50
  */
27
- declare function FileIcon({ name, isFolder, isExpanded, size, className, }: FileIconProps): react_jsx_runtime.JSX.Element;
51
+ declare function FileIcon({ name, isFolder, isExpanded, size, folderOverrides, className, }: FileIconProps): react_jsx_runtime.JSX.Element;
28
52
 
29
53
  interface CreateFileIconSlotOptions<T> {
30
54
  /**
@@ -34,6 +58,11 @@ interface CreateFileIconSlotOptions<T> {
34
58
  getName: (node: TreeNode<T>) => string;
35
59
  /** Pixel size for both file and folder icons. Default: 16. */
36
60
  size?: FileIconSize;
61
+ /**
62
+ * Override or extend the built-in special-folder mapping (e.g. give
63
+ * `tests` a custom icon). Keys are matched case-insensitively.
64
+ */
65
+ folderOverrides?: FolderIconOverrides;
37
66
  }
38
67
  /**
39
68
  * Build a `renderIcon` slot for `<TreeRoot>` that uses `<FileIcon>` for both
@@ -48,7 +77,7 @@ interface CreateFileIconSlotOptions<T> {
48
77
  * />
49
78
  * ```
50
79
  */
51
- declare function createFileIconSlot<T>({ getName, size, }: CreateFileIconSlotOptions<T>): TreeRowSlot<T>;
80
+ declare function createFileIconSlot<T>({ getName, size, folderOverrides, }: CreateFileIconSlotOptions<T>): TreeRowSlot<T>;
52
81
 
53
82
  /**
54
83
  * Lazy loader for `material-file-icons`. The package is an optional dependency:
@@ -66,4 +95,4 @@ declare function loadMaterialIcons(): Promise<GetIconFn | null>;
66
95
  /** Synchronous accessor — returns null until `loadMaterialIcons` resolves. */
67
96
  declare function getMaterialIconsSync(): GetIconFn | null;
68
97
 
69
- export { type CreateFileIconSlotOptions, FileIcon, type FileIconProps, type FileIconSize, createFileIconSlot, getMaterialIconsSync, loadMaterialIcons };
98
+ export { type CreateFileIconSlotOptions, FileIcon, type FileIconProps, type FileIconSize, type FolderIconOverrides, type ResolveFolderIconOptions, createFileIconSlot, getMaterialIconsSync, loadMaterialIcons, resolveFolderIcon };
@@ -1,6 +1,6 @@
1
1
  import { __name } from '../chunk-CGILA3WO.mjs';
2
2
  import { useState, useEffect } from 'react';
3
- import { FolderOpen, Folder, File } from 'lucide-react';
3
+ import { FolderGit2, Github, Settings, Terminal, FlaskConical, BookOpen, FolderOutput, Image, FolderInput, Package, FolderCode, FolderOpen, Folder, File } from 'lucide-react';
4
4
  import { cn } from '@djangocfg/ui-core/lib';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
 
@@ -34,11 +34,60 @@ function getMaterialIconsSync() {
34
34
  return cached ?? null;
35
35
  }
36
36
  __name(getMaterialIconsSync, "getMaterialIconsSync");
37
+ var SPECIAL_FOLDERS = {
38
+ src: FolderCode,
39
+ source: FolderCode,
40
+ lib: FolderCode,
41
+ app: FolderCode,
42
+ packages: Package,
43
+ node_modules: Package,
44
+ vendor: Package,
45
+ public: FolderInput,
46
+ static: FolderInput,
47
+ assets: Image,
48
+ images: Image,
49
+ media: Image,
50
+ dist: FolderOutput,
51
+ build: FolderOutput,
52
+ out: FolderOutput,
53
+ ".next": FolderOutput,
54
+ ".nuxt": FolderOutput,
55
+ ".turbo": FolderOutput,
56
+ docs: BookOpen,
57
+ documentation: BookOpen,
58
+ tests: FlaskConical,
59
+ test: FlaskConical,
60
+ __tests__: FlaskConical,
61
+ __test__: FlaskConical,
62
+ scripts: Terminal,
63
+ bin: Terminal,
64
+ config: Settings,
65
+ configs: Settings,
66
+ ".config": Settings,
67
+ ".vscode": Settings,
68
+ ".idea": Settings,
69
+ ".git": FolderGit2,
70
+ ".github": Github,
71
+ ".gitlab": FolderGit2
72
+ };
73
+ function resolveFolderIcon({
74
+ name,
75
+ isExpanded = false,
76
+ overrides
77
+ }) {
78
+ const key = name.trim().toLowerCase();
79
+ if (overrides?.[key]) return overrides[key];
80
+ const special = SPECIAL_FOLDERS[key];
81
+ if (special) return special;
82
+ return isExpanded ? FolderOpen : Folder;
83
+ }
84
+ __name(resolveFolderIcon, "resolveFolderIcon");
37
85
  function FileIcon({
38
86
  name,
39
87
  isFolder = false,
40
88
  isExpanded = false,
41
89
  size = 16,
90
+ folderOverrides,
42
91
  className
43
92
  }) {
44
93
  const [svg, setSvg] = useState(() => {
@@ -61,7 +110,11 @@ function FileIcon({
61
110
  };
62
111
  }, [isFolder, name]);
63
112
  if (isFolder) {
64
- const Icon = isExpanded ? FolderOpen : Folder;
113
+ const Icon = resolveFolderIcon({
114
+ name,
115
+ isExpanded,
116
+ overrides: folderOverrides
117
+ });
65
118
  return /* @__PURE__ */ jsx(
66
119
  Icon,
67
120
  {
@@ -93,7 +146,8 @@ function FileIcon({
93
146
  __name(FileIcon, "FileIcon");
94
147
  function createFileIconSlot({
95
148
  getName,
96
- size = 16
149
+ size = 16,
150
+ folderOverrides
97
151
  }) {
98
152
  return ({ node, isFolder, isExpanded }) => /* @__PURE__ */ jsx(
99
153
  FileIcon,
@@ -101,12 +155,13 @@ function createFileIconSlot({
101
155
  name: getName(node),
102
156
  isFolder,
103
157
  isExpanded,
104
- size
158
+ size,
159
+ folderOverrides
105
160
  }
106
161
  );
107
162
  }
108
163
  __name(createFileIconSlot, "createFileIconSlot");
109
164
 
110
- export { FileIcon, createFileIconSlot, getMaterialIconsSync, loadMaterialIcons };
165
+ export { FileIcon, createFileIconSlot, getMaterialIconsSync, loadMaterialIcons, resolveFolderIcon };
111
166
  //# sourceMappingURL=index.mjs.map
112
167
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tools/FileIcon/loader.ts","../../src/tools/FileIcon/FileIcon.tsx","../../src/tools/FileIcon/treeAdapter.tsx"],"names":["FileFallback","jsx"],"mappings":"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","file":"index.mjs","sourcesContent":["'use client';\n\n/**\n * Lazy loader for `material-file-icons`. The package is an optional dependency:\n * if it's installed in the consumer's tree, we render its rich VSCode-style\n * SVGs; if not, the loader resolves to `null` and `<FileIcon>` falls back to a\n * Lucide icon. Either way, ui-tools never throws or warns about a missing\n * package.\n *\n * Resolution is cached per-process so we don't re-import on every render.\n */\n\ntype GetIconFn = (name: string) => { svg: string } | undefined;\n\nlet cached: GetIconFn | null | undefined;\nlet inflight: Promise<GetIconFn | null> | null = null;\n\nexport async function loadMaterialIcons(): Promise<GetIconFn | null> {\n if (cached !== undefined) return cached;\n if (inflight) return inflight;\n\n inflight = (async () => {\n try {\n // Computed specifier so bundlers don't try to eagerly resolve it.\n const specifier = 'material-file-icons';\n const mod = (await import(/* @vite-ignore */ specifier)) as {\n getIcon?: GetIconFn;\n default?: { getIcon?: GetIconFn };\n };\n const fn = mod.getIcon ?? mod.default?.getIcon ?? null;\n cached = fn;\n return fn;\n } catch {\n cached = null;\n return null;\n } finally {\n inflight = null;\n }\n })();\n\n return inflight;\n}\n\n/** Synchronous accessor — returns null until `loadMaterialIcons` resolves. */\nexport function getMaterialIconsSync(): GetIconFn | null {\n return cached ?? null;\n}\n","'use client';\n\nimport { useEffect, useState } from 'react';\nimport { File as FileFallback, Folder, FolderOpen } from 'lucide-react';\nimport { cn } from '@djangocfg/ui-core/lib';\n\nimport { getMaterialIconsSync, loadMaterialIcons } from './loader';\n\nexport type FileIconSize = 12 | 14 | 16 | 18 | 20 | 24 | 28 | 32 | 40 | 48 | 64;\n\nexport interface FileIconProps {\n /** File name (with extension) or folder name. */\n name: string;\n /** Render a folder icon instead of a file icon. */\n isFolder?: boolean;\n /** Folder open / closed state. Ignored when `isFolder` is false. */\n isExpanded?: boolean;\n /** Pixel size of the icon. */\n size?: FileIconSize;\n className?: string;\n}\n\n/**\n * VSCode-style file icon.\n *\n * - Folders render Lucide `Folder` / `FolderOpen` (amber tint).\n * - Files use `material-file-icons` if it's installed in the consumer; otherwise\n * fall back to a neutral Lucide `File` icon.\n *\n * The optional dependency is loaded lazily on first render — there is zero\n * bundle cost for consumers who never mount this component.\n */\nexport function FileIcon({\n name,\n isFolder = false,\n isExpanded = false,\n size = 16,\n className,\n}: FileIconProps) {\n const [svg, setSvg] = useState<string | null>(() => {\n if (isFolder) return null;\n const fn = getMaterialIconsSync();\n return fn ? (fn(name)?.svg ?? null) : null;\n });\n\n useEffect(() => {\n if (isFolder) {\n setSvg(null);\n return;\n }\n let cancelled = false;\n void loadMaterialIcons().then((fn) => {\n if (cancelled) return;\n setSvg(fn ? (fn(name)?.svg ?? null) : null);\n });\n return () => {\n cancelled = true;\n };\n }, [isFolder, name]);\n\n if (isFolder) {\n const Icon = isExpanded ? FolderOpen : Folder;\n return (\n <Icon\n className={cn('shrink-0 text-amber-500', className)}\n style={{ width: size, height: size }}\n />\n );\n }\n\n if (!svg) {\n return (\n <FileFallback\n className={cn('shrink-0 text-muted-foreground/80', className)}\n style={{ width: size, height: size }}\n />\n );\n }\n\n return (\n <span\n role=\"img\"\n aria-hidden\n className={cn('inline-block shrink-0', className)}\n style={{ width: size, height: size }}\n dangerouslySetInnerHTML={{ __html: svg }}\n />\n );\n}\n\nexport default FileIcon;\n","'use client';\n\nimport type { TreeNode, TreeRowSlot } from '../Tree/types';\nimport { FileIcon, type FileIconSize } from './FileIcon';\n\nexport interface CreateFileIconSlotOptions<T> {\n /**\n * How to read the displayed name (with extension) for a node. Use the same\n * accessor you pass to `<TreeRoot getItemName={...} />`.\n */\n getName: (node: TreeNode<T>) => string;\n /** Pixel size for both file and folder icons. Default: 16. */\n size?: FileIconSize;\n}\n\n/**\n * Build a `renderIcon` slot for `<TreeRoot>` that uses `<FileIcon>` for both\n * leaves and folders.\n *\n * @example\n * ```tsx\n * <TreeRoot\n * data={data}\n * getItemName={(n) => n.data.name}\n * renderIcon={createFileIconSlot({ getName: (n) => n.data.name })}\n * />\n * ```\n */\nexport function createFileIconSlot<T>({\n getName,\n size = 16,\n}: CreateFileIconSlotOptions<T>): TreeRowSlot<T> {\n return ({ node, isFolder, isExpanded }) => (\n <FileIcon\n name={getName(node)}\n isFolder={isFolder}\n isExpanded={isExpanded}\n size={size}\n />\n );\n}\n"]}
1
+ {"version":3,"sources":["../../src/tools/FileIcon/loader.ts","../../src/tools/FileIcon/specialFolders.ts","../../src/tools/FileIcon/FileIcon.tsx","../../src/tools/FileIcon/treeAdapter.tsx"],"names":["ImageIcon","FileFallback","jsx"],"mappings":"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","file":"index.mjs","sourcesContent":["'use client';\n\n/**\n * Lazy loader for `material-file-icons`. The package is an optional dependency:\n * if it's installed in the consumer's tree, we render its rich VSCode-style\n * SVGs; if not, the loader resolves to `null` and `<FileIcon>` falls back to a\n * Lucide icon. Either way, ui-tools never throws or warns about a missing\n * package.\n *\n * Resolution is cached per-process so we don't re-import on every render.\n */\n\ntype GetIconFn = (name: string) => { svg: string } | undefined;\n\nlet cached: GetIconFn | null | undefined;\nlet inflight: Promise<GetIconFn | null> | null = null;\n\nexport async function loadMaterialIcons(): Promise<GetIconFn | null> {\n if (cached !== undefined) return cached;\n if (inflight) return inflight;\n\n inflight = (async () => {\n try {\n // Computed specifier so bundlers don't try to eagerly resolve it.\n const specifier = 'material-file-icons';\n const mod = (await import(/* @vite-ignore */ specifier)) as {\n getIcon?: GetIconFn;\n default?: { getIcon?: GetIconFn };\n };\n const fn = mod.getIcon ?? mod.default?.getIcon ?? null;\n cached = fn;\n return fn;\n } catch {\n cached = null;\n return null;\n } finally {\n inflight = null;\n }\n })();\n\n return inflight;\n}\n\n/** Synchronous accessor — returns null until `loadMaterialIcons` resolves. */\nexport function getMaterialIconsSync(): GetIconFn | null {\n return cached ?? null;\n}\n","'use client';\n\nimport {\n BookOpen,\n FlaskConical,\n Folder,\n FolderCode,\n FolderGit2,\n FolderInput,\n FolderOpen,\n FolderOutput,\n Github,\n Image as ImageIcon,\n Package,\n Settings,\n Terminal,\n type LucideIcon,\n} from 'lucide-react';\n\n/**\n * Conventional folder names → Lucide icon. Lookup is case-insensitive and\n * trimmed. Anything not in this map falls back to a generic folder icon.\n *\n * Designed to feel \"right\" across the common dev project layouts (Node,\n * Python, Go, Rust, Django, Next, Vite). Not exhaustive on purpose —\n * keeps the bundle light and the behaviour predictable.\n */\nconst SPECIAL_FOLDERS: Record<string, LucideIcon> = {\n src: FolderCode,\n source: FolderCode,\n lib: FolderCode,\n app: FolderCode,\n packages: Package,\n node_modules: Package,\n vendor: Package,\n public: FolderInput,\n static: FolderInput,\n assets: ImageIcon,\n images: ImageIcon,\n media: ImageIcon,\n dist: FolderOutput,\n build: FolderOutput,\n out: FolderOutput,\n '.next': FolderOutput,\n '.nuxt': FolderOutput,\n '.turbo': FolderOutput,\n docs: BookOpen,\n documentation: BookOpen,\n tests: FlaskConical,\n test: FlaskConical,\n __tests__: FlaskConical,\n __test__: FlaskConical,\n scripts: Terminal,\n bin: Terminal,\n config: Settings,\n configs: Settings,\n '.config': Settings,\n '.vscode': Settings,\n '.idea': Settings,\n '.git': FolderGit2,\n '.github': Github,\n '.gitlab': FolderGit2,\n};\n\nexport interface ResolveFolderIconOptions {\n /** Folder display name (no path). */\n name: string;\n /** Open / closed state — only used for the *generic* folder fallback. */\n isExpanded?: boolean;\n /**\n * Optional override map. Wins over the built-in table. Keys are\n * matched case-insensitively after `trim()`.\n */\n overrides?: Record<string, LucideIcon>;\n}\n\n/**\n * Pick the right folder icon for `name`. Returns `Folder` / `FolderOpen`\n * for unknown names so callers can render the generic open/closed pair.\n */\nexport function resolveFolderIcon({\n name,\n isExpanded = false,\n overrides,\n}: ResolveFolderIconOptions): LucideIcon {\n const key = name.trim().toLowerCase();\n if (overrides?.[key]) return overrides[key];\n const special = SPECIAL_FOLDERS[key];\n if (special) return special;\n return isExpanded ? FolderOpen : Folder;\n}\n\nexport type FolderIconOverrides = Record<string, LucideIcon>;\n","'use client';\n\nimport { useEffect, useState } from 'react';\nimport { File as FileFallback } from 'lucide-react';\nimport { cn } from '@djangocfg/ui-core/lib';\n\nimport { getMaterialIconsSync, loadMaterialIcons } from './loader';\nimport { resolveFolderIcon, type FolderIconOverrides } from './specialFolders';\n\nexport type FileIconSize = 12 | 14 | 16 | 18 | 20 | 24 | 28 | 32 | 40 | 48 | 64;\n\nexport interface FileIconProps {\n /** File name (with extension) or folder name. */\n name: string;\n /** Render a folder icon instead of a file icon. */\n isFolder?: boolean;\n /** Folder open / closed state. Ignored when `isFolder` is false. */\n isExpanded?: boolean;\n /** Pixel size of the icon. */\n size?: FileIconSize;\n /**\n * Override or extend the built-in special-folder mapping. Keys are\n * matched case-insensitively. Only used when `isFolder` is true.\n */\n folderOverrides?: FolderIconOverrides;\n className?: string;\n}\n\n/**\n * VSCode-style file icon.\n *\n * - Folders render Lucide `Folder` / `FolderOpen` (amber tint).\n * - Files use `material-file-icons` if it's installed in the consumer; otherwise\n * fall back to a neutral Lucide `File` icon.\n *\n * The optional dependency is loaded lazily on first render — there is zero\n * bundle cost for consumers who never mount this component.\n */\nexport function FileIcon({\n name,\n isFolder = false,\n isExpanded = false,\n size = 16,\n folderOverrides,\n className,\n}: FileIconProps) {\n const [svg, setSvg] = useState<string | null>(() => {\n if (isFolder) return null;\n const fn = getMaterialIconsSync();\n return fn ? (fn(name)?.svg ?? null) : null;\n });\n\n useEffect(() => {\n if (isFolder) {\n setSvg(null);\n return;\n }\n let cancelled = false;\n void loadMaterialIcons().then((fn) => {\n if (cancelled) return;\n setSvg(fn ? (fn(name)?.svg ?? null) : null);\n });\n return () => {\n cancelled = true;\n };\n }, [isFolder, name]);\n\n if (isFolder) {\n const Icon = resolveFolderIcon({\n name,\n isExpanded,\n overrides: folderOverrides,\n });\n return (\n <Icon\n className={cn('shrink-0 text-amber-500', className)}\n style={{ width: size, height: size }}\n />\n );\n }\n\n if (!svg) {\n return (\n <FileFallback\n className={cn('shrink-0 text-muted-foreground/80', className)}\n style={{ width: size, height: size }}\n />\n );\n }\n\n return (\n <span\n role=\"img\"\n aria-hidden\n className={cn('inline-block shrink-0', className)}\n style={{ width: size, height: size }}\n dangerouslySetInnerHTML={{ __html: svg }}\n />\n );\n}\n\nexport default FileIcon;\n","'use client';\n\nimport type { TreeNode, TreeRowSlot } from '../Tree/types';\nimport { FileIcon, type FileIconSize } from './FileIcon';\nimport type { FolderIconOverrides } from './specialFolders';\n\nexport interface CreateFileIconSlotOptions<T> {\n /**\n * How to read the displayed name (with extension) for a node. Use the same\n * accessor you pass to `<TreeRoot getItemName={...} />`.\n */\n getName: (node: TreeNode<T>) => string;\n /** Pixel size for both file and folder icons. Default: 16. */\n size?: FileIconSize;\n /**\n * Override or extend the built-in special-folder mapping (e.g. give\n * `tests` a custom icon). Keys are matched case-insensitively.\n */\n folderOverrides?: FolderIconOverrides;\n}\n\n/**\n * Build a `renderIcon` slot for `<TreeRoot>` that uses `<FileIcon>` for both\n * leaves and folders.\n *\n * @example\n * ```tsx\n * <TreeRoot\n * data={data}\n * getItemName={(n) => n.data.name}\n * renderIcon={createFileIconSlot({ getName: (n) => n.data.name })}\n * />\n * ```\n */\nexport function createFileIconSlot<T>({\n getName,\n size = 16,\n folderOverrides,\n}: CreateFileIconSlotOptions<T>): TreeRowSlot<T> {\n return ({ node, isFolder, isExpanded }) => (\n <FileIcon\n name={getName(node)}\n isFolder={isFolder}\n isExpanded={isExpanded}\n size={size}\n folderOverrides={folderOverrides}\n />\n );\n}\n"]}
package/dist/index.cjs CHANGED
@@ -8,8 +8,8 @@ var chunkIHAY6FO6_cjs = require('./chunk-IHAY6FO6.cjs');
8
8
  var chunk77HQWEQ6_cjs = require('./chunk-77HQWEQ6.cjs');
9
9
  var chunkF2CMIIOH_cjs = require('./chunk-F2CMIIOH.cjs');
10
10
  var chunkYXBOAGIM_cjs = require('./chunk-YXBOAGIM.cjs');
11
- var chunk44ZTWYAF_cjs = require('./chunk-44ZTWYAF.cjs');
12
- var chunkS44PW6NK_cjs = require('./chunk-S44PW6NK.cjs');
11
+ var chunk3Z3A7FHA_cjs = require('./chunk-3Z3A7FHA.cjs');
12
+ var chunkTKSFZHCG_cjs = require('./chunk-TKSFZHCG.cjs');
13
13
  var chunk33AMWFBZ_cjs = require('./chunk-33AMWFBZ.cjs');
14
14
  require('./chunk-2SMCH62O.cjs');
15
15
  var chunkWGEGR3DF_cjs = require('./chunk-WGEGR3DF.cjs');
@@ -264,14 +264,14 @@ function OpenapiLoadingFallback() {
264
264
  }
265
265
  chunkWGEGR3DF_cjs.__name(OpenapiLoadingFallback, "OpenapiLoadingFallback");
266
266
  var LazyDocsLayout = createLazyComponent(
267
- () => import('./DocsLayout-KUPDWJ3G.cjs').then((mod) => ({ default: mod.DocsLayout })),
267
+ () => import('./DocsLayout-XLDB6CJ2.cjs').then((mod) => ({ default: mod.DocsLayout })),
268
268
  {
269
269
  displayName: "LazyDocsLayout",
270
270
  fallback: /* @__PURE__ */ jsxRuntime.jsx(OpenapiLoadingFallback, {})
271
271
  }
272
272
  );
273
273
  var LazyOpenapiViewer = /* @__PURE__ */ chunkWGEGR3DF_cjs.__name(({ config }) => {
274
- return /* @__PURE__ */ jsxRuntime.jsx(chunkS44PW6NK_cjs.PlaygroundProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(LazyDocsLayout, {}) });
274
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkTKSFZHCG_cjs.PlaygroundProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(LazyDocsLayout, {}) });
275
275
  }, "LazyOpenapiViewer");
276
276
  LazyOpenapiViewer.displayName = "LazyOpenapiViewer";
277
277
  var LazyJsonSchemaForm = createLazyComponent(
@@ -363,7 +363,7 @@ var LazyCronScheduler = createLazyComponent(
363
363
  }
364
364
  );
365
365
  var LazyTree = createLazyComponent(
366
- () => import('./TreeRoot-RAMQSBMO.cjs'),
366
+ () => import('./TreeRoot-DSK5JILT.cjs'),
367
367
  {
368
368
  displayName: "LazyTree",
369
369
  fallback: /* @__PURE__ */ jsxRuntime.jsx(LoadingFallback, { minHeight: 200, text: "Loading tree\u2026" })
@@ -381,11 +381,11 @@ function LottiePlayer(props) {
381
381
  }
382
382
  chunkWGEGR3DF_cjs.__name(LottiePlayer, "LottiePlayer");
383
383
  var DocsLayout = React.lazy(
384
- () => import('./DocsLayout-KUPDWJ3G.cjs').then((mod) => ({ default: mod.DocsLayout }))
384
+ () => import('./DocsLayout-XLDB6CJ2.cjs').then((mod) => ({ default: mod.DocsLayout }))
385
385
  );
386
386
  var LoadingFallback6 = /* @__PURE__ */ chunkWGEGR3DF_cjs.__name(() => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center min-h-[400px]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground", children: "Loading API Playground..." }) }), "LoadingFallback");
387
387
  var Playground = /* @__PURE__ */ chunkWGEGR3DF_cjs.__name(({ config }) => {
388
- return /* @__PURE__ */ jsxRuntime.jsx(chunkS44PW6NK_cjs.PlaygroundProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(LoadingFallback6, {}), children: /* @__PURE__ */ jsxRuntime.jsx(DocsLayout, {}) }) });
388
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkTKSFZHCG_cjs.PlaygroundProvider, { config, children: /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(LoadingFallback6, {}), children: /* @__PURE__ */ jsxRuntime.jsx(DocsLayout, {}) }) });
389
389
  }, "Playground");
390
390
  var OpenapiViewer_default = Playground;
391
391
  var CronSchedulerClient = React.lazy(() => import('./CronScheduler.client-A4GO6YBY.cjs'));
@@ -1671,147 +1671,147 @@ Object.defineProperty(exports, "createDemoTree", {
1671
1671
  });
1672
1672
  Object.defineProperty(exports, "DEFAULT_TREE_APPEARANCE", {
1673
1673
  enumerable: true,
1674
- get: function () { return chunk44ZTWYAF_cjs.DEFAULT_TREE_APPEARANCE; }
1674
+ get: function () { return chunk3Z3A7FHA_cjs.DEFAULT_TREE_APPEARANCE; }
1675
1675
  });
1676
1676
  Object.defineProperty(exports, "DEFAULT_TREE_LABELS", {
1677
1677
  enumerable: true,
1678
- get: function () { return chunk44ZTWYAF_cjs.DEFAULT_TREE_LABELS; }
1678
+ get: function () { return chunk3Z3A7FHA_cjs.DEFAULT_TREE_LABELS; }
1679
1679
  });
1680
1680
  Object.defineProperty(exports, "Tree", {
1681
1681
  enumerable: true,
1682
- get: function () { return chunk44ZTWYAF_cjs.TreeRoot; }
1682
+ get: function () { return chunk3Z3A7FHA_cjs.TreeRoot; }
1683
1683
  });
1684
1684
  Object.defineProperty(exports, "TreeChevron", {
1685
1685
  enumerable: true,
1686
- get: function () { return chunk44ZTWYAF_cjs.TreeChevron; }
1686
+ get: function () { return chunk3Z3A7FHA_cjs.TreeChevron; }
1687
1687
  });
1688
1688
  Object.defineProperty(exports, "TreeContent", {
1689
1689
  enumerable: true,
1690
- get: function () { return chunk44ZTWYAF_cjs.TreeContent; }
1690
+ get: function () { return chunk3Z3A7FHA_cjs.TreeContent; }
1691
1691
  });
1692
1692
  Object.defineProperty(exports, "TreeEmpty", {
1693
1693
  enumerable: true,
1694
- get: function () { return chunk44ZTWYAF_cjs.TreeEmpty; }
1694
+ get: function () { return chunk3Z3A7FHA_cjs.TreeEmpty; }
1695
1695
  });
1696
1696
  Object.defineProperty(exports, "TreeIcon", {
1697
1697
  enumerable: true,
1698
- get: function () { return chunk44ZTWYAF_cjs.TreeIcon; }
1698
+ get: function () { return chunk3Z3A7FHA_cjs.TreeIcon; }
1699
1699
  });
1700
1700
  Object.defineProperty(exports, "TreeIndentGuides", {
1701
1701
  enumerable: true,
1702
- get: function () { return chunk44ZTWYAF_cjs.TreeIndentGuides; }
1702
+ get: function () { return chunk3Z3A7FHA_cjs.TreeIndentGuides; }
1703
1703
  });
1704
1704
  Object.defineProperty(exports, "TreeLabel", {
1705
1705
  enumerable: true,
1706
- get: function () { return chunk44ZTWYAF_cjs.TreeLabel; }
1706
+ get: function () { return chunk3Z3A7FHA_cjs.TreeLabel; }
1707
1707
  });
1708
1708
  Object.defineProperty(exports, "TreeProvider", {
1709
1709
  enumerable: true,
1710
- get: function () { return chunk44ZTWYAF_cjs.TreeProvider; }
1710
+ get: function () { return chunk3Z3A7FHA_cjs.TreeProvider; }
1711
1711
  });
1712
1712
  Object.defineProperty(exports, "TreeRoot", {
1713
1713
  enumerable: true,
1714
- get: function () { return chunk44ZTWYAF_cjs.TreeRoot; }
1714
+ get: function () { return chunk3Z3A7FHA_cjs.TreeRoot; }
1715
1715
  });
1716
1716
  Object.defineProperty(exports, "TreeRow", {
1717
1717
  enumerable: true,
1718
- get: function () { return chunk44ZTWYAF_cjs.TreeRow; }
1718
+ get: function () { return chunk3Z3A7FHA_cjs.TreeRow; }
1719
1719
  });
1720
1720
  Object.defineProperty(exports, "TreeSearchInput", {
1721
1721
  enumerable: true,
1722
- get: function () { return chunk44ZTWYAF_cjs.TreeSearchInput; }
1722
+ get: function () { return chunk3Z3A7FHA_cjs.TreeSearchInput; }
1723
1723
  });
1724
1724
  Object.defineProperty(exports, "appearanceToStyle", {
1725
1725
  enumerable: true,
1726
- get: function () { return chunk44ZTWYAF_cjs.appearanceToStyle; }
1726
+ get: function () { return chunk3Z3A7FHA_cjs.appearanceToStyle; }
1727
1727
  });
1728
1728
  Object.defineProperty(exports, "clearTreeState", {
1729
1729
  enumerable: true,
1730
- get: function () { return chunk44ZTWYAF_cjs.clearTreeState; }
1730
+ get: function () { return chunk3Z3A7FHA_cjs.clearTreeState; }
1731
1731
  });
1732
1732
  Object.defineProperty(exports, "createChildCache", {
1733
1733
  enumerable: true,
1734
- get: function () { return chunk44ZTWYAF_cjs.createChildCache; }
1734
+ get: function () { return chunk3Z3A7FHA_cjs.createChildCache; }
1735
1735
  });
1736
1736
  Object.defineProperty(exports, "flattenTree", {
1737
1737
  enumerable: true,
1738
- get: function () { return chunk44ZTWYAF_cjs.flattenTree; }
1738
+ get: function () { return chunk3Z3A7FHA_cjs.flattenTree; }
1739
1739
  });
1740
1740
  Object.defineProperty(exports, "loadTreeState", {
1741
1741
  enumerable: true,
1742
- get: function () { return chunk44ZTWYAF_cjs.loadTreeState; }
1742
+ get: function () { return chunk3Z3A7FHA_cjs.loadTreeState; }
1743
1743
  });
1744
1744
  Object.defineProperty(exports, "resolveAppearance", {
1745
1745
  enumerable: true,
1746
- get: function () { return chunk44ZTWYAF_cjs.resolveAppearance; }
1746
+ get: function () { return chunk3Z3A7FHA_cjs.resolveAppearance; }
1747
1747
  });
1748
1748
  Object.defineProperty(exports, "resolveChildren", {
1749
1749
  enumerable: true,
1750
- get: function () { return chunk44ZTWYAF_cjs.resolveChildren; }
1750
+ get: function () { return chunk3Z3A7FHA_cjs.resolveChildren; }
1751
1751
  });
1752
1752
  Object.defineProperty(exports, "saveTreeState", {
1753
1753
  enumerable: true,
1754
- get: function () { return chunk44ZTWYAF_cjs.saveTreeState; }
1754
+ get: function () { return chunk3Z3A7FHA_cjs.saveTreeState; }
1755
1755
  });
1756
1756
  Object.defineProperty(exports, "useTreeActions", {
1757
1757
  enumerable: true,
1758
- get: function () { return chunk44ZTWYAF_cjs.useTreeActions; }
1758
+ get: function () { return chunk3Z3A7FHA_cjs.useTreeActions; }
1759
1759
  });
1760
1760
  Object.defineProperty(exports, "useTreeContext", {
1761
1761
  enumerable: true,
1762
- get: function () { return chunk44ZTWYAF_cjs.useTreeContext; }
1762
+ get: function () { return chunk3Z3A7FHA_cjs.useTreeContext; }
1763
1763
  });
1764
1764
  Object.defineProperty(exports, "useTreeExpansion", {
1765
1765
  enumerable: true,
1766
- get: function () { return chunk44ZTWYAF_cjs.useTreeExpansion; }
1766
+ get: function () { return chunk3Z3A7FHA_cjs.useTreeExpansion; }
1767
1767
  });
1768
1768
  Object.defineProperty(exports, "useTreeFocus", {
1769
1769
  enumerable: true,
1770
- get: function () { return chunk44ZTWYAF_cjs.useTreeFocus; }
1770
+ get: function () { return chunk3Z3A7FHA_cjs.useTreeFocus; }
1771
1771
  });
1772
1772
  Object.defineProperty(exports, "useTreeKeyboard", {
1773
1773
  enumerable: true,
1774
- get: function () { return chunk44ZTWYAF_cjs.useTreeKeyboard; }
1774
+ get: function () { return chunk3Z3A7FHA_cjs.useTreeKeyboard; }
1775
1775
  });
1776
1776
  Object.defineProperty(exports, "useTreeLabels", {
1777
1777
  enumerable: true,
1778
- get: function () { return chunk44ZTWYAF_cjs.useTreeLabels; }
1778
+ get: function () { return chunk3Z3A7FHA_cjs.useTreeLabels; }
1779
1779
  });
1780
1780
  Object.defineProperty(exports, "useTreeRows", {
1781
1781
  enumerable: true,
1782
- get: function () { return chunk44ZTWYAF_cjs.useTreeRows; }
1782
+ get: function () { return chunk3Z3A7FHA_cjs.useTreeRows; }
1783
1783
  });
1784
1784
  Object.defineProperty(exports, "useTreeSearch", {
1785
1785
  enumerable: true,
1786
- get: function () { return chunk44ZTWYAF_cjs.useTreeSearch; }
1786
+ get: function () { return chunk3Z3A7FHA_cjs.useTreeSearch; }
1787
1787
  });
1788
1788
  Object.defineProperty(exports, "useTreeSelection", {
1789
1789
  enumerable: true,
1790
- get: function () { return chunk44ZTWYAF_cjs.useTreeSelection; }
1790
+ get: function () { return chunk3Z3A7FHA_cjs.useTreeSelection; }
1791
1791
  });
1792
1792
  Object.defineProperty(exports, "useTreeTypeAhead", {
1793
1793
  enumerable: true,
1794
- get: function () { return chunk44ZTWYAF_cjs.useTreeTypeAhead; }
1794
+ get: function () { return chunk3Z3A7FHA_cjs.useTreeTypeAhead; }
1795
1795
  });
1796
1796
  Object.defineProperty(exports, "MarkdownMessage", {
1797
1797
  enumerable: true,
1798
- get: function () { return chunkS44PW6NK_cjs.MarkdownMessage; }
1798
+ get: function () { return chunkTKSFZHCG_cjs.MarkdownMessage; }
1799
1799
  });
1800
1800
  Object.defineProperty(exports, "Mermaid", {
1801
1801
  enumerable: true,
1802
- get: function () { return chunkS44PW6NK_cjs.Mermaid_default; }
1802
+ get: function () { return chunkTKSFZHCG_cjs.Mermaid_default; }
1803
1803
  });
1804
1804
  Object.defineProperty(exports, "PrettyCode", {
1805
1805
  enumerable: true,
1806
- get: function () { return chunkS44PW6NK_cjs.PrettyCode_default; }
1806
+ get: function () { return chunkTKSFZHCG_cjs.PrettyCode_default; }
1807
1807
  });
1808
1808
  Object.defineProperty(exports, "extractTextFromChildren", {
1809
1809
  enumerable: true,
1810
- get: function () { return chunkS44PW6NK_cjs.extractTextFromChildren; }
1810
+ get: function () { return chunkTKSFZHCG_cjs.extractTextFromChildren; }
1811
1811
  });
1812
1812
  Object.defineProperty(exports, "useCollapsibleContent", {
1813
1813
  enumerable: true,
1814
- get: function () { return chunkS44PW6NK_cjs.useCollapsibleContent; }
1814
+ get: function () { return chunkTKSFZHCG_cjs.useCollapsibleContent; }
1815
1815
  });
1816
1816
  Object.defineProperty(exports, "JsonTree", {
1817
1817
  enumerable: true,
package/dist/index.d.cts CHANGED
@@ -8,8 +8,8 @@ export { Language } from 'prism-react-renderer';
8
8
  import { RJSFSchema, UiSchema, WidgetProps, FieldTemplateProps, ObjectFieldTemplateProps, ArrayFieldTemplateProps, ArrayFieldItemTemplateProps, ErrorListProps } from '@rjsf/utils';
9
9
  import { FormProps, IChangeEvent } from '@rjsf/core';
10
10
  import { CommonExternalProps } from 'react-json-tree';
11
- import { b as TreeRootProps } from './types-Cclwv4Hl.cjs';
12
- export { c as DEFAULT_TREE_APPEARANCE, D as DEFAULT_TREE_LABELS, F as FlatRow, R as ResolvedAppearance, m as TreeAccentIntensity, k as TreeAppearance, e as TreeContextMenuSlot, l as TreeDensity, f as TreeItemId, g as TreeLabels, j as TreeLoadChildren, T as TreeNode, n as TreeRadius, i as TreeRowRenderProps, a as TreeRowSlot, h as TreeSelectionMode, d as appearanceToStyle, r as resolveAppearance } from './types-Cclwv4Hl.cjs';
11
+ import { b as TreeRootProps } from './types-CevSbyfD.cjs';
12
+ export { c as DEFAULT_TREE_APPEARANCE, D as DEFAULT_TREE_LABELS, F as FlatRow, R as ResolvedAppearance, m as TreeAccentIntensity, k as TreeAppearance, e as TreeContextMenuSlot, l as TreeDensity, f as TreeItemId, g as TreeLabels, j as TreeLoadChildren, T as TreeNode, n as TreeRadius, i as TreeRowRenderProps, a as TreeRowSlot, h as TreeSelectionMode, d as appearanceToStyle, r as resolveAppearance } from './types-CevSbyfD.cjs';
13
13
  import { MediaPlayerInstance } from '@vidstack/react';
14
14
  import * as monaco from 'monaco-editor';
15
15
  export { ChildCache, ChildEntry, ChildEntryStatus, DemoNode, FlattenInput, PersistedTreeState, TreeRoot as Tree, TreeChevron, TreeChevronProps, TreeContent, TreeContentProps, TreeContextValue, TreeEmpty, TreeEmptyProps, TreeError, TreeErrorProps, TreeIcon, TreeIconProps, TreeIndentGuides, TreeIndentGuidesProps, TreeLabel, TreeLabelProps, TreeProvider, TreeProviderProps, TreeRoot, TreeRow, TreeRowProps, TreeSearchInput, TreeSearchInputProps, TreeSkeleton, TreeSkeletonProps, UseTreeKeyboardOptions, UseTreeTypeAheadOptions, clearTreeState, createChildCache, createDemoTree, flattenTree, loadTreeState, resolveChildren, saveTreeState, useTreeActions, useTreeContext, useTreeExpansion, useTreeFocus, useTreeKeyboard, useTreeLabels, useTreeRows, useTreeSearch, useTreeSelection, useTreeTypeAhead } from './tree/index.cjs';
package/dist/index.d.ts CHANGED
@@ -8,8 +8,8 @@ export { Language } from 'prism-react-renderer';
8
8
  import { RJSFSchema, UiSchema, WidgetProps, FieldTemplateProps, ObjectFieldTemplateProps, ArrayFieldTemplateProps, ArrayFieldItemTemplateProps, ErrorListProps } from '@rjsf/utils';
9
9
  import { FormProps, IChangeEvent } from '@rjsf/core';
10
10
  import { CommonExternalProps } from 'react-json-tree';
11
- import { b as TreeRootProps } from './types-Cclwv4Hl.js';
12
- export { c as DEFAULT_TREE_APPEARANCE, D as DEFAULT_TREE_LABELS, F as FlatRow, R as ResolvedAppearance, m as TreeAccentIntensity, k as TreeAppearance, e as TreeContextMenuSlot, l as TreeDensity, f as TreeItemId, g as TreeLabels, j as TreeLoadChildren, T as TreeNode, n as TreeRadius, i as TreeRowRenderProps, a as TreeRowSlot, h as TreeSelectionMode, d as appearanceToStyle, r as resolveAppearance } from './types-Cclwv4Hl.js';
11
+ import { b as TreeRootProps } from './types-CevSbyfD.js';
12
+ export { c as DEFAULT_TREE_APPEARANCE, D as DEFAULT_TREE_LABELS, F as FlatRow, R as ResolvedAppearance, m as TreeAccentIntensity, k as TreeAppearance, e as TreeContextMenuSlot, l as TreeDensity, f as TreeItemId, g as TreeLabels, j as TreeLoadChildren, T as TreeNode, n as TreeRadius, i as TreeRowRenderProps, a as TreeRowSlot, h as TreeSelectionMode, d as appearanceToStyle, r as resolveAppearance } from './types-CevSbyfD.js';
13
13
  import { MediaPlayerInstance } from '@vidstack/react';
14
14
  import * as monaco from 'monaco-editor';
15
15
  export { ChildCache, ChildEntry, ChildEntryStatus, DemoNode, FlattenInput, PersistedTreeState, TreeRoot as Tree, TreeChevron, TreeChevronProps, TreeContent, TreeContentProps, TreeContextValue, TreeEmpty, TreeEmptyProps, TreeError, TreeErrorProps, TreeIcon, TreeIconProps, TreeIndentGuides, TreeIndentGuidesProps, TreeLabel, TreeLabelProps, TreeProvider, TreeProviderProps, TreeRoot, TreeRow, TreeRowProps, TreeSearchInput, TreeSearchInputProps, TreeSkeleton, TreeSkeletonProps, UseTreeKeyboardOptions, UseTreeTypeAheadOptions, clearTreeState, createChildCache, createDemoTree, flattenTree, loadTreeState, resolveChildren, saveTreeState, useTreeActions, useTreeContext, useTreeExpansion, useTreeFocus, useTreeKeyboard, useTreeLabels, useTreeRows, useTreeSearch, useTreeSelection, useTreeTypeAhead } from './tree/index.js';
package/dist/index.mjs CHANGED
@@ -6,9 +6,9 @@ export { ImageViewer } from './chunk-GGKGH5PM.mjs';
6
6
  export { generateContentKey, useAudioCache, useBlobUrlCleanup, useImageCache, useMediaCacheStore, useVideoCache, useVideoPlayerSettings } from './chunk-5LBDYFWH.mjs';
7
7
  export { CronSchedulerProvider, CustomInput, DayChips, MonthDayGrid, SchedulePreview, ScheduleTypeSelector, TimeSelector, buildCron, humanizeCron, isValidCron, parseCron, useCronCustom, useCronMonthDays, useCronPreview, useCronScheduler, useCronSchedulerContext, useCronTime, useCronType, useCronWeekDays } from './chunk-PZKAH7WQ.mjs';
8
8
  export { TreeError, TreeSkeleton, createDemoTree } from './chunk-KR6B3LVY.mjs';
9
- export { DEFAULT_TREE_APPEARANCE, DEFAULT_TREE_LABELS, TreeRoot as Tree, TreeChevron, TreeContent, TreeEmpty, TreeIcon, TreeIndentGuides, TreeLabel, TreeProvider, TreeRoot, TreeRow, TreeSearchInput, appearanceToStyle, clearTreeState, createChildCache, flattenTree, loadTreeState, resolveAppearance, resolveChildren, saveTreeState, useTreeActions, useTreeContext, useTreeExpansion, useTreeFocus, useTreeKeyboard, useTreeLabels, useTreeRows, useTreeSearch, useTreeSelection, useTreeTypeAhead } from './chunk-NTJL2SXK.mjs';
10
- import { PlaygroundProvider } from './chunk-GBLQTHWT.mjs';
11
- export { MarkdownMessage, Mermaid_default as Mermaid, PrettyCode_default as PrettyCode, extractTextFromChildren, useCollapsibleContent } from './chunk-GBLQTHWT.mjs';
9
+ export { DEFAULT_TREE_APPEARANCE, DEFAULT_TREE_LABELS, TreeRoot as Tree, TreeChevron, TreeContent, TreeEmpty, TreeIcon, TreeIndentGuides, TreeLabel, TreeProvider, TreeRoot, TreeRow, TreeSearchInput, appearanceToStyle, clearTreeState, createChildCache, flattenTree, loadTreeState, resolveAppearance, resolveChildren, saveTreeState, useTreeActions, useTreeContext, useTreeExpansion, useTreeFocus, useTreeKeyboard, useTreeLabels, useTreeRows, useTreeSearch, useTreeSelection, useTreeTypeAhead } from './chunk-MOME6KYD.mjs';
10
+ import { PlaygroundProvider } from './chunk-62Y65TGK.mjs';
11
+ export { MarkdownMessage, Mermaid_default as Mermaid, PrettyCode_default as PrettyCode, extractTextFromChildren, useCollapsibleContent } from './chunk-62Y65TGK.mjs';
12
12
  export { JsonTree_default as JsonTree } from './chunk-LFWQ36LJ.mjs';
13
13
  import './chunk-SSUOENAZ.mjs';
14
14
  import { __name } from './chunk-CGILA3WO.mjs';
@@ -239,7 +239,7 @@ function OpenapiLoadingFallback() {
239
239
  }
240
240
  __name(OpenapiLoadingFallback, "OpenapiLoadingFallback");
241
241
  var LazyDocsLayout = createLazyComponent(
242
- () => import('./DocsLayout-ESVQZO3V.mjs').then((mod) => ({ default: mod.DocsLayout })),
242
+ () => import('./DocsLayout-CTJINVBM.mjs').then((mod) => ({ default: mod.DocsLayout })),
243
243
  {
244
244
  displayName: "LazyDocsLayout",
245
245
  fallback: /* @__PURE__ */ jsx(OpenapiLoadingFallback, {})
@@ -338,7 +338,7 @@ var LazyCronScheduler = createLazyComponent(
338
338
  }
339
339
  );
340
340
  var LazyTree = createLazyComponent(
341
- () => import('./TreeRoot-R6XVHYQK.mjs'),
341
+ () => import('./TreeRoot-A3J65L6F.mjs'),
342
342
  {
343
343
  displayName: "LazyTree",
344
344
  fallback: /* @__PURE__ */ jsx(LoadingFallback, { minHeight: 200, text: "Loading tree\u2026" })
@@ -356,7 +356,7 @@ function LottiePlayer(props) {
356
356
  }
357
357
  __name(LottiePlayer, "LottiePlayer");
358
358
  var DocsLayout = lazy(
359
- () => import('./DocsLayout-ESVQZO3V.mjs').then((mod) => ({ default: mod.DocsLayout }))
359
+ () => import('./DocsLayout-CTJINVBM.mjs').then((mod) => ({ default: mod.DocsLayout }))
360
360
  );
361
361
  var LoadingFallback6 = /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center min-h-[400px]", children: /* @__PURE__ */ jsx("div", { className: "text-muted-foreground", children: "Loading API Playground..." }) }), "LoadingFallback");
362
362
  var Playground = /* @__PURE__ */ __name(({ config }) => {