neo.mjs 6.17.2 → 6.18.1

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 (323) hide show
  1. package/apps/ServiceWorker.mjs +3 -5
  2. package/apps/colors/README.md +8 -0
  3. package/apps/colors/app.mjs +6 -0
  4. package/apps/colors/childapps/widget/app.mjs +7 -0
  5. package/apps/colors/childapps/widget/index.html +11 -0
  6. package/apps/colors/childapps/widget/neo-config.json +10 -0
  7. package/apps/colors/childapps/widget/view/Viewport.mjs +19 -0
  8. package/apps/colors/index.html +11 -0
  9. package/apps/colors/model/Color.mjs +43 -0
  10. package/apps/colors/neo-config.json +10 -0
  11. package/apps/colors/remotes-api.json +13 -0
  12. package/apps/colors/store/Colors.mjs +24 -0
  13. package/apps/colors/view/BarChartComponent.mjs +64 -0
  14. package/apps/colors/view/HeaderToolbar.mjs +95 -0
  15. package/apps/colors/view/PieChartComponent.mjs +58 -0
  16. package/apps/colors/view/TableContainer.mjs +91 -0
  17. package/apps/colors/view/Viewport.mjs +57 -0
  18. package/apps/colors/view/ViewportController.mjs +277 -0
  19. package/apps/colors/view/ViewportModel.mjs +53 -0
  20. package/apps/portal/Util.mjs +11 -0
  21. package/apps/portal/childapps/preview/neo-config.json +2 -2
  22. package/apps/portal/neo-config.json +2 -1
  23. package/apps/portal/remotes-api.json +13 -0
  24. package/apps/portal/view/HeaderToolbar.mjs +1 -1
  25. package/apps/portal/view/ViewportController.mjs +89 -1
  26. package/apps/portal/view/home/MainContainer.mjs +34 -6
  27. package/apps/portal/view/home/parts/AfterMath.mjs +1 -1
  28. package/apps/portal/view/home/parts/Colors.mjs +98 -0
  29. package/apps/portal/view/home/parts/Helix.mjs +114 -0
  30. package/apps/portal/view/home/parts/HelloWorld.mjs +6 -3
  31. package/apps/portal/view/home/parts/How.mjs +66 -0
  32. package/apps/portal/view/home/parts/MainNeo.mjs +4 -3
  33. package/apps/portal/view/learn/LivePreview.mjs +56 -15
  34. package/apps/portal/view/learn/MainContainerController.mjs +10 -90
  35. package/apps/realworld/api/Article.mjs +1 -3
  36. package/apps/realworld/api/Favorite.mjs +1 -3
  37. package/apps/realworld/api/Profile.mjs +1 -3
  38. package/apps/realworld/api/Tag.mjs +1 -3
  39. package/apps/realworld/api/User.mjs +1 -3
  40. package/apps/realworld2/api/Article.mjs +1 -3
  41. package/apps/realworld2/api/Favorite.mjs +1 -3
  42. package/apps/realworld2/api/Profile.mjs +1 -3
  43. package/apps/realworld2/api/Tag.mjs +1 -3
  44. package/apps/realworld2/api/User.mjs +1 -3
  45. package/apps/realworld2/view/article/HelixContainer.mjs +5 -5
  46. package/buildScripts/webpack/json/myApps.template.json +1 -0
  47. package/docs/app/view/MainContainer.mjs +5 -0
  48. package/docs/app/view/classdetails/MembersList.mjs +1 -1
  49. package/examples/ServiceWorker.mjs +3 -5
  50. package/examples/component/helix/Viewport.mjs +309 -0
  51. package/examples/component/helix/ViewportController.mjs +122 -0
  52. package/examples/component/helix/app.mjs +2 -2
  53. package/examples/component/helix/neo-config.json +0 -1
  54. package/examples/component/multiWindowHelix/Viewport.mjs +11 -3
  55. package/examples/component/multiWindowHelix/ViewportController.mjs +21 -9
  56. package/examples/component/multiWindowHelix/neo-config.json +0 -1
  57. package/examples/fieldWithPrefix/MainContainer.mjs +1 -6
  58. package/examples/list/animate/MainContainerController.mjs +1 -1
  59. package/examples/worker/task/MyTasks.mjs +1 -3
  60. package/package.json +2 -2
  61. package/resources/data/deck/learnneo/pages/Events.md +15 -9
  62. package/resources/data/deck/learnneo/pages/GuideEvents.md +254 -0
  63. package/resources/data/deck/learnneo/pages/WhyNeo-Speed.md +1 -1
  64. package/resources/images/logo/neo_logo_primary.svg +6 -0
  65. package/resources/images/logo/neo_logo_text_primary.svg +5 -0
  66. package/resources/scss/src/apps/colors/BarChartComponent.scss +3 -0
  67. package/resources/scss/src/apps/colors/HeaderToolbar.scss +11 -0
  68. package/resources/scss/src/apps/colors/PieChartComponent.scss +3 -0
  69. package/resources/scss/src/apps/colors/TableContainer.scss +64 -0
  70. package/resources/scss/src/apps/colors/Viewport.scss +9 -0
  71. package/resources/scss/src/apps/portal/HeaderToolbar.scss +142 -124
  72. package/resources/scss/src/apps/portal/home/MainContainer.scss +9 -22
  73. package/resources/scss/src/apps/portal/home/parts/MainNeo.scss +22 -0
  74. package/resources/scss/src/apps/portal/home/preview/PageCodeContainer.scss +1 -1
  75. package/resources/scss/src/examples/component/multiWindowHelix/Viewport.scss +3 -0
  76. package/resources/scss/src/form/field/CheckBox.scss +1 -0
  77. package/resources/scss/src/tab/header/Button.scss +2 -1
  78. package/resources/scss/theme-dark/Global.scss +8 -0
  79. package/resources/scss/theme-dark/button/Base.scss +1 -1
  80. package/resources/scss/theme-dark/tab/header/Button.scss +1 -0
  81. package/resources/scss/theme-light/Global.scss +8 -0
  82. package/resources/scss/theme-light/button/Base.scss +1 -1
  83. package/resources/scss/theme-light/tab/header/Button.scss +1 -0
  84. package/resources/scss/theme-neo-light/Global.scss +53 -53
  85. package/resources/scss/theme-neo-light/button/Base.scss +3 -4
  86. package/resources/scss/theme-neo-light/tab/header/Button.scss +6 -8
  87. package/src/DefaultConfig.mjs +2 -2
  88. package/src/Fetch.mjs +1 -3
  89. package/src/Main.mjs +13 -11
  90. package/src/MicroLoader.mjs +2 -2
  91. package/src/Neo.mjs +27 -26
  92. package/src/Xhr.mjs +1 -3
  93. package/src/button/Base.mjs +6 -4
  94. package/src/button/Split.mjs +10 -9
  95. package/src/calendar/view/EditEventContainer.mjs +13 -12
  96. package/src/calendar/view/MainContainer.mjs +40 -40
  97. package/src/calendar/view/MainContainerModel.mjs +5 -5
  98. package/src/calendar/view/SettingsContainer.mjs +11 -11
  99. package/src/calendar/view/YearComponent.mjs +73 -75
  100. package/src/calendar/view/calendars/ColorsList.mjs +2 -2
  101. package/src/calendar/view/calendars/EditContainer.mjs +2 -2
  102. package/src/calendar/view/calendars/List.mjs +12 -13
  103. package/src/calendar/view/month/Component.mjs +72 -73
  104. package/src/calendar/view/settings/GeneralContainer.mjs +5 -5
  105. package/src/calendar/view/settings/MonthContainer.mjs +5 -5
  106. package/src/calendar/view/settings/WeekContainer.mjs +6 -6
  107. package/src/calendar/view/settings/YearContainer.mjs +4 -4
  108. package/src/calendar/view/week/Component.mjs +47 -57
  109. package/src/calendar/view/week/EventDragZone.mjs +43 -50
  110. package/src/calendar/view/week/TimeAxisComponent.mjs +21 -21
  111. package/src/calendar/view/week/plugin/DragDrop.mjs +53 -45
  112. package/src/calendar/view/week/plugin/EventResizable.mjs +8 -3
  113. package/src/collection/Base.mjs +15 -22
  114. package/src/collection/Filter.mjs +4 -9
  115. package/src/collection/Sorter.mjs +6 -7
  116. package/src/component/Base.mjs +73 -41
  117. package/src/component/Canvas.mjs +9 -9
  118. package/src/component/Carousel.mjs +31 -33
  119. package/src/component/Chip.mjs +9 -9
  120. package/src/component/Circle.mjs +84 -91
  121. package/src/component/Clock.mjs +8 -8
  122. package/src/component/DateSelector.mjs +14 -15
  123. package/src/component/Gallery.mjs +82 -80
  124. package/src/component/Helix.mjs +131 -126
  125. package/src/component/Iframe.mjs +1 -1
  126. package/src/component/Label.mjs +1 -1
  127. package/src/component/Legend.mjs +3 -3
  128. package/src/component/Process.mjs +39 -37
  129. package/src/component/Splitter.mjs +9 -11
  130. package/src/component/StatusBadge.mjs +2 -3
  131. package/src/component/Timer.mjs +62 -68
  132. package/src/component/Toast.mjs +11 -11
  133. package/src/component/Video.mjs +7 -8
  134. package/src/component/mwc/Button.mjs +10 -10
  135. package/src/component/mwc/TextField.mjs +17 -17
  136. package/src/component/wrapper/AmChart.mjs +5 -5
  137. package/src/component/wrapper/CesiumJS.mjs +11 -17
  138. package/src/component/wrapper/GoogleMaps.mjs +58 -35
  139. package/src/component/wrapper/MapboxGL.mjs +112 -79
  140. package/src/container/Accordion.mjs +18 -20
  141. package/src/container/AccordionItem.mjs +12 -11
  142. package/src/container/Base.mjs +24 -23
  143. package/src/container/Panel.mjs +9 -9
  144. package/src/controller/Base.mjs +12 -14
  145. package/src/controller/Component.mjs +60 -66
  146. package/src/core/Base.mjs +5 -8
  147. package/src/core/IdGenerator.mjs +1 -3
  148. package/src/core/Observable.mjs +40 -24
  149. package/src/core/Util.mjs +5 -5
  150. package/src/data/Model.mjs +3 -3
  151. package/src/data/RecordFactory.mjs +3 -6
  152. package/src/data/Store.mjs +34 -34
  153. package/src/data/connection/Fetch.mjs +3 -3
  154. package/src/data/connection/WebSocket.mjs +21 -25
  155. package/src/data/connection/Xhr.mjs +31 -28
  156. package/src/date/DayViewComponent.mjs +1 -1
  157. package/src/date/SelectorContainer.mjs +2 -2
  158. package/src/dialog/Base.mjs +27 -25
  159. package/src/dialog/header/Toolbar.mjs +5 -4
  160. package/src/draggable/DragProxyComponent.mjs +7 -4
  161. package/src/draggable/DragZone.mjs +30 -30
  162. package/src/draggable/DropZone.mjs +7 -7
  163. package/src/draggable/list/DragZone.mjs +18 -18
  164. package/src/draggable/tab/header/toolbar/SortZone.mjs +7 -7
  165. package/src/draggable/toolbar/DragZone.mjs +15 -15
  166. package/src/draggable/toolbar/SortZone.mjs +30 -31
  167. package/src/draggable/tree/DragZone.mjs +9 -9
  168. package/src/filter/BooleanContainer.mjs +3 -3
  169. package/src/filter/NumberContainer.mjs +5 -5
  170. package/src/filter/ToggleOperatorsButton.mjs +5 -5
  171. package/src/form/Fieldset.mjs +26 -26
  172. package/src/form/field/Base.mjs +1 -1
  173. package/src/form/field/CheckBox.mjs +15 -16
  174. package/src/form/field/Color.mjs +13 -15
  175. package/src/form/field/ComboBox.mjs +16 -24
  176. package/src/form/field/Country.mjs +1 -1
  177. package/src/form/field/Date.mjs +3 -4
  178. package/src/form/field/Display.mjs +1 -1
  179. package/src/form/field/Email.mjs +2 -2
  180. package/src/form/field/Number.mjs +51 -56
  181. package/src/form/field/Picker.mjs +2 -2
  182. package/src/form/field/Radio.mjs +1 -1
  183. package/src/form/field/Range.mjs +7 -6
  184. package/src/form/field/Text.mjs +29 -36
  185. package/src/form/field/TextArea.mjs +9 -9
  186. package/src/form/field/Time.mjs +30 -30
  187. package/src/form/field/trigger/Base.mjs +19 -13
  188. package/src/form/field/trigger/Clear.mjs +13 -13
  189. package/src/form/field/trigger/CopyToClipboard.mjs +7 -7
  190. package/src/form/field/trigger/Picker.mjs +2 -2
  191. package/src/form/field/trigger/SpinDown.mjs +1 -1
  192. package/src/form/field/trigger/SpinUp.mjs +1 -1
  193. package/src/form/field/trigger/SpinUpDown.mjs +3 -3
  194. package/src/form/field/trigger/Time.mjs +3 -3
  195. package/src/grid/Container.mjs +33 -33
  196. package/src/grid/View.mjs +20 -22
  197. package/src/grid/header/Button.mjs +12 -12
  198. package/src/grid/header/Toolbar.mjs +4 -4
  199. package/src/layout/Base.mjs +5 -4
  200. package/src/layout/Card.mjs +15 -16
  201. package/src/layout/Fit.mjs +22 -8
  202. package/src/layout/Flexbox.mjs +30 -29
  203. package/src/layout/Form.mjs +15 -15
  204. package/src/layout/Grid.mjs +2 -2
  205. package/src/layout/HBox.mjs +3 -2
  206. package/src/layout/VBox.mjs +3 -2
  207. package/src/list/Base.mjs +45 -47
  208. package/src/list/Chip.mjs +4 -4
  209. package/src/list/Circle.mjs +3 -3
  210. package/src/list/Color.mjs +4 -4
  211. package/src/list/Component.mjs +10 -10
  212. package/src/list/plugin/Animate.mjs +18 -13
  213. package/src/main/DomAccess.mjs +92 -56
  214. package/src/main/DomEvents.mjs +38 -39
  215. package/src/main/addon/AmCharts.mjs +37 -37
  216. package/src/main/addon/AnalyticsByGoogle.mjs +4 -4
  217. package/src/main/addon/CesiumJS.mjs +8 -8
  218. package/src/main/addon/CloneNode.mjs +5 -5
  219. package/src/main/addon/Cookie.mjs +4 -4
  220. package/src/main/addon/DragDrop.mjs +35 -34
  221. package/src/main/addon/GoogleMaps.mjs +19 -19
  222. package/src/main/addon/IntersectionObserver.mjs +20 -1
  223. package/src/main/addon/LocalStorage.mjs +3 -3
  224. package/src/main/addon/MapboxGL.mjs +40 -41
  225. package/src/main/addon/MonacoEditor.mjs +5 -5
  226. package/src/main/addon/Mwc.mjs +6 -6
  227. package/src/main/addon/Navigator.mjs +35 -39
  228. package/src/main/addon/Popover.mjs +5 -6
  229. package/src/main/addon/PrefixField.mjs +1 -2
  230. package/src/main/addon/ServiceWorker.mjs +9 -9
  231. package/src/main/addon/Siesta.mjs +3 -2
  232. package/src/main/addon/Stylesheet.mjs +37 -37
  233. package/src/main/addon/WebComponent.mjs +2 -3
  234. package/src/main/addon/WindowPosition.mjs +18 -18
  235. package/src/main/draggable/sensor/Base.mjs +2 -2
  236. package/src/main/draggable/sensor/Mouse.mjs +15 -15
  237. package/src/main/draggable/sensor/Touch.mjs +24 -23
  238. package/src/main/mixin/DeltaUpdates.mjs +10 -12
  239. package/src/main/mixin/TouchDomEvents.mjs +6 -6
  240. package/src/manager/Base.mjs +4 -4
  241. package/src/manager/Component.mjs +41 -41
  242. package/src/manager/DomEvent.mjs +41 -44
  243. package/src/manager/Focus.mjs +14 -16
  244. package/src/manager/Instance.mjs +2 -4
  245. package/src/manager/Store.mjs +4 -8
  246. package/src/manager/Task.mjs +20 -22
  247. package/src/manager/Toast.mjs +14 -16
  248. package/src/manager/rpc/Api.mjs +1 -3
  249. package/src/manager/rpc/Message.mjs +16 -18
  250. package/src/menu/List.mjs +16 -16
  251. package/src/menu/Panel.mjs +4 -4
  252. package/src/model/Component.mjs +16 -14
  253. package/src/plugin/Base.mjs +2 -0
  254. package/src/plugin/Popover.mjs +1 -1
  255. package/src/plugin/PrefixField.mjs +35 -45
  256. package/src/plugin/Resizable.mjs +86 -101
  257. package/src/plugin/Responsive.mjs +1 -1
  258. package/src/remotes/Api.mjs +4 -6
  259. package/src/selection/CircleModel.mjs +12 -16
  260. package/src/selection/DateSelectorModel.mjs +21 -23
  261. package/src/selection/GalleryModel.mjs +49 -63
  262. package/src/selection/HelixModel.mjs +35 -41
  263. package/src/selection/ListModel.mjs +9 -14
  264. package/src/selection/Model.mjs +31 -31
  265. package/src/selection/TreeAccordionModel.mjs +74 -80
  266. package/src/selection/grid/CellColumnModel.mjs +10 -10
  267. package/src/selection/grid/CellColumnRowModel.mjs +10 -10
  268. package/src/selection/grid/CellModel.mjs +26 -28
  269. package/src/selection/grid/CellRowModel.mjs +24 -24
  270. package/src/selection/grid/ColumnModel.mjs +16 -20
  271. package/src/selection/grid/RowModel.mjs +27 -29
  272. package/src/selection/menu/ListModel.mjs +2 -2
  273. package/src/selection/table/CellColumnModel.mjs +12 -12
  274. package/src/selection/table/CellColumnRowModel.mjs +12 -12
  275. package/src/selection/table/CellModel.mjs +26 -29
  276. package/src/selection/table/CellRowModel.mjs +19 -19
  277. package/src/selection/table/ColumnModel.mjs +18 -22
  278. package/src/selection/table/RowModel.mjs +27 -29
  279. package/src/sitemap/Component.mjs +20 -20
  280. package/src/sitemap/Store.mjs +1 -1
  281. package/src/tab/Container.mjs +15 -15
  282. package/src/tab/Strip.mjs +1 -1
  283. package/src/tab/header/Toolbar.mjs +4 -4
  284. package/src/table/Container.mjs +8 -10
  285. package/src/table/View.mjs +29 -34
  286. package/src/table/header/Button.mjs +18 -18
  287. package/src/table/header/Toolbar.mjs +2 -2
  288. package/src/toolbar/Base.mjs +14 -14
  289. package/src/toolbar/Breadcrumb.mjs +11 -11
  290. package/src/toolbar/Paging.mjs +18 -18
  291. package/src/tooltip/Base.mjs +20 -22
  292. package/src/tree/Accordion.mjs +69 -75
  293. package/src/tree/List.mjs +22 -25
  294. package/src/util/Array.mjs +19 -18
  295. package/src/util/ClassSystem.mjs +9 -9
  296. package/src/util/Css.mjs +2 -2
  297. package/src/util/Date.mjs +9 -9
  298. package/src/util/Function.mjs +2 -2
  299. package/src/util/HashHistory.mjs +3 -5
  300. package/src/util/KeyNavigation.mjs +17 -17
  301. package/src/util/Logger.mjs +9 -9
  302. package/src/util/Matrix.mjs +19 -19
  303. package/src/util/String.mjs +9 -9
  304. package/src/util/Style.mjs +11 -11
  305. package/src/util/VDom.mjs +12 -14
  306. package/src/util/VNode.mjs +29 -29
  307. package/src/vdom/Helper.mjs +84 -93
  308. package/src/vdom/VNode.mjs +1 -1
  309. package/src/worker/App.mjs +19 -16
  310. package/src/worker/Base.mjs +14 -15
  311. package/src/worker/Canvas.mjs +1 -3
  312. package/src/worker/Data.mjs +4 -8
  313. package/src/worker/Manager.mjs +27 -32
  314. package/src/worker/Message.mjs +1 -1
  315. package/src/worker/ServiceBase.mjs +38 -42
  316. package/src/worker/Task.mjs +1 -3
  317. package/src/worker/VDom.mjs +2 -4
  318. package/src/worker/mixin/RemoteMethodAccess.mjs +5 -6
  319. package/apps/portal/view/home/parts/CoolStuff.mjs +0 -82
  320. package/examples/component/helix/MainContainer.mjs +0 -340
  321. /package/resources/images/{Neo_Logo_Blue.svg → logo/neo_logo_secondary.svg} +0 -0
  322. /package/resources/images/{Neo_Logo_Text.svg → logo/neo_logo_text_secondary.svg} +0 -0
  323. /package/resources/images/{Neo_Logo_White.svg → logo/neo_logo_white.svg} +0 -0
