neo.mjs 6.18.3 → 6.19.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 (94) hide show
  1. package/README.md +28 -214
  2. package/apps/ServiceWorker.mjs +2 -2
  3. package/apps/colors/view/ViewportController.mjs +7 -3
  4. package/apps/portal/data/blog.json +13 -0
  5. package/apps/portal/view/HeaderToolbar.mjs +2 -2
  6. package/apps/portal/view/Viewport.mjs +4 -2
  7. package/apps/portal/view/ViewportController.mjs +88 -7
  8. package/apps/portal/view/blog/Container.mjs +8 -8
  9. package/apps/portal/view/blog/List.mjs +6 -6
  10. package/apps/portal/view/home/FooterContainer.mjs +123 -0
  11. package/apps/portal/view/home/MainContainer.mjs +3 -2
  12. package/apps/portal/view/home/parts/AfterMath.mjs +17 -24
  13. package/apps/portal/view/home/parts/Colors.mjs +2 -2
  14. package/apps/portal/view/home/parts/How.mjs +3 -3
  15. package/apps/portal/view/home/parts/MainNeo.mjs +6 -7
  16. package/apps/portal/view/home/parts/References.mjs +88 -0
  17. package/apps/portal/view/learn/MainContainer.mjs +3 -2
  18. package/apps/portal/view/learn/MainContainerController.mjs +11 -0
  19. package/apps/portal/view/learn/PageContainer.mjs +5 -3
  20. package/apps/portal/view/services/Component.mjs +73 -0
  21. package/apps/website/data/blog.json +13 -0
  22. package/examples/ServiceWorker.mjs +2 -2
  23. package/examples/component/carousel/MainContainer.mjs +42 -33
  24. package/examples/layout/cube/MainContainer.mjs +217 -0
  25. package/examples/layout/cube/app.mjs +6 -0
  26. package/examples/layout/cube/index.html +11 -0
  27. package/examples/layout/cube/neo-config.json +6 -0
  28. package/examples/model/twoWay/MainContainer.mjs +76 -0
  29. package/examples/model/twoWay/app.mjs +6 -0
  30. package/examples/model/twoWay/index.html +11 -0
  31. package/examples/model/twoWay/neo-config.json +6 -0
  32. package/package.json +7 -7
  33. package/resources/data/deck/learnneo/pages/Earthquakes-01-goals.md +32 -0
  34. package/resources/data/deck/learnneo/pages/Earthquakes-Lab-01-generate-a-workspace.md +47 -0
  35. package/resources/data/deck/learnneo/pages/Earthquakes-Lab-02-generate-the-starter-app.md +150 -0
  36. package/resources/data/deck/learnneo/pages/Earthquakes-Lab-03-debugging.md +136 -0
  37. package/resources/data/deck/learnneo/pages/Earthquakes-Lab-04-fetch-data.md +146 -0
  38. package/resources/data/deck/learnneo/pages/Earthquakes-Lab-05-refactor-the-table.md +146 -0
  39. package/resources/data/deck/learnneo/pages/Earthquakes-Lab-06-use-a-view-model.md +301 -0
  40. package/resources/data/deck/learnneo/pages/Earthquakes-Lab-07-use-the-google-maps-addon.md +175 -0
  41. package/resources/data/deck/learnneo/pages/Earthquakes-Lab-08-events.md +38 -0
  42. package/resources/data/deck/learnneo/pages/Earthquakes.md +8 -8
  43. package/resources/data/deck/learnneo/pages/Glossary.md +0 -0
  44. package/resources/data/deck/learnneo/pages/GuideEvents.md +80 -1
  45. package/resources/data/deck/learnneo/tree.json +2 -1
  46. package/resources/images/apps/portal/neo-references.png +0 -0
  47. package/resources/scss/src/apps/portal/Viewport.scss +18 -0
  48. package/resources/scss/src/apps/portal/blog/Container.scss +7 -7
  49. package/resources/scss/src/apps/portal/blog/List.scss +20 -16
  50. package/resources/scss/src/apps/portal/home/FooterContainer.scss +31 -0
  51. package/resources/scss/src/apps/portal/home/parts/AfterMath.scss +5 -0
  52. package/resources/scss/src/apps/portal/home/parts/MainNeo.scss +4 -5
  53. package/resources/scss/src/apps/portal/home/parts/References.scss +46 -0
  54. package/resources/scss/src/apps/portal/learn/ContentTreeList.scss +20 -0
  55. package/resources/scss/src/apps/portal/learn/ContentView.scss +4 -0
  56. package/resources/scss/src/apps/portal/learn/MainContainer.scss +1 -1
  57. package/resources/scss/src/apps/portal/learn/PageContainer.scss +22 -16
  58. package/resources/scss/src/apps/portal/services/Component.scss +20 -0
  59. package/resources/scss/src/component/Carousel.scss +21 -0
  60. package/resources/scss/src/examples/layout/cube/MainContainer.scss +7 -0
  61. package/resources/scss/src/layout/Cube.scss +80 -0
  62. package/resources/scss/src/tab/Container.scss +10 -10
  63. package/resources/scss/theme-neo-light/apps/portal/blog/Container.scss +3 -0
  64. package/resources/scss/theme-neo-light/form/field/Search.scss +1 -1
  65. package/resources/scss/theme-neo-light/tooltip/Base.scss +1 -1
  66. package/src/DefaultConfig.mjs +2 -2
  67. package/src/Main.mjs +15 -1
  68. package/src/Neo.mjs +14 -3
  69. package/src/calendar/view/MainContainer.mjs +8 -7
  70. package/src/component/Base.mjs +28 -8
  71. package/src/component/DateSelector.mjs +2 -2
  72. package/src/container/Base.mjs +3 -1
  73. package/src/dialog/Base.mjs +1 -2
  74. package/src/form/field/Time.mjs +18 -16
  75. package/src/layout/Base.mjs +43 -6
  76. package/src/layout/Card.mjs +21 -59
  77. package/src/layout/Cube.mjs +432 -0
  78. package/src/layout/Fit.mjs +9 -38
  79. package/src/layout/Flexbox.mjs +16 -17
  80. package/src/layout/Form.mjs +13 -70
  81. package/src/layout/Grid.mjs +6 -18
  82. package/src/list/Base.mjs +3 -3
  83. package/src/main/mixin/DeltaUpdates.mjs +16 -3
  84. package/src/model/Component.mjs +25 -6
  85. package/src/util/Array.mjs +36 -0
  86. package/src/vdom/Helper.mjs +338 -442
  87. package/src/vdom/VNode.mjs +12 -1
  88. package/test/siesta/siesta.js +16 -1
  89. package/test/siesta/tests/VdomCalendar.mjs +2193 -37
  90. package/test/siesta/tests/VdomHelper.mjs +287 -48
  91. package/test/siesta/tests/vdom/Advanced.mjs +368 -0
  92. package/test/siesta/tests/vdom/layout/Cube.mjs +189 -0
  93. package/test/siesta/tests/vdom/table/Container.mjs +133 -0
  94. package/resources/scss/theme-neo-light/apps/portal/learn/ContentTreeList.scss +0 -23
