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

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 (468) hide show
  1. package/.github/RELEASE_NOTES/v10.0.0-beta.5.md +70 -0
  2. package/.github/RELEASE_NOTES/v10.0.0-beta.6.md +48 -0
  3. package/.github/epic-functional-components.md +498 -0
  4. package/.github/ticket-asymmetric-vdom-updates.md +122 -0
  5. package/README.md +0 -3
  6. package/ServiceWorker.mjs +2 -2
  7. package/apps/colors/store/Colors.mjs +1 -0
  8. package/apps/colors/view/GridContainer.mjs +3 -0
  9. package/apps/colors/view/HeaderToolbar.mjs +2 -0
  10. package/apps/colors/view/Viewport.mjs +3 -0
  11. package/apps/covid/view/FooterContainer.mjs +3 -0
  12. package/apps/covid/view/GalleryContainer.mjs +2 -0
  13. package/apps/covid/view/GalleryContainerController.mjs +1 -0
  14. package/apps/covid/view/HeaderContainer.mjs +2 -0
  15. package/apps/covid/view/HelixContainer.mjs +2 -0
  16. package/apps/covid/view/HelixContainerController.mjs +1 -0
  17. package/apps/covid/view/MainContainer.mjs +3 -0
  18. package/apps/covid/view/TableContainer.mjs +3 -0
  19. package/apps/covid/view/TableContainerController.mjs +1 -0
  20. package/apps/covid/view/WorldMapContainer.mjs +2 -0
  21. package/apps/covid/view/country/Gallery.mjs +3 -0
  22. package/apps/covid/view/country/Helix.mjs +8 -0
  23. package/apps/covid/view/country/HistoricalDataTable.mjs +1 -0
  24. package/apps/covid/view/country/Table.mjs +2 -0
  25. package/apps/covid/view/mapboxGl/Component.mjs +1 -0
  26. package/apps/covid/view/mapboxGl/Container.mjs +2 -0
  27. package/apps/email/EPIC_PLAN.md +58 -0
  28. package/apps/email/neo-config.json +2 -2
  29. package/apps/email/store/Emails.mjs +11 -1
  30. package/apps/email/view/ComposeView.mjs +44 -0
  31. package/apps/email/view/MainView.mjs +89 -0
  32. package/apps/email/view/Viewport.mjs +4 -33
  33. package/apps/email/view/ViewportStateProvider.mjs +3 -3
  34. package/apps/form/store/SideNav.mjs +1 -0
  35. package/apps/form/view/FormContainer.mjs +1 -0
  36. package/apps/form/view/FormPageContainer.mjs +2 -0
  37. package/apps/form/view/SideNavList.mjs +1 -0
  38. package/apps/form/view/Viewport.mjs +3 -0
  39. package/apps/portal/childapps/preview/MainContainer.mjs +1 -0
  40. package/apps/portal/index.html +1 -1
  41. package/apps/portal/store/BlogPosts.mjs +2 -0
  42. package/apps/portal/store/Content.mjs +1 -0
  43. package/apps/portal/store/ContentSections.mjs +1 -0
  44. package/apps/portal/store/Examples.mjs +1 -0
  45. package/apps/portal/view/HeaderToolbar.mjs +1 -0
  46. package/apps/portal/view/Viewport.mjs +5 -0
  47. package/apps/portal/view/ViewportController.mjs +8 -2
  48. package/apps/portal/view/about/Container.mjs +2 -0
  49. package/apps/portal/view/about/MemberContainer.mjs +7 -0
  50. package/apps/portal/view/blog/Container.mjs +2 -0
  51. package/apps/portal/view/blog/List.mjs +2 -0
  52. package/apps/portal/view/examples/List.mjs +1 -0
  53. package/apps/portal/view/examples/TabContainer.mjs +4 -0
  54. package/apps/portal/view/home/ContentBox.mjs +3 -0
  55. package/apps/portal/view/home/FeatureSection.mjs +8 -0
  56. package/apps/portal/view/home/FooterContainer.mjs +4 -1
  57. package/apps/portal/view/home/MainContainer.mjs +2 -0
  58. package/apps/portal/view/home/parts/AfterMath.mjs +2 -0
  59. package/apps/portal/view/home/parts/BaseContainer.mjs +1 -0
  60. package/apps/portal/view/home/parts/Colors.mjs +4 -0
  61. package/apps/portal/view/home/parts/Features.mjs +2 -0
  62. package/apps/portal/view/home/parts/Helix.mjs +5 -0
  63. package/apps/portal/view/home/parts/How.mjs +4 -0
  64. package/apps/portal/view/home/parts/MainNeo.mjs +1 -0
  65. package/apps/portal/view/home/parts/References.mjs +2 -0
  66. package/apps/portal/view/learn/ContentComponent.mjs +11 -5
  67. package/apps/portal/view/learn/ContentTreeList.mjs +2 -0
  68. package/apps/portal/view/learn/CubeLayoutButton.mjs +1 -0
  69. package/apps/portal/view/learn/MainContainer.mjs +4 -0
  70. package/apps/portal/view/learn/PageContainer.mjs +2 -0
  71. package/apps/portal/view/learn/PageSectionsContainer.mjs +3 -0
  72. package/apps/portal/view/learn/PageSectionsList.mjs +1 -0
  73. package/apps/portal/view/services/Component.mjs +1 -0
  74. package/apps/realworld/api/Base.mjs +1 -0
  75. package/apps/realworld/view/HeaderComponent.mjs +4 -0
  76. package/apps/realworld/view/HomeComponent.mjs +7 -0
  77. package/apps/realworld/view/MainContainer.mjs +2 -0
  78. package/apps/realworld/view/MainContainerController.mjs +2 -0
  79. package/apps/realworld/view/article/CommentComponent.mjs +3 -0
  80. package/apps/realworld/view/article/Component.mjs +17 -10
  81. package/apps/realworld/view/article/CreateCommentComponent.mjs +2 -0
  82. package/apps/realworld/view/article/CreateComponent.mjs +5 -0
  83. package/apps/realworld/view/article/PreviewComponent.mjs +9 -0
  84. package/apps/realworld/view/article/TagListComponent.mjs +2 -0
  85. package/apps/realworld/view/user/ProfileComponent.mjs +7 -0
  86. package/apps/realworld/view/user/SettingsComponent.mjs +5 -0
  87. package/apps/realworld/view/user/SignUpComponent.mjs +3 -0
  88. package/apps/realworld2/api/Base.mjs +1 -0
  89. package/apps/realworld2/view/FooterComponent.mjs +1 -0
  90. package/apps/realworld2/view/HeaderToolbar.mjs +3 -0
  91. package/apps/realworld2/view/HomeContainer.mjs +1 -0
  92. package/apps/realworld2/view/MainContainer.mjs +2 -0
  93. package/apps/realworld2/view/MainContainerController.mjs +1 -0
  94. package/apps/realworld2/view/article/Helix.mjs +1 -0
  95. package/apps/realworld2/view/article/PreviewComponent.mjs +9 -0
  96. package/apps/realworld2/view/article/PreviewList.mjs +1 -0
  97. package/apps/realworld2/view/article/TagListComponent.mjs +2 -0
  98. package/apps/route/view/CenterContainer.mjs +1 -0
  99. package/apps/route/view/MainView.mjs +1 -0
  100. package/apps/sharedcovid/childapps/sharedcovidchart/MainContainer.mjs +1 -0
  101. package/apps/sharedcovid/childapps/sharedcovidgallery/MainContainer.mjs +1 -0
  102. package/apps/sharedcovid/childapps/sharedcovidhelix/MainContainer.mjs +1 -0
  103. package/apps/sharedcovid/childapps/sharedcovidmap/MainContainer.mjs +1 -0
  104. package/apps/sharedcovid/view/FooterContainer.mjs +3 -0
  105. package/apps/sharedcovid/view/GalleryContainer.mjs +2 -0
  106. package/apps/sharedcovid/view/GalleryContainerController.mjs +1 -0
  107. package/apps/sharedcovid/view/HeaderContainer.mjs +2 -0
  108. package/apps/sharedcovid/view/HelixContainer.mjs +2 -0
  109. package/apps/sharedcovid/view/HelixContainerController.mjs +1 -0
  110. package/apps/sharedcovid/view/MainContainer.mjs +3 -0
  111. package/apps/sharedcovid/view/TableContainer.mjs +3 -0
  112. package/apps/sharedcovid/view/TableContainerController.mjs +1 -0
  113. package/apps/sharedcovid/view/WorldMapContainer.mjs +2 -0
  114. package/apps/sharedcovid/view/country/Gallery.mjs +3 -0
  115. package/apps/sharedcovid/view/country/Helix.mjs +8 -0
  116. package/apps/sharedcovid/view/country/HistoricalDataTable.mjs +1 -0
  117. package/apps/sharedcovid/view/country/Table.mjs +2 -0
  118. package/apps/sharedcovid/view/mapboxGl/Component.mjs +1 -0
  119. package/apps/sharedcovid/view/mapboxGl/Container.mjs +2 -0
  120. package/apps/shareddialog/childapps/shareddialog2/view/MainContainer.mjs +2 -0
  121. package/apps/shareddialog/view/DemoDialog.mjs +2 -0
  122. package/apps/shareddialog/view/MainContainer.mjs +2 -0
  123. package/apps/shareddialog/view/MainContainerController.mjs +1 -0
  124. package/buildScripts/addReactiveTags.mjs +191 -0
  125. package/buildScripts/checkReactiveTags.mjs +160 -0
  126. package/docs/app/store/Api.mjs +1 -0
  127. package/docs/app/store/Examples.mjs +1 -0
  128. package/docs/app/view/ApiTreeList.mjs +1 -0
  129. package/docs/app/view/ContentTabContainer.mjs +2 -0
  130. package/docs/app/view/ExamplesTreeList.mjs +2 -0
  131. package/docs/app/view/HeaderContainer.mjs +3 -0
  132. package/docs/app/view/MainContainer.mjs +5 -0
  133. package/docs/app/view/classdetails/HeaderComponent.mjs +1 -0
  134. package/docs/app/view/classdetails/MainContainer.mjs +3 -0
  135. package/docs/app/view/classdetails/MembersList.mjs +5 -0
  136. package/docs/app/view/classdetails/SourceViewComponent.mjs +2 -0
  137. package/examples/ConfigurationViewport.mjs +14 -8
  138. package/examples/calendar/weekview/MainContainer.mjs +4 -0
  139. package/examples/component/coronaGallery/CountryGallery.mjs +2 -0
  140. package/examples/component/coronaGallery/CountryStore.mjs +1 -0
  141. package/examples/component/coronaGallery/Viewport.mjs +3 -0
  142. package/examples/component/coronaGallery/ViewportController.mjs +1 -0
  143. package/examples/component/coronaHelix/CountryHelix.mjs +7 -0
  144. package/examples/component/coronaHelix/MainContainer.mjs +1 -0
  145. package/examples/component/gallery/ImageStore.mjs +1 -0
  146. package/examples/component/helix/ImageStore.mjs +1 -0
  147. package/examples/component/helix/Viewport.mjs +3 -0
  148. package/examples/component/helix/ViewportController.mjs +1 -0
  149. package/examples/component/multiWindowCoronaGallery/childapp/Viewport.mjs +1 -0
  150. package/examples/component/multiWindowHelix/childapp/Viewport.mjs +1 -0
  151. package/examples/component/wrapper/googleMaps/MapComponent.mjs +2 -0
  152. package/examples/core/config/MainContainer.mjs +2 -0
  153. package/examples/dialog/DemoDialog.mjs +2 -0
  154. package/examples/dialog/MainContainer.mjs +1 -0
  155. package/examples/form/field/color/MainStore.mjs +1 -0
  156. package/examples/functional/defineComponent/Component.mjs +18 -0
  157. package/examples/functional/defineComponent/MainContainer.mjs +41 -0
  158. package/examples/functional/defineComponent/app.mjs +6 -0
  159. package/examples/functional/defineComponent/index.html +11 -0
  160. package/examples/functional/defineComponent/neo-config.json +6 -0
  161. package/examples/functional/hostComponent/Component.mjs +32 -0
  162. package/examples/functional/hostComponent/MainContainer.mjs +48 -0
  163. package/examples/functional/hostComponent/app.mjs +6 -0
  164. package/examples/functional/hostComponent/index.html +11 -0
  165. package/examples/functional/hostComponent/neo-config.json +6 -0
  166. package/examples/grid/animatedRowSorting/Viewport.mjs +1 -1
  167. package/examples/grid/bigData/ControlsContainer.mjs +3 -0
  168. package/examples/grid/bigData/GridContainer.mjs +4 -2
  169. package/examples/grid/bigData/MainContainer.mjs +2 -0
  170. package/examples/grid/bigData/MainModel.mjs +1 -0
  171. package/examples/grid/bigData/MainStore.mjs +3 -0
  172. package/examples/grid/cellEditing/MainContainer.mjs +1 -1
  173. package/examples/grid/container/MainContainer.mjs +1 -1
  174. package/examples/grid/covid/GridContainer.mjs +3 -0
  175. package/examples/grid/covid/MainContainer.mjs +2 -0
  176. package/examples/grid/covid/Store.mjs +1 -0
  177. package/examples/grid/nestedRecordFields/EditUserDialog.mjs +3 -0
  178. package/examples/grid/nestedRecordFields/Viewport.mjs +3 -1
  179. package/examples/list/animate/List.mjs +4 -0
  180. package/examples/list/animate/MainContainer.mjs +2 -0
  181. package/examples/list/circle/MainStore.mjs +1 -0
  182. package/examples/list/color/MainStore.mjs +1 -0
  183. package/examples/preloadingAssets/view/MainContainer.mjs +2 -0
  184. package/examples/stateProvider/advanced/MainContainer.mjs +1 -0
  185. package/examples/stateProvider/dialog/EditUserDialog.mjs +2 -0
  186. package/examples/stateProvider/dialog/MainContainer.mjs +1 -0
  187. package/examples/stateProvider/extendedClass/MainContainer.mjs +2 -0
  188. package/examples/stateProvider/inline/MainContainer.mjs +1 -0
  189. package/examples/stateProvider/inlineNoStateProvider/MainContainer.mjs +1 -0
  190. package/examples/stateProvider/inlineNoStateProvider/MainContainerController.mjs +2 -0
  191. package/examples/stateProvider/multiWindow/EditUserDialog.mjs +3 -0
  192. package/examples/stateProvider/multiWindow/MainContainer.mjs +1 -0
  193. package/examples/stateProvider/multiWindow/Viewport.mjs +1 -0
  194. package/examples/stateProvider/nestedData/MainContainer.mjs +1 -0
  195. package/examples/stateProvider/table/MainContainer.mjs +1 -0
  196. package/examples/table/covid/MainContainer.mjs +2 -0
  197. package/examples/table/covid/Store.mjs +1 -0
  198. package/examples/table/covid/TableContainer.mjs +3 -0
  199. package/examples/table/nestedRecordFields/EditUserDialog.mjs +3 -0
  200. package/examples/table/nestedRecordFields/Viewport.mjs +1 -0
  201. package/examples/todoList/version1/MainComponent.mjs +1 -1
  202. package/examples/toolbar/breadcrumb/view/MainContainer.mjs +2 -0
  203. package/examples/toolbar/paging/store/Users.mjs +1 -0
  204. package/examples/toolbar/paging/view/AddUserDialog.mjs +3 -0
  205. package/examples/toolbar/paging/view/MainContainer.mjs +3 -0
  206. package/examples/treeAccordion/MainContainer.mjs +2 -2
  207. package/examples/worker/task/MainContainer.mjs +1 -0
  208. package/learn/Glossary.md +1 -0
  209. package/learn/UsingTheseTopics.md +1 -0
  210. package/learn/benefits/ConfigSystem.md +2 -0
  211. package/learn/benefits/Effort.md +1 -0
  212. package/learn/benefits/Features.md +1 -0
  213. package/learn/benefits/FormsEngine.md +1 -0
  214. package/learn/benefits/FourEnvironments.md +2 -0
  215. package/learn/benefits/Introduction.md +2 -0
  216. package/learn/benefits/MultiWindow.md +3 -1
  217. package/learn/benefits/OffTheMainThread.md +2 -0
  218. package/learn/benefits/Quick.md +2 -0
  219. package/learn/benefits/RPCLayer.md +2 -0
  220. package/learn/benefits/Speed.md +2 -0
  221. package/learn/comparisons/NeoVsAngular.md +90 -0
  222. package/learn/comparisons/NeoVsExtJs.md +178 -0
  223. package/learn/comparisons/NeoVsNextJs.md +124 -0
  224. package/learn/comparisons/NeoVsReact.md +95 -0
  225. package/learn/comparisons/NeoVsSolid.md +78 -0
  226. package/learn/comparisons/NeoVsVue.md +92 -0
  227. package/learn/comparisons/Overview.md +46 -0
  228. package/learn/gettingstarted/ComponentModels.md +2 -0
  229. package/learn/gettingstarted/Config.md +2 -0
  230. package/learn/gettingstarted/DescribingTheUI.md +2 -0
  231. package/learn/gettingstarted/Events.md +2 -0
  232. package/learn/gettingstarted/Extending.md +2 -0
  233. package/learn/gettingstarted/References.md +2 -0
  234. package/learn/gettingstarted/Setup.md +3 -2
  235. package/learn/gettingstarted/Workspaces.md +2 -0
  236. package/learn/guides/datahandling/Collections.md +1 -0
  237. package/learn/guides/datahandling/Records.md +1 -0
  238. package/learn/guides/datahandling/StateProviders.md +130 -16
  239. package/learn/guides/datahandling/Tables.md +1 -1
  240. package/learn/guides/fundamentals/ConfigSystemDeepDive.md +1 -0
  241. package/learn/guides/fundamentals/DeclarativeComponentTreesVsImperativeVdom.md +2 -0
  242. package/learn/guides/fundamentals/DeclarativeVDOMWithEffects.md +10 -8
  243. package/learn/guides/fundamentals/ExtendingNeoClasses.md +1 -0
  244. package/learn/guides/fundamentals/InstanceLifecycle.md +3 -1
  245. package/learn/guides/fundamentals/MainThreadAddons.md +2 -0
  246. package/learn/guides/specificfeatures/Mixins.md +3 -1
  247. package/learn/guides/specificfeatures/MultiWindow.md +3 -1
  248. package/learn/guides/specificfeatures/PortalApp.md +2 -0
  249. package/learn/guides/uibuildingblocks/ComponentsAndContainers.md +2 -0
  250. package/learn/guides/uibuildingblocks/CustomComponents.md +2 -0
  251. package/learn/guides/uibuildingblocks/Layouts.md +2 -0
  252. package/learn/guides/uibuildingblocks/WorkingWithVDom.md +2 -0
  253. package/learn/guides/userinteraction/Forms.md +2 -0
  254. package/learn/guides/userinteraction/events/CustomEvents.md +2 -1
  255. package/learn/guides/userinteraction/events/DomEvents.md +2 -0
  256. package/learn/javascript/ClassFeatures.md +4 -3
  257. package/learn/javascript/Classes.md +10 -13
  258. package/learn/javascript/Overrides.md +10 -6
  259. package/learn/javascript/Super.md +12 -8
  260. package/learn/tree.json +71 -64
  261. package/learn/tutorials/Earthquakes.md +2 -0
  262. package/learn/tutorials/RSP.md +3 -1
  263. package/learn/tutorials/TodoList.md +103 -7
  264. package/package.json +6 -4
  265. package/resources/scss/src/apps/email/ComposeView.scss +16 -0
  266. package/resources/scss/src/apps/email/MainView.scss +5 -0
  267. package/resources/scss/src/apps/portal/learn/ContentComponent.scss +5 -4
  268. package/src/DefaultConfig.mjs +12 -2
  269. package/src/Main.mjs +1 -0
  270. package/src/Neo.mjs +217 -166
  271. package/src/Xhr.mjs +1 -0
  272. package/src/button/Base.mjs +13 -0
  273. package/src/button/Effect.mjs +16 -2
  274. package/src/button/Split.mjs +2 -0
  275. package/src/calendar/store/Calendars.mjs +1 -0
  276. package/src/calendar/store/Colors.mjs +1 -0
  277. package/src/calendar/store/Events.mjs +1 -0
  278. package/src/calendar/view/DayComponent.mjs +2 -0
  279. package/src/calendar/view/EditEventContainer.mjs +4 -1
  280. package/src/calendar/view/MainContainer.mjs +13 -0
  281. package/src/calendar/view/MainContainerStateProvider.mjs +14 -28
  282. package/src/calendar/view/SettingsContainer.mjs +1 -0
  283. package/src/calendar/view/YearComponent.mjs +16 -0
  284. package/src/calendar/view/calendars/ColorsList.mjs +2 -0
  285. package/src/calendar/view/calendars/Container.mjs +2 -0
  286. package/src/calendar/view/calendars/EditContainer.mjs +1 -0
  287. package/src/calendar/view/month/Component.mjs +11 -0
  288. package/src/calendar/view/settings/GeneralContainer.mjs +1 -0
  289. package/src/calendar/view/settings/MonthContainer.mjs +1 -0
  290. package/src/calendar/view/settings/WeekContainer.mjs +1 -0
  291. package/src/calendar/view/settings/YearContainer.mjs +1 -0
  292. package/src/calendar/view/week/Component.mjs +15 -1
  293. package/src/calendar/view/week/TimeAxisComponent.mjs +4 -0
  294. package/src/code/LivePreview.mjs +51 -23
  295. package/src/collection/Base.mjs +7 -10
  296. package/src/collection/Filter.mjs +6 -0
  297. package/src/collection/Sorter.mjs +3 -0
  298. package/src/component/Base.mjs +104 -771
  299. package/src/component/Canvas.mjs +1 -0
  300. package/src/component/Chip.mjs +4 -0
  301. package/src/component/Circle.mjs +14 -0
  302. package/src/component/Clock.mjs +4 -0
  303. package/src/component/DateSelector.mjs +12 -0
  304. package/src/component/Gallery.mjs +11 -0
  305. package/src/component/Helix.mjs +24 -0
  306. package/src/component/Label.mjs +1 -0
  307. package/src/component/Legend.mjs +3 -0
  308. package/src/component/MagicMoveText.mjs +4 -0
  309. package/src/component/Progress.mjs +3 -0
  310. package/src/component/Splitter.mjs +3 -0
  311. package/src/component/StatusBadge.mjs +6 -0
  312. package/src/component/Timer.mjs +4 -0
  313. package/src/component/Toast.mjs +6 -0
  314. package/src/component/Video.mjs +1 -0
  315. package/src/component/mwc/Button.mjs +7 -0
  316. package/src/component/mwc/TextField.mjs +9 -0
  317. package/src/component/wrapper/AmChart.mjs +2 -0
  318. package/src/component/wrapper/GoogleMaps.mjs +3 -0
  319. package/src/component/wrapper/MapboxGL.mjs +5 -0
  320. package/src/component/wrapper/MonacoEditor.mjs +12 -0
  321. package/src/container/Accordion.mjs +2 -0
  322. package/src/container/Base.mjs +7 -3
  323. package/src/container/Panel.mjs +1 -0
  324. package/src/container/Viewport.mjs +1 -0
  325. package/src/controller/Application.mjs +1 -0
  326. package/src/controller/Base.mjs +1 -0
  327. package/src/controller/Component.mjs +1 -0
  328. package/src/core/Base.mjs +55 -3
  329. package/src/core/Compare.mjs +4 -7
  330. package/src/core/Config.mjs +65 -52
  331. package/src/core/Effect.mjs +79 -13
  332. package/src/core/EffectBatchManager.mjs +18 -19
  333. package/src/core/EffectManager.mjs +25 -3
  334. package/src/core/IdGenerator.mjs +13 -44
  335. package/src/data/Model.mjs +2 -0
  336. package/src/data/Store.mjs +7 -0
  337. package/src/data/connection/WebSocket.mjs +2 -0
  338. package/src/date/DayViewComponent.mjs +2 -0
  339. package/src/date/SelectorContainer.mjs +14 -0
  340. package/src/dialog/Base.mjs +8 -0
  341. package/src/draggable/DragZone.mjs +5 -0
  342. package/src/draggable/tree/DragZone.mjs +1 -0
  343. package/src/filter/BooleanContainer.mjs +2 -0
  344. package/src/filter/NumberContainer.mjs +3 -0
  345. package/src/filter/ToggleOperatorsButton.mjs +2 -0
  346. package/src/form/Fieldset.mjs +6 -0
  347. package/src/form/field/Base.mjs +7 -0
  348. package/src/form/field/CheckBox.mjs +18 -0
  349. package/src/form/field/Chip.mjs +1 -0
  350. package/src/form/field/ComboBox.mjs +8 -0
  351. package/src/form/field/Country.mjs +1 -0
  352. package/src/form/field/Currency.mjs +2 -0
  353. package/src/form/field/Date.mjs +4 -0
  354. package/src/form/field/Display.mjs +1 -0
  355. package/src/form/field/Email.mjs +1 -0
  356. package/src/form/field/FileUpload.mjs +7 -0
  357. package/src/form/field/Hidden.mjs +1 -0
  358. package/src/form/field/Number.mjs +7 -0
  359. package/src/form/field/Password.mjs +1 -0
  360. package/src/form/field/Phone.mjs +3 -0
  361. package/src/form/field/Picker.mjs +2 -0
  362. package/src/form/field/Radio.mjs +1 -0
  363. package/src/form/field/Range.mjs +3 -0
  364. package/src/form/field/Search.mjs +2 -0
  365. package/src/form/field/Text.mjs +32 -0
  366. package/src/form/field/TextArea.mjs +7 -0
  367. package/src/form/field/Time.mjs +6 -0
  368. package/src/form/field/Url.mjs +3 -0
  369. package/src/form/field/ZipCode.mjs +2 -0
  370. package/src/form/field/trigger/Base.mjs +3 -0
  371. package/src/form/field/trigger/Clear.mjs +2 -0
  372. package/src/form/field/trigger/CopyToClipboard.mjs +2 -0
  373. package/src/form/field/trigger/Date.mjs +1 -0
  374. package/src/form/field/trigger/Picker.mjs +1 -0
  375. package/src/form/field/trigger/Search.mjs +1 -0
  376. package/src/form/field/trigger/SpinDown.mjs +2 -0
  377. package/src/form/field/trigger/SpinUp.mjs +1 -0
  378. package/src/form/field/trigger/Time.mjs +2 -0
  379. package/src/functional/_export.mjs +6 -0
  380. package/src/functional/component/Base.mjs +499 -0
  381. package/src/functional/defineComponent.mjs +102 -0
  382. package/src/functional/useConfig.mjs +52 -0
  383. package/src/functional/useEvent.mjs +43 -0
  384. package/src/grid/Body.mjs +20 -1
  385. package/src/grid/Container.mjs +50 -60
  386. package/src/grid/ScrollManager.mjs +2 -0
  387. package/src/grid/VerticalScrollbar.mjs +2 -0
  388. package/src/grid/column/Base.mjs +2 -0
  389. package/src/grid/header/Button.mjs +7 -0
  390. package/src/grid/header/Toolbar.mjs +6 -0
  391. package/src/grid/plugin/AnimateRows.mjs +2 -0
  392. package/src/layout/Base.mjs +3 -0
  393. package/src/layout/Card.mjs +1 -0
  394. package/src/layout/Cube.mjs +11 -1
  395. package/src/layout/Fit.mjs +1 -0
  396. package/src/layout/Flexbox.mjs +7 -0
  397. package/src/layout/Form.mjs +2 -0
  398. package/src/layout/Grid.mjs +1 -0
  399. package/src/layout/HBox.mjs +1 -0
  400. package/src/layout/VBox.mjs +1 -0
  401. package/src/list/Base.mjs +13 -0
  402. package/src/list/Chip.mjs +1 -0
  403. package/src/list/Circle.mjs +2 -0
  404. package/src/list/Color.mjs +1 -0
  405. package/src/list/plugin/Animate.mjs +2 -0
  406. package/src/main/DeltaUpdates.mjs +1 -0
  407. package/src/main/DomEvents.mjs +2 -0
  408. package/src/main/addon/CloneNode.mjs +1 -0
  409. package/src/main/addon/Cookie.mjs +1 -0
  410. package/src/main/addon/GoogleMaps.mjs +1 -0
  411. package/src/main/addon/LocalStorage.mjs +1 -0
  412. package/src/main/addon/MapboxGL.mjs +1 -0
  413. package/src/main/addon/Markdown.mjs +1 -0
  414. package/src/main/addon/Navigator.mjs +1 -0
  415. package/src/main/addon/Popover.mjs +1 -0
  416. package/src/main/addon/Stylesheet.mjs +1 -0
  417. package/src/main/addon/WindowPosition.mjs +1 -0
  418. package/src/manager/Component.mjs +0 -71
  419. package/src/manager/VDomUpdate.mjs +235 -0
  420. package/src/menu/List.mjs +6 -0
  421. package/src/menu/Model.mjs +1 -0
  422. package/src/menu/Panel.mjs +3 -0
  423. package/src/menu/Store.mjs +1 -0
  424. package/src/mixin/DomEvents.mjs +130 -0
  425. package/src/mixin/VdomLifecycle.mjs +667 -0
  426. package/src/plugin/Base.mjs +1 -0
  427. package/src/plugin/Resizable.mjs +2 -0
  428. package/src/selection/Model.mjs +15 -18
  429. package/src/selection/grid/BaseModel.mjs +1 -0
  430. package/src/sitemap/Component.mjs +1 -0
  431. package/src/state/Provider.mjs +98 -70
  432. package/src/state/createHierarchicalDataProxy.mjs +39 -25
  433. package/src/tab/Container.mjs +6 -0
  434. package/src/tab/Strip.mjs +1 -0
  435. package/src/tab/header/Button.mjs +2 -0
  436. package/src/tab/header/EffectButton.mjs +2 -0
  437. package/src/tab/header/Toolbar.mjs +1 -0
  438. package/src/table/Body.mjs +3 -0
  439. package/src/table/Container.mjs +10 -0
  440. package/src/table/header/Button.mjs +8 -0
  441. package/src/table/header/Toolbar.mjs +5 -0
  442. package/src/table/plugin/CellEditing.mjs +1 -0
  443. package/src/toolbar/Base.mjs +4 -0
  444. package/src/toolbar/Breadcrumb.mjs +3 -0
  445. package/src/toolbar/Paging.mjs +5 -0
  446. package/src/tooltip/Base.mjs +2 -0
  447. package/src/tree/List.mjs +3 -0
  448. package/src/util/HashHistory.mjs +1 -0
  449. package/src/util/KeyNavigation.mjs +2 -0
  450. package/src/util/Matrix.mjs +1 -0
  451. package/src/util/VDom.mjs +7 -1
  452. package/src/util/VNode.mjs +7 -1
  453. package/src/util/vdom/TreeBuilder.mjs +129 -0
  454. package/src/vdom/Helper.mjs +35 -23
  455. package/src/vdom/VNode.mjs +4 -6
  456. package/src/worker/App.mjs +1 -0
  457. package/src/worker/Base.mjs +2 -0
  458. package/src/worker/Manager.mjs +2 -0
  459. package/src/worker/ServiceBase.mjs +6 -1
  460. package/test/siesta/siesta.js +5 -2
  461. package/test/siesta/tests/VdomCalendar.mjs +13 -9
  462. package/test/siesta/tests/core/Effect.mjs +10 -14
  463. package/test/siesta/tests/core/EffectBatching.mjs +25 -37
  464. package/test/siesta/tests/state/ProviderNestedDataConfigs.mjs +255 -0
  465. package/test/siesta/tests/state/createHierarchicalDataProxy.mjs +42 -55
  466. package/test/siesta/tests/vdom/VdomAsymmetricUpdates.mjs +366 -0
  467. package/test/siesta/tests/vdom/VdomRealWorldUpdates.mjs +249 -0
  468. package/learn/javascript/NewNode.md +0 -31