@@ -154,7 +154,7 @@ class ComboBox extends Picker {
154
154
  */
155
155
  afterSetInputValue(value, oldValue) {
156
156
  super.afterSetInputValue(value, oldValue);
157
- this.updateTypeAheadValue(value);
157
+ this.updateTypeAheadValue(value)
158
158
  }
159
159
 
160
160
  /**
@@ -245,9 +245,8 @@ class ComboBox extends Picker {
245
245
  * @protected
246
246
  */
247
247
  beforeSetStore(value, oldValue) {
248
- const
249
- me = this,
250
- { valueField, displayField} = me;
248
+ let me = this,
249
+ {displayField, valueField} = me;
251
250
 
252
251
  oldValue?.destroy();
253
252
 
@@ -300,9 +299,8 @@ class ComboBox extends Picker {
300
299
  * @protected
301
300
  */
302
301
  beforeSetValue(value, oldValue) {
303
- let me = this,
304
- displayField = me.displayField,
305
- store = me.store,
302
+ let me = this,
303
+ {displayField, store} = me,
306
304
  record;
307
305
 
308
306
  // getting a record, nothing to do
@@ -380,11 +378,9 @@ class ComboBox extends Picker {
380
378
  * @param {String|null} value The value to filter the picker by
381
379
  */
382
380
  doFilter(value) {
383
- let me = this,
384
- store = me.store,
385
- filter = store.getFilter(me.displayField),
386
- picker = me.picker,
387
- record = me.value;
381
+ let me = this,
382
+ {picker, record, store} = me,
383
+ filter = store.getFilter(me.displayField);
388
384
 
389
385
  if (filter) {
390
386
  filter.value = value
@@ -395,9 +391,8 @@ class ComboBox extends Picker {
395
391
  me.showPicker();
396
392
 
397
393
  // List might not exist until the picker is created
398
- const
399
- { list } = me,
400
- { selectionModel } = list;
394
+ let {list } = me,
395
+ {selectionModel} = list;
401
396
 
402
397
  // On show, set the active item to be the current selected record or the first
403
398
  if (record) {
@@ -474,7 +469,7 @@ class ComboBox extends Picker {
474
469
  * @returns {Object}
475
470
  */
476
471
  getRecord() {
477
- let list = this.list,
472
+ let {list} = this,
478
473
  recordKey = list.selectionModel.getSelection()[0];
479
474
 
480
475
  return recordKey && this.store.get(list.getItemRecordId(recordKey)) || null
@@ -551,8 +546,7 @@ class ComboBox extends Picker {
551
546
  */
552
547
  async onListItemSelectionChange({ selection }) {
553
548
  if (selection?.length) {
554
- const
555
- me = this,
549
+ let me = this,
556
550
  selected = selection[0],
557
551
  record = typeof selected === 'string' ? me.store.get(me.list.getItemRecordId(selected)) : selected;
558
552
 
@@ -592,15 +586,14 @@ class ComboBox extends Picker {
592
586
  let {activeIndex} = record;
593
587
 
594
588
  if (activeIndex >= 0) {
595
- const
596
- me = this,
589
+ let me = this,
597
590
  {store} = me;
598
591
 
599
592
  me.activeRecord = store.getAt(activeIndex);
600
593
  me.activeRecordId = me.activeRecord[store.keyProperty || model.keyProperty];
601
594
 
602
595
  // Update typeahead hint (which updates DOM), or update DOM
603
- me.typeAhead ? me.updateTypeAheadValue(me.lastManualInput) : me.update();
596
+ me.typeAhead ? me.updateTypeAheadValue(me.lastManualInput) : me.update()
604
597
  }
605
598
  }
606
599
 
@@ -701,8 +694,7 @@ class ComboBox extends Picker {
701
694
  */
702
695
  updateTypeAhead(silent=false) {
703
696
  let me = this,
704
- inputEl = VDomUtil.findVdomChild(me.vdom, {flag: 'neo-real-input'}),
705
- vdom = me.vdom;
697
+ inputEl = VDomUtil.findVdomChild(me.vdom, {flag: 'neo-real-input'});
706
698
 
707
699
  if (me.typeAhead) {
708
700
  inputEl.parentNode.cn[inputEl.index] = {
@@ -719,7 +711,7 @@ class ComboBox extends Picker {
719
711
  }, inputEl.vdom]
720
712
  }
721
713
  } else {
722
- VDomUtil.replaceVdomChild(vdom, inputEl.parentNode.id, inputEl.vdom)
714
+ VDomUtil.replaceVdomChild(me.vdom, inputEl.parentNode.id, inputEl.vdom)
723
715
  }
724
716
 
725
717
  !silent && me.update()
@@ -49,7 +49,7 @@ class Country extends ComboBox {
49
49
  return me.up().getReference(value)
50
50
  }
51
51
 
52
- return value;
52
+ return value
53
53
  }
54
54
  }
55
55
 
@@ -200,7 +200,7 @@ class DateField extends Picker {
200
200
  */
201
201
  hasContent() {
202
202
  if (this.labelPosition === 'inline') {
203
- return true;
203
+ return true
204
204
  }
205
205
 
206
206
  return super.hasContent()
@@ -221,13 +221,12 @@ class DateField extends Picker {
221
221
  * @param {Object} opts
222
222
  */
223
223
  onDatePickerChange(opts) {
224
- let me = this,
225
- vdom = me.vdom;
224
+ let me = this;
226
225
 
227
226
  me.clean = false;
228
227
 
229
228
  if (me.hidePickerOnSelect) {
230
- VDomUtil.removeVdomChild(vdom, me.getPickerId());
229
+ VDomUtil.removeVdomChild(me.vdom, me.getPickerId());
231
230
 
232
231
  me.promiseUpdate().then(data => {
233
232
  me.value = opts.value
@@ -40,7 +40,7 @@ class Display extends Text {
40
40
  inputEl.readonly = 'readonly';
41
41
  inputEl.tabindex = '-1';
42
42
 
43
- me.update();
43
+ me.update()
44
44
  }
45
45
  }
46
46
 
@@ -42,12 +42,12 @@ class Email extends Text {
42
42
  validate(silent=true) {
43
43
  let me = this,
44
44
  returnValue = super.validate(silent),
45
- value = me.value;
45
+ {value} = me;
46
46
 
47
47
  if (returnValue) {
48
48
  if (value && !Email.emailRegex.test(value)) {
49
49
  me._error = me.errorTextValidEmail;
50
- returnValue = false;
50
+ returnValue = false
51
51
  }
52
52
  }
53
53
 
@@ -105,12 +105,12 @@ class Number extends Text {
105
105
  style = inputEl.style || {};
106
106
 
107
107
  if (value) {
108
- delete style.pointerEvents;
108
+ delete style.pointerEvents
109
109
  } else {
110
- style.pointerEvents = 'none';
110
+ style.pointerEvents = 'none'
111
111
  }
112
112
 
113
- me.update();
113
+ me.update()
114
114
  }
115
115
 
116
116
  /**
@@ -121,7 +121,7 @@ class Number extends Text {
121
121
  */
122
122
  afterSetMaxValue(value, oldValue) {
123
123
  this.validate(); // silent
124
- this.changeInputElKey('max', value);
124
+ this.changeInputElKey('max', value)
125
125
  }
126
126
 
127
127
  /**
@@ -132,7 +132,7 @@ class Number extends Text {
132
132
  */
133
133
  afterSetMinValue(value, oldValue) {
134
134
  this.validate(); // silent
135
- this.changeInputElKey('min', value);
135
+ this.changeInputElKey('min', value)
136
136
  }
137
137
 
138
138
  /**
@@ -158,15 +158,15 @@ class Number extends Text {
158
158
  if (modulo !== 0) { // find the closest valid value
159
159
  if (modulo / value > 0.5) {
160
160
  if (val + value - modulo < me.maxValue) {
161
- me.value = val + value - modulo;
161
+ me.value = val + value - modulo
162
162
  } else if (val - modulo > me.minValue) {
163
- me.value = val - modulo;
163
+ me.value = val - modulo
164
164
  }
165
165
  } else {
166
166
  if (val - modulo > me.minValue) {
167
- me.value = val - modulo;
167
+ me.value = val - modulo
168
168
  } else if (val + value - modulo < me.maxValue) {
169
- me.value = val + value - modulo;
169
+ me.value = val + value - modulo
170
170
  }
171
171
  }
172
172
  }
@@ -180,7 +180,7 @@ class Number extends Text {
180
180
  * @protected
181
181
  */
182
182
  afterSetTriggerPosition(value, oldValue) {
183
- oldValue && this.updateTriggers();
183
+ oldValue && this.updateTriggers()
184
184
  }
185
185
 
186
186
  /**
@@ -190,8 +190,8 @@ class Number extends Text {
190
190
  * @protected
191
191
  */
192
192
  afterSetUseSpinButtons(value, oldValue) {
193
- if (typeof oldValue === 'boolean') {
194
- this.updateTriggers();
193
+ if (Neo.isBoolean(oldValue)) {
194
+ this.updateTriggers()
195
195
  }
196
196
  }
197
197
 
@@ -206,7 +206,7 @@ class Number extends Text {
206
206
  console.warn('input type number does not support maxLength. use maxValue instead.', this)
207
207
  }
208
208
 
209
- return null;
209
+ return null
210
210
  }
211
211
 
212
212
  /**
@@ -220,7 +220,7 @@ class Number extends Text {
220
220
  console.warn('input type number does not support minLength. use minValue instead.', this)
221
221
  }
222
222
 
223
- return null;
223
+ return null
224
224
  }
225
225
 
226
226
  /**
@@ -230,7 +230,7 @@ class Number extends Text {
230
230
  * @protected
231
231
  */
232
232
  beforeSetTriggerPosition(value, oldValue) {
233
- return this.beforeSetEnumValue(value, oldValue, 'triggerPosition');
233
+ return this.beforeSetEnumValue(value, oldValue, 'triggerPosition')
234
234
  }
235
235
 
236
236
  /**
@@ -241,18 +241,18 @@ class Number extends Text {
241
241
  */
242
242
  beforeSetValue(value, oldValue) {
243
243
  if (value === null || value === '') {
244
- return null;
244
+ return null
245
245
  }
246
246
 
247
247
  if (!Neo.isNumber(value)) {
248
- value = +value;
248
+ value = +value
249
249
  }
250
250
 
251
251
  if (this.stepSizeDigits > 0) {
252
- value = +value.toFixed(this.stepSizeDigits);
252
+ value = +value.toFixed(this.stepSizeDigits)
253
253
  }
254
254
 
255
- return value;
255
+ return value
256
256
  }
257
257
 
258
258
  /**
@@ -271,25 +271,23 @@ class Number extends Text {
271
271
  * @returns {Boolean}
272
272
  */
273
273
  isValid() {
274
- let me = this,
275
- maxValue = me.maxValue,
276
- minValue = me.minValue,
277
- value = me.value,
278
- isNumber = Neo.isNumber(value);
274
+ let me = this,
275
+ {maxValue, minValue, value} = me,
276
+ isNumber = Neo.isNumber(value);
279
277
 
280
278
  if (Neo.isNumber(maxValue) && isNumber && value > maxValue) {
281
- return false;
279
+ return false
282
280
  }
283
281
 
284
282
  if (Neo.isNumber(minValue) && isNumber && value < minValue) {
285
- return false;
283
+ return false
286
284
  }
287
285
 
288
286
  if (!me.fitsStepSize(value)) {
289
- return false;
287
+ return false
290
288
  }
291
289
 
292
- return super.isValid();
290
+ return super.isValid()
293
291
  }
294
292
 
295
293
  /**
@@ -297,7 +295,7 @@ class Number extends Text {
297
295
  */
298
296
  onConstructed() {
299
297
  this.updateTriggers();
300
- super.onConstructed();
298
+ super.onConstructed()
301
299
  }
302
300
 
303
301
  /**
@@ -306,8 +304,8 @@ class Number extends Text {
306
304
  * @protected
307
305
  */
308
306
  onFocusLeave(data) {
309
- let me = this,
310
- value = me.value;
307
+ let me = this,
308
+ {value} = me;
311
309
 
312
310
  if (value !== null) {
313
311
  value = me.stepSizeDigits > 0 ? parseFloat(value) : parseInt(value);
@@ -315,9 +313,9 @@ class Number extends Text {
315
313
  value = Math.min(me.maxValue, value);
316
314
 
317
315
  if (me.value !== value) {
318
- me.value = value;
316
+ me.value = value
319
317
  } else {
320
- me.getInputEl().value = me.inputValueRenderer(value);
318
+ me.getInputEl().value = me.inputValueRenderer(value)
321
319
  }
322
320
  }
323
321
 
@@ -328,19 +326,19 @@ class Number extends Text {
328
326
  * @protected
329
327
  */
330
328
  onSpinButtonDownClick() {
331
- let me = this,
332
- stepSize = me.stepSize,
333
- oldValue = Neo.isNumber(me.value) ? me.value : me.minValue,
334
- value = (oldValue - stepSize) < me.minValue ? me.maxValue : (oldValue - stepSize);
329
+ let me = this,
330
+ {stepSize} = me,
331
+ oldValue = Neo.isNumber(me.value) ? me.value : me.minValue,
332
+ value = (oldValue - stepSize) < me.minValue ? me.maxValue : (oldValue - stepSize);
335
333
 
336
334
  if (me.excludedValues) {
337
335
  while (me.excludedValues.includes(value)) {
338
- value = Math.max(me.minValue, value - stepSize);
336
+ value = Math.max(me.minValue, value - stepSize)
339
337
  }
340
338
  }
341
339
 
342
340
  if (oldValue !== value) {
343
- me.value = value;
341
+ me.value = value
344
342
  }
345
343
  }
346
344
 
@@ -348,19 +346,19 @@ class Number extends Text {
348
346
  * @protected
349
347
  */
350
348
  onSpinButtonUpClick() {
351
- let me = this,
352
- stepSize = me.stepSize,
353
- oldValue = Neo.isNumber(me.value) ? me.value : me.maxValue,
354
- value = (oldValue + stepSize) > me.maxValue ? me.minValue : (oldValue + stepSize);
349
+ let me = this,
350
+ {stepSize} = me,
351
+ oldValue = Neo.isNumber(me.value) ? me.value : me.maxValue,
352
+ value = (oldValue + stepSize) > me.maxValue ? me.minValue : (oldValue + stepSize);
355
353
 
356
354
  if (me.excludedValues) {
357
355
  while (me.excludedValues.includes(value)) {
358
- value = Math.min(me.maxValue, value + stepSize);
356
+ value = Math.min(me.maxValue, value + stepSize)
359
357
  }
360
358
  }
361
359
 
362
360
  if (oldValue !== value) {
363
- me.value = value;
361
+ me.value = value
364
362
  }
365
363
  }
366
364
 
@@ -374,29 +372,29 @@ class Number extends Text {
374
372
  if (me.useSpinButtons) {
375
373
  if (me.triggerPosition === 'right') {
376
374
  if (!me.hasTrigger('spinupdown')) {
377
- triggers.push(SpinUpDownTrigger);
375
+ triggers.push(SpinUpDownTrigger)
378
376
  }
379
377
 
380
378
  me.removeTrigger('spindown', true, triggers);
381
- me.removeTrigger('spinup', true, triggers);
379
+ me.removeTrigger('spinup', true, triggers)
382
380
  } else {
383
381
  if (!me.hasTrigger('spindown')) {
384
- triggers.push(SpinDownTrigger);
382
+ triggers.push(SpinDownTrigger)
385
383
  }
386
384
 
387
385
  if (!me.hasTrigger('spinup')) {
388
- triggers.push(SpinUpTrigger);
386
+ triggers.push(SpinUpTrigger)
389
387
  }
390
388
 
391
- me.removeTrigger('spinupdown', true, triggers);
389
+ me.removeTrigger('spinupdown', true, triggers)
392
390
  }
393
391
  } else {
394
392
  me.removeTrigger('spindown', true, triggers);
395
393
  me.removeTrigger('spinup', true, triggers);
396
- me.removeTrigger('spinupdown', true, triggers);
394
+ me.removeTrigger('spinupdown', true, triggers)
397
395
  }
398
396
 
399
- me.triggers = triggers;
397
+ me.triggers = triggers
400
398
  }
401
399
 
402
400
  /**
@@ -406,11 +404,8 @@ class Number extends Text {
406
404
  */
407
405
  validate(silent=true) {
408
406
  let me = this,
409
- value = me.value,
407
+ {maxValue, minValue, stepSize, value} = me,
410
408
  isNumber = Neo.isNumber(value),
411
- maxValue = me.maxValue,
412
- minValue = me.minValue,
413
- stepSize = me.stepSize,
414
409
  returnValue = super.validate(silent),
415
410
  errorParam = {maxValue, minValue, stepSize, value};
416
411
 
@@ -133,7 +133,7 @@ class Picker extends Text {
133
133
  createPicker() {
134
134
  const
135
135
  me = this,
136
- { pickerWidth } = me,
136
+ {pickerWidth} = me,
137
137
  pickerComponent = me.createPickerComponent();
138
138
 
139
139
  me.picker = Neo.create(Container, {
@@ -192,7 +192,7 @@ class Picker extends Text {
192
192
  * @param args
193
193
  */
194
194
  destroy(...args) {
195
- let picker = this.picker;
195
+ let {picker} = this;
196
196
 
197
197
  if (picker?.hidden === false) {
198
198
  picker.unmount()
@@ -78,7 +78,7 @@ class Radio extends CheckBox {
78
78
 
79
79
  radios.forEach(item => {
80
80
  if (item.id !== me.id && item._checked) {
81
- item.checked = false;
81
+ item.checked = false
82
82
  }
83
83
  })
84
84
  }
@@ -79,7 +79,7 @@ class Range extends Number {
79
79
 
80
80
  inputEl.cls = ['neo-rangefield-input']; // replace neo-textfield-input
81
81
 
82
- me.addValueToLabel();
82
+ me.addValueToLabel()
83
83
  }
84
84
 
85
85
  /**
@@ -93,22 +93,23 @@ class Range extends Number {
93
93
  }
94
94
 
95
95
  /**
96
- * Override the NumberField implementation
97
- * @param {Object} data
96
+ * Triggered after the value config got changed
97
+ * @param {Number} value
98
+ * @param {Number} oldValue
98
99
  */
99
100
  afterSetValue(value, oldValue) {
100
101
  this.addValueToLabel();
101
- super.afterSetValue(value, oldValue);
102
+ super.afterSetValue(value, oldValue)
102
103
  }
103
104
 
104
105
  /**
105
106
  * Update label with value
106
107
  */
107
108
  addValueToLabel() {
108
- const me = this;
109
+ let me = this;
109
110
 
110
111
  if (me.showResultInLabel) {
111
- me.getLabelEl().innerHTML = `[${me.value}] ` + me.labelText;
112
+ me.getLabelEl().innerHTML = `[${me.value}] ` + me.labelText
112
113
  }
113
114
  }
114
115
  }
@@ -383,9 +383,8 @@ class Text extends Base {
383
383
  * @protected
384
384
  */
385
385
  afterSetEditable(value, oldValue) {
386
- const
387
- me = this,
388
- { cls } = me;
386
+ let me = this,
387
+ {cls} = me;
389
388
 
390
389
  NeoArray.toggle(cls, 'neo-not-editable', !value);
391
390
  me.cls = cls;
@@ -486,8 +485,8 @@ class Text extends Base {
486
485
  * @protected
487
486
  */
488
487
  afterSetInputValue(value, oldValue) {
489
- let me = this,
490
- cls = me.cls;
488
+ let me = this,
489
+ {cls} = me;
491
490
 
492
491
  me.getInputEl().value = me.containsFocus ? value : me.inputValueRenderer(value);
493
492
 
@@ -532,9 +531,8 @@ class Text extends Base {
532
531
  * @protected
533
532
  */
534
533
  afterSetLabelPosition(value, oldValue) {
535
- let me = this,
536
- cls = me.cls,
537
- vdom = me.vdom,
534
+ let me = this,
535
+ {cls, vdom} = me,
538
536
  centerBorderElCls, isEmpty;
539
537
 
540
538
  vdom.cn[1].removeDom = value !== 'top' ? true : !Boolean(me.subLabelText);
@@ -622,8 +620,7 @@ class Text extends Base {
622
620
  afterSetLabelWidth(value, oldValue) {
623
621
  if (this.labelPosition !== 'inline') {
624
622
  let me = this,
625
- vdom = me.vdom,
626
- label = vdom.cn[0];
623
+ label = me.vdom.cn[0];
627
624
 
628
625
  label.width = value;
629
626
  !me.hideLabel && me.updateInputWidth()
@@ -691,8 +688,8 @@ class Text extends Base {
691
688
  * @protected
692
689
  */
693
690
  afterSetPlaceholderText(value, oldValue) {
694
- let me = this,
695
- cls = me.cls;
691
+ let me = this,
692
+ {cls} = me;
696
693
 
697
694
  me.changeInputElKey('placeholder', value === '' ? null : value);
698
695
 
@@ -711,8 +708,8 @@ class Text extends Base {
711
708
  * @protected
712
709
  */
713
710
  afterSetReadOnly(value, oldValue) {
714
- let me = this,
715
- cls = me.cls;
711
+ let me = this,
712
+ {cls} = me;
716
713
 
717
714
  NeoArray[value ? 'add' : 'remove'](cls, 'neo-readonly');
718
715
  me.cls = cls;
@@ -771,8 +768,8 @@ class Text extends Base {
771
768
  * @protected
772
769
  */
773
770
  afterSetSubLabelCls(value, oldValue) {
774
- let me = this,
775
- cls = me.vdom.cn[1].cls;
771
+ let me = this,
772
+ {cls} = me.vdom.cn[1];
776
773
 
777
774
  NeoArray.remove(cls, oldValue);
778
775
  NeoArray.add(cls, value);
@@ -805,7 +802,7 @@ class Text extends Base {
805
802
  */
806
803
  afterSetTriggers(value, oldValue) {
807
804
  let me = this,
808
- vdom = me.vdom,
805
+ {vdom} = me,
809
806
  inputEl = vdom.cn[2], // inputEl or inputWrapperEl
810
807
  preTriggers = [],
811
808
  postTriggers = [],
@@ -1116,7 +1113,7 @@ class Text extends Base {
1116
1113
  let me = this,
1117
1114
  ignoreLabel = me.hideLabel || me.labelPosition === 'bottom' || me.labelPosition === 'inline' || me.labelPosition === 'top',
1118
1115
  labelWidth = ignoreLabel ? 0 : me.labelWidth,
1119
- width = me.width;
1116
+ {width} = me;
1120
1117
 
1121
1118
  if (labelWidth && width) {
1122
1119
  return parseInt(width) - parseInt(labelWidth)
@@ -1298,8 +1295,8 @@ class Text extends Base {
1298
1295
  onFocusEnter(data) {
1299
1296
  super.onFocusEnter(data);
1300
1297
 
1301
- let me = this,
1302
- cls = me.cls;
1298
+ let me = this,
1299
+ {cls} = me;
1303
1300
 
1304
1301
  if (!me.readOnly) {
1305
1302
  NeoArray.add(cls, 'neo-focus');
@@ -1379,8 +1376,8 @@ class Text extends Base {
1379
1376
  * @param {Object} data
1380
1377
  */
1381
1378
  onMouseEnter(data) {
1382
- let me = this,
1383
- cls = me.cls;
1379
+ let me = this,
1380
+ {cls} = me;
1384
1381
 
1385
1382
  if (!me.readOnly) {
1386
1383
  NeoArray.add(cls, 'neo-hovered');
@@ -1392,8 +1389,8 @@ class Text extends Base {
1392
1389
  * @param {Object} data
1393
1390
  */
1394
1391
  onMouseLeave(data) {
1395
- let me = this,
1396
- cls = me.cls;
1392
+ let me = this,
1393
+ {cls} = me;
1397
1394
 
1398
1395
  if (!me.readOnly) {
1399
1396
  NeoArray.remove(cls, 'neo-hovered');
@@ -1479,8 +1476,8 @@ class Text extends Base {
1479
1476
  @param {Boolean} silent=false
1480
1477
  */
1481
1478
  updateError(value, silent = false) {
1482
- let me = this,
1483
- cls = me.cls,
1479
+ let me = this,
1480
+ {cls} = me,
1484
1481
  errorNode, errorWrapper;
1485
1482
 
1486
1483
  if (!(me.clean && !me.mounted)) {
@@ -1573,16 +1570,12 @@ class Text extends Base {
1573
1570
  * @returns {Boolean} Returns true in case there are no client-side errors
1574
1571
  */
1575
1572
  validate(silent=true) {
1576
- let me = this,
1577
- maxLength = me.maxLength,
1578
- minLength = me.minLength,
1579
- required = me.required,
1580
- returnValue = true,
1581
- value = me.value,
1582
- valueLength = value?.toString().length,
1583
- inputPattern = me.inputPattern,
1584
- isEmpty = value !== 0 && (!value || valueLength < 1),
1585
- errorParam = {inputPattern, maxLength, minLength, valueLength},
1573
+ let me = this,
1574
+ {inputPattern, maxLength, minLength, required, value} = me,
1575
+ returnValue = true,
1576
+ valueLength = value?.toString().length,
1577
+ isEmpty = value !== 0 && (!value || valueLength < 1),
1578
+ errorParam = {inputPattern, maxLength, minLength, valueLength},
1586
1579
  errorText;
1587
1580
 
1588
1581
  if (!silent) {