{
  "name": "ranui",
  "version": "0.5.0-alpha.6",
  "description": "A framework-agnostic Web Components UI library built on native custom elements, with TypeScript types, light/dark theming, SSR and PWA support.",
  "main": "dist/index.cjs",
  "module": "dist/index.js",
  "type": "module",
  "types": "./dist/index.d.ts",
  "typesVersions": {
    "*": {
      "builder": [
        "./dist/builder.d.ts"
      ],
      "ssr": [
        "./dist/ssr.d.ts"
      ],
      "ssr-stream": [
        "./dist/ssr-stream.d.ts"
      ],
      "testing": [
        "./dist/testing.d.ts"
      ],
      "theme": [
        "./dist/theme.d.ts"
      ],
      "i18n": [
        "./dist/i18n.d.ts"
      ],
      "typings": [
        "./dist/typings.d.ts"
      ],
      "button": [
        "./dist/components/button/index.d.ts"
      ],
      "icon": [
        "./dist/components/icon/index.d.ts"
      ],
      "image": [
        "./dist/components/image/index.d.ts"
      ],
      "input": [
        "./dist/components/input/index.d.ts"
      ],
      "message": [
        "./dist/components/message/index.d.ts"
      ],
      "skeleton": [
        "./dist/components/skeleton/index.d.ts"
      ],
      "tab": [
        "./dist/components/tab/index.d.ts"
      ],
      "tabpane": [
        "./dist/components/tabpane/index.d.ts"
      ],
      "radar": [
        "./dist/components/radar/index.d.ts"
      ],
      "modal": [
        "./dist/components/modal/index.d.ts"
      ],
      "select": [
        "./dist/components/select/index.d.ts"
      ],
      "progress": [
        "./dist/components/progress/index.d.ts"
      ],
      "player": [
        "./dist/components/player/index.d.ts"
      ],
      "popover": [
        "./dist/components/popover/index.d.ts"
      ],
      "dropdown": [
        "./dist/components/dropdown/index.d.ts"
      ],
      "loading": [
        "./dist/components/loading/index.d.ts"
      ],
      "colorpicker": [
        "./dist/components/colorpicker/index.d.ts"
      ],
      "math": [
        "./dist/components/math/index.d.ts"
      ],
      "mermaid": [
        "./dist/components/mermaid/index.d.ts"
      ],
      "markdown": [
        "./dist/components/markdown/index.d.ts"
      ],
      "checkbox": [
        "./dist/components/checkbox/index.d.ts"
      ],
      "card": [
        "./dist/components/card/index.d.ts"
      ],
      "conversation": [
        "./dist/components/conversation/index.d.ts"
      ],
      "reasoning": [
        "./dist/components/reasoning/index.d.ts"
      ],
      "tool-card": [
        "./dist/components/tool-card/index.d.ts"
      ],
      "token-meter": [
        "./dist/components/token-meter/index.d.ts"
      ],
      "state-dot": [
        "./dist/components/state-dot/index.d.ts"
      ],
      "disclosure-row": [
        "./dist/components/disclosure-row/index.d.ts"
      ],
      "attachments": [
        "./dist/components/attachments/index.d.ts"
      ],
      "voice-button": [
        "./dist/components/voice-button/index.d.ts"
      ],
      "scratch": [
        "./dist/components/scratch/index.d.ts"
      ],
      "section": [
        "./dist/components/section/index.d.ts"
      ],
      "router": [
        "./dist/components/router/index.d.ts"
      ],
      "route": [
        "./dist/components/route/index.d.ts"
      ],
      "link": [
        "./dist/components/link/index.d.ts"
      ],
      "theme-switch": [
        "./dist/components/theme-switch/index.d.ts"
      ],
      "*": [
        "./dist/index.d.ts"
      ]
    }
  },
  "homepage": "https://ran.chaxus.com/src/ranui/",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/chaxus/ran.git",
    "directory": "packages/ranui"
  },
  "bugs": {
    "url": "https://github.com/chaxus/ran/issues"
  },
  "author": "chaxus",
  "license": "MIT",
  "engines": {
    "node": ">=20.19.0"
  },
  "files": [
    "dist",
    "typings.d.ts",
    "docs/DESIGN.md",
    "docs/COMPONENTS.md",
    "docs/BUILDER.md",
    "docs/style-tokens-public.md"
  ],
  "keywords": [
    "ranui",
    "ran",
    "web-components",
    "web components",
    "custom-elements",
    "custom-element",
    "shadow-dom",
    "framework-agnostic",
    "component",
    "components",
    "ui",
    "ui-library",
    "component-library",
    "design",
    "typescript",
    "ssr",
    "pwa"
  ],
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js",
      "require": "./dist/index.cjs"
    },
    "./style": "./dist/ranui.css",
    "./fonts": "./dist/fonts/fonts.css",
    "./builder": {
      "types": "./dist/builder.d.ts",
      "import": "./dist/builder.js",
      "require": "./dist/index.cjs"
    },
    "./ssr": {
      "types": "./dist/ssr.d.ts",
      "import": "./dist/ssr.js",
      "require": "./dist/index.cjs"
    },
    "./ssr-stream": {
      "types": "./dist/ssr-stream.d.ts",
      "import": "./dist/ssr-stream.js",
      "require": "./dist/index.cjs"
    },
    "./theme": {
      "types": "./dist/theme.d.ts",
      "import": "./dist/theme.js",
      "require": "./dist/index.cjs"
    },
    "./testing": {
      "types": "./dist/testing.d.ts",
      "import": "./dist/testing.js",
      "require": "./dist/index.cjs"
    },
    "./i18n": {
      "types": "./dist/i18n.d.ts",
      "import": "./dist/i18n.js",
      "require": "./dist/index.cjs"
    },
    "./button": {
      "types": "./dist/components/button/index.d.ts",
      "import": "./dist/button.js",
      "require": "./dist/index.cjs"
    },
    "./icon": {
      "types": "./dist/components/icon/index.d.ts",
      "import": "./dist/icon.js",
      "require": "./dist/index.cjs"
    },
    "./icons": {
      "types": "./dist/index.d.ts",
      "import": "./dist/icons.js",
      "require": "./dist/index.cjs"
    },
    "./image": {
      "types": "./dist/components/image/index.d.ts",
      "import": "./dist/image.js",
      "require": "./dist/index.cjs"
    },
    "./input": {
      "types": "./dist/components/input/index.d.ts",
      "import": "./dist/input.js",
      "require": "./dist/index.cjs"
    },
    "./message": {
      "types": "./dist/components/message/index.d.ts",
      "import": "./dist/message.js",
      "require": "./dist/index.cjs"
    },
    "./skeleton": {
      "types": "./dist/components/skeleton/index.d.ts",
      "import": "./dist/skeleton.js",
      "require": "./dist/index.cjs"
    },
    "./tab": {
      "types": "./dist/components/tab/index.d.ts",
      "import": "./dist/tab.js",
      "require": "./dist/index.cjs"
    },
    "./tabpane": {
      "types": "./dist/components/tabpane/index.d.ts",
      "import": "./dist/tabpane.js",
      "require": "./dist/index.cjs"
    },
    "./radar": {
      "types": "./dist/components/radar/index.d.ts",
      "import": "./dist/radar.js",
      "require": "./dist/index.cjs"
    },
    "./modal": {
      "types": "./dist/components/modal/index.d.ts",
      "import": "./dist/modal.js",
      "require": "./dist/index.cjs"
    },
    "./select": {
      "types": "./dist/components/select/index.d.ts",
      "import": "./dist/select.js",
      "require": "./dist/index.cjs"
    },
    "./progress": {
      "types": "./dist/components/progress/index.d.ts",
      "import": "./dist/progress.js",
      "require": "./dist/index.cjs"
    },
    "./player": {
      "types": "./dist/components/player/index.d.ts",
      "import": "./dist/player.js",
      "require": "./dist/index.cjs"
    },
    "./popover": {
      "types": "./dist/components/popover/index.d.ts",
      "import": "./dist/popover.js",
      "require": "./dist/index.cjs"
    },
    "./dropdown": {
      "types": "./dist/components/dropdown/index.d.ts",
      "import": "./dist/dropdown.js",
      "require": "./dist/index.cjs"
    },
    "./content": {
      "types": "./dist/index.d.ts",
      "import": "./dist/content.js",
      "require": "./dist/index.cjs"
    },
    "./loading": {
      "types": "./dist/components/loading/index.d.ts",
      "import": "./dist/loading.js",
      "require": "./dist/index.cjs"
    },
    "./colorpicker": {
      "types": "./dist/components/colorpicker/index.d.ts",
      "import": "./dist/colorpicker.js",
      "require": "./dist/index.cjs"
    },
    "./math": {
      "types": "./dist/components/math/index.d.ts",
      "import": "./dist/math.js",
      "require": "./dist/index.cjs"
    },
    "./mermaid": {
      "types": "./dist/components/mermaid/index.d.ts",
      "import": "./dist/mermaid.js",
      "require": "./dist/index.cjs"
    },
    "./markdown": {
      "types": "./dist/components/markdown/index.d.ts",
      "import": "./dist/markdown.js",
      "require": "./dist/index.cjs"
    },
    "./checkbox": {
      "types": "./dist/components/checkbox/index.d.ts",
      "import": "./dist/checkbox.js",
      "require": "./dist/index.cjs"
    },
    "./card": {
      "types": "./dist/components/card/index.d.ts",
      "import": "./dist/card.js",
      "require": "./dist/index.cjs"
    },
    "./conversation": {
      "types": "./dist/components/conversation/index.d.ts",
      "import": "./dist/conversation.js",
      "require": "./dist/index.cjs"
    },
    "./reasoning": {
      "types": "./dist/components/reasoning/index.d.ts",
      "import": "./dist/reasoning.js",
      "require": "./dist/index.cjs"
    },
    "./attachments": {
      "types": "./dist/components/attachments/index.d.ts",
      "import": "./dist/attachments.js",
      "require": "./dist/index.cjs"
    },
    "./voice-button": {
      "types": "./dist/components/voice-button/index.d.ts",
      "import": "./dist/voice-button.js",
      "require": "./dist/index.cjs"
    },
    "./tool-card": {
      "types": "./dist/components/tool-card/index.d.ts",
      "import": "./dist/tool-card.js",
      "require": "./dist/index.cjs"
    },
    "./token-meter": {
      "types": "./dist/components/token-meter/index.d.ts",
      "import": "./dist/token-meter.js",
      "require": "./dist/index.cjs"
    },
    "./state-dot": {
      "types": "./dist/components/state-dot/index.d.ts",
      "import": "./dist/state-dot.js",
      "require": "./dist/index.cjs"
    },
    "./disclosure-row": {
      "types": "./dist/components/disclosure-row/index.d.ts",
      "import": "./dist/disclosure-row.js",
      "require": "./dist/index.cjs"
    },
    "./scratch": {
      "types": "./dist/components/scratch/index.d.ts",
      "import": "./dist/scratch.js",
      "require": "./dist/index.cjs"
    },
    "./section": {
      "types": "./dist/components/section/index.d.ts",
      "import": "./dist/section.js",
      "require": "./dist/index.cjs"
    },
    "./router": {
      "types": "./dist/components/router/index.d.ts",
      "import": "./dist/router.js",
      "require": "./dist/index.cjs"
    },
    "./route": {
      "types": "./dist/components/route/index.d.ts",
      "import": "./dist/route.js",
      "require": "./dist/index.cjs"
    },
    "./link": {
      "types": "./dist/components/link/index.d.ts",
      "import": "./dist/link.js",
      "require": "./dist/index.cjs"
    },
    "./theme-switch": {
      "types": "./dist/components/theme-switch/index.d.ts",
      "import": "./dist/theme-switch.js",
      "require": "./dist/index.cjs"
    },
    "./type": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js",
      "require": "./dist/index.js"
    },
    "./typings": {
      "types": "./dist/typings.d.ts",
      "import": "./dist/typings.d.ts",
      "require": "./dist/index.js"
    },
    "./dist/*": {
      "types": "./dist/*",
      "import": "./dist/*",
      "require": "./dist/*"
    }
  },
  "devDependencies": {
    "@playwright/test": "1.62.1",
    "@types/node": "26.1.2",
    "@vitest/coverage-v8": "4.1.10",
    "jsdom": "30.0.1",
    "less": "4.8.1",
    "rollup-plugin-visualizer": "7.0.1",
    "terser": "5.49.2",
    "tsx": "4.23.10",
    "typescript": "7.0.2",
    "vite": "8.2.1",
    "vitest": "4.1.10"
  },
  "dependencies": {
    "dashjs": "5.2.0",
    "dompurify": "3.4.13",
    "hls.js": "1.6.17",
    "marked": "18.0.9",
    "mermaid": "11.16.1",
    "mpegts.js": "1.8.1",
    "remend": "1.3.0",
    "shiki": "4.4.3",
    "temml": "0.13.4",
    "ranuts": "0.4.1-alpha.2"
  },
  "scripts": {
    "dev": "vite --host",
    "build": "sh ./bin/build.sh",
    "build:release": "sh -c \"RANUI_MINIFY=terser RANUI_CSS_MINIFY=esbuild sh ./bin/build.sh\"",
    "build:analyze": "sh -c \"RANUI_ANALYZE=true RANUI_MINIFY=esbuild RANUI_CSS_MINIFY=esbuild sh ./bin/build.sh\"",
    "build:es": "vite build -c ./build/config.es.ts",
    "build:bundle": "vite build -c ./build/config.bundle.ts",
    "build:iife": "tsx ./bin/build-iife.ts",
    "prepublish": "npm run build",
    "test": "sh ./bin/test.sh",
    "test:unit": "vitest run",
    "test:unit:watch": "vitest",
    "test:unit:coverage": "vitest run --coverage",
    "test:ssr": "vitest run --config vitest.config.ssr.ts",
    "test:ssr:watch": "vitest --config vitest.config.ssr.ts",
    "test:all": "pnpm -F ranuts build && npm run tsc && npm run test:unit && npm run test:ssr",
    "e2e:install": "playwright install chromium",
    "test:e2e": "npm run e2e:install && playwright test",
    "test:report": "playwright show-report",
    "test:ui": "npm run e2e:install && playwright test --ui",
    "test:update": "npm run e2e:install && playwright test --update-snapshots",
    "tsc": "tsc --noEmit",
    "doc:style": "tsx ./bin/generate-style-docs.ts",
    "doc:style:check": "tsx ./bin/generate-style-docs.ts --check",
    "doc:api": "tsx ./bin/generate-component-api.ts",
    "doc:api:check": "tsx ./bin/generate-component-api.ts --check",
    "verify:design": "tsx ./bin/verify-design-rules.ts"
  }
}