{"_id":"@acailic/vizualni-admin","name":"@acailic/vizualni-admin","dist-tags":{"beta":"0.1.0-beta.1","latest":"0.1.0-beta.1"},"versions":{"0.1.0-beta.1":{"name":"@acailic/vizualni-admin","version":"0.1.0-beta.1","description":"Serbian Open Data Visualization Tool - A powerful library for creating interactive data visualizations","keywords":["visualization","data-visualization","charts","open-data","serbian","i18n","typescript","react","nextjs"],"homepage":"https://github.com/acailic/vizualni-admin#readme","bugs":{"url":"https://github.com/acailic/vizualni-admin/issues"},"repository":{"type":"git","url":"git+https://github.com/acailic/vizualni-admin.git","directory":"app"},"license":"BSD-3-Clause","author":{"name":"acailic","email":"acailic@example.com"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./package.json":"./package.json"},"sideEffects":false,"scripts":{"build":"tsup","build:preconstruct":"preconstruct build"},"dependencies":{"@apollo/client":"^3.3.20","@apollo/server-plugin-landing-page-graphql-playground":"^4.0.1","@babel/standalone":"^7.11.6","@braintree/sanitize-url":"^7.1.1","@deck.gl/core":"^9.1.2","@deck.gl/extensions":"^9.1.2","@deck.gl/geo-layers":"^9.1.2","@deck.gl/layers":"^9.1.2","@deck.gl/mapbox":"^9.1.2","@deck.gl/mesh-layers":"^9.1.2","@dnd-kit/core":"^6.3.1","@dnd-kit/utilities":"3.2.2","@emotion/react":"^11.8.2","@emotion/styled":"^11.8.1","@graphql-tools/schema":"^7.1.5","@juggle/resize-observer":"^3.4.0","@lexical/link":"0.17.1","@lexical/rich-text":"0.17.1","@lexical/selection":"0.17.1","@lexical/utils":"0.17.1","@lingui/core":"^4.0.0","@lingui/react":"^4.0.0","@mapbox/mapbox-gl-supported":"^2.0.1","@mdx-js/react":"^1.6.22","@mdxeditor/editor":"^3.20.0","@mdxeditor/gurx":"^1.1.4","@mui/icons-material":"^5.18.0","@mui/lab":"^5.0.0-alpha.74","@mui/material":"^5.17.1","@mui/styles":"5.17.1","@mui/utils":"^5.17.1","@next/bundle-analyzer":"^11.0.1","@next/mdx":"^11.0.1","@preconstruct/next":"^3.0.1","@prisma/client":"^4.10.1","@rdfjs/data-model":"^2.0.2","@rdfjs/namespace":"^2.0.1","@reach/auto-id":"^0.15.3","@sentry/nextjs":"^7.112.2","@testing-library/react":"^16.1.0","@testing-library/react-hooks":"^8.0.1","@tpluscode/rdf-ns-builders":"2.0.1","@tpluscode/sparql-builder":"^0.3.31","@types/react-grid-layout":"^1.3.5","@uiw/react-color":"^2.3.2","@urql/devtools":"^2.0.3","@visx/group":"^2.10.0","@visx/text":"^2.12.2","@zazuko/cube-hierarchy-query":"^3.0.0","apollo-server-micro":"^3.0.0","apollo-server-plugin-base":"3.7.2","autosuggest-highlight":"^3.3.4","catalog":"^4.0.1-canary.2","clipboard-polyfill":"^3.0.1","clownface":"^1.5.1","clsx":"^2.1.1","core-js":"^3.15.1","cors":"^2.8.5","d3-array":"^3.2.4","d3-axis":"^3.0.0","d3-brush":"^3.0.0","d3-color":"^3.1.0","d3-delaunay":"^6.0.4","d3-dsv":"^3.0.1","d3-format":"^3.1.0","d3-geo":"^3.1.1","d3-interpolate":"^3.0.1","d3-interpolate-path":"^2.3.0","d3-scale":"^4.0.2","d3-scale-chromatic":"^3.1.0","d3-selection":"^3.0.0","d3-shape":"^3.2.0","d3-time":"^3.1.0","d3-time-format":"^4.1.0","d3-transition":"^3.0.1","dataloader":"^2.0.0","date-fns":"^2.28.0","dotenv":"^16.0.3","dotenv-cli":"^6.0.0","exceljs":"^4.4.0","fast-xml-parser":"^4.5.2","file-saver":"^2.0.5","flexsearch":"^0.6.32","fp-ts":"^2.8.2","framer-motion":"^7.10.3","geojson":"^0.5.0","github-slugger":"^1.4.0","global-agent":"^2.1.12","graphql":"^15.5.1","graphql-constraint-directive":"v2","graphql-depth-limit":"^1.1.0","graphql-tag":"^2.12.6","graphql-tools":"^7.0.5","html-to-image":"^1.11.11","iframe-resizer":"^4.2.11","immer":"^9.0.6","io-ts":"^2.2.21","isomorphic-unfetch":"^3.0.0","lexical":"0.17.1","lodash":"^4.17.21","make-plural":"6.2.2","maplibre-gl":"^3.6.2","meta-png":"^1.0.6","micro":"^9.3.4","microee":"^0.0.6","mitt":"^3.0.1","nanoid":"^5.0.9","next-auth":"4.24.11","nextkit":"^3.4.3","prism-react-renderer":"^2.3.1","node-fetch":"^3.3.2","notistack":"^3.0.1","nprogress":"^0.2.0","pixelmatch":"^5.3.0","pngjs":"^7.0.0","prisma":"^4.10.1","qs":"^6.13.1","rdf-cube-view-query":"^2.1.1","rdf-ext":"^1.3.2","rdf-js":"^4.0.2","@hello-pangea/dnd":"^16.5.0","react-error-boundary":"^3.1.3","react-grid-layout":"^1.5.0","react-hook-form":"^7.54.2","react-inspector":"^6.0.2","react-map-gl":"^7.0.10","react-markdown":"^9.0.1","react-string-replace":"^1.1.1","react-table":"^7.8.0","react-virtualized-auto-sizer":"^1.0.25","react-window":"^1.8.10","rehype-raw":"^7.0.0","rehype-sanitize":"^6.0.0","remark-gfm":"^4.0.0","simple-statistics":"^7.6.0","sparql-http-client":"^2.4.1","storybook":"^8.1.0","strict-event-emitter-types":"^2.0.0","string-similarity-js":"^2.1.4","superjson":"^1.11.0","topojson-client":"^3.1.0","topojson-server":"^3.0.1","ts-pattern":"4.3.0","tss-react":"^4.9.15","typescript-lru-cache":"^2.0.0","urql":"^2.0.5","use-debounce":"^7.0.0","use-immer":"^0.5.1","use-sync-external-store":"^1.4.0","wellknown":"^0.5.0","wonka":"4.0.15","zustand":"^4.1.1"},"peerDependencies":{"@babel/runtime":"^7.8.4","next":"^13.0.0","react":"^18.2.0","react-dom":"^18.2.0"},"preconstruct":{"entrypoints":["./index.ts"],"___experimentalFlags_WILL_CHANGE_IN_PATCH":{"importsConditions":true}},"devDependencies":{"@graphql-codegen/cli":"^1.19.4","@graphql-codegen/typescript":"^1.22.3","@graphql-codegen/typescript-operations":"^1.18.2","@graphql-codegen/typescript-resolvers":"^1.19.4","@graphql-codegen/typescript-urql":"^2.0.9","@graphql-tools/schema":"^10.0.16","@lingui/cli":"^4.0.0","@lingui/macro":"^4.0.0","@mdx-js/loader":"^1.6.22","@playwright-testing-library/test":"^4.5.0","@playwright/test":"^1.49.1","@svgr/cli":"^5.5.0","@types/autosuggest-highlight":"^3.2.0","@types/clownface":"^2.0.7","@types/cors":"^2.8.8","@types/d3-array":"^3.2.1","@types/d3-axis":"^3.0.6","@types/d3-brush":"^3.0.6","@types/d3-color":"^3.1.3","@types/d3-delaunay":"^6.0.4","@types/d3-dsv":"^3.0.7","@types/d3-format":"^3.0.4","@types/d3-geo":"^3.1.0","@types/d3-interpolate":"^3.0.4","@types/d3-interpolate-path":"^2.0.0","@types/d3-scale":"^4.0.8","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/d3-time":"^3.0.4","@types/d3-time-format":"^4.0.3","@types/d3-transition":"^3.0.9","@types/dotenv":"^8.2.0","@types/exceljs":"^1.3.2","@types/file-saver":"^2.0.1","@types/github-slugger":"^1.3.0","@types/graphql-depth-limit":"^1.1.6","@types/k6":"^0.45.0","@types/lodash":"^4.14.165","@types/node":"^22.15.21","@types/nprogress":"^0.2.0","@types/pixelmatch":"^5.2.6","@types/pngjs":"^6.0.5","@types/qs":"^6.9.8","@types/rdf-ext":"^1.3.8","@types/rdfjs__data-model":"2.0.7","@types/rdfjs__namespace":"^2.0.10","@types/react":"^18.3.27","@types/react-dom":"^18.3.7","@types/react-table":"^7.7.20","@types/react-window":"^1.8.2","@types/sparql-http-client":"^2.2.5","@types/topojson-client":"^3.1.0","@types/topojson-server":"^3.0.1","@types/use-sync-external-store":"^0.0.6","@types/wellknown":"^0.5.1","@vitejs/plugin-react":"^4.5.0","babel-core":"^7.0.0-bridge.0","babel-plugin-module-resolver":"^4.1.0","eslint-plugin-unused-imports":"^4.1.4","io-ts-to-json-schema":"^0.2.0","jsdom":"^26.1.0","playwright-testing-library":"^4.5.0","prettier":"^3.2.5","vitest":"^3.1.4"},"_id":"@acailic/vizualni-admin@0.1.0-beta.1","gitHead":"3163842e40facbdac68e9ab199594ac912d30248","_nodeVersion":"20.19.3","_npmVersion":"10.8.2","dist":{"integrity":"sha512-l1iiD6zc3TDaa3k8IkJaV/i5irG4FX8qFjuueQqSqa3YXh1iRLiVqLLSMgraggGopqXu1I7aSn7iLKYOPT9PUg==","shasum":"fefe256de7df849eec8ac60d4df669b686e4b65f","tarball":"https://registry.npmjs.org/@acailic/vizualni-admin/-/vizualni-admin-0.1.0-beta.1.tgz","fileCount":22,"unpackedSize":1295601,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDzlR1MmYripjV8aM5dE8Tf3WVDDYOIHHMvbx1xWu+mPAIhAJj5pAa0ar5xzGggFVtcwk21HP/uz8pS2Q3+M7ZAsTuT"}]},"_npmUser":{"name":"acailic","email":"alexilic92@gmail.com"},"directories":{},"maintainers":[{"name":"acailic","email":"alexilic92@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vizualni-admin_0.1.0-beta.1_1764347420891_0.29445461879627643"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-28T16:30:20.814Z","0.1.0-beta.1":"2025-11-28T16:30:21.096Z","modified":"2025-11-28T16:30:21.431Z"},"maintainers":[{"name":"acailic","email":"alexilic92@gmail.com"}],"description":"Serbian Open Data Visualization Tool - A powerful library for creating interactive data visualizations","homepage":"https://github.com/acailic/vizualni-admin#readme","keywords":["visualization","data-visualization","charts","open-data","serbian","i18n","typescript","react","nextjs"],"repository":{"type":"git","url":"git+https://github.com/acailic/vizualni-admin.git","directory":"app"},"author":{"name":"acailic","email":"acailic@example.com"},"bugs":{"url":"https://github.com/acailic/vizualni-admin/issues"},"license":"BSD-3-Clause","readme":"# @acailic/vizualni-admin\n\n> Serbian Open Data Visualization Tool - Beta Release\n\n[![npm version](https://img.shields.io/npm/v/@acailic/vizualni-admin.svg)](https://www.npmjs.com/package/@acailic/vizualni-admin)\n[![License](https://img.shields.io/badge/license-BSD--3--Clause-blue.svg)](https://github.com/acailic/vizualni-admin/blob/main/LICENSE)\n\n## About\n\nThis is a **beta release** of the `@acailic/vizualni-admin` package, based on the [visualize-admin/visualization-tool](https://github.com/visualize-admin/visualization-tool). The package provides utilities and types for working with Serbian open data visualizations, with support for both Cyrillic and Latin scripts.\n\n## Installation\n\n```bash\nnpm install @acailic/vizualni-admin\n```\n\nOr using yarn:\n\n```bash\nyarn add @acailic/vizualni-admin\n```\n\n## What's Included\n\nThis beta release provides the following standalone utilities:\n\n### Locale Utilities\n- `defaultLocale` - Default application locale\n- `locales` - Array of supported locales\n- `parseLocaleString()` - Parse locale strings\n\n### TypeScript Types\n- Complete configuration types for chart configs\n- Type-safe interfaces for data visualization\n\n### I18n Support\n- Re-exported `I18nProvider` from `@lingui/react`\n\n## Usage\n\n### Basic Example\n\n```typescript\nimport { defaultLocale, locales, parseLocaleString } from '@acailic/vizualni-admin';\n\n// Get default locale\nconsole.log(defaultLocale); // 'sr-Latn'\n\n// Get all supported locales\nconsole.log(locales); // ['sr-Latn', 'sr-Cyrl', 'en']\n\n// Parse a locale string\nconst userLocale = parseLocaleString('sr-Cyrl');\nconsole.log(userLocale); // 'sr-Cyrl'\n\n// Parse with fallback to default\nconst unknownLocale = parseLocaleString('de');\nconsole.log(unknownLocale); // 'sr-Latn' (falls back to default)\n```\n\n### TypeScript Support\n\nThe package includes full TypeScript declarations:\n\n```typescript\nimport type { Locale } from '@acailic/vizualni-admin';\n\n// Locale is a union type: \"sr-Latn\" | \"sr-Cyrl\" | \"en\"\nconst myLocale: Locale = 'sr-Latn';\n```\n\n### With React\n\n```typescript\nimport { I18nProvider } from '@acailic/vizualni-admin';\nimport { i18n } from '@lingui/core';\n\nfunction App() {\n  return (\n    <I18nProvider i18n={i18n}>\n      {/* Your app content */}\n    </I18nProvider>\n  );\n}\n```\n\n## What's NOT Included (Yet)\n\nThis is a **minimal beta release** focusing on core utilities. The following features are planned for future releases:\n\n- Configurator components\n- Chart components\n- Full Next.js application components\n- CLI tools\n- Additional utilities\n\nThese components will be refactored for standalone usage in upcoming releases.\n\n## Supported Locales\n\nThe package supports three locales:\n\n- **sr-Latn** (Serbian Latin) - Default\n- **sr-Cyrl** (Serbian Cyrillic)\n- **en** (English)\n\n## Requirements\n\n### Peer Dependencies\n\n```json\n{\n  \"@babel/runtime\": \"^7.8.4\",\n  \"next\": \"^13.0.0\",\n  \"react\": \"^18.2.0\",\n  \"react-dom\": \"^18.2.0\"\n}\n```\n\n### External Dependencies\n\nThe following are marked as external and should be installed separately if needed:\n\n- `@lingui/react`\n- `@lingui/core`\n- `d3-format`\n- `d3-time-format`\n- `make-plural`\n- `fp-ts`\n- `io-ts`\n\n## Module Formats\n\nThe package is published in multiple formats for maximum compatibility:\n\n- **CommonJS** (`dist/index.js`) - For Node.js\n- **ES Modules** (`dist/index.mjs`) - For modern bundlers\n- **TypeScript** (`dist/index.d.ts`) - Type declarations\n\n## Contributing\n\nContributions are welcome! Please see the main repository for contribution guidelines.\n\n## Related Projects\n\n- [visualize-admin/visualization-tool](https://github.com/visualize-admin/visualization-tool) - Original upstream project\n- [data.gov.rs](https://data.gov.rs) - Serbian Open Data Portal\n\n## License\n\nBSD-3-Clause - See [LICENSE](https://github.com/acailic/vizualni-admin/blob/main/LICENSE) for details.\n\n## Repository\n\nhttps://github.com/acailic/vizualni-admin\n\n## Issues\n\nReport bugs and request features at: https://github.com/acailic/vizualni-admin/issues\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/acailic/vizualni-admin/blob/main/CHANGELOG.md) for release history.\n","readmeFilename":"README.md","_rev":"1-b5bde7911f6f2cb12a623b659995b5a9"}