@@ -24,14 +24,17 @@ class Fieldset extends FormContainer {
24
24
  baseCls: ['neo-fieldset'],
25
25
  /**
26
26
  * @member {Boolean} collapsed_=false,
27
+ * @reactive
27
28
  */
28
29
  collapsed_: false,
29
30
  /**
30
31
  * @member {Boolean} collapsible_=true,
32
+ * @reactive
31
33
  */
32
34
  collapsible_: true,
33
35
  /**
34
36
  * @member {Boolean} disableItemsOnCollapse_=true,
37
+ * @reactive
35
38
  */
36
39
  disableItemsOnCollapse_: true,
37
40
  /**
@@ -41,10 +44,12 @@ class Fieldset extends FormContainer {
41
44
  hasLabelClickListener: false,
42
45
  /**
43
46
  * @member {String} iconClsChecked_='far fa-check'
47
+ * @reactive
44
48
  */
45
49
  iconClsChecked_: 'far fa-check',
46
50
  /**
47
51
  * @member {String} iconClsUnchecked_='far fa-square'
52
+ * @reactive
48
53
  */
49
54
  iconClsUnchecked_: 'far fa-square',
50
55
  /**
@@ -64,6 +69,7 @@ class Fieldset extends FormContainer {
64
69
  legendConfig: null,
65
70
  /**
66
71
  * @member {String} title_=''
72
+ * @reactive
67
73
  */
68
74
  title_: '',
69
75
  /**
@@ -31,24 +31,29 @@ class Field extends Component {
31
31
  * Form groups can get set on any parent component level.
32
32
  * An alternative way for using dots in field names.
33
33
  * @member {String|null} formGroup_=null
34
+ * @reactive
34
35
  */
35
36
  formGroup_: null,
36
37
  /**
37
38
  * @member {Object|null} keys={}
39
+ * @reactive
38
40
  */
39
41
  keys: {},
40
42
  /**
41
43
  * True indicates that a user has interacted with the form field
42
44
  * @member {Boolean} isTouched_=false
45
+ * @reactive
43
46
  */
44
47
  isTouched_: false,
45
48
  /**
46
49
  * Event name which sets isTouched to true. Valid options are 'focusEnter' & 'focusLeave'
47
50
  * @member {String} isTouched_=false
51
+ * @reactive
48
52
  */
49
53
  isTouchedEvent_: 'focusLeave',
50
54
  /**
51
55
  * @member {String|null} name_=null
56
+ * @reactive
52
57
  */
53
58
  name_: null,
54
59
  /**
@@ -57,6 +62,7 @@ class Field extends Component {
57
62
  * & accessibility though, so the default got set to true.
58
63
  * Feel free to change it to false to keep the DOM minimal.
59
64
  * @member {Boolean} renderName_=true
65
+ * @reactive
60
66
  */
61
67
  renderName_: true,
62
68
  /**
@@ -67,6 +73,7 @@ class Field extends Component {
67
73
  renderPath: true,
68
74
  /**
69
75
  * @member {*} value_=null
76
+ * @reactive
70
77
  */
71
78
  value_: null
72
79
  }
