ziko 0.0.21 → 0.0.22

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
@@ -96,11 +96,11 @@ Currently supported frameworks:
96
96
 
97
97
  ```md
98
98
  ---
99
- module :
100
- - import InteractiveBlock from "./InteractiveBlock"
101
99
  title : Article 1
102
100
  ---
103
101
 
102
+ import InteractiveBlock from "./InteractiveBlock";
103
+
104
104
  # Hello World this is markdown heading
105
105
 
106
106
  <InteractiveBlock data = "Hello" />
package/dist/ziko.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
  /*
3
3
  Project: ziko.js
4
4
  Author: Zakaria Elalaoui
5
- Date : Sun Dec 08 2024 12:19:40 GMT+0100 (UTC+01:00)
5
+ Date : Sun Dec 08 2024 23:39:16 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
@@ -4849,10 +4849,14 @@ const Reactivity={
4849
4849
  };
4850
4850
 
4851
4851
  class ZikoUIElement {
4852
- constructor(element ,name="") {
4852
+ constructor(element ,name="", el_type="html") {
4853
4853
  this.target = globalThis.__Ziko__.__Config__.default.target||globalThis?.document?.body;
4854
4854
  if(typeof element === "string") {
4855
- element === "svg" ? element=globalThis?.document?.createElementNS("http://www.w3.org/2000/svg", "svg"): element = globalThis?.document?.createElement(element);
4855
+ switch(el_type){
4856
+ case "html" : element = globalThis?.document?.createElement(element); break;
4857
+ case "svg" : element = globalThis?.document?.createElementNS("http://www.w3.org/2000/svg", element);
4858
+ default : throw Error("Not supported")
4859
+ }
4856
4860
  }
4857
4861
  if(element)this.__ele__ = element;
4858
4862
  this.uuid=this.constructor.name+"-"+Random.string(10);
@@ -4976,7 +4980,7 @@ class ZikoUIElement {
4976
4980
  return this;
4977
4981
  }
4978
4982
  for (let i = 0; i < ele.length; i++) {
4979
- if (["number", "string"].includes(typeof ele[i])) ele[i] = text(ele[i]);
4983
+ if (["number", "string"].includes(typeof ele[i])) ele[i] = text$1(ele[i]);
4980
4984
  if (ele[i] instanceof ZikoUIElement) {
4981
4985
  ele[i].cache.parent = this;
4982
4986
  this.element[adder](ele[i].element);
@@ -5006,7 +5010,7 @@ class ZikoUIElement {
5006
5010
  if (index >= this.element.children.length) this.append(...ele);
5007
5011
  else
5008
5012
  for (let i = 0; i < ele.length; i++) {
5009
- if (["number", "string"].includes(typeof ele[i])) ele[i] = text(ele[i]);
5013
+ if (["number", "string"].includes(typeof ele[i])) ele[i] = text$1(ele[i]);
5010
5014
  this.element?.insertBefore(ele[i].element, this.items[index].element);
5011
5015
  this.items.splice(index, 0, ele[i]);
5012
5016
  }
@@ -6250,14 +6254,147 @@ class ZikoUISuspense extends ZikoUIElement{
6250
6254
 
6251
6255
  const Suspense = (fallback_ui, callback) => new ZikoUISuspense(fallback_ui, callback);
6252
6256
 
6253
- function h(tag, attributes = {}, ...children){
6254
- const {name, style, ...attrs} = attributes;
6255
- let element = new ZikoUIElement(tag,name);
6257
+ const _h=(tag, type, attributes, ...children)=>{
6258
+ const { name, style, ...attrs } = attributes;
6259
+ let element = new ZikoUIElement(tag, name, type);
6256
6260
  style && element.style(style);
6257
6261
  attrs && element.setAttr(attrs);
6258
6262
  children && element.append(...children);
6259
- return element
6260
- }
6263
+ return element;
6264
+ };
6265
+ const h=(tag, attributes = {}, ...children)=> _h(tag, "html", attributes, ...children);
6266
+ const s=(tag, attributes = {}, ...children)=> _h(tag, "svg", attributes, ...children);
6267
+
6268
+ const HTMLTags = [
6269
+ 'a',
6270
+ 'abb',
6271
+ 'address',
6272
+ 'area',
6273
+ 'article',
6274
+ 'aside',
6275
+ 'audio',
6276
+ 'b',
6277
+ 'base',
6278
+ 'bdi',
6279
+ 'bdo',
6280
+ 'blockquote',
6281
+ 'br',
6282
+ 'button',
6283
+ 'canvas',
6284
+ 'caption',
6285
+ 'cite',
6286
+ 'code',
6287
+ 'col',
6288
+ 'colgroup',
6289
+ 'data',
6290
+ 'datalist',
6291
+ 'dd',
6292
+ 'del',
6293
+ 'details',
6294
+ 'dfn',
6295
+ 'dialog',
6296
+ 'div',
6297
+ 'dl',
6298
+ 'dt',
6299
+ 'em',
6300
+ 'embed',
6301
+ 'fieldset',
6302
+ 'figcaption',
6303
+ 'figure',
6304
+ 'footer',
6305
+ 'form',
6306
+ 'h1',
6307
+ 'h2',
6308
+ 'h3',
6309
+ 'h4',
6310
+ 'h5',
6311
+ 'h6',
6312
+ 'header',
6313
+ 'hgroup',
6314
+ 'hr',
6315
+ 'i',
6316
+ 'iframe',
6317
+ 'img',
6318
+ 'ipnut',
6319
+ 'ins',
6320
+ 'kbd',
6321
+ 'label',
6322
+ 'legend',
6323
+ 'li',
6324
+ 'main',
6325
+ 'map',
6326
+ 'mark',
6327
+ 'menu',
6328
+ 'meter',
6329
+ 'nav',
6330
+ 'object',
6331
+ 'ol',
6332
+ 'optgroup',
6333
+ 'option',
6334
+ 'output',
6335
+ 'p',
6336
+ 'param',
6337
+ 'picture',
6338
+ 'pre',
6339
+ 'progress',
6340
+ 'q',
6341
+ 'rp',
6342
+ 'rt',
6343
+ 'ruby',
6344
+ 's',
6345
+ 'samp',
6346
+ 'search',
6347
+ 'section',
6348
+ 'select',
6349
+ 'small',
6350
+ 'source',
6351
+ 'span',
6352
+ 'strong',
6353
+ 'sub',
6354
+ 'summary',
6355
+ 'sup',
6356
+ 'svg',
6357
+ 'table',
6358
+ 'tbody',
6359
+ 'td',
6360
+ 'template',
6361
+ 'textarea',
6362
+ 'tfoot',
6363
+ 'th',
6364
+ 'thead',
6365
+ 'time',
6366
+ 'title',
6367
+ 'tr',
6368
+ 'track',
6369
+ 'u',
6370
+ 'ul',
6371
+ 'var',
6372
+ 'video',
6373
+ 'wbr'
6374
+ ];
6375
+
6376
+ const SVGTags = [
6377
+ "svg", "g", "defs", "symbol", "use", "image", "switch",
6378
+ "rect", "circle", "ellipse", "line", "polyline", "polygon", "path",
6379
+ "text", "tspan", "textPath", "altGlyph", "altGlyphDef", "altGlyphItem", "glyph", "glyphRef",
6380
+ "linearGradient", "radialGradient", "pattern", "solidColor",
6381
+ "filter", "feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix",
6382
+ "feDiffuseLighting", "feDisplacementMap", "feDropShadow", "feFlood", "feFuncA", "feFuncR", "feFuncG", "feFuncB",
6383
+ "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "feSpecularLighting",
6384
+ "feTile", "feTurbulence",
6385
+ "animate", "animateMotion", "animateTransform", "set",
6386
+ "script",
6387
+ "desc", "title", "metadata", "foreignObject"
6388
+ ];
6389
+
6390
+ const hTags = HTMLTags.reduce((acc, key) => {
6391
+ acc[key] = (attr, ...children) => h(key, attr, ...children);
6392
+ return acc;
6393
+ }, {});
6394
+ const sTags = SVGTags.reduce((acc, key) => {
6395
+ acc[key] = (attr, ...children) => h(key, attr, ...children);
6396
+ return acc;
6397
+ }, {});
6261
6398
 
6262
6399
  class ZikoUIHtmlTag extends ZikoUIContainerElement {
6263
6400
  constructor(element) {
@@ -6362,10 +6499,13 @@ var Misc = /*#__PURE__*/Object.freeze({
6362
6499
  brs: brs,
6363
6500
  btn: btn,
6364
6501
  h: h,
6502
+ hTags: hTags,
6365
6503
  hr: hr,
6366
6504
  hrs: hrs,
6367
6505
  html: html,
6368
- link: link
6506
+ link: link,
6507
+ s: s,
6508
+ sTags: sTags
6369
6509
  });
6370
6510
 
6371
6511
  class ZikoUIInputImage extends ZikoUIElement {
@@ -11947,6 +12087,7 @@ exports.h5 = h5;
11947
12087
  exports.h6 = h6;
11948
12088
  exports.hSlider = hSlider;
11949
12089
  exports.hSplitter = hSplitter;
12090
+ exports.hTags = hTags;
11950
12091
  exports.hr = hr;
11951
12092
  exports.hrs = hrs;
11952
12093
  exports.html = html;
@@ -12011,6 +12152,8 @@ exports.rad2deg = rad2deg;
12011
12152
  exports.radio = radio;
12012
12153
  exports.removeExtraSpace = removeExtraSpace;
12013
12154
  exports.round = round;
12155
+ exports.s = s;
12156
+ exports.sTags = sTags;
12014
12157
  exports.search = search;
12015
12158
  exports.sec = sec;
12016
12159
  exports.select = select;
package/dist/ziko.js CHANGED
@@ -2,7 +2,7 @@
2
2
  /*
3
3
  Project: ziko.js
4
4
  Author: Zakaria Elalaoui
5
- Date : Sun Dec 08 2024 12:19:40 GMT+0100 (UTC+01:00)
5
+ Date : Sun Dec 08 2024 23:39:16 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
@@ -4851,10 +4851,14 @@
4851
4851
  };
4852
4852
 
4853
4853
  class ZikoUIElement {
4854
- constructor(element ,name="") {
4854
+ constructor(element ,name="", el_type="html") {
4855
4855
  this.target = globalThis.__Ziko__.__Config__.default.target||globalThis?.document?.body;
4856
4856
  if(typeof element === "string") {
4857
- element === "svg" ? element=globalThis?.document?.createElementNS("http://www.w3.org/2000/svg", "svg"): element = globalThis?.document?.createElement(element);
4857
+ switch(el_type){
4858
+ case "html" : element = globalThis?.document?.createElement(element); break;
4859
+ case "svg" : element = globalThis?.document?.createElementNS("http://www.w3.org/2000/svg", element);
4860
+ default : throw Error("Not supported")
4861
+ }
4858
4862
  }
4859
4863
  if(element)this.__ele__ = element;
4860
4864
  this.uuid=this.constructor.name+"-"+Random.string(10);
@@ -4978,7 +4982,7 @@
4978
4982
  return this;
4979
4983
  }
4980
4984
  for (let i = 0; i < ele.length; i++) {
4981
- if (["number", "string"].includes(typeof ele[i])) ele[i] = text(ele[i]);
4985
+ if (["number", "string"].includes(typeof ele[i])) ele[i] = text$1(ele[i]);
4982
4986
  if (ele[i] instanceof ZikoUIElement) {
4983
4987
  ele[i].cache.parent = this;
4984
4988
  this.element[adder](ele[i].element);
@@ -5008,7 +5012,7 @@
5008
5012
  if (index >= this.element.children.length) this.append(...ele);
5009
5013
  else
5010
5014
  for (let i = 0; i < ele.length; i++) {
5011
- if (["number", "string"].includes(typeof ele[i])) ele[i] = text(ele[i]);
5015
+ if (["number", "string"].includes(typeof ele[i])) ele[i] = text$1(ele[i]);
5012
5016
  this.element?.insertBefore(ele[i].element, this.items[index].element);
5013
5017
  this.items.splice(index, 0, ele[i]);
5014
5018
  }
@@ -6252,14 +6256,147 @@
6252
6256
 
6253
6257
  const Suspense = (fallback_ui, callback) => new ZikoUISuspense(fallback_ui, callback);
6254
6258
 
6255
- function h(tag, attributes = {}, ...children){
6256
- const {name, style, ...attrs} = attributes;
6257
- let element = new ZikoUIElement(tag,name);
6259
+ const _h=(tag, type, attributes, ...children)=>{
6260
+ const { name, style, ...attrs } = attributes;
6261
+ let element = new ZikoUIElement(tag, name, type);
6258
6262
  style && element.style(style);
6259
6263
  attrs && element.setAttr(attrs);
6260
6264
  children && element.append(...children);
6261
- return element
6262
- }
6265
+ return element;
6266
+ };
6267
+ const h=(tag, attributes = {}, ...children)=> _h(tag, "html", attributes, ...children);
6268
+ const s=(tag, attributes = {}, ...children)=> _h(tag, "svg", attributes, ...children);
6269
+
6270
+ const HTMLTags = [
6271
+ 'a',
6272
+ 'abb',
6273
+ 'address',
6274
+ 'area',
6275
+ 'article',
6276
+ 'aside',
6277
+ 'audio',
6278
+ 'b',
6279
+ 'base',
6280
+ 'bdi',
6281
+ 'bdo',
6282
+ 'blockquote',
6283
+ 'br',
6284
+ 'button',
6285
+ 'canvas',
6286
+ 'caption',
6287
+ 'cite',
6288
+ 'code',
6289
+ 'col',
6290
+ 'colgroup',
6291
+ 'data',
6292
+ 'datalist',
6293
+ 'dd',
6294
+ 'del',
6295
+ 'details',
6296
+ 'dfn',
6297
+ 'dialog',
6298
+ 'div',
6299
+ 'dl',
6300
+ 'dt',
6301
+ 'em',
6302
+ 'embed',
6303
+ 'fieldset',
6304
+ 'figcaption',
6305
+ 'figure',
6306
+ 'footer',
6307
+ 'form',
6308
+ 'h1',
6309
+ 'h2',
6310
+ 'h3',
6311
+ 'h4',
6312
+ 'h5',
6313
+ 'h6',
6314
+ 'header',
6315
+ 'hgroup',
6316
+ 'hr',
6317
+ 'i',
6318
+ 'iframe',
6319
+ 'img',
6320
+ 'ipnut',
6321
+ 'ins',
6322
+ 'kbd',
6323
+ 'label',
6324
+ 'legend',
6325
+ 'li',
6326
+ 'main',
6327
+ 'map',
6328
+ 'mark',
6329
+ 'menu',
6330
+ 'meter',
6331
+ 'nav',
6332
+ 'object',
6333
+ 'ol',
6334
+ 'optgroup',
6335
+ 'option',
6336
+ 'output',
6337
+ 'p',
6338
+ 'param',
6339
+ 'picture',
6340
+ 'pre',
6341
+ 'progress',
6342
+ 'q',
6343
+ 'rp',
6344
+ 'rt',
6345
+ 'ruby',
6346
+ 's',
6347
+ 'samp',
6348
+ 'search',
6349
+ 'section',
6350
+ 'select',
6351
+ 'small',
6352
+ 'source',
6353
+ 'span',
6354
+ 'strong',
6355
+ 'sub',
6356
+ 'summary',
6357
+ 'sup',
6358
+ 'svg',
6359
+ 'table',
6360
+ 'tbody',
6361
+ 'td',
6362
+ 'template',
6363
+ 'textarea',
6364
+ 'tfoot',
6365
+ 'th',
6366
+ 'thead',
6367
+ 'time',
6368
+ 'title',
6369
+ 'tr',
6370
+ 'track',
6371
+ 'u',
6372
+ 'ul',
6373
+ 'var',
6374
+ 'video',
6375
+ 'wbr'
6376
+ ];
6377
+
6378
+ const SVGTags = [
6379
+ "svg", "g", "defs", "symbol", "use", "image", "switch",
6380
+ "rect", "circle", "ellipse", "line", "polyline", "polygon", "path",
6381
+ "text", "tspan", "textPath", "altGlyph", "altGlyphDef", "altGlyphItem", "glyph", "glyphRef",
6382
+ "linearGradient", "radialGradient", "pattern", "solidColor",
6383
+ "filter", "feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix",
6384
+ "feDiffuseLighting", "feDisplacementMap", "feDropShadow", "feFlood", "feFuncA", "feFuncR", "feFuncG", "feFuncB",
6385
+ "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "feSpecularLighting",
6386
+ "feTile", "feTurbulence",
6387
+ "animate", "animateMotion", "animateTransform", "set",
6388
+ "script",
6389
+ "desc", "title", "metadata", "foreignObject"
6390
+ ];
6391
+
6392
+ const hTags = HTMLTags.reduce((acc, key) => {
6393
+ acc[key] = (attr, ...children) => h(key, attr, ...children);
6394
+ return acc;
6395
+ }, {});
6396
+ const sTags = SVGTags.reduce((acc, key) => {
6397
+ acc[key] = (attr, ...children) => h(key, attr, ...children);
6398
+ return acc;
6399
+ }, {});
6263
6400
 
6264
6401
  class ZikoUIHtmlTag extends ZikoUIContainerElement {
6265
6402
  constructor(element) {
@@ -6364,10 +6501,13 @@
6364
6501
  brs: brs,
6365
6502
  btn: btn,
6366
6503
  h: h,
6504
+ hTags: hTags,
6367
6505
  hr: hr,
6368
6506
  hrs: hrs,
6369
6507
  html: html,
6370
- link: link
6508
+ link: link,
6509
+ s: s,
6510
+ sTags: sTags
6371
6511
  });
6372
6512
 
6373
6513
  class ZikoUIInputImage extends ZikoUIElement {
@@ -11949,6 +12089,7 @@
11949
12089
  exports.h6 = h6;
11950
12090
  exports.hSlider = hSlider;
11951
12091
  exports.hSplitter = hSplitter;
12092
+ exports.hTags = hTags;
11952
12093
  exports.hr = hr;
11953
12094
  exports.hrs = hrs;
11954
12095
  exports.html = html;
@@ -12013,6 +12154,8 @@
12013
12154
  exports.radio = radio;
12014
12155
  exports.removeExtraSpace = removeExtraSpace;
12015
12156
  exports.round = round;
12157
+ exports.s = s;
12158
+ exports.sTags = sTags;
12016
12159
  exports.search = search;
12017
12160
  exports.sec = sec;
12018
12161
  exports.select = select;