slicejs-web-framework 3.2.3 → 3.3.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 (117) hide show
  1. package/.opencode/opencode.json +13 -13
  2. package/LICENSE +21 -21
  3. package/README.md +97 -174
  4. package/Slice/Components/Structural/ContextManager/ContextManager.js +369 -369
  5. package/Slice/Components/Structural/ContextManager/ContextManagerDebugger.js +420 -297
  6. package/Slice/Components/Structural/Controller/Controller.js +1131 -1131
  7. package/Slice/Components/Structural/Debugger/Debugger.html +72 -72
  8. package/Slice/Components/Structural/Debugger/Debugger.js +1497 -1547
  9. package/Slice/Components/Structural/EventManager/EventManager.js +338 -338
  10. package/Slice/Components/Structural/EventManager/EventManagerDebugger.js +476 -361
  11. package/Slice/Components/Structural/Logger/Log.js +10 -10
  12. package/Slice/Components/Structural/Logger/Logger.js +146 -146
  13. package/Slice/Components/Structural/Router/Router.js +752 -721
  14. package/Slice/Components/Structural/StylesManager/StylesManager.js +78 -78
  15. package/Slice/Components/Structural/StylesManager/ThemeManager/ThemeManager.js +84 -84
  16. package/Slice/Slice.js +542 -542
  17. package/Slice/tests/build-bundled-component-without-category.test.js +103 -103
  18. package/Slice/tests/build-js-only-visual-components.test.js +144 -144
  19. package/Slice/tests/bundle-v2-runtime-contract.test.js +728 -728
  20. package/Slice/tests/public-env-runtime-accessors.test.js +44 -44
  21. package/Slice/tests/router-loading-finally.test.js +68 -68
  22. package/api/index.js +286 -286
  23. package/api/middleware/securityMiddleware.js +252 -252
  24. package/api/tests/public-env-resolver.test.js +193 -193
  25. package/api/utils/publicEnvResolver.js +117 -117
  26. package/package.json +40 -38
  27. package/sliceConfig.schema.json +109 -109
  28. package/src/App/index.html +16 -22
  29. package/src/App/index.js +20 -23
  30. package/src/App/style.css +11 -40
  31. package/src/Components/AppComponents/AboutSection/AboutSection.css +9 -0
  32. package/src/Components/AppComponents/AboutSection/AboutSection.html +8 -0
  33. package/src/Components/AppComponents/AboutSection/AboutSection.js +12 -0
  34. package/src/Components/AppComponents/AppShell/AppShell.css +10 -0
  35. package/src/Components/AppComponents/AppShell/AppShell.html +4 -0
  36. package/src/Components/AppComponents/AppShell/AppShell.js +36 -0
  37. package/src/Components/AppComponents/HomeSection/HomeSection.css +20 -0
  38. package/src/Components/AppComponents/HomeSection/HomeSection.html +10 -0
  39. package/src/Components/AppComponents/HomeSection/HomeSection.js +19 -0
  40. package/src/Components/Service/FetchManager/FetchManager.js +133 -133
  41. package/src/Components/Service/IndexedDbManager/IndexedDbManager.js +141 -141
  42. package/src/Components/Service/LocalStorageManager/LocalStorageManager.js +45 -45
  43. package/src/Components/Visual/Button/Button.css +47 -47
  44. package/src/Components/Visual/Button/Button.html +5 -5
  45. package/src/Components/Visual/Button/Button.js +92 -92
  46. package/src/Components/Visual/Card/Card.css +68 -68
  47. package/src/Components/Visual/Card/Card.html +7 -7
  48. package/src/Components/Visual/Card/Card.js +107 -107
  49. package/src/Components/Visual/Checkbox/Checkbox.css +87 -87
  50. package/src/Components/Visual/Checkbox/Checkbox.html +8 -8
  51. package/src/Components/Visual/Checkbox/Checkbox.js +86 -86
  52. package/src/Components/Visual/CodeVisualizer/CodeVisualizer.css +129 -129
  53. package/src/Components/Visual/CodeVisualizer/CodeVisualizer.html +3 -3
  54. package/src/Components/Visual/CodeVisualizer/CodeVisualizer.js +262 -262
  55. package/src/Components/Visual/Details/Details.css +70 -70
  56. package/src/Components/Visual/Details/Details.html +9 -9
  57. package/src/Components/Visual/Details/Details.js +76 -76
  58. package/src/Components/Visual/DropDown/DropDown.css +60 -60
  59. package/src/Components/Visual/DropDown/DropDown.html +5 -5
  60. package/src/Components/Visual/DropDown/DropDown.js +63 -63
  61. package/src/Components/Visual/Grid/Grid.css +7 -7
  62. package/src/Components/Visual/Grid/Grid.html +1 -1
  63. package/src/Components/Visual/Grid/Grid.js +57 -57
  64. package/src/Components/Visual/Icon/Icon.css +510 -510
  65. package/src/Components/Visual/Icon/Icon.js +89 -89
  66. package/src/Components/Visual/Icon/slc.json +554 -554
  67. package/src/Components/Visual/Icon/slc.styl +507 -507
  68. package/src/Components/Visual/Icon/slc.svg +1485 -1485
  69. package/src/Components/Visual/Icon/slc.symbol.svg +1058 -1058
  70. package/src/Components/Visual/Input/Input.css +91 -91
  71. package/src/Components/Visual/Input/Input.html +4 -4
  72. package/src/Components/Visual/Input/Input.js +215 -215
  73. package/src/Components/Visual/Layout/Layout.js +49 -49
  74. package/src/Components/Visual/Link/Link.css +8 -8
  75. package/src/Components/Visual/Link/Link.html +1 -1
  76. package/src/Components/Visual/Link/Link.js +63 -63
  77. package/src/Components/Visual/Loading/Loading.css +56 -56
  78. package/src/Components/Visual/Loading/Loading.html +83 -83
  79. package/src/Components/Visual/Loading/Loading.js +38 -38
  80. package/src/Components/Visual/MultiRoute/MultiRoute.js +100 -93
  81. package/src/Components/Visual/Navbar/Navbar.css +115 -115
  82. package/src/Components/Visual/Navbar/Navbar.html +44 -44
  83. package/src/Components/Visual/Navbar/Navbar.js +141 -141
  84. package/src/Components/Visual/NotFound/NotFound.css +116 -116
  85. package/src/Components/Visual/NotFound/NotFound.html +23 -23
  86. package/src/Components/Visual/NotFound/NotFound.js +16 -16
  87. package/src/Components/Visual/Route/Route.js +93 -93
  88. package/src/Components/Visual/Select/Select.css +84 -84
  89. package/src/Components/Visual/Select/Select.html +8 -8
  90. package/src/Components/Visual/Select/Select.js +195 -195
  91. package/src/Components/Visual/Switch/Switch.css +76 -76
  92. package/src/Components/Visual/Switch/Switch.html +8 -8
  93. package/src/Components/Visual/Switch/Switch.js +102 -102
  94. package/src/Components/Visual/TreeItem/TreeItem.css +36 -36
  95. package/src/Components/Visual/TreeItem/TreeItem.html +1 -1
  96. package/src/Components/Visual/TreeItem/TreeItem.js +126 -126
  97. package/src/Components/Visual/TreeView/TreeView.css +8 -8
  98. package/src/Components/Visual/TreeView/TreeView.html +1 -1
  99. package/src/Components/Visual/TreeView/TreeView.js +48 -48
  100. package/src/Components/components.js +15 -27
  101. package/src/Styles/sliceStyles.css +34 -34
  102. package/src/Themes/Dark.css +42 -42
  103. package/src/Themes/Light.css +31 -31
  104. package/src/Themes/Slice.css +47 -47
  105. package/src/routes.js +9 -15
  106. package/src/sliceConfig.json +74 -73
  107. package/types/index.d.ts +207 -207
  108. package/Slice/Components/Structural/Debugger/Debugger.css +0 -620
  109. package/src/Components/AppComponents/HomePage/HomePage.css +0 -201
  110. package/src/Components/AppComponents/HomePage/HomePage.html +0 -37
  111. package/src/Components/AppComponents/HomePage/HomePage.js +0 -210
  112. package/src/Components/AppComponents/Playground/Playground.css +0 -12
  113. package/src/Components/AppComponents/Playground/Playground.html +0 -0
  114. package/src/Components/AppComponents/Playground/Playground.js +0 -111
  115. package/src/images/Slice.js-logo.png +0 -0
  116. package/src/images/im2/Slice.js-logo.png +0 -0
  117. package/src/testing.js +0 -888
