{
  "name": "@djangocfg/ui-tools",
  "version": "2.1.437",
  "description": "Heavy React tools with lazy loading - for Electron, Vite, CRA, Next.js apps",
  "keywords": [
    "ui-tools",
    "react",
    "lazy-loading",
    "video-player",
    "audio-player",
    "json-form",
    "mermaid",
    "code-highlight",
    "gallery",
    "lightbox",
    "map",
    "maplibre",
    "monaco-editor",
    "code-editor"
  ],
  "author": {
    "name": "DjangoCFG",
    "url": "https://djangocfg.com"
  },
  "homepage": "https://djangocfg.com",
  "repository": {
    "type": "git",
    "url": "https://github.com/markolofsen/django-cfg.git",
    "directory": "packages/ui-tools"
  },
  "license": "MIT",
  "type": "module",
  "exports": {
    "./gallery": {
      "types": "./src/tools/media/Gallery/index.ts",
      "import": "./src/tools/media/Gallery/index.ts",
      "require": "./src/tools/media/Gallery/index.ts"
    },
    "./map": {
      "types": "./src/tools/dev/Map/lazy.tsx",
      "import": "./src/tools/dev/Map/lazy.tsx",
      "require": "./src/tools/dev/Map/lazy.tsx"
    },
    "./mermaid": {
      "types": "./src/tools/dev/Mermaid/lazy.tsx",
      "import": "./src/tools/dev/Mermaid/lazy.tsx",
      "require": "./src/tools/dev/Mermaid/lazy.tsx"
    },
    "./upload": {
      "types": "./src/tools/forms/Uploader/index.ts",
      "import": "./src/tools/forms/Uploader/index.ts",
      "require": "./src/tools/forms/Uploader/index.ts"
    },
    "./code-editor": {
      "types": "./src/tools/forms/CodeEditor/lazy.tsx",
      "import": "./src/tools/forms/CodeEditor/lazy.tsx",
      "require": "./src/tools/forms/CodeEditor/lazy.tsx"
    },
    "./tree": {
      "types": "./dist/tree/index.d.ts",
      "import": "./dist/tree/index.mjs",
      "require": "./dist/tree/index.cjs"
    },
    "./file-icon": {
      "types": "./dist/file-icon/index.d.ts",
      "import": "./dist/file-icon/index.mjs",
      "require": "./dist/file-icon/index.cjs"
    },
    "./composer-registry": {
      "types": "./dist/composer-registry/index.d.ts",
      "import": "./dist/composer-registry/index.mjs",
      "require": "./dist/composer-registry/index.cjs"
    },
    "./audio-player": {
      "types": "./dist/audio-player/index.d.ts",
      "import": "./dist/audio-player/index.mjs",
      "require": "./dist/audio-player/index.cjs"
    },
    "./chat": {
      "types": "./src/tools/chat/lazy.tsx",
      "import": "./src/tools/chat/lazy.tsx",
      "require": "./src/tools/chat/lazy.tsx"
    },
    "./cron-scheduler": {
      "types": "./src/tools/input/CronScheduler/lazy.tsx",
      "import": "./src/tools/input/CronScheduler/lazy.tsx",
      "require": "./src/tools/input/CronScheduler/lazy.tsx"
    },
    "./image-viewer": {
      "types": "./src/tools/media/ImageViewer/lazy.tsx",
      "import": "./src/tools/media/ImageViewer/lazy.tsx",
      "require": "./src/tools/media/ImageViewer/lazy.tsx"
    },
    "./json-form": {
      "types": "./src/tools/forms/JsonForm/lazy.tsx",
      "import": "./src/tools/forms/JsonForm/lazy.tsx",
      "require": "./src/tools/forms/JsonForm/lazy.tsx"
    },
    "./json-form/full": {
      "types": "./src/tools/forms/JsonForm/index.ts",
      "import": "./src/tools/forms/JsonForm/index.ts",
      "require": "./src/tools/forms/JsonForm/index.ts"
    },
    "./json-tree": {
      "types": "./src/tools/data/JsonTree/lazy.tsx",
      "import": "./src/tools/data/JsonTree/lazy.tsx",
      "require": "./src/tools/data/JsonTree/lazy.tsx"
    },
    "./json-editor": {
      "types": "./src/tools/forms/JsonEditor/lazy.tsx",
      "import": "./src/tools/forms/JsonEditor/lazy.tsx",
      "require": "./src/tools/forms/JsonEditor/lazy.tsx"
    },
    "./lottie-player": {
      "types": "./src/tools/media/LottiePlayer/lazy.tsx",
      "import": "./src/tools/media/LottiePlayer/lazy.tsx",
      "require": "./src/tools/media/LottiePlayer/lazy.tsx"
    },
    "./markdown-editor": {
      "types": "./src/tools/forms/MarkdownEditor/lazy.tsx",
      "import": "./src/tools/forms/MarkdownEditor/lazy.tsx",
      "require": "./src/tools/forms/MarkdownEditor/lazy.tsx"
    },
    "./notion-editor": {
      "types": "./src/tools/forms/NotionEditor/lazy.tsx",
      "import": "./src/tools/forms/NotionEditor/lazy.tsx",
      "require": "./src/tools/forms/NotionEditor/lazy.tsx"
    },
    "./markdown-message": {
      "types": "./src/tools/dev/code/MarkdownMessage/index.ts",
      "import": "./src/tools/dev/code/MarkdownMessage/index.ts",
      "require": "./src/tools/dev/code/MarkdownMessage/index.ts"
    },
    "./openapi-viewer": {
      "types": "./src/tools/dev/api/OpenapiViewer/lazy.tsx",
      "import": "./src/tools/dev/api/OpenapiViewer/lazy.tsx",
      "require": "./src/tools/dev/api/OpenapiViewer/lazy.tsx"
    },
    "./request-viewer": {
      "types": "./src/tools/dev/api/RequestViewer/index.ts",
      "import": "./src/tools/dev/api/RequestViewer/index.ts",
      "require": "./src/tools/dev/api/RequestViewer/index.ts"
    },
    "./pretty-code": {
      "types": "./src/tools/dev/code/PrettyCode/lazy.tsx",
      "import": "./src/tools/dev/code/PrettyCode/lazy.tsx",
      "require": "./src/tools/dev/code/PrettyCode/lazy.tsx"
    },
    "./diff-viewer": {
      "types": "./src/tools/dev/code/DiffViewer/lazy.tsx",
      "import": "./src/tools/dev/code/DiffViewer/lazy.tsx",
      "require": "./src/tools/dev/code/DiffViewer/lazy.tsx"
    },
    "./diff-viewer/full": {
      "types": "./src/tools/dev/code/DiffViewer/index.ts",
      "import": "./src/tools/dev/code/DiffViewer/index.ts",
      "require": "./src/tools/dev/code/DiffViewer/index.ts"
    },
    "./video-player": {
      "types": "./src/tools/media/VideoPlayer/lazy.tsx",
      "import": "./src/tools/media/VideoPlayer/lazy.tsx",
      "require": "./src/tools/media/VideoPlayer/lazy.tsx"
    },
    "./speech-recognition": {
      "types": "./src/tools/input/SpeechRecognition/index.ts",
      "import": "./src/tools/input/SpeechRecognition/index.ts",
      "require": "./src/tools/input/SpeechRecognition/index.ts"
    },
    "./responsive-dialog": {
      "types": "./src/tools/overlay/ResponsiveDialog/index.ts",
      "import": "./src/tools/overlay/ResponsiveDialog/index.ts",
      "require": "./src/tools/overlay/ResponsiveDialog/index.ts"
    },
    "./scroll-spy": {
      "types": "./src/tools/overlay/ScrollSpy/index.ts",
      "import": "./src/tools/overlay/ScrollSpy/index.ts",
      "require": "./src/tools/overlay/ScrollSpy/index.ts"
    },
    "./scroller": {
      "types": "./src/tools/input/Scroller/index.ts",
      "import": "./src/tools/input/Scroller/index.ts",
      "require": "./src/tools/input/Scroller/index.ts"
    },
    "./selection-toolbar": {
      "types": "./src/tools/overlay/SelectionToolbar/index.ts",
      "import": "./src/tools/overlay/SelectionToolbar/index.ts",
      "require": "./src/tools/overlay/SelectionToolbar/index.ts"
    },
    "./sortable": {
      "types": "./src/tools/input/Sortable/index.ts",
      "import": "./src/tools/input/Sortable/index.ts",
      "require": "./src/tools/input/Sortable/index.ts"
    },
    "./tour": {
      "types": "./src/tools/overlay/Tour/index.ts",
      "import": "./src/tools/overlay/Tour/index.ts",
      "require": "./src/tools/overlay/Tour/index.ts"
    },
    "./combobox": {
      "types": "./src/tools/input/Combobox/index.ts",
      "import": "./src/tools/input/Combobox/index.ts",
      "require": "./src/tools/input/Combobox/index.ts"
    },
    "./color-picker": {
      "types": "./src/tools/visual/design/ColorPicker/index.ts",
      "import": "./src/tools/visual/design/ColorPicker/index.ts",
      "require": "./src/tools/visual/design/ColorPicker/index.ts"
    },
    "./color-palette": {
      "types": "./src/tools/visual/design/ColorPalette/index.ts",
      "import": "./src/tools/visual/design/ColorPalette/index.ts",
      "require": "./src/tools/visual/design/ColorPalette/index.ts"
    },
    "./file-upload": {
      "types": "./src/tools/forms/FileUpload/index.ts",
      "import": "./src/tools/forms/FileUpload/index.ts",
      "require": "./src/tools/forms/FileUpload/index.ts"
    },
    "./fps": {
      "types": "./src/tools/visual/indicators/Fps/index.ts",
      "import": "./src/tools/visual/indicators/Fps/index.ts",
      "require": "./src/tools/visual/indicators/Fps/index.ts"
    },
    "./gauge": {
      "types": "./src/tools/visual/charts/Gauge/index.ts",
      "import": "./src/tools/visual/charts/Gauge/index.ts",
      "require": "./src/tools/visual/charts/Gauge/index.ts"
    },
    "./marquee": {
      "types": "./src/tools/visual/Marquee/index.ts",
      "import": "./src/tools/visual/Marquee/index.ts",
      "require": "./src/tools/visual/Marquee/index.ts"
    },
    "./qr-code": {
      "types": "./src/tools/visual/QRCode/index.ts",
      "import": "./src/tools/visual/QRCode/index.ts",
      "require": "./src/tools/visual/QRCode/index.ts"
    },
    "./status-indicator": {
      "types": "./src/tools/visual/indicators/StatusIndicator/index.ts",
      "import": "./src/tools/visual/indicators/StatusIndicator/index.ts",
      "require": "./src/tools/visual/indicators/StatusIndicator/index.ts"
    },
    "./api-ref-table": {
      "types": "./src/tools/dev/api/ApiRefTable/index.ts",
      "import": "./src/tools/dev/api/ApiRefTable/index.ts",
      "require": "./src/tools/dev/api/ApiRefTable/index.ts"
    },
    "./env-table": {
      "types": "./src/tools/dev/ops/EnvTable/index.ts",
      "import": "./src/tools/dev/ops/EnvTable/index.ts",
      "require": "./src/tools/dev/ops/EnvTable/index.ts"
    },
    "./log-viewer": {
      "types": "./src/tools/dev/ops/LogViewer/lazy.tsx",
      "import": "./src/tools/dev/ops/LogViewer/lazy.tsx",
      "require": "./src/tools/dev/ops/LogViewer/lazy.tsx"
    },
    "./log-viewer/full": {
      "types": "./src/tools/dev/ops/LogViewer/index.ts",
      "import": "./src/tools/dev/ops/LogViewer/index.ts",
      "require": "./src/tools/dev/ops/LogViewer/index.ts"
    },
    "./activity-graph": {
      "types": "./src/tools/visual/charts/ActivityGraph/index.ts",
      "import": "./src/tools/visual/charts/ActivityGraph/index.ts",
      "require": "./src/tools/visual/charts/ActivityGraph/index.ts"
    },
    "./commit-graph": {
      "types": "./src/tools/visual/charts/CommitGraph/index.ts",
      "import": "./src/tools/visual/charts/CommitGraph/index.ts",
      "require": "./src/tools/visual/charts/CommitGraph/index.ts"
    },
    "./sparkline": {
      "types": "./src/tools/visual/charts/Sparkline/index.ts",
      "import": "./src/tools/visual/charts/Sparkline/index.ts",
      "require": "./src/tools/visual/charts/Sparkline/index.ts"
    },
    "./smooth-line": {
      "types": "./src/tools/visual/charts/SmoothLine/index.ts",
      "import": "./src/tools/visual/charts/SmoothLine/index.ts",
      "require": "./src/tools/visual/charts/SmoothLine/index.ts"
    },
    "./rating": {
      "types": "./src/tools/visual/indicators/Rating/index.ts",
      "import": "./src/tools/visual/indicators/Rating/index.ts",
      "require": "./src/tools/visual/indicators/Rating/index.ts"
    },
    "./listbox": {
      "types": "./src/tools/data/Listbox/index.ts",
      "import": "./src/tools/data/Listbox/index.ts",
      "require": "./src/tools/data/Listbox/index.ts"
    },
    "./data-grid": {
      "types": "./src/tools/data/DataGrid/index.ts",
      "import": "./src/tools/data/DataGrid/index.ts",
      "require": "./src/tools/data/DataGrid/index.ts"
    },
    "./data-table": {
      "types": "./src/tools/data/DataTable/index.ts",
      "import": "./src/tools/data/DataTable/index.ts",
      "require": "./src/tools/data/DataTable/index.ts"
    },
    "./kanban": {
      "types": "./src/tools/data/Kanban/index.ts",
      "import": "./src/tools/data/Kanban/index.ts",
      "require": "./src/tools/data/Kanban/index.ts"
    },
    "./timeline": {
      "types": "./src/tools/data/Timeline/index.ts",
      "import": "./src/tools/data/Timeline/index.ts",
      "require": "./src/tools/data/Timeline/index.ts"
    },
    "./masonry": {
      "types": "./src/tools/data/Masonry/index.ts",
      "import": "./src/tools/data/Masonry/index.ts",
      "require": "./src/tools/data/Masonry/index.ts"
    },
    "./styles": "./src/styles/index.css",
    "./dist.css": "./dist/index.css"
  },
  "files": [
    "dist",
    "src",
    "README.md",
    "LICENSE"
  ],
  "scripts": {
    "build": "tsup",
    "clean": "rm -rf dist",
    "dev": "tsup --watch",
    "check": "tsc --noEmit",
    "test": "vitest run",
    "test:watch": "vitest"
  },
  "peerDependencies": {
    "@djangocfg/i18n": "^2.1.437",
    "@djangocfg/ui-core": "^2.1.437",
    "consola": "^3.4.2",
    "lodash-es": "^4.18.1",
    "lucide-react": "^0.545.0",
    "react": "^19.2.4",
    "react-dom": "^19.2.4",
    "tailwindcss": "^4.1.18",
    "zod": "^4.3.6",
    "zustand": "^5.0.0"
  },
  "peerDependenciesMeta": {
    "zod": {
      "optional": true
    }
  },
  "dependencies": {
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/modifiers": "^9.0.0",
    "@dnd-kit/sortable": "^10.0.0",
    "@dnd-kit/utilities": "^3.2.2",
    "@floating-ui/dom": "^1.7.4",
    "@radix-ui/react-direction": "^1.1.1",
    "@radix-ui/react-slot": "^1.2.4",
    "@rjsf/core": "^6.1.2",
    "@rjsf/utils": "^6.1.2",
    "@rjsf/validator-ajv8": "^6.1.2",
    "@rpldy/uploady": "^1.8.5",
    "@tiptap/core": "^3.23.0",
    "@tiptap/extension-bubble-menu": "^3.23.0",
    "@tiptap/extension-code-block-lowlight": "^3.23.0",
    "@tiptap/extension-highlight": "^3.23.0",
    "@tiptap/extension-mention": "^3.23.0",
    "@tiptap/extension-placeholder": "^3.23.0",
    "@tiptap/extension-table": "^3.23.0",
    "@tiptap/extension-table-cell": "^3.23.0",
    "@tiptap/extension-table-header": "^3.23.0",
    "@tiptap/extension-table-row": "^3.23.0",
    "@tiptap/extension-task-item": "^3.23.0",
    "@tiptap/extension-task-list": "^3.23.0",
    "@tiptap/markdown": "^3.23.0",
    "@tiptap/pm": "^3.23.0",
    "@tiptap/react": "^3.23.0",
    "@tiptap/starter-kit": "^3.23.0",
    "@tiptap/suggestion": "^3.23.0",
    "@turf/turf": "^7.3.5",
    "@types/qrcode": "^1.5.5",
    "@wavesurfer/react": "^1.0.12",
    "class-variance-authority": "^0.7.1",
    "hls-video-element": "^1.5.11",
    "json-edit-react": "^1.30.1",
    "lowlight": "^3.3.0",
    "maplibre-gl": "^4.7.1",
    "media-chrome": "^4.19.0",
    "media-icons": "next",
    "mermaid": "^11.12.0",
    "monaco-editor": "^0.55.1",
    "openapi-sampler": "^1.7.2",
    "pmtiles": "^4.4.1",
    "prism-react-renderer": "^2.4.1",
    "prismjs": "^1.30.0",
    "qrcode": "^1.5.4",
    "react-lottie-player": "^2.1.0",
    "react-map-gl": "^8.1.0",
    "react-markdown": "10.1.0",
    "react-virtuoso": "^4.18.7",
    "react-zoom-pan-pinch": "^3.7.0",
    "rehype-external-links": "^3.0.0",
    "rehype-raw": "^7.0.0",
    "rehype-sanitize": "^6.0.0",
    "remark-breaks": "^4.0.0",
    "remark-emoji": "^5.0.2",
    "remark-gfm": "4.0.1",
    "remark-smartypants": "^3.0.2",
    "tiptap-extension-global-drag-handle": "^0.1.18",
    "vimeo-video-element": "^1.7.2",
    "wavesurfer.js": "^7.12.1",
    "youtube-video-element": "^1.9.0"
  },
  "optionalDependencies": {
    "@mapbox/mapbox-gl-draw": "^1.4.3",
    "@maplibre/maplibre-gl-geocoder": "^1.7.0"
  },
  "devDependencies": {
    "@djangocfg/i18n": "^2.1.437",
    "@djangocfg/typescript-config": "^2.1.437",
    "@djangocfg/ui-core": "^2.1.437",
    "@types/lodash-es": "^4.17.12",
    "@types/mapbox__mapbox-gl-draw": "^1.4.8",
    "@types/node": "^25.2.3",
    "@types/react": "^19.2.15",
    "@types/react-dom": "^19.2.3",
    "jsdom": "^29.1.1",
    "lodash-es": "^4.18.1",
    "lucide-react": "^0.545.0",
    "react": "^19.2.4",
    "react-dom": "^19.2.4",
    "tailwindcss": "^4.1.18",
    "tsup": "^8.5.0",
    "typescript": "^5.9.3",
    "vitest": "^3.1.4",
    "zod": "^4.3.6"
  },
  "publishConfig": {
    "access": "public"
  }
}
