ziko 0.0.6 β†’ 0.0.8

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/README.md CHANGED
@@ -4,6 +4,81 @@
4
4
 
5
5
  <br>
6
6
 
7
+ # Architecture
8
+
9
+ ```mermaid
10
+ mindmap
11
+ root((Ziko))
12
+ Core
13
+ Math
14
+ Utils
15
+ Functions
16
+ Complex
17
+ Matrix
18
+ Random
19
+ Calculus
20
+ Signal
21
+ Discret
22
+ Statistics
23
+ UI
24
+ Elements
25
+ Text
26
+ text
27
+ p
28
+ h1...h6
29
+ List
30
+ ol
31
+ ul
32
+ Table
33
+ Inputs
34
+ Semantic
35
+ Main
36
+ Header
37
+ Footer
38
+ Section
39
+ Article
40
+ Nav
41
+ Aside
42
+ Custom Elements
43
+ Flex
44
+ Grid
45
+ Accordion
46
+ Carousel
47
+ Tabs
48
+ CodeCell
49
+ CodeNote
50
+ Time
51
+ Animation
52
+ Ease functions
53
+ Loop
54
+ Data
55
+ Api
56
+ Converter
57
+ Decorator
58
+ Parser
59
+ Reactivity
60
+ Events
61
+ Observer
62
+ Use
63
+ Graphics
64
+ Svg
65
+ Canvas
66
+ App
67
+ Router
68
+ Seo
69
+ Config
70
+ Themes
71
+ Addons
72
+ Zikogl
73
+ Ziko-lottie
74
+ Wrapper
75
+ React
76
+ Svelte
77
+ Vue
78
+ Lit
79
+ Solid
80
+ Preact
81
+ ```
7
82
  # Install
