native-document 1.0.92 → 1.0.93
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/dist/native-document.components.min.js +1088 -65
- package/dist/native-document.dev.js +695 -142
- package/dist/native-document.dev.js.map +1 -1
- package/dist/native-document.devtools.min.js +1 -1
- package/dist/native-document.min.js +1 -1
- package/docs/advanced-components.md +814 -0
- package/docs/anchor.md +71 -11
- package/docs/cache.md +888 -0
- package/docs/conditional-rendering.md +91 -1
- package/docs/core-concepts.md +9 -2
- package/docs/elements.md +127 -2
- package/docs/extending-native-document-element.md +7 -1
- package/docs/filters.md +1216 -0
- package/docs/getting-started.md +12 -3
- package/docs/lifecycle-events.md +10 -2
- package/docs/list-rendering.md +453 -54
- package/docs/memory-management.md +9 -7
- package/docs/native-document-element.md +30 -9
- package/docs/native-fetch.md +744 -0
- package/docs/observables.md +135 -6
- package/docs/routing.md +7 -1
- package/docs/state-management.md +7 -1
- package/docs/validation.md +8 -1
- package/eslint.config.js +3 -3
- package/package.json +3 -2
- package/readme.md +53 -14
- package/src/components/$traits/HasItems.js +42 -1
- package/src/components/BaseComponent.js +4 -1
- package/src/components/accordion/Accordion.js +112 -8
- package/src/components/accordion/AccordionItem.js +93 -4
- package/src/components/alert/Alert.js +164 -4
- package/src/components/avatar/Avatar.js +236 -22
- package/src/components/menu/index.js +1 -2
- package/src/core/data/ObservableArray.js +120 -2
- package/src/core/data/ObservableChecker.js +50 -0
- package/src/core/data/ObservableItem.js +124 -4
- package/src/core/data/ObservableWhen.js +36 -6
- package/src/core/data/observable-helpers/array.js +12 -3
- package/src/core/data/observable-helpers/computed.js +17 -4
- package/src/core/data/observable-helpers/object.js +19 -3
- package/src/core/elements/control/for-each-array.js +20 -2
- package/src/core/elements/control/for-each.js +17 -5
- package/src/core/elements/control/show-if.js +31 -15
- package/src/core/elements/control/show-when.js +23 -0
- package/src/core/elements/control/switch.js +40 -10
- package/src/core/utils/cache.js +5 -0
- package/src/core/utils/memoize.js +25 -16
- package/src/core/utils/prototypes.js +3 -2
- package/src/core/wrappers/AttributesWrapper.js +1 -1
- package/src/core/wrappers/NDElement.js +41 -1
- package/src/core/wrappers/NdPrototype.js +4 -0
- package/src/core/wrappers/TemplateCloner.js +13 -10
- package/src/core/wrappers/prototypes/bind-class-extensions.js +1 -1
- package/src/core/wrappers/prototypes/nd-element-extensions.js +3 -0
- package/src/router/Route.js +9 -4
- package/src/router/Router.js +28 -9
- package/src/router/errors/RouterError.js +0 -1
- package/types/control-flow.d.ts +9 -6
- package/types/elements.d.ts +6 -3
- package/types/filters/index.d.ts +4 -0
- package/types/nd-element.d.ts +5 -238
- package/types/observable.d.ts +9 -3
- package/types/router.d.ts +5 -1
- package/types/template-cloner.ts +1 -0
- package/types/validator.ts +11 -1
- package/utils.d.ts +2 -1
- package/utils.js +4 -4
- package/src/core/utils/service.js +0 -6
|
@@ -46,14 +46,10 @@ obs.cleanup(); // Removes all listeners immediately
|
|
|
46
46
|
### Global Cleanup
|
|
47
47
|
|
|
48
48
|
```javascript
|
|
49
|
-
//
|
|
49
|
+
// Auto-cleanup is handled internally
|
|
50
|
+
// Manual cleanup if needed:
|
|
50
51
|
Observable.cleanup(); // Force cleanup of all registered observables
|
|
51
52
|
|
|
52
|
-
// Auto-cleanup configuration
|
|
53
|
-
Observable.autoCleanup(true, {
|
|
54
|
-
interval: 60000, // Check every minute
|
|
55
|
-
threshold: 100 // Clean when 100+ orphaned observables
|
|
56
|
-
});
|
|
57
53
|
```
|
|
58
54
|
|
|
59
55
|
## Performance Monitoring
|
|
@@ -87,4 +83,10 @@ window.addEventListener('beforeunload', () => {
|
|
|
87
83
|
|
|
88
84
|
## Next Steps
|
|
89
85
|
|
|
90
|
-
- **[Anchor](anchor.md)** - Anchor
|
|
86
|
+
- **[Anchor](anchor.md)** - Anchor
|
|
87
|
+
|
|
88
|
+
## Utilities
|
|
89
|
+
|
|
90
|
+
- **[Cache](docs/utils/cache.md)** - Lazy initialization and singleton patterns
|
|
91
|
+
- **[NativeFetch](docs/utils/native-fetch.md)** - HTTP client with interceptors
|
|
92
|
+
- **[Filters](docs/utils/filters.md)** - Data filtering helpers
|
|
@@ -195,14 +195,6 @@ Input({ type: 'text' })
|
|
|
195
195
|
### Fluent Chaining
|
|
196
196
|
|
|
197
197
|
```javascript
|
|
198
|
-
const interactiveButton = Button("Interactive")
|
|
199
|
-
.nd.onClick(e => console.log("Clicked"))
|
|
200
|
-
.nd.onMouseEnter(e => e.target.style.background = "blue")
|
|
201
|
-
.nd.onMouseLeave(e => e.target.style.background = "")
|
|
202
|
-
.nd.mounted(el => console.log("Button mounted"));
|
|
203
|
-
|
|
204
|
-
// OR
|
|
205
|
-
|
|
206
198
|
const interactiveButton = Button("Interactive")
|
|
207
199
|
.nd.onClick(e => console.log("Clicked"))
|
|
208
200
|
.onMouseEnter(e => e.target.style.background = "blue")
|
|
@@ -222,6 +214,29 @@ const todoForm = Form([
|
|
|
222
214
|
]).nd.onPreventSubmit(addTodo);
|
|
223
215
|
```
|
|
224
216
|
|
|
217
|
+
### Generic Event Handler - `on()`
|
|
218
|
+
|
|
219
|
+
For any DOM event:
|
|
220
|
+
```javascript
|
|
221
|
+
element.nd.on('customEvent', callback, options)
|
|
222
|
+
|
|
223
|
+
// Example with options
|
|
224
|
+
element.nd.on('scroll', callback, { passive: true })
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Batch Event Registration
|
|
228
|
+
|
|
229
|
+
Register multiple events at once:
|
|
230
|
+
```javascript
|
|
231
|
+
// Register multiple events in one call
|
|
232
|
+
Input()
|
|
233
|
+
.nd.on({
|
|
234
|
+
focus: e => console.log('Focused'),
|
|
235
|
+
blur: e => console.log('Blurred'),
|
|
236
|
+
input: e => console.log('Value:', e.target.value)
|
|
237
|
+
});
|
|
238
|
+
```
|
|
239
|
+
|
|
225
240
|
### Reference Management
|
|
226
241
|
|
|
227
242
|
```javascript
|
|
@@ -276,4 +291,10 @@ Explore these related topics to build complete applications:
|
|
|
276
291
|
- **[Extending NDElement](extending-native-document-element.md)** - Custom Methods Guide
|
|
277
292
|
- **[Args Validation](validation.md)** - Function Argument Validation
|
|
278
293
|
- **[Memory Management](memory-management.md)** - Memory management
|
|
279
|
-
- **[Anchor](anchor.md)** - Anchor
|
|
294
|
+
- **[Anchor](anchor.md)** - Anchor
|
|
295
|
+
|
|
296
|
+
## Utilities
|
|
297
|
+
|
|
298
|
+
- **[Cache](docs/utils/cache.md)** - Lazy initialization and singleton patterns
|
|
299
|
+
- **[NativeFetch](docs/utils/native-fetch.md)** - HTTP client with interceptors
|
|
300
|
+
- **[Filters](docs/utils/filters.md)** - Data filtering helpers
|