neo.mjs 10.0.0-beta.5 → 10.0.0

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 (491) hide show
  1. package/.github/RELEASE_NOTES/v10.0.0-beta.1.md +20 -0
  2. package/.github/RELEASE_NOTES/v10.0.0-beta.2.md +73 -0
  3. package/.github/RELEASE_NOTES/v10.0.0-beta.3.md +39 -0
  4. package/.github/RELEASE_NOTES/v10.0.0-beta.5.md +70 -0
  5. package/.github/RELEASE_NOTES/v10.0.0-beta.6.md +48 -0
  6. package/.github/RELEASE_NOTES/v10.0.0.md +52 -0
  7. package/.github/epic-functional-components.md +498 -0
  8. package/.github/ticket-asymmetric-vdom-updates.md +122 -0
  9. package/README.md +0 -3
  10. package/ServiceWorker.mjs +2 -2
  11. package/apps/colors/store/Colors.mjs +1 -0
  12. package/apps/colors/view/GridContainer.mjs +3 -0
  13. package/apps/colors/view/HeaderToolbar.mjs +2 -0
  14. package/apps/colors/view/Viewport.mjs +3 -0
  15. package/apps/covid/view/FooterContainer.mjs +3 -0
  16. package/apps/covid/view/GalleryContainer.mjs +2 -0
  17. package/apps/covid/view/GalleryContainerController.mjs +1 -0
  18. package/apps/covid/view/HeaderContainer.mjs +2 -0
  19. package/apps/covid/view/HelixContainer.mjs +2 -0
  20. package/apps/covid/view/HelixContainerController.mjs +1 -0
  21. package/apps/covid/view/MainContainer.mjs +3 -0
  22. package/apps/covid/view/TableContainer.mjs +3 -0
  23. package/apps/covid/view/TableContainerController.mjs +1 -0
  24. package/apps/covid/view/WorldMapContainer.mjs +2 -0
  25. package/apps/covid/view/country/Gallery.mjs +3 -0
  26. package/apps/covid/view/country/Helix.mjs +8 -0
  27. package/apps/covid/view/country/HistoricalDataTable.mjs +1 -0
  28. package/apps/covid/view/country/Table.mjs +2 -0
  29. package/apps/covid/view/mapboxGl/Component.mjs +1 -0
  30. package/apps/covid/view/mapboxGl/Container.mjs +2 -0
  31. package/apps/email/EPIC_PLAN.md +58 -0
  32. package/apps/email/neo-config.json +2 -2
  33. package/apps/email/store/Emails.mjs +11 -1
  34. package/apps/email/view/ComposeView.mjs +44 -0
  35. package/apps/email/view/MainView.mjs +89 -0
  36. package/apps/email/view/Viewport.mjs +4 -33
  37. package/apps/email/view/ViewportStateProvider.mjs +3 -3
  38. package/apps/form/store/SideNav.mjs +1 -0
  39. package/apps/form/view/FormContainer.mjs +1 -0
  40. package/apps/form/view/FormPageContainer.mjs +2 -0
  41. package/apps/form/view/SideNavList.mjs +1 -0
  42. package/apps/form/view/Viewport.mjs +3 -0
  43. package/apps/portal/childapps/preview/MainContainer.mjs +1 -0
  44. package/apps/portal/index.html +1 -1
  45. package/apps/portal/store/BlogPosts.mjs +2 -0
  46. package/apps/portal/store/Content.mjs +1 -0
  47. package/apps/portal/store/ContentSections.mjs +1 -0
  48. package/apps/portal/store/Examples.mjs +1 -0
  49. package/apps/portal/view/HeaderToolbar.mjs +1 -0
  50. package/apps/portal/view/Viewport.mjs +5 -0
  51. package/apps/portal/view/ViewportController.mjs +11 -3
  52. package/apps/portal/view/about/Container.mjs +2 -0
  53. package/apps/portal/view/about/MemberContainer.mjs +7 -0
  54. package/apps/portal/view/blog/Container.mjs +2 -0
  55. package/apps/portal/view/blog/List.mjs +2 -0
  56. package/apps/portal/view/examples/List.mjs +29 -19
  57. package/apps/portal/view/examples/TabContainer.mjs +4 -0
  58. package/apps/portal/view/home/ContentBox.mjs +3 -0
  59. package/apps/portal/view/home/FeatureSection.mjs +8 -0
  60. package/apps/portal/view/home/FooterContainer.mjs +4 -1
  61. package/apps/portal/view/home/MainContainer.mjs +2 -0
  62. package/apps/portal/view/home/parts/AfterMath.mjs +2 -0
  63. package/apps/portal/view/home/parts/BaseContainer.mjs +1 -0
  64. package/apps/portal/view/home/parts/Colors.mjs +4 -0
  65. package/apps/portal/view/home/parts/Features.mjs +2 -0
  66. package/apps/portal/view/home/parts/Helix.mjs +5 -0
  67. package/apps/portal/view/home/parts/How.mjs +4 -0
  68. package/apps/portal/view/home/parts/MainNeo.mjs +1 -0
  69. package/apps/portal/view/home/parts/References.mjs +2 -0
  70. package/apps/portal/view/learn/ContentComponent.mjs +11 -5
  71. package/apps/portal/view/learn/ContentTreeList.mjs +2 -0
  72. package/apps/portal/view/learn/CubeLayoutButton.mjs +1 -0
  73. package/apps/portal/view/learn/MainContainer.mjs +4 -0
  74. package/apps/portal/view/learn/PageContainer.mjs +2 -0
  75. package/apps/portal/view/learn/PageSectionsContainer.mjs +3 -0
  76. package/apps/portal/view/learn/PageSectionsList.mjs +1 -0
  77. package/apps/portal/view/services/Component.mjs +1 -0
  78. package/apps/realworld/api/Base.mjs +1 -0
  79. package/apps/realworld/view/HeaderComponent.mjs +4 -0
  80. package/apps/realworld/view/HomeComponent.mjs +7 -0
  81. package/apps/realworld/view/MainContainer.mjs +2 -0
  82. package/apps/realworld/view/MainContainerController.mjs +2 -0
  83. package/apps/realworld/view/article/CommentComponent.mjs +3 -0
  84. package/apps/realworld/view/article/Component.mjs +17 -10
  85. package/apps/realworld/view/article/CreateCommentComponent.mjs +2 -0
  86. package/apps/realworld/view/article/CreateComponent.mjs +5 -0
  87. package/apps/realworld/view/article/PreviewComponent.mjs +9 -0
  88. package/apps/realworld/view/article/TagListComponent.mjs +2 -0
  89. package/apps/realworld/view/user/ProfileComponent.mjs +7 -0
  90. package/apps/realworld/view/user/SettingsComponent.mjs +5 -0
  91. package/apps/realworld/view/user/SignUpComponent.mjs +3 -0
  92. package/apps/realworld2/api/Base.mjs +1 -0
  93. package/apps/realworld2/view/FooterComponent.mjs +1 -0
  94. package/apps/realworld2/view/HeaderToolbar.mjs +3 -0
  95. package/apps/realworld2/view/HomeContainer.mjs +1 -0
  96. package/apps/realworld2/view/MainContainer.mjs +2 -0
  97. package/apps/realworld2/view/MainContainerController.mjs +1 -0
  98. package/apps/realworld2/view/article/Helix.mjs +1 -0
  99. package/apps/realworld2/view/article/PreviewComponent.mjs +9 -0
  100. package/apps/realworld2/view/article/PreviewList.mjs +1 -0
  101. package/apps/realworld2/view/article/TagListComponent.mjs +2 -0
  102. package/apps/route/view/CenterContainer.mjs +1 -0
  103. package/apps/route/view/MainView.mjs +1 -0
  104. package/apps/sharedcovid/childapps/sharedcovidchart/MainContainer.mjs +1 -0
  105. package/apps/sharedcovid/childapps/sharedcovidgallery/MainContainer.mjs +1 -0
  106. package/apps/sharedcovid/childapps/sharedcovidhelix/MainContainer.mjs +1 -0
  107. package/apps/sharedcovid/childapps/sharedcovidmap/MainContainer.mjs +1 -0
  108. package/apps/sharedcovid/view/FooterContainer.mjs +3 -0
  109. package/apps/sharedcovid/view/GalleryContainer.mjs +2 -0
  110. package/apps/sharedcovid/view/GalleryContainerController.mjs +1 -0
  111. package/apps/sharedcovid/view/HeaderContainer.mjs +2 -0
  112. package/apps/sharedcovid/view/HelixContainer.mjs +2 -0
  113. package/apps/sharedcovid/view/HelixContainerController.mjs +1 -0
  114. package/apps/sharedcovid/view/MainContainer.mjs +3 -0
  115. package/apps/sharedcovid/view/TableContainer.mjs +3 -0
  116. package/apps/sharedcovid/view/TableContainerController.mjs +1 -0
  117. package/apps/sharedcovid/view/WorldMapContainer.mjs +2 -0
  118. package/apps/sharedcovid/view/country/Gallery.mjs +3 -0
  119. package/apps/sharedcovid/view/country/Helix.mjs +8 -0
  120. package/apps/sharedcovid/view/country/HistoricalDataTable.mjs +1 -0
  121. package/apps/sharedcovid/view/country/Table.mjs +2 -0
  122. package/apps/sharedcovid/view/mapboxGl/Component.mjs +1 -0
  123. package/apps/sharedcovid/view/mapboxGl/Container.mjs +2 -0
  124. package/apps/shareddialog/childapps/shareddialog2/view/MainContainer.mjs +2 -0
  125. package/apps/shareddialog/view/DemoDialog.mjs +2 -0
  126. package/apps/shareddialog/view/MainContainer.mjs +2 -0
  127. package/apps/shareddialog/view/MainContainerController.mjs +1 -0
  128. package/buildScripts/addReactiveTags.mjs +191 -0
  129. package/buildScripts/checkReactiveTags.mjs +160 -0
  130. package/docs/app/store/Api.mjs +1 -0
  131. package/docs/app/store/Examples.mjs +1 -0
  132. package/docs/app/view/ApiTreeList.mjs +1 -0
  133. package/docs/app/view/ContentTabContainer.mjs +2 -0
  134. package/docs/app/view/ExamplesTreeList.mjs +2 -0
  135. package/docs/app/view/HeaderContainer.mjs +3 -0
  136. package/docs/app/view/MainContainer.mjs +5 -0
  137. package/docs/app/view/classdetails/HeaderComponent.mjs +1 -0
  138. package/docs/app/view/classdetails/MainContainer.mjs +3 -0
  139. package/docs/app/view/classdetails/MembersList.mjs +5 -0
  140. package/docs/app/view/classdetails/SourceViewComponent.mjs +2 -0
  141. package/examples/ConfigurationViewport.mjs +14 -8
  142. package/examples/calendar/weekview/MainContainer.mjs +4 -0
  143. package/examples/component/coronaGallery/CountryGallery.mjs +2 -0
  144. package/examples/component/coronaGallery/CountryStore.mjs +1 -0
  145. package/examples/component/coronaGallery/Viewport.mjs +3 -0
  146. package/examples/component/coronaGallery/ViewportController.mjs +1 -0
  147. package/examples/component/coronaHelix/CountryHelix.mjs +7 -0
  148. package/examples/component/coronaHelix/MainContainer.mjs +1 -0
  149. package/examples/component/gallery/ImageStore.mjs +1 -0
  150. package/examples/component/helix/ImageStore.mjs +1 -0
  151. package/examples/component/helix/Viewport.mjs +3 -0
  152. package/examples/component/helix/ViewportController.mjs +1 -0
  153. package/examples/component/multiWindowCoronaGallery/childapp/Viewport.mjs +1 -0
  154. package/examples/component/multiWindowHelix/childapp/Viewport.mjs +1 -0
  155. package/examples/component/wrapper/googleMaps/MapComponent.mjs +2 -0
  156. package/examples/core/config/MainContainer.mjs +2 -0
  157. package/examples/dialog/DemoDialog.mjs +2 -0
  158. package/examples/dialog/MainContainer.mjs +1 -0
  159. package/examples/form/field/color/MainStore.mjs +1 -0
  160. package/examples/functional/button/base/MainContainer.mjs +207 -0
  161. package/examples/functional/button/base/app.mjs +6 -0
  162. package/examples/functional/button/base/index.html +11 -0
  163. package/examples/functional/button/base/neo-config.json +6 -0
  164. package/examples/functional/defineComponent/Component.mjs +18 -0
  165. package/examples/functional/defineComponent/MainContainer.mjs +41 -0
  166. package/examples/functional/defineComponent/app.mjs +6 -0
  167. package/examples/functional/defineComponent/index.html +11 -0
  168. package/examples/functional/defineComponent/neo-config.json +6 -0
  169. package/examples/functional/hostComponent/Component.mjs +32 -0
  170. package/examples/functional/hostComponent/MainContainer.mjs +48 -0
  171. package/examples/functional/hostComponent/app.mjs +6 -0
  172. package/examples/functional/hostComponent/index.html +11 -0
  173. package/examples/functional/hostComponent/neo-config.json +6 -0
  174. package/examples/grid/animatedRowSorting/Viewport.mjs +1 -1
  175. package/examples/grid/bigData/ControlsContainer.mjs +3 -0
  176. package/examples/grid/bigData/GridContainer.mjs +4 -2
  177. package/examples/grid/bigData/MainContainer.mjs +2 -0
  178. package/examples/grid/bigData/MainModel.mjs +1 -0
  179. package/examples/grid/bigData/MainStore.mjs +3 -0
  180. package/examples/grid/cellEditing/MainContainer.mjs +1 -1
  181. package/examples/grid/container/MainContainer.mjs +1 -1
  182. package/examples/grid/covid/GridContainer.mjs +3 -0
  183. package/examples/grid/covid/MainContainer.mjs +2 -0
  184. package/examples/grid/covid/Store.mjs +1 -0
  185. package/examples/grid/nestedRecordFields/EditUserDialog.mjs +3 -0
  186. package/examples/grid/nestedRecordFields/Viewport.mjs +3 -1
  187. package/examples/list/animate/List.mjs +4 -0
  188. package/examples/list/animate/MainContainer.mjs +2 -0
  189. package/examples/list/circle/MainStore.mjs +1 -0
  190. package/examples/list/color/MainStore.mjs +1 -0
  191. package/examples/preloadingAssets/view/MainContainer.mjs +2 -0
  192. package/examples/stateProvider/advanced/MainContainer.mjs +1 -0
  193. package/examples/stateProvider/dialog/EditUserDialog.mjs +2 -0
  194. package/examples/stateProvider/dialog/MainContainer.mjs +1 -0
  195. package/examples/stateProvider/extendedClass/MainContainer.mjs +2 -0
  196. package/examples/stateProvider/inline/MainContainer.mjs +1 -0
  197. package/examples/stateProvider/inlineNoStateProvider/MainContainer.mjs +1 -0
  198. package/examples/stateProvider/inlineNoStateProvider/MainContainerController.mjs +2 -0
  199. package/examples/stateProvider/multiWindow/EditUserDialog.mjs +3 -0
  200. package/examples/stateProvider/multiWindow/MainContainer.mjs +1 -0
  201. package/examples/stateProvider/multiWindow/Viewport.mjs +1 -0
  202. package/examples/stateProvider/nestedData/MainContainer.mjs +1 -0
  203. package/examples/stateProvider/table/MainContainer.mjs +1 -0
  204. package/examples/table/covid/MainContainer.mjs +2 -0
  205. package/examples/table/covid/Store.mjs +1 -0
  206. package/examples/table/covid/TableContainer.mjs +3 -0
  207. package/examples/table/nestedRecordFields/EditUserDialog.mjs +3 -0
  208. package/examples/table/nestedRecordFields/Viewport.mjs +1 -0
  209. package/examples/todoList/version1/MainComponent.mjs +1 -1
  210. package/examples/toolbar/breadcrumb/view/MainContainer.mjs +2 -0
  211. package/examples/toolbar/paging/store/Users.mjs +1 -0
  212. package/examples/toolbar/paging/view/AddUserDialog.mjs +3 -0
  213. package/examples/toolbar/paging/view/MainContainer.mjs +3 -0
  214. package/examples/treeAccordion/MainContainer.mjs +2 -2
  215. package/examples/worker/task/MainContainer.mjs +1 -0
  216. package/learn/Glossary.md +1 -0
  217. package/learn/UsingTheseTopics.md +1 -0
  218. package/learn/benefits/ConfigSystem.md +2 -0
  219. package/learn/benefits/Effort.md +1 -0
  220. package/learn/benefits/Features.md +1 -0
  221. package/learn/benefits/FormsEngine.md +1 -0
  222. package/learn/benefits/FourEnvironments.md +2 -0
  223. package/learn/benefits/Introduction.md +2 -0
  224. package/learn/benefits/MultiWindow.md +3 -1
  225. package/learn/benefits/OffTheMainThread.md +2 -0
  226. package/learn/benefits/Quick.md +2 -0
  227. package/learn/benefits/RPCLayer.md +2 -0
  228. package/learn/benefits/Speed.md +2 -0
  229. package/learn/blog/v10-deep-dive-functional-components.md +293 -0
  230. package/learn/blog/v10-deep-dive-reactivity.md +522 -0
  231. package/learn/blog/v10-deep-dive-state-provider.md +432 -0
  232. package/learn/blog/v10-deep-dive-vdom-revolution.md +194 -0
  233. package/learn/blog/v10-post1-love-story.md +383 -0
  234. package/learn/comparisons/NeoVsAngular.md +90 -0
  235. package/learn/comparisons/NeoVsExtJs.md +178 -0
  236. package/learn/comparisons/NeoVsNextJs.md +124 -0
  237. package/learn/comparisons/NeoVsReact.md +95 -0
  238. package/learn/comparisons/NeoVsSolid.md +78 -0
  239. package/learn/comparisons/NeoVsVue.md +92 -0
  240. package/learn/comparisons/Overview.md +46 -0
  241. package/learn/gettingstarted/ComponentModels.md +2 -0
  242. package/learn/gettingstarted/Config.md +2 -0
  243. package/learn/gettingstarted/DescribingTheUI.md +2 -0
  244. package/learn/gettingstarted/Events.md +2 -0
  245. package/learn/gettingstarted/Extending.md +2 -0
  246. package/learn/gettingstarted/References.md +2 -0
  247. package/learn/gettingstarted/Setup.md +3 -2
  248. package/learn/gettingstarted/Workspaces.md +2 -0
  249. package/learn/guides/datahandling/Collections.md +1 -0
  250. package/learn/guides/datahandling/Records.md +1 -0
  251. package/learn/guides/datahandling/StateProviders.md +130 -16
  252. package/learn/guides/datahandling/Tables.md +1 -1
  253. package/learn/guides/fundamentals/ConfigSystemDeepDive.md +1 -0
  254. package/learn/guides/fundamentals/DeclarativeComponentTreesVsImperativeVdom.md +2 -0
  255. package/learn/guides/fundamentals/DeclarativeVDOMWithEffects.md +10 -8
  256. package/learn/guides/fundamentals/ExtendingNeoClasses.md +1 -0
  257. package/learn/guides/fundamentals/InstanceLifecycle.md +3 -1
  258. package/learn/guides/fundamentals/MainThreadAddons.md +2 -0
  259. package/learn/guides/specificfeatures/Mixins.md +3 -1
  260. package/learn/guides/specificfeatures/MultiWindow.md +3 -1
  261. package/learn/guides/specificfeatures/PortalApp.md +2 -0
  262. package/learn/guides/uibuildingblocks/ComponentsAndContainers.md +2 -0
  263. package/learn/guides/uibuildingblocks/CustomComponents.md +2 -0
  264. package/learn/guides/uibuildingblocks/Layouts.md +2 -0
  265. package/learn/guides/uibuildingblocks/WorkingWithVDom.md +28 -2
  266. package/learn/guides/userinteraction/Forms.md +2 -0
  267. package/learn/guides/userinteraction/events/CustomEvents.md +2 -1
  268. package/learn/guides/userinteraction/events/DomEvents.md +2 -0
  269. package/learn/javascript/ClassFeatures.md +4 -3
  270. package/learn/javascript/Classes.md +10 -13
  271. package/learn/javascript/Overrides.md +10 -6
  272. package/learn/javascript/Super.md +12 -8
  273. package/learn/tree.json +71 -64
  274. package/learn/tutorials/Earthquakes.md +2 -0
  275. package/learn/tutorials/RSP.md +3 -1
  276. package/learn/tutorials/TodoList.md +103 -7
  277. package/package.json +8 -6
  278. package/resources/scss/src/apps/email/ComposeView.scss +16 -0
  279. package/resources/scss/src/apps/email/MainView.scss +5 -0
  280. package/resources/scss/src/apps/portal/learn/ContentComponent.scss +5 -4
  281. package/src/DefaultConfig.mjs +12 -2
  282. package/src/Main.mjs +1 -0
  283. package/src/Neo.mjs +219 -166
  284. package/src/Xhr.mjs +1 -0
  285. package/src/button/Base.mjs +13 -0
  286. package/src/button/Effect.mjs +16 -2
  287. package/src/button/Split.mjs +2 -0
  288. package/src/calendar/store/Calendars.mjs +1 -0
  289. package/src/calendar/store/Colors.mjs +1 -0
  290. package/src/calendar/store/Events.mjs +1 -0
  291. package/src/calendar/view/DayComponent.mjs +2 -0
  292. package/src/calendar/view/EditEventContainer.mjs +4 -1
  293. package/src/calendar/view/MainContainer.mjs +13 -0
  294. package/src/calendar/view/MainContainerStateProvider.mjs +14 -28
  295. package/src/calendar/view/SettingsContainer.mjs +1 -0
  296. package/src/calendar/view/YearComponent.mjs +16 -0
  297. package/src/calendar/view/calendars/ColorsList.mjs +2 -0
  298. package/src/calendar/view/calendars/Container.mjs +2 -0
  299. package/src/calendar/view/calendars/EditContainer.mjs +1 -0
  300. package/src/calendar/view/month/Component.mjs +11 -0
  301. package/src/calendar/view/settings/GeneralContainer.mjs +1 -0
  302. package/src/calendar/view/settings/MonthContainer.mjs +1 -0
  303. package/src/calendar/view/settings/WeekContainer.mjs +1 -0
  304. package/src/calendar/view/settings/YearContainer.mjs +1 -0
  305. package/src/calendar/view/week/Component.mjs +15 -1
  306. package/src/calendar/view/week/TimeAxisComponent.mjs +4 -0
  307. package/src/code/LivePreview.mjs +51 -23
  308. package/src/collection/Base.mjs +7 -10
  309. package/src/collection/Filter.mjs +6 -0
  310. package/src/collection/Sorter.mjs +3 -0
  311. package/src/component/Abstract.mjs +412 -0
  312. package/src/component/Base.mjs +48 -1077
  313. package/src/component/Canvas.mjs +1 -0
  314. package/src/component/Chip.mjs +4 -0
  315. package/src/component/Circle.mjs +14 -0
  316. package/src/component/Clock.mjs +4 -0
  317. package/src/component/DateSelector.mjs +12 -0
  318. package/src/component/Gallery.mjs +11 -0
  319. package/src/component/Helix.mjs +24 -0
  320. package/src/component/Label.mjs +1 -0
  321. package/src/component/Legend.mjs +3 -0
  322. package/src/component/MagicMoveText.mjs +4 -0
  323. package/src/component/Progress.mjs +3 -0
  324. package/src/component/Splitter.mjs +3 -0
  325. package/src/component/StatusBadge.mjs +6 -0
  326. package/src/component/Timer.mjs +4 -0
  327. package/src/component/Toast.mjs +6 -0
  328. package/src/component/Video.mjs +1 -0
  329. package/src/component/mwc/Button.mjs +7 -0
  330. package/src/component/mwc/TextField.mjs +9 -0
  331. package/src/component/wrapper/AmChart.mjs +2 -0
  332. package/src/component/wrapper/GoogleMaps.mjs +3 -0
  333. package/src/component/wrapper/MapboxGL.mjs +5 -0
  334. package/src/component/wrapper/MonacoEditor.mjs +12 -0
  335. package/src/container/Accordion.mjs +2 -0
  336. package/src/container/Base.mjs +7 -3
  337. package/src/container/Panel.mjs +1 -0
  338. package/src/container/Viewport.mjs +1 -0
  339. package/src/controller/Application.mjs +1 -0
  340. package/src/controller/Base.mjs +1 -0
  341. package/src/controller/Component.mjs +1 -0
  342. package/src/core/Base.mjs +86 -33
  343. package/src/core/Compare.mjs +4 -7
  344. package/src/core/Config.mjs +65 -52
  345. package/src/core/Effect.mjs +86 -24
  346. package/src/core/EffectManager.mjs +117 -8
  347. package/src/core/IdGenerator.mjs +13 -44
  348. package/src/core/Observable.mjs +69 -65
  349. package/src/data/Model.mjs +2 -0
  350. package/src/data/Store.mjs +7 -0
  351. package/src/data/connection/WebSocket.mjs +2 -0
  352. package/src/date/DayViewComponent.mjs +2 -0
  353. package/src/date/SelectorContainer.mjs +14 -0
  354. package/src/dialog/Base.mjs +8 -0
  355. package/src/draggable/DragZone.mjs +5 -0
  356. package/src/draggable/tree/DragZone.mjs +1 -0
  357. package/src/filter/BooleanContainer.mjs +2 -0
  358. package/src/filter/NumberContainer.mjs +3 -0
  359. package/src/filter/ToggleOperatorsButton.mjs +2 -0
  360. package/src/form/Fieldset.mjs +6 -0
  361. package/src/form/field/Base.mjs +7 -0
  362. package/src/form/field/CheckBox.mjs +18 -0
  363. package/src/form/field/Chip.mjs +1 -0
  364. package/src/form/field/ComboBox.mjs +8 -0
  365. package/src/form/field/Country.mjs +1 -0
  366. package/src/form/field/Currency.mjs +2 -0
  367. package/src/form/field/Date.mjs +4 -0
  368. package/src/form/field/Display.mjs +1 -0
  369. package/src/form/field/Email.mjs +1 -0
  370. package/src/form/field/FileUpload.mjs +7 -0
  371. package/src/form/field/Hidden.mjs +1 -0
  372. package/src/form/field/Number.mjs +7 -0
  373. package/src/form/field/Password.mjs +1 -0
  374. package/src/form/field/Phone.mjs +3 -0
  375. package/src/form/field/Picker.mjs +2 -0
  376. package/src/form/field/Radio.mjs +1 -0
  377. package/src/form/field/Range.mjs +3 -0
  378. package/src/form/field/Search.mjs +2 -0
  379. package/src/form/field/Text.mjs +43 -5
  380. package/src/form/field/TextArea.mjs +7 -0
  381. package/src/form/field/Time.mjs +6 -0
  382. package/src/form/field/Url.mjs +3 -0
  383. package/src/form/field/ZipCode.mjs +2 -0
  384. package/src/form/field/trigger/Base.mjs +3 -0
  385. package/src/form/field/trigger/Clear.mjs +2 -0
  386. package/src/form/field/trigger/CopyToClipboard.mjs +2 -0
  387. package/src/form/field/trigger/Date.mjs +1 -0
  388. package/src/form/field/trigger/Picker.mjs +1 -0
  389. package/src/form/field/trigger/Search.mjs +1 -0
  390. package/src/form/field/trigger/SpinDown.mjs +2 -0
  391. package/src/form/field/trigger/SpinUp.mjs +1 -0
  392. package/src/form/field/trigger/Time.mjs +2 -0
  393. package/src/functional/_export.mjs +6 -0
  394. package/src/functional/button/Base.mjs +384 -0
  395. package/src/functional/component/Base.mjs +405 -0
  396. package/src/functional/defineComponent.mjs +102 -0
  397. package/src/functional/useConfig.mjs +52 -0
  398. package/src/functional/useEvent.mjs +43 -0
  399. package/src/grid/Body.mjs +20 -1
  400. package/src/grid/Container.mjs +50 -60
  401. package/src/grid/ScrollManager.mjs +2 -0
  402. package/src/grid/VerticalScrollbar.mjs +2 -0
  403. package/src/grid/column/Base.mjs +2 -0
  404. package/src/grid/header/Button.mjs +7 -0
  405. package/src/grid/header/Toolbar.mjs +6 -0
  406. package/src/grid/plugin/AnimateRows.mjs +2 -0
  407. package/src/layout/Base.mjs +3 -0
  408. package/src/layout/Card.mjs +1 -0
  409. package/src/layout/Cube.mjs +18 -4
  410. package/src/layout/Fit.mjs +1 -0
  411. package/src/layout/Flexbox.mjs +7 -0
  412. package/src/layout/Form.mjs +2 -0
  413. package/src/layout/Grid.mjs +1 -0
  414. package/src/layout/HBox.mjs +1 -0
  415. package/src/layout/VBox.mjs +1 -0
  416. package/src/list/Base.mjs +13 -0
  417. package/src/list/Chip.mjs +1 -0
  418. package/src/list/Circle.mjs +2 -0
  419. package/src/list/Color.mjs +1 -0
  420. package/src/list/plugin/Animate.mjs +2 -0
  421. package/src/main/DeltaUpdates.mjs +1 -0
  422. package/src/main/DomEvents.mjs +2 -0
  423. package/src/main/addon/CloneNode.mjs +1 -0
  424. package/src/main/addon/Cookie.mjs +1 -0
  425. package/src/main/addon/GoogleMaps.mjs +1 -0
  426. package/src/main/addon/LocalStorage.mjs +1 -0
  427. package/src/main/addon/MapboxGL.mjs +1 -0
  428. package/src/main/addon/Markdown.mjs +1 -0
  429. package/src/main/addon/Navigator.mjs +1 -0
  430. package/src/main/addon/Popover.mjs +1 -0
  431. package/src/main/addon/Stylesheet.mjs +1 -0
  432. package/src/main/addon/WindowPosition.mjs +1 -0
  433. package/src/manager/Component.mjs +0 -71
  434. package/src/manager/VDomUpdate.mjs +320 -0
  435. package/src/menu/List.mjs +6 -0
  436. package/src/menu/Model.mjs +1 -0
  437. package/src/menu/Panel.mjs +3 -0
  438. package/src/menu/Store.mjs +1 -0
  439. package/src/mixin/DomEvents.mjs +130 -0
  440. package/src/mixin/VdomLifecycle.mjs +670 -0
  441. package/src/plugin/Base.mjs +1 -0
  442. package/src/plugin/Resizable.mjs +2 -0
  443. package/src/selection/Model.mjs +15 -18
  444. package/src/selection/grid/BaseModel.mjs +1 -0
  445. package/src/sitemap/Component.mjs +1 -0
  446. package/src/state/Provider.mjs +129 -87
  447. package/src/state/createHierarchicalDataProxy.mjs +39 -25
  448. package/src/tab/Container.mjs +6 -0
  449. package/src/tab/Strip.mjs +1 -0
  450. package/src/tab/header/Button.mjs +2 -0
  451. package/src/tab/header/EffectButton.mjs +2 -0
  452. package/src/tab/header/Toolbar.mjs +1 -0
  453. package/src/table/Body.mjs +3 -0
  454. package/src/table/Container.mjs +10 -0
  455. package/src/table/header/Button.mjs +8 -0
  456. package/src/table/header/Toolbar.mjs +5 -0
  457. package/src/table/plugin/CellEditing.mjs +1 -0
  458. package/src/toolbar/Base.mjs +4 -0
  459. package/src/toolbar/Breadcrumb.mjs +3 -0
  460. package/src/toolbar/Paging.mjs +5 -0
  461. package/src/tooltip/Base.mjs +2 -0
  462. package/src/tree/List.mjs +3 -0
  463. package/src/util/HashHistory.mjs +1 -0
  464. package/src/util/KeyNavigation.mjs +2 -0
  465. package/src/util/Matrix.mjs +1 -0
  466. package/src/util/VDom.mjs +18 -5
  467. package/src/util/VNode.mjs +7 -1
  468. package/src/util/vdom/TreeBuilder.mjs +105 -0
  469. package/src/vdom/Helper.mjs +35 -23
  470. package/src/vdom/VNode.mjs +4 -6
  471. package/src/worker/App.mjs +1 -0
  472. package/src/worker/Base.mjs +2 -0
  473. package/src/worker/Manager.mjs +2 -0
  474. package/src/worker/ServiceBase.mjs +6 -1
  475. package/src/worker/mixin/RemoteMethodAccess.mjs +1 -6
  476. package/test/siesta/siesta.js +17 -2
  477. package/test/siesta/tests/VdomCalendar.mjs +19 -15
  478. package/test/siesta/tests/VdomHelper.mjs +7 -7
  479. package/test/siesta/tests/classic/Button.mjs +113 -0
  480. package/test/siesta/tests/core/Effect.mjs +10 -14
  481. package/test/siesta/tests/core/EffectBatching.mjs +72 -79
  482. package/test/siesta/tests/functional/Button.mjs +113 -0
  483. package/test/siesta/tests/state/ProviderNestedDataConfigs.mjs +314 -0
  484. package/test/siesta/tests/state/createHierarchicalDataProxy.mjs +42 -55
  485. package/test/siesta/tests/vdom/Advanced.mjs +14 -8
  486. package/test/siesta/tests/vdom/VdomAsymmetricUpdates.mjs +366 -0
  487. package/test/siesta/tests/vdom/VdomRealWorldUpdates.mjs +249 -0
  488. package/test/siesta/tests/vdom/layout/Cube.mjs +11 -7
  489. package/test/siesta/tests/vdom/table/Container.mjs +9 -5
  490. package/learn/javascript/NewNode.md +0 -31
  491. package/src/core/EffectBatchManager.mjs +0 -68