8
83
  ```bash
9
84
  npm install ziko
@@ -55,205 +130,134 @@ npm install ziko
55
130
 
56
131
  ## πŸ“ƒ [wiki](https://github.com/zakarialaoui10/ziko.js/wiki)
57
132
 
58
- ## πŸ’‘ [Features]()
59
- <details>
60
- <summary>
61
- <strong> πŸ”° Methodes Extracting </strong>
62
- </summary>
63
-
64
- ```js
65
- Ziko.ExtractAll()
66
- // if you want to extract only UI methodes you can use Ziko.UI.Extractll()
67
- ```
68
- 🏷️ This method simplifies syntax by extracting all UI, Math, Time, Graphics, and other methods within the Ziko framework. Instead of writing specific namespace prefixes like `Ziko.UI.text("Hi")` , `Ziko.Math.complex(1,2)` , `Ziko.Math.matrix([[1,2],[2,3]])`, you can directly use simplified syntax such as `text("Hi")` , `complex(1,1)` and `matrix([[1,2],[2,3]])`.
133
+ ## πŸ’‘ [Features]()
134
+ ### πŸ”° No Template Engines :
69
135
 
70
- ⚠️ Be careful with this method because it will overwrite any existing global or local variables and functions with the same names as the extracted methods.
71
- </details>
136
+ zikojs UI module adopts a distinctive approach to building and updating user interfaces.
137
+ It doesn't rely on predefined markup templates. Instead, it leverages a hyperscript-like syntax to dynamically create and update user interfaces.
72
138
 
73
139
  <details>
74
- <summary>
75
- <strong> πŸ”° Mathematical Utilities & Tips </strong>
76
- </summary>
140
+ <summary> See More </summary>
77
141
 
78
- ### mapfun
79
- πŸ“ Javascript provides a built-in Math module with various functions.
142
+ For instance, consider the following JavaScript code using zikojs:
143
+ ```js
144
+ para=p(
145
+ text("hello"),
146
+ text("world")
147
+ )
148
+ .style({
149
+ color:"darkblue"
150
+ })
151
+ .forEach(n=>n.onPtrEnter(e=>{
152
+ console.log(e.target.text)
153
+ }));
154
+ ```
155
+ `p(...)` - This line creates a paragraph element (&lt;p&gt;) using zikojs. Inside the p() function, we pass in two text() function calls, which create text nodes containing "hello" and "world" respectively. These will be the contents of the paragraph.
80
156
 
81
- ⚠️However, there is room for improvement in terms of efficiency. For instance, the Math.sqrt(x) function can calculate the square root of a number x, but it has limitations such as the inability to accept multiple parameters and the inability to map the function to different data types like Arrays and Objects.
157
+ `.style({...})` - This method sets the style of the paragraph element. In this case, it sets the color to "darkblue".
82
158
 
83
- πŸ’‘ In zikojs, I have addressed these limitations, providing a more versatile and efficient solution.
159
+ `.forEach(...)` - This method iterates over the two items of the paragraph element. Inside the callback function, it sets up an event listener for the "pointerenter" event on each child element. When the pointer enters any child element, it logs the text content of that element to the console.
84
160
 
85
- πŸ“‹ Example :
86
- |zikojs|Vanilla js Equivalent|
87
- |-|-|
88
- |`sqrt(9)`|`sqrt(9)`|
89
- |`sqrt(4,9,16)`|`[Math.sqrt(4),Math.sqrt(9),Math.sqrt(16)]`|
90
- |`sqrt([4,9,16])`|`[Math.sqrt(4),Math.sqrt(9),Math.sqrt(16)]`|
91
- |`sqrt([4,9],16)`|`[[Math.sqrt(4),Math.sqrt(9)],Math.sqrt(16)]`|
92
- |`sqrt({x:4,y:9})`|`{x:sqrt(4),sqrt(9)}`|
161
+ >[!TIP]
162
+ To acces the para items you can use Array like syntaxe , `para[index]` or `para.at(index)` (index can positive or negative integer)
93
163
 
164
+ This code snippet produces the equivalent HTML structure:
165
+ ```html
166
+ <p style="color:darkblue">
167
+ <span>hello</span>
168
+ <span>world</span>
169
+ </p>
170
+ <script>
171
+ para=document.querySelector(p);
172
+ [...a.children].forEach(
173
+ n=>n.addEventListener("pointerenter",e=>{
174
+ console.log(e.target.textContent)
175
+ }))
176
+ </script>
177
+ ```
178
+ In summary, zikojs UI module enables dynamic creation and manipulation of user interfaces without relying on static markup templates, offering flexibility and control over UI elements.
94
179
 
95
- πŸ“’ Generally, zikojs allows you to input an infinite number of parameters, including deep arrays, objects, Maps, Sets, and more. The return value retains the input structure and calculates the result for each element accordingly.
180
+ </details>
96
181
 
97
- πŸ“‹ For Example :
98
- ```js
99
- sqrt({
100
- a:1,
101
- b:2,
102
- c:[3,4],
103
- d:[[
104
- [5,6]
105
- ]],
106
- e:{
107
- f:[
108
- {g:7}
109
- ]
110
- },
111
- h:new Map([["i",8],["j",9]]),
112
- k:{
113
- l:{
114
- m:new Set([10,11])
115
- },
116
- n:[12]
117
- }
118
- })
119
- ```
120
- This would return :
121
- ```js
122
- {
123
- a:sqrt(1),
124
- b:sqrt(2),
125
- c:[sqrt(3),sqrt(4)],
126
- d:[[
127
- [sqrt(5),sqrt(6)]
128
- ]],
129
- e:{
130
- f:[
131
- {g:sqrt(7)}
132
- ]
133
- },
134
- h:new Map([["i",sqrt(8)],["j",sqrt(9)]]),
135
- k:{
136
- l:{
137
- m:new Set([sqrt(10),sqrt(11)])
138
- },
139
- n:[sqrt(12)]
140
- }
141
- }
142
- ```
143
182
 
144
- πŸ’‘ You can apply this approach to build your custom function ;
145
- ```js
146
- import {mapfun} from "ziko";
147
- const parabolic_func=(a,b,c,x)=>a*(x**2)+b*x+c;
148
- const parabol=(a,b,c,...X)=>mapfun(n=>parabolic_func(a,b,c,n),...X)
149
- const a=-1.5,b=2,c=3;
150
- X0=[0,1,2,3];
151
- X1={x10:0,x11:1,x12:2,x13:3}
152
- console.log(parabol(a,b,c,X0));
153
- // [3,3,1,3]
154
- console.log(parabol(a,b,c,X1));
155
- // {x10: 3,x11: 3,x12: 1,x13: -3}
156
- console.log(parabol(a,b,c,X0,X1))
157
- /*
158
- [
159
- [3,3,1,3],
160
- {x10: 3,x11: 3,x12: 1,x13: -3}
161
- ]
162
- */
163
- ```
164
- Or you can use the currying syntaxe :
165
- ```js
166
- import {mapfun} from "ziko";
167
- const parabolic_func=(a,b,c,x)=>a*(x**2)+b*x+c;
168
- const map_parabolic_func=(a,b,c)=>(...X)=>mapfun(n=>parabolic_func(a,b,c,n),...X);
169
- const a=-1.5,b=2,c=3;
170
- const X=[0,1,2,3];
171
- console.log(parabolic_func(a,b,c)(X));
172
- // [3,3,1,3]
173
- ```
174
183
 
175
- You may not necessarily rely on the mapfun utility every time, as ZikoJS offers a variety of built-in mathematical functions that built on the top of `mapfun` and the Math module in javascript .
184
+ ### πŸ”° Flexible Integration with Popular Frameworks/Libraries
176
185
 
177
- Here you will find the built in Mathematic functions in zikojs
186
+ You can integrate it inside other frameworks/libraries like React , Vue , Svelte ... To do so, all you need to do is install the [ziko-wrapper](https://www.npmjs.com/package/ziko-wrapper) package.
178
187
 
179
- `abs(...x)`,`sqrt(...x)`,`pow(x,n)`,`sqrtn(x,n)`,`e(...x)`,`ln(...x)`,`cos(...x)`,`sin(...x)`,`tan(...x)`,`sinc(...x)`,`acos(...x)`,`asin(...x)`,`atan(...x)`,`cosh(...x)`,`sinh(...x)`,`acosh(...x)`,`asinh(...x)`,`atanh(...x)`,`cot(...x)`,`sec(...x)`,`csc(...x)`,`acot(...x)`,`coth(...x)`,`acosh(...x)`,`asinh(...x)`,`atanh(...x)`,`atan2(x,y,?rad)`,`hypot(...x)`,`min(...x)`,`max(...x)`,`sign(...x)`,`sig(...x)`,`fact(...x)`,`round(...x)`,`floor(...x)`,`ceil(...x)`
188
+ ### πŸ”° Extensive Add-On Ecosystem
189
+
190
+ |Addon|Purpose|Dependecy|Links|
191
+ |-|-|-|-|
192
+ |zikogl|-|Threejs|[NPM](https://www.npmjs.com/package/zikogl) [GITHUB](https://github.com/zakarialaoui10/zikogl/)|
193
+ |ziko-lottie|render Lottie file within zikojs app|Lottie-web|[NPM](https://www.npmjs.com/package/ziko-lottie) [GITHUB](https://github.com/zakarialaoui10/ziko-lottie/)|
194
+ ### πŸ”° The capability to function in both browser-based and Node.js environments
195
+ ### πŸ”° Methodes Extracting
180
196
 
181
- ### Matrix
182
- ### Complex
183
- </details>
184
- <details>
185
- <summary>
186
- <strong> πŸ”° Rich UI elements </strong>
187
- </summary>
188
- </details>
189
197
  <details>
190
198
  <summary>
191
- <strong> πŸ”° Methodes Chaining </strong>
199
+ See More
192
200
  </summary>
193
201
 
194
- ```js
195
- text("hello world")
196
- .style({ color: "red" })
197
- .onPtrMove(useThrottle(() => console.log("hi")));
202
+ ```js
203
+ Ziko.ExtractAll()
204
+ // if you want to extract only UI methodes you can use Ziko.UI.Extractll()
198
205
  ```
