neo.mjs 10.0.0-beta.3 → 10.0.0-beta.5

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 (76) hide show
  1. package/.github/RELEASE_NOTES/v10.0.0-beta.4.md +41 -0
  2. package/ServiceWorker.mjs +2 -2
  3. package/apps/portal/index.html +1 -1
  4. package/apps/portal/view/ViewportController.mjs +1 -1
  5. package/apps/portal/view/home/FooterContainer.mjs +1 -1
  6. package/apps/portal/view/learn/MainContainerController.mjs +6 -6
  7. package/examples/button/effect/MainContainer.mjs +207 -0
  8. package/examples/button/effect/app.mjs +6 -0
  9. package/examples/button/effect/index.html +11 -0
  10. package/examples/button/effect/neo-config.json +6 -0
  11. package/learn/guides/{Collections.md → datahandling/Collections.md} +6 -6
  12. package/learn/guides/datahandling/Grids.md +621 -0
  13. package/learn/guides/{Records.md → datahandling/Records.md} +4 -3
  14. package/learn/guides/{StateProviders.md → datahandling/StateProviders.md} +146 -1
  15. package/learn/guides/fundamentals/DeclarativeVDOMWithEffects.md +166 -0
  16. package/learn/guides/fundamentals/ExtendingNeoClasses.md +359 -0
  17. package/learn/guides/{Layouts.md → uibuildingblocks/Layouts.md} +40 -38
  18. package/learn/guides/{form_fields → userinteraction/form_fields}/ComboBox.md +3 -3
  19. package/learn/tree.json +64 -57
  20. package/package.json +3 -3
  21. package/src/DefaultConfig.mjs +2 -2
  22. package/src/Neo.mjs +244 -88
  23. package/src/button/Effect.mjs +435 -0
  24. package/src/collection/Base.mjs +35 -3
  25. package/src/component/Base.mjs +72 -61
  26. package/src/container/Base.mjs +28 -24
  27. package/src/controller/Base.mjs +87 -63
  28. package/src/core/Base.mjs +207 -33
  29. package/src/core/Compare.mjs +3 -13
  30. package/src/core/Config.mjs +230 -0
  31. package/src/core/ConfigSymbols.mjs +3 -0
  32. package/src/core/Effect.mjs +127 -0
  33. package/src/core/EffectBatchManager.mjs +68 -0
  34. package/src/core/EffectManager.mjs +38 -0
  35. package/src/core/Util.mjs +3 -18
  36. package/src/data/RecordFactory.mjs +22 -3
  37. package/src/grid/Container.mjs +8 -4
  38. package/src/grid/column/Component.mjs +1 -1
  39. package/src/state/Provider.mjs +343 -452
  40. package/src/state/createHierarchicalDataProxy.mjs +124 -0
  41. package/src/tab/header/EffectButton.mjs +75 -0
  42. package/src/util/Function.mjs +52 -5
  43. package/src/vdom/Helper.mjs +9 -10
  44. package/src/vdom/VNode.mjs +1 -1
  45. package/src/worker/App.mjs +0 -5
  46. package/test/siesta/siesta.js +32 -0
  47. package/test/siesta/tests/CollectionBase.mjs +10 -10
  48. package/test/siesta/tests/VdomHelper.mjs +22 -59
  49. package/test/siesta/tests/config/AfterSetConfig.mjs +100 -0
  50. package/test/siesta/tests/config/Basic.mjs +149 -0
  51. package/test/siesta/tests/config/CircularDependencies.mjs +166 -0
  52. package/test/siesta/tests/config/CustomFunctions.mjs +69 -0
  53. package/test/siesta/tests/config/Hierarchy.mjs +94 -0
  54. package/test/siesta/tests/config/MemoryLeak.mjs +92 -0
  55. package/test/siesta/tests/config/MultiLevelHierarchy.mjs +85 -0
  56. package/test/siesta/tests/core/Effect.mjs +131 -0
  57. package/test/siesta/tests/core/EffectBatching.mjs +322 -0
  58. package/test/siesta/tests/neo/MixinStaticConfig.mjs +138 -0
  59. package/test/siesta/tests/state/Provider.mjs +537 -0
  60. package/test/siesta/tests/state/createHierarchicalDataProxy.mjs +217 -0
  61. package/learn/guides/ExtendingNeoClasses.md +0 -331
  62. /package/learn/guides/{Tables.md → datahandling/Tables.md} +0 -0
  63. /package/learn/guides/{ApplicationBootstrap.md → fundamentals/ApplicationBootstrap.md} +0 -0
  64. /package/learn/guides/{ConfigSystemDeepDive.md → fundamentals/ConfigSystemDeepDive.md} +0 -0
  65. /package/learn/guides/{DeclarativeComponentTreesVsImperativeVdom.md → fundamentals/DeclarativeComponentTreesVsImperativeVdom.md} +0 -0
  66. /package/learn/guides/{InstanceLifecycle.md → fundamentals/InstanceLifecycle.md} +0 -0
  67. /package/learn/guides/{MainThreadAddons.md → fundamentals/MainThreadAddons.md} +0 -0
  68. /package/learn/guides/{Mixins.md → specificfeatures/Mixins.md} +0 -0
  69. /package/learn/guides/{MultiWindow.md → specificfeatures/MultiWindow.md} +0 -0
  70. /package/learn/guides/{PortalApp.md → specificfeatures/PortalApp.md} +0 -0
  71. /package/learn/guides/{ComponentsAndContainers.md → uibuildingblocks/ComponentsAndContainers.md} +0 -0
  72. /package/learn/guides/{CustomComponents.md → uibuildingblocks/CustomComponents.md} +0 -0
  73. /package/learn/guides/{WorkingWithVDom.md → uibuildingblocks/WorkingWithVDom.md} +0 -0
  74. /package/learn/guides/{Forms.md → userinteraction/Forms.md} +0 -0
  75. /package/learn/guides/{events → userinteraction/events}/CustomEvents.md +0 -0
  76. /package/learn/guides/{events → userinteraction/events}/DomEvents.md +0 -0
