slicejs-web-framework 1.0.19 → 1.0.21

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 (82) hide show
  1. package/Slice/Components/Structural/Debugger/Debugger.js +3 -3
  2. package/Slice/Slice.js +2 -1
  3. package/package.json +1 -1
  4. package/src/Components/AppComponents/HomePage/HomePage.css +203 -0
  5. package/src/Components/AppComponents/HomePage/HomePage.html +49 -0
  6. package/src/Components/AppComponents/HomePage/HomePage.js +196 -0
  7. package/src/Components/AppComponents/Playground/Playground.js +0 -15
  8. package/src/Components/components.js +2 -24
  9. package/src/routes.js +4 -86
  10. package/src/sliceConfig.json +0 -3
  11. package/src/Components/AppComponents/ButtonDocumentation/ButtonDocumentation.css +0 -16
  12. package/src/Components/AppComponents/ButtonDocumentation/ButtonDocumentation.html +0 -22
  13. package/src/Components/AppComponents/ButtonDocumentation/ButtonDocumentation.js +0 -102
  14. package/src/Components/AppComponents/CardDocumentation/CardDocumentation.css +0 -15
  15. package/src/Components/AppComponents/CardDocumentation/CardDocumentation.html +0 -38
  16. package/src/Components/AppComponents/CardDocumentation/CardDocumentation.js +0 -113
  17. package/src/Components/AppComponents/CheckboxDocumentation/CheckboxDocumentation.css +0 -21
  18. package/src/Components/AppComponents/CheckboxDocumentation/CheckboxDocumentation.html +0 -35
  19. package/src/Components/AppComponents/CheckboxDocumentation/CheckboxDocumentation.js +0 -103
  20. package/src/Components/AppComponents/Documentation/Documentation.css +0 -0
  21. package/src/Components/AppComponents/Documentation/Documentation.html +0 -30
  22. package/src/Components/AppComponents/Documentation/Documentation.js +0 -75
  23. package/src/Components/AppComponents/DocumentationPage/DocumentationPage.css +0 -62
  24. package/src/Components/AppComponents/DocumentationPage/DocumentationPage.html +0 -0
  25. package/src/Components/AppComponents/DocumentationPage/DocumentationPage.js +0 -283
  26. package/src/Components/AppComponents/InputDocumentation/InputDocumentation.css +0 -41
  27. package/src/Components/AppComponents/InputDocumentation/InputDocumentation.html +0 -95
  28. package/src/Components/AppComponents/InputDocumentation/InputDocumentation.js +0 -315
  29. package/src/Components/AppComponents/Installation/Installation.css +0 -185
  30. package/src/Components/AppComponents/Installation/Installation.html +0 -102
  31. package/src/Components/AppComponents/Installation/Installation.js +0 -61
  32. package/src/Components/AppComponents/LandingMenu/LandingMenu.css +0 -108
  33. package/src/Components/AppComponents/LandingMenu/LandingMenu.html +0 -16
  34. package/src/Components/AppComponents/LandingMenu/LandingMenu.js +0 -33
  35. package/src/Components/AppComponents/LandingPage/LandingPage.css +0 -14
  36. package/src/Components/AppComponents/LandingPage/LandingPage.html +0 -0
  37. package/src/Components/AppComponents/LandingPage/LandingPage.js +0 -53
  38. package/src/Components/AppComponents/MainMenu/MainMenu.css +0 -80
  39. package/src/Components/AppComponents/MainMenu/MainMenu.html +0 -39
  40. package/src/Components/AppComponents/MainMenu/MainMenu.js +0 -42
  41. package/src/Components/AppComponents/MyLayout/MyLayout.css +0 -0
  42. package/src/Components/AppComponents/MyLayout/MyLayout.html +0 -0
  43. package/src/Components/AppComponents/MyLayout/MyLayout.js +0 -13
  44. package/src/Components/AppComponents/MyNavigation/MyNavigation.css +0 -49
  45. package/src/Components/AppComponents/MyNavigation/MyNavigation.html +0 -1
  46. package/src/Components/AppComponents/MyNavigation/MyNavigation.js +0 -60
  47. package/src/Components/AppComponents/RoutingDocumentation/RoutingDocumentation.css +0 -89
  48. package/src/Components/AppComponents/RoutingDocumentation/RoutingDocumentation.html +0 -108
  49. package/src/Components/AppComponents/RoutingDocumentation/RoutingDocumentation.js +0 -177
  50. package/src/Components/AppComponents/ServiceDocumentation/ServiceDocumentation.css +0 -82
  51. package/src/Components/AppComponents/ServiceDocumentation/ServiceDocumentation.html +0 -74
  52. package/src/Components/AppComponents/ServiceDocumentation/ServiceDocumentation.js +0 -416
  53. package/src/Components/AppComponents/SliceStylesDocumentation/SliceStylesDocumentation.css +0 -56
  54. package/src/Components/AppComponents/SliceStylesDocumentation/SliceStylesDocumentation.html +0 -28
  55. package/src/Components/AppComponents/SliceStylesDocumentation/SliceStylesDocumentation.js +0 -134
  56. package/src/Components/AppComponents/SliceTeamCard/SliceTeamCard.css +0 -104
  57. package/src/Components/AppComponents/SliceTeamCard/SliceTeamCard.html +0 -12
  58. package/src/Components/AppComponents/SliceTeamCard/SliceTeamCard.js +0 -74
  59. package/src/Components/AppComponents/StructuralDocumentation/StructuralDocumentation.css +0 -72
  60. package/src/Components/AppComponents/StructuralDocumentation/StructuralDocumentation.html +0 -98
  61. package/src/Components/AppComponents/StructuralDocumentation/StructuralDocumentation.js +0 -219
  62. package/src/Components/AppComponents/SwitchDocumentation/SwitchDocumentation.css +0 -21
  63. package/src/Components/AppComponents/SwitchDocumentation/SwitchDocumentation.html +0 -35
  64. package/src/Components/AppComponents/SwitchDocumentation/SwitchDocumentation.js +0 -103
  65. package/src/Components/AppComponents/TheBuildMethod/TheBuildMethod.css +0 -296
  66. package/src/Components/AppComponents/TheBuildMethod/TheBuildMethod.html +0 -89
  67. package/src/Components/AppComponents/TheBuildMethod/TheBuildMethod.js +0 -86
  68. package/src/Components/AppComponents/TheSliceTeam/TheSliceTeam.css +0 -208
  69. package/src/Components/AppComponents/TheSliceTeam/TheSliceTeam.html +0 -18
  70. package/src/Components/AppComponents/TheSliceTeam/TheSliceTeam.js +0 -111
  71. package/src/Components/AppComponents/ThemesDocumentation/ThemesDocumentation.css +0 -61
  72. package/src/Components/AppComponents/ThemesDocumentation/ThemesDocumentation.html +0 -80
  73. package/src/Components/AppComponents/ThemesDocumentation/ThemesDocumentation.js +0 -149
  74. package/src/Components/AppComponents/VisualDocumentation/VisualDocumentation.css +0 -70
  75. package/src/Components/AppComponents/VisualDocumentation/VisualDocumentation.html +0 -67
  76. package/src/Components/AppComponents/VisualDocumentation/VisualDocumentation.js +0 -193
  77. package/src/Components/AppComponents/WhatIsSlice/WhatIsSlice.css +0 -475
  78. package/src/Components/AppComponents/WhatIsSlice/WhatIsSlice.html +0 -389
  79. package/src/Components/AppComponents/WhatIsSlice/WhatIsSlice.js +0 -95
  80. /package/src/Components/{AppComponents → Visual}/CodeVisualizer/CodeVisualizer.css +0 -0
  81. /package/src/Components/{AppComponents → Visual}/CodeVisualizer/CodeVisualizer.html +0 -0
  82. /package/src/Components/{AppComponents → Visual}/CodeVisualizer/CodeVisualizer.js +0 -0