199
- </details>
206
+ 🏷️ This method simplifies syntax by extracting all UI, Math, Time, Graphics, and other methods within the Ziko framework. Instead of writing specific namespace prefixes like `Ziko.UI.text("Hi")` , `Ziko.Math.complex(1,2)` , `Ziko.Math.matrix([[1,2],[2,3]])`, you can directly use simplified syntax such as `text("Hi")` , `complex(1,1)` and `matrix([[1,2],[2,3]])`.
200
207
 
208
+ ⚠️ Be careful with this method because it will overwrite any existing global or local variables and functions with the same names as the extracted methods.
209
+ </details>
210
+
211
+ ### πŸ”° Mathematical Utilities & Tips
212
+ ### πŸ”° Rich UI elements
213
+ ### πŸ”° Methodes Chaining
214
+ It allows multiple methods to be called sequentially on an object, enhancing code readability and conciseness.
201
215
  <details>
202
- <summary>
203
- <strong> πŸ”° Events Handling</strong>
204
- </summary>
216
+ <summary> See More </summary>
217
+ </details>
218
+
219
+ ### πŸ”° Events Handling
205
220
 
206
- Example of creating simple Paint sketch using canvas and pointer events :
221
+ <details>
222
+ <summary>
223
+ See More
224
+ </summary>
225
+
226
+ Example of creating simple Paint sketch using canvas and pointer events :
207
227
  ```js
208
- const Scene=Canvas().view(-10,-10,10,10).size(500,500).adjust()
209
- c.onPtrDown(e=>{
210
- c.ctx.beginPath()
211
- c.ctx.moveTo(
212
- map(e.dx,0,c.element.offsetWidth,c.Xmin,c.Xmax),
213
- map(e.dy,0,c.element.offseHeight,c.Ymin,c.Ymax)
228
+ Scene=Canvas().size("500px","500px")
229
+ Scene.onPtrDown(e=>{
230
+ e.target.ctx.beginPath()
231
+ e.target.ctx.moveTo(
232
+ map(e.dx,0,e.target.element.offsetWidth,e.target.Xmin,e.target.Xmax),
233
+ map(e.dy,0,e.target.element.offseHeight,e.target.Ymin,e.target.Ymax)
214
234
  )
215
235
  })
216
- c.onPtrMove(e=>{
236
+ Scene.onPtrMove(e=>{
217
237
  if(e.isDown){
218
- const x=map(e.mx,0,c.element.offsetWidth,c.axisMatrix[0][0],c.axisMatrix[1][0])
219
- const y=map(e.my,0,c.element.offsetHeight,c.axisMatrix[1][1],c.axisMatrix[0][1])
220
- c.append(canvasCircle(x,y,1).color({fill:"#5555AA"}).fill())
221
- }
222
- c.onPtrUp(()=>{})
238
+ const x=map(e.mx,0,e.target.element.offsetWidth,e.target.axisMatrix[0][0],e.target.axisMatrix[1][0])
239
+ const y=map(e.my,0,e.target.element.offsetHeight,e.target.axisMatrix[1][1],e.target.axisMatrix[0][1])
240
+ e.target.append(canvasCircle(x,y,1).color({fill:"#5555AA"}).fill())
241
+ }})
242
+
243
+ Scene.onPtrUp(()=>{})
223
244
  ```
