slicejs-web-framework 2.4.8 → 3.1.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 (229) hide show
  1. package/.worktrees/bundling-v2-precompiled-registrars/LICENSE +21 -0
  2. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/ContextManager/ContextManager.js +369 -0
  3. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/ContextManager/ContextManagerDebugger.js +297 -0
  4. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Controller/Controller.js +972 -0
  5. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Debugger/Debugger.css +620 -0
  6. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Debugger/Debugger.html +73 -0
  7. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Debugger/Debugger.js +1548 -0
  8. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/EventManager/EventManager.js +338 -0
  9. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/EventManager/EventManagerDebugger.js +361 -0
  10. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Logger/Log.js +10 -0
  11. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Logger/Logger.js +146 -0
  12. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/Router/Router.js +721 -0
  13. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/StylesManager/StylesManager.js +78 -0
  14. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Components/Structural/StylesManager/ThemeManager/ThemeManager.js +84 -0
  15. package/.worktrees/bundling-v2-precompiled-registrars/Slice/Slice.js +504 -0
  16. package/.worktrees/bundling-v2-precompiled-registrars/Slice/tests/bundle-v2-runtime-contract.test.js +268 -0
  17. package/.worktrees/bundling-v2-precompiled-registrars/Slice/tests/router-loading-finally.test.js +68 -0
  18. package/.worktrees/bundling-v2-precompiled-registrars/api/index.js +286 -0
  19. package/.worktrees/bundling-v2-precompiled-registrars/api/middleware/securityMiddleware.js +253 -0
  20. package/.worktrees/bundling-v2-precompiled-registrars/package.json +37 -0
  21. package/.worktrees/bundling-v2-precompiled-registrars/sliceConfig.schema.json +109 -0
  22. package/.worktrees/bundling-v2-precompiled-registrars/src/App/index.html +22 -0
  23. package/.worktrees/bundling-v2-precompiled-registrars/src/App/index.js +23 -0
  24. package/.worktrees/bundling-v2-precompiled-registrars/src/App/style.css +40 -0
  25. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/HomePage/HomePage.css +201 -0
  26. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/HomePage/HomePage.html +37 -0
  27. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/HomePage/HomePage.js +210 -0
  28. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/Playground/Playground.css +12 -0
  29. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/Playground/Playground.html +0 -0
  30. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/AppComponents/Playground/Playground.js +111 -0
  31. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Service/FetchManager/FetchManager.js +133 -0
  32. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Service/IndexedDbManager/IndexedDbManager.js +141 -0
  33. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Service/LocalStorageManager/LocalStorageManager.js +45 -0
  34. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Button/Button.css +47 -0
  35. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Button/Button.html +5 -0
  36. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Button/Button.js +93 -0
  37. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Card/Card.css +68 -0
  38. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Card/Card.html +7 -0
  39. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Card/Card.js +107 -0
  40. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Checkbox/Checkbox.css +87 -0
  41. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Checkbox/Checkbox.html +8 -0
  42. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Checkbox/Checkbox.js +86 -0
  43. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/CodeVisualizer/CodeVisualizer.css +130 -0
  44. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/CodeVisualizer/CodeVisualizer.html +4 -0
  45. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/CodeVisualizer/CodeVisualizer.js +262 -0
  46. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Details/Details.css +70 -0
  47. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Details/Details.html +9 -0
  48. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Details/Details.js +76 -0
  49. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/DropDown/DropDown.css +60 -0
  50. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/DropDown/DropDown.html +5 -0
  51. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/DropDown/DropDown.js +63 -0
  52. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Grid/Grid.css +7 -0
  53. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Grid/Grid.html +1 -0
  54. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Grid/Grid.js +57 -0
  55. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/Icon.css +510 -0
  56. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/Icon.html +1 -0
  57. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/Icon.js +89 -0
  58. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.eot +0 -0
  59. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.json +555 -0
  60. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.styl +507 -0
  61. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.svg +1485 -0
  62. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.symbol.svg +1059 -0
  63. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.ttf +0 -0
  64. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.woff +0 -0
  65. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Icon/slc.woff2 +0 -0
  66. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Input/Input.css +91 -0
  67. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Input/Input.html +4 -0
  68. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Input/Input.js +215 -0
  69. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Layout/Layout.css +0 -0
  70. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Layout/Layout.html +0 -0
  71. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Layout/Layout.js +49 -0
  72. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Link/Link.css +8 -0
  73. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Link/Link.html +1 -0
  74. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Link/Link.js +63 -0
  75. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Loading/Loading.css +56 -0
  76. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Loading/Loading.html +83 -0
  77. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Loading/Loading.js +38 -0
  78. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/MultiRoute/MultiRoute.js +93 -0
  79. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Navbar/Navbar.css +115 -0
  80. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Navbar/Navbar.html +44 -0
  81. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Navbar/Navbar.js +141 -0
  82. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/NotFound/NotFound.css +117 -0
  83. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/NotFound/NotFound.html +24 -0
  84. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/NotFound/NotFound.js +16 -0
  85. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Route/Route.js +93 -0
  86. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Select/Select.css +84 -0
  87. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Select/Select.html +8 -0
  88. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Select/Select.js +195 -0
  89. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Switch/Switch.css +76 -0
  90. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Switch/Switch.html +8 -0
  91. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/Switch/Switch.js +102 -0
  92. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeItem/TreeItem.css +36 -0
  93. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeItem/TreeItem.html +1 -0
  94. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeItem/TreeItem.js +126 -0
  95. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeView/TreeView.css +8 -0
  96. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeView/TreeView.html +1 -0
  97. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/Visual/TreeView/TreeView.js +48 -0
  98. package/.worktrees/bundling-v2-precompiled-registrars/src/Components/components.js +27 -0
  99. package/.worktrees/bundling-v2-precompiled-registrars/src/Styles/sliceStyles.css +34 -0
  100. package/.worktrees/bundling-v2-precompiled-registrars/src/Themes/Dark.css +42 -0
  101. package/.worktrees/bundling-v2-precompiled-registrars/src/Themes/Light.css +31 -0
  102. package/.worktrees/bundling-v2-precompiled-registrars/src/Themes/Slice.css +47 -0
  103. package/.worktrees/bundling-v2-precompiled-registrars/src/images/Slice.js-logo.png +0 -0
  104. package/.worktrees/bundling-v2-precompiled-registrars/src/images/favicon.ico +0 -0
  105. package/.worktrees/bundling-v2-precompiled-registrars/src/images/im2/Slice.js-logo.png +0 -0
  106. package/.worktrees/bundling-v2-precompiled-registrars/src/routes.js +16 -0
  107. package/.worktrees/bundling-v2-precompiled-registrars/src/sliceConfig.json +73 -0
  108. package/.worktrees/bundling-v2-precompiled-registrars/src/testing.js +888 -0
  109. package/.worktrees/public-env-browser-exposure/LICENSE +21 -0
  110. package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/ContextManager/ContextManager.js +369 -0
  111. package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/ContextManager/ContextManagerDebugger.js +297 -0
  112. package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Controller/Controller.js +972 -0
  113. package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Debugger/Debugger.css +620 -0
  114. package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Debugger/Debugger.html +73 -0
  115. package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Debugger/Debugger.js +1548 -0
  116. package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/EventManager/EventManager.js +338 -0
  117. package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/EventManager/EventManagerDebugger.js +361 -0
  118. package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Logger/Log.js +10 -0
  119. package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Logger/Logger.js +146 -0
  120. package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/Router/Router.js +721 -0
  121. package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/StylesManager/StylesManager.js +78 -0
  122. package/.worktrees/public-env-browser-exposure/Slice/Components/Structural/StylesManager/ThemeManager/ThemeManager.js +84 -0
  123. package/.worktrees/public-env-browser-exposure/Slice/Slice.js +533 -0
  124. package/.worktrees/public-env-browser-exposure/Slice/tests/bundle-v2-runtime-contract.test.js +268 -0
  125. package/.worktrees/public-env-browser-exposure/Slice/tests/public-env-runtime-accessors.test.js +44 -0
  126. package/.worktrees/public-env-browser-exposure/Slice/tests/router-loading-finally.test.js +68 -0
  127. package/.worktrees/public-env-browser-exposure/api/index.js +286 -0
  128. package/.worktrees/public-env-browser-exposure/api/middleware/securityMiddleware.js +253 -0
  129. package/.worktrees/public-env-browser-exposure/api/tests/public-env-resolver.test.js +193 -0
  130. package/.worktrees/public-env-browser-exposure/api/utils/publicEnvResolver.js +117 -0
  131. package/.worktrees/public-env-browser-exposure/package.json +37 -0
  132. package/.worktrees/public-env-browser-exposure/sliceConfig.schema.json +109 -0
  133. package/.worktrees/public-env-browser-exposure/src/App/index.html +22 -0
  134. package/.worktrees/public-env-browser-exposure/src/App/index.js +23 -0
  135. package/.worktrees/public-env-browser-exposure/src/App/style.css +40 -0
  136. package/.worktrees/public-env-browser-exposure/src/Components/AppComponents/HomePage/HomePage.css +201 -0
  137. package/.worktrees/public-env-browser-exposure/src/Components/AppComponents/HomePage/HomePage.html +37 -0
  138. package/.worktrees/public-env-browser-exposure/src/Components/AppComponents/HomePage/HomePage.js +210 -0
  139. package/.worktrees/public-env-browser-exposure/src/Components/AppComponents/Playground/Playground.css +12 -0
  140. package/.worktrees/public-env-browser-exposure/src/Components/AppComponents/Playground/Playground.html +0 -0
  141. package/.worktrees/public-env-browser-exposure/src/Components/AppComponents/Playground/Playground.js +111 -0
  142. package/.worktrees/public-env-browser-exposure/src/Components/Service/FetchManager/FetchManager.js +133 -0
  143. package/.worktrees/public-env-browser-exposure/src/Components/Service/IndexedDbManager/IndexedDbManager.js +141 -0
  144. package/.worktrees/public-env-browser-exposure/src/Components/Service/LocalStorageManager/LocalStorageManager.js +45 -0
  145. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Button/Button.css +47 -0
  146. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Button/Button.html +5 -0
  147. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Button/Button.js +93 -0
  148. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Card/Card.css +68 -0
  149. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Card/Card.html +7 -0
  150. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Card/Card.js +107 -0
  151. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Checkbox/Checkbox.css +87 -0
  152. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Checkbox/Checkbox.html +8 -0
  153. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Checkbox/Checkbox.js +86 -0
  154. package/.worktrees/public-env-browser-exposure/src/Components/Visual/CodeVisualizer/CodeVisualizer.css +130 -0
  155. package/.worktrees/public-env-browser-exposure/src/Components/Visual/CodeVisualizer/CodeVisualizer.html +4 -0
  156. package/.worktrees/public-env-browser-exposure/src/Components/Visual/CodeVisualizer/CodeVisualizer.js +262 -0
  157. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Details/Details.css +70 -0
  158. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Details/Details.html +9 -0
  159. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Details/Details.js +76 -0
  160. package/.worktrees/public-env-browser-exposure/src/Components/Visual/DropDown/DropDown.css +60 -0
  161. package/.worktrees/public-env-browser-exposure/src/Components/Visual/DropDown/DropDown.html +5 -0
  162. package/.worktrees/public-env-browser-exposure/src/Components/Visual/DropDown/DropDown.js +63 -0
  163. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Grid/Grid.css +7 -0
  164. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Grid/Grid.html +1 -0
  165. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Grid/Grid.js +57 -0
  166. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/Icon.css +510 -0
  167. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/Icon.html +1 -0
  168. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/Icon.js +89 -0
  169. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.eot +0 -0
  170. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.json +555 -0
  171. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.styl +507 -0
  172. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.svg +1485 -0
  173. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.symbol.svg +1059 -0
  174. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.ttf +0 -0
  175. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.woff +0 -0
  176. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Icon/slc.woff2 +0 -0
  177. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Input/Input.css +91 -0
  178. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Input/Input.html +4 -0
  179. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Input/Input.js +215 -0
  180. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Layout/Layout.css +0 -0
  181. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Layout/Layout.html +0 -0
  182. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Layout/Layout.js +49 -0
  183. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Link/Link.css +8 -0
  184. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Link/Link.html +1 -0
  185. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Link/Link.js +63 -0
  186. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Loading/Loading.css +56 -0
  187. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Loading/Loading.html +83 -0
  188. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Loading/Loading.js +38 -0
  189. package/.worktrees/public-env-browser-exposure/src/Components/Visual/MultiRoute/MultiRoute.js +93 -0
  190. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Navbar/Navbar.css +115 -0
  191. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Navbar/Navbar.html +44 -0
  192. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Navbar/Navbar.js +141 -0
  193. package/.worktrees/public-env-browser-exposure/src/Components/Visual/NotFound/NotFound.css +117 -0
  194. package/.worktrees/public-env-browser-exposure/src/Components/Visual/NotFound/NotFound.html +24 -0
  195. package/.worktrees/public-env-browser-exposure/src/Components/Visual/NotFound/NotFound.js +16 -0
  196. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Route/Route.js +93 -0
  197. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Select/Select.css +84 -0
  198. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Select/Select.html +8 -0
  199. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Select/Select.js +195 -0
  200. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Switch/Switch.css +76 -0
  201. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Switch/Switch.html +8 -0
  202. package/.worktrees/public-env-browser-exposure/src/Components/Visual/Switch/Switch.js +102 -0
  203. package/.worktrees/public-env-browser-exposure/src/Components/Visual/TreeItem/TreeItem.css +36 -0
  204. package/.worktrees/public-env-browser-exposure/src/Components/Visual/TreeItem/TreeItem.html +1 -0
  205. package/.worktrees/public-env-browser-exposure/src/Components/Visual/TreeItem/TreeItem.js +126 -0
  206. package/.worktrees/public-env-browser-exposure/src/Components/Visual/TreeView/TreeView.css +8 -0
  207. package/.worktrees/public-env-browser-exposure/src/Components/Visual/TreeView/TreeView.html +1 -0
  208. package/.worktrees/public-env-browser-exposure/src/Components/Visual/TreeView/TreeView.js +48 -0
  209. package/.worktrees/public-env-browser-exposure/src/Components/components.js +27 -0
  210. package/.worktrees/public-env-browser-exposure/src/Styles/sliceStyles.css +34 -0
  211. package/.worktrees/public-env-browser-exposure/src/Themes/Dark.css +42 -0
  212. package/.worktrees/public-env-browser-exposure/src/Themes/Light.css +31 -0
  213. package/.worktrees/public-env-browser-exposure/src/Themes/Slice.css +47 -0
  214. package/.worktrees/public-env-browser-exposure/src/images/Slice.js-logo.png +0 -0
  215. package/.worktrees/public-env-browser-exposure/src/images/favicon.ico +0 -0
  216. package/.worktrees/public-env-browser-exposure/src/images/im2/Slice.js-logo.png +0 -0
  217. package/.worktrees/public-env-browser-exposure/src/routes.js +16 -0
  218. package/.worktrees/public-env-browser-exposure/src/sliceConfig.json +73 -0
  219. package/.worktrees/public-env-browser-exposure/src/testing.js +888 -0
  220. package/Slice/Components/Structural/Controller/Controller.js +51 -29
  221. package/Slice/Components/Structural/Router/Router.js +25 -24
  222. package/Slice/Slice.js +79 -46
  223. package/Slice/tests/bundle-v2-runtime-contract.test.js +268 -0
  224. package/Slice/tests/public-env-runtime-accessors.test.js +44 -0
  225. package/Slice/tests/router-loading-finally.test.js +68 -0
  226. package/api/index.js +12 -12
  227. package/api/tests/public-env-resolver.test.js +193 -0
  228. package/api/utils/publicEnvResolver.js +117 -0
  229. package/package.json +1 -1
