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.
Files changed (68) hide show
  1. package/dist/native-document.components.min.js +1088 -65
  2. package/dist/native-document.dev.js +695 -142
  3. package/dist/native-document.dev.js.map +1 -1
  4. package/dist/native-document.devtools.min.js +1 -1
  5. package/dist/native-document.min.js +1 -1
  6. package/docs/advanced-components.md +814 -0
  7. package/docs/anchor.md +71 -11
  8. package/docs/cache.md +888 -0
  9. package/docs/conditional-rendering.md +91 -1
  10. package/docs/core-concepts.md +9 -2
  11. package/docs/elements.md +127 -2
  12. package/docs/extending-native-document-element.md +7 -1
  13. package/docs/filters.md +1216 -0
  14. package/docs/getting-started.md +12 -3
  15. package/docs/lifecycle-events.md +10 -2
  16. package/docs/list-rendering.md +453 -54
  17. package/docs/memory-management.md +9 -7
  18. package/docs/native-document-element.md +30 -9
  19. package/docs/native-fetch.md +744 -0
  20. package/docs/observables.md +135 -6
  21. package/docs/routing.md +7 -1
  22. package/docs/state-management.md +7 -1
  23. package/docs/validation.md +8 -1
  24. package/eslint.config.js +3 -3
  25. package/package.json +3 -2
  26. package/readme.md +53 -14
  27. package/src/components/$traits/HasItems.js +42 -1
  28. package/src/components/BaseComponent.js +4 -1
  29. package/src/components/accordion/Accordion.js +112 -8
  30. package/src/components/accordion/AccordionItem.js +93 -4
  31. package/src/components/alert/Alert.js +164 -4
  32. package/src/components/avatar/Avatar.js +236 -22
  33. package/src/components/menu/index.js +1 -2
  34. package/src/core/data/ObservableArray.js +120 -2
  35. package/src/core/data/ObservableChecker.js +50 -0
  36. package/src/core/data/ObservableItem.js +124 -4
  37. package/src/core/data/ObservableWhen.js +36 -6
  38. package/src/core/data/observable-helpers/array.js +12 -3
  39. package/src/core/data/observable-helpers/computed.js +17 -4
  40. package/src/core/data/observable-helpers/object.js +19 -3
  41. package/src/core/elements/control/for-each-array.js +20 -2
  42. package/src/core/elements/control/for-each.js +17 -5
  43. package/src/core/elements/control/show-if.js +31 -15
  44. package/src/core/elements/control/show-when.js +23 -0
  45. package/src/core/elements/control/switch.js +40 -10
  46. package/src/core/utils/cache.js +5 -0
  47. package/src/core/utils/memoize.js +25 -16
  48. package/src/core/utils/prototypes.js +3 -2
  49. package/src/core/wrappers/AttributesWrapper.js +1 -1
  50. package/src/core/wrappers/NDElement.js +41 -1
  51. package/src/core/wrappers/NdPrototype.js +4 -0
  52. package/src/core/wrappers/TemplateCloner.js +13 -10
  53. package/src/core/wrappers/prototypes/bind-class-extensions.js +1 -1
  54. package/src/core/wrappers/prototypes/nd-element-extensions.js +3 -0
  55. package/src/router/Route.js +9 -4
  56. package/src/router/Router.js +28 -9
  57. package/src/router/errors/RouterError.js +0 -1
  58. package/types/control-flow.d.ts +9 -6
  59. package/types/elements.d.ts +6 -3
  60. package/types/filters/index.d.ts +4 -0
  61. package/types/nd-element.d.ts +5 -238
  62. package/types/observable.d.ts +9 -3
  63. package/types/router.d.ts +5 -1
  64. package/types/template-cloner.ts +1 -0
  65. package/types/validator.ts +11 -1
  66. package/utils.d.ts +2 -1
  67. package/utils.js +4 -4
  68. 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
- // Clean all orphaned observables
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