{
  "name": "@mostajs/media",
  "version": "2.4.0",
  "description": "Image and video capture, screen recording, multi-take session orchestrator, client-side video editor (ffmpeg.wasm), and upload components for React/Next.js",
  "author": "Dr Hamid MADANI <drmdh@msn.com>",
  "license": "AGPL-3.0-or-later",
  "type": "module",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js",
      "default": "./dist/index.js"
    },
    "./components/ImageCapture": {
      "types": "./dist/components/ImageCapture.d.ts",
      "import": "./dist/components/ImageCapture.js",
      "default": "./dist/components/ImageCapture.js"
    },
    "./components/VideoCapture": {
      "types": "./dist/components/VideoCapture.d.ts",
      "import": "./dist/components/VideoCapture.js",
      "default": "./dist/components/VideoCapture.js"
    },
    "./components/ImageEditor": {
      "types": "./dist/components/ImageEditor.d.ts",
      "import": "./dist/components/ImageEditor.js",
      "default": "./dist/components/ImageEditor.js"
    },
    "./components/MediaGallery": {
      "types": "./dist/components/MediaGallery.d.ts",
      "import": "./dist/components/MediaGallery.js",
      "default": "./dist/components/MediaGallery.js"
    },
    "./hooks/useCamera": {
      "types": "./dist/hooks/useCamera.d.ts",
      "import": "./dist/hooks/useCamera.js",
      "default": "./dist/hooks/useCamera.js"
    },
    "./hooks/useVideoRecorder": {
      "types": "./dist/hooks/useVideoRecorder.d.ts",
      "import": "./dist/hooks/useVideoRecorder.js",
      "default": "./dist/hooks/useVideoRecorder.js"
    },
    "./lib/image-utils": {
      "types": "./dist/lib/image-utils.d.ts",
      "import": "./dist/lib/image-utils.js",
      "default": "./dist/lib/image-utils.js"
    },
    "./lib/audio-storage": {
      "types": "./dist/lib/audio-storage.d.ts",
      "import": "./dist/lib/audio-storage.js",
      "default": "./dist/lib/audio-storage.js"
    },
    "./components/ScreenRecorder": {
      "types": "./dist/components/ScreenRecorder.d.ts",
      "import": "./dist/components/ScreenRecorder.js",
      "default": "./dist/components/ScreenRecorder.js"
    },
    "./components/RecorderPreview": {
      "types": "./dist/components/RecorderPreview.d.ts",
      "import": "./dist/components/RecorderPreview.js",
      "default": "./dist/components/RecorderPreview.js"
    },
    "./components/AudioLevelMeter": {
      "types": "./dist/components/AudioLevelMeter.d.ts",
      "import": "./dist/components/AudioLevelMeter.js",
      "default": "./dist/components/AudioLevelMeter.js"
    },
    "./components/AudioOnlyRecorder": {
      "types": "./dist/components/AudioOnlyRecorder.d.ts",
      "import": "./dist/components/AudioOnlyRecorder.js",
      "default": "./dist/components/AudioOnlyRecorder.js"
    },
    "./components/YouTubePublishButton": {
      "types": "./dist/components/YouTubePublishButton.d.ts",
      "import": "./dist/components/YouTubePublishButton.js",
      "default": "./dist/components/YouTubePublishButton.js"
    },
    "./hooks/useScreenCapture": {
      "types": "./dist/hooks/useScreenCapture.d.ts",
      "import": "./dist/hooks/useScreenCapture.js",
      "default": "./dist/hooks/useScreenCapture.js"
    },
    "./components/VideoEditor": {
      "types": "./dist/components/VideoEditor.d.ts",
      "import": "./dist/components/VideoEditor.js",
      "default": "./dist/components/VideoEditor.js"
    },
    "./hooks/useVideoEditor": {
      "types": "./dist/hooks/useVideoEditor.d.ts",
      "import": "./dist/hooks/useVideoEditor.js",
      "default": "./dist/hooks/useVideoEditor.js"
    },
    "./lib/ffmpeg-compose": {
      "types": "./dist/lib/ffmpeg-compose.d.ts",
      "import": "./dist/lib/ffmpeg-compose.js",
      "default": "./dist/lib/ffmpeg-compose.js"
    },
    "./lib/server-compose": {
      "types": "./dist/lib/server-compose.d.ts",
      "import": "./dist/lib/server-compose.js",
      "default": "./dist/lib/server-compose.js"
    },
    "./lib/emoji": {
      "types": "./dist/lib/emoji.d.ts",
      "import": "./dist/lib/emoji.js",
      "default": "./dist/lib/emoji.js"
    },
    "./types/editor": {
      "types": "./dist/types/editor.d.ts",
      "import": "./dist/types/editor.js",
      "default": "./dist/types/editor.js"
    },
    "./types": {
      "types": "./dist/types/index.d.ts",
      "import": "./dist/types/index.js",
      "default": "./dist/types/index.js"
    },
    "./lib/menu": {
      "types": "./dist/lib/menu.d.ts",
      "import": "./dist/lib/menu.js",
      "default": "./dist/lib/menu.js"
    },
    "./register": {
      "types": "./dist/register.d.ts",
      "import": "./dist/register.js",
      "default": "./dist/register.js"
    },
    "./pages/CapturePage": {
      "types": "./dist/pages/CapturePage.d.ts",
      "import": "./dist/pages/CapturePage.js",
      "default": "./dist/pages/CapturePage.js"
    },
    "./pages/GalleryPage": {
      "types": "./dist/pages/GalleryPage.d.ts",
      "import": "./dist/pages/GalleryPage.js",
      "default": "./dist/pages/GalleryPage.js"
    },
    "./pages/VideoPage": {
      "types": "./dist/pages/VideoPage.d.ts",
      "import": "./dist/pages/VideoPage.js",
      "default": "./dist/pages/VideoPage.js"
    },
    "./pages/ScreenPage": {
      "types": "./dist/pages/ScreenPage.d.ts",
      "import": "./dist/pages/ScreenPage.js",
      "default": "./dist/pages/ScreenPage.js"
    },
    "./pages/CaptureEditorPage": {
      "types": "./dist/pages/CaptureEditorPage.d.ts",
      "import": "./dist/pages/CaptureEditorPage.js",
      "default": "./dist/pages/CaptureEditorPage.js"
    },
    "./pages/SfuViewerPage": {
      "types": "./dist/pages/SfuViewerPage.d.ts",
      "import": "./dist/pages/SfuViewerPage.js",
      "default": "./dist/pages/SfuViewerPage.js"
    },
    "./server/project-db": {
      "types": "./dist/server/project-db.d.ts",
      "import": "./dist/server/project-db.js",
      "default": "./dist/server/project-db.js"
    },
    "./server/compose-route": {
      "types": "./dist/server/compose-route.d.ts",
      "import": "./dist/server/compose-route.js",
      "default": "./dist/server/compose-route.js"
    },
    "./server/projects-list-route": {
      "types": "./dist/server/projects-list-route.d.ts",
      "import": "./dist/server/projects-list-route.js",
      "default": "./dist/server/projects-list-route.js"
    },
    "./server/projects-id-route": {
      "types": "./dist/server/projects-id-route.d.ts",
      "import": "./dist/server/projects-id-route.js",
      "default": "./dist/server/projects-id-route.js"
    }
  },
  "files": [
    "dist",
    "wire.json",
    "media.wire.json",
    "LICENSE",
    "README.md",
    "CHANGELOG.md",
    "llms.txt",
    "examples"
  ],
  "keywords": [
    "camera",
    "video",
    "image",
    "capture",
    "editor",
    "crop",
    "media",
    "react",
    "nextjs",
    "mosta"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/apolocine/mosta-media"
  },
  "homepage": "https://mostajs.dev/packages/media",
  "engines": {
    "node": ">=18.0.0"
  },
  "scripts": {
    "build": "tsc && npm run fix-esm",
    "fix-esm": "find dist -name '*.js' -exec sed -i -E \"s|from '(\\.{1,2}/[^']+)'(;?)|from '\\1.js'\\2|g; s|from \\\"(\\.{1,2}/[^\\\"]+)\\\"(;?)|from \\\"\\1.js\\\"\\2|g\" {} \\; && find dist -name '*.js' -exec sed -i -E \"s|\\.js\\.js|.js|g; s|\\.json\\.js|.json|g; s|\\.css\\.js|.css|g\" {} \\;",
    "prepublishOnly": "npm run build"
  },
  "peerDependencies": {
    "@mostajs/qrpanel": ">=0.5.0",
    "@mostajs/menu": ">=1.0.2",
    "@mostajs/socle": ">=2.0.0",
    "@mostajs/config": ">=1.0.0",
    "lucide-react": ">=0.400.0",
    "react": ">=18",
    "@ffmpeg/ffmpeg": ">=0.12.10",
    "@ffmpeg/util":   ">=0.12.1",
    "@mostajs/orm":   ">=1.11.0",
    "better-sqlite3": ">=11.0.0",
    "next":           ">=15.0.0"
  },
  "devDependencies": {
    "@mostajs/menu": "^1.0.2",
    "@mostajs/socle": "^2.0.0",
    "@types/react": "^19.0.0",
    "lucide-react": "^0.575.0",
    "next": "^16.0.0",
    "@mostajs/orm": "^1.11.0",
    "better-sqlite3": "^11.5.0",
    "react": "^19.0.0",
    "typescript": "^5.6.0"
  },
  "peerDependenciesMeta": {
    "@mostajs/menu": {
      "optional": true
    },
    "@mostajs/config": {
      "optional": true
    },
    "@ffmpeg/ffmpeg": {
      "optional": true
    },
    "@ffmpeg/util": {
      "optional": true
    },
    "@mostajs/orm": {
      "optional": true
    },
    "better-sqlite3": {
      "optional": true
    },
    "next": {
      "optional": true
    }
  }
}
