A lightweight TypeScript frontend framework with predefined UI components. Built with esbuild, styled with custom SCSS, and fully documented with JSDoc.
- Application Shell — routing, dependency injection, state management
- 24 UI Components — Calendar, Form, Table, GoogleMap, Carousel, Popup, Navigation, and more
- 20+ Form Fields — text, select, datetime, color, file, checkbox, radio, range, autocomplete
- HTTP Client — fetch-based with typed responses
- Utility Modules — EventBus, Cookie, Depot (storage), Dialog, Flash, Template
- TypeScript — strict mode, full type declarations
- Accessibility — jest-axe tested, ARIA support
npm install @siposdani87/sui-jsimport { Application, Route } from '@siposdani87/sui-js';
const config = {
app_id: 'APP_ID',
locale: 'en-GB',
backend: 'http://localhost:3000',
production: false,
};
const routes: Route[] = [];
const services: string[] = [];
const app = new Application(config);
app.run(routes, services);<link rel="stylesheet" href="node_modules/@siposdani87/sui-js/dist/sui.min.css" />
<script src="node_modules/@siposdani87/sui-js/dist/sui.min.js"></script>
<script>
const app = new SUI.Application(config);
app.run(routes, services);
</script>Full documentation, guides, and API reference available at sui-js.siposdani87.com.
npm run dev # Dev server on :4000 with watch mode
npm run build # Full build (lint + test + bundle)
npm run test # Run tests
npm run lint # TypeScript + ESLint + StylelintIf you encounter any problems feel free to open an issue. If you feel the library is missing a feature, please raise a ticket. Pull requests are also welcome.
This project is generously supported by TrophyMap, I18Nature, and several other amazing organizations.
