MCPcopy Index your code
hub / github.com/Mevrael/bunny

github.com/Mevrael/bunny @v0.10.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.10.0 ↗ · + Follow
308 symbols 329 edges 55 files 56 documented · 18%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

BunnyJS v 0.9.68

ES6 browser framework

"It's like a next-generation jQuery with jQuery UI"

NPM downloads/month NPM version

For help & ideas - DM me on Twitter

Lightweight native JavaScript and ECMAScript 6 library and next generation front-end framework. BunnyJS is package of small stand-alone components without dependencies:

  1. Powerful native lightweight JavaScript Form processing with native API, AJAX submit, file upload, image preview, data binding and more.
  2. Powerful native lightweight JavaScript HTML5 validation
  3. DOM utils, ready()
  4. Libraries for Date, URL, File, Image
  5. Ajax
  6. Routing
  7. Template engine
  8. DataTable and Pagination
  9. Calendar and DatePicker
  10. Autocomplete, Dropdown
  11. Element, positions, coordinates, smooth scrolling
  12. Dependency Injection, Inversion of control

Architecture:

  1. Separation of concerns, loose coupling, modularity
  2. Functional programming
  3. ES6 import/exports, Promises
  4. Native Browser API, polyfills were needed
  5. Object literal notation, no prototypes, "classes" , "new"
  6. Object composition over inheritance
  7. Dependency injection

Browser Support: IE9+, last 2 versions of Chrome, Firefox, Safari, Android 4.4+, iOS 9+

Designed in mind for best compatibility with Laravel 5 and Bootstrap 4, however can be used anywhere.

Rollup.js with babel and npm plugins is recommended for transpiling and bundling.

Install via npm install bunnyjs --save

Example usage:

import { Route } from 'bunnyjs/src/bunny.route';

Route.get('/', function() {
    console.log('You are on main page!');
});

// or create your own functions/closures/controllers, import them and pass to route
import { UsersController } from './Controllers/UsersController';
Route.get('/users', UsersController.index);
Route.get('/users/{id}', UsersController.showUser);

For documentation go to Wiki.

Currently only Template documentation available.

There is also example for IOC Container.

Autocomplete example

Valdiator is only 150 lines and adds JS validation above native HTML5 valdiation attributes. For example,

<input type="file" accept="image/*" ... required>

will be required and only images will be accepted. Error message is displayed after input.

DatePicker by default used as a fallback for browsers not supporting <input type="date"> and initiated using DatePicker.create(input_id) .

DatePicker as any BunnyJS component is easily extendable. Basicly DatePicker is a calendar builder/framework. You can build your own calendar and datepicker very fast.

Default theme of DatePicker:

bunnyjs-calendar-default

© Mev-Rael

GPL 3.0

Core symbols most depended-on inside this repo

_bn_getFile
called by 9
src/Validation.js
once
called by 2
src/Dropdown.js
simulateKeydown
called by 2
src/utils/UI/simulateKeydown.js
simulateEvent
called by 2
src/utils/UI/simulateEvent.js
file_exists
called by 1
build.js
build_example
called by 1
build.js
loop
called by 1
src/bunny.element.js
end
called by 1
src/bunny.element.js

Shape

Function 308

Languages

TypeScript100%

Modules by API surface

src/Pagination.js43 symbols
src/form/form.js37 symbols
src/Validation.js37 symbols
src/Dropdown.js28 symbols
src/DataTable.js18 symbols
src/bunny.dropdown.js16 symbols
src/file/image.js14 symbols
src/bunny.validate.js11 symbols
src/bunny.datepicker.js11 symbols
src/bunny.autocomplete.js9 symbols
src/BunnyElement.js9 symbols
src/autocomplete/controller.js8 symbols

For agents

$ claude mcp add bunny \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact