@neo4j-ndl/react
Version:
React implementation of Neo4j Design System
455 lines • 16.7 kB
JSON
{
"name": "@neo4j-ndl/react",
"version": "4.16.9",
"sideEffects": false,
"description": "React implementation of Neo4j Design System",
"keywords": [
"neo4j",
"react",
"design system",
"needle",
"ndl"
],
"author": "Neo4j Inc.",
"homepage": "https://www.neo4j.design",
"license": "GPL-3.0",
"main": "./lib/cjs/index.js",
"module": "./lib/esm/index.js",
"types": "./lib/types/index.d.ts",
"exports": {
".": {
"types": "./lib/types/index.d.ts",
"require": "./lib/cjs/index.js",
"import": "./lib/esm/index.js"
},
"./accordion": {
"types": "./lib/types/accordion/index.d.ts",
"require": "./lib/cjs/accordion/index.js",
"import": "./lib/esm/accordion/index.js"
},
"./ai": {
"types": "./lib/types/ai/index.d.ts",
"require": "./lib/cjs/ai/index.js",
"import": "./lib/esm/ai/index.js"
},
"./avatar": {
"types": "./lib/types/avatar/index.d.ts",
"require": "./lib/cjs/avatar/index.js",
"import": "./lib/esm/avatar/index.js"
},
"./banner": {
"types": "./lib/types/banner/index.d.ts",
"require": "./lib/cjs/banner/index.js",
"import": "./lib/esm/banner/index.js"
},
"./box": {
"types": "./lib/types/box/index.d.ts",
"require": "./lib/cjs/box/index.js",
"import": "./lib/esm/box/index.js"
},
"./breadcrumbs": {
"types": "./lib/types/breadcrumbs/index.d.ts",
"require": "./lib/cjs/breadcrumbs/index.js",
"import": "./lib/esm/breadcrumbs/index.js"
},
"./checkbox": {
"types": "./lib/types/checkbox/index.d.ts",
"require": "./lib/cjs/checkbox/index.js",
"import": "./lib/esm/checkbox/index.js"
},
"./clean-icon-button": {
"types": "./lib/types/clean-icon-button/index.d.ts",
"require": "./lib/cjs/clean-icon-button/index.js",
"import": "./lib/esm/clean-icon-button/index.js"
},
"./clipboard-button": {
"types": "./lib/types/clipboard-button/index.d.ts",
"require": "./lib/cjs/clipboard-button/index.js",
"import": "./lib/esm/clipboard-button/index.js"
},
"./code": {
"types": "./lib/types/code/index.d.ts",
"require": "./lib/cjs/code/index.js",
"import": "./lib/esm/code/index.js"
},
"./code-block": {
"types": "./lib/types/code-block/index.d.ts",
"require": "./lib/cjs/code-block/index.js",
"import": "./lib/esm/code-block/index.js"
},
"./color-picker": {
"types": "./lib/types/color-picker/index.d.ts",
"require": "./lib/cjs/color-picker/index.js",
"import": "./lib/esm/color-picker/index.js"
},
"./conditional-wrap": {
"types": "./lib/types/conditional-wrap/index.d.ts",
"require": "./lib/cjs/conditional-wrap/index.js",
"import": "./lib/esm/conditional-wrap/index.js"
},
"./data-grid": {
"types": "./lib/types/data-grid/index.d.ts",
"require": "./lib/cjs/data-grid/index.js",
"import": "./lib/esm/data-grid/index.js"
},
"./date-picker": {
"types": "./lib/types/date-picker/index.d.ts",
"require": "./lib/cjs/date-picker/index.js",
"import": "./lib/esm/date-picker/index.js"
},
"./dialog": {
"types": "./lib/types/dialog/index.d.ts",
"require": "./lib/cjs/dialog/index.js",
"import": "./lib/esm/dialog/index.js"
},
"./dismissible-tag": {
"types": "./lib/types/dismissible-tag/index.d.ts",
"require": "./lib/cjs/dismissible-tag/index.js",
"import": "./lib/esm/dismissible-tag/index.js"
},
"./divider": {
"types": "./lib/types/divider/index.d.ts",
"require": "./lib/cjs/divider/index.js",
"import": "./lib/esm/divider/index.js"
},
"./drawer": {
"types": "./lib/types/drawer/index.d.ts",
"require": "./lib/cjs/drawer/index.js",
"import": "./lib/esm/drawer/index.js"
},
"./dropdown-button": {
"types": "./lib/types/dropdown-button/index.d.ts",
"require": "./lib/cjs/dropdown-button/index.js",
"import": "./lib/esm/dropdown-button/index.js"
},
"./dropzone": {
"types": "./lib/types/dropzone/index.d.ts",
"require": "./lib/cjs/dropzone/index.js",
"import": "./lib/esm/dropzone/index.js"
},
"./filled-button": {
"types": "./lib/types/filled-button/index.d.ts",
"require": "./lib/cjs/filled-button/index.js",
"import": "./lib/esm/filled-button/index.js"
},
"./flex": {
"types": "./lib/types/flex/index.d.ts",
"require": "./lib/cjs/flex/index.js",
"import": "./lib/esm/flex/index.js"
},
"./graph-label": {
"types": "./lib/types/graph-label/index.d.ts",
"require": "./lib/cjs/graph-label/index.js",
"import": "./lib/esm/graph-label/index.js"
},
"./hooks": {
"types": "./lib/types/hooks/index.d.ts",
"require": "./lib/cjs/hooks/index.js",
"import": "./lib/esm/hooks/index.js"
},
"./icon-button": {
"types": "./lib/types/icon-button/index.d.ts",
"require": "./lib/cjs/icon-button/index.js",
"import": "./lib/esm/icon-button/index.js"
},
"./icon-button-array": {
"types": "./lib/types/icon-button-array/index.d.ts",
"require": "./lib/cjs/icon-button-array/index.js",
"import": "./lib/esm/icon-button-array/index.js"
},
"./icons": {
"types": "./lib/types/icons/index.d.ts",
"require": "./lib/cjs/icons/index.js",
"import": "./lib/esm/icons/index.js"
},
"./inline-edit": {
"types": "./lib/types/inline-edit/index.d.ts",
"require": "./lib/cjs/inline-edit/index.js",
"import": "./lib/esm/inline-edit/index.js"
},
"./kbd": {
"types": "./lib/types/kbd/index.d.ts",
"require": "./lib/cjs/kbd/index.js",
"import": "./lib/esm/kbd/index.js"
},
"./loading-bar": {
"types": "./lib/types/loading-bar/index.d.ts",
"require": "./lib/cjs/loading-bar/index.js",
"import": "./lib/esm/loading-bar/index.js"
},
"./loading-spinner": {
"types": "./lib/types/loading-spinner/index.d.ts",
"require": "./lib/cjs/loading-spinner/index.js",
"import": "./lib/esm/loading-spinner/index.js"
},
"./logo": {
"types": "./lib/types/logo/index.d.ts",
"require": "./lib/cjs/logo/index.js",
"import": "./lib/esm/logo/index.js"
},
"./menu": {
"types": "./lib/types/menu/index.d.ts",
"require": "./lib/cjs/menu/index.js",
"import": "./lib/esm/menu/index.js"
},
"./next": {
"types": "./lib/types/next/index.d.ts",
"require": "./lib/cjs/next/index.js",
"import": "./lib/esm/next/index.js"
},
"./outlined-button": {
"types": "./lib/types/outlined-button/index.d.ts",
"require": "./lib/cjs/outlined-button/index.js",
"import": "./lib/esm/outlined-button/index.js"
},
"./popover": {
"types": "./lib/types/popover/index.d.ts",
"require": "./lib/cjs/popover/index.js",
"import": "./lib/esm/popover/index.js"
},
"./progress-bar": {
"types": "./lib/types/progress-bar/index.d.ts",
"require": "./lib/cjs/progress-bar/index.js",
"import": "./lib/esm/progress-bar/index.js"
},
"./radio": {
"types": "./lib/types/radio/index.d.ts",
"require": "./lib/cjs/radio/index.js",
"import": "./lib/esm/radio/index.js"
},
"./read-only-tag": {
"types": "./lib/types/read-only-tag/index.d.ts",
"require": "./lib/cjs/read-only-tag/index.js",
"import": "./lib/esm/read-only-tag/index.js"
},
"./segmented-control": {
"types": "./lib/types/segmented-control/index.d.ts",
"require": "./lib/cjs/segmented-control/index.js",
"import": "./lib/esm/segmented-control/index.js"
},
"./select": {
"types": "./lib/types/select/index.d.ts",
"require": "./lib/cjs/select/index.js",
"import": "./lib/esm/select/index.js"
},
"./select-icon-button": {
"types": "./lib/types/select-icon-button/index.d.ts",
"require": "./lib/cjs/select-icon-button/index.js",
"import": "./lib/esm/select-icon-button/index.js"
},
"./selectable-tag": {
"types": "./lib/types/selectable-tag/index.d.ts",
"require": "./lib/cjs/selectable-tag/index.js",
"import": "./lib/esm/selectable-tag/index.js"
},
"./side-navigation": {
"types": "./lib/types/side-navigation/index.d.ts",
"require": "./lib/cjs/side-navigation/index.js",
"import": "./lib/esm/side-navigation/index.js"
},
"./skeleton": {
"types": "./lib/types/skeleton/index.d.ts",
"require": "./lib/cjs/skeleton/index.js",
"import": "./lib/esm/skeleton/index.js"
},
"./slider": {
"types": "./lib/types/slider/index.d.ts",
"require": "./lib/cjs/slider/index.js",
"import": "./lib/esm/slider/index.js"
},
"./spotlight": {
"types": "./lib/types/spotlight/index.d.ts",
"require": "./lib/cjs/spotlight/index.js",
"import": "./lib/esm/spotlight/index.js"
},
"./status-indicator": {
"types": "./lib/types/status-indicator/index.d.ts",
"require": "./lib/cjs/status-indicator/index.js",
"import": "./lib/esm/status-indicator/index.js"
},
"./status-label": {
"types": "./lib/types/status-label/index.d.ts",
"require": "./lib/cjs/status-label/index.js",
"import": "./lib/esm/status-label/index.js"
},
"./switch": {
"types": "./lib/types/switch/index.d.ts",
"require": "./lib/cjs/switch/index.js",
"import": "./lib/esm/switch/index.js"
},
"./tabs": {
"types": "./lib/types/tabs/index.d.ts",
"require": "./lib/cjs/tabs/index.js",
"import": "./lib/esm/tabs/index.js"
},
"./tag": {
"types": "./lib/types/tag/index.d.ts",
"require": "./lib/cjs/tag/index.js",
"import": "./lib/esm/tag/index.js"
},
"./text-area": {
"types": "./lib/types/text-area/index.d.ts",
"require": "./lib/cjs/text-area/index.js",
"import": "./lib/esm/text-area/index.js"
},
"./text-button": {
"types": "./lib/types/text-button/index.d.ts",
"require": "./lib/cjs/text-button/index.js",
"import": "./lib/esm/text-button/index.js"
},
"./text-input": {
"types": "./lib/types/text-input/index.d.ts",
"require": "./lib/cjs/text-input/index.js",
"import": "./lib/esm/text-input/index.js"
},
"./text-link": {
"types": "./lib/types/text-link/index.d.ts",
"require": "./lib/cjs/text-link/index.js",
"import": "./lib/esm/text-link/index.js"
},
"./theme": {
"types": "./lib/types/theme/index.d.ts",
"require": "./lib/cjs/theme/index.js",
"import": "./lib/esm/theme/index.js"
},
"./time-picker": {
"types": "./lib/types/time-picker/index.d.ts",
"require": "./lib/cjs/time-picker/index.js",
"import": "./lib/esm/time-picker/index.js"
},
"./timezone-picker": {
"types": "./lib/types/timezone-picker/index.d.ts",
"require": "./lib/cjs/timezone-picker/index.js",
"import": "./lib/esm/timezone-picker/index.js"
},
"./toast": {
"types": "./lib/types/toast/index.d.ts",
"require": "./lib/cjs/toast/index.js",
"import": "./lib/esm/toast/index.js"
},
"./tooltip": {
"types": "./lib/types/tooltip/index.d.ts",
"require": "./lib/cjs/tooltip/index.js",
"import": "./lib/esm/tooltip/index.js"
},
"./tree-view": {
"types": "./lib/types/tree-view/index.d.ts",
"require": "./lib/cjs/tree-view/index.js",
"import": "./lib/esm/tree-view/index.js"
},
"./typography": {
"types": "./lib/types/typography/index.d.ts",
"require": "./lib/cjs/typography/index.js",
"import": "./lib/esm/typography/index.js"
},
"./wizard": {
"types": "./lib/types/wizard/index.d.ts",
"require": "./lib/cjs/wizard/index.js",
"import": "./lib/esm/wizard/index.js"
}
},
"directories": {
"lib": "lib",
"test": "__tests__"
},
"files": [
"lib",
"icons",
"skills"
],
"publishConfig": {
"access": "public"
},
"devDependencies": {
"@axe-core/playwright": "4.11.3",
"@playwright/experimental-ct-react": "1.60.0",
"@playwright/test": "1.60.0",
"@storybook/addon-docs": "10.2.19",
"@storybook/react-vite": "10.2.19",
"storybook": "10.2.19",
"@svgr/cli": "6.5.1",
"@tanstack/react-virtual": "3.13.23",
"@testing-library/jest-dom": "6.9.1",
"@testing-library/react": "16.3.2",
"@types/react": "19.2.14",
"@types/react-dom": "19.2.3",
"@types/react-syntax-highlighter": "15.5.13",
"@types/react-table": "7.7.20",
"@types/sinon": "17.0.4",
"@types/tinycolor2": "1.4.6",
"@vitejs/plugin-react": "5.1.4",
"a11y-contrast-color": "1.1.0",
"chromatic": "13.3.5",
"happo": "6.2.6",
"jsdom": "26.1.0",
"leva": "0.10.1",
"react": "19.2.5",
"react-dom": "19.2.5",
"resize-observer-polyfill": "1.5.1",
"sinon": "21.0.3",
"tsx": "4.21.0",
"typescript": "5.9.3",
"vitest": "3.2.4",
"yargs": "18.0.0"
},
"peerDependencies": {
"@tanstack/react-table": "8.21.3",
"react": ">=19.0.0",
"react-dom": ">=19.0.0",
"@neo4j-ndl/base": "^4.16.3"
},
"dependencies": {
"@dnd-kit/core": "6.3.1",
"@dnd-kit/sortable": "10.0.0",
"@floating-ui/react": "0.27.19",
"@floating-ui/react-dom": "2.1.8",
"@heroicons/react": "2.2.0",
"@neo4j-devtools/word-color": "0.0.8",
"@uiw/react-color": "2.8.1",
"classnames": "2.5.1",
"date-fns": "4.1.0",
"detect-browser": "5.3.0",
"eyedropper-polyfill": "1.1.5",
"re-resizable": "6.11.2",
"react-aria": "3.43.2",
"react-datepicker": "8.7.0",
"react-dropzone": "14.3.8",
"react-focus-lock": "2.13.7",
"react-select": "5.10.2",
"react-stately": "3.41.0",
"react-syntax-highlighter": "16.1.1",
"sonner": "2.0.7",
"streamdown": "1.6.11",
"temporal-polyfill": "1.0.1",
"tinycolor2": "1.6.0",
"usehooks-ts": "3.1.1",
"zod": "4.3.6"
},
"scripts": {
"generate-component": "node ./scripts/component-generator.js",
"docs:generate": "pnpm --dir ../.. run docs:generate -- --package react",
"docs:generate-skills": "pnpm --dir ../.. run docs:generate-skills -- --package react",
"docs:generate-all": "pnpm run docs:generate && pnpm run docs:generate-skills",
"generate:exports": "node ./scripts/generate-exports.js",
"check:exports": "node ./scripts/generate-exports.js --check",
"pretest": "pnpm run lint && pnpm run check:exports",
"test": "pnpm run test:unit && pnpm run test:playwright",
"test:unit": "pnpm exec vitest --run --typecheck --exclude node_modules",
"test:playwright": "NODE_OPTIONS=--max-old-space-size=8192 pnpm exec playwright test",
"build": "pnpm run generate:style-rules && pnpm run build:esm && pnpm run build:cjs && pnpm run build:types",
"build:esm": "pnpm exec tsc -p tsconfig.esm.json",
"build:cjs": "pnpm exec tsc -p tsconfig.cjs.json",
"watch:esm": "pnpm exec tsc -p tsconfig.esm.json --watch",
"watch:cjs": "pnpm exec tsc -p tsconfig.cjs.json --watch",
"build:types": "pnpm exec tsc -p tsconfig.types.json",
"format": "pnpm exec prettier --write 'src/**/*.{js,jsx,ts,tsx}'",
"lint": "pnpm exec eslint src",
"license:quick-show:local": "../../scripts/cc.sh '{yellow 📄} Licenses for react! {yellow 📄}' && pnpm exec license-checker --production --relativeLicensePath",
"generate:all": "pnpm run generate:custom-icons && pnpm run generate:hero-icons && pnpm run generate:style-rules",
"generate:style-rules": "node ../../scripts/generate-shared-style-rules.mjs",
"generate:custom-icons": "pnpm exec svgr --template svgr-template.js --index-template svgr-index-template.js --no-dimensions --icon --typescript --no-svgo --replace-attr-values '#535B66=currentColor' --replace-attr-values '#4D5157=currentColor' --jsx-runtime 'automatic' --out-dir ./src/icons/generated/custom -- ../base/src/icons",
"generate:hero-icons": "pnpm exec tsx ./scripts/generatedHeroIcons.ts",
"nuke:local": "../../scripts/cc.sh '{yellow ☢️} Nuking react! {yellow ☢️}' && pnpm dlx rimraf@5.0.5 .tsbuildinfo node_modules lib playwright-report test-results playwright/.cache",
"test:all-package-scripts": "pnpm run build && pnpm run generate-component test-component && pnpm run pretest && pnpm run prepare && pnpm run format && pnpm run lint && pnpm run generate:custom-icons && pnpm run nuke:local"
}
}