ziko 0.0.4 → 0.0.6
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/dist/ziko.cjs +10000 -9874
- package/dist/ziko.js +10001 -9875
- package/dist/ziko.min.js +2 -2
- package/dist/ziko.mjs +9998 -9873
- package/package.json +15 -5
- package/starter/bin/index.js +10 -0
- package/wrapper/react/README.md +26 -0
- package/wrapper/react/index.jsx +22 -0
- package/wrapper/svelte/ZikoUI.svelte +15 -0
- package/wrapper/vue/ZikoUI.vue +23 -0
- package/src/App/Accessibility/index.js +0 -0
- package/src/App/Globals/__Target__.js +0 -3
- package/src/App/Globals/__UI__.js +0 -38
- package/src/App/Globals/__init__.js +0 -8
- package/src/App/Globals/index.js +0 -3
- package/src/App/Router/index.js +0 -40
- package/src/App/Seo/index.js +0 -43
- package/src/App/Themes/dark.js +0 -885
- package/src/App/Themes/index.js +0 -11
- package/src/App/Themes/light.js +0 -255
- package/src/App/app.js +0 -46
- package/src/App/index.js +0 -11
- package/src/Data/Api/fetchdom.js +0 -14
- package/src/Data/Api/index.js +0 -4
- package/src/Data/Api/preload.js +0 -11
- package/src/Data/Converter/canvas.js +0 -25
- package/src/Data/Converter/csv.js +0 -33
- package/src/Data/Converter/index.js +0 -25
- package/src/Data/Converter/json.js +0 -80
- package/src/Data/Converter/markdown.js +0 -83
- package/src/Data/Converter/svg.js +0 -11
- package/src/Data/Parser/markdown.js +0 -0
- package/src/Data/Parser/xml.js +0 -47
- package/src/Data/Strings/index.js +0 -26
- package/src/Data/decorators.js +0 -0
- package/src/Data/index.js +0 -64
- package/src/Graphics/Canvas/Elements/Basic/arc.js +0 -43
- package/src/Graphics/Canvas/Elements/Basic/image.js +0 -0
- package/src/Graphics/Canvas/Elements/Basic/line.js +0 -26
- package/src/Graphics/Canvas/Elements/Basic/path.js +0 -0
- package/src/Graphics/Canvas/Elements/Basic/points.js +0 -48
- package/src/Graphics/Canvas/Elements/Basic/polygon.js +0 -7
- package/src/Graphics/Canvas/Elements/Basic/polyline.js +0 -0
- package/src/Graphics/Canvas/Elements/Basic/rect.js +0 -46
- package/src/Graphics/Canvas/Elements/Basic/text.js +0 -0
- package/src/Graphics/Canvas/Elements/Chart/histogram.js +0 -0
- package/src/Graphics/Canvas/Elements/Chart/plot.js +0 -0
- package/src/Graphics/Canvas/Elements/Chart/scatter.js +0 -2
- package/src/Graphics/Canvas/Elements/Chart/stem.js +0 -0
- package/src/Graphics/Canvas/Elements/Element.js +0 -115
- package/src/Graphics/Canvas/Elements/Groupe.js +0 -0
- package/src/Graphics/Canvas/Elements/grid.js +0 -0
- package/src/Graphics/Canvas/Elements/index.js +0 -13
- package/src/Graphics/Canvas/Filter/index.js +0 -0
- package/src/Graphics/Canvas/Paint/index.js +0 -0
- package/src/Graphics/Canvas/Utils/color.js +0 -8
- package/src/Graphics/Canvas/Utils/floodFill.js +0 -58
- package/src/Graphics/Canvas/_canvas_offscreen +0 -0
- package/src/Graphics/Canvas/canvas.js +0 -189
- package/src/Graphics/Canvas/index.js +0 -15
- package/src/Graphics/Svg/Elements/ZikoSvgElement.js +0 -28
- package/src/Graphics/Svg/Elements/circle.js +0 -34
- package/src/Graphics/Svg/Elements/ellipse.js +0 -29
- package/src/Graphics/Svg/Elements/foreignObject.js +0 -46
- package/src/Graphics/Svg/Elements/grid.js +0 -9
- package/src/Graphics/Svg/Elements/groupe.js +0 -29
- package/src/Graphics/Svg/Elements/image.js +0 -33
- package/src/Graphics/Svg/Elements/line.js +0 -29
- package/src/Graphics/Svg/Elements/path.js +0 -59
- package/src/Graphics/Svg/Elements/polygon.js +0 -31
- package/src/Graphics/Svg/Elements/polyline.js +0 -4
- package/src/Graphics/Svg/Elements/rect.js +0 -43
- package/src/Graphics/Svg/Elements/text.js +0 -26
- package/src/Graphics/Svg/index.js +0 -1
- package/src/Graphics/Svg/svg.js +0 -117
- package/src/Graphics/index.js +0 -61
- package/src/Math/Calculus/Special Functions/bessel.js +0 -31
- package/src/Math/Calculus/Special Functions/beta.js +0 -38
- package/src/Math/Calculus/Special Functions/gamma.js +0 -30
- package/src/Math/Calculus/Special Functions/index.js +0 -4
- package/src/Math/Calculus/index.js +0 -1
- package/src/Math/Complex/Fractals/julia.js +0 -0
- package/src/Math/Complex/index.js +0 -191
- package/src/Math/Discret/Combinaison/index.js +0 -34
- package/src/Math/Discret/Conversion/index.js +0 -86
- package/src/Math/Discret/Logic/index.js +0 -46
- package/src/Math/Discret/Permutation/index.js +0 -31
- package/src/Math/Discret/Set/index.js +0 -2
- package/src/Math/Discret/Set/powerSet.js +0 -15
- package/src/Math/Discret/Set/subSet.js +0 -10
- package/src/Math/Discret/index.js +0 -23
- package/src/Math/Functions/index.js +0 -182
- package/src/Math/Matrix/Decomposition.js +0 -90
- package/src/Math/Matrix/LinearSystem.js +0 -10
- package/src/Math/Matrix/Matrix.js +0 -712
- package/src/Math/Matrix/index.js +0 -3
- package/src/Math/Numeric/index.js +0 -0
- package/src/Math/Random/index.js +0 -173
- package/src/Math/Signal/__np.py.txt +0 -40
- package/src/Math/Signal/conv.js +0 -175
- package/src/Math/Signal/fft.js +0 -55
- package/src/Math/Signal/filter.js +0 -39
- package/src/Math/Signal/functions.js +0 -146
- package/src/Math/Signal/index.js +0 -110
- package/src/Math/Statistics/Functions/index.js +0 -100
- package/src/Math/Statistics/index.js +0 -16
- package/src/Math/Utils/arithmetic.js +0 -139
- package/src/Math/Utils/checkers.js +0 -11
- package/src/Math/Utils/comparaison.js +0 -1
- package/src/Math/Utils/conversions.js +0 -7
- package/src/Math/Utils/discret.js +0 -28
- package/src/Math/Utils/index.js +0 -102
- package/src/Math/Utils/mapfun.js +0 -43
- package/src/Math/absract.js +0 -1
- package/src/Math/const.js +0 -3
- package/src/Math/index.js +0 -193
- package/src/Reactivity/Events/Global/Click.js +0 -56
- package/src/Reactivity/Events/Global/Clipboard.js +0 -84
- package/src/Reactivity/Events/Global/CustomEvent.js +0 -53
- package/src/Reactivity/Events/Global/Drag.js +0 -137
- package/src/Reactivity/Events/Global/Focus.js +0 -56
- package/src/Reactivity/Events/Global/Key.js +0 -104
- package/src/Reactivity/Events/Global/Mouse.js +0 -230
- package/src/Reactivity/Events/Global/Pointer.js +0 -214
- package/src/Reactivity/Events/Global/Touch.js +0 -0
- package/src/Reactivity/Events/Global/Wheel.js +0 -44
- package/src/Reactivity/Events/Partiel/Hash.js +0 -44
- package/src/Reactivity/Events/Partiel/Input.js +0 -59
- package/src/Reactivity/Events/Partiel/MediaEvent.js +0 -1
- package/src/Reactivity/Events/ZikoEvent.js +0 -91
- package/src/Reactivity/Events/index.js +0 -60
- package/src/Reactivity/Observer/index.js +0 -3
- package/src/Reactivity/Observer/intersection.js +0 -40
- package/src/Reactivity/Observer/mutation.js +0 -90
- package/src/Reactivity/Observer/resize.js +0 -47
- package/src/Reactivity/Use/Contexte/index.js +0 -1
- package/src/Reactivity/Use/Contexte/useSuccesifKeys.js +0 -14
- package/src/Reactivity/Use/Decorators/index.js +0 -4
- package/src/Reactivity/Use/Interactions/index.js +0 -4
- package/src/Reactivity/Use/Interactions/useBluetooth.js +0 -48
- package/src/Reactivity/Use/Interactions/useChannel.js +0 -50
- package/src/Reactivity/Use/Interactions/useEventEmmiter.js +0 -64
- package/src/Reactivity/Use/Interactions/useSerial.js +0 -0
- package/src/Reactivity/Use/Interactions/useThread.js +0 -44
- package/src/Reactivity/Use/Interactions/useUsb.js +0 -0
- package/src/Reactivity/Use/Sensors/index.js +0 -2
- package/src/Reactivity/Use/Sensors/useBattery.js +0 -36
- package/src/Reactivity/Use/Sensors/useCamera.js +0 -0
- package/src/Reactivity/Use/Sensors/useGeolocation.js +0 -17
- package/src/Reactivity/Use/Sensors/useMicro.js +0 -0
- package/src/Reactivity/Use/Sensors/useOrientation.js +0 -0
- package/src/Reactivity/Use/Storage/index.js +0 -1
- package/src/Reactivity/Use/Storage/useCookie.js +0 -0
- package/src/Reactivity/Use/Storage/useIndexedDb.js +0 -0
- package/src/Reactivity/Use/Storage/useStorage.js +0 -74
- package/src/Reactivity/Use/UI/index.js +0 -4
- package/src/Reactivity/Use/UI/useCssLink.js +0 -0
- package/src/Reactivity/Use/UI/useCssText.js +0 -21
- package/src/Reactivity/Use/UI/useFavIcon.js +0 -38
- package/src/Reactivity/Use/UI/useLinearGradient.js +0 -0
- package/src/Reactivity/Use/UI/useMediaQuery.js +0 -1
- package/src/Reactivity/Use/UI/useRadialGradient.js +0 -0
- package/src/Reactivity/Use/UI/useStyle.js +0 -54
- package/src/Reactivity/Use/UI/useTheme.js +0 -62
- package/src/Reactivity/Use/UI/useTitle.js +0 -30
- package/src/Reactivity/Use/index.js +0 -82
- package/src/Reactivity/Use/todo.md +0 -26
- package/src/Reactivity/index.js +0 -3
- package/src/Time/animation.js +0 -76
- package/src/Time/index.js +0 -54
- package/src/Time/loop.js +0 -83
- package/src/Time/utils/decorators.js +0 -17
- package/src/Time/utils/ease.js +0 -144
- package/src/Time/utils/index.js +0 -18
- package/src/Time/utils/performance.js +0 -16
- package/src/Time/utils/ui.js +0 -26
- package/src/UI/CustomElement/Elements/Accordion/index.js +0 -62
- package/src/UI/CustomElement/Elements/Carousel/index.js +0 -47
- package/src/UI/CustomElement/Elements/CodeNote/CodeCell.js +0 -176
- package/src/UI/CustomElement/Elements/CodeNote/CodeNote.js +0 -69
- package/src/UI/CustomElement/Elements/CodeNote/SubElements.js +0 -64
- package/src/UI/CustomElement/Elements/CodeNote/index.js +0 -2
- package/src/UI/CustomElement/Elements/Columns.js +0 -1
- package/src/UI/CustomElement/Elements/FAB.js +0 -0
- package/src/UI/CustomElement/Elements/Menu.js +0 -0
- package/src/UI/CustomElement/Elements/Notification.js +0 -0
- package/src/UI/CustomElement/Elements/Popover.js +0 -0
- package/src/UI/CustomElement/Elements/Popup.js +0 -0
- package/src/UI/CustomElement/Elements/Swipper.js +0 -4
- package/src/UI/CustomElement/Elements/Tabs/index.js +0 -111
- package/src/UI/CustomElement/Elements/Timeline.js +0 -0
- package/src/UI/CustomElement/Elements/Toast.js +0 -0
- package/src/UI/CustomElement/Elements/Treeview.js +0 -0
- package/src/UI/CustomElement/Elements/index.js +0 -4
- package/src/UI/CustomElement/Flex.js +0 -97
- package/src/UI/CustomElement/Grid.js +0 -30
- package/src/UI/CustomElement/index.js +0 -3
- package/src/UI/Embaded/index.js +0 -1
- package/src/UI/Inputs/Primitives/btn.js +0 -31
- package/src/UI/Inputs/Primitives/elements.js +0 -28
- package/src/UI/Inputs/Primitives/inputs.js +0 -334
- package/src/UI/Inputs/Primitives/select.js +0 -15
- package/src/UI/Inputs/Primitives/textarea.js +0 -16
- package/src/UI/Inputs/camera.js +0 -23
- package/src/UI/Inputs/index.js +0 -20
- package/src/UI/List/elements.js +0 -0
- package/src/UI/List/index.js +0 -130
- package/src/UI/Media/Audio/index.js +0 -39
- package/src/UI/Media/Image/figure.js +0 -17
- package/src/UI/Media/Image/image.js +0 -34
- package/src/UI/Media/Image/index.js +0 -2
- package/src/UI/Media/Video/index.js +0 -50
- package/src/UI/Media/index.js +0 -3
- package/src/UI/Misc/index.js +0 -49
- package/src/UI/Semantic/index.js +0 -68
- package/src/UI/Style/index.js +0 -499
- package/src/UI/Table/elements.js +0 -94
- package/src/UI/Table/index.js +0 -3
- package/src/UI/Table/table.js +0 -113
- package/src/UI/Table/utils.js +0 -12
- package/src/UI/Text/heading.js +0 -35
- package/src/UI/Text/index.js +0 -3
- package/src/UI/Text/p.js +0 -37
- package/src/UI/Text/pre.js +0 -0
- package/src/UI/Text/text.js +0 -66
- package/src/UI/Utils/index.js +0 -70
- package/src/UI/ZikoUIElement.js +0 -501
- package/src/UI/index.js +0 -154
- package/src/__proto__/Array.js +0 -74
- package/src/__proto__/Function.js +0 -0
- package/src/__proto__/Number.js +0 -76
- package/src/__proto__/Object.js +0 -0
- package/src/__proto__/String.js +0 -0
- package/src/index.js +0 -70
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ziko",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "a versatile JavaScript library offering a rich set of UI components, advanced mathematical utilities,Reactivity,animations,client side routing and graphics capabilities",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Zikojs",
|
|
@@ -15,11 +15,12 @@
|
|
|
15
15
|
"Single Page Application"
|
|
16
16
|
],
|
|
17
17
|
"type": "module",
|
|
18
|
-
"
|
|
19
|
-
"main": "dist/ziko.cjs",
|
|
18
|
+
"main": "dist/ziko.mjs",
|
|
20
19
|
"module": "dist/ziko.mjs",
|
|
20
|
+
"unpkg": "dist/ziko.min.js",
|
|
21
21
|
"files": [
|
|
22
|
-
"
|
|
22
|
+
"core",
|
|
23
|
+
"wrapper",
|
|
23
24
|
"dist",
|
|
24
25
|
"LICENCE"
|
|
25
26
|
],
|
|
@@ -27,11 +28,20 @@
|
|
|
27
28
|
".": {
|
|
28
29
|
"import": "./dist/ziko.mjs",
|
|
29
30
|
"require": "./dist/ziko.cjs"
|
|
31
|
+
},
|
|
32
|
+
"./A": {
|
|
33
|
+
"import": "./src/A/index.js"
|
|
34
|
+
},
|
|
35
|
+
"./react": {
|
|
36
|
+
"import": "./wrapper/react/index.jsx"
|
|
30
37
|
}
|
|
31
38
|
},
|
|
39
|
+
"bin": {
|
|
40
|
+
"create-ziko-app": "starter/bin/index.js"
|
|
41
|
+
},
|
|
32
42
|
"scripts": {
|
|
33
43
|
"test": "node --watch test/index.js",
|
|
34
|
-
"test-link":"node _link/index.js",
|
|
44
|
+
"test-link": "node _link/index.js",
|
|
35
45
|
"lint": "eslint src/*/*/*",
|
|
36
46
|
"dev": "rollup -c rollup.config.js -w",
|
|
37
47
|
"build": "rollup -c rollup.config.js"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import path from "path"
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { createFolder,copyFolder , runCommand } from "./utils/commands.js";
|
|
5
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
const TEMPLATE = path.join(__dirname,"../template");
|
|
7
|
+
const PROJECT_TITLE = process.argv[2]||"zikojs-project";
|
|
8
|
+
createFolder(PROJECT_TITLE);
|
|
9
|
+
copyFolder(TEMPLATE,path.join(process.cwd(),PROJECT_TITLE));
|
|
10
|
+
runCommand(`cd ${PROJECT_TITLE} && npm install`);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Overview
|
|
2
|
+
react-ziko is a tool designed for rendering [ziko](https://github.com/zakarialaoui10/ziko.js) elements within a React application.
|
|
3
|
+
|
|
4
|
+
# Install
|
|
5
|
+
```bash
|
|
6
|
+
npm i react-ziko
|
|
7
|
+
```
|
|
8
|
+
# Usage
|
|
9
|
+
```jsx
|
|
10
|
+
import ZikoUI from "react-ziko";
|
|
11
|
+
import { text } from "ziko";
|
|
12
|
+
const ui = text("Hello World").style({
|
|
13
|
+
color:"darkblue"
|
|
14
|
+
});
|
|
15
|
+
export default function App() {
|
|
16
|
+
return (
|
|
17
|
+
<main>
|
|
18
|
+
<ZikoUI ui={ui.render(false)} />
|
|
19
|
+
</main>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
# Dependencies
|
|
25
|
+
- [React](https://react.dev/) :
|
|
26
|
+
- [Zikojs](https://github.com/zakarialaoui10/ziko.js) :
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React, { useRef, useEffect } from "react";
|
|
2
|
+
import {ZikoUIElement} from "ziko";
|
|
3
|
+
/**
|
|
4
|
+
* A React component for rendering ZikoUIElement.
|
|
5
|
+
* @param {Object} props - Component props.
|
|
6
|
+
* @param {ZikoUIElement} props.ui - The ZikoUIElement to render.
|
|
7
|
+
* @returns {JSX.Element} JSX representation of the ZikoUI component.
|
|
8
|
+
*/
|
|
9
|
+
function ZikoUI({ ui }) {
|
|
10
|
+
const containerRef = useRef(null);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
globalThis.__Ziko__.__Config__.setDefault({render:false})
|
|
13
|
+
if (containerRef.current && ui && ui instanceof ZikoUIElement) {
|
|
14
|
+
containerRef.current.innerHTML = "";
|
|
15
|
+
containerRef.current.appendChild(ui.element);
|
|
16
|
+
}
|
|
17
|
+
}, [ui]);
|
|
18
|
+
return (
|
|
19
|
+
<ziko-ui ref={containerRef} data-engine="ziko"></ziko-ui>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
export default ZikoUI;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<ziko-ui bind:this={containerRef} data-engine="ziko"></ziko-ui>
|
|
2
|
+
|
|
3
|
+
<script>
|
|
4
|
+
import { onMount } from 'svelte';
|
|
5
|
+
import {ZikoUIElement} from "ziko";
|
|
6
|
+
let containerRef;
|
|
7
|
+
|
|
8
|
+
onMount(() => {
|
|
9
|
+
if (containerRef && ui instanceof ZikoUIElement) {
|
|
10
|
+
containerRef.innerHTML = "";
|
|
11
|
+
containerRef.appendChild(ui.element);
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
export let ui;
|
|
15
|
+
</script>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<ziko-ui ref="containerRef" data-engine="ziko"></ziko-ui>
|
|
3
|
+
</template>
|
|
4
|
+
<script>
|
|
5
|
+
import {ZikoUIElement} from "ziko"
|
|
6
|
+
export default {
|
|
7
|
+
props: {
|
|
8
|
+
ui: Object
|
|
9
|
+
},
|
|
10
|
+
mounted() {
|
|
11
|
+
//globalThis.__Ziko__.__Config__.setDefault({render:false})
|
|
12
|
+
if (this.$refs.containerRef && this.ui instanceof ZikoUIElement) {
|
|
13
|
+
this.$refs.containerRef.innerHTML = "";
|
|
14
|
+
this.$refs.containerRef.appendChild(this.ui.render(false).element);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
</script>
|
|
19
|
+
<style scoped>
|
|
20
|
+
ziko-ui{
|
|
21
|
+
display:block;
|
|
22
|
+
}
|
|
23
|
+
</style>
|
|
File without changes
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
const __UI__={
|
|
2
|
-
text:[],
|
|
3
|
-
p:[],
|
|
4
|
-
pre:[],
|
|
5
|
-
h1:[],
|
|
6
|
-
h2:[],
|
|
7
|
-
h3:[],
|
|
8
|
-
h4:[],
|
|
9
|
-
h5:[],
|
|
10
|
-
h6:[],
|
|
11
|
-
br:[],
|
|
12
|
-
hr:[],
|
|
13
|
-
btn:[],
|
|
14
|
-
ol:[],
|
|
15
|
-
ul:[],
|
|
16
|
-
image:[],
|
|
17
|
-
video:[],
|
|
18
|
-
audio:[],
|
|
19
|
-
Article:[],
|
|
20
|
-
Main:[],
|
|
21
|
-
Section:[],
|
|
22
|
-
Aside:[],
|
|
23
|
-
Nav:[],
|
|
24
|
-
Header:[],
|
|
25
|
-
Footer:[],
|
|
26
|
-
Flex:[],
|
|
27
|
-
FlexMain:[],
|
|
28
|
-
FlexNav:[],
|
|
29
|
-
FlexHeader:[],
|
|
30
|
-
FlexFooter:[],
|
|
31
|
-
FlexSection:[],
|
|
32
|
-
FLexArticle:[],
|
|
33
|
-
FlexAside:[],
|
|
34
|
-
Table:[],
|
|
35
|
-
Svg:[],
|
|
36
|
-
Canvas:[]
|
|
37
|
-
}
|
|
38
|
-
export { __UI__ };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
const __init__=()=>document.documentElement.setAttribute("data-engine","zikojs");
|
|
2
|
-
// if(globalThis?.document){
|
|
3
|
-
// document.addEventListener("DOMContentLoaded", __init__);
|
|
4
|
-
// document.removeEventListener("DOMContentLoaded", __init__);
|
|
5
|
-
// }
|
|
6
|
-
export {
|
|
7
|
-
__init__
|
|
8
|
-
}
|
package/src/App/Globals/index.js
DELETED
package/src/App/Router/index.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { text } from "../../UI/Text";
|
|
2
|
-
class ZikoSPA{
|
|
3
|
-
constructor(root_UI,routes){
|
|
4
|
-
this.root_UI=root_UI;
|
|
5
|
-
this.routes=new Map([
|
|
6
|
-
[404,text("Error 404")],
|
|
7
|
-
...Object.entries(routes)
|
|
8
|
-
]);
|
|
9
|
-
this.patterns=new Map();
|
|
10
|
-
this.maintain();
|
|
11
|
-
window.onpopstate = this.render(location.pathname);
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
get(path,wrapper){
|
|
15
|
-
(path instanceof RegExp)
|
|
16
|
-
? this.patterns.set(path,wrapper)
|
|
17
|
-
: this.routes.set(path,wrapper);
|
|
18
|
-
this.maintain();
|
|
19
|
-
return this;
|
|
20
|
-
}
|
|
21
|
-
maintain(){
|
|
22
|
-
this.root_UI.append(...this.routes.values());
|
|
23
|
-
[...this.routes.values()].map(n=>n.render(false));
|
|
24
|
-
this.render(location.pathname)
|
|
25
|
-
return this;
|
|
26
|
-
}
|
|
27
|
-
render(path){
|
|
28
|
-
if(this.routes.get(path))this.routes.get(path).render(true);
|
|
29
|
-
else{
|
|
30
|
-
const key=[...this.patterns.keys()].find(pattern=>pattern.test(path))
|
|
31
|
-
if(key)this.patterns.get(key)(path);
|
|
32
|
-
else this.routes.get(404).render(true)
|
|
33
|
-
}
|
|
34
|
-
window.history.pushState({}, "", path);
|
|
35
|
-
return this;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
const SPA=(root_UI,routes,patterns)=>new ZikoSPA(root_UI,routes,patterns);
|
|
39
|
-
|
|
40
|
-
export {SPA}
|
package/src/App/Seo/index.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
class ZikoSeo{
|
|
2
|
-
constructor(app){
|
|
3
|
-
this.app=app;
|
|
4
|
-
this.meta={};
|
|
5
|
-
this.#setMeta("generator","zikojs")
|
|
6
|
-
}
|
|
7
|
-
#setMeta(key,value){
|
|
8
|
-
const meta=document.querySelector(`meta[name=${key}]`);
|
|
9
|
-
this.meta=meta?meta:document.createElement("meta");
|
|
10
|
-
this.meta.setAttribute("name",key);
|
|
11
|
-
this.meta.setAttribute("content",value);
|
|
12
|
-
if(!meta)this.app.head.append(this.meta);
|
|
13
|
-
return this;
|
|
14
|
-
}
|
|
15
|
-
charset(charset="utf-8"){
|
|
16
|
-
const meta=document.querySelector("meta[charset]");
|
|
17
|
-
this.meta=meta?meta:document.createElement("meta");
|
|
18
|
-
this.meta.setAttribute("charset",charset);
|
|
19
|
-
if(!meta)this.app.head.append(this.meta);
|
|
20
|
-
return this;
|
|
21
|
-
}
|
|
22
|
-
description(description){
|
|
23
|
-
this.#setMeta("description",description);
|
|
24
|
-
return this;
|
|
25
|
-
}
|
|
26
|
-
viewport(viewport="width=device-width, initial-scale=1.0"){
|
|
27
|
-
this.#setMeta("viewport",viewport);
|
|
28
|
-
return this;
|
|
29
|
-
}
|
|
30
|
-
keywords(...keywords){
|
|
31
|
-
keywords.push("zikojs");
|
|
32
|
-
keywords=[...new Set(keywords)].join(", ");
|
|
33
|
-
this.#setMeta("keywords",keywords);
|
|
34
|
-
return this;
|
|
35
|
-
}
|
|
36
|
-
author(name="",email=""){
|
|
37
|
-
const author=[name,email].join(", ");
|
|
38
|
-
this.#setMeta("author",author);
|
|
39
|
-
return this;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
const Seo=(app)=>new ZikoSeo(app);
|
|
43
|
-
export{Seo}
|