@@ -32,15 +32,18 @@ class CheckBox extends Field {
32
32
  baseCls: ['neo-checkboxfield'],
33
33
  /**
34
34
  * @member {Boolean} checked_=false
35
+ * @reactive
35
36
  */
36
37
  checked_: false,
37
38
  /**
38
39
  * @member {String|null} error_=null
40
+ * @reactive
39
41
  */
40
42
  error_: null,
41
43
  /**
42
44
  * Useful for fields inside a css grid where errors should live outside the layout
43
45
  * @member {Boolean} errorPositionAbsolute_=false
46
+ * @reactive
44
47
  */
45
48
  errorPositionAbsolute_: false,
46
49
  /**
@@ -53,10 +56,12 @@ class CheckBox extends Field {
53
56
  errorTextRequired: 'Required',
54
57
  /**
55
58
  * @member {Boolean} groupRequired_=false
59
+ * @reactive
56
60
  */
57
61
  groupRequired_: false,
58
62
  /**
59
63
  * @member {Boolean} hideLabel_=false
64
+ * @reactive
60
65
  */
61
66
  hideLabel_: false,
62
67
  /**
@@ -69,6 +74,7 @@ class CheckBox extends Field {
69
74
  iconClsChecked: ['fas', 'fa-check'],
70
75
  /**
71
76
  * @member {String} inputType_='checkbox'
77
+ * @reactive
72
78
  */
73
79
  inputType_: 'checkbox',
74
80
  /**
@@ -77,45 +83,54 @@ class CheckBox extends Field {
77
83
  labelBaseCls: ['neo-checkbox-label'],
78
84
  /**
79
85
  * @member {String[]} labelCls_=[]
86
+ * @reactive
80
87
  */
81
88
  labelCls_: [],
82
89
  /**
83
90
  * Edge-case config in case we want to render leading content with their own selectors like:
84
91
  * <span class="my-label-id-cls">E10</span> · Firstname
85
92
  * @member {String|null} labelId_=null
93
+ * @reactive
86
94
  */
87
95
  labelId_: null,
88
96
  /**
89
97
  * CSS rules for labelId
90
98
  * @member {String[]} labelIdCls_=[]
99
+ * @reactive
91
100
  */
92
101
  labelIdCls_: [],
93
102
  /**
94
103
  * Separator between labelId & labelText
95
104
  * @member {String} labelIdSeparator_=' · '
105
+ * @reactive
96
106
  */
97
107
  labelIdSeparator_: ' · ',
98
108
  /**
99
109
  * Valid values: 'left', 'top'
100
110
  * @member {String} labelPosition_='left'
111
+ * @reactive
101
112
  */
102
113
  labelPosition_: 'left',
103
114
  /**
104
115
  * @member {String} labelText_='LabelText'
116
+ * @reactive
105
117
  */
106
118
  labelText_: 'LabelText',
107
119
  /**
108
120
  * defaults to px
109
121
  * @member {Number|String} labelWidth_=150
122
+ * @reactive
110
123
  */
111
124
  labelWidth_: 150,
112
125
  /**
113
126
  * @member {Boolean} required_=false
127
+ * @reactive
114
128
  */
115
129
  required_: false,
116
130
  /**
117
131
  * Use case: Set this config to false for all but one item with the same name.
118
132
  * @member {Boolean} showErrorTexts_=true
133
+ * @reactive
119
134
  */
120
135
  showErrorTexts_: true,
121
136
  /**
@@ -129,14 +144,17 @@ class CheckBox extends Field {
129
144
  * Intended to get combined with form.Container: getFormState().
130
145
  * See apps/form as an example.
131
146
  * @member {Boolean} useAlertState_=false
147
+ * @reactive
132
148
  */
133
149
  useAlertState_: false,
134
150
  /**
135
151
  * @member {Boolean|Number|String|null} value=true
152
+ * @reactive
136
153
  */
137
154
  value: true,
138
155
  /**
139
156
  * @member {String|null} valueLabelText_=null
157
+ * @reactive
140
158
  */
141
159
  valueLabelText_: null,
142
160
  /**
@@ -18,6 +18,7 @@ class Chip extends ComboBox {
18
18
  ntype: 'chipfield',
19
19
  /**
20
20
  * @member {Object|null} listConfig={useCheckBoxes: true}
21
+ * @reactive
21
22
  */
22
23
  listConfig: {
23
24
  useCheckBoxes: true
@@ -53,6 +53,7 @@ class ComboBox extends Picker {
53
53
  filterDelay : 50,
54
54
  /**
55
55
  * @member {String} filterOperator_='like'
56
+ * @reactive
56
57
  */
57
58
  filterOperator_: 'like',
58
59
  /**
@@ -81,6 +82,7 @@ class ComboBox extends Picker {
81
82
  list: null,
82
83
  /**
83
84
  * @member {Object|null} listConfig_=null
85
+ * @reactive
84
86
  */
85
87
  listConfig_: null,
86
88
  /**
@@ -90,10 +92,12 @@ class ComboBox extends Picker {
90
92
  pickerHeight: null,
91
93
  /**
92
94
  * @member {String|null} role='combobox'
95
+ * @reactive
93
96
  */
94
97
  role: 'combobox',
95
98
  /**
96
99
  * @member {Neo.data.Store|null} store_=null
100
+ * @reactive
97
101
  */
98
102
  store_: null,
99
103
  /**
@@ -101,16 +105,19 @@ class ComboBox extends Picker {
101
105
  * match the filter string inside the input field.
102
106
  * Valid values: all, filtered
103
107
  * @member {String} triggerAction_='all'
108
+ * @reactive
104
109
  */
105
110
  triggerAction_: 'all',
106
111
  /**
107
112
  * Display the first matching result while typing
108
113
  * @member {Boolean} typeAhead_=true
114
+ * @reactive
109
115
  */
110
116
  typeAhead_: true,
111
117
  /**
112
118
  * Set this config to false, in case typing into the input field should not filter list items
113
119
  * @member {Boolean} useFilter_=true
120
+ * @reactive
114
121
  */
115
122
  useFilter_: true,
116
123
  /**
@@ -122,6 +129,7 @@ class ComboBox extends Picker {
122
129
  /**
123
130
  * Default width to prevent rendering issues.
124
131
  * @member {Number} width=150
132
+ * @reactive
125
133
  */
126
134
  width: 150
127
135
  }
@@ -19,6 +19,7 @@ class Country extends ComboBox {
19
19
  /**
20
20
  * You can either pass a field instance or a field reference
21
21
  * @member {Neo.form.field.Base|String|null} zipCodeField_=null
22
+ * @reactive
22
23
  */
23
24
  zipCodeField_: null
24
25
  }
@@ -18,10 +18,12 @@ class Currency extends Number {
18
18
  ntype: 'currencyfield',
19
19
  /**
20
20
  * @member {Number} maxValue=1000000
21
+ * @reactive
21
22
  */
22
23
  maxValue: 1000000,
23
24
  /**
24
25
  * @member {Number} stepSize=0.01
26
+ * @reactive
25
27
  */
26
28
  stepSize: 0.01
27
29
  }
@@ -48,14 +48,17 @@ class DateField extends Picker {
48
48
  hidePickerOnSelect: false,
49
49
  /**
50
50
  * @member {String} inputType='date'
51
+ * @reactive
51
52
  */
52
53
  inputType: 'date',
53
54
  /**
54
55
  * @member {String|null} maxValue_=null
56
+ * @reactive
55
57
  */
56
58
  maxValue_: null,
57
59
  /**
58
60
  * @member {String|null} minValue_=null
61
+ * @reactive
59
62
  */
60
63
  minValue_: null,
61
64
  /**
@@ -73,6 +76,7 @@ class DateField extends Picker {
73
76
  /**
74
77
  * @member {Object|Object[]} triggers=[{module: DateTrigger}]
75
78
  * @protected
79
+ * @reactive
76
80
  */
77
81
  triggers: [{
78
82
  module: DateTrigger
@@ -24,6 +24,7 @@ class Display extends Text {
24
24
  /**
25
25
  * @member {Boolean} clearable=false
26
26
  * @protected
27
+ * @reactive
27
28
  */
28
29
  clearable: false
29
30
  }
@@ -30,6 +30,7 @@ class Email extends Text {
30
30
  errorTextValidEmail: 'Not a valid email address',
31
31
  /**
32
32
  * @member {String} inputType='email'
33
+ * @reactive
33
34
  */
34
35
  inputType: 'email'
35
36
  }
@@ -102,6 +102,7 @@ class FileUpload extends Field {
102
102
  baseCls: ['neo-file-upload-field'],
103
103
  /**
104
104
  * @member {String[]} cls=['neo-field-empty']
105
+ * @reactive
105
106
  */
106
107
  cls: ['neo-field-empty'],
107
108
  /**
@@ -148,6 +149,7 @@ class FileUpload extends Field {
148
149
 
149
150
  /**
150
151
  * @member {String|null} document_=null
152
+ * @reactive
151
153
  */
152
154
  document_: null,
153
155
 
@@ -211,6 +213,7 @@ class FileUpload extends Field {
211
213
  * by the {@link #member-documentIdParameter}. It defaults to `'documentId'`.
212
214
  *
213
215
  * @member {String|null} downloadUrl_=null
216
+ * @reactive
214
217
  */
215
218
  downloadUrl_: null,
216
219
 
@@ -240,6 +243,7 @@ class FileUpload extends Field {
240
243
  * ```
241
244
  *
242
245
  * @member {String|null} documentStatusUrl_=null
246
+ * @reactive
243
247
  */
244
248
  documentStatusUrl_: null,
245
249
 
@@ -273,6 +277,7 @@ class FileUpload extends Field {
273
277
  * If this service yields an HTTP 200 status, the deletion is taken to have been successful.
274
278
  *
275
279
  * @member {String|null} documentDeleteUrl_=null
280
+ * @reactive
276
281
  */
277
282
  documentDeleteUrl_: null,
278
283
 
@@ -286,6 +291,7 @@ class FileUpload extends Field {
286
291
 
287
292
  /**
288
293
  * @member {String} state_=ready
294
+ * @reactive
289
295
  */
290
296
  state_: 'ready',
291
297
 
@@ -302,6 +308,7 @@ class FileUpload extends Field {
302
308
  /**
303
309
  * The error text to show below the widget
304
310
  * @member {String|null} error_=null
311
+ * @reactive
305
312
  */
306
313
  error_ : null,
307
314
 
@@ -18,6 +18,7 @@ class Hidden extends Field {
18
18
  ntype: 'hiddenfield',
19
19
  /**
20
20
  * @member {Boolean} hidden=true
21
+ * @reactive
21
22
  */
22
23
  hidden: true
23
24
  }
@@ -35,6 +35,7 @@ class Number extends Text {
35
35
  /**
36
36
  * Prevent users from typing specific characters.
37
37
  * @member {String[]|null} disabledChars=['e','E']
38
+ * @reactive
38
39
  */
39
40
  disabledChars: ['e', 'E'],
40
41
  /**
@@ -58,23 +59,28 @@ class Number extends Text {
58
59
  /**
59
60
  * false only allows changing the field using the spin buttons
60
61
  * @member {Boolean} inputEditable_=true
62
+ * @reactive
61
63
  */
62
64
  inputEditable_: true,
63
65
  /**
64
66
  * Value for the inputType_ textfield config
65
67
  * @member {String} inputType='number'
68
+ * @reactive
66
69
  */
67
70
  inputType: 'number',
68
71
  /**
69
72
  * @member {Number} maxValue_=100
73
+ * @reactive
70
74
  */
71
75
  maxValue_: 100,
72
76
  /**
73
77
  * @member {Number} minValue_=0
78
+ * @reactive
74
79
  */
75
80
  minValue_: 0,
76
81
  /**
77
82
  * @member {Number} stepSize_=1
83
+ * @reactive
78
84
  */
79
85
  stepSize_: 1,
80
86
  /**
@@ -84,6 +90,7 @@ class Number extends Text {
84
90
  triggerPosition_: 'right',
85
91
  /**
86
92
  * @member {Boolean} useSpinButtons_=true
93
+ * @reactive
87
94
  */
88
95
  useSpinButtons_: true
89
96
  }
@@ -19,6 +19,7 @@ class Password extends Text {
19
19
  /**
20
20
  * Value for the inputType_ textfield config
21
21
  * @member {String} inputType='password'
22
+ * @reactive
22
23
  */
23
24
  inputType: 'password'
24
25
  }
@@ -24,15 +24,18 @@ class Phone extends Text {
24
24
  errorTextInputPattern: data => `Not a valid phone number`,
25
25
  /**
26
26
  * @member {RegExp|null} inputPattern=/^\+?\(?[0-9]+\)?([\-\s\.]?[/0-9]+)*$/
27
+ * @reactive
27
28
  */
28
29
  inputPattern: /^\+?\(?[0-9]+\)?([\-\s\.]?[/0-9]+)*$/,
29
30
  /**
30
31
  * @member {Boolean} inputPatternDOM=false
32
+ * @reactive
31
33
  */
32
34
  inputPatternDOM: false,
33
35
  /**
34
36
  * Value for the inputType_ textfield config
35
37
  * @member {String} inputType='tel'
38
+ * @reactive
36
39
  */
37
40
  inputType: 'tel'
38
41
  }
@@ -58,6 +58,7 @@ class Picker extends Text {
58
58
  /**
59
59
  * @member {Boolean} pickerIsMounted_=false
60
60
  * @protected
61
+ * @reactive
61
62
  */
62
63
  pickerIsMounted_: false,
63
64
  /**
@@ -79,6 +80,7 @@ class Picker extends Text {
79
80
  /**
80
81
  * @member {Object|Object[]} triggers=[]
81
82
  * @protected
83
+ * @reactive
82
84
  */
83
85
  triggers: [{
84
86
  module: PickerTrigger
@@ -27,6 +27,7 @@ class Radio extends CheckBox {
27
27
  iconCls: ['far', 'fa-circle'],
28
28
  /**
29
29
  * @member {String} inputType='radio'
30
+ * @reactive
30
31
  */
31
32
  inputType: 'radio'
32
33
  }
@@ -31,11 +31,13 @@ class Range extends Number {
31
31
  /**
32
32
  * True shows a clear trigger in case the field has a non empty value.
33
33
  * @member {Boolean} clearable=false
34
+ * @reactive
34
35
  */
35
36
  clearable: false,
36
37
  /**
37
38
  * Value for the inputType_ textfield config
38
39
  * @member {String} inputType='range'
40
+ * @reactive
39
41
  */
40
42
  inputType: 'range',
41
43
  /**
@@ -45,6 +47,7 @@ class Range extends Number {
45
47
  showResultInLabel: false,
46
48
  /**
47
49
  * @member {Array} tickmarks_=[]
50
+ * @reactive
48
51
  */
49
52
  tickmarks_: [],
50
53
  /**
@@ -23,11 +23,13 @@ class Search extends Text {
23
23
  /**
24
24
  * Value for the hideLabel_ textfield config
25
25
  * @member {Boolean} hideLabel=true
26
+ * @reactive
26
27
  */
27
28
  hideLabel: true,
28
29
  /**
29
30
  * Value for the placeholderText_ textfield config
30
31
  * @member {String} placeholderText='Search'
32
+ * @reactive
31
33
  */
32
34
  placeholderText: 'Search'
33
35
  }