224
245
  </details>
225
246
 
226
- <details>
227
- <summary>
228
- <strong> πŸ”° Functions decorators </strong>
229
- </summary>
247
+ ### πŸ”° Functions decorators
230
248
 
231
- ```js
249
+ ```js
232
250
  const inp=input().onKeyDown(throttle(e=>console.log(e.kd),1000));
233
- ```
234
- </details>
235
-
236
- <details>
237
- <summary>
238
- <strong> πŸ”° Reactivity </strong>
239
- </summary>
240
-
241
- ### Events
242
- ### Observers
243
- ### Use
251
+ ```
244
252
 
245
- </details>
253
+ ### πŸ”° Reactivity
254
+ ### πŸ”° Routing for Single Page Applications (SPA)
246
255
 
247
- <details>
248
- <summary>
249
- <strong> πŸ”° Rich UI Elements Based on Math modules </strong>
250
- </summary>
251
- for example in `Table` you can use methodes like `hsatck` `vstack` `transpose` ...
252
- </details>
256
+ Zikojs has a built-in Single page application router based on history browser api
253
257
 
254
258
  <details>
255
259
  <summary>
256
- <strong> πŸ”° Routing for Single Page Applications (SPA) </strong>
260
+ <strong> See More </strong>
257
261
  </summary>
258
262
 
259
263
  ```js
@@ -283,10 +287,8 @@ S.get(
283
287
  ```
284
288
  </details>
285
289
 
286
- <details>
287
- <summary>
288
- <strong>πŸ”° Multithreading supports</strong>
289
- </summary>
290
+
291
+ ### πŸ”° Multithreading supports
290
292
 
291
293
  ```js
292
294
  useThread(() => {
@@ -295,21 +297,9 @@ useThread(() => {
295
297
  return s;
296
298
  }, console.log);
297
299
  ```
298
- </details>
299
-
300
- <details>
301
- <summary>
302
- <strong> πŸ”° Responsive Design using Flex element and resize observer </strong>
303
- </summary>
304
- </details>
305
-
306
- <details>
307
- <summary>
308
- <strong> πŸ”° Loop and animations support </strong>
309
- </summary>
310
- </details>
311
-
312
-
300
+
301
+ ### πŸ”° Responsive Design based on Flex element and resize observer
302
+ ### πŸ”° Loop and animations support
313
303
 
314
304
  ## ⭐️ Show your support <a name="support"></a>
315
305
 