@@ -1,283 +0,0 @@
1
- export default class DocumentationPage extends HTMLElement {
2
- constructor(props) {
3
- super();
4
- slice.attachTemplate(this);
5
-
6
- slice.controller.setComponentProps(this, props);
7
- this.debuggerProps = [];
8
- }
9
-
10
- async init() {
11
- // Centralizar las rutas de documentación
12
- const routesConfig = {
13
- introduction: {
14
- title: 'Introduction',
15
- items: [
16
- {
17
- title: 'What is Slice.js?',
18
- path: '/Documentation/Slice',
19
- component: 'WhatIsSlice'
20
- },
21
- {
22
- title: 'Installation',
23
- path: '/Documentation/Installation',
24
- component: 'Installation'
25
- }
26
- ]
27
- },
28
- gettingStarted: {
29
- title: 'Getting Started',
30
- items: [
31
- {
32
- title: 'Components',
33
- items: [
34
- {
35
- title: 'The build method',
36
- path: '/Documentation/The-build-method',
37
- component: 'TheBuildMethod'
38
- },
39
- {
40
- title: 'Visual',
41
- path: '/Documentation/Visual',
42
- component: 'VisualDocumentation'
43
- },
44
- {
45
- title: 'Structural',
46
- path: '/Documentation/Structural',
47
- component: 'StructuralDocumentation'
48
- },
49
- {
50
- title: 'Services',
51
- path: '/Documentation/Service',
52
- component: 'ServiceDocumentation'
53
- },
54
- {
55
- title: 'Lifecycle methods',
56
- path: '/Documentation/Lifecycle-methods',
57
- component: 'LifecycleMethods'
58
- }
59
- ]
60
- },
61
- {
62
- title: 'Routing',
63
- path: '/Documentation/Routing',
64
- component: 'RoutingDocumentation'
65
- },
66
- {
67
- title: 'Themes',
68
- path: '/Documentation/Themes',
69
- component: 'ThemesDocumentation'
70
- },
71
- {
72
- title: 'Slice Styles',
73
- path: '/Documentation/Slice-Styles',
74
- component: 'SliceStylesDocumentation'
75
- }
76
- ]
77
- },
78
- componentsLibrary: {
79
- title: 'Components Library',
80
- items: [
81
- /* {
82
- title: 'Services',
83
- items: [
84
- {
85
- title: 'FetchManager',
86
- path: '/Documentation/SliceComponents/FetchManager'
87
- }
88
- ]
89
- },*/
90
- {
91
- title: 'Visual',
92
- path: '/Documentation/Visual',
93
- items: [
94
- { title: 'Button', path: '/Documentation/Components/Visual/Button', component: 'ButtonDocumentation' },
95
- { title: 'Card', path: '/Documentation/Components/Visual/Card', component: 'CardDocumentation' },
96
- { title: 'Checkbox', path: '/Documentation/Components/Visual/Checkbox', component: 'CheckboxDocumentation' },
97
- { title: 'Input', path: '/Documentation/Components/Visual/Input', component: 'InputDocumentation' },
98
- { title: 'Switch', path: '/Documentation/Components/Visual/Switch', component: 'SwitchDocumentation' }
99
- ]
100
- }
101
- ]
102
- },
103
- defaultRoute: {
104
- path: '/Documentation',
105
- component: 'Documentation'
106
- }
107
- };
108
-
109
- const navBar = await slice.build('Navbar', {
110
- position: 'fixed',
111
- logo: {
112
- src: '/images/Slice.js-logo.png',
113
- path: '/',
114
- },
115
- items: [
116
- { text: 'Home', path: '/' },
117
- { text: 'Documentation', path: '/Documentation' },
118
- { text: 'Playground', path: '/Playground' },
119
- { text: 'Our Team', path: '/Team' }
120
- ],
121
- buttons: [
122
- {
123
- value: 'Change Theme',
124
- onClickCallback: async () => {
125
- let theme = slice.stylesManager.themeManager.currentTheme;
126
- if (theme === 'Slice') {
127
- await slice.setTheme('Light');
128
- theme = 'Light';
129
- } else if (theme === 'Light') {
130
- await slice.setTheme('Dark');
131
- theme = 'Dark';
132
- } else if (theme === 'Dark') {
133
- await slice.setTheme('Slice');
134
- theme = 'Slice';
135
- }
136
- },
137
- },
138
- ],
139
- });
140
-
141
- // Función para extraer todas las rutas para MultiRoute
142
- const getAllRoutes = (routesObj) => {
143
- const allRoutes = [];
144
-
145
- const processItems = (items) => {
146
- if (!items) return;
147
-
148
- items.forEach(item => {
149
- if (item.path && item.component) {
150
- allRoutes.push({
151
- path: item.path,
152
- component: item.component
153
- });
154
- }
155
-
156
- if (item.items) {
157
- processItems(item.items);
158
- }
159
- });
160
- };
161
-
162
- // Procesar cada sección principal
163
- Object.values(routesObj).forEach(section => {
164
- if (section.path && section.component) {
165
- allRoutes.push({
166
- path: section.path,
167
- component: section.component
168
- });
169
- }
170
-
171
- if (section.items) {
172
- processItems(section.items);
173
- }
174
- });
175
-
176
- return allRoutes;
177
- };
178
-
179
- // Función para convertir el config de rutas al formato del TreeView
180
- const createTreeViewItems = (routesConfig) => {
181
- return [
182
- {
183
- value: routesConfig.introduction.title,
184
- items: routesConfig.introduction.items.map(item => ({
185
- value: item.title,
186
- path: item.path,
187
- component: item.component
188
- }))
189
- },
190
- {
191
- value: routesConfig.gettingStarted.title,
192
- items: routesConfig.gettingStarted.items.map(item => {
193
- if (item.items) {
194
- return {
195
- value: item.title,
196
- items: item.items.map(subItem => ({
197
- value: subItem.title,
198
- path: subItem.path,
199
- component: subItem.component
200
- }))
201
- };
202
- }
203
- return {
204
- value: item.title,
205
- path: item.path,
206
- component: item.component
207
- };
208
- })
209
- },
210
- {
211
- value: routesConfig.componentsLibrary.title,
212
- items: routesConfig.componentsLibrary.items.map(item => {
213
- if (item.items) {
214
- return {
215
- value: item.title,
216
- items: item.items.map(subItem => ({
217
- value: subItem.title,
218
- path: subItem.path,
219
- component: subItem.component
220
- }))
221
- };
222
- }
223
- return {
224
- value: item.title,
225
- path: item.path,
226
- component: item.component
227
- };
228
- })
229
- }
230
- ];
231
- };
232
-
233
- // Obtener todas las rutas planas para el MultiRoute
234
- const multiRouteItems = getAllRoutes(routesConfig);
235
-
236
- // Asegurarse que la ruta por defecto esté incluida
237
- if (!multiRouteItems.some(route => route.path === routesConfig.defaultRoute.path)) {
238
- multiRouteItems.push(routesConfig.defaultRoute);
239
- }
240
-
241
- console.log('MultiRoute items:', multiRouteItems);
242
-
243
- // Crear el MultiRoute con todas las rutas
244
- const VisualComponentsMultiRoute = await slice.build('MultiRoute', {
245
- routes: multiRouteItems
246
- });
247
-
248
- // Crear el TreeView con la estructura jerárquica
249
- const treeviewItems = createTreeViewItems(routesConfig);
250
- const treeview = await slice.build('TreeView', {
251
- items: treeviewItems,
252
- onClickCallback: async (item) => {
253
- if (item.path) {
254
- await slice.router.navigate(item.path);
255
- myNavigation.page = VisualComponentsMultiRoute;
256
- }
257
- },
258
- });
259
-
260
- const mainMenu = await slice.build('MainMenu', {});
261
- mainMenu.add(treeview);
262
-
263
- const myNavigation = await slice.build('MyNavigation', {
264
- page: VisualComponentsMultiRoute,
265
- });
266
-
267
- const layOut = await slice.build('Layout', {
268
- view: VisualComponentsMultiRoute,
269
- });
270
-
271
- layOut.onLayOut(mainMenu);
272
- layOut.onLayOut(navBar);
273
- layOut.onLayOut(myNavigation);
274
-
275
- if (window.location.pathname === '/Documentation') {
276
- await VisualComponentsMultiRoute.renderIfCurrentRoute();
277
- }
278
-
279
- this.appendChild(layOut);
280
- }
281
- }
282
-
283
- customElements.define('slice-documentation-page', DocumentationPage);
@@ -1,41 +0,0 @@
1
- .inputs {
2
- display: flex;
3
- justify-content: center;
4
- width: 100%;
5
- }
6
- .typeText,
7
- .typeNumber {
8
- width: 100%;
9
- }
10
- .inputGrid {
11
- display: grid;
12
- grid-template-columns: repeat(2, 1fr);
13
- grid-template-rows: repeat(1, 1fr);
14
- gap: 10px;
15
- }
16
- ul li::marker,
17
- ul span {
18
- color: var(--primary-color);
19
- }
20
- .validateConditions {
21
- width: 100%;
22
- display: flex;
23
- flex-direction: row;
24
- justify-content: center;
25
- align-items: center;
26
- }
27
- .inputButtons {
28
- display: flex;
29
- justify-content: center;
30
- slice-button {
31
- width: 100%;
32
- }
33
- }
34
- @media only screen and (max-width: 770px) {
35
- .inputs {
36
- width: 100%;
37
- }
38
- .inputGrid {
39
- display: block;
40
- }
41
- }
@@ -1,95 +0,0 @@
1
- <h1 id="sliceInput">Slice Input</h1>
2
- <div class="myInput">
3
- <p>
4
- A Slice Input is build with a type default prop of text, that can be used by
5
- to enter any data the user wants to.
6
- </p>
7
- </div>
8
- <h1 id="props">Props</h1>
9
- <div class="inputPlaceholder">
10
- <h2 id="placeholder">Placeholder</h2>
11
- <p></p>
12
- </div>
13
- <div class="requiredProp">
14
- <h2 id="required">Required Prop</h2>
15
- <p>The required prop triggers error if there is no value.</p>
16
- </div>
17
- <div class="disabledProp">
18
- <h2 id="disabled">Disabled Prop</h2>
19
- <p>The disabled prop cancels all kind of interaction with the input.</p>
20
- </div>
21
- <h1 id="types">Types</h1>
22
- <div class="inputTypes">
23
- <div class="typeText">
24
- <h2 id="typeText">Text</h2>
25
- <p>
26
- As said before, the text type is the default type to a Slice Input. can be
27
- field with text, numbers, and symbols.
28
- </p>
29
- </div>
30
- <div class="typeNumber">
31
- <h2 id="typeText">Number</h2>
32
- <p>
33
- In text type an user can enter as much of text as numbers, but with number
34
- type it can only be enter numbers.
35
- </p>
36
- </div>
37
- <div class="password">
38
- <h2 id="password">Password & Secret Prop</h2>
39
- <p>
40
- The password type for a Slice Input automatically sets all the information
41
- into secret. With secret prop being true the data entered can be revealed
42
- at will by the user.
43
- </p>
44
- <div class="inputGrid">
45
- <div class="typePassword"></div>
46
- <div class="secretProp"></div>
47
- </div>
48
- </div>
49
- </div>
50
- <div class="emailType">
51
- <h2 id="typeEmail">Email</h2>
52
- <p>
53
- The very own HTML Input tag can verify if the data entered is a valid email.
54
- </p>
55
- </div>
56
- <div class="dateType">
57
- <h2 id="typeDate">Date</h2>
58
- <p>This type allows the user to enter a specific date of the calendar.</p>
59
- </div>
60
- <h1 id="conditions">Slice Input Conditions</h1>
61
- <div class="conditions">
62
- <p>
63
- The Slice Input cand have conditions set up by the developers. This is highly recomended for emails and passwords, but also can by used in the default text type.
64
- <ul>
65
- <li>regex <span>=</span> string <span>(optional)</span></li>
66
- <li>minLength <span>=</span> number <span>(optional)</span></li>
67
- <li>maxLength <span>=</span> number</li>
68
- <li>minMinusc <span>=</span> number <span>(optional)</span></li>
69
- <li>maxMinusc <span>=</span> number</li>
70
- <li>minMayusc <span>=</span> number <span>(optional)</span></li>
71
- <li>maxMayusc <span>=</span> number</li>
72
- <li>minNumber <span>=</span> number <span>(optional)</span></li>
73
- <li>maxNumber <span>=</span> number</li>
74
- <li>minSymbol <span>=</span> number <span>(optional)</span></li>
75
- <li>maxSymbol <span>=</span> number</li>
76
- </ul>
77
- The usage of "regex" makes the rest of conditions useless because it has to specify all conditions. Regex is only recomended for those who have the proper knowledge.
78
- </p>
79
- <div class="validateConditions"></div>
80
- <!-- <div class="inputGrid"> -->
81
- <div class="inputConditions"></div>
82
- <div class="inputRegex"></div>
83
- <!-- </div> -->
84
- </div>
85
- <h1 id="methods">Methods</h1>
86
- <div class="inputMethods">
87
- <p>The Slice Input has it's own methods to validate if the entered data match the conditions, to trigger error (and success), and to clear the input.
88
- <ul>
89
- <li>validateValue();</li>
90
- <li>clear();</li>
91
- <li>triggerError();</li>
92
- <li>triggerSuccess();</li>
93
- </ul>
94
- </p>
95
- </div>