@@ -1,49 +1,49 @@
1
- export default class Layout extends HTMLElement {
2
- constructor(props) {
3
- super();
4
- slice.attachTemplate(this);
5
-
6
- slice.controller.setComponentProps(this, props);
7
- this.debuggerProps = [];
8
- this.currentView = null;
9
- }
10
-
11
- async init() {
12
- if (this.layout) {
13
- await this.onLayOut(this.layout);
14
- }
15
- if (this.view) {
16
- await this.showing(this.view);
17
- }
18
- }
19
-
20
- get layout() {
21
- return this._layout;
22
- }
23
-
24
- set layout(value) {
25
- this._layout = value;
26
- }
27
-
28
- get view() {
29
- return this._view;
30
- }
31
-
32
- set view(value) {
33
- this._view = value;
34
- }
35
-
36
- async showing(view) {
37
- if (this.currentView) {
38
- this.removeChild(this.currentView);
39
- }
40
- this.appendChild(view);
41
- this.currentView = view;
42
- }
43
-
44
- async onLayOut(view) {
45
- this.appendChild(view);
46
- }
47
- }
48
-
49
- customElements.define('slice-layout', Layout);
1
+ export default class Layout extends HTMLElement {
2
+ constructor(props) {
3
+ super();
4
+ slice.attachTemplate(this);
5
+
6
+ slice.controller.setComponentProps(this, props);
7
+ this.debuggerProps = [];
8
+ this.currentView = null;
9
+ }
10
+
11
+ async init() {
12
+ if (this.layout) {
13
+ await this.onLayOut(this.layout);
14
+ }
15
+ if (this.view) {
16
+ await this.showing(this.view);
17
+ }
18
+ }
19
+
20
+ get layout() {
21
+ return this._layout;
22
+ }
23
+
24
+ set layout(value) {
25
+ this._layout = value;
26
+ }
27
+
28
+ get view() {
29
+ return this._view;
30
+ }
31
+
32
+ set view(value) {
33
+ this._view = value;
34
+ }
35
+
36
+ async showing(view) {
37
+ if (this.currentView) {
38
+ this.removeChild(this.currentView);
39
+ }
40
+ this.appendChild(view);
41
+ this.currentView = view;
42
+ }
43
+
44
+ async onLayOut(view) {
45
+ this.appendChild(view);
46
+ }
47
+ }
48
+
49
+ customElements.define('slice-layout', Layout);
@@ -1,8 +1,8 @@
1
- slice-link {
2
- display: inline-flex;
3
- }
4
-
5
- slice-link .slice-link {
6
- color: inherit;
7
- text-decoration: none;
8
- }
1
+ slice-link {
2
+ display: inline-flex;
3
+ }
4
+
5
+ slice-link .slice-link {
6
+ color: inherit;
7
+ text-decoration: none;
8
+ }
@@ -1 +1 @@
1
- <a href="#" class="slice-link" data-route></a>
1
+ <a href="#" class="slice-link" data-route></a>
@@ -1,63 +1,63 @@
1
- export default class Link extends HTMLElement {
2
- static props = {
3
- path: { type: 'string', default: '#' },
4
- classes: { type: 'string', default: '' },
5
- text: { type: 'string', default: '' }
6
- };
7
-
8
- constructor(props = {}) {
9
- super();
10
- slice.attachTemplate(this);
11
- this.$anchor = this.querySelector('.slice-link');
12
-
13
- slice.controller.setComponentProps(this, props);
14
- this.debuggerProps = ['path', 'classes', 'text'];
15
- }
16
-
17
- async init() {
18
- this.updateLink();
19
- this.addEventListener('click', this.onClick.bind(this));
20
- }
21
-
22
- updateLink() {
23
- if (!this.$anchor) return;
24
- this.$anchor.setAttribute('href', this.path || '#');
25
- this.$anchor.textContent = this.text || '';
26
- this.$anchor.className = `slice-link ${this.classes || ''}`.trim();
27
- }
28
-
29
- async onClick(event) {
30
- event.preventDefault();
31
- const path = this.path || this.$anchor?.getAttribute('href') || '#';
32
- slice.router.navigate(path);
33
- }
34
-
35
- set path(value) {
36
- this._path = value;
37
- this.updateLink();
38
- }
39
-
40
- get path() {
41
- return this._path;
42
- }
43
-
44
- set classes(value) {
45
- this._classes = value;
46
- this.updateLink();
47
- }
48
-
49
- get classes() {
50
- return this._classes;
51
- }
52
-
53
- set text(value) {
54
- this._text = value;
55
- this.updateLink();
56
- }
57
-
58
- get text() {
59
- return this._text;
60
- }
61
- }
62
-
63
- customElements.define('slice-link', Link);
1
+ export default class Link extends HTMLElement {
2
+ static props = {
3
+ path: { type: 'string', default: '#' },
4
+ classes: { type: 'string', default: '' },
5
+ text: { type: 'string', default: '' }
6
+ };
7
+
8
+ constructor(props = {}) {
9
+ super();
10
+ slice.attachTemplate(this);
11
+ this.$anchor = this.querySelector('.slice-link');
12
+
13
+ slice.controller.setComponentProps(this, props);
14
+ this.debuggerProps = ['path', 'classes', 'text'];
15
+ }
16
+
17
+ async init() {
18
+ this.updateLink();
19
+ this.addEventListener('click', this.onClick.bind(this));
20
+ }
21
+
22
+ updateLink() {
23
+ if (!this.$anchor) return;
24
+ this.$anchor.setAttribute('href', this.path || '#');
25
+ this.$anchor.textContent = this.text || '';
26
+ this.$anchor.className = `slice-link ${this.classes || ''}`.trim();
27
+ }
28
+
29
+ async onClick(event) {
30
+ event.preventDefault();
31
+ const path = this.path || this.$anchor?.getAttribute('href') || '#';
32
+ slice.router.navigate(path);
33
+ }
34
+
35
+ set path(value) {
36
+ this._path = value;
37
+ this.updateLink();
38
+ }
39
+
40
+ get path() {
41
+ return this._path;
42
+ }
43
+
44
+ set classes(value) {
45
+ this._classes = value;
46
+ this.updateLink();
47
+ }
48
+
49
+ get classes() {
50
+ return this._classes;
51
+ }
52
+
53
+ set text(value) {
54
+ this._text = value;
55
+ this.updateLink();
56
+ }
57
+
58
+ get text() {
59
+ return this._text;
60
+ }
61
+ }
62
+
63
+ customElements.define('slice-link', Link);
@@ -1,56 +1,56 @@
1
- .pizza-container {
2
- width: 100%;
3
- height: 100%;
4
- display: flex;
5
- justify-content: center;
6
- align-items: center;
7
- position: absolute;
8
- z-index: 499;
9
- }
10
-
11
- @keyframes spin {
12
- from {
13
- transform: rotate(0deg);
14
- }
15
-
16
- to {
17
- transform: rotate(360deg);
18
- }
19
- }
20
-
21
- @keyframes fade {
22
- 0% {
23
- opacity: 0;
24
- }
25
-
26
- 50% {
27
- opacity: 1;
28
- }
29
-
30
- 100% {
31
- opacity: 0;
32
- }
33
- }
34
-
35
- .slice_logo {
36
- animation: spin 0.1s linear infinite;
37
- height: 50px;
38
- width: 50px;
39
- position: absolute;
40
-
41
- path {
42
- fill: var(--primary-color);
43
- }
44
- }
45
-
46
- .full-screen {
47
- height: 100%;
48
- width: 100%;
49
- position: fixed;
50
- top: 0;
51
- bottom: 0;
52
- left: 0;
53
- right: 0;
54
- background: rgba(90, 90, 90, 0.5);
55
- z-index: 500;
56
- }
1
+ .pizza-container {
2
+ width: 100%;
3
+ height: 100%;
4
+ display: flex;
5
+ justify-content: center;
6
+ align-items: center;
7
+ position: absolute;
8
+ z-index: 499;
9
+ }
10
+
11
+ @keyframes spin {
12
+ from {
13
+ transform: rotate(0deg);
14
+ }
15
+
16
+ to {
17
+ transform: rotate(360deg);
18
+ }
19
+ }
20
+
21
+ @keyframes fade {
22
+ 0% {
23
+ opacity: 0;
24
+ }
25
+
26
+ 50% {
27
+ opacity: 1;
28
+ }
29
+
30
+ 100% {
31
+ opacity: 0;
32
+ }
33
+ }
34
+
35
+ .slice_logo {
36
+ animation: spin 0.1s linear infinite;
37
+ height: 50px;
38
+ width: 50px;
39
+ position: absolute;
40
+
41
+ path {
42
+ fill: var(--primary-color);
43
+ }
44
+ }
45
+
46
+ .full-screen {
47
+ height: 100%;
48
+ width: 100%;
49
+ position: fixed;
50
+ top: 0;
51
+ bottom: 0;
52
+ left: 0;
53
+ right: 0;
54
+ background: rgba(90, 90, 90, 0.5);
55
+ z-index: 500;
56
+ }