ranui
Version:
A framework-agnostic Web Components UI library built on native custom elements, with TypeScript types, light/dark theming, SSR and PWA support.
483 lines • 13.7 kB
JSON
{
"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"
}
}