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.
- package/Slice/Components/Structural/Debugger/Debugger.js +3 -3
- package/Slice/Slice.js +2 -1
- package/package.json +1 -1
- package/src/Components/AppComponents/HomePage/HomePage.css +203 -0
- package/src/Components/AppComponents/HomePage/HomePage.html +49 -0
- package/src/Components/AppComponents/HomePage/HomePage.js +196 -0
- package/src/Components/AppComponents/Playground/Playground.js +0 -15
- package/src/Components/components.js +2 -24
- package/src/routes.js +4 -86
- package/src/sliceConfig.json +0 -3
- package/src/Components/AppComponents/ButtonDocumentation/ButtonDocumentation.css +0 -16
- package/src/Components/AppComponents/ButtonDocumentation/ButtonDocumentation.html +0 -22
- package/src/Components/AppComponents/ButtonDocumentation/ButtonDocumentation.js +0 -102
- package/src/Components/AppComponents/CardDocumentation/CardDocumentation.css +0 -15
- package/src/Components/AppComponents/CardDocumentation/CardDocumentation.html +0 -38
- package/src/Components/AppComponents/CardDocumentation/CardDocumentation.js +0 -113
- package/src/Components/AppComponents/CheckboxDocumentation/CheckboxDocumentation.css +0 -21
- package/src/Components/AppComponents/CheckboxDocumentation/CheckboxDocumentation.html +0 -35
- package/src/Components/AppComponents/CheckboxDocumentation/CheckboxDocumentation.js +0 -103
- package/src/Components/AppComponents/Documentation/Documentation.css +0 -0
- package/src/Components/AppComponents/Documentation/Documentation.html +0 -30
- package/src/Components/AppComponents/Documentation/Documentation.js +0 -75
- package/src/Components/AppComponents/DocumentationPage/DocumentationPage.css +0 -62
- package/src/Components/AppComponents/DocumentationPage/DocumentationPage.html +0 -0
- package/src/Components/AppComponents/DocumentationPage/DocumentationPage.js +0 -283
- package/src/Components/AppComponents/InputDocumentation/InputDocumentation.css +0 -41
- package/src/Components/AppComponents/InputDocumentation/InputDocumentation.html +0 -95
- package/src/Components/AppComponents/InputDocumentation/InputDocumentation.js +0 -315
- package/src/Components/AppComponents/Installation/Installation.css +0 -185
- package/src/Components/AppComponents/Installation/Installation.html +0 -102
- package/src/Components/AppComponents/Installation/Installation.js +0 -61
- package/src/Components/AppComponents/LandingMenu/LandingMenu.css +0 -108
- package/src/Components/AppComponents/LandingMenu/LandingMenu.html +0 -16
- package/src/Components/AppComponents/LandingMenu/LandingMenu.js +0 -33
- package/src/Components/AppComponents/LandingPage/LandingPage.css +0 -14
- package/src/Components/AppComponents/LandingPage/LandingPage.html +0 -0
- package/src/Components/AppComponents/LandingPage/LandingPage.js +0 -53
- package/src/Components/AppComponents/MainMenu/MainMenu.css +0 -80
- package/src/Components/AppComponents/MainMenu/MainMenu.html +0 -39
- package/src/Components/AppComponents/MainMenu/MainMenu.js +0 -42
- package/src/Components/AppComponents/MyLayout/MyLayout.css +0 -0
- package/src/Components/AppComponents/MyLayout/MyLayout.html +0 -0
- package/src/Components/AppComponents/MyLayout/MyLayout.js +0 -13
- package/src/Components/AppComponents/MyNavigation/MyNavigation.css +0 -49
- package/src/Components/AppComponents/MyNavigation/MyNavigation.html +0 -1
- package/src/Components/AppComponents/MyNavigation/MyNavigation.js +0 -60
- package/src/Components/AppComponents/RoutingDocumentation/RoutingDocumentation.css +0 -89
- package/src/Components/AppComponents/RoutingDocumentation/RoutingDocumentation.html +0 -108
- package/src/Components/AppComponents/RoutingDocumentation/RoutingDocumentation.js +0 -177
- package/src/Components/AppComponents/ServiceDocumentation/ServiceDocumentation.css +0 -82
- package/src/Components/AppComponents/ServiceDocumentation/ServiceDocumentation.html +0 -74
- package/src/Components/AppComponents/ServiceDocumentation/ServiceDocumentation.js +0 -416
- package/src/Components/AppComponents/SliceStylesDocumentation/SliceStylesDocumentation.css +0 -56
- package/src/Components/AppComponents/SliceStylesDocumentation/SliceStylesDocumentation.html +0 -28
- package/src/Components/AppComponents/SliceStylesDocumentation/SliceStylesDocumentation.js +0 -134
- package/src/Components/AppComponents/SliceTeamCard/SliceTeamCard.css +0 -104
- package/src/Components/AppComponents/SliceTeamCard/SliceTeamCard.html +0 -12
- package/src/Components/AppComponents/SliceTeamCard/SliceTeamCard.js +0 -74
- package/src/Components/AppComponents/StructuralDocumentation/StructuralDocumentation.css +0 -72
- package/src/Components/AppComponents/StructuralDocumentation/StructuralDocumentation.html +0 -98
- package/src/Components/AppComponents/StructuralDocumentation/StructuralDocumentation.js +0 -219
- package/src/Components/AppComponents/SwitchDocumentation/SwitchDocumentation.css +0 -21
- package/src/Components/AppComponents/SwitchDocumentation/SwitchDocumentation.html +0 -35
- package/src/Components/AppComponents/SwitchDocumentation/SwitchDocumentation.js +0 -103
- package/src/Components/AppComponents/TheBuildMethod/TheBuildMethod.css +0 -296
- package/src/Components/AppComponents/TheBuildMethod/TheBuildMethod.html +0 -89
- package/src/Components/AppComponents/TheBuildMethod/TheBuildMethod.js +0 -86
- package/src/Components/AppComponents/TheSliceTeam/TheSliceTeam.css +0 -208
- package/src/Components/AppComponents/TheSliceTeam/TheSliceTeam.html +0 -18
- package/src/Components/AppComponents/TheSliceTeam/TheSliceTeam.js +0 -111
- package/src/Components/AppComponents/ThemesDocumentation/ThemesDocumentation.css +0 -61
- package/src/Components/AppComponents/ThemesDocumentation/ThemesDocumentation.html +0 -80
- package/src/Components/AppComponents/ThemesDocumentation/ThemesDocumentation.js +0 -149
- package/src/Components/AppComponents/VisualDocumentation/VisualDocumentation.css +0 -70
- package/src/Components/AppComponents/VisualDocumentation/VisualDocumentation.html +0 -67
- package/src/Components/AppComponents/VisualDocumentation/VisualDocumentation.js +0 -193
- package/src/Components/AppComponents/WhatIsSlice/WhatIsSlice.css +0 -475
- package/src/Components/AppComponents/WhatIsSlice/WhatIsSlice.html +0 -389
- package/src/Components/AppComponents/WhatIsSlice/WhatIsSlice.js +0 -95
- /package/src/Components/{AppComponents → Visual}/CodeVisualizer/CodeVisualizer.css +0 -0
- /package/src/Components/{AppComponents → Visual}/CodeVisualizer/CodeVisualizer.html +0 -0
- /package/src/Components/{AppComponents → Visual}/CodeVisualizer/CodeVisualizer.js +0 -0
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
slice-landing-menu {
|
|
2
|
-
h1 {
|
|
3
|
-
z-index: 0;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
h2{
|
|
7
|
-
color: var(--font-primary-color);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.sliceLogo {
|
|
11
|
-
position: absolute;
|
|
12
|
-
z-index: -1;
|
|
13
|
-
}
|
|
14
|
-
.intro {
|
|
15
|
-
height: 85vh;
|
|
16
|
-
position: relative;
|
|
17
|
-
display: flex;
|
|
18
|
-
align-items: center;
|
|
19
|
-
justify-content: center;
|
|
20
|
-
}
|
|
21
|
-
.intro h1 {
|
|
22
|
-
/* font-family: "Ubuntu", sans-serif; */
|
|
23
|
-
font-weight: bold;
|
|
24
|
-
font-style: normal;
|
|
25
|
-
color: var(--font-primary-color);
|
|
26
|
-
animation: fade-in 3s ease;
|
|
27
|
-
text-shadow: black 1px 0 100px;
|
|
28
|
-
}
|
|
29
|
-
.intro .sliceLogo {
|
|
30
|
-
opacity: 0.75;
|
|
31
|
-
color: var(--primary-color);
|
|
32
|
-
animation: fade-in-logo 5s ease, beat 10s ease infinite 5s;
|
|
33
|
-
}
|
|
34
|
-
.info {
|
|
35
|
-
bottom: 0;
|
|
36
|
-
position: absolute;
|
|
37
|
-
display: flex;
|
|
38
|
-
flex-direction: column;
|
|
39
|
-
align-items: center;
|
|
40
|
-
}
|
|
41
|
-
.info p a {
|
|
42
|
-
color: var(--primary-color);
|
|
43
|
-
text-decoration: none;
|
|
44
|
-
transition: all 0.3s ease;
|
|
45
|
-
}
|
|
46
|
-
.info p a:hover {
|
|
47
|
-
text-shadow: white 1px 0 10px;
|
|
48
|
-
text-decoration: underline;
|
|
49
|
-
}
|
|
50
|
-
.goToDocs {
|
|
51
|
-
margin-top: 50px;
|
|
52
|
-
color: var(--font-primary-color);
|
|
53
|
-
}
|
|
54
|
-
.goToDocs p {
|
|
55
|
-
text-align: justify;
|
|
56
|
-
}
|
|
57
|
-
@media screen and (min-width: 770px) {
|
|
58
|
-
.goToDocs {
|
|
59
|
-
padding-left: 30%;
|
|
60
|
-
padding-right: 30%;
|
|
61
|
-
}
|
|
62
|
-
h1 {
|
|
63
|
-
font-size: 100px;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
@media screen and (max-width: 770px) {
|
|
68
|
-
.goToDocs {
|
|
69
|
-
padding: 10px;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
.info {
|
|
73
|
-
bottom: 20;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
@keyframes fade-in {
|
|
79
|
-
0% {
|
|
80
|
-
opacity: 0;
|
|
81
|
-
scale: 0.5;
|
|
82
|
-
}
|
|
83
|
-
100% {
|
|
84
|
-
opacity: 1;
|
|
85
|
-
scale: 1;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
@keyframes fade-in-logo {
|
|
89
|
-
0% {
|
|
90
|
-
opacity: 0;
|
|
91
|
-
scale: 0.5;
|
|
92
|
-
}
|
|
93
|
-
100% {
|
|
94
|
-
opacity: 0.75;
|
|
95
|
-
scale: 1;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
@keyframes beat {
|
|
99
|
-
0% {
|
|
100
|
-
scale: 1;
|
|
101
|
-
}
|
|
102
|
-
50% {
|
|
103
|
-
scale: 0.9;
|
|
104
|
-
}
|
|
105
|
-
100% {
|
|
106
|
-
scale: 1;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<div class="intro">
|
|
2
|
-
<h1>Slice Framework</h1>
|
|
3
|
-
<div class="info">
|
|
4
|
-
<h2 style="text-align: center; padding-top: 10px;">Slice.js: Build Your Web App One Slice at a Time.</h2>
|
|
5
|
-
</div>
|
|
6
|
-
</div>
|
|
7
|
-
<div class="goToDocs">
|
|
8
|
-
<p>
|
|
9
|
-
Introducing Slice.js, a revolutionary frontend framework built on modern web standards and powered by the simplicity of vanilla JavaScript.
|
|
10
|
-
With its modular, component-based architecture, Slice.js streamlines web development, enabling developers who know the core technologies—HTML, CSS, and JavaScript—to build robust, well-organized web applications with ease.
|
|
11
|
-
</p>
|
|
12
|
-
<p>
|
|
13
|
-
Dive into our comprehensive documentation to learn how Slice.js leverages native web components and a clean,
|
|
14
|
-
standards-based syntax to simplify your workflow.
|
|
15
|
-
</p>
|
|
16
|
-
</div>
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export default class LandingMenu 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
|
-
let logoSize = '500px';
|
|
12
|
-
if (window.screen.width <= 770) {
|
|
13
|
-
logoSize = '300px';
|
|
14
|
-
}
|
|
15
|
-
const sliceLogo = await slice.build('Icon', {
|
|
16
|
-
name: 'sliceJs',
|
|
17
|
-
size: logoSize,
|
|
18
|
-
color: 'var(--font-primary-color)',
|
|
19
|
-
iconStyle: 'filled',
|
|
20
|
-
});
|
|
21
|
-
sliceLogo.classList.add('sliceLogo');
|
|
22
|
-
this.querySelector('.intro').appendChild(sliceLogo);
|
|
23
|
-
const goToDocs = await slice.build('Button', {
|
|
24
|
-
value: 'Go to Documentation',
|
|
25
|
-
onClickCallback: async () => {
|
|
26
|
-
await slice.router.navigate('/Documentation');
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
this.querySelector('.goToDocs').appendChild(goToDocs);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
customElements.define('slice-landing-menu', LandingMenu);
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
slice-landingpage slice-layout {
|
|
2
|
-
display: flex;
|
|
3
|
-
flex-direction: column;
|
|
4
|
-
justify-content: center;
|
|
5
|
-
}
|
|
6
|
-
.landing_page {
|
|
7
|
-
font-family: var(--font-family);
|
|
8
|
-
color: var(--font-primary-color);
|
|
9
|
-
overflow-y: scroll;
|
|
10
|
-
overflow-x: hidden;
|
|
11
|
-
padding-left: 10px;
|
|
12
|
-
padding-right: 10px;
|
|
13
|
-
padding-bottom: 25px;
|
|
14
|
-
}
|
|
File without changes
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
export default class LandingPage 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
|
-
const div = document.createElement('div');
|
|
12
|
-
let theme = slice.stylesManager.themeManager.currentTheme;
|
|
13
|
-
|
|
14
|
-
const navBar = await slice.build('Navbar', {
|
|
15
|
-
logo: {
|
|
16
|
-
src: '/images/Slice.js-logo.png',
|
|
17
|
-
path: '',
|
|
18
|
-
},
|
|
19
|
-
buttons: [
|
|
20
|
-
{
|
|
21
|
-
value: 'Change Theme',
|
|
22
|
-
onClickCallback: async () => {
|
|
23
|
-
if (theme === 'Slice') {
|
|
24
|
-
await slice.setTheme('Light');
|
|
25
|
-
theme = 'Light';
|
|
26
|
-
} else if (theme === 'Light') {
|
|
27
|
-
await slice.setTheme('Dark');
|
|
28
|
-
theme = 'Dark';
|
|
29
|
-
} else if (theme === 'Dark') {
|
|
30
|
-
await slice.setTheme('Slice');
|
|
31
|
-
theme = 'Slice';
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
],
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
div.appendChild(navBar);
|
|
39
|
-
const divView = document.createElement('div');
|
|
40
|
-
divView.classList.add('landing_page');
|
|
41
|
-
|
|
42
|
-
const landingMenu = await slice.build('LandingMenu', {});
|
|
43
|
-
divView.appendChild(landingMenu);
|
|
44
|
-
const layOut = await slice.build('Layout', {
|
|
45
|
-
layout: div,
|
|
46
|
-
view: divView,
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
this.appendChild(layOut);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
customElements.define('slice-landingpage', LandingPage);
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
slice-mainmenu {
|
|
2
|
-
position: fixed;
|
|
3
|
-
top: 0;
|
|
4
|
-
left: 0;
|
|
5
|
-
font-family: var(--font-family);
|
|
6
|
-
background-color: var(--primary-background-color);
|
|
7
|
-
border-right: 1px solid var(--primary-color-shade);
|
|
8
|
-
display: flex;
|
|
9
|
-
align-items: flex-start;
|
|
10
|
-
height: 100%;
|
|
11
|
-
width: 17%;
|
|
12
|
-
transition: transform 0.3s ease, width 0.3s ease;
|
|
13
|
-
overflow-x: hidden;
|
|
14
|
-
}
|
|
15
|
-
.slice_menu {
|
|
16
|
-
margin-top: 175px;
|
|
17
|
-
width: 100%;
|
|
18
|
-
height: 100%;
|
|
19
|
-
overflow-y: scroll;
|
|
20
|
-
overflow-x: hidden;
|
|
21
|
-
padding: 10px;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.slice_menu_button {
|
|
25
|
-
position: fixed;
|
|
26
|
-
top: 0;
|
|
27
|
-
left: 0;
|
|
28
|
-
visibility: hidden;
|
|
29
|
-
width: min-content;
|
|
30
|
-
cursor: pointer;
|
|
31
|
-
padding: 20px;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.menu_title {
|
|
35
|
-
visibility: hidden;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.slice_close_menu {
|
|
39
|
-
visibility: hidden;
|
|
40
|
-
position: absolute;
|
|
41
|
-
padding: 20px;
|
|
42
|
-
top: 0;
|
|
43
|
-
right: 0;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
slice-treeview .simple_treeview::-webkit-scrollbar,
|
|
47
|
-
slice-mainmenu::-webkit-scrollbar {
|
|
48
|
-
width: 0px;
|
|
49
|
-
}
|
|
50
|
-
slice-treeview .simple_treeview::-webkit-scrollbar:horizontal,
|
|
51
|
-
slice-mainmenu::-webkit-scrollbar:horizontal {
|
|
52
|
-
height: 0px;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
@media only screen and (max-width: 770px) {
|
|
56
|
-
slice-mainmenu {
|
|
57
|
-
top: 0px;
|
|
58
|
-
position: fixed;
|
|
59
|
-
z-index: 100000;
|
|
60
|
-
display: flex;
|
|
61
|
-
width: 0%;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.slice_menu_button {
|
|
65
|
-
right: 100%;
|
|
66
|
-
visibility: visible;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.menu_title {
|
|
70
|
-
visibility: visible;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.slice_menu_open {
|
|
74
|
-
width: 80%;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
.slice_close_menu {
|
|
78
|
-
visibility: visible;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<div class="slice_menu_button">
|
|
2
|
-
<svg
|
|
3
|
-
class="w-6 h-6 text-gray-800 dark:text-white"
|
|
4
|
-
aria-hidden="true"
|
|
5
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
6
|
-
width="24"
|
|
7
|
-
height="24"
|
|
8
|
-
fill="none"
|
|
9
|
-
viewBox="0 0 24 24"
|
|
10
|
-
>
|
|
11
|
-
<path
|
|
12
|
-
stroke="var(--primary-color-contrast)"
|
|
13
|
-
stroke-linecap="round"
|
|
14
|
-
stroke-width="2.3"
|
|
15
|
-
d="M5 7h14M5 12h14M5 17h14"
|
|
16
|
-
/>
|
|
17
|
-
</svg>
|
|
18
|
-
</div>
|
|
19
|
-
<div class="slice_menu">
|
|
20
|
-
<div class="slice_close_menu">
|
|
21
|
-
<svg
|
|
22
|
-
class="w-6 h-6 text-gray-800 dark:text-white"
|
|
23
|
-
aria-hidden="true"
|
|
24
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
25
|
-
width="24"
|
|
26
|
-
height="24"
|
|
27
|
-
fill="none"
|
|
28
|
-
viewBox="0 0 24 24"
|
|
29
|
-
>
|
|
30
|
-
<path
|
|
31
|
-
stroke="var(--primary-color)"
|
|
32
|
-
stroke-linecap="round"
|
|
33
|
-
stroke-linejoin="round"
|
|
34
|
-
stroke-width="2"
|
|
35
|
-
d="M6 18 17.94 6M18 18 6.06 6"
|
|
36
|
-
/>
|
|
37
|
-
</svg>
|
|
38
|
-
</div>
|
|
39
|
-
</div>
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
export default class MainMenu extends HTMLElement {
|
|
2
|
-
constructor(props) {
|
|
3
|
-
super();
|
|
4
|
-
slice.attachTemplate(this);
|
|
5
|
-
|
|
6
|
-
this.$menuButton = this.querySelector('.slice_menu_button');
|
|
7
|
-
this.$closeButton = this.querySelector('.slice_close_menu');
|
|
8
|
-
this.$menu = this.querySelector('.slice_menu');
|
|
9
|
-
|
|
10
|
-
this.$menuButton.addEventListener('click', () => {
|
|
11
|
-
this.handleOpenMenu();
|
|
12
|
-
});
|
|
13
|
-
this.$closeButton.addEventListener('click', () => {
|
|
14
|
-
this.handleCloseMenu();
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
slice.controller.setComponentProps(this, props);
|
|
18
|
-
this.debuggerProps = [];
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
init() {
|
|
22
|
-
this.addEventListener('mouseleave', () => {
|
|
23
|
-
if (this.querySelector('.slice_menu_open')) {
|
|
24
|
-
this.handleCloseMenu();
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
add(value) {
|
|
30
|
-
this.$menu.appendChild(value);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
handleOpenMenu() {
|
|
34
|
-
this.classList.add('slice_menu_open');
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
handleCloseMenu() {
|
|
38
|
-
this.classList.remove('slice_menu_open');
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
customElements.define('slice-mainmenu', MainMenu);
|
|
File without changes
|
|
File without changes
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export default class MyLayout extends HTMLElement {
|
|
2
|
-
constructor(props) {
|
|
3
|
-
super();
|
|
4
|
-
slice.attachTemplate(this);
|
|
5
|
-
|
|
6
|
-
slice.controller.setComponentProps(this, props);
|
|
7
|
-
this.debuggerProps = [];
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
init() {}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
customElements.define('slice-mylayout', MyLayout);
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
slice-mynavigation {
|
|
2
|
-
position: fixed;
|
|
3
|
-
top: 0;
|
|
4
|
-
right: 0;
|
|
5
|
-
font-family: var(--font-family);
|
|
6
|
-
background-color: var(--primary-background-color);
|
|
7
|
-
border-left: 1px solid var(--primary-color-shade);
|
|
8
|
-
display: flex;
|
|
9
|
-
align-items: flex-start;
|
|
10
|
-
height: 100%;
|
|
11
|
-
width: 17%;
|
|
12
|
-
transition: transform 0.3s ease, width 0.3s ease;
|
|
13
|
-
overflow-x: hidden;
|
|
14
|
-
}
|
|
15
|
-
.my_navigation {
|
|
16
|
-
display: flex;
|
|
17
|
-
flex-direction: column;
|
|
18
|
-
margin-top: 80px;
|
|
19
|
-
}
|
|
20
|
-
.my_navigation a {
|
|
21
|
-
padding: 10px;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@media only screen and (max-width: 770px) {
|
|
25
|
-
slice-mynavigation {
|
|
26
|
-
visibility: hidden;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
a[class^="nav-"] {
|
|
30
|
-
text-decoration: none;
|
|
31
|
-
color: var(--font-primary-color);
|
|
32
|
-
}
|
|
33
|
-
a[class^="nav-"]:hover{
|
|
34
|
-
color: var(--primary-color);
|
|
35
|
-
}
|
|
36
|
-
a[class$="1"] {
|
|
37
|
-
font-weight: 700;
|
|
38
|
-
margin-left: 0%;
|
|
39
|
-
}
|
|
40
|
-
a[class$="2"] {
|
|
41
|
-
margin-left: 5%;
|
|
42
|
-
}
|
|
43
|
-
a[class$="3"] {
|
|
44
|
-
margin-left: 10%;
|
|
45
|
-
}
|
|
46
|
-
a[class$="4"] {
|
|
47
|
-
margin-left: 15%;
|
|
48
|
-
}
|
|
49
|
-
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<div class="my_navigation"></div>
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
export default class MyNavigation extends HTMLElement {
|
|
2
|
-
constructor(props) {
|
|
3
|
-
super();
|
|
4
|
-
slice.attachTemplate(this);
|
|
5
|
-
|
|
6
|
-
this.$navigation = this.querySelector('.my_navigation');
|
|
7
|
-
|
|
8
|
-
slice.controller.setComponentProps(this, props);
|
|
9
|
-
this.debuggerProps = ['page'];
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
set page(value) {
|
|
13
|
-
this._page = value;
|
|
14
|
-
this.updateNavigation();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
get page() {
|
|
18
|
-
return this._page;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
init() {
|
|
22
|
-
if (this.page) {
|
|
23
|
-
this.updateNavigation();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
updateNavigation() {
|
|
28
|
-
this.$navigation.innerHTML = '';
|
|
29
|
-
const idElements = this.page.querySelectorAll('[id]');
|
|
30
|
-
|
|
31
|
-
idElements.forEach((element) => {
|
|
32
|
-
const a = document.createElement('a');
|
|
33
|
-
a.textContent = element.innerHTML;
|
|
34
|
-
|
|
35
|
-
// Obtener la jerarquía del elemento, por ejemplo 'h1', 'h2', etc.
|
|
36
|
-
const tagName = element.tagName.toLowerCase();
|
|
37
|
-
|
|
38
|
-
// Iterar desde h1 hasta h6 para aplicar clases basadas en la jerarquía
|
|
39
|
-
for (let i = 1; i <= 6; i++) {
|
|
40
|
-
if (tagName === `h${i}`) {
|
|
41
|
-
a.classList.add(`nav-h${i}`);
|
|
42
|
-
break; // Si ya encontró la coincidencia, no sigue iterando
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (element.id) {
|
|
47
|
-
a.href = `#${element.id}`;
|
|
48
|
-
a.addEventListener('click', (event) => {
|
|
49
|
-
event.preventDefault();
|
|
50
|
-
document.getElementById(element.id).scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
51
|
-
});
|
|
52
|
-
} else {
|
|
53
|
-
a.href = ``;
|
|
54
|
-
}
|
|
55
|
-
this.$navigation.appendChild(a);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
customElements.define('slice-mynavigation', MyNavigation);
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
slice-routingdocumentation {
|
|
2
|
-
color: var(--font-primary-color);
|
|
3
|
-
font-family: var(--font-family);
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
slice-routingdocumentation .routes-config-example,
|
|
7
|
-
slice-routingdocumentation .route-component-example,
|
|
8
|
-
slice-routingdocumentation .multi-route-example,
|
|
9
|
-
slice-routingdocumentation .dynamic-routes-example,
|
|
10
|
-
slice-routingdocumentation .programmatic-nav-example,
|
|
11
|
-
slice-routingdocumentation .nested-routes-example {
|
|
12
|
-
margin: 20px 0;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
slice-routingdocumentation code {
|
|
16
|
-
background-color: var(--secondary-background-color);
|
|
17
|
-
padding: 2px 5px;
|
|
18
|
-
border-radius: 3px;
|
|
19
|
-
font-family: monospace;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
slice-routingdocumentation h2 {
|
|
23
|
-
margin-top: 30px;
|
|
24
|
-
border-bottom: 1px solid var(--primary-color-shade);
|
|
25
|
-
padding-bottom: 8px;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
slice-routingdocumentation ul li,
|
|
29
|
-
slice-routingdocumentation ol li {
|
|
30
|
-
margin-bottom: 10px;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/* Route visualization styles */
|
|
34
|
-
slice-routingdocumentation .route-visualization {
|
|
35
|
-
display: flex;
|
|
36
|
-
flex-wrap: wrap;
|
|
37
|
-
justify-content: space-around;
|
|
38
|
-
gap: 20px;
|
|
39
|
-
margin: 30px 0;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
slice-routingdocumentation .visualization-route,
|
|
43
|
-
slice-routingdocumentation .visualization-multiroute {
|
|
44
|
-
border: 2px solid var(--primary-color);
|
|
45
|
-
border-radius: var(--border-radius-slice);
|
|
46
|
-
padding: 15px;
|
|
47
|
-
min-width: 300px;
|
|
48
|
-
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
|
|
49
|
-
transition: transform 0.3s ease;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
slice-routingdocumentation .visualization-route:hover,
|
|
53
|
-
slice-routingdocumentation .visualization-multiroute:hover {
|
|
54
|
-
transform: translateY(-5px);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
slice-routingdocumentation .vis-route-path {
|
|
58
|
-
background-color: var(--primary-color);
|
|
59
|
-
color: var(--primary-color-contrast);
|
|
60
|
-
padding: 8px 12px;
|
|
61
|
-
margin-bottom: 10px;
|
|
62
|
-
border-radius: var(--border-radius-slice);
|
|
63
|
-
font-family: monospace;
|
|
64
|
-
font-weight: bold;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
slice-routingdocumentation .visualization-multiroute .vis-route-path {
|
|
68
|
-
margin-bottom: 5px;
|
|
69
|
-
opacity: 0.8;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
slice-routingdocumentation .visualization-multiroute .vis-route-path:first-child {
|
|
73
|
-
opacity: 1;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
slice-routingdocumentation .vis-route-component {
|
|
77
|
-
background-color: var(--secondary-background-color);
|
|
78
|
-
padding: 15px;
|
|
79
|
-
border-radius: var(--border-radius-slice);
|
|
80
|
-
margin-top: 10px;
|
|
81
|
-
text-align: center;
|
|
82
|
-
font-weight: bold;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
@media (max-width: 768px) {
|
|
86
|
-
slice-routingdocumentation .route-visualization {
|
|
87
|
-
flex-direction: column;
|
|
88
|
-
}
|
|
89
|
-
}
|