@@ -0,0 +1,109 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://slicejs.local/sliceConfig.schema.json",
4
+ "title": "Slice.js Config",
5
+ "type": "object",
6
+ "additionalProperties": true,
7
+ "properties": {
8
+ "debugger": {
9
+ "type": "object",
10
+ "additionalProperties": true,
11
+ "properties": {
12
+ "enabled": { "type": "boolean" },
13
+ "click": { "type": "string", "enum": ["right", "left"] }
14
+ }
15
+ },
16
+ "stylesManager": {
17
+ "type": "object",
18
+ "additionalProperties": true,
19
+ "properties": {
20
+ "requestedStyles": { "type": "array", "items": { "type": "string" } }
21
+ }
22
+ },
23
+ "themeManager": {
24
+ "type": "object",
25
+ "additionalProperties": true,
26
+ "properties": {
27
+ "enabled": { "type": "boolean" },
28
+ "defaultTheme": { "type": "string" },
29
+ "saveThemeLocally": { "type": "boolean" },
30
+ "useBrowserTheme": { "type": "boolean" }
31
+ }
32
+ },
33
+ "logger": {
34
+ "type": "object",
35
+ "additionalProperties": true,
36
+ "properties": {
37
+ "enabled": { "type": "boolean" },
38
+ "showLogs": { "type": "object", "additionalProperties": true }
39
+ }
40
+ },
41
+ "events": {
42
+ "type": "object",
43
+ "additionalProperties": true,
44
+ "properties": {
45
+ "enabled": { "type": "boolean" },
46
+ "ui": {
47
+ "type": "object",
48
+ "additionalProperties": true,
49
+ "properties": {
50
+ "enabled": { "type": "boolean" },
51
+ "shortcut": { "type": "string" }
52
+ }
53
+ }
54
+ }
55
+ },
56
+ "context": {
57
+ "type": "object",
58
+ "additionalProperties": true,
59
+ "properties": {
60
+ "enabled": { "type": "boolean" },
61
+ "ui": {
62
+ "type": "object",
63
+ "additionalProperties": true,
64
+ "properties": {
65
+ "enabled": { "type": "boolean" },
66
+ "shortcut": { "type": "string" }
67
+ }
68
+ }
69
+ }
70
+ },
71
+ "paths": {
72
+ "type": "object",
73
+ "additionalProperties": true,
74
+ "properties": {
75
+ "components": { "type": "object", "additionalProperties": true },
76
+ "themes": { "type": "string" },
77
+ "styles": { "type": "string" },
78
+ "routesFile": { "type": "string" }
79
+ },
80
+ "required": ["components", "themes", "styles", "routesFile"]
81
+ },
82
+ "router": {
83
+ "type": "object",
84
+ "additionalProperties": true,
85
+ "properties": {
86
+ "defaultRoute": { "type": "string" }
87
+ }
88
+ },
89
+ "loading": {
90
+ "type": "object",
91
+ "additionalProperties": true,
92
+ "properties": {
93
+ "enabled": { "type": "boolean" }
94
+ }
95
+ },
96
+ "publicFolders": {
97
+ "type": "array",
98
+ "items": { "type": "string" }
99
+ },
100
+ "server": {
101
+ "type": "object",
102
+ "additionalProperties": true,
103
+ "properties": {
104
+ "port": { "type": "number" },
105
+ "host": { "type": "string" }
106
+ }
107
+ }
108
+ }
109
+ }
@@ -0,0 +1,22 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Slice - Documentation</title>
7
+ <link rel="icon" type="image/x-icon" href="/../../images/favicon.ico" />
8
+ <link rel="stylesheet" type="text/css" href="/App/style.css" />
9
+
10
+ <!-- Prism -->
11
+
12
+
13
+
14
+ <!-- Eliminar Prism despues-->
15
+ </head>
16
+
17
+ <body>
18
+ <div id="app">
19
+ <script src="/App/index.js" type="module"></script>
20
+ </div>
21
+ </body>
22
+ </html>
@@ -0,0 +1,23 @@
1
+ import Slice from '/Slice/Slice.js';
2
+
3
+
4
+ /*
5
+ slice.router.beforeEach(async (to, from, next) => {
6
+
7
+ if(to.metadata.private){
8
+ const isAuthenticated = await //fetchlogic for validation
9
+ if(!isAuthenticated){
10
+ return next({ path: '/login', replace: true });
11
+ }
12
+ return next();
13
+ }
14
+
15
+ return next();
16
+ });
17
+
18
+
19
+ If any beforeEach or afterEach is defined, start the router after defining them
20
+
21
+ await slice.router.start();
22
+
23
+ */
@@ -0,0 +1,40 @@
1
+ /* :root {
2
+ --docs-width: 64%;
3
+ }
4
+ slice-layout {
5
+ display: flex;
6
+ justify-content: center;
7
+ }
8
+
9
+ p {
10
+ text-align: justify;
11
+ }
12
+ h1 {
13
+ padding-top: 10px;
14
+ padding-bottom: 10px;
15
+ border-bottom: 1px solid var(--secondary-background-color);
16
+ }
17
+ h2 {
18
+ padding-top: 10px;
19
+ }
20
+ .grid-container {
21
+ overflow-x: auto;
22
+ }
23
+ @media only screen and (max-width: 770px) {
24
+ :root {
25
+ --docs-width: 100%;
26
+ }
27
+ }
28
+ * {
29
+ font-family: var(--font-family);
30
+ }
31
+ .docs_container {
32
+ color: var(--font-primary-color);
33
+ margin-top: 100px;
34
+ overflow-y: scroll;
35
+ overflow-x: hidden;
36
+ width: var(--docs-width);
37
+ padding-left: 10px;
38
+ padding-right: 10px;
39
+ padding-bottom: 25px;
40
+ } */
@@ -0,0 +1,201 @@
1
+ /* Home page styles */
2
+ slice-home-page {
3
+ display: block;
4
+ width: 100%;
5
+ font-family: var(--font-family);
6
+ color: var(--font-primary-color);
7
+ }
8
+
9
+ /* ── HERO ── */
10
+ .hero-section {
11
+ min-height: 80vh;
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ text-align: center;
16
+ padding: 7rem 2rem 5rem;
17
+ background-color: var(--primary-background-color);
18
+ position: relative;
19
+ overflow: hidden;
20
+ }
21
+
22
+ .hero-section::before {
23
+ content: '';
24
+ position: absolute;
25
+ top: -150px;
26
+ left: 50%;
27
+ transform: translateX(-50%);
28
+ width: 700px;
29
+ height: 700px;
30
+ background: radial-gradient(
31
+ circle,
32
+ rgba(var(--primary-color-rgb), 0.07) 0%,
33
+ transparent 70%
34
+ );
35
+ pointer-events: none;
36
+ }
37
+
38
+ .hero-content {
39
+ max-width: 640px;
40
+ position: relative;
41
+ z-index: 1;
42
+ }
43
+
44
+ .hero-badge {
45
+ display: inline-block;
46
+ background: rgba(var(--primary-color-rgb), 0.1);
47
+ color: var(--primary-color);
48
+ font-size: 0.75rem;
49
+ font-weight: 700;
50
+ letter-spacing: 0.08em;
51
+ text-transform: uppercase;
52
+ padding: 0.3rem 0.85rem;
53
+ border-radius: 20px;
54
+ margin-bottom: 1.5rem;
55
+ }
56
+
57
+ .hero-title {
58
+ font-size: 3rem;
59
+ font-weight: 800;
60
+ color: var(--font-primary-color);
61
+ line-height: 1.1;
62
+ margin-bottom: 1rem;
63
+ letter-spacing: -0.03em;
64
+ }
65
+
66
+ .hero-title .highlight {
67
+ color: var(--primary-color);
68
+ }
69
+
70
+ .hero-sub {
71
+ font-size: 1.05rem;
72
+ color: var(--font-secondary-color);
73
+ margin-bottom: 2rem;
74
+ line-height: 1.6;
75
+ }
76
+
77
+ .hero-cta {
78
+ display: flex;
79
+ gap: 0.75rem;
80
+ justify-content: center;
81
+ margin-bottom: 2.5rem;
82
+ }
83
+
84
+ .hero-chips {
85
+ display: flex;
86
+ gap: 0.5rem;
87
+ justify-content: center;
88
+ flex-wrap: wrap;
89
+ }
90
+
91
+ .hero-chip {
92
+ background: white;
93
+ border: 1px solid var(--disabled-color);
94
+ color: var(--primary-color);
95
+ font-size: 0.75rem;
96
+ font-weight: 600;
97
+ padding: 0.3rem 0.75rem;
98
+ border-radius: 20px;
99
+ box-shadow: var(--box-shadow-primary);
100
+ }
101
+
102
+ /* ── FEATURES ── */
103
+ .features-section {
104
+ padding: 5rem 2rem;
105
+ background: white;
106
+ border-top: 1px solid var(--disabled-color);
107
+ }
108
+
109
+ .section-header {
110
+ text-align: center;
111
+ margin-bottom: 2.5rem;
112
+ }
113
+
114
+ .section-label {
115
+ font-size: 0.72rem;
116
+ font-weight: 700;
117
+ color: var(--accent-color);
118
+ text-transform: uppercase;
119
+ letter-spacing: 0.1em;
120
+ margin-bottom: 0.4rem;
121
+ }
122
+
123
+ .section-title {
124
+ font-size: 1.9rem;
125
+ font-weight: 800;
126
+ color: var(--font-primary-color);
127
+ letter-spacing: -0.02em;
128
+ }
129
+
130
+ .feature-grid {
131
+ display: grid;
132
+ grid-template-columns: repeat(3, 1fr);
133
+ gap: 1.2rem;
134
+ max-width: 820px;
135
+ margin: 0 auto;
136
+ }
137
+
138
+ .feature-item {
139
+ background: var(--primary-background-color);
140
+ border-radius: 10px;
141
+ padding: 1.4rem 1.2rem;
142
+ border: 1px solid var(--disabled-color);
143
+ transition: box-shadow 0.2s, transform 0.15s;
144
+ }
145
+
146
+ .feature-item:hover {
147
+ box-shadow: var(--box-shadow-primary);
148
+ transform: translateY(-2px);
149
+ }
150
+
151
+ .feature-title {
152
+ font-size: 0.9rem;
153
+ font-weight: 700;
154
+ color: var(--font-primary-color);
155
+ margin-bottom: 0.35rem;
156
+ }
157
+
158
+ .feature-description {
159
+ font-size: 0.78rem;
160
+ color: var(--medium-color);
161
+ line-height: 1.5;
162
+ }
163
+
164
+ /* ── SHOWCASE ── */
165
+ .showcase-section {
166
+ padding: 5rem 2rem;
167
+ background: var(--primary-background-color);
168
+ border-top: 1px solid var(--disabled-color);
169
+ }
170
+
171
+ .showcase-grid {
172
+ display: grid;
173
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
174
+ gap: 1rem;
175
+ max-width: 860px;
176
+ margin: 0 auto;
177
+ }
178
+
179
+ .comp-card {
180
+ background: white;
181
+ border-radius: 10px;
182
+ padding: 1.3rem 1.2rem;
183
+ border: 1px solid var(--disabled-color);
184
+ box-shadow: 0 2px 8px rgba(var(--primary-color-rgb), 0.06);
185
+ }
186
+
187
+ .comp-label {
188
+ font-size: 0.65rem;
189
+ font-weight: 700;
190
+ color: var(--medium-color);
191
+ text-transform: uppercase;
192
+ letter-spacing: 0.1em;
193
+ margin-bottom: 0.75rem;
194
+ }
195
+
196
+ .comp-demo {
197
+ display: flex;
198
+ align-items: center;
199
+ gap: 0.6rem;
200
+ flex-wrap: wrap;
201
+ }
@@ -0,0 +1,37 @@
1
+ <div class="home-page-container">
2
+
3
+ <section class="hero-section">
4
+ <div class="hero-content">
5
+ <div class="hero-badge">v2.4 · Vanilla JS Framework</div>
6
+ <h1 class="hero-title">Build your web app<br>one <span class="highlight">Slice</span> at a time</h1>
7
+ <p class="hero-sub">A lightweight, component-based framework for building web applications with vanilla JavaScript and web standards.</p>
8
+ <div class="hero-cta"></div>
9
+ <div class="hero-chips">
10
+ <span class="hero-chip">Button</span>
11
+ <span class="hero-chip">Input</span>
12
+ <span class="hero-chip">Switch</span>
13
+ <span class="hero-chip">Navbar</span>
14
+ <span class="hero-chip">Grid</span>
15
+ <span class="hero-chip">Card</span>
16
+ <span class="hero-chip">+ more</span>
17
+ </div>
18
+ </div>
19
+ </section>
20
+
21
+ <section class="features-section">
22
+ <div class="section-header">
23
+ <p class="section-label">Why Slice.js</p>
24
+ <h2 class="section-title">Everything you need, nothing you don't</h2>
25
+ </div>
26
+ <div class="feature-grid"></div>
27
+ </section>
28
+
29
+ <section class="showcase-section">
30
+ <div class="section-header">
31
+ <p class="section-label">Component Showcase</p>
32
+ <h2 class="section-title">Ready-to-use components</h2>
33
+ </div>
34
+ <div class="showcase-grid"></div>
35
+ </section>
36
+
37
+ </div>
@@ -0,0 +1,210 @@
1
+ export default class HomePage extends HTMLElement {
2
+ constructor(props) {
3
+ super();
4
+ slice.attachTemplate(this);
5
+ slice.controller.setComponentProps(this, props);
6
+ this.debuggerProps = [];
7
+ }
8
+
9
+ async init() {
10
+ await Promise.all([
11
+ this._buildNavbar(),
12
+ this._buildHeroCta(),
13
+ this._buildFeatures(),
14
+ this._buildShowcase(),
15
+ ]);
16
+ }
17
+
18
+ async _buildNavbar() {
19
+ const navbar = await slice.build('Navbar', {
20
+ position: 'fixed',
21
+ logo: {
22
+ src: '/images/Slice.js-logo.png',
23
+ path: '/',
24
+ },
25
+ items: [
26
+ { text: 'Home', path: '/' },
27
+ { text: 'Playground', path: '/Playground' },
28
+ ],
29
+ buttons: [
30
+ {
31
+ value: 'Change Theme',
32
+ onClickCallback: async () => {
33
+ const current = slice.stylesManager.themeManager.currentTheme;
34
+ const next = current === 'Slice' ? 'Light'
35
+ : current === 'Light' ? 'Dark'
36
+ : 'Slice';
37
+ await slice.setTheme(next);
38
+ },
39
+ },
40
+ ],
41
+ });
42
+ this.insertBefore(navbar, this.firstChild);
43
+ }
44
+
45
+ async _buildHeroCta() {
46
+ const docsBtn = await slice.build('Button', {
47
+ value: 'Documentation',
48
+ onClickCallback: () =>
49
+ window.open('https://slice-js-docs.vercel.app/Documentation', '_blank'),
50
+ customColor: {
51
+ button: 'var(--primary-color)',
52
+ label: 'var(--primary-color-contrast)',
53
+ },
54
+ });
55
+
56
+ const componentsBtn = await slice.build('Button', {
57
+ value: 'Components Library',
58
+ onClickCallback: () =>
59
+ window.open('https://slice-js-docs.vercel.app/Documentation/Visual', '_blank'),
60
+ customColor: {
61
+ button: 'var(--secondary-background-color)',
62
+ label: 'var(--primary-color)',
63
+ },
64
+ });
65
+
66
+ const cta = this.querySelector('.hero-cta');
67
+ cta.appendChild(docsBtn);
68
+ cta.appendChild(componentsBtn);
69
+ }
70
+
71
+ async _buildFeatures() {
72
+ const features = [
73
+ {
74
+ title: 'Component-Based',
75
+ description: 'Build your app using modular, reusable components following web standards.',
76
+ },
77
+ {
78
+ title: 'Themeable',
79
+ description: 'Swap themes at runtime. Ships with Slice, Light, Dark and more.',
80
+ },
81
+ {
82
+ title: 'Lightweight',
83
+ description: 'No heavy runtime. Just vanilla JavaScript and web standards.',
84
+ },
85
+ {
86
+ title: 'Built-in Router',
87
+ description: 'Client-side routing with MultiRoute — no extra libraries needed.',
88
+ },
89
+ {
90
+ title: 'CLI Tools',
91
+ description: 'Scaffold projects, create components and build bundles from the command line.',
92
+ },
93
+ {
94
+ title: 'Services',
95
+ description: 'Built-in FetchManager, LocalStorage and IndexedDB integrations.',
96
+ },
97
+ ];
98
+
99
+ const grid = this.querySelector('.feature-grid');
100
+ for (const { title, description } of features) {
101
+ const item = document.createElement('div');
102
+ item.classList.add('feature-item');
103
+
104
+ const h3 = document.createElement('h3');
105
+ h3.classList.add('feature-title');
106
+ h3.textContent = title;
107
+
108
+ const p = document.createElement('p');
109
+ p.classList.add('feature-description');
110
+ p.textContent = description;
111
+
112
+ item.appendChild(h3);
113
+ item.appendChild(p);
114
+ grid.appendChild(item);
115
+ }
116
+ }
117
+
118
+ async _buildShowcase() {
119
+ const grid = this.querySelector('.showcase-grid');
120
+
121
+ // Helper: wrap built components in a labeled card and append to grid
122
+ const addCard = (label, ...components) => {
123
+ const card = document.createElement('div');
124
+ card.classList.add('comp-card');
125
+
126
+ const labelEl = document.createElement('p');
127
+ labelEl.classList.add('comp-label');
128
+ labelEl.textContent = label;
129
+
130
+ const demo = document.createElement('div');
131
+ demo.classList.add('comp-demo');
132
+ components.forEach(c => demo.appendChild(c));
133
+
134
+ card.appendChild(labelEl);
135
+ card.appendChild(demo);
136
+ grid.appendChild(card);
137
+ };
138
+
139
+ // Button — primary + secondary variants
140
+ const [btnPrimary, btnSecondary] = await Promise.all([
141
+ slice.build('Button', {
142
+ value: 'Primary',
143
+ onClickCallback: () => {},
144
+ customColor: {
145
+ button: 'var(--primary-color)',
146
+ label: 'var(--primary-color-contrast)',
147
+ },
148
+ }),
149
+ slice.build('Button', {
150
+ value: 'Secondary',
151
+ onClickCallback: () => {},
152
+ customColor: {
153
+ button: 'var(--secondary-background-color)',
154
+ label: 'var(--primary-color)',
155
+ },
156
+ }),
157
+ ]);
158
+ addCard('Button', btnPrimary, btnSecondary);
159
+
160
+ // Input
161
+ const input = await slice.build('Input', {
162
+ placeholder: 'Type something...',
163
+ type: 'text',
164
+ });
165
+ addCard('Input', input);
166
+
167
+ // Switch
168
+ const sw = await slice.build('Switch', {
169
+ label: 'Toggle me',
170
+ checked: true,
171
+ });
172
+ addCard('Switch', sw);
173
+
174
+ // Select — theme chooser
175
+ const themeOptions = [
176
+ { name: 'Slice Theme' },
177
+ { name: 'Light Theme' },
178
+ { name: 'Dark Theme' },
179
+ { name: 'Purple Theme' },
180
+ ];
181
+ const select = await slice.build('Select', {
182
+ label: 'Pick a theme',
183
+ options: themeOptions,
184
+ visibleProp: 'name',
185
+ onOptionSelect: async (option) => {
186
+ if (!option) return;
187
+ const themeName = option.name.replace(' Theme', '');
188
+ await slice.setTheme(themeName);
189
+ },
190
+ });
191
+ addCard('Select', select);
192
+
193
+ // Loading — triggered by a demo button (Loading appends to document.body)
194
+ const loading = await slice.build('Loading', {});
195
+ const demoBtn = await slice.build('Button', {
196
+ value: 'Demo Loading',
197
+ onClickCallback: () => {
198
+ loading.start();
199
+ setTimeout(() => loading.stop(), 1500);
200
+ },
201
+ customColor: {
202
+ button: 'var(--primary-color)',
203
+ label: 'var(--primary-color-contrast)',
204
+ },
205
+ });
206
+ addCard('Loading', demoBtn);
207
+ }
208
+ }
209
+
210
+ customElements.define('slice-home-page', HomePage);
@@ -0,0 +1,12 @@
1
+ .indexGrid {
2
+ display: grid;
3
+ grid-template-columns: repeat(3, 1fr);
4
+ grid-template-rows: repeat(1, 1fr);
5
+ gap: 10px;
6
+ margin: 0 auto;
7
+ }
8
+ .indexGridItem {
9
+ display: flex;
10
+ align-items: center;
11
+ justify-content: center;
12
+ }