@@ -326,4 +316,3 @@ This projet is licensed under the terms of MIT License
326
316
 
327
317
 
328
318
 
329
-
package/dist/ziko.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  /*
3
3
  Project: ziko.js
4
4
  Author: Zakaria Elalaoui
5
- Date : Sat Apr 13 2024 14:35:44 GMT+0000 (UTC)
5
+ Date : Mon May 20 2024 20:27:08 GMT+0100 (UTC+01:00)
6
6
  Git-Repo : https://github.com/zakarialaoui10/ziko.js
7
7
  Git-Wiki : https://github.com/zakarialaoui10/ziko.js/wiki
8
8
  Released under MIT License
@@ -14,10 +14,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
14
14
 
15
15
  class ZikoMath {}
16
16
 
17
- /** @module Math */
18
- /**
19
- * @class
20
- */
21
17
  class Complex extends ZikoMath{
22
18
  constructor(a = 0, b = 0) {
23
19
  super();
@@ -181,13 +177,6 @@ class Complex extends ZikoMath{
181
177
  return "<span>" + this.a + " + i * " + this.b + "</span>";
182
178
  }
183
179
  }
184
- /**
185
- * Performs complex number operations on numbers, arrays, ArrayBuffers, or Matrices.
186
- * @param {number|number[]|ArrayBuffer|Matrix} a
187
- * @param {number|number[]|ArrayBuffer|Matrix} b
188
- * @param {number|number[]|ArrayBuffer|Matrix} b
189
- * @returns {Complex|Complex[]}
190
- */
191
180
  const complex=(a,b)=>{
192
181
  if((a instanceof Array||ArrayBuffer.isView(a)) && (b instanceof Array||ArrayBuffer.isView(a)))return a.map((n,i)=>complex(a[i],b[i]));
193
182
  if(a instanceof Matrix && b instanceof Matrix){
@@ -7201,8 +7190,8 @@ class ZikoUITextArea extends ZikoUIElement {
7201
7190
  //import { debounce,throttle} from "../../Data/decorators.js";
7202
7191
 
7203
7192
  class ZikoUIInput extends ZikoUIElement {
7204
- constructor(value = "",datalist) {
7205
- super();
7193
+ constructor(name , value = "",datalist) {
7194
+ super("input",name);
7206
7195
  this.element = document.createElement("input");
7207
7196
  Object.assign(this.events,{input:null});
7208
7197
  this.setValue(value);
@@ -7277,7 +7266,7 @@ class ZikoUIInput extends ZikoUIElement {
7277
7266
  }
7278
7267
  class ZikoUIInputSearch extends ZikoUIInput {
7279
7268
  constructor() {
7280
- super();
7269
+ super("inputSearch");
7281
7270
  this._setType("search");
7282
7271
  this.Length = 0;
7283
7272
  }
@@ -7314,7 +7303,7 @@ class ZikoUIInputSearch extends ZikoUIInput {
7314
7303
  }
7315
7304
  class ZikoUIInputNumber extends ZikoUIInput {
7316
7305
  constructor(min, max ,step = 1) {
7317
- super();
7306
+ super("inpuNumber");
7318
7307
  this._setType("number");
7319
7308
  this.setMin(min).setMax(max).setStep(step);
7320
7309
  }
@@ -7336,14 +7325,14 @@ class ZikoUIInputNumber extends ZikoUIInput {
7336
7325
  }
7337
7326
  class ZikoUIInputSlider extends ZikoUIInputNumber {
7338
7327
  constructor(val = 0, min = 0, max = 10, step = 1) {
7339
- super();
7328
+ super("inputSlider");
7340
7329
  this._setType("range");
7341
7330
  this.setMin(min).setMax(max).setValue(val).setStep(step);
7342
7331
  }
7343
7332
  }
7344
7333
  class ZikoUIInputColor extends ZikoUIInput {
7345
7334
  constructor() {
7346
- super();
7335
+ super("inputColor");
7347
7336
  this._setType("color");
7348
7337
  this.background(this.value);
7349
7338
  this.onInput(() => this.background(this.value));
@@ -7351,37 +7340,37 @@ class ZikoUIInputColor extends ZikoUIInput {
7351
7340
  }
7352
7341
  class ZikoUIInputPassword extends ZikoUIInput {
7353
7342
  constructor() {
7354
- super();
7343
+ super("inputPassword");
7355
7344
  this._setType("password");
7356
7345
  }
7357
7346
  }
7358
7347
  class ZikoUIInputEmail extends ZikoUIInput {
7359
7348
  constructor() {
7360
- super();
7349
+ super("inputEmail");
7361
7350
  this._setType("email");
7362
7351
  }
7363
7352
  }
7364
7353
  class ZikoUIInputTime extends ZikoUIInput {
7365
7354
  constructor() {
7366
- super();
7355
+ super("inputTime");
7367
7356
  this._setType("time");
7368
7357
  }
7369
7358
  }
7370
7359
  class ZikoUIInputDate extends ZikoUIInput {
7371
7360
  constructor() {
7372
- super();
7361
+ super("inputDate");
7373
7362
  this._setType("date");
7374
7363
  }
7375
7364
  }
7376
7365
  class ZikoUIInputDateTime extends ZikoUIInput {
7377
7366
  constructor() {
7378
- super();
7367
+ super("inputDateTime");
7379
7368
  this._setType("datetime-local");
7380
7369
  }
7381
7370
  }
7382
7371
  class ZikoUIInputCheckbox extends ZikoUIInput {
7383
7372
  constructor() {
7384
- super();
7373
+ super("inputCheckbox");
7385
7374
  this._setType("checkbox");
7386
7375
  this.cursor("pointer");
7387
7376
  }
@@ -7399,7 +7388,7 @@ class ZikoUIInputCheckbox extends ZikoUIInput {
7399
7388
  }
7400
7389
  class ZikoUIInputRadio extends ZikoUIInput {
7401
7390
  constructor() {
7402
- super();
7391
+ super("inputRadio");
7403
7392
  this._setType("radio");
7404
7393
  this.cursor("pointer");
7405
7394
  }
@@ -7419,7 +7408,7 @@ class ZikoUIInputRadio extends ZikoUIInput {
7419
7408
 
7420
7409
  class ZikoUIInputImage extends ZikoUIElement {
7421
7410
  constructor(text = "File") {
7422
- super();
7411
+ super("inputImage");
7423
7412
  this._aux_element = btn(text).setTarget(this.Target);
7424
7413
  this.element = document.createElement("input");
7425
7414
  this.element.setAttribute("type", "file");
@@ -9938,6 +9927,39 @@ const __Config__={
9938
9927
  init:()=>document.documentElement.setAttribute("data-engine","zikojs")
9939
9928
  };
9940
9929
 
9930
+ class ZikoUIComponent extends HTMLElement{
9931
+ constructor(){
9932
+ super();
9933
+ this.shadowDOM = this.attachShadow({ mode: 'open' });
9934
+ this.wrapper=document.createElement("div");
9935
+ }
9936
+ connectedCallback() {
9937
+ this.setAttribute('role', 'region');
9938
+ this.setAttribute('data-engine',"zikojs");
9939
+ this.shadowDOM.append(this.wrapper);
9940
+ this.observeContentChanges();
9941
+ }
9942
+ observeContentChanges() {
9943
+ const observer = new MutationObserver((mutations) => {
9944
+ mutations.forEach((mutation) => {
9945
+ if (mutation.type === 'childList' || mutation.type === 'characterData') {
9946
+ this.wrapper.innerHTML="";
9947
+ __Ziko__.__Config__.setDefault({ target: this.wrapper });
9948
+ globalThis.eval(this.innerHTML);
9949
+ }
9950
+ });
9951
+ });
9952
+ observer.observe(this, { childList: true, subtree: true, characterData: true });
9953
+ }
9954
+
9955
+ disconnectedCallback() {
9956
+ console.log('ZikoUIComponent removed from page.');
9957
+ }
9958
+ }
9959
+ if(globalThis.document){
9960
+ globalThis.customElements.define('ziko-ui', ZikoUIComponent);
9961
+ }
9962
+
9941
9963
  class ZikoSeo{
9942
9964
  constructor(app){
9943
9965
  this.app=app;
@@ -10121,6 +10143,7 @@ exports.ZikoUIAudio = ZikoUIAudio;
10121
10143
  exports.ZikoUIBr = ZikoUIBr;
10122
10144
  exports.ZikoUICanvas = ZikoUICanvas;
10123
10145
  exports.ZikoUICodeNote = ZikoUICodeNote;
10146
+ exports.ZikoUIComponent = ZikoUIComponent;
10124
10147
  exports.ZikoUIElement = ZikoUIElement;
10125
10148
  exports.ZikoUIFigure = ZikoUIFigure;
10126
10149
  exports.ZikoUIFooter = ZikoUIFooter;