@@ -15,12 +15,13 @@ class GridContainer extends BaseGridContainer {
15
15
  className: 'Neo.examples.grid.bigData.GridContainer',
16
16
  /**
17
17
  * @member {Number} amountColumns_=50
18
+ * @reactive
18
19
  */
19
20
  amountColumns_: 50,
20
21
  /**
21
- * @member {Object} bodyConfig
22
+ * @member {Object} body
22
23
  */
23
- bodyConfig: {
24
+ body: {
24
25
  bufferColumnRange: 3,
25
26
  bufferRowRange : 5
26
27
  },
@@ -35,6 +36,7 @@ class GridContainer extends BaseGridContainer {
35
36
  },
36
37
  /**
37
38
  * @member {Object[]} store=MainStore
39
+ * @reactive
38
40
  */
39
41
  store: MainStore
40
42
  }
@@ -15,10 +15,12 @@ class MainContainer extends Viewport {
15
15
  className: 'Neo.examples.grid.bigData.MainContainer',
16
16
  /**
17
17
  * @member {String[]} cls=['neo-examples-bigdata-maincontainer']
18
+ * @reactive
18
19
  */
19
20
  cls: ['neo-examples-bigdata-maincontainer'],
20
21
  /**
21
22
  * @member {Object} layout={ntype:'hbox',align:'stretch'}
23
+ * @reactive
22
24
  */
23
25
  layout: {ntype: 'hbox', align: 'stretch'},
24
26
  /**
@@ -13,6 +13,7 @@ class MainModel extends Model {
13
13
  className: 'Neo.examples.grid.bigData.MainModel',
14
14
  /**
15
15
  * @member {Number} amountColumns_=50
16
+ * @reactive
16
17
  */
17
18
  amountColumns_: 50
18
19
  }
@@ -14,10 +14,12 @@ class MainStore extends Store {
14
14
  className: 'Neo.examples.grid.bigData.MainStore',
15
15
  /**
16
16
  * @member {Number} amountColumns_=50
17
+ * @reactive
17
18
  */
18
19
  amountColumns_: 50,
19
20
  /**
20
21
  * @member {Number} amountRows_=1000
22
+ * @reactive
21
23
  */
22
24
  amountRows_: 1000,
23
25
  /**
@@ -34,6 +36,7 @@ class MainStore extends Store {
34
36
  }],
35
37
  /**
36
38
  * @member {Neo.data.Model} model=Model
39
+ * @reactive
37
40
  */
38
41
  model: Model
39
42
  }
@@ -114,7 +114,7 @@ class MainContainer extends ConfigurationViewport {
114
114
  store : MainStore,
115
115
  wrapperStyle: {maxWidth: '1002px'},
116
116
 
117
- bodyConfig: {
117
+ body: {
118
118
  selectionModel: CellModel
119
119
  },
120
120
 
@@ -88,7 +88,7 @@ class MainContainer extends ConfigurationViewport {
88
88
  width: 200
89
89
  },
90
90
 
91
- bodyConfig: {
91
+ body: {
92
92
  selectionModel: CellModel
93
93
  },
94
94
 
@@ -16,6 +16,7 @@ class GridContainer extends BaseGridContainer {
16
16
  className: 'Neo.examples.grid.covid.GridContainer',
17
17
  /**
18
18
  * @member {String[]} cls=['covid-country-grid']
19
+ * @reactive
19
20
  */
20
21
  cls: ['covid-country-grid'],
21
22
  /**
@@ -99,10 +100,12 @@ class GridContainer extends BaseGridContainer {
99
100
  }],
100
101
  /**
101
102
  * @member {Neo.controller.Component} controller=GridContainerController
103
+ * @reactive
102
104
  */
103
105
  controller: GridContainerController,
104
106
  /**
105
107
  * @member {Object[]} store=Store
108
+ * @reactive
106
109
  */
107
110
  store: Store
108
111
  }
@@ -14,10 +14,12 @@ class MainContainer extends Viewport {
14
14
  className: 'Neo.examples.grid.covid.MainContainer',
15
15
  /**
16
16
  * @member {Object[]} items=[GridContainer]
17
+ * @reactive
17
18
  */
18
19
  items: [GridContainer],
19
20
  /**
20
21
  * @member {Object} layout={ntype:'fit'}
22
+ * @reactive
21
23
  */
22
24
  layout: {ntype: 'fit'},
23
25
  /**
@@ -18,6 +18,7 @@ class Store extends BaseStore {
18
18
  keyProperty: 'country',
19
19
  /**
20
20
  * @member {Neo.data.Model} model=Model
21
+ * @reactive
21
22
  */
22
23
  model: Model,
23
24
  /**
@@ -29,14 +29,17 @@ class EditUserDialog extends Dialog {
29
29
  },
30
30
  /**
31
31
  * @member {Boolean} modal=true
32
+ * @reactive
32
33
  */
33
34
  modal: true,
34
35
  /**
35
36
  * @member {Record|null} record_=null
37
+ * @reactive
36
38
  */
37
39
  record_: null,
38
40
  /**
39
41
  * @member {String} title='Edit User'
42
+ * @reactive
40
43
  */
41
44
  title: 'Edit User',
42
45
  /**
@@ -17,10 +17,12 @@ class Viewport extends BaseViewport {
17
17
  className: 'Neo.examples.grid.nestedRecordFields.Viewport',
18
18
  /**
19
19
  * @member {Neo.controller.Component} controller=ViewportController
20
+ * @reactive
20
21
  */
21
22
  controller: ViewportController,
22
23
  /**
23
24
  * @member {Neo.state.Provider} stateProvider=ViewportStateProvider
25
+ * @reactive
24
26
  */
25
27
  stateProvider: ViewportStateProvider,
26
28
  /**
@@ -51,7 +53,7 @@ class Viewport extends BaseViewport {
51
53
  bind : {store: 'stores.mainStore'},
52
54
  reference: 'grid',
53
55
 
54
- bodyConfig: {
56
+ body: {
55
57
  highlightModifiedCells: true
56
58
  },
57
59
 
@@ -13,15 +13,18 @@ class List extends BaseList {
13
13
  className: 'Neo.examples.list.animate.List',
14
14
  /**
15
15
  * @member {Boolean} animate=true
16
+ * @reactive
16
17
  */
17
18
  animate: true,
18
19
  /**
19
20
  * @member {String[]} cls=['neo-examples-list-animate']
21
+ * @reactive
20
22
  */
21
23
  cls: ['neo-examples-list-animate'],
22
24
  /**
23
25
  * Value in px
24
26
  * @member {Number} itemHeight=200
27
+ * @reactive
25
28
  */
26
29
  itemHeight: 200,
27
30
  /**
@@ -31,6 +34,7 @@ class List extends BaseList {
31
34
  /**
32
35
  * Value in px
33
36
  * @member {Number} itemWidth=300
37
+ * @reactive
34
38
  */
35
39
  itemWidth: 300
36
40
  }
@@ -20,10 +20,12 @@ class MainContainer extends Viewport {
20
20
  className: 'Neo.examples.list.animate.MainContainer',
21
21
  /**
22
22
  * @member {Neo.controller.Component} controller=MainContainerController
23
+ * @reactive
23
24
  */
24
25
  controller: MainContainerController,
25
26
  /**
26
27
  * @member {Object} layout={ntype:'vbox',align:'stretch'}
28
+ * @reactive
27
29
  */
28
30
  layout: {ntype: 'vbox', align: 'stretch'},
29
31
  /**
@@ -25,6 +25,7 @@ class MainStore extends Store {
25
25
  ],
26
26
  /**
27
27
  * @member {Neo.data.Model} model=MainModel
28
+ * @reactive
28
29
  */
29
30
  model: MainModel,
30
31
  /**
@@ -25,6 +25,7 @@ class MainStore extends Store {
25
25
  ],
26
26
  /**
27
27
  * @member {Neo.data.Model} model=MainModel
28
+ * @reactive
28
29
  */
29
30
  model: MainModel
30
31
  }
@@ -16,10 +16,12 @@ class MainContainer extends Viewport {
16
16
  className: 'Neo.examples.preloadingAssets.view.MainContainer',
17
17
  /**
18
18
  * @member {Neo.controller.Component} controller=MainContainerController
19
+ * @reactive
19
20
  */
20
21
  controller: MainContainerController,
21
22
  /**
22
23
  * @member {Object} layout={ntype:'fit'}
24
+ * @reactive
23
25
  */
24
26
  layout: {ntype: 'fit'},
25
27
  /**
@@ -18,6 +18,7 @@ class MainContainer extends Viewport {
18
18
  className: 'Neo.examples.stateProvider.advanced.MainContainer',
19
19
  /**
20
20
  * @member {Neo.controller.Component} controller=MainContainerController
21
+ * @reactive
21
22
  */
22
23
  controller: MainContainerController,
23
24
  /**
@@ -23,10 +23,12 @@ class EditUserDialog extends Dialog {
23
23
  },
24
24
  /**
25
25
  * @member {Neo.controller.Component} controller=EditUserDialogController
26
+ * @reactive
26
27
  */
27
28
  controller: EditUserDialogController,
28
29
  /**
29
30
  * @member {String} title='Edit User'
31
+ * @reactive
30
32
  */
31
33
  title: 'Edit User',
32
34
  /**
@@ -16,6 +16,7 @@ class MainContainer extends Viewport {
16
16
  className: 'Neo.examples.stateProvider.dialog.MainContainer',
17
17
  /**
18
18
  * @member {Neo.controller.Component} controller=MainContainerController
19
+ * @reactive
19
20
  */
20
21
  controller: MainContainerController,
21
22
  /**
@@ -17,10 +17,12 @@ class MainContainer extends Viewport {
17
17
  className: 'Neo.examples.stateProvider.extendedClass.MainContainer',
18
18
  /**
19
19
  * @member {Neo.controller.Component} controller=MainContainerController
20
+ * @reactive
20
21
  */
21
22
  controller: MainContainerController,
22
23
  /**
23
24
  * @member {Object|Neo.state.Provider} stateProvider=MainContainerStateProvider
25
+ * @reactive
24
26
  */
25
27
  stateProvider: MainContainerStateProvider,
26
28
  /**
@@ -17,6 +17,7 @@ class MainContainer extends Viewport {
17
17
  className: 'Neo.examples.stateProvider.inline.MainContainer',
18
18
  /**
19
19
  * @member {Neo.controller.Component} controller=MainContainerController
20
+ * @reactive
20
21
  */
21
22
  controller: MainContainerController,
22
23
  /**
@@ -16,6 +16,7 @@ class MainContainer extends Viewport {
16
16
  className: 'Neo.examples.stateProvider.inlineNoStateProvider.MainContainer',
17
17
  /**
18
18
  * @member {Neo.controller.Component} controller=MainContainerController
19
+ * @reactive
19
20
  */
20
21
  controller: MainContainerController,
21
22
  /**
@@ -13,10 +13,12 @@ class MainContainerController extends Controller {
13
13
  className: 'Neo.examples.stateProvider.inlineNoStateProvider.MainContainerController',
14
14
  /**
15
15
  * @member {String} button1Text_='Button 1'
16
+ * @reactive
16
17
  */
17
18
  button1Text_: 'Button 1',
18
19
  /**
19
20
  * @member {String} button1Text_='Button 2'
21
+ * @reactive
20
22
  */
21
23
  button2Text_: 'Button 2'
22
24
  }
@@ -23,10 +23,12 @@ class EditUserDialog extends Dialog {
23
23
  },
24
24
  /**
25
25
  * @member {Neo.controller.Component} controller=EditUserDialogController
26
+ * @reactive
26
27
  */
27
28
  controller: EditUserDialogController,
28
29
  /**
29
30
  * @member {String} title='Edit User'
31
+ * @reactive
30
32
  */
31
33
  title: 'Edit User',
32
34
  /**
@@ -49,6 +51,7 @@ class EditUserDialog extends Dialog {
49
51
  }],
50
52
  /**
51
53
  * @member {Object} wrapperStyle={height: '300px',width : '400px'}
54
+ * @reactive
52
55
  */
53
56
  wrapperStyle: {
54
57
  height: '300px',
@@ -27,6 +27,7 @@ class MainContainer extends Panel {
27
27
  },
28
28
  /**
29
29
  * @member {Neo.controller.Component} controller=MainContainerController
30
+ * @reactive
30
31
  */
31
32
  controller: MainContainerController,
32
33
  /**
@@ -14,6 +14,7 @@ class Viewport extends BaseViewport {
14
14
  className: 'Neo.examples.stateProvider.multiWindow.Viewport',
15
15
  /**
16
16
  * @member {Neo.controller.Component} controller=ViewportController
17
+ * @reactive
17
18
  */
18
19
  controller: ViewportController,
19
20
  /**
@@ -17,6 +17,7 @@ class MainContainer extends Viewport {
17
17
  className: 'Neo.examples.stateProvider.nestedData.MainContainer',
18
18
  /**
19
19
  * @member {Neo.controller.Component} controller=MainContainerController
20
+ * @reactive
20
21
  */
21
22
  controller: MainContainerController,
22
23
  /**
@@ -19,6 +19,7 @@ class MainContainer extends Viewport {
19
19
  layout: {ntype: 'fit'},
20
20
  /**
21
21
  * @member {Object|Neo.state.Provider} stateProvider=MainContainerStateProvider
22
+ * @reactive
22
23
  */
23
24
  stateProvider: MainContainerStateProvider,
24
25
  /**
@@ -14,10 +14,12 @@ class MainContainer extends Viewport {
14
14
  className: 'Neo.examples.table.covid.MainContainer',
15
15
  /**
16
16
  * @member {Object[]} items=[TableContainer]
17
+ * @reactive
17
18
  */
18
19
  items: [TableContainer],
19
20
  /**
20
21
  * @member {Object} layout={ntype:'fit'}
22
+ * @reactive
21
23
  */
22
24
  layout: {ntype: 'fit'},
23
25
  /**
@@ -18,6 +18,7 @@ class Store extends BaseStore {
18
18
  keyProperty: 'country',
19
19
  /**
20
20
  * @member {Neo.data.Model} model=Model
21
+ * @reactive
21
22
  */
22
23
  model: Model,
23
24
  /**
@@ -16,6 +16,7 @@ class TableContainer extends BaseTableContainer {
16
16
  className: 'Neo.examples.table.covid.TableContainer',
17
17
  /**
18
18
  * @member {String[]} cls=['covid-country-table']
19
+ * @reactive
19
20
  */
20
21
  cls: ['covid-country-table'],
21
22
  /**
@@ -99,10 +100,12 @@ class TableContainer extends BaseTableContainer {
99
100
  }],
100
101
  /**
101
102
  * @member {Neo.controller.Component} controller=TableContainerController
103
+ * @reactive
102
104
  */
103
105
  controller: TableContainerController,
104
106
  /**
105
107
  * @member {Object[]} store=MainStore
108
+ * @reactive
106
109
  */
107
110
  store: Store
108
111
  }
@@ -28,14 +28,17 @@ class EditUserDialog extends Dialog {
28
28
  },
29
29
  /**
30
30
  * @member {Boolean} modal=true
31
+ * @reactive
31
32
  */
32
33
  modal: true,
33
34
  /**
34
35
  * @member {Record|null} record_=null
36
+ * @reactive
35
37
  */
36
38
  record_: null,
37
39
  /**
38
40
  * @member {String} title='Edit User'
41
+ * @reactive
39
42
  */
40
43
  title: 'Edit User',
41
44
  /**
@@ -16,6 +16,7 @@ class Viewport extends BaseViewport {
16
16
  className: 'Neo.examples.table.nestedRecordFields.Viewport',
17
17
  /**
18
18
  * @member {Neo.state.Provider} stateProvider=ViewportStateProvider
19
+ * @reactive
19
20
  */
20
21
  stateProvider: ViewportStateProvider,
21
22
  /**
@@ -75,7 +75,7 @@ class MainComponent extends Component {
75
75
  style: {cursor: 'pointer', width: '20px'}
76
76
  }, {
77
77
  vtype: 'text',
78
- html : item.text
78
+ text : item.text
79
79
  }]
80
80
  })
81
81
  });
@@ -15,6 +15,7 @@ class MainContainer extends Viewport {
15
15
  className: 'Neo.examples.toolbar.breadcrumb.view.MainContainer',
16
16
  /**
17
17
  * @member {Neo.controller.Component} controller=MainContainerController
18
+ * @reactive
18
19
  */
19
20
  controller: MainContainerController,
20
21
  /**
@@ -102,6 +103,7 @@ class MainContainer extends Viewport {
102
103
  }],
103
104
  /**
104
105
  * @member {Object} layout={ntype:'vbox',align:'stretch'}
106
+ * @reactive
105
107
  */
106
108
  layout: {ntype: 'vbox', align: 'start'},
107
109
  /**
@@ -27,6 +27,7 @@ class Users extends Store {
27
27
  autoSort: false,
28
28
  /**
29
29
  * @member {Neo.data.Model} model=UserModel
30
+ * @reactive
30
31
  */
31
32
  model: UserModel,
32
33
  /**
@@ -46,14 +46,17 @@ class AddUserDialog extends Dialog {
46
46
  }],
47
47
  /**
48
48
  * @member {Boolean} resizable=false
49
+ * @reactive
49
50
  */
50
51
  resizable: false,
51
52
  /**
52
53
  * @member {String} title='Edit User'
54
+ * @reactive
53
55
  */
54
56
  title: 'Add User',
55
57
  /**
56
58
  * @member {Object} wrapperStyle={height:'300px',width:'400px'}
59
+ * @reactive
57
60
  */
58
61
  wrapperStyle: {
59
62
  height: '300px',
@@ -17,6 +17,7 @@ class MainContainer extends Viewport {
17
17
  className: 'Neo.examples.toolbar.paging.view.MainContainer',
18
18
  /**
19
19
  * @member {Neo.controller.Component} controller=MainContainerController
20
+ * @reactive
20
21
  */
21
22
  controller: MainContainerController,
22
23
  /**
@@ -89,10 +90,12 @@ class MainContainer extends Viewport {
89
90
  }],
90
91
  /**
91
92
  * @member {Object} layout={ntype:'vbox',align:'stretch'}
93
+ * @reactive
92
94
  */
93
95
  layout: {ntype: 'vbox', align: 'stretch'},
94
96
  /**
95
97
  * @member {Neo.state.Provider} stateProvider=MainContainerStateProvider
98
+ * @reactive
96
99
  */
97
100
  stateProvider: MainContainerStateProvider,
98
101
  /**
@@ -117,7 +117,7 @@ class MainContainer extends ConfigurationViewport {
117
117
 
118
118
  store: store,
119
119
 
120
- /**
120
+ /*
121
121
  * We are using data-binding.
122
122
  * Here is an example for listener and controller
123
123
  */
@@ -180,7 +180,7 @@ class MainContainer extends ConfigurationViewport {
180
180
 
181
181
  /**
182
182
  *
183
- * @param data
183
+ * @param {Object} data
184
184
  */
185
185
  onRemoveDomButtonClick(data) {
186
186
  let accordion = this.exampleComponent.items[0];
@@ -14,6 +14,7 @@ class MainContainer extends Viewport {
14
14
  className: 'Neo.examples.worker.task.MainContainer',
15
15
  /**
16
16
  * @member {Object} layout={ntype:'vbox'}
17
+ * @reactive
17
18
  */
18
19
  layout: {ntype: 'vbox'},
19
20
  /**
package/learn/Glossary.md CHANGED
@@ -1,3 +1,4 @@
1
+ # Glossary
1
2
 
2
3
  This glossary provides definitions for key terms and concepts used throughout the Neo.mjs documentation. Understanding
3
4
  these terms is essential for grasping the framework's unique architecture and capabilities.
@@ -1,3 +1,4 @@
1
+ # Using These Topics
1
2
 
2
3
  ***Welcome to these Neo.mjs guides and learning resources!*** Neo.mjs is a groundbreaking JavaScript framework designed
3
4
  to help you build lightning-fast, highly scalable, and exceptionally maintainable web applications. This guide will help
@@ -1,3 +1,5 @@
1
+ # Unified Config System
2
+
1
3
  A Declarative Approach to Application Building
2
4
 
3
5
  ## Introduction
@@ -1,3 +1,4 @@
1
+ # Complexity and Effort
1
2
 
2
3
  ## A Strategic Investment
3
4
 
@@ -1,3 +1,4 @@
1
+ # Features and Benefits Summary
1
2
 
2
3
  Neo.mjs is engineered to address the most pressing challenges in modern web development, offering a suite of features
3
4
  that deliver unparalleled performance, developer productivity, and architectural flexibility. Below are the core
@@ -1,3 +1,4 @@
1
+ # Forms Engine
1
2
 
2
3
  ## Simplifying Complex Data Input
3
4
 
@@ -1,3 +1,5 @@
1
+ # 4 Environments
2
+
1
3
  ## Introduction
2
4
 
3
5
  Neo.mjs was the very first frontend framework, which enabled full support for a ***zero builds instant development mode***,
@@ -1,3 +1,5 @@
1
+ # Introduction
2
+
1
3
  ## Why Organizations Choose Neo.mjs
2
4
 
3
5
  Are your development teams burdened by slow build times, the debugging complexities introduced by transpilation and
@@ -1,4 +1,6 @@
1
- ## Multi-Window Applications: Unleashing Desktop-Class Experiences
1
+ # Multi-Window Applications
2
+
3
+ ## Unleashing Desktop-Class Experiences
2
4
 
3
5
  Traditional web applications are often confined to a single browser window or tab, limiting user productivity and the
4
6
  ability to manage complex workflows. Neo.mjs shatters this limitation by providing native, robust support for
@@ -1,3 +1,5 @@
1
+ # Off the Main Thread
2
+
1
3
  ## How many Cores are on a Computer or Smartphone?
2
4
  In case you are using a Mac, you can click on the top-left Apple Icon,
3
5
  then on "About this Mac" and it will show you something like:
@@ -1,3 +1,5 @@
1
+ # Quick Application Development
2
+
1
3
  ## Rapid Application Development with Neo.mjs
2
4
 
3
5
  In today's fast-paced development landscape, speed and efficiency are paramount. Neo.mjs is engineered to dramatically
@@ -1,3 +1,5 @@
1
+ # RPC Layer
2
+
1
3
  ## Seamless Communication Across Threads and Beyond
2
4
 
3
5
  In a multi-threaded architecture like Neo.mjs, efficient and seamless communication between different execution contexts