@@ -17,7 +17,7 @@ Depending on the `ntype`, additional properties can be provided to customize the
17
17
 
18
18
  Example:
19
19
 
20
- ```javascript
20
+ ```javascript readonly
21
21
  layout: {
22
22
  ntype: 'vbox',
23
23
  align: 'center'
@@ -66,33 +66,33 @@ sections or forms where elements flow from top to bottom.
66
66
 
67
67
  ```javascript live-preview
68
68
  import Container from '../container/Base.mjs';
69
- import Button from '../button/Base.mjs';
69
+ import Button from '../button/Base.mjs';
70
70
 
71
- class VBoxExample extends Container {
71
+ class MainView extends Container {
72
72
  static config = {
73
73
  className: 'Example.view.VBoxExample',
74
74
  layout: {
75
75
  ntype: 'vbox',
76
76
  align: 'center', // Center items horizontally
77
- pack: 'center' // Center items vertically
77
+ pack : 'center' // Center items vertically
78
78
  },
79
79
  items: [{
80
80
  module: Button,
81
- text: 'Button 1',
82
- width: 100
81
+ text : 'Button 1',
82
+ width : 100
83
83
  }, {
84
84
  module: Button,
85
- text: 'Button 2',
86
- width: 150
85
+ text : 'Button 2',
86
+ width : 150
87
87
  }, {
88
88
  module: Button,
89
- text: 'Button 3',
90
- flex: 1 // This button will expand to fill remaining vertical space
89
+ text : 'Button 3',
90
+ flex : 1 // This button will expand to fill remaining vertical space
91
91
  }]
92
92
  }
93
93
  }
94
94
 
95
- Neo.setupClass(VBoxExample);
95
+ MainView = Neo.setupClass(MainView);
96
96
  ```
97
97
 
98
98
  #### 2. HBox Layout (`ntype: 'hbox'`)
@@ -121,34 +121,34 @@ navigation menus, or any scenario where elements need to be displayed side-by-si
121
121
  **Example:**
122
122
 
123
123
  ```javascript live-preview
124
+ import Button from '../button/Base.mjs';
124
125
  import Container from '../container/Base.mjs';
125
- import Button from '../button/Base.mjs';
126
126
 
127
- class HBoxExample extends Container {
127
+ class MainView extends Container {
128
128
  static config = {
129
129
  className: 'Example.view.HBoxExample',
130
130
  layout: {
131
131
  ntype: 'hbox',
132
132
  align: 'center', // Center items vertically
133
- pack: 'start' // Pack items to the left
133
+ pack : 'start' // Pack items to the left
134
134
  },
135
135
  items: [{
136
136
  module: Button,
137
- text: 'Button A',
137
+ text : 'Button A',
138
138
  height: 50
139
139
  }, {
140
140
  module: Button,
141
- text: 'Button B',
141
+ text : 'Button B',
142
142
  height: 70
143
143
  }, {
144
144
  module: Button,
145
- text: 'Button C',
146
- flex: 1 // This button will expand to fill remaining horizontal space
145
+ text : 'Button C',
146
+ flex : 1 // This button will expand to fill remaining horizontal space
147
147
  }]
148
148
  }
149
149
  }
150
150
 
151
- Neo.setupClass(HBoxExample);
151
+ MainView = Neo.setupClass(MainView);
152
152
  ```
153
153
 
154
154
  #### 3. Card Layout (`ntype: 'card'`)
@@ -174,51 +174,53 @@ hidden.
174
174
  **Example:**
175
175
 
176
176
  ```javascript live-preview
177
+ import Button from '../button/Base.mjs';
177
178
  import Container from '../container/Base.mjs';
178
- import Button from '../button/Base.mjs';
179
179
 
180
- class CardExample extends Container {
180
+ class MainView extends Container {
181
181
  static config = {
182
182
  className: 'Example.view.CardExample',
183
+ ntype : 'card-example-container',
183
184
  layout: {
184
185
  ntype: 'card',
185
186
  activeIndex: 0 // Start with the first card active
186
187
  },
187
- items: [{
188
+ itemDefaults: {
188
189
  module: Container,
189
- cls: 'card-panel',
190
+ cls : 'card-panel',
191
+ layout: 'base'
192
+ },
193
+ items: [{
190
194
  items: [{
191
195
  module: Button,
192
- text: 'Go to Card 2',
193
- handler: function() {
194
- this.up('container').layout.activeIndex = 1;
196
+ text : 'Go to Card 2',
197
+ handler() {
198
+ this.up('card-example-container').layout.activeIndex = 1
195
199
  }
196
200
  }],
197
201
  style: {
198
202
  backgroundColor: '#e0f7fa',
199
- padding: '20px',
200
- textAlign: 'center'
203
+ padding : '20px',
204
+ textAlign : 'center'
201
205
  }
202
206
  }, {
203
- module: Container,
204
- cls: 'card-panel',
205
207
  items: [{
206
208
  module: Button,
207
- text: 'Go to Card 1',
208
- handler: function() {
209
- this.up('container').layout.activeIndex = 0;
209
+ text : 'Go to Card 1',
210
+ handler() {
211
+ this.up('card-example-container').layout.activeIndex = 0
210
212
  }
211
213
  }],
212
214
  style: {
213
215
  backgroundColor: '#fff3e0',
214
- padding: '20px',
215
- textAlign: 'center'
216
+ padding : '20px',
217
+ textAlign : 'center'
216
218
  }
217
219
  }]
218
220
  }
219
221
  }
220
222
 
221
- Neo.setupClass(CardExample);
223
+ MainView = Neo.setupClass(MainView);
222
224
  ```
223
225
 
224
226
  #### Lazy Loading with Card Layouts
@@ -230,7 +232,7 @@ This is achieved by defining the `module` property of an item within the `items`
230
232
  dynamic `import()` statement. For example, in the Portal app's `Viewport.mjs`,
231
233
  modules are lazy-loaded like this:
232
234
 
233
- ```javascript
235
+ ```javascript readonly
234
236
  items: [
235
237
  {module: () => import('./home/MainContainer.mjs')},
236
238
  {module: () => import('./learn/MainContainer.mjs')},
@@ -243,4 +245,4 @@ module, and then creates the component instance. This ensures that resources are
243
245
  needed.
244
246
 
245
247
  This is just the beginning of understanding layouts in Neo.mjs. In subsequent sections, we will explore more advanced
246
- layout types and concepts like nesting layouts for complex UI structures.
248
+ layout types and concepts like nesting layouts for complex UI structures.
@@ -46,9 +46,9 @@ In this example:
46
46
  For more complex scenarios, especially when dealing with large datasets or remote data, it's best practice to use a separate `Neo.data.Store` instance.
47
47
 
48
48
  ```javascript readonly
49
- import ComboBox from '../../src/form/field/ComboBox.mjs';
50
- import Store from '../../src/data/Store.mjs';
51
- import Model from '../../src/data/Model.mjs';
49
+ import ComboBox from '../../src/form/field/ComboBox.mjs';
50
+ import Store from '../../src/data/Store.mjs';
51
+ import Model from '../../src/data/Model.mjs';
52
52
 
53
53
  // Define a Model for your data
54
54
  class CountryModel extends Model {
package/learn/tree.json CHANGED
@@ -1,59 +1,66 @@
1
1
  {"data": [
2
- {"name": "Using These Topics", "parentId": null, "id": "UsingTheseTopics" },
3
- {"name": "Benefits", "parentId": null, "isLeaf": false, "id": "Benefits"},
4
- {"name": "Introduction ", "parentId": "Benefits", "id": "benefits.Introduction"},
5
- {"name": "Off the Main Thread", "parentId": "Benefits", "id": "benefits.OffTheMainThread"},
6
- {"name": "4 Environments", "parentId": "Benefits", "id": "benefits.FourEnvironments"},
7
- {"name": "Unified Config System", "parentId": "Benefits", "id": "benefits.ConfigSystem"},
8
- {"name": "RPC Layer", "parentId": "Benefits", "id": "benefits.RPCLayer"},
9
- {"name": "Extreme Speed", "parentId": "Benefits", "id": "benefits.Speed"},
10
- {"name": "Multi-Window Applications", "parentId": "Benefits", "id": "benefits.MultiWindow"},
11
- {"name": "Quick Application Development", "parentId": "Benefits", "id": "benefits.Quick"},
12
- {"name": "Complexity and Effort", "parentId": "Benefits", "id": "benefits.Effort"},
13
- {"name": "Forms Engine", "parentId": "Benefits", "id": "benefits.FormsEngine"},
14
- {"name": "Features and Benefits Summary", "parentId": "Benefits", "id": "benefits.Features"},
15
- {"name": "Getting Started", "parentId": null, "isLeaf": false, "id": "GettingStarted", "collapsed": true},
16
- {"name": "Setup", "parentId": "GettingStarted", "id": "gettingstarted.Setup"},
17
- {"name": "Workspaces and Applications", "parentId": "GettingStarted", "id": "gettingstarted.Workspaces"},
18
- {"name": "Describing a View", "parentId": "GettingStarted", "id": "gettingstarted.DescribingTheUI"},
19
- {"name": "Events", "parentId": "GettingStarted", "id": "gettingstarted.Events"},
20
- {"name": "Component References", "parentId": "GettingStarted", "id": "gettingstarted.References"},
21
- {"name": "Extending Classes", "parentId": "GettingStarted", "id": "gettingstarted.Extending"},
22
- {"name": "Config", "parentId": "GettingStarted", "id": "gettingstarted.Config"},
23
- {"name": "Shared Bindable Data", "parentId": "GettingStarted", "id": "gettingstarted.ComponentModels"},
24
- {"name": "Guides", "parentId": null, "isLeaf": false, "id": "InDepth", "collapsed": true},
25
- {"name": "Application Bootstrap", "parentId": "InDepth", "id": "guides.ApplicationBootstrap"},
26
- {"name": "Instance Lifecycle", "parentId": "InDepth", "id": "guides.InstanceLifecycle"},
27
- {"name": "Declarative Component Trees VS Imperative Vdom", "parentId": "InDepth", "id": "guides.DeclarativeComponentTreesVsImperativeVdom"},
28
- {"name": "Shared Bindable Data (State Providers)", "parentId": "InDepth", "id": "guides.StateProviders"},
29
- {"name": "Working with VDom", "parentId": "InDepth", "id": "guides.WorkingWithVDom"},
30
- {"name": "Config System Deep Dive", "parentId": "InDepth", "id": "guides.ConfigSystemDeepDive"},
31
- {"name": "Extending Neo Classes", "parentId": "InDepth", "id": "guides.ExtendingNeoClasses"},
32
- {"name": "Main Thread Addons: Interacting with the Browser", "parentId": "InDepth", "id": "guides.MainThreadAddons"},
33
- {"name": "User Input (Forms)", "parentId": "InDepth", "id": "guides.Forms"},
34
- {"name": "Form Fields", "parentId": "InDepth", "isLeaf": false, "id": "guides.form_fields"},
35
- {"name": "ComboBox", "parentId": "guides.form_fields", "id": "guides.form_fields.ComboBox"},
36
- {"name": "Component and Container Basics", "parentId": "InDepth", "id": "guides.ComponentsAndContainers"},
37
- {"name": "Layouts", "parentId": "InDepth", "isLeaf": false, "id": "guides.Layouts"},
38
- {"name": "Custom Components", "parentId": "InDepth", "id": "guides.CustomComponents"},
39
- {"name": "Events", "parentId": "InDepth", "isLeaf": false, "id": "GuideEvents"},
40
- {"name": "Custom Events", "parentId": "GuideEvents", "id": "guides.events.CustomEvents"},
41
- {"name": "DOM Events", "parentId": "GuideEvents", "id": "guides.events.DomEvents"},
42
- {"name": "Portal App", "parentId": "InDepth", "id": "guides.PortalApp"},
43
- {"name": "Tables (Stores)", "parentId": "InDepth", "id": "guides.Tables", "hidden": true},
44
- {"name": "Multi-Window Applications", "parentId": "InDepth", "id": "guides.MultiWindow", "hidden": true},
45
- {"name": "Mixins", "parentId": "InDepth", "id": "guides.Mixins", "hidden": true},
46
- {"name": "Collections", "parentId": "InDepth", "id": "guides.Collections"},
47
- {"name": "Records", "parentId": "InDepth", "id": "guides.Records"},
48
- {"name": "Tutorials", "parentId": null, "isLeaf": false, "id": "Tutorials", "collapsed": true},
49
- {"name": "Rock Scissors Paper", "parentId": "Tutorials", "id": "tutorials.RSP", "hidden": true},
50
- {"name": "Earthquakes", "parentId": "Tutorials", "id": "tutorials.Earthquakes"},
51
- {"name": "Todo List", "parentId": "Tutorials", "id": "tutorials.TodoList"},
52
- {"name": "JavaScript Classes", "parentId": null, "isLeaf": false, "id": "JavaScript", "hidden": true},
53
- {"name": "Classes, Properties, and Methods", "parentId": "JavaScript", "id": "javascript.Classes"},
54
- {"name": "Overriding Methods", "parentId": "JavaScript", "id": "javascript.Overrides"},
55
- {"name": "Other JavaScript Class Features", "parentId": "JavaScript", "id": "javascript.ClassFeatures"},
56
- {"name": "Super", "parentId": "JavaScript", "id": "javascript.Super"},
57
- {"name": "New Node", "parentId": "JavaScript", "id": "javascript.NewNode"},
58
- {"name": "Glossary", "parentId": null, "id": "Glossary"}
2
+ {"name": "Using These Topics", "parentId": null, "id": "UsingTheseTopics" },
3
+ {"name": "Benefits", "parentId": null, "isLeaf": false, "id": "Benefits"},
4
+ {"name": "Introduction ", "parentId": "Benefits", "id": "benefits/Introduction"},
5
+ {"name": "Off the Main Thread", "parentId": "Benefits", "id": "benefits/OffTheMainThread"},
6
+ {"name": "4 Environments", "parentId": "Benefits", "id": "benefits/FourEnvironments"},
7
+ {"name": "Unified Config System", "parentId": "Benefits", "id": "benefits/ConfigSystem"},
8
+ {"name": "RPC Layer", "parentId": "Benefits", "id": "benefits/RPCLayer"},
9
+ {"name": "Extreme Speed", "parentId": "Benefits", "id": "benefits/Speed"},
10
+ {"name": "Multi-Window Applications", "parentId": "Benefits", "id": "benefits/MultiWindow"},
11
+ {"name": "Quick Application Development", "parentId": "Benefits", "id": "benefits/Quick"},
12
+ {"name": "Complexity and Effort", "parentId": "Benefits", "id": "benefits/Effort"},
13
+ {"name": "Forms Engine", "parentId": "Benefits", "id": "benefits/FormsEngine"},
14
+ {"name": "Features and Benefits Summary", "parentId": "Benefits", "id": "benefits/Features"},
15
+ {"name": "Getting Started", "parentId": null, "isLeaf": false, "id": "GettingStarted", "collapsed": true},
16
+ {"name": "Setup", "parentId": "GettingStarted", "id": "gettingstarted/Setup"},
17
+ {"name": "Workspaces and Applications", "parentId": "GettingStarted", "id": "gettingstarted/Workspaces"},
18
+ {"name": "Describing a View", "parentId": "GettingStarted", "id": "gettingstarted/DescribingTheUI"},
19
+ {"name": "Events", "parentId": "GettingStarted", "id": "gettingstarted/Events"},
20
+ {"name": "Component References", "parentId": "GettingStarted", "id": "gettingstarted/References"},
21
+ {"name": "Extending Classes", "parentId": "GettingStarted", "id": "gettingstarted/Extending"},
22
+ {"name": "Config", "parentId": "GettingStarted", "id": "gettingstarted/Config"},
23
+ {"name": "Shared Bindable Data", "parentId": "GettingStarted", "id": "gettingstarted/ComponentModels"},
24
+ {"name": "Guides", "parentId": null, "isLeaf": false, "id": "guides", "collapsed": true},
25
+ {"name": "Fundamentals & Core Concepts", "parentId": "guides", "isLeaf": false, "id": "guides/fundamentals", "collapsed": true},
26
+ {"name": "Application Bootstrap", "parentId": "guides/fundamentals", "id": "guides/fundamentals/ApplicationBootstrap"},
27
+ {"name": "Instance Lifecycle", "parentId": "guides/fundamentals", "id": "guides/fundamentals/InstanceLifecycle"},
28
+ {"name": "Declarative Component Trees VS Imperative Vdom", "parentId": "guides/fundamentals", "id": "guides/fundamentals/DeclarativeComponentTreesVsImperativeVdom"},
29
+ {"name": "Declarative VDOM with Effects", "parentId": "guides/fundamentals", "id": "guides/fundamentals/DeclarativeVDOMWithEffects"},
30
+ {"name": "Config System Deep Dive", "parentId": "guides/fundamentals", "id": "guides/fundamentals/ConfigSystemDeepDive"},
31
+ {"name": "Extending Neo Classes", "parentId": "guides/fundamentals", "id": "guides/fundamentals/ExtendingNeoClasses"},
32
+ {"name": "Main Thread Addons: Interacting with the Browser", "parentId": "guides/fundamentals", "id": "guides/fundamentals/MainThreadAddons"},
33
+ {"name": "UI Building Blocks", "parentId": "guides", "isLeaf": false, "id": "guides/uibuildingblocks", "collapsed": true},
34
+ {"name": "Component and Container Basics", "parentId": "guides/uibuildingblocks", "id": "guides/uibuildingblocks/ComponentsAndContainers"},
35
+ {"name": "Layouts", "parentId": "guides/uibuildingblocks", "id": "guides/uibuildingblocks/Layouts"},
36
+ {"name": "Custom Components", "parentId": "guides/uibuildingblocks", "id": "guides/uibuildingblocks/CustomComponents"},
37
+ {"name": "Working with VDom", "parentId": "guides/uibuildingblocks", "id": "guides/uibuildingblocks/WorkingWithVDom"},
38
+ {"name": "Data Handling", "parentId": "guides", "isLeaf": false, "id": "guides/datahandling", "collapsed": true},
39
+ {"name": "Collections", "parentId": "guides/datahandling", "id": "guides/datahandling/Collections"},
40
+ {"name": "Records", "parentId": "guides/datahandling", "id": "guides/datahandling/Records"},
41
+ {"name": "Grids", "parentId": "guides/datahandling", "id": "guides/datahandling/Grids"},
42
+ {"name": "Tables (Stores)", "parentId": "guides/datahandling", "id": "guides/datahandling/Tables", "hidden": true},
43
+ {"name": "Shared Bindable Data (State Providers)", "parentId": "guides/datahandling", "id": "guides/datahandling/StateProviders"},
44
+ {"name": "User Interaction & Advanced Features", "parentId": "guides", "isLeaf": false, "id": "guides/userinteraction", "collapsed": true},
45
+ {"name": "User Input (Forms)", "parentId": "guides/userinteraction", "id": "guides/userinteraction/Forms"},
46
+ {"name": "Form Fields", "parentId": "guides/userinteraction", "isLeaf": false, "id": "guides/userinteraction/form_fields"},
47
+ {"name": "ComboBox", "parentId": "guides/userinteraction/form_fields", "id": "guides/userinteraction/form_fields/ComboBox"},
48
+ {"name": "Events", "parentId": "guides/userinteraction", "isLeaf": false, "id": "guides/userinteraction/events"},
49
+ {"name": "Custom Events", "parentId": "guides/userinteraction/events", "id": "guides/userinteraction/events/CustomEvents"},
50
+ {"name": "DOM Events", "parentId": "guides/userinteraction/events", "id": "guides/userinteraction/events/DomEvents"},
51
+ {"name": "Specific Applications/Features", "parentId": "guides", "isLeaf": false, "id": "guides/SpecificFeatures", "collapsed": true},
52
+ {"name": "Multi-Window Applications", "parentId": "guides/specificfeatures", "id": "guides/specificfeatures/MultiWindow", "hidden": true},
53
+ {"name": "Mixins", "parentId": "guides/specificfeatures", "id": "guides/specificfeatures/Mixins", "hidden": true},
54
+ {"name": "Portal App", "parentId": "guides/specificfeatures", "id": "guides/specificfeatures/PortalApp"},
55
+ {"name": "Tutorials", "parentId": null, "isLeaf": false, "id": "Tutorials", "collapsed": true},
56
+ {"name": "Rock Scissors Paper", "parentId": "Tutorials", "id": "tutorials/RSP", "hidden": true},
57
+ {"name": "Earthquakes", "parentId": "Tutorials", "id": "tutorials/Earthquakes"},
58
+ {"name": "Todo List", "parentId": "Tutorials", "id": "tutorials/TodoList"},
59
+ {"name": "JavaScript Classes", "parentId": null, "isLeaf": false, "id": "JavaScript", "hidden": true},
60
+ {"name": "Classes, Properties, and Methods", "parentId": "JavaScript", "id": "javascript/Classes"},
61
+ {"name": "Overriding Methods", "parentId": "JavaScript", "id": "javascript/Overrides"},
62
+ {"name": "Other JavaScript Class Features", "parentId": "JavaScript", "id": "javascript/ClassFeatures"},
63
+ {"name": "Super", "parentId": "JavaScript", "id": "javascript/Super"},
64
+ {"name": "New Node", "parentId": "JavaScript", "id": "javascript/NewNode"},
65
+ {"name": "Glossary", "parentId": null, "id": "Glossary"}
59
66
  ]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name" : "neo.mjs",
3
- "version" : "10.0.0-beta.3",
3
+ "version" : "10.0.0-beta.5",
4
4
  "description" : "Neo.mjs: The multi-threaded UI framework for building ultra-fast, desktop-like web applications with uncompromised responsiveness, inherent security, and a transpilation-free dev mode.",
5
5
  "type" : "module",
6
6
  "repository" : {
@@ -86,7 +86,7 @@
86
86
  "fs-extra" : "^11.3.0",
87
87
  "highlightjs-line-numbers.js" : "^2.9.0",
88
88
  "html-minifier-terser" : "^7.2.0",
89
- "inquirer" : "^12.6.3",
89
+ "inquirer" : "^12.7.0",
90
90
  "marked" : "^16.0.0",
91
91
  "monaco-editor" : "0.50.0",
92
92
  "neo-jsdoc" : "1.0.1",
@@ -96,7 +96,7 @@
96
96
  "siesta-lite" : "5.5.2",
97
97
  "terser" : "^5.43.1",
98
98
  "url" : "^0.11.4",
99
- "webpack" : "^5.99.9",
99
+ "webpack" : "^5.100.0",
100
100
  "webpack-cli" : "^6.0.1",
101
101
  "webpack-dev-server" : "^5.2.2",
102
102
  "webpack-hook-plugin" : "^1.0.7",
@@ -289,12 +289,12 @@ const DefaultConfig = {
289
289
  useVdomWorker: true,
290
290
  /**
291
291
  * buildScripts/injectPackageVersion.mjs will update this value
292
- * @default '10.0.0-beta.3'
292
+ * @default '10.0.0-beta.5'
293
293
  * @memberOf! module:Neo
294
294
  * @name config.version
295
295
  * @type String
296
296
  */
297
- version: '10.0.0-beta.3'
297
+ version: '10.0.0-beta.5'
298
298
  };
299
299
 
300
300
  Object.assign(DefaultConfig, {