domma-js 0.9.4-alpha → 0.9.5-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +353 -51
- package/package.json +1 -1
- package/public/dist/bundles/domma-complete.css +9 -9
- package/public/dist/bundles/domma-data-focused.css +9 -9
- package/public/dist/bundles/domma-essentials.css +9 -9
- package/public/dist/bundles/domma-full.css +9 -9
- package/public/dist/bundles/domma-grayve.css +9 -9
- package/public/dist/bundles/domma-minimal.css +5 -5
- package/public/dist/domma-syntax.min.js +2 -2
- package/public/dist/domma.css +2 -2
- package/public/dist/domma.esm.js +3 -3
- package/public/dist/domma.min.js +3 -3
- package/public/dist/elements.css +2 -2
- package/public/dist/grid.css +2 -2
- package/public/dist/syntax.css +2 -2
- package/public/dist/themes/domma-themes.css +2 -2
package/README.md
CHANGED
|
@@ -2,19 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
**D**ynamic **O**bject **M**anipulation & **M**odeling **A**PI
|
|
4
4
|
|
|
5
|
+
🌐 **[Live Demo & Showcase](http://domma.dcbw-it.co.uk/)** | 📦 [npm](https://www.npmjs.com/package/domma-js) | 📚 [Documentation](http://domma.dcbw-it.co.uk/showcase/)
|
|
6
|
+
|
|
5
7
|
A lightweight, zero-dependency JavaScript framework combining jQuery-style DOM manipulation, Lodash utilities, and
|
|
6
8
|
modern UI components in one cohesive package.
|
|
7
9
|
|
|
8
10
|
## Features
|
|
9
11
|
|
|
10
|
-
- **DOM Manipulation** - jQuery-compatible API with 90+ methods
|
|
11
|
-
- **Utilities** - 120+ Lodash-compatible utility functions
|
|
12
|
-
- **Dates** - Moment.js-style chainable date manipulation
|
|
13
|
-
- **Models** - Reactive data models with pub/sub events
|
|
14
|
-
- **Elements** - UI components (modals, tabs,
|
|
15
|
-
- **Tables** - DataTable-like functionality (sort, filter, paginate, export)
|
|
16
|
-
- **
|
|
17
|
-
- **
|
|
12
|
+
- **DOM Manipulation** (`$`) - jQuery-compatible API with 90+ methods
|
|
13
|
+
- **Utilities** (`_`) - 120+ Lodash-compatible utility functions with function composition
|
|
14
|
+
- **Dates** (`D`) - Moment.js-style chainable date manipulation
|
|
15
|
+
- **Models** (`M`) - Reactive data models with pub/sub events and two-way DOM binding
|
|
16
|
+
- **Elements** (`E`) - 28 UI components (modals, tabs, carousels, navbars, slideovers, and more)
|
|
17
|
+
- **Tables** (`T`) - DataTable-like functionality (sort, filter, paginate, export to CSV/JSON)
|
|
18
|
+
- **Forms** (`F`) - Schema-driven form generation with validation, wizards, and CRUD helpers
|
|
19
|
+
- **Icons** (`I`) - 200+ SVG icons in 15 categories with auto-scan
|
|
20
|
+
- **HTTP Client** (`H`) - Simple async HTTP requests with JSON handling
|
|
21
|
+
- **Storage** (`S`) - localStorage wrapper with auto JSON serialization
|
|
22
|
+
- **Themes** - 10+ built-in themes with light/dark variants and system detection
|
|
23
|
+
- **Config Engine** - Declarative JSON-based behavior configuration with mutable API
|
|
24
|
+
- **CSS Features** - Utility classes (glow, shadows, elevation, fireworks, grid)
|
|
25
|
+
- **Developer Tools** - Theme Roller, Page Roller, Editor, Print-to-PDF
|
|
18
26
|
|
|
19
27
|
## Installation
|
|
20
28
|
|
|
@@ -72,16 +80,48 @@ For quick prototyping without npm:
|
|
|
72
80
|
<script src="https://unpkg.com/domma-js/public/dist/domma.min.js"></script>
|
|
73
81
|
```
|
|
74
82
|
|
|
75
|
-
|
|
83
|
+
## Live Demo
|
|
84
|
+
|
|
85
|
+
🚀 **[Try Domma Online](http://domma.dcbw-it.co.uk/)** - Interactive showcase with 40+ examples
|
|
86
|
+
|
|
87
|
+
Explore all features:
|
|
88
|
+
- **[Showcase](http://domma.dcbw-it.co.uk/showcase/)** - Component examples and tutorials
|
|
89
|
+
- **[MiniApps](http://domma.dcbw-it.co.uk/miniapps/)** - Real-world applications
|
|
90
|
+
- **[Download](http://domma.dcbw-it.co.uk/showcase/download/)** - Preset bundles and archives
|
|
76
91
|
|
|
77
92
|
## Short Aliases
|
|
78
93
|
|
|
79
|
-
| Namespace | Full Path
|
|
80
|
-
|
|
81
|
-
| DOM | `Domma()`
|
|
82
|
-
| Utils | `Domma.utils`
|
|
83
|
-
| Models | `Domma.models`
|
|
84
|
-
| Dates | `Domma.dates`
|
|
94
|
+
| Namespace | Full Path | Alias | Description |
|
|
95
|
+
|-----------|-------------------|-------|-------------------------------|
|
|
96
|
+
| DOM | `Domma()` | `$` | jQuery-style DOM manipulation |
|
|
97
|
+
| Utils | `Domma.utils` | `_` | Lodash-style utilities |
|
|
98
|
+
| Models | `Domma.models` | `M` | Reactive models & pub/sub |
|
|
99
|
+
| Dates | `Domma.dates` | `D` | Date manipulation |
|
|
100
|
+
| Storage | `Domma.storage` | `S` | localStorage wrapper |
|
|
101
|
+
| Auth | `Domma.auth` | `A` | Authentication module |
|
|
102
|
+
| Forms | `Domma.forms` | `F` | Form builder |
|
|
103
|
+
| HTTP | `Domma.http` | `H` | HTTP client |
|
|
104
|
+
| Elements | `Domma.elements` | `E` | UI components |
|
|
105
|
+
| Icons | `Domma.icons` | `I` | SVG icon system |
|
|
106
|
+
| Tables | `Domma.tables` | `T` | DataTable functionality |
|
|
107
|
+
|
|
108
|
+
## Bundle Options
|
|
109
|
+
|
|
110
|
+
Choose the right bundle for your needs:
|
|
111
|
+
|
|
112
|
+
| Bundle | Size | Includes |
|
|
113
|
+
|--------|------|----------|
|
|
114
|
+
| **full** | 390KB | All modules and components |
|
|
115
|
+
| **minimal** | 163KB | DOM, utils, dates - zero UI |
|
|
116
|
+
| **essentials** | 328KB | Core + models, elements, config |
|
|
117
|
+
| **data-focused** | 190KB | Core + models, tables, http, storage |
|
|
118
|
+
| **no-ui** | 41KB | Core utilities only (DOM + utils) |
|
|
119
|
+
|
|
120
|
+
```javascript
|
|
121
|
+
// Use specific bundles via CDN
|
|
122
|
+
<script src="https://unpkg.com/domma-js/public/dist/domma-minimal.min.js"></script>
|
|
123
|
+
<script src="https://unpkg.com/domma-js/public/dist/domma-essentials.min.js"></script>
|
|
124
|
+
```
|
|
85
125
|
|
|
86
126
|
## Quick Start
|
|
87
127
|
|
|
@@ -125,10 +165,112 @@ const table = Domma.tables.create('#users', {
|
|
|
125
165
|
});
|
|
126
166
|
```
|
|
127
167
|
|
|
168
|
+
## CSS Features
|
|
169
|
+
|
|
170
|
+
Domma includes comprehensive utility classes for rapid UI development.
|
|
171
|
+
|
|
172
|
+
**Glow Effects:**
|
|
173
|
+
```html
|
|
174
|
+
<button class="btn glow-primary">Primary Glow</button>
|
|
175
|
+
<div class="card glow-success">Success Glow</div>
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**Shadows & Elevation:**
|
|
179
|
+
```html
|
|
180
|
+
<div class="shadow-sm">Small shadow</div>
|
|
181
|
+
<div class="shadow-md">Medium shadow</div>
|
|
182
|
+
<div class="elevation-3">Elevated card</div>
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
**Firework Animations:**
|
|
186
|
+
```html
|
|
187
|
+
<button class="firework-on-click">Click Me!</button>
|
|
188
|
+
<div class="firework-sparkle">Sparkle Effect</div>
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**Grid System:**
|
|
192
|
+
```html
|
|
193
|
+
<!-- Bootstrap-style 12-column grid -->
|
|
194
|
+
<div class="row">
|
|
195
|
+
<div class="col-md-6">Half width</div>
|
|
196
|
+
<div class="col-md-6">Half width</div>
|
|
197
|
+
</div>
|
|
198
|
+
|
|
199
|
+
<!-- CSS Grid utilities -->
|
|
200
|
+
<div class="grid grid-cols-3 gap-4">
|
|
201
|
+
<div>Item 1</div>
|
|
202
|
+
<div>Item 2</div>
|
|
203
|
+
<div>Item 3</div>
|
|
204
|
+
</div>
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## Themes
|
|
208
|
+
|
|
209
|
+
10+ built-in themes with light/dark variants and automatic system detection.
|
|
210
|
+
|
|
211
|
+
```javascript
|
|
212
|
+
// Initialize with theme
|
|
213
|
+
Domma.theme.init({ theme: 'ocean-dark' });
|
|
214
|
+
|
|
215
|
+
// Change theme dynamically
|
|
216
|
+
Domma.theme.set('forest-light');
|
|
217
|
+
|
|
218
|
+
// Toggle between light/dark
|
|
219
|
+
Domma.theme.toggle();
|
|
220
|
+
|
|
221
|
+
// Auto-detect system preference
|
|
222
|
+
Domma.theme.init({ autoDetect: true });
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Available Themes:**
|
|
226
|
+
- charcoal (light/dark)
|
|
227
|
+
- ocean (light/dark)
|
|
228
|
+
- forest (light/dark)
|
|
229
|
+
- sunset (light/dark)
|
|
230
|
+
- lavender (light/dark)
|
|
231
|
+
- crimson (light/dark)
|
|
232
|
+
- slate (light/dark)
|
|
233
|
+
- amber (light/dark)
|
|
234
|
+
- teal (light/dark)
|
|
235
|
+
- rose (light/dark)
|
|
236
|
+
|
|
237
|
+
## Developer Tools
|
|
238
|
+
|
|
239
|
+
Domma includes powerful developer tools in a separate bundle.
|
|
240
|
+
|
|
241
|
+
```html
|
|
242
|
+
<!-- Load tools bundle -->
|
|
243
|
+
<script src="dist/domma-tools.min.js"></script>
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
**Theme Roller** - Visual theme customization tool:
|
|
247
|
+
```javascript
|
|
248
|
+
Domma.themeRoller.open();
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
**Page Roller** - Drag-and-drop page builder:
|
|
252
|
+
```javascript
|
|
253
|
+
Domma.pageRoller.init();
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
**Editor** - Rich content editor with export:
|
|
257
|
+
```javascript
|
|
258
|
+
Domma.editor.create('#editor', {
|
|
259
|
+
toolbar: ['bold', 'italic', 'heading', 'list'],
|
|
260
|
+
onSave: (content) => console.log(content)
|
|
261
|
+
});
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
**Print-to-PDF** - Export any element to PDF:
|
|
265
|
+
```javascript
|
|
266
|
+
Domma.printToPDF('#content', { filename: 'export.pdf' });
|
|
267
|
+
```
|
|
268
|
+
|
|
128
269
|
## Config Engine
|
|
129
270
|
|
|
130
|
-
Define behavior declaratively with JSON
|
|
271
|
+
Define behavior declaratively with JSON configuration.
|
|
131
272
|
|
|
273
|
+
**Basic Setup:**
|
|
132
274
|
```javascript
|
|
133
275
|
$.setup({
|
|
134
276
|
'#header': {
|
|
@@ -151,6 +293,26 @@ $.setup({
|
|
|
151
293
|
});
|
|
152
294
|
```
|
|
153
295
|
|
|
296
|
+
**Mutable Configuration API:**
|
|
297
|
+
```javascript
|
|
298
|
+
// Update existing configuration
|
|
299
|
+
$.update('#my-modal', {
|
|
300
|
+
options: { backdrop: false } // Deep merges with existing config
|
|
301
|
+
});
|
|
302
|
+
|
|
303
|
+
// Retrieve configuration
|
|
304
|
+
const config = $.config('#my-modal');
|
|
305
|
+
console.log(config);
|
|
306
|
+
|
|
307
|
+
// Reset/destroy configuration
|
|
308
|
+
$.reset('#my-modal'); // Removes component and unbinds events
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
**Supported Components (16 total):**
|
|
312
|
+
- card, modal, tabs, accordion, tooltip, carousel, dropdown
|
|
313
|
+
- badge, backToTop, buttonGroup, loader, breadcrumbs, navbar
|
|
314
|
+
- notification, timer, alarm
|
|
315
|
+
|
|
154
316
|
## Namespaces
|
|
155
317
|
|
|
156
318
|
### DOM (`$` or `Domma`)
|
|
@@ -258,36 +420,77 @@ M.bind(user, 'name', '#name-input', { twoWay: true });
|
|
|
258
420
|
M.bind(user, 'name', '#display', { format: v => `Hello, ${v}!` });
|
|
259
421
|
```
|
|
260
422
|
|
|
261
|
-
### Elements (`Domma.elements`)
|
|
262
|
-
|
|
263
|
-
UI components with JavaScript interactivity.
|
|
423
|
+
### Elements (`E` or `Domma.elements`)
|
|
424
|
+
|
|
425
|
+
28 production-ready UI components with JavaScript interactivity.
|
|
426
|
+
|
|
427
|
+
**Dialogs & Overlays:**
|
|
428
|
+
- `modal()` - Modal dialogs with backdrop
|
|
429
|
+
- `dialog` - Promise-based alert/confirm/prompt
|
|
430
|
+
- `toast()` - Toast notifications (static method)
|
|
431
|
+
- `slideover()` - Panel overlays from screen edges
|
|
432
|
+
- `dropdown()` - Dropdown menus
|
|
433
|
+
|
|
434
|
+
**Navigation:**
|
|
435
|
+
- `tabs()` - Tabbed navigation
|
|
436
|
+
- `navbar()` - Responsive navigation bar
|
|
437
|
+
- `sidebar()` - Sidebar with unlimited nesting
|
|
438
|
+
- `breadcrumbs()` - Navigation breadcrumbs
|
|
439
|
+
- `backToTop()` - Scroll-to-top button
|
|
440
|
+
|
|
441
|
+
**Content Display:**
|
|
442
|
+
- `card()` - Cards with hover and collapsible support
|
|
443
|
+
- `accordion()` - Expandable/collapsible sections
|
|
444
|
+
- `carousel()` - Image/content carousels
|
|
445
|
+
- `hero` - Hero sections (CSS-only)
|
|
446
|
+
- `footer()` - Footer with 3 layout modes
|
|
447
|
+
|
|
448
|
+
**Form Inputs:**
|
|
449
|
+
- `autocomplete()` - Input with suggestions
|
|
450
|
+
- `pillbox()` - Multi-select tag input
|
|
451
|
+
- `buttonGroup()` - Radio/checkbox button groups
|
|
452
|
+
|
|
453
|
+
**Feedback & Indicators:**
|
|
454
|
+
- `loader()` - Loading indicators (spinner, dots, pulse, bars)
|
|
455
|
+
- `badge()` - Badge/notification indicators
|
|
456
|
+
- `tooltip()` - Hover tooltips
|
|
457
|
+
- `notification()` - Desktop notifications
|
|
458
|
+
- `cookieConsent()` - Cookie consent banner
|
|
459
|
+
|
|
460
|
+
**Data & Visualization:**
|
|
461
|
+
- `treeView()` - Hierarchical tree display
|
|
462
|
+
- `progression()` - Timeline/roadmap component
|
|
463
|
+
- `timer()` - Countdown timer
|
|
464
|
+
- `alarm()` - Scheduled alerts
|
|
264
465
|
|
|
265
466
|
```javascript
|
|
266
467
|
// Modal
|
|
267
|
-
const modal =
|
|
268
|
-
backdrop: true,
|
|
269
|
-
keyboard: true,
|
|
270
|
-
onOpen: () => console.log('Opened')
|
|
271
|
-
});
|
|
468
|
+
const modal = E.modal('#dialog', { backdrop: true });
|
|
272
469
|
modal.open();
|
|
273
|
-
modal.close();
|
|
274
470
|
|
|
275
471
|
// Tabs
|
|
276
|
-
const tabs =
|
|
277
|
-
activeIndex: 0,
|
|
472
|
+
const tabs = E.tabs('#product-tabs', {
|
|
278
473
|
onChange: (index) => loadContent(index)
|
|
279
474
|
});
|
|
280
475
|
|
|
281
|
-
//
|
|
282
|
-
|
|
283
|
-
|
|
476
|
+
// Autocomplete with async data
|
|
477
|
+
E.autocomplete('#search', {
|
|
478
|
+
dataSource: async (query) => {
|
|
479
|
+
const res = await fetch(`/api/search?q=${query}`);
|
|
480
|
+
return res.json();
|
|
481
|
+
},
|
|
482
|
+
onSelect: (item) => console.log(item)
|
|
284
483
|
});
|
|
285
484
|
|
|
286
|
-
//
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
485
|
+
// Sidebar with nesting
|
|
486
|
+
E.sidebar('#main-nav', {
|
|
487
|
+
mobileBreakpoint: 768,
|
|
488
|
+
persist: true // Remember state
|
|
290
489
|
});
|
|
490
|
+
|
|
491
|
+
// Promise-based dialog
|
|
492
|
+
const confirmed = await E.confirm('Delete this item?');
|
|
493
|
+
if (confirmed) deleteItem();
|
|
291
494
|
```
|
|
292
495
|
|
|
293
496
|
### Tables (`Domma.tables`)
|
|
@@ -325,6 +528,102 @@ table.download('csv', 'users.csv');
|
|
|
325
528
|
table.toJSON();
|
|
326
529
|
```
|
|
327
530
|
|
|
531
|
+
### Forms (`F` or `Domma.forms`)
|
|
532
|
+
|
|
533
|
+
Schema-driven form generation with validation, wizards, and CRUD helpers.
|
|
534
|
+
|
|
535
|
+
```javascript
|
|
536
|
+
// Schema-driven form
|
|
537
|
+
const form = F.create('#user-form', {
|
|
538
|
+
fields: [
|
|
539
|
+
{ name: 'name', type: 'string', label: 'Full Name', required: true },
|
|
540
|
+
{ name: 'email', type: 'email', label: 'Email', required: true },
|
|
541
|
+
{ name: 'age', type: 'number', label: 'Age', min: 18, max: 120 },
|
|
542
|
+
{ name: 'role', type: 'select', label: 'Role', options: ['Admin', 'User'] }
|
|
543
|
+
],
|
|
544
|
+
layout: 'grid', // 'stacked', 'inline', or 'grid'
|
|
545
|
+
onSubmit: (data) => console.log(data)
|
|
546
|
+
});
|
|
547
|
+
|
|
548
|
+
// Multi-step wizard
|
|
549
|
+
const wizard = F.wizard('#registration', {
|
|
550
|
+
steps: [
|
|
551
|
+
{ title: 'Account', fields: [/*...*/] },
|
|
552
|
+
{ title: 'Profile', fields: [/*...*/] },
|
|
553
|
+
{ title: 'Confirm', fields: [/*...*/] }
|
|
554
|
+
],
|
|
555
|
+
onComplete: (data) => saveUser(data)
|
|
556
|
+
});
|
|
557
|
+
|
|
558
|
+
// CRUD helper
|
|
559
|
+
const crud = F.crud({
|
|
560
|
+
apiUrl: '/api/users',
|
|
561
|
+
fields: schema,
|
|
562
|
+
table: '#users-table'
|
|
563
|
+
});
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
### Icons (`I` or `Domma.icons`)
|
|
567
|
+
|
|
568
|
+
200+ SVG icons in 15 categories with declarative and imperative APIs.
|
|
569
|
+
|
|
570
|
+
```javascript
|
|
571
|
+
// Declarative (auto-scan on load)
|
|
572
|
+
<button data-icon="check">Save</button>
|
|
573
|
+
<span data-icon="user" data-icon-size="24"></span>
|
|
574
|
+
|
|
575
|
+
// Manual scan after DOM updates
|
|
576
|
+
I.scan();
|
|
577
|
+
|
|
578
|
+
// Programmatic rendering
|
|
579
|
+
const html = I.render('settings', { size: 32, color: '#007bff' });
|
|
580
|
+
$('#icon-container').html(html);
|
|
581
|
+
|
|
582
|
+
// Inject into existing element
|
|
583
|
+
I.inject('#my-icon', 'star');
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
**Categories:** actions, arrows, communication, devices, editor, files, hardware, media, navigation, notifications, social, status, toggle, ui, weather
|
|
587
|
+
|
|
588
|
+
### HTTP (`H` or `Domma.http`)
|
|
589
|
+
|
|
590
|
+
Simple async HTTP client with automatic JSON handling.
|
|
591
|
+
|
|
592
|
+
```javascript
|
|
593
|
+
// GET request
|
|
594
|
+
const users = await H.get('/api/users');
|
|
595
|
+
|
|
596
|
+
// POST with data
|
|
597
|
+
const response = await H.post('/api/users', {
|
|
598
|
+
name: 'Alice',
|
|
599
|
+
email: 'alice@example.com'
|
|
600
|
+
});
|
|
601
|
+
|
|
602
|
+
// PUT and DELETE
|
|
603
|
+
await H.put('/api/users/1', updates);
|
|
604
|
+
await H.delete('/api/users/1');
|
|
605
|
+
```
|
|
606
|
+
|
|
607
|
+
### Storage (`S` or `Domma.storage`)
|
|
608
|
+
|
|
609
|
+
localStorage wrapper with automatic JSON serialization.
|
|
610
|
+
|
|
611
|
+
```javascript
|
|
612
|
+
// Store data (auto-serializes)
|
|
613
|
+
S.set('user', { name: 'Alice', role: 'admin' });
|
|
614
|
+
S.set('preferences', { theme: 'dark', lang: 'en' });
|
|
615
|
+
|
|
616
|
+
// Retrieve (auto-parses)
|
|
617
|
+
const user = S.get('user'); // Returns object
|
|
618
|
+
const theme = S.get('theme', 'light'); // With default
|
|
619
|
+
|
|
620
|
+
// Other methods
|
|
621
|
+
S.has('user'); // Check existence
|
|
622
|
+
S.remove('user'); // Delete key
|
|
623
|
+
S.keys(); // List all Domma keys
|
|
624
|
+
S.clear(); // Clear all Domma data
|
|
625
|
+
```
|
|
626
|
+
|
|
328
627
|
## Demo & Showcase
|
|
329
628
|
|
|
330
629
|
```bash
|
|
@@ -337,7 +636,9 @@ npm run showcase
|
|
|
337
636
|
|
|
338
637
|
## MiniApps
|
|
339
638
|
|
|
340
|
-
Real-world, production-ready applications built with Domma
|
|
639
|
+
Real-world, production-ready applications built with Domma.
|
|
640
|
+
|
|
641
|
+
🚀 **[Explore All MiniApps](http://domma.dcbw-it.co.uk/miniapps/)** - Try them live!
|
|
341
642
|
|
|
342
643
|
### My Garage
|
|
343
644
|
|
|
@@ -346,8 +647,7 @@ Vehicle management system with DVLA integration for UK registration lookups.
|
|
|
346
647
|
- Look up any UK vehicle by registration number
|
|
347
648
|
- Display MOT and tax status
|
|
348
649
|
- Save vehicle history with Domma.storage
|
|
349
|
-
- **
|
|
350
|
-
- **Repository:** [domma-garage](https://github.com/yourusername/domma-garage)
|
|
650
|
+
- **Try it:** [My Garage Live](http://domma.dcbw-it.co.uk/miniapps/garage/)
|
|
351
651
|
|
|
352
652
|
### Domma Docs
|
|
353
653
|
|
|
@@ -357,22 +657,16 @@ Powerful document editor with rich text formatting and export capabilities.
|
|
|
357
657
|
- Document management (save, open, delete)
|
|
358
658
|
- Export to PDF, HTML, and Markdown
|
|
359
659
|
- Auto-save with Domma.storage
|
|
360
|
-
- **
|
|
361
|
-
- **Repository:** [domma-docs](https://github.com/yourusername/domma-docs)
|
|
660
|
+
- **Try it:** [Domma Docs Live](http://domma.dcbw-it.co.uk/miniapps/docs/)
|
|
362
661
|
|
|
363
|
-
###
|
|
662
|
+
### Nexus
|
|
364
663
|
|
|
365
|
-
|
|
664
|
+
Project management and collaboration platform.
|
|
366
665
|
|
|
367
|
-
-
|
|
368
|
-
-
|
|
369
|
-
-
|
|
370
|
-
-
|
|
371
|
-
- Dashboard and reporting
|
|
372
|
-
- **Status:** Coming Soon
|
|
373
|
-
- **Repository:** [domma-invoicing](https://github.com/yourusername/domma-invoicing)
|
|
374
|
-
|
|
375
|
-
**Learn More:** Visit the [MiniApps Hub](./public/miniapps/index.html) to explore all available applications.
|
|
666
|
+
- Task tracking and assignment
|
|
667
|
+
- Team collaboration tools
|
|
668
|
+
- Real-time updates
|
|
669
|
+
- **Try it:** [Nexus Live](http://domma.dcbw-it.co.uk/miniapps/nexus/)
|
|
376
670
|
|
|
377
671
|
## Documentation
|
|
378
672
|
|
|
@@ -425,7 +719,15 @@ NODE_ENV=production npm run build # Production build
|
|
|
425
719
|
|
|
426
720
|
## Bundle Size
|
|
427
721
|
|
|
428
|
-
|
|
722
|
+
| Bundle | Size | Description |
|
|
723
|
+
|--------|------|-------------|
|
|
724
|
+
| **full** | 390KB | Complete framework with all modules |
|
|
725
|
+
| **minimal** | 163KB | DOM + Utils + Dates only |
|
|
726
|
+
| **essentials** | 328KB | Core + Models + Elements + Config |
|
|
727
|
+
| **data-focused** | 190KB | Core + Models + Tables + HTTP + Storage |
|
|
728
|
+
| **no-ui** | 41KB | Core utilities without UI components |
|
|
729
|
+
|
|
730
|
+
All sizes are minified. Choose the bundle that fits your needs!
|
|
429
731
|
|
|
430
732
|
## Browser Support
|
|
431
733
|
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Domma Complete CSS Bundle v0.9.4-alpha
|
|
3
3
|
* Dynamic Object Manipulation & Modeling API
|
|
4
4
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
5
|
-
* Built: 2026-01-
|
|
5
|
+
* Built: 2026-01-13T22:46:23.455Z
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/* ============================================
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* Domma Core CSS v0.9.4-alpha
|
|
15
15
|
* Dynamic Object Manipulation & Modeling API
|
|
16
16
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
17
|
-
* Built: 2026-01-
|
|
18
|
-
* Commit:
|
|
17
|
+
* Built: 2026-01-13T22:46:23.157Z
|
|
18
|
+
* Commit: 656a69e
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -4019,8 +4019,8 @@ body.dm-cloaked.dm-ready {
|
|
|
4019
4019
|
* Domma Grid CSS v0.9.4-alpha
|
|
4020
4020
|
* Dynamic Object Manipulation & Modeling API
|
|
4021
4021
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
4022
|
-
* Built: 2026-01-
|
|
4023
|
-
* Commit:
|
|
4022
|
+
* Built: 2026-01-13T22:46:23.164Z
|
|
4023
|
+
* Commit: 656a69e
|
|
4024
4024
|
*/
|
|
4025
4025
|
|
|
4026
4026
|
/**
|
|
@@ -4620,8 +4620,8 @@ body.dm-cloaked.dm-ready {
|
|
|
4620
4620
|
* Domma Elements CSS v0.9.4-alpha
|
|
4621
4621
|
* Dynamic Object Manipulation & Modeling API
|
|
4622
4622
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
4623
|
-
* Built: 2026-01-
|
|
4624
|
-
* Commit:
|
|
4623
|
+
* Built: 2026-01-13T22:46:23.171Z
|
|
4624
|
+
* Commit: 656a69e
|
|
4625
4625
|
*/
|
|
4626
4626
|
|
|
4627
4627
|
/**
|
|
@@ -11166,8 +11166,8 @@ code {
|
|
|
11166
11166
|
* Domma Themes v0.9.4-alpha
|
|
11167
11167
|
* Dynamic Object Manipulation & Modeling API
|
|
11168
11168
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
11169
|
-
* Built: 2026-01-
|
|
11170
|
-
* Commit:
|
|
11169
|
+
* Built: 2026-01-13T22:46:23.136Z
|
|
11170
|
+
* Commit: 656a69e
|
|
11171
11171
|
*/
|
|
11172
11172
|
|
|
11173
11173
|
/**
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Domma Data-Focused CSS Bundle v0.9.4-alpha
|
|
3
3
|
* Dynamic Object Manipulation & Modeling API
|
|
4
4
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
5
|
-
* Built: 2026-01-
|
|
5
|
+
* Built: 2026-01-13T22:46:23.446Z
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/* ============================================
|
|
@@ -233,8 +233,8 @@
|
|
|
233
233
|
* Domma Core CSS v0.9.4-alpha
|
|
234
234
|
* Dynamic Object Manipulation & Modeling API
|
|
235
235
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
236
|
-
* Built: 2026-01-
|
|
237
|
-
* Commit:
|
|
236
|
+
* Built: 2026-01-13T22:46:23.157Z
|
|
237
|
+
* Commit: 656a69e
|
|
238
238
|
*/
|
|
239
239
|
|
|
240
240
|
/**
|
|
@@ -4238,8 +4238,8 @@ body.dm-cloaked.dm-ready {
|
|
|
4238
4238
|
* Domma Grid CSS v0.9.4-alpha
|
|
4239
4239
|
* Dynamic Object Manipulation & Modeling API
|
|
4240
4240
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
4241
|
-
* Built: 2026-01-
|
|
4242
|
-
* Commit:
|
|
4241
|
+
* Built: 2026-01-13T22:46:23.164Z
|
|
4242
|
+
* Commit: 656a69e
|
|
4243
4243
|
*/
|
|
4244
4244
|
|
|
4245
4245
|
/**
|
|
@@ -4839,8 +4839,8 @@ body.dm-cloaked.dm-ready {
|
|
|
4839
4839
|
* Domma Elements CSS v0.9.4-alpha
|
|
4840
4840
|
* Dynamic Object Manipulation & Modeling API
|
|
4841
4841
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
4842
|
-
* Built: 2026-01-
|
|
4843
|
-
* Commit:
|
|
4842
|
+
* Built: 2026-01-13T22:46:23.171Z
|
|
4843
|
+
* Commit: 656a69e
|
|
4844
4844
|
*/
|
|
4845
4845
|
|
|
4846
4846
|
/**
|
|
@@ -11385,8 +11385,8 @@ code {
|
|
|
11385
11385
|
* Domma Themes v0.9.4-alpha
|
|
11386
11386
|
* Dynamic Object Manipulation & Modeling API
|
|
11387
11387
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
11388
|
-
* Built: 2026-01-
|
|
11389
|
-
* Commit:
|
|
11388
|
+
* Built: 2026-01-13T22:46:23.136Z
|
|
11389
|
+
* Commit: 656a69e
|
|
11390
11390
|
*/
|
|
11391
11391
|
|
|
11392
11392
|
/**
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Domma Essentials CSS Bundle v0.9.4-alpha
|
|
3
3
|
* Dynamic Object Manipulation & Modeling API
|
|
4
4
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
5
|
-
* Built: 2026-01-
|
|
5
|
+
* Built: 2026-01-13T22:46:23.435Z
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/* ============================================
|
|
@@ -233,8 +233,8 @@
|
|
|
233
233
|
* Domma Core CSS v0.9.4-alpha
|
|
234
234
|
* Dynamic Object Manipulation & Modeling API
|
|
235
235
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
236
|
-
* Built: 2026-01-
|
|
237
|
-
* Commit:
|
|
236
|
+
* Built: 2026-01-13T22:46:23.157Z
|
|
237
|
+
* Commit: 656a69e
|
|
238
238
|
*/
|
|
239
239
|
|
|
240
240
|
/**
|
|
@@ -4238,8 +4238,8 @@ body.dm-cloaked.dm-ready {
|
|
|
4238
4238
|
* Domma Grid CSS v0.9.4-alpha
|
|
4239
4239
|
* Dynamic Object Manipulation & Modeling API
|
|
4240
4240
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
4241
|
-
* Built: 2026-01-
|
|
4242
|
-
* Commit:
|
|
4241
|
+
* Built: 2026-01-13T22:46:23.164Z
|
|
4242
|
+
* Commit: 656a69e
|
|
4243
4243
|
*/
|
|
4244
4244
|
|
|
4245
4245
|
/**
|
|
@@ -4839,8 +4839,8 @@ body.dm-cloaked.dm-ready {
|
|
|
4839
4839
|
* Domma Elements CSS v0.9.4-alpha
|
|
4840
4840
|
* Dynamic Object Manipulation & Modeling API
|
|
4841
4841
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
4842
|
-
* Built: 2026-01-
|
|
4843
|
-
* Commit:
|
|
4842
|
+
* Built: 2026-01-13T22:46:23.171Z
|
|
4843
|
+
* Commit: 656a69e
|
|
4844
4844
|
*/
|
|
4845
4845
|
|
|
4846
4846
|
/**
|
|
@@ -11385,8 +11385,8 @@ code {
|
|
|
11385
11385
|
* Domma Themes v0.9.4-alpha
|
|
11386
11386
|
* Dynamic Object Manipulation & Modeling API
|
|
11387
11387
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
11388
|
-
* Built: 2026-01-
|
|
11389
|
-
* Commit:
|
|
11388
|
+
* Built: 2026-01-13T22:46:23.136Z
|
|
11389
|
+
* Commit: 656a69e
|
|
11390
11390
|
*/
|
|
11391
11391
|
|
|
11392
11392
|
/**
|