@@ -0,0 +1,133 @@
1
+ import Neo from '../../../../../src/Neo.mjs';
2
+ import * as core from '../../../../../src/core/_export.mjs';
3
+ import VdomHelper from '../../../../../src/vdom/Helper.mjs';
4
+
5
+ let deltas, output, vdom, vnode;
6
+
7
+ StartTest(t => {
8
+ t.it('Remove all Table Rows', t => {
9
+ vdom =
10
+ {id: 'neo-table-container-1', cn: [
11
+ {tag: 'tbody', id: 'neo-table-view-1', cn: [
12
+ {tag: 'tr', id: 'neo-table-row-1'},
13
+ {tag: 'tr', id: 'neo-table-row-2'},
14
+ {tag: 'tr', id: 'neo-table-row-3'},
15
+ {tag: 'tr', id: 'neo-table-row-4'},
16
+ {tag: 'tr', id: 'neo-table-row-5'}
17
+ ]}
18
+ ]};
19
+
20
+ vnode = VdomHelper.create(vdom);
21
+
22
+ vdom =
23
+ {id: 'neo-table-container-1', cn: [
24
+ {tag: 'tbody', id: 'neo-table-view-1', cn: []}
25
+ ]};
26
+
27
+ output = VdomHelper.update({vdom, vnode}); deltas = output.deltas; vnode = output.vnode;
28
+
29
+ t.is(deltas.length, 1, 'Count deltas equals 1');
30
+
31
+ t.isDeeplyStrict(deltas, [
32
+ {action: 'removeAll', parentId: 'neo-table-view-1'}
33
+ ], 'Deltas got created successfully');
34
+
35
+ t.diag('Revert operation');
36
+
37
+ vdom =
38
+ {id: 'neo-table-container-1', cn: [
39
+ {tag: 'tbody', id: 'neo-table-view-1', cn: [
40
+ {tag: 'tr', id: 'neo-table-row-1'},
41
+ {tag: 'tr', id: 'neo-table-row-2'},
42
+ {tag: 'tr', id: 'neo-table-row-3'},
43
+ {tag: 'tr', id: 'neo-table-row-4'},
44
+ {tag: 'tr', id: 'neo-table-row-5'}
45
+ ]}
46
+ ]};
47
+
48
+ output = VdomHelper.update({vdom, vnode}); deltas = output.deltas; vnode = output.vnode;
49
+
50
+ t.is(deltas.length, 5, 'Count deltas equals 5');
51
+
52
+ t.isDeeplyStrict(deltas, [
53
+ {action: 'insertNode', index: 0, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-1"></tr>'},
54
+ {action: 'insertNode', index: 1, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-2"></tr>'},
55
+ {action: 'insertNode', index: 2, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-3"></tr>'},
56
+ {action: 'insertNode', index: 3, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-4"></tr>'},
57
+ {action: 'insertNode', index: 4, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-5"></tr>'}
58
+ ], 'Deltas got created successfully');
59
+ });
60
+
61
+ t.it('Remove all Table Rows & move 2 into a different Table', t => {
62
+ vdom =
63
+ {id: 'neo-wrapper-1', cn: [
64
+ {id: 'neo-table-container-1', cn: [
65
+ {tag: 'tbody', id: 'neo-table-view-1', cn: [
66
+ {tag: 'tr', id: 'neo-table-row-1'},
67
+ {tag: 'tr', id: 'neo-table-row-2'},
68
+ {tag: 'tr', id: 'neo-table-row-3'},
69
+ {tag: 'tr', id: 'neo-table-row-4'},
70
+ {tag: 'tr', id: 'neo-table-row-5'}
71
+ ]}
72
+ ]},
73
+ {id: 'neo-table-container-2', cn: [
74
+ {tag: 'tbody', id: 'neo-table-view-2', cn: []}
75
+ ]}
76
+ ]};
77
+
78
+ vnode = VdomHelper.create(vdom);
79
+
80
+ vdom =
81
+ {id: 'neo-wrapper-1', cn: [
82
+ {id: 'neo-table-container-1', cn: [
83
+ {tag: 'tbody', id: 'neo-table-view-1', cn: []}
84
+ ]},
85
+ {id: 'neo-table-container-2', cn: [
86
+ {tag: 'tbody', id: 'neo-table-view-2', cn: [
87
+ {tag: 'tr', id: 'neo-table-row-2'},
88
+ {tag: 'tr', id: 'neo-table-row-4'}
89
+ ]}
90
+ ]}
91
+ ]};
92
+
93
+ output = VdomHelper.update({vdom, vnode}); deltas = output.deltas; vnode = output.vnode;
94
+
95
+ t.is(deltas.length, 3, 'Count deltas equals 3');
96
+
97
+ t.isDeeplyStrict(deltas, [
98
+ {action: 'moveNode', id: 'neo-table-row-2', index: 0, parentId: 'neo-table-view-2'},
99
+ {action: 'moveNode', id: 'neo-table-row-4', index: 1, parentId: 'neo-table-view-2'},
100
+ {action: 'removeAll', parentId: 'neo-table-view-1'}
101
+ ], 'Deltas got created successfully');
102
+
103
+ t.diag('Revert operation');
104
+
105
+ vdom =
106
+ {id: 'neo-wrapper-1', cn: [
107
+ {id: 'neo-table-container-1', cn: [
108
+ {tag: 'tbody', id: 'neo-table-view-1', cn: [
109
+ {tag: 'tr', id: 'neo-table-row-1'},
110
+ {tag: 'tr', id: 'neo-table-row-2'},
111
+ {tag: 'tr', id: 'neo-table-row-3'},
112
+ {tag: 'tr', id: 'neo-table-row-4'},
113
+ {tag: 'tr', id: 'neo-table-row-5'}
114
+ ]}
115
+ ]},
116
+ {id: 'neo-table-container-2', cn: [
117
+ {tag: 'tbody', id: 'neo-table-view-2', cn: []}
118
+ ]}
119
+ ]};
120
+
121
+ output = VdomHelper.update({vdom, vnode}); deltas = output.deltas; vnode = output.vnode;
122
+
123
+ t.is(deltas.length, 5, 'Count deltas equals 5');
124
+
125
+ t.isDeeplyStrict(deltas, [
126
+ {action: 'insertNode', index: 0, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-1"></tr>'},
127
+ {action: 'moveNode', id: 'neo-table-row-2', index: 1, parentId: 'neo-table-view-1'},
128
+ {action: 'insertNode', index: 2, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-3"></tr>'},
129
+ {action: 'moveNode', id: 'neo-table-row-4', index: 3, parentId: 'neo-table-view-1'},
130
+ {action: 'insertNode', index: 4, parentId: 'neo-table-view-1', outerHTML: '<tr id="neo-table-row-5"></tr>'}
131
+ ], 'Deltas got created successfully');
132
+ });
133
+ });
@@ -1,23 +0,0 @@
1
- :root .neo-theme-neo-light { // .covid-header-container
2
- .topics-tree {
3
- &.neo-tree-list {
4
- .neo-list-container {
5
- .neo-list-item {
6
- .neo-list-item-content:before {
7
- content: unset !important;
8
- }
9
-
10
- &.neo-list-folder {
11
- .neo-list-item-content:before {
12
- content: unset !important;
13
- }
14
-
15
- &.neo-folder-open .neo-list-item-content:before {
16
- content: unset !important;
17
- }
18
- }
19
- }
20
- }
21
- }
